- fixed handling of URLs and filenames in wxFileSystem
- implemented alignment for wxGrid bool editor and renderer
- support wxListCtrl columns alignment for all platforms and not just MSW
+- added wxToolBar Add/InsertTool(tool) (Janusz Piwowarski)
+
- Changed to type-safe wxSizerItemList for wxSizer child items.
Deprecated:
\param{const wxString\& }{longHelpString = ""},\rtfsp
\param{wxObject* }{clientData = NULL}}
+\func{wxToolBarTool*}{AddTool}{\param{wxToolBarTool* }{tool}}
+
Adds a tool to the toolbar. The first (short and most commonly used) version
has fewer parameters than the full version at the price of not being able to
-specify some of the more rarely used button features.
+specify some of the more rarely used button features. The last version allows
+to add an existing tool.
\wxheading{Parameters}
\docparam{clientData}{An optional pointer to client data which can be
retrieved later using \helpref{wxToolBar::GetToolClientData}{wxtoolbargettoolclientdata}.}
+\docparam{tool}{The tool to be added.}
+
\wxheading{Remarks}
After you have added tools to a toolbar, you must call \helpref{wxToolBar::Realize}{wxtoolbarrealize} in
\param{const wxBitmap\&}{ bitmap2 = wxNullBitmap}, \param{bool}{ isToggle = false},\rtfsp
\param{wxObject* }{clientData = NULL}, \param{const wxString\& }{shortHelpString = ""}, \param{const wxString\& }{longHelpString = ""}}
+\func{wxToolBarTool *}{InsertTool}{\param{size\_t }{pos},\rtfsp
+\param{wxToolBarTool* }{tool}}
+
Inserts the tool with the specified attributes into the toolbar at the given
position.
wxObject *clientData = NULL
);
+ virtual wxToolBarToolBase *AddTool (wxToolBarToolBase *tool);
+ virtual wxToolBarToolBase *InsertTool (size_t pos, wxToolBarToolBase *tool);
+
// add an arbitrary control to the toolbar, return TRUE if ok (notice that
// the control will be deleted by the toolbar and that it will also adjust
// its position/size)
wxToolBarToolBase *tool = CreateTool(id, label, bitmap, bmpDisabled, kind,
clientData, shortHelp, longHelp);
- if ( !tool || !DoInsertTool(pos, tool) )
+ if ( !InsertTool(pos, tool) )
{
delete tool;
return NULL;
}
+ return tool;
+}
+
+wxToolBarToolBase *wxToolBarBase::AddTool(wxToolBarToolBase *tool)
+{
+ return InsertTool(GetToolsCount(), tool);
+}
+
+wxToolBarToolBase *
+wxToolBarBase::InsertTool(size_t pos, wxToolBarToolBase *tool)
+{
+ wxCHECK_MSG( pos <= GetToolsCount(), (wxToolBarToolBase *)NULL,
+ _T("invalid position in wxToolBar::InsertTool()") );
+
+ if ( !tool || !DoInsertTool(pos, tool) )
+ {
+ return NULL;
+ }
+
m_tools.Insert(pos, tool);
return tool;
wxToolBarToolBase *tool = CreateTool(control);
- if ( !tool || !DoInsertTool(pos, tool) )
+ if ( !InsertTool(pos, tool) )
{
delete tool;
return NULL;
}
- m_tools.Insert(pos, tool);
-
return tool;
}
node = node->GetNext() )
{
wxControl *control = node->GetData()->GetControl();
-
+
if (control)
{
if (control->GetId() == id)