]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/treectrl.h
*** empty log message ***
[wxWidgets.git] / include / wx / generic / treectrl.h
index 6c332b0b6fb7c5463e5691b5ae8bece2f6197f4f..00c139de9b6524ed36ca450f7a420e8fe026dd08 100644 (file)
@@ -32,7 +32,7 @@ WXDLLEXPORT_DATA(extern const char*) wxTreeCtrlNameStr;
 #include "wx/dynarray.h"
 #include "wx/timer.h"
 
 #include "wx/dynarray.h"
 #include "wx/timer.h"
 
-//those defines should only be done in generic/treectrl.h, 
+//those defines should only be done in generic/treectrl.h,
 //because wxMSW doesn't allow mutiple selection
 
 #ifndef wxTR_SINGLE
 //because wxMSW doesn't allow mutiple selection
 
 #ifndef wxTR_SINGLE
@@ -172,19 +172,20 @@ class WXDLLEXPORT wxTreeTextCtrl: public wxTextCtrl
   private:
     bool               *m_accept;
     wxString           *m_res;
   private:
     bool               *m_accept;
     wxString           *m_res;
-    wxTreeCtrl        *m_owner;
+    wxTreeCtrl         *m_owner;
+    wxString            m_startValue;
 
   public:
     wxTreeTextCtrl(void) {};
 
   public:
     wxTreeTextCtrl(void) {};
-    wxTreeTextCtrl( wxWindow *parent, const wxWindowID id, 
+    wxTreeTextCtrl( wxWindow *parent, const wxWindowID id,
                     bool *accept, wxString *res, wxTreeCtrl *owner,
                     bool *accept, wxString *res, wxTreeCtrl *owner,
-                    const wxString &value = "",
+                    const wxString &value = wxEmptyString,
                     const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
                     int style = 0, const wxValidator& validator = wxDefaultValidator,
                     const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
                     int style = 0, const wxValidator& validator = wxDefaultValidator,
-                    const wxString &name = "wxTreeTextCtrlText" );
+                    const wxString &name = wxTextCtrlNameStr );
     void OnChar( wxKeyEvent &event );
     void OnKillFocus( wxFocusEvent &event );
     void OnChar( wxKeyEvent &event );
     void OnKillFocus( wxFocusEvent &event );
-    
+
   DECLARE_EVENT_TABLE()
 };
 
   DECLARE_EVENT_TABLE()
 };
 
@@ -230,10 +231,10 @@ public:
     unsigned int GetIndent() const { return m_indent; }
     void SetIndent(unsigned int indent);
 
     unsigned int GetIndent() const { return m_indent; }
     void SetIndent(unsigned int indent);
 
-       // spacing is the number of pixels between the start and the Text
+        // spacing is the number of pixels between the start and the Text
     unsigned int GetSpacing() const { return m_spacing; }
     void SetSpacing(unsigned int spacing);
     unsigned int GetSpacing() const { return m_spacing; }
     void SetSpacing(unsigned int spacing);
-    
+
         // image list: these functions allow to associate an image list with
         // the control and retrieve it. Note that the control does _not_ delete
         // the associated image list when it's deleted in order to allow image
         // image list: these functions allow to associate an image list with
         // the control and retrieve it. Note that the control does _not_ delete
         // the associated image list when it's deleted in order to allow image
@@ -257,10 +258,9 @@ public:
 
         // retrieve items label
     wxString GetItemText(const wxTreeItemId& item) const;
 
         // retrieve items label
     wxString GetItemText(const wxTreeItemId& item) const;
-        // get the normal item image
-    int GetItemImage(const wxTreeItemId& item) const;
-        // get the selected item image
-    int GetItemSelectedImage(const wxTreeItemId& item) const;
+        // get one of the images associated with the item (normal by default)
+    int GetItemImage(const wxTreeItemId& item,
+                     wxTreeItemIcon which = wxTreeItemIcon_Normal) const;
         // get the data associated with the item
     wxTreeItemData *GetItemData(const wxTreeItemId& item) const;
 
         // get the data associated with the item
     wxTreeItemData *GetItemData(const wxTreeItemId& item) const;
 
