]> git.saurik.com Git - wxWidgets.git/commitdiff
Added wxToolBar::FindControl() to fish out
authorRobert Roebling <robert@roebling.de>
Fri, 31 May 2002 10:00:24 +0000 (10:00 +0000)
committerRobert Roebling <robert@roebling.de>
Fri, 31 May 2002 10:00:24 +0000 (10:00 +0000)
   controls in a toolbar by its id.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15712 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/tbarbase.h
src/common/tbarbase.cpp

index 7899208435fb0eda43995904d5d8866645bec4c6..dfa4dcb40d2bffab99c54580564a740feee397ca 100644 (file)
@@ -329,6 +329,9 @@ public:
     // NB: the control should have toolbar as its parent
     virtual wxToolBarToolBase *AddControl(wxControl *control);
     virtual wxToolBarToolBase *InsertControl(size_t pos, wxControl *control);
+    
+    // get the control with the given id or return NULL
+    virtual wxControl *FindControl( int id );
 
     // add a separator to the toolbar
     virtual wxToolBarToolBase *AddSeparator();
index 14b0bd80e299853b88f45baf92a68886d3e04e0a..d99e21426337068a1b8fce7317ebe99380d7602a 100644 (file)
@@ -206,6 +206,24 @@ wxToolBarToolBase *wxToolBarBase::InsertControl(size_t pos, wxControl *control)
     return tool;
 }
 
+wxControl *wxToolBarBase::FindControl( int id )
+{
+    for ( wxToolBarToolsList::Node* node = m_tools.GetFirst();
+          node;
+          node = node->GetNext() )
+    {
+        wxControl *control = node->GetData()->GetControl();
+        
+        if (control)
+        {
+            if (control->GetId() == id)
+                return control;
+        }
+    }
+
+   return NULL;
+}
+
 wxToolBarToolBase *wxToolBarBase::AddSeparator()
 {
     return InsertSeparator(GetToolsCount());