[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sc-dev] SF.net SVN: supercollider:[8217] trunk/build



Revision: 8217
          http://supercollider.svn.sourceforge.net/supercollider/?rev=8217&view=rev
Author:   jmfuo
Date:     2008-12-20 11:41:20 +0000 (Sat, 20 Dec 2008)

Log Message:
-----------
made subview bounds calculation more efficient

Modified Paths:
--------------
    trunk/build/Help/GUI/EZPopUpMenu.html
    trunk/build/SCClassLibrary/Common/GUI/Base/EZListView.sc
    trunk/build/SCClassLibrary/Common/GUI/Base/EZPopUpMenu.sc

Modified: trunk/build/Help/GUI/EZPopUpMenu.html
===================================================================
--- trunk/build/Help/GUI/EZPopUpMenu.html	2008-12-20 10:59:05 UTC (rev 8216)
+++ trunk/build/Help/GUI/EZPopUpMenu.html	2008-12-20 11:41:20 UTC (rev 8217)
@@ -15,29 +15,30 @@
 p.p6 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 12.0px Helvetica}
 p.p7 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 12.0px Helvetica; min-height: 14.0px}
 p.p8 {margin: 0.0px 0.0px 0.0px 85.0px; text-indent: -85.0px; font: 12.0px Helvetica}
-p.p9 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #000000}
-p.p10 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #606060}
-p.p11 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #000000; min-height: 12.0px}
-p.p12 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #bf0000}
-p.p13 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #000000}
-p.p14 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #000000; min-height: 12.0px}
+p.p9 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco}
+p.p10 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #000000}
+p.p11 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #606060}
+p.p12 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #000000; min-height: 12.0px}
+p.p13 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #bf0000}
+p.p14 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #000000}
 p.p15 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 14.0px Helvetica}
 p.p16 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 14.0px Helvetica; min-height: 17.0px}
-p.p17 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco}
-p.p18 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco}
-p.p19 {margin: 0.0px 0.0px 0.0px 85.0px; text-indent: -85.0px; font: 12.0px Helvetica; min-height: 14.0px}
-p.p20 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 12.0px Helvetica; color: #0000ff}
+p.p17 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco}
+p.p18 {margin: 0.0px 0.0px 0.0px 85.0px; text-indent: -85.0px; font: 12.0px Helvetica; min-height: 14.0px}
+p.p19 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 12.0px Helvetica; color: #001ee6}
 span.s1 {font: 18.0px Helvetica}
