#include "wx/defs.h"
#include "wx/control.h"
#include "wx/bitmap.h"
+#include "wx/tbarbase.h"
//-----------------------------------------------------------------------------
// classes
extern const char *wxToolBarNameStr;
-//-----------------------------------------------------------------------------
-// wxToolBarTool
-//-----------------------------------------------------------------------------
-
-class wxToolBarTool: public wxObject
-{
- DECLARE_DYNAMIC_CLASS(wxToolBarTool)
-
- public:
-
- wxToolBarTool(void) {};
- wxToolBarTool( wxToolBar *owner, int theIndex = 0,
- const wxBitmap& bitmap1 = wxNullBitmap, const wxBitmap& bitmap2 = wxNullBitmap,
- bool toggle = FALSE, wxObject *clientData = (wxObject *) NULL,
- const wxString& shortHelpString = "", const wxString& longHelpString = "",
- GtkWidget *item = (GtkWidget *) NULL );
- ~wxToolBarTool(void);
-
- public:
-
- int m_toolStyle;
- wxObject *m_clientData;
- int m_index;
- bool m_toggleState;
- bool m_isToggle;
- bool m_deleteSecondBitmap;
- bool m_enabled;
- wxBitmap m_bitmap1;
- wxBitmap m_bitmap2;
- bool m_isMenuCommand;
- wxString m_shortHelpString;
- wxString m_longHelpString;
- wxToolBar *m_owner;
- GtkWidget *m_item;
-};
-
//-----------------------------------------------------------------------------
// wxToolBar
//-----------------------------------------------------------------------------
#include "wx/defs.h"
#include "wx/control.h"
#include "wx/bitmap.h"
+#include "wx/tbarbase.h"
//-----------------------------------------------------------------------------
// classes
extern const char *wxToolBarNameStr;
-//-----------------------------------------------------------------------------
-// wxToolBarTool
-//-----------------------------------------------------------------------------
-
-class wxToolBarTool: public wxObject
-{
- DECLARE_DYNAMIC_CLASS(wxToolBarTool)
-
- public:
-
- wxToolBarTool(void) {};
- wxToolBarTool( wxToolBar *owner, int theIndex = 0,
- const wxBitmap& bitmap1 = wxNullBitmap, const wxBitmap& bitmap2 = wxNullBitmap,
- bool toggle = FALSE, wxObject *clientData = (wxObject *) NULL,
- const wxString& shortHelpString = "", const wxString& longHelpString = "",
- GtkWidget *item = (GtkWidget *) NULL );
- ~wxToolBarTool(void);
-
- public:
-
- int m_toolStyle;
- wxObject *m_clientData;
- int m_index;
- bool m_toggleState;
- bool m_isToggle;
- bool m_deleteSecondBitmap;
- bool m_enabled;
- wxBitmap m_bitmap1;
- wxBitmap m_bitmap2;
- bool m_isMenuCommand;
- wxString m_shortHelpString;
- wxString m_longHelpString;
- wxToolBar *m_owner;
- GtkWidget *m_item;
-};
-
//-----------------------------------------------------------------------------
// wxToolBar
//-----------------------------------------------------------------------------
#define wxTOOL_STYLE_BUTTON 1
#define wxTOOL_STYLE_SEPARATOR 2
+#ifdef __WXGTK__
+class WXDLLEXPORT wxToolBar;
+#endif
+
class WXDLLEXPORT wxToolBarTool: public wxObject
{
DECLARE_DYNAMIC_CLASS(wxToolBarTool)
public:
+ wxToolBarTool() {}
+#ifdef __WXGTK__
+ wxToolBarTool(wxToolBar *owner,
+ int theIndex = 0, const wxBitmap& bitmap1 = wxNullBitmap, const wxBitmap& bitmap2 = wxNullBitmap,
+ bool toggle = FALSE, wxObject *clientData = (wxObject *) NULL,
+ const wxString& shortHelpString = "", const wxString& longHelpString = "",
+ GtkWidget *item = (GtkWidget *) NULL );
+#else
wxToolBarTool(int theIndex = 0, const wxBitmap& bitmap1 = wxNullBitmap, const wxBitmap& bitmap2 = wxNullBitmap,
bool toggle = FALSE, long xPos = -1, long yPos = -1,
const wxString& shortHelpString = wxEmptyString, const wxString& longHelpString = wxEmptyString);
+#endif
~wxToolBarTool ();
inline void SetSize( long w, long h ) { m_width = w; m_height = h; }
inline long GetWidth () const { return m_width; }
bool m_isMenuCommand;
wxString m_shortHelpString;
wxString m_longHelpString;
+#ifdef __WXGTK__
+ wxToolBar *m_owner;
+ GtkWidget *m_item;
+#endif
};
class WXDLLEXPORT wxToolBarBase : public wxControl
//------------------------------------------------------------------------
// GUI control options (always enabled in wxGTK)
//------------------------------------------------------------------------
-
/*
* Use gauge item
*/
* Use scrollbar item
*/
#define wxUSE_RADIOBUTTON 1
+/*
+ * Use toolbar item
+ */
+#define wxUSE_TOOLBAR 1
//------------------------------------------------------------------------
// non-GUI options
// is still valid: a tool may have quit the toolbar.
static wxList gs_ToolBars;
+#ifdef __WXGTK__
+wxToolBarTool::wxToolBarTool(wxToolBar *owner, int theIndex,
+ const wxBitmap& theBitmap1, const wxBitmap& theBitmap2,
+ bool toggle, wxObject *clientData,
+ const wxString& helpS1, const wxString& helpS2,
+ GtkWidget *item )
+#else
wxToolBarTool::wxToolBarTool(int theIndex,
const wxBitmap& theBitmap1, const wxBitmap& theBitmap2, bool toggle,
long xPos, long yPos, const wxString& helpS1, const wxString& helpS2)
+#endif
{
m_toolStyle = wxTOOL_STYLE_BUTTON;
+#ifdef __WXGTK__
+ m_owner = owner;
+ m_item = item;
+ m_clientData = clientData;
+ m_x = 0;
+ m_y = 0;
+#else
m_clientData = NULL;
+ m_x = xPos;
+ m_y = yPos;
+#endif
m_index = theIndex;
m_isToggle = toggle;
m_toggleState = FALSE;
m_enabled = TRUE;
m_bitmap1 = theBitmap1;
m_bitmap2 = theBitmap2;
- m_x = xPos;
- m_y = yPos;
m_width = m_height = 0;
m_deleteSecondBitmap = FALSE;
if (m_bitmap1.Ok())
bool toggle, long xPos, long yPos, wxObject *clientData,
const wxString& helpString1, const wxString& helpString2)
{
+#ifdef __WXGTK__
+ wxToolBarTool *tool = new wxToolBarTool( (wxToolBar*)this, index, bitmap, pushedBitmap, toggle,
+ (wxObject*) NULL, helpString1, helpString2);
+#else
wxToolBarTool *tool = new wxToolBarTool(index, bitmap, pushedBitmap, toggle, xPos, yPos, helpString1, helpString2);
+#endif
tool->m_clientData = clientData;
if (xPos > -1)
void wxToolBarBase::OnIdle(wxIdleEvent& event)
{
+#ifndef __WXGTK__
wxWindow::OnIdle(event);
+#endif
DoToolbarUpdates();
}
common/http.cpp \
common/ftp.cpp \
common/url.cpp \
+ common/tbarbase.cpp \
common/tokenzr.cpp \
common/resource.cpp \
common/wxexpr.cpp \
gdk_gc_set_fill( m_brushGC, fillStyle );
- if (m_brush.GetStyle() == wxSTIPPLE)
+ if ((m_brush.GetStyle() == wxSTIPPLE) && (m_brush.GetStipple()->Ok()))
{
- gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetPixmap() );
+ if (m_brush.GetStipple()->GetPixmap())
+ gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetPixmap() );
+ else
+ gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetBitmap() );
}
if (IS_HATCH(m_brush.GetStyle()))
extern bool g_blockEventsOnDrag;
-//-----------------------------------------------------------------------------
-// wxToolBarTool
-//-----------------------------------------------------------------------------
-
-IMPLEMENT_DYNAMIC_CLASS(wxToolBarTool,wxObject)
-
-wxToolBarTool::wxToolBarTool( wxToolBar *owner, int theIndex,
- const wxBitmap& bitmap1, const wxBitmap& bitmap2,
- bool toggle,
- wxObject *clientData,
- const wxString& shortHelpString,
- const wxString& longHelpString,
- GtkWidget *item )
-{
- m_owner = owner;
- m_index = theIndex;
- m_bitmap1 = bitmap1;
- m_bitmap2 = bitmap2;
- m_isToggle = toggle;
- m_enabled = TRUE;
- m_toggleState = FALSE;
- m_shortHelpString = shortHelpString;
- m_longHelpString = longHelpString;
- m_isMenuCommand = TRUE;
- m_clientData = clientData;
- m_deleteSecondBitmap = FALSE;
- m_item = item;
-}
-
-wxToolBarTool::~wxToolBarTool()
-{
-}
-
//-----------------------------------------------------------------------------
// "clicked" (internal from gtk_toolbar)
//-----------------------------------------------------------------------------
gdk_gc_set_fill( m_brushGC, fillStyle );
- if (m_brush.GetStyle() == wxSTIPPLE)
+ if ((m_brush.GetStyle() == wxSTIPPLE) && (m_brush.GetStipple()->Ok()))
{
- gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetPixmap() );
+ if (m_brush.GetStipple()->GetPixmap())
+ gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetPixmap() );
+ else
+ gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetBitmap() );
}
if (IS_HATCH(m_brush.GetStyle()))
extern bool g_blockEventsOnDrag;
-//-----------------------------------------------------------------------------
-// wxToolBarTool
-//-----------------------------------------------------------------------------
-
-IMPLEMENT_DYNAMIC_CLASS(wxToolBarTool,wxObject)
-
-wxToolBarTool::wxToolBarTool( wxToolBar *owner, int theIndex,
- const wxBitmap& bitmap1, const wxBitmap& bitmap2,
- bool toggle,
- wxObject *clientData,
- const wxString& shortHelpString,
- const wxString& longHelpString,
- GtkWidget *item )
-{
- m_owner = owner;
- m_index = theIndex;
- m_bitmap1 = bitmap1;
- m_bitmap2 = bitmap2;
- m_isToggle = toggle;
- m_enabled = TRUE;
- m_toggleState = FALSE;
- m_shortHelpString = shortHelpString;
- m_longHelpString = longHelpString;
- m_isMenuCommand = TRUE;
- m_clientData = clientData;
- m_deleteSecondBitmap = FALSE;
- m_item = item;
-}
-
-wxToolBarTool::~wxToolBarTool()
-{
-}
-
//-----------------------------------------------------------------------------
// "clicked" (internal from gtk_toolbar)
//-----------------------------------------------------------------------------