<selectionmanager>
Manages selection among a series of objects.

JavaScript: LzSelectionManager
extends <node> » LzEventable »

Selection managers manage selection among a series of objects. They enable standard control and shift click modifiers to aid range selection. Selection managers provide methods to manipulate, add to and clear the selection. For example:

<canvas>
 
   <dataset name="fruits">
     <fruit>Oranges</fruit>
     <fruit>Apples</fruit>
     <fruit>Bananas</fruit>
 
     <fruit>Grapes</fruit>
     <fruit>Kiwis</fruit>
     <fruit>Papayas</fruit>
     <fruit>Watermelon</fruit>
 
     <fruit>Strawberries</fruit>
     <fruit>Cherries</fruit>
   </dataset>
   
   <simplelayout/>
   
   <text>Select a series of items below. The control and shift-click modifiers 
   help select ranges.</text>
 
   
   <view name="fruitlist">
     <selectionmanager name="selector" toggle="true"/>
     <simplelayout/>
     
     <view name="listitem" datapath="fruits:/fruit" onclick="parent.selector.select(this);">
       <text name="txt" datapath="text()"/>
 
       <method name="setSelected" args="amselected">
 
         if (amselected) {
           var txtColor = 0xFFFFFF;
           var bgcolor = 0x999999;
         } else {
           var txtColor = 0x000000;
           var bgcolor = 0xFFFFFF;
         }
         this.setBGColor( bgcolor );
         this.txt.setAttribute('fgcolor', txtColor);
       </method>
     </view>
     
     <method name="deleteSelected"><![CDATA[
     
       var csel = this.selector.getSelection();
       for (var i = 0; i < csel.length; i++) {
         csel[i].destroy();
       }
       this.selector.clearSelection();
     
     ]]></method>
 
   </view>
   <button onclick="fruitlist.deleteSelected();">Delete selection</button>
 </canvas>
edit

Attributes

Name Type (tag) Type (js) Default Category
sel string String   read/write
  The name of the method to call on an object when an object's selectedness changes. The method is called with a single Boolean argument. The default value for this field is setSelected.
toggle boolean Boolean   read/write
  If true, a re-selected element will lose the selection

Methods

clearSelection()
selectionmanager.clearSelection();
Unselects any selected objects.

getSelection()
selectionmanager.getSelection();
Returns an array representing the current selection.
Returns Type Description
  Array An array representing the current selection.

isMultiSelect()
selectionmanager.isMultiSelect(o : LzView);
Determines whether the an additional selection should be multi-selected or should replace the existing selection
Parameter Name Type Description
o LzView The newly selected view
Returns Type Description
  Boolean If true, multi select. If false, don't multi select

isRangeSelect()
selectionmanager.isRangeSelect(o : LzView);
Determines whether the an additional selection should be range-selected or should replace the existing selection
Parameter Name Type Description
o LzView The newly selected view
Returns Type Description
  Boolean If true, range select. If false, don't range select

isSelected()
selectionmanager.isSelected(o : LzView);
Tests for selectedness of input.
Parameter Name Type Description
o LzView The object to test for selectedness.
Returns Type Description
  Boolean The selectedness of the input object.

select()
selectionmanager.select(o : LzView);
Called with a new member to be selected.
Parameter Name Type Description
o LzView The new element that got selected.

unselect()
selectionmanager.unselect(o : LzView);
Unselects the given object.
Parameter Name Type Description
o LzView The object to make unselected

Methods inherited from LzEventable

destroy, setAttribute

Events

Events inherited from <node>

onconstruct, ondata, oninit

Events inherited from LzEventable

ondestroy