-span.s2 {color: #0000ff}
-span.s3 {color: #474f7d}
+span.s2 {color: #0020f6}
+span.s3 {color: #49507b}
 span.s4 {font: 11.0px Monaco}
-span.s5 {color: #000000}
-span.s6 {color: #0000bf}
+span.s5 {color: #0000bf}
+span.s6 {color: #000000}
 span.s7 {color: #007300}
 span.s8 {color: #606060}
 span.s9 {color: #bf0000}
-span.s10 {font: 12.0px Helvetica}
-span.s11 {color: #1534d7}
+span.s10 {color: #356f14}
+span.s11 {color: #0018b8}
+span.s12 {font: 12.0px Helvetica; color: #001ee6}
+span.s13 {color: #1e3bd0}
 span.Apple-tab-span {white-space:pre}
 </style>
 </head>
@@ -65,47 +66,47 @@
 <p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>globalAction </b>- a Global function to be performed in addition to the item functions {arg menuObj; value}.</p>
 <p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>initVal </b>- Initial <b>value</b> of the Menu, i.e. the index selected. Default value is 0. </p>
 <p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>initAction </b>- An instance of <a href="../Core/Boolean.html"><span class="s2">Boolean</span></a>. Performs the action at <b>initVal</b> on creation of the menu, plus the <b>globalAction</b>. Default value is false.</p>
-<p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>labelWidth </b>- Default value is 80. The actual width of the labelView will be <b>labelWidth - gap</b> .</p>
+<p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>labelWidth </b>- Default value is 80.<span class="Apple-converted-space"> </span></p>
 <p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>gap </b>- Default value is 4. If the label is not nil, the gap between the label and the menu .</p>
 <p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p9"><span class="s5"><span class="Apple-tab-span">	</span></span><span class="Apple-tab-span">	</span>(</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w=<span class="s6">Window</span>.new.front;</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w.view.decorator = <span class="s6">FlowLayout</span>(w.view.bounds);</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g = <span class="s6">EZPopUpMenu</span>.new(w,</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>230@20,</p>
-<p class="p10"><span class="s5"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>"An SCPopUpMenu:"<span class="s5">,</span></p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>[<span class="Apple-tab-span">	</span></p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s7">\item0</span> -&gt;{<span class="s6">|a|</span> (<span class="s8">"this is item 0"</span>).postln},</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s7">\item1</span> -&gt;{<span class="s6">|a|</span> (<span class="s8">"this is item 1"</span>).postln},</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s7">\item2</span> -&gt;{<span class="s6">|a|</span> (<span class="s8">"this is item 2"</span>).postln},</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>],</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>globalAction: {<span class="s8">"this is  a global action"</span>.postln},</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>initVal: 2, </p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>initAction: <span class="s6">true</span>,</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>labelWidth: 120</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>);</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>)</p>
-<p class="p11"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p12"><span class="s5"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>// or a more simple syntax:</p>
 <p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>(</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w=<span class="s6">Window</span>.new.front;</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w.view.decorator = <span class="s6">FlowLayout</span>(w.view.bounds);</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g = <span class="s6">EZPopUpMenu</span>.new(w,200@20, <span class="s8">"Menu:"</span>);</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item0</span>, {<span class="s8">"this is item 0"</span>. postln});</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item1</span>, {<span class="s8">"this is item 1"</span>. postln});</p>
-<p class="p13"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item2</span>, {<span class="s8">"this is item 2"</span>. postln});</p>
-<p class="p13"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>)</p>
-<p class="p14"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p12"><span class="s5"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>// No labelView created;</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w=<span class="s5">Window</span>.new.front;</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w.view.decorator = <span class="s5">FlowLayout</span>(w.view.bounds);</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g = <span class="s5">EZPopUpMenu</span>.new(w,</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>230@20,</p>
+<p class="p11"><span class="s6"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>"An SCPopUpMenu:"<span class="s6">,</span></p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>[<span class="Apple-tab-span">	</span></p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s7">\item0</span> -&gt;{<span class="s5">|a|</span> (<span class="s8">"this is item 0"</span>).postln},</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s7">\item1</span> -&gt;{<span class="s5">|a|</span> (<span class="s8">"this is item 1"</span>).postln},</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s7">\item2</span> -&gt;{<span class="s5">|a|</span> (<span class="s8">"this is item 2"</span>).postln},</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>],</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>globalAction: {<span class="s8">"this is  a global action"</span>.postln},</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>initVal: 2, </p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>initAction: <span class="s5">true</span>,</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>labelWidth: 120</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>);</p>
+<p class="p12"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s6">)</span></p>
+<p class="p5"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
+<p class="p13"><span class="s6"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>// or a more simple syntax:</p>
 <p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>(</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w=<span class="s6">Window</span>.new.front;</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w.view.decorator = <span class="s6">FlowLayout</span>(w.view.bounds);</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g = <span class="s6">EZPopUpMenu</span>.new(w,200@20); <span class="s9">// no label</span></p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item0</span>, {<span class="s8">"this is item 0"</span>. postln});</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item1</span>, {<span class="s8">"this is item 1"</span>. postln});</p>
-<p class="p13"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item2</span>, {<span class="s8">"this is item 2"</span>. postln});</p>
-<p class="p13"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>)</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w=<span class="s5">Window</span>.new.front;</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w.view.decorator = <span class="s5">FlowLayout</span>(w.view.bounds);</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g = <span class="s5">EZPopUpMenu</span>.new(w,200@20, <span class="s8">"Menu:"</span>);</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item0</span>, {<span class="s8">"this is item 0"</span>. postln});</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item1</span>, {<span class="s8">"this is item 1"</span>. postln});</p>
+<p class="p14"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item2</span>, {<span class="s8">"this is item 2"</span>. postln});</p>
+<p class="p14"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s6">)</span></p>
+<p class="p3"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
+<p class="p13"><span class="s6"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span>// No labelView created;</p>
+<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>(</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w=<span class="s5">Window</span>.new.front;</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w.view.decorator = <span class="s5">FlowLayout</span>(w.view.bounds);</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g = <span class="s5">EZPopUpMenu</span>.new(w,200@20); <span class="s9">// no label</span></p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item0</span>, {<span class="s8">"this is item 0"</span>. postln});</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item1</span>, {<span class="s8">"this is item 1"</span>. postln});</p>
+<p class="p14"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item2</span>, {<span class="s8">"this is item 2"</span>. postln});</p>
+<p class="p14"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s6">)</span></p>
 <p class="p5"><br></p>
 <p class="p15"><b>Building and Changing the Menu</b></p>
 <p class="p16"><br></p>
@@ -125,14 +126,14 @@
 <p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>name </b>- An instance of  <a href="../Collections/String.html"><span class="s2">String</span></a> or <a href="../Core/Symbol.html"><span class="s2">Symbol</span></a>. The name of the menu item.</p>
 <p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>action </b>- A n instanc of Function.</p>
 <p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p17"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>(</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w=<span class="s6">Window</span>.new.front;</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w.view.decorator = <span class="s6">FlowLayout</span>(w.view.bounds);</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g = <span class="s6">EZPopUpMenu</span>.new(w,200@20, <span class="s8">"Menu:"</span>);</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item0</span>, {<span class="s8">"this is item 0"</span>. postln});</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item1</span>, {<span class="s8">"this is item 1"</span>. postln});</p>
-<p class="p13"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item2</span>, {<span class="s8">"this is item 2"</span>. postln});</p>
-<p class="p13"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s5">)</span></p>
+<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>(</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w=<span class="s5">Window</span>.new.front;</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w.view.decorator = <span class="s5">FlowLayout</span>(w.view.bounds);</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g = <span class="s5">EZPopUpMenu</span>.new(w,200@20, <span class="s8">"Menu:"</span>);</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item0</span>, {<span class="s8">"this is item 0"</span>. postln});</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item1</span>, {<span class="s8">"this is item 1"</span>. postln});</p>
+<p class="p14"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item2</span>, {<span class="s8">"this is item 2"</span>. postln});</p>
+<p class="p14"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s6">)</span></p>
 <p class="p5"><br></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>insertItem (index, name, action)</b></p>
 <p class="p7"><b><span class="Apple-tab-span">	</span></b></p>
@@ -142,34 +143,34 @@
 <p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>action </b>- A n instanc of Function.</p>
 <p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
 <p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>(</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w=<span class="s6">Window</span>.new.front;</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w.view.decorator = <span class="s6">FlowLayout</span>(w.view.bounds);</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g = <span class="s6">EZPopUpMenu</span>.new(w,200@20, <span class="s8">"Menu:"</span>);</p>
-<p class="p13"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item0</span>, {<span class="s8">"this is item 0"</span>. postln});</p>
-<p class="p13"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item1</span>, {<span class="s8">"this is item 1"</span>. postln});</p>
-<p class="p13"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item2</span>, {<span class="s8">"this is item 2"</span>. postln});</p>
-<p class="p13"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item4</span>, {<span class="s8">"this is item 4"</span>. postln});</p>
-<p class="p13"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>)</p>
-<p class="p14"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p13"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.insertItem(3, <span class="s7">\item3</span>, {<span class="s8">"this is item 3"</span>. postln});</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w=<span class="s5">Window</span>.new.front;</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w.view.decorator = <span class="s5">FlowLayout</span>(w.view.bounds);</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g = <span class="s5">EZPopUpMenu</span>.new(w,200@20, <span class="s8">"Menu:"</span>);</p>
+<p class="p14"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item0</span>, {<span class="s8">"this is item 0"</span>. postln});</p>
+<p class="p14"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item1</span>, {<span class="s8">"this is item 1"</span>. postln});</p>
+<p class="p14"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item2</span>, {<span class="s8">"this is item 2"</span>. postln});</p>
+<p class="p14"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item4</span>, {<span class="s8">"this is item 4"</span>. postln});</p>
+<p class="p14"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s6">)</span></p>
+<p class="p3"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
+<p class="p17"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.insertItem(3, <span class="s10">\item3</span>, {<span class="s8">"this is item 3"</span>. postln});</p>
 <p class="p5"><br></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>removeItemAt (index)</b></p>
 <p class="p7"><b><span class="Apple-tab-span">	</span></b></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Removes a menu item at positiion of index.</p>
 <p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>index </b>- An integer. The index where to remove an item.</p>
 <p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p17"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>(</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w=<span class="s6">Window</span>.new.front;</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w.view.decorator = <span class="s6">FlowLayout</span>(w.view.bounds);</p>
