]> git.saurik.com Git - wxWidgets.git/commitdiff
Applied Russel's changes to wxToolBarBase
authorRobert Roebling <robert@roebling.de>
Tue, 16 Feb 1999 09:31:28 +0000 (09:31 +0000)
committerRobert Roebling <robert@roebling.de>
Tue, 16 Feb 1999 09:31:28 +0000 (09:31 +0000)
  fixed stippled brush for bitmaps (as opposed to pixmaps)

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

include/wx/gtk/tbargtk.h
include/wx/gtk1/tbargtk.h
include/wx/tbarbase.h
setup/setup.hin
src/common/tbarbase.cpp
src/gtk.inc
src/gtk/dcclient.cpp
src/gtk/tbargtk.cpp
src/gtk1/dcclient.cpp
src/gtk1/tbargtk.cpp

index 7a864d8d4069ee216047e662741ce546d0fa1a49..a019cefabc2f3858c61f9251f9f8dc86ce44636d 100644 (file)
@@ -17,6 +17,7 @@
 #include "wx/defs.h"
 #include "wx/control.h"
 #include "wx/bitmap.h"
+#include "wx/tbarbase.h"
 
 //-----------------------------------------------------------------------------
 // classes
@@ -38,42 +39,6 @@ class wxToolBar;
 
 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
 //-----------------------------------------------------------------------------
index 7a864d8d4069ee216047e662741ce546d0fa1a49..a019cefabc2f3858c61f9251f9f8dc86ce44636d 100644 (file)
@@ -17,6 +17,7 @@
 #include "wx/defs.h"
 #include "wx/control.h"
 #include "wx/bitmap.h"
+#include "wx/tbarbase.h"
 
 //-----------------------------------------------------------------------------
 // classes
@@ -38,42 +39,6 @@ class wxToolBar;
 
 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
 //-----------------------------------------------------------------------------
index d23a8c2158be2ee284a1f55dfc76a8ba42df4f72..7e8708e5777816232cd20a5248a1b6a57edd2fe4 100644 (file)
@@ -30,13 +30,26 @@ WXDLLEXPORT_DATA(extern const wxPoint) wxDefaultPosition;
 #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; }
@@ -59,6 +72,10 @@ public:
   bool                  m_isMenuCommand;
   wxString              m_shortHelpString;
   wxString              m_longHelpString;
+#ifdef __WXGTK__
+  wxToolBar            *m_owner;
+  GtkWidget            *m_item;
+#endif
 };
 
 class WXDLLEXPORT wxToolBarBase : public wxControl
index 2923f6565c653e553a75b7dadac9a951f52a51f9..1b4fe863ba3a59d878caee8f29de2fe2a2f7e16e 100644 (file)
@@ -67,7 +67,6 @@
 //------------------------------------------------------------------------
 // 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
index d50620d33fee2d59235e1ee81607acd09d4f0e2e..b4813bbb5bbe50dfb0a0b162d7038f9193484a9f 100644 (file)
@@ -48,20 +48,36 @@ END_EVENT_TABLE()
 // 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())
@@ -167,7 +183,12 @@ wxToolBarTool *wxToolBarBase::AddTool(int index, const wxBitmap& bitmap, const w
              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)
@@ -698,7 +719,9 @@ void wxToolBarBase::ViewStart (int *x, int *y) const
 
 void wxToolBarBase::OnIdle(wxIdleEvent& event)
 {
+#ifndef __WXGTK__
     wxWindow::OnIdle(event);
+#endif
 
        DoToolbarUpdates();
 }
index dc1df98371471d67dfee9331f8ebe6c890c45b3f..a9d75aecc698dccab84581a4c0de33a43fab8e40 100644 (file)
@@ -64,6 +64,7 @@ LIB_CPP_SRC=\
  common/http.cpp \
  common/ftp.cpp \
  common/url.cpp \
+ common/tbarbase.cpp \
  common/tokenzr.cpp \
  common/resource.cpp \
  common/wxexpr.cpp \
index f03ce148a90d9645cba46945abc67121dbdaf583..7f5e5e5a8dd3b56a65d347afef0880ce55076ef8 100644 (file)
@@ -971,9 +971,12 @@ void wxWindowDC::SetBrush( const wxBrush &brush )
   
     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()))
index 6b9e683864e997f1d1a81f522816436e869977c4..78e4e339ac8bffd99ebcf34d6f5a5c62221049de 100644 (file)
 
 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)
 //-----------------------------------------------------------------------------
index f03ce148a90d9645cba46945abc67121dbdaf583..7f5e5e5a8dd3b56a65d347afef0880ce55076ef8 100644 (file)
@@ -971,9 +971,12 @@ void wxWindowDC::SetBrush( const wxBrush &brush )
   
     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()))
index 6b9e683864e997f1d1a81f522816436e869977c4..78e4e339ac8bffd99ebcf34d6f5a5c62221049de 100644 (file)
 
 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)
 //-----------------------------------------------------------------------------