Modified:
trunk/wx.mod/wxtreectrl.mod/glue.cpp
trunk/wx.mod/wxtreectrl.mod/glue.h
trunk/wx.mod/wxtreectrl.mod/wxtreectrl.bmx
Log:
Implemented GetSelections()
Modified: trunk/wx.mod/wxtreectrl.mod/glue.cpp
==============================================================================
--- trunk/wx.mod/wxtreectrl.mod/glue.cpp (original)
+++ trunk/wx.mod/wxtreectrl.mod/glue.cpp Wed Dec 12 11:54:22 2007
@@ -463,7 +463,21 @@
delete item;
}
+BBArray * bmx_wxtreectrl_getselections(wxTreeCtrl * tree) {
+ wxArrayTreeItemIds selection;
+ int count = tree->GetSelections(selection);
+
+ BBArray * array = _wx_wxtreectrl_wxTreeCtrl__newSelections(count);
+
+ if (count > 0) {
+ for (int i = 0; i < count; i++) {
+ MaxTreeItem * item = new MaxTreeItem(selection.Item(i));
+ _wx_wxtreectrl_wxTreeCtrl__setSelection(array, i, item);
+ }
+ }
+ return array;
+}
int bmx_wxtreectrl_geteventtype(int type) {
switch(type) {
Modified: trunk/wx.mod/wxtreectrl.mod/glue.h
==============================================================================
--- trunk/wx.mod/wxtreectrl.mod/glue.h (original)
+++ trunk/wx.mod/wxtreectrl.mod/glue.h Wed Dec 12 11:54:22 2007
@@ -33,6 +33,9 @@
int _wx_wxtreectrl_wxTreeCtrl__OnCompareItems(BBObject * maxHandle,
MaxTreeItem * item1, MaxTreeItem * item2);
+ BBArray * _wx_wxtreectrl_wxTreeCtrl__newSelections(int size);
+ void _wx_wxtreectrl_wxTreeCtrl__setSelection(BBArray * array, int
index, MaxTreeItem * item);
+
MaxTreeCtrl * bmx_wxtreectrl_create(BBObject * maxHandle, wxWindow *
parent, wxWindowID id, int x, int y,
int w, int h, long style);
MaxTreeItem * bmx_wxtreectrl_addroot(wxTreeCtrl * tree, BBString *
text, int image, int selImage, BBObject * data);
@@ -112,6 +115,8 @@
MaxTreeItem * bmx_wxtreectrl_insertitem(wxTreeCtrl * tree,
MaxTreeItem * parent, MaxTreeItem * previous, BBString * text, int
image, int selImage, BBObject * data);
MaxTreeItem * bmx_wxtreectrl_insertitembefore(wxTreeCtrl * tree,
MaxTreeItem * parent, int before, BBString * text, int image, int
selImage, BBObject * data);
MaxTreeItem * bmx_wxtreectrl_prependitem(wxTreeCtrl * tree,
MaxTreeItem * parent, BBString * text, int image, int selImage,
BBObject * data);
+
+ BBArray * bmx_wxtreectrl_getselections(wxTreeCtrl * tree);
wxTreeItemIdValue * bmx_wxtreeitemidvalue_create();
void bmx_wxtreeitemidvalue_delete(wxTreeItemIdValue * idvalue);
Modified: trunk/wx.mod/wxtreectrl.mod/wxtreectrl.bmx
==============================================================================
--- trunk/wx.mod/wxtreectrl.mod/wxtreectrl.bmx (original)
+++ trunk/wx.mod/wxtreectrl.mod/wxtreectrl.bmx Wed Dec 12 11:54:22 2007
@@ -481,8 +481,17 @@
about: This method can be called only if the control has the
wxTR_MULTIPLE style.
End Rem
Method GetSelections:wxTreeItemId[]()
+ Return bmx_wxtreectrl_getselections(wxObjectPtr)
End Method
+ Function _newSelections:wxTreeItemId[](size:Int)
+ Return New wxTreeItemId[size]
+ End Function
+
+ Function _setSelection(selections:wxTreeItemId[], index:Int,
value:Byte Ptr)
+ selections[index] = wxTreeItemId._create(value)
+ End Function
+
Rem
bbdoc: Returns the state image list (from which application-defined
state images are taken).
End Rem
@@ -775,6 +784,10 @@
End Method
End Type
+
+Extern
+ Function bmx_wxtreectrl_getselections:wxTreeItemId[](handle:Byte Ptr)
+End Extern
Rem
bbdoc: An opaque reference to a tree item.