-<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g = <span class="s6">EZPopUpMenu</span>.new(w,200@20, <span class="s8">"Menu:"</span>);</p>
-<p class="p13"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item0</span>, {<span class="s8">"this is item 0"</span>. postln});</p>
-<p class="p13"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item1</span>, {<span class="s8">"this is item 1"</span>. postln});</p>
-<p class="p13"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item2</span>, {<span class="s8">"this is item 2"</span>. postln});</p>
-<p class="p13"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item4</span>, {<span class="s8">"this is item 4"</span>. postln});</p>
-<p class="p13"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.insertItem(3, <span class="s7">\item3</span>, {<span class="s8">"this is item 3"</span>. postln});</p>
-<p class="p13"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s5">)</span></p>
+<p class="p9"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>(</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w=<span class="s5">Window</span>.new.front;</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>w.view.decorator = <span class="s5">FlowLayout</span>(w.view.bounds);</p>
+<p class="p10"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g = <span class="s5">EZPopUpMenu</span>.new(w,200@20, <span class="s8">"Menu:"</span>);</p>
+<p class="p14"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item0</span>, {<span class="s8">"this is item 0"</span>. postln});</p>
+<p class="p14"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item1</span>, {<span class="s8">"this is item 1"</span>. postln});</p>
+<p class="p14"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item2</span>, {<span class="s8">"this is item 2"</span>. postln});</p>
+<p class="p14"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.addItem(<span class="s7">\item4</span>, {<span class="s8">"this is item 4"</span>. postln});</p>
+<p class="p14"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g.insertItem(3, <span class="s7">\item3</span>, {<span class="s8">"this is item 3"</span>. postln});</p>
+<p class="p14"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="s6">)</span></p>
 <p class="p3"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
