// Created: 04/01/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart and Markus Holzem
-// Licence: wxWindows license
+// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#include "wx/wx.h"
#endif
+#include "wx/frame.h"
+
// For ::UpdateWindow
#ifdef __WXMSW__
#include <windows.h>
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);
+ // Send events to this toolbar instead (and thence up the window hierarchy)
GetEventHandler()->ProcessEvent(event);
return TRUE;
// 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& WXUNUSED(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()
{
+ wxEvtHandler* evtHandler = GetEventHandler() ;
+
wxNode* node = GetTools().First();
while (node)
{
wxUpdateUIEvent event(tool->m_index);
event.SetEventObject(this);
- if (GetEventHandler()->ProcessEvent(event))
+ if (evtHandler->ProcessEvent(event))
{
if (event.GetSetEnabled())
EnableTool(tool->m_index, event.GetEnabled());
}
}
-#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