// Created: 04/01/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart and Markus Holzem
-// Licence: wxWindows license
+// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
const wxBitmap& theBitmap1, const wxBitmap& theBitmap2,
bool toggle, wxObject *clientData,
const wxString& helpS1, const wxString& helpS2,
- GtkWidget *item )
+ GtkWidget *pixmap )
#else
wxToolBarTool::wxToolBarTool(int theIndex,
const wxBitmap& theBitmap1, const wxBitmap& theBitmap2, bool toggle,
m_toolStyle = wxTOOL_STYLE_BUTTON;
#ifdef __WXGTK__
m_owner = owner;
- m_item = item;
+ m_pixmap = pixmap;
+ m_item = (GtkWidget*) NULL;
m_clientData = clientData;
m_x = 0;
m_y = 0;
}
m_shortHelpString = helpS1;
m_longHelpString = helpS2;
+ m_control = (wxControl*) NULL;
+}
+
+wxToolBarTool::wxToolBarTool(wxControl *control)
+{
+ m_toolStyle = wxTOOL_STYLE_CONTROL;
+ m_control = control;
+ m_index = control->GetId();
}
wxToolBarTool::~wxToolBarTool()
event.SetEventObject(this);
event.SetExtraLong((long) toggleDown);
- // First try sending the command to a window that has the focus, within a frame that
- // also contains this toolbar.
- wxFrame* frame = (wxFrame*) NULL;
- wxWindow* win = this;
- wxWindow* focusWin = (wxWindow*) NULL;
-
- while (win)
- {
- if (win->IsKindOf(CLASSINFO(wxFrame)))
- {
- frame = (wxFrame*) win;
- break;
- }
- else
- win = win->GetParent();
- }
- if (frame)
- focusWin = wxFindFocusDescendant(frame);
-
- if (focusWin && focusWin->GetEventHandler()->ProcessEvent(event))
- return TRUE;
-
// Send events to this toolbar instead (and thence up the window hierarchy)
GetEventHandler()->ProcessEvent(event);
// created and used as the pushed/toggled image.
// If toggle is TRUE, the button toggles between the two states.
wxToolBarTool *wxToolBarBase::AddTool(int index, const wxBitmap& bitmap, const wxBitmap& pushedBitmap,
- bool toggle, long xPos, long yPos, wxObject *clientData,
+ bool toggle, wxCoord xPos, wxCoord yPos, wxObject *clientData,
const wxString& helpString1, const wxString& helpString2)
{
#ifdef __WXGTK__
void wxToolBarBase::AddSeparator ()
{
wxToolBarTool *tool = new wxToolBarTool;
+ tool->m_index = -1;
tool->m_toolStyle = wxTOOL_STYLE_SEPARATOR;
m_tools.Append(-1, tool);
}
{
}
-void wxToolBarBase::Layout()
+void wxToolBarBase::LayoutTools()
{
}
*y = m_yScrollPosition;
}
-void wxToolBarBase::OnIdle(wxIdleEvent& event)
+void wxToolBarBase::OnIdle(wxIdleEvent&
+#ifdef __WXGTK__
+ WXUNUSED(event)
+#else
+ event
+#endif
+ )
{
#ifndef __WXGTK__
wxWindow::OnIdle(event);
// Do the toolbar button updates (check for EVT_UPDATE_UI handlers)
void wxToolBarBase::DoToolbarUpdates()
{
- // First try sending the command to a window that has the focus, within a frame that
- // also contains this toolbar.
- wxFrame* frame = (wxFrame*) NULL;
- wxWindow* win = this;
- wxWindow* focusWin = (wxWindow*) NULL;
-
- while (win)
- {
- if (win->IsKindOf(CLASSINFO(wxFrame)))
- {
- frame = (wxFrame*) win;
- break;
- }
- else
- win = win->GetParent();
- }
- if (frame)
- focusWin = wxFindFocusDescendant(frame);
-
-
- wxEvtHandler* evtHandler = focusWin ? focusWin->GetEventHandler() : GetEventHandler() ;
+ wxEvtHandler* evtHandler = GetEventHandler() ;
wxNode* node = GetTools().First();
while (node)
}
}
-#ifdef __WXMSW__
-// Circumvent wxControl::MSWOnMouseMove which doesn't set the cursor.
-void wxToolBarBase::MSWOnMouseMove(int x, int y, WXUINT flags)
-{
- wxWindow::MSWOnMouseMove(x, y, flags);
-}
-#endif
-
#endif