-<p class="p18"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g. removeItemAt(0);</p>
+<p class="p17"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>g. removeItemAt(0);</p>
 <p class="p5"><br></p>
 <p class="p5"><br></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>remove</b></p>
@@ -187,55 +188,55 @@
 <p class="p7"><b><span class="Apple-tab-span">	</span></b></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Sets the value and performs the action at the index value and the global action.</p>
 <p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>val </b>- An integer.</p>
-<p class="p19"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
+<p class="p18"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>doAction</b></p>
 <p class="p7"><b><span class="Apple-tab-span">	</span></b></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Performs the action at the current index and the global action.</p>
-<p class="p19"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
+<p class="p18"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
 <p class="p15"><b>Accessing GUI options</b></p>
 <p class="p16"><br></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>label</b></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>label_(string)</b></p>
 <p class="p7"><b><span class="Apple-tab-span">	</span></b></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Sets/gets it the label. Will add the label view if none was initially created.</p>
-<p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>string </b>- An Instance of <a href="../Collections/String.html"><span class="s6">String</span></a>. </p>
+<p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>string </b>- An Instance of <a href="../Collections/String.html"><span class="s11">String</span></a>. </p>
 <p class="p7"><br></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>visible</b></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>visible_(bool)</b></p>
 <p class="p7"><b><span class="Apple-tab-span">	</span></b></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Sets/gets it the component  views are visible.</p>
 <p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>bool </b>- An Instance of <a href="../Core/Boolean.html"><span class="s2">Boolean</span></a>. Default is true;</p>
-<p class="p19"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
+<p class="p18"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>enabled</b></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>enabled_(bool)</b></p>
 <p class="p7"><b><span class="Apple-tab-span">	</span></b></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Sets/gets it the menu  is enabled.</p>
 <p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>bool </b>- An Instance of <a href="../Core/Boolean.html"><span class="s2">Boolean</span></a>. Default is true;</p>
-<p class="p19"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
+<p class="p18"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>visible</b></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>visible_(bool)</b></p>
 <p class="p7"><b><span class="Apple-tab-span">	</span></b></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Sets/gets it the component  views are visible.</p>
 <p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>bool </b>- An Instance of <a href="../Core/Boolean.html"><span class="s2">Boolean</span></a>. Default is true;</p>
-<p class="p19"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
+<p class="p18"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>bounds</b></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>bounds_(rect)</b></p>
 <p class="p7"><b><span class="Apple-tab-span">	</span></b></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Sets/gets the bounds of view, and adjusts the components.</p>
 <p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>rect </b>- An Instance of <a href="../Geometry/Rect.html"><span class="s2">Rect</span></a> or <a href="../Geometry/Point.html"><span class="s2">Point</span></a>;</p>