@@ -269,10 +269,9 @@ public:
 
         // set items label
     void SetItemText(const wxTreeItemId& item, const wxString& text);
 
         // set items label
     void SetItemText(const wxTreeItemId& item, const wxString& text);
-        // set the normal item image
-    void SetItemImage(const wxTreeItemId& item, int image);
-        // set the selected item image
-    void SetItemSelectedImage(const wxTreeItemId& item, int image);
+        // get one of the images associated with the item (normal by default)
+    void SetItemImage(const wxTreeItemId& item, int image,
+                      wxTreeItemIcon which = wxTreeItemIcon_Normal);
         // associate some data with the item
     void SetItemData(const wxTreeItemId& item, wxTreeItemData *data);
 
         // associate some data with the item
     void SetItemData(const wxTreeItemId& item, wxTreeItemData *data);
 
@@ -419,7 +418,7 @@ public:
         // been before.
     void EditLabel( const wxTreeItemId& item ) { Edit( item ); }
     void Edit( const wxTreeItemId& item );
         // been before.
     void EditLabel( const wxTreeItemId& item ) { Edit( item ); }
     void Edit( const wxTreeItemId& item );
-    
+
     // sorting
         // this function is called to compare 2 items and should return -1, 0
         // or +1 if the first item is less than, equal to or greater than the
     // sorting
         // this function is called to compare 2 items and should return -1, 0
         // or +1 if the first item is less than, equal to or greater than the
@@ -432,6 +431,16 @@ public:
         // NB: this function is not reentrant and not MT-safe (FIXME)!
     void SortChildren(const wxTreeItemId& item);
 
         // NB: this function is not reentrant and not MT-safe (FIXME)!
     void SortChildren(const wxTreeItemId& item);
 
+    // deprecated functions: use Set/GetItemImage directly
+        // get the selected item image
+    int GetItemSelectedImage(const wxTreeItemId& item) const
+        { return GetItemImage(item, wxTreeItemIcon_Selected); }
+        // set the selected item image
+    void SetItemSelectedImage(const wxTreeItemId& item, int image)
+        { SetItemImage(item, image, wxTreeItemIcon_Selected); }
+
+    // implementation
+
     // callbacks
     void OnPaint( wxPaintEvent &event );
     void OnSetFocus( wxFocusEvent &event );
     // callbacks
     void OnPaint( wxPaintEvent &event );
     void OnSetFocus( wxFocusEvent &event );
@@ -446,7 +455,7 @@ public:
     // Draw Special Information
     void DrawBorder(wxTreeItemId& item);
     void DrawLine(wxTreeItemId& item, bool below);
     // Draw Special Information
     void DrawBorder(wxTreeItemId& item);
     void DrawLine(wxTreeItemId& item, bool below);
-    
+
 protected:
     friend class wxGenericTreeItem;
     friend class wxTreeRenameTimer;
 protected:
     friend class wxGenericTreeItem;
     friend class wxTreeRenameTimer;
@@ -465,6 +474,7 @@ protected:
     wxImageList         *m_imageListNormal,
                         *m_imageListState;
     int                  m_dragCount;
     wxImageList         *m_imageListNormal,
                         *m_imageListState;
     int                  m_dragCount;
+    wxPoint              m_dragStart;
     wxTimer             *m_renameTimer;
     bool                 m_renameAccept;
     wxString             m_renameRes;
     wxTimer             *m_renameTimer;
     bool                 m_renameAccept;
     wxString             m_renameRes;
@@ -490,7 +500,7 @@ protected:
 
     void RefreshSubtree( wxGenericTreeItem *item );
     void RefreshLine( wxGenericTreeItem *item );
 
     void RefreshSubtree( wxGenericTreeItem *item );
     void RefreshLine( wxGenericTreeItem *item );
-    
+
     void OnRenameTimer();
     void OnRenameAccept();
 
     void OnRenameTimer();
     void OnRenameAccept();