From: Richard K. <ric...@us...> - 2005-07-11 02:44:37
|
Update of /cvsroot/actionstep/actionstep/src/org/actionstep In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5096 Modified Files: ASList.as ASListItem.as ASListView.as Log Message: added ability to set the visibility of list items Index: ASListItem.as =================================================================== RCS file: /cvsroot/actionstep/actionstep/src/org/actionstep/ASListItem.as,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ASListItem.as 20 Jun 2005 04:30:20 -0000 1.3 --- ASListItem.as 11 Jul 2005 02:44:27 -0000 1.4 *************** *** 37,40 **** --- 37,41 ---- private var m_selected:Boolean private var m_image:NSImage + private var m_visible:Boolean; public static function listItemWithLabelData(label:String, data:Object) { *************** *** 44,47 **** --- 45,49 ---- public function ASListItem() { m_selected = false; + m_visible = true; } *************** *** 83,85 **** --- 85,95 ---- m_label = value; } + + public function setVisible(value:Boolean) { + m_visible = value; + } + + public function isVisible():Boolean { + return m_visible; + } } \ No newline at end of file Index: ASListView.as =================================================================== RCS file: /cvsroot/actionstep/actionstep/src/org/actionstep/ASListView.as,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** ASListView.as 9 Jul 2005 04:32:41 -0000 1.7 --- ASListView.as 11 Jul 2005 02:44:27 -0000 1.8 *************** *** 150,154 **** } m_text = "" ! var items:Array = m_list.items().internalList(); for(var i = 0;i < items.length;i++) { if (items[i].isSelected()) { --- 150,154 ---- } m_text = "" ! var items:Array = m_list.visibleItems(); for(var i = 0;i < items.length;i++) { if (items[i].isSelected()) { *************** *** 184,188 **** private function drawSelectedItems(rect:NSRect) { ! var items:Array = m_list.items().internalList(); if (items.length > 0) { var height = (m_textField.textHeight+1)/items.length; --- 184,188 ---- private function drawSelectedItems(rect:NSRect) { ! var items:Array = m_list.visibleItems(); if (items.length > 0) { var height = (m_textField.textHeight+1)/items.length; *************** *** 206,215 **** var location:NSPoint = event.mouseLocation; location = convertPointFromView(location); ! var height = (m_textField.textHeight+1)/m_list.numberOfItems(); selectItemAtIndex(Math.floor(location.y/height)); } public function selectItemAtIndex(index:Number) { ! var items:Array = m_list.items().internalList(); if (m_multipleSelection) { } else { --- 206,215 ---- var location:NSPoint = event.mouseLocation; location = convertPointFromView(location); ! var height = (m_textField.textHeight+1)/m_list.numberOfVisibleItems(); selectItemAtIndex(Math.floor(location.y/height)); } public function selectItemAtIndex(index:Number) { ! var items:Array = m_list.visibleItems(); if (m_multipleSelection) { } else { Index: ASList.as =================================================================== RCS file: /cvsroot/actionstep/actionstep/src/org/actionstep/ASList.as,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ASList.as 10 Jul 2005 04:14:18 -0000 1.6 --- ASList.as 11 Jul 2005 02:44:27 -0000 1.7 *************** *** 213,217 **** return m_internalList; } ! /** * Removes all the items from the list. --- 213,217 ---- return m_internalList; } ! /** * Removes all the items from the list. *************** *** 237,240 **** --- 237,244 ---- m_listView.computeHeight(); } + + public function refresh():Void { + m_listView.computeHeight(); + } /** *************** *** 244,247 **** --- 248,255 ---- return m_internalList.count(); } + + public function numberOfVisibleItems():Number { + return visibleItems().length; + } public function selectedItem():ASListItem { *************** *** 272,275 **** --- 280,305 ---- } + public function visibleItems():Array { + var result:Array = new Array(); + var items:Array = m_internalList.internalList(); + for(var i = 0;i < items.length;i++) { + if (items[i].isVisible()) { + result.push(items[i]); + } + } + return result; + } + + public function invisibleItems():Array { + var result:Array = new Array(); + var items:Array = m_internalList.internalList(); + for(var i = 0;i < items.length;i++) { + if (!items[i].isVisible()) { + result.push(items[i]); + } + } + return result; + } + public function deselectAllItems() { var updated:Boolean = false; |