-<p class="p19"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
+<p class="p18"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>labelWidth</b></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>labelWidth_(width)</b></p>
 <p class="p7"><b><span class="Apple-tab-span">	</span></b></p>
-<p class="p6"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Sets/gets the width of the label to <b>width</b>, and adjusts the menu.bounds. (the actual width of the label will be width-<b>gap</b>, for a gap);</p>
+<p class="p6"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Sets/gets the width of the label to <b>width</b>, and adjusts the menu.bounds;</p>
 <p class="p8"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>width </b>- A number;</p>
-<p class="p19"><br></p>
+<p class="p18"><br></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>gap</b></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>gap_(val)</b></p>
 <p class="p7"><b><span class="Apple-tab-span">	</span></b></p>
-<p class="p6"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Sets/gets the width of the label to <b>width-val</b>, creating a gap. </p>
+<p class="p6"><b><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></b>Sets/gets the gap between the label and the menu. </p>
 <p class="p6"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>val </b>- A number. default is 4.</p>
-<p class="p19"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
+<p class="p18"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
 <p class="p15"><b>Accessing GUI components</b></p>
 <p class="p7"><span class="Apple-tab-span">	</span></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>view</b></p>
@@ -248,7 +249,7 @@
 <p class="p6"><b><span class="Apple-tab-span">	</span>labelView_(arg1)</b></p>
 <p class="p6"><b><span class="Apple-tab-span">	</span>labelView</b></p>
 <p class="p7"><b><span class="Apple-tab-span">	</span></b><span class="Apple-tab-span">	</span></p>
-<p class="p20"><span class="s5"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>An <a href="SCStaticText.html"><span class="s10">SCStaticText</span></a><b> </b></span><span class="s11"> view</span></p>
+<p class="p19"><span class="s6"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span>An <a href="SCStaticText.html"><span class="s12">SCStaticText</span></a><b> </b></span><span class="s13"> view</span></p>
 <p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
 <p class="p7"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></p>
 </body>

Modified: trunk/build/SCClassLibrary/Common/GUI/Base/EZListView.sc
===================================================================
--- trunk/build/SCClassLibrary/Common/GUI/Base/EZListView.sc	2008-12-20 10:59:05 UTC (rev 8216)
+++ trunk/build/SCClassLibrary/Common/GUI/Base/EZListView.sc	2008-12-20 11:41:20 UTC (rev 8217)
@@ -102,20 +102,20 @@
 				labelView.align = \right;
 			});
 			labelView.string = string;
+	 		this.bounds_(view.bounds); //recalculate bounds
 		}{
 		
 	 	labelView.string_(string)
 	 	};
 	 	
-	 	this.bounds_(view.bounds); //recalculate bounds
 	}
 	
 	label { arg label, items, globalAction;
 	 	labelView.string;
 	}
 		
-	visible { ^listView.visible }
-	visible_ { |bool| [listView, labelView].do(_.visible_(bool)) }
+	visible { ^view.getProperty(\visible) }
+	visible_ { |bool|  view.setProperty(\visible,bool)  }
 	
 	enabled {  ^listView.enabled } 
 	enabled_ { |bool| listView.enabled_(bool) }

Modified: trunk/build/SCClassLibrary/Common/GUI/Base/EZPopUpMenu.sc
===================================================================
--- trunk/build/SCClassLibrary/Common/GUI/Base/EZPopUpMenu.sc	2008-12-20 10:59:05 UTC (rev 8216)
+++ trunk/build/SCClassLibrary/Common/GUI/Base/EZPopUpMenu.sc	2008-12-20 11:41:20 UTC (rev 8217)
@@ -1,5 +1,5 @@
 EZPopUpMenu{
-	var   <>globalAction, <>labelView, <items, <menu, <view, <gap;
+	var   <>globalAction, <>labelView, <items, <menu, <view, <gap, labelSize;
 	
 	*new { arg parentView, bounds= 160@16, label,items, globalAction, initVal=0, 
 			initAction=false, labelWidth=80, gap=4;
@@ -10,20 +10,25 @@
 
 	init { arg parentView, bounds, label, argItems, argGlobalAction, initVal, 
 			initAction, labelWidth, argGap;
+			
+		var labelBounds,menuBounds;
 		
 		bounds=bounds.asRect;
+		labelSize=labelWidth@xxxxxxxxxxxxx;
+		gap=argGap;
+		
 		parentView.notNil.if{view = parentView }{view = FlowView.new()};
 		view=GUI.compositeView.new(view,bounds).relativeOrigin_(true);
 		
-		gap=argGap;
-				
+		# labelBounds,menuBounds = this.prSubViewBounds(bounds, label.notNil);
+
 		label.notNil.if{ //only add a label if desired
-			labelView = GUI.staticText.new(view, labelWidth-gap @ bounds.height);
+			labelView = GUI.staticText.new(view,labelBounds);
 			labelView.string = label;
 			labelView.align = \right;
-		}{labelWidth=0};
+		};
 				
-		menu = GUI.popUpMenu.new(view,  Rect(labelWidth,0,bounds.width-labelWidth,  bounds.height));
+		menu = GUI.popUpMenu.new(view, menuBounds);
 		
 		this.items=argItems ? [];
 		
@@ -78,10 +83,11 @@
 
 	label_{ arg string;
 		labelView.isNil.if{
-			labelView = GUI.staticText.new(view, 80-gap @ view.bounds.height);
+			labelSize=80@xxxxxxxxxxxxxxxxxx;
+			labelView = GUI.staticText.new(view, 80 @ labelSize.x);
 			labelView.string = string;
 			labelView.align = \right;
-			this.labelWidth_(80);
+	 		this.bounds=view.bounds;
 		}{
 	 	labelView.string_(string)
 	 	};
@@ -92,8 +98,8 @@
 	 	labelView.string;
 	}
 		
-	visible { ^menu.visible }
-	visible_ { |bool| [menu, labelView].do(_.visible_(bool)) }
+	visible { ^view.getProperty(\visible) }
+	visible_ { |bool|  view.setProperty(\visible,bool)  }
 	
 	enabled {  ^menu.enabled } 
 	enabled_ { |bool| menu.enabled_(bool) }
@@ -102,41 +108,47 @@
 	
 	bounds{^view.bounds}
 	bounds_{arg rect;
-		var labelWidth=0;
-		view.bounds=rect.asRect;
-		labelView.notNil.if{labelWidth= labelView.bounds.width+gap};
-		menu.bounds= Rect(
-				labelWidth,
-				0,
-				view.bounds.width-labelWidth,  
-				view.bounds.height
-				);
+		var labelBounds, menuBounds;
+		view.bounds=rect;
+		# labelBounds,menuBounds = this.prSubViewBounds(view.bounds, labelView.notNil);
+		
+		labelView.notNil.if{labelView.bounds=labelBounds};
+		menu.bounds=menuBounds;
+	
 	}
 	
 	labelWidth{
-		^ if(labelView.notNil, 
-			{labelView.bounds.width+gap}, 
-			{"No labelView created".warn; 
-			nil})
+		^ labelSize.x
 	}
 	
 	labelWidth_{arg width;
-		if(labelView.notNil, 
-		{	labelView.bounds=labelView.bounds.width_(width-gap);
-			menu.bounds= Rect(width,0,view.bounds.width-width,  view.bounds.height);},
-		{"No labelView created".warn;});
+		labelSize.x=width;
+		this.bounds_(view.bounds); 	
 	}
 	
 	gap_{arg val;
-		var oldGap;
-		oldGap=gap;
 		gap=val;
-		labelView.notNil.if{this.labelWidth_(labelView.bounds.width+oldGap)};
+		this.bounds_(this.view.bounds);
 		
 	}
 	
+	prSubViewBounds{arg rect, hasLabel=true;
+		var menuBounds,labelBounds, tempGap;
+		tempGap=gap;	
+		
+		hasLabel.not.if{tempGap=0; labelSize=0@0};
+		
+		menuBounds= Rect(
+				labelSize.x+tempGap,
+				0,
+				view.bounds.width-labelSize.x-tempGap,  
+				view.bounds.height
+				);
+		labelBounds=Rect(0,0, labelSize.x ,menuBounds.height );
+		
+		^[labelBounds, menuBounds]
+	}
 	
-	
 }
 
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

_______________________________________________
sc-dev mailing list

info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: https://listarc.bham.ac.uk/marchives/sc-dev/
search: https://listarc.bham.ac.uk/lists/sc-dev/search/