]> git.saurik.com Git - wxWidgets.git/commitdiff
Big color update with the newest information
authorRobert Roebling <robert@roebling.de>
Thu, 29 Oct 1998 18:03:18 +0000 (18:03 +0000)
committerRobert Roebling <robert@roebling.de>
Thu, 29 Oct 1998 18:03:18 +0000 (18:03 +0000)
  from the GTK+ hot-line, eh mail-list. The news
  is that they don't know what they do.

  Conversion from 12pt, wxSWISS, wxNORMAL, wxNORMAL to
  GTK+ system font

  Probably some other things

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

114 files changed:
configure
configure.in
docs/gtk/install.txt
docs/gtk/todo.txt
include/wx/generic/panelg.h
include/wx/gtk/bmpbuttn.h
include/wx/gtk/button.h
include/wx/gtk/checkbox.h
include/wx/gtk/choice.h
include/wx/gtk/combobox.h
include/wx/gtk/dialog.h
include/wx/gtk/dnd.h
include/wx/gtk/filedlg.h
include/wx/gtk/font.h
include/wx/gtk/frame.h
include/wx/gtk/gauge.h
include/wx/gtk/gdiobj.h
include/wx/gtk/icon.h
include/wx/gtk/listbox.h
include/wx/gtk/mdi.h
include/wx/gtk/menu.h
include/wx/gtk/notebook.h
include/wx/gtk/pen.h
include/wx/gtk/radiobox.h
include/wx/gtk/radiobut.h
include/wx/gtk/region.h
include/wx/gtk/scrolbar.h
include/wx/gtk/settings.h
include/wx/gtk/slider.h
include/wx/gtk/statbmp.h
include/wx/gtk/statbox.h
include/wx/gtk/stattext.h
include/wx/gtk/tbargtk.h
include/wx/gtk/textctrl.h
include/wx/gtk/timer.h
include/wx/gtk/win_gtk.h
include/wx/gtk/window.h
include/wx/gtk1/bmpbuttn.h
include/wx/gtk1/button.h
include/wx/gtk1/checkbox.h
include/wx/gtk1/choice.h
include/wx/gtk1/combobox.h
include/wx/gtk1/dialog.h
include/wx/gtk1/dnd.h
include/wx/gtk1/filedlg.h
include/wx/gtk1/font.h
include/wx/gtk1/frame.h
include/wx/gtk1/gauge.h
include/wx/gtk1/gdiobj.h
include/wx/gtk1/icon.h
include/wx/gtk1/listbox.h
include/wx/gtk1/mdi.h
include/wx/gtk1/menu.h
include/wx/gtk1/notebook.h
include/wx/gtk1/pen.h
include/wx/gtk1/radiobox.h
include/wx/gtk1/radiobut.h
include/wx/gtk1/region.h
include/wx/gtk1/scrolbar.h
include/wx/gtk1/settings.h
include/wx/gtk1/slider.h
include/wx/gtk1/statbmp.h
include/wx/gtk1/statbox.h
include/wx/gtk1/stattext.h
include/wx/gtk1/tbargtk.h
include/wx/gtk1/textctrl.h
include/wx/gtk1/timer.h
include/wx/gtk1/win_gtk.h
include/wx/gtk1/window.h
samples/controls/controls.cpp
src/generic/panelg.cpp
src/gtk.inc
src/gtk/bmpbuttn.cpp
src/gtk/button.cpp
src/gtk/checkbox.cpp
src/gtk/choice.cpp
src/gtk/combobox.cpp
src/gtk/dialog.cpp
src/gtk/font.cpp
src/gtk/frame.cpp
src/gtk/gauge.cpp
src/gtk/listbox.cpp
src/gtk/notebook.cpp
src/gtk/radiobox.cpp
src/gtk/radiobut.cpp
src/gtk/scrolbar.cpp
src/gtk/settings.cpp
src/gtk/slider.cpp
src/gtk/statbmp.cpp
src/gtk/statbox.cpp
src/gtk/stattext.cpp
src/gtk/textctrl.cpp
src/gtk/window.cpp
src/gtk1/bmpbuttn.cpp
src/gtk1/button.cpp
src/gtk1/checkbox.cpp
src/gtk1/choice.cpp
src/gtk1/combobox.cpp
src/gtk1/dialog.cpp
src/gtk1/font.cpp
src/gtk1/frame.cpp
src/gtk1/gauge.cpp
src/gtk1/listbox.cpp
src/gtk1/notebook.cpp
src/gtk1/radiobox.cpp
src/gtk1/radiobut.cpp
src/gtk1/scrolbar.cpp
src/gtk1/settings.cpp
src/gtk1/slider.cpp
src/gtk1/statbmp.cpp
src/gtk1/statbox.cpp
src/gtk1/stattext.cpp
src/gtk1/textctrl.cpp
src/gtk1/window.cpp

index 93da230c0f8ecd3ecb1aa95e38f9bd584d383750..80bf2c24022ca16beb35a30502867472b62c2fb2 100755 (executable)
--- a/configure
+++ b/configure
@@ -5977,7 +5977,7 @@ else
   echo "$ac_t""no" 1>&6
 fi
 
-  min_gtk_version=0.99.7
+  min_gtk_version=1.0.6
   echo $ac_n "checking for GTK - version >= $min_gtk_version""... $ac_c" 1>&6
 echo "configure:5983: checking for GTK - version >= $min_gtk_version" >&5
   no_gtk=""
@@ -6041,7 +6041,7 @@ fi
      echo "$ac_t""no" 1>&6
      GTK_CFLAGS=""
      GTK_LIBS=""
-     { echo "configure: error: Are gtk-config and the GTK in path and up-to-date?" 1>&2; exit 1; }
+     { echo "configure: error: Is gtk-config in path and GTK+ is version 1.0.6?" 1>&2; exit 1; }
   fi
   
   
index ce06d5a83a44bf827983adddeb03c00623b9ac85..21ba45a90ecf0b5f38520486e05da5bf8c82a8f4 100644 (file)
@@ -1000,10 +1000,10 @@ GUI_TK_LINK=
 MAKEINCLUDE=
 
 if test "$wxUSE_GTK" = 1; then
-  AM_PATH_GTK(0.99.7, [
+  AM_PATH_GTK(1.0.6, [
        GUI_TK_INCLUDE="$GTK_CFLAGS"
        GUI_TK_LIBRARY="$GTK_LIBS"
-  ], AC_MSG_ERROR(Are gtk-config and the GTK in path and up-to-date?))
+  ], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.0.6?))
   TOOLKIT=GTK
   TOOLKIT_DEF=__WXGTK__
   MAKEINCLUDE=../gtk.inc
index c9886b3a9e967a9355034f98dfcc0fd7cb81c50e..1038da9bdd45f33834f77902af33ad4e7c0db34e 100644 (file)
@@ -35,38 +35,50 @@ for newest information.
 -----------------------
 
 wxWindows/GTK requires the GTK+ library to be installed on your system.
-It has to be a stable version, preferebly version 1.0.6.
+It has to be a stable version, preferebly version 1.0.6. When using
+a version previous to 1.0.6 you'll get crashes here and there. This
+is certain to happen with colors in native widgets.
 
 You can get the newest version of the GTK+ from the GTK homepage
 at
   http://www.gtk.org
   
+We also mirror GTK+ 1.0.6 at our ftp site. You'll find information
+about downloading at my homepage.
+  
 * Additional libraries
 -----------------------
 
-There will be a few more features of wxWindows, which will 
-require further libraries (on some platforms). These
-features will be optional. I hope to teach configure
-to check that out automatically.
-
-Thread support:
-
-  Requires pthreads under Linux with glibc 2. pthreads are
-  always present on such systems, so just compile, unless
-  you have RedHat 5.0, which has a broken combination of
-  glibc 2 and X. In this case, you have to run configure
-  with "--without-threads".
-  
-  Requires PCthreads under Linux with libc 5. If you
-  haven't installed pcthreads, there will be no thread
-  support in wxWindows, but the library will compile.
-  
-  Requires Posix threads on commercial Unix system,
-  which are always present. Just compile.
-  
-  On SGI Irix we first look for sprocs, then pthreads and
-  use the last one found.
+wxWindows/Gtk requires a thread library and X libraries
+known to work with threads. This is the case on all
+commercial Unix-Variants and all Linux-Versions that
+are based on glibc 2 except RedHat 5.0 which is broken
+in many aspects. As of writing this, these Linux 
+distributions have correct glibc 2 support:
+
+ - RedHat 5.1
+ - Debian 2.0
+ - Stampede
+The next major version of SuSE will also support glibc 2,
+but version 5.X does not. Also Caldera and Slackware
+don't yet support glibc 2.
+
+On IRIX you can also use SGI threads if Posix-Threads
+are not present. The SGI threads will be detected by
+configure automatically.
+
+You can always disable thread support by running 
+
+./configure "--without-threads"
+make clean
+make
   
+NB: I included thread support in wxWindows/Gtk, as this 
+problem will disappear in the near future when all major 
+Linux Variants have moved to glibc 2. Also, the Linux
+Base Standard will include glibc 2.
+
 * Create your configuration
 -----------------------------
 
index 415cbcb0d4266a5caf8864a8f6d6fe2d221ba135..998a2c254e6cfa45ae6bda97ae8f6c8022d4126b 100644 (file)
@@ -16,12 +16,6 @@ wxHelpController
 Fix printing of bitmaps
   -> No idea.
 
-Add support SetForegroundColour in GTK widgets
-  -> On the way.
-
-wxBitmapCheckBox
-  -> Interface same as checkbox?
-
 wxImage
   -> 24-bit support
   
index b20133534f4db1c5762148a1e119e2d4f903ad35..701a0ca000cb0150f8933317de543ffebf95961c 100644 (file)
@@ -64,7 +64,7 @@ public:
   void OnSysColourChanged(wxSysColourChangedEvent& event);
     // Process a keyboard navigation message (Tab traversal)
   void OnNavigationKey(wxNavigationKeyEvent& event);
-
+  
 protected:
   bool SetFocusToNextChild(wxNode *nodeCurrent = (wxNode *) NULL, bool bForward = TRUE);
 
index 380642dc6ab4d16953cb095db3de3e880d4aaa55..bcb31a9e908ce4255944a83adf008a96a19041b9 100644 (file)
@@ -63,6 +63,10 @@ class wxBitmapButton: public wxControl
     virtual void SetBitmapLabel( const wxBitmap& bitmap );
     wxBitmap& GetBitmapLabel(void) const { return (wxBitmap&) m_bitmap; }
     
+  // implementation
+  
+    void ApplyWidgetStyle();    
+    
   public:
   
     wxBitmap   m_bitmap;    
index 0b1d34d52e2b866302edb40813d2ce080062f818..45f0c1b4ae368ce200c05f525698fa6d4e94e9ac 100644 (file)
@@ -59,9 +59,11 @@ class wxButton: public wxControl
     void SetDefault(void);
     void SetLabel( const wxString &label );
     void Enable( bool enable );
-    void SetFont( const wxFont &font );
-    void SetBackgroundColour( const wxColour &colour );
-    void SetForegroundColour( const wxColour &colour );
+
+  // implementation        
+  
+    void ApplyWidgetStyle();    
+    
 };
 
 #endif // __GTKBUTTONH__
index a2f858b7912fabbd6a784914285b91e6c4e23efb..c410c2d7284c59f2d938bc34ea21de2b12de0173 100644 (file)
@@ -60,9 +60,12 @@ class wxCheckBox: public wxControl
     bool GetValue() const;
     
     void SetLabel( const wxString& label );
-    void SetFont( const wxFont &font );
     void Enable( bool enable );
-    void SetBackgroundColour( const wxColour &colour );
+    
+  // implementation        
+  
+    void ApplyWidgetStyle();    
+
 };
 
 #endif // __GTKCHECKBOXH__
index 70f5f4bd7efefadbb02001145ba6cd735f027827..92fb5f40a706764dfd0f0e82826b70a09b4c6f70 100644 (file)
@@ -73,9 +73,9 @@ class wxChoice: public wxControl
     void SetSelection( int n );
     void SetStringSelection( const wxString &string );
     
-    void SetFont( const wxFont &font );
-    void SetBackgroundColour( const wxColour &colour );
-
+  // implementation
+    
+    void ApplyWidgetStyle();
 };
 
 #endif // __GTKCHOICEH__
index 5b8046a4a55cb09e8894203986b3da3bce5adc71..faf0f3a8a8fe523e54570e41523cbbca96e8f94d 100644 (file)
@@ -93,20 +93,16 @@ class wxComboBox: public wxControl
   void SetSelection(long from, long to);
   void SetEditable(bool editable);
   
-  void SetFont( const wxFont &font );
   void OnSize( wxSizeEvent &event );
-  void SetBackgroundColour( const wxColour &colour );
   
   // implementation
-
-    bool     m_alreadySent;
     
-  private:
-  
+    bool     m_alreadySent;
     wxList   m_clientData;
 
-  GtkWidget* GetConnectWidget(void);
-  bool IsOwnGtkWindow( GdkWindow *window );
+    GtkWidget* GetConnectWidget(void);
+    bool IsOwnGtkWindow( GdkWindow *window );
+    void ApplyWidgetStyle();
   
   DECLARE_EVENT_TABLE()
 };
index 624b4f06ed8ec4a512657b45671d2844e68802ad..f838cbf3bee94e36bf9a928f237038fe32737715 100644 (file)
@@ -3,8 +3,8 @@
 // Purpose:
 // Author:      Robert Roebling
 // Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
index 7f72906e4713b81f5af4154c8a340cf3793127b8..34f15b2b40ca74716c8537c1dd11fd5348dc6625 100644 (file)
@@ -2,7 +2,7 @@
 // Name:        dnd.h
 // Purpose:     declaration of the wxDropTarget class
 // Author:      Robert Roebling
-// RCS-ID:      
+// RCS-ID:      $Id$
 // Copyright:   (c) 1998 Vadim Zeitlin, Robert Roebling
 // Licence:     wxWindows license
 ///////////////////////////////////////////////////////////////////////////////
index dd4452794b08334c70053efdc6fadae8fff7d094..5035ba8bb7fc9ac75c5456bbf869b91f793bcf06 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        filedlg.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
index 70e82bedb8a0c48fc12eda1bbf4833c3cc151529..bd34c917910bdb7227525eaccbf1b50bd329b791 100644 (file)
@@ -2,8 +2,7 @@
 // Name:        font.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
+// Id:          $Id$
 // Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
index c9274982acf52dcfcf1155a41ad35fd7bf07f599..af0fe7328accc8570bb0ae626936c2672e27162a 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        frame.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling, Julian Smart
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -99,7 +98,10 @@ public:
   void OnCloseWindow( wxCloseEvent& event );
   void OnIdle(wxIdleEvent& event);
 
-  virtual void AddChild( wxWindow *child );
+  void AddChild( wxWindow *child );
+  
+  // implementation
+  
   virtual void GtkOnSize( int x, int y, int width, int height );
 
 private:
index 51e9563b56d9d8c39edda0add93a520300a4ba86..d6c546f706177f175f49edb93d5113856ac7674e 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        gauge.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -72,9 +71,11 @@ class wxGauge: public wxControl
 
     // Are we a Win95/GTK progress bar, or a normal gauge?
     inline bool GetProgressBar(void) const { return m_useProgressBar; }
-
- protected:
+    
+  // implementation
+    
+    void ApplyWidgetStyle();
+  
    int      m_rangeMax;
    int      m_gaugePos;
    bool     m_useProgressBar;
index 2b6a5d1921378bd6550fd422decd02ca3a5e3fa8..72069458e754b928091fa4022fce5039d63b7438 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        gdiobj.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling, Julian Smart
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
index 7596879cd9de1c27ce8e7513b148276b31b240d5..ee3176956838ea957d4bb9796c81a096c51ac3a8 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        icon.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
index 028422912dfb19da6fadb05cd1fb3465f65b0e47..ea621e0697b25fbde1e02ebc254d9d95b7d5bcd4 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        listbox.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -83,18 +82,15 @@ class wxListBox: public wxControl
     void SetString( int n, const wxString &string );
     void SetStringSelection( const wxString &string, bool select = TRUE );
     
-    void SetFont( const wxFont &font );
     void SetDropTarget( wxDropTarget *dropTarget );
-    virtual void SetBackgroundColour(const wxColour &colour);
 
   // implementation
     
     int GetIndex( GtkWidget *item ) const;
     GtkWidget *GetConnectWidget(void);
     bool IsOwnGtkWindow( GdkWindow *window );
+    void ApplyWidgetStyle();
     
-  private:
-  
     GtkList   *m_list;
     wxList     m_clientData;
     
index 081cd5a407a86899235684062f166328a95fef0d..2651f98366fe670612f0a479c70c4a3aa537e323 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        mdi.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -80,7 +79,7 @@ class wxMDIParentFrame: public wxFrame
     void OnActivate( wxActivateEvent& event );
     void OnSysColourChanged( wxSysColourChangedEvent& event );
     
- //private: 
+ // implementation
  
     wxMDIChildFrame                *m_currentChild;
     
index 9258a25e8570b3595ba21169f984f86c87c91cac..7060ea2dd0ce920ec7e702dac05472c1cb934ca0 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        menu.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling, Julian Smart
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
index 92d011ac2b6863b7b71f35937e7c0458b793c07a..ac362bcffe34c935330c6d7e4ad361fe93c2f831 100644 (file)
@@ -138,13 +138,12 @@ public:
   wxWindow *GetPage(int nPage) const;
 
   // implementation
-  // --------------
-    // base class virtuals
-  virtual void AddChild(wxWindow *child);
-  virtual void SetConstraintSizes(bool recurse);
-  virtual bool DoPhase(int phase);
-  virtual void SetFont( const wxFont &font );
-  virtual void SetBackgroundColour( const wxColour &colour );
+  
+  void AddChild(wxWindow *child);
+  void SetConstraintSizes(bool recurse);
+  bool DoPhase(int phase);
+  void ApplyWidgetStyle();
+  
 
 private:
   // common part of all ctors
index 0649fe2473107641e54cfbcf811dc1f5a5e4a58b..10ccf5e9623a042ddc1febd77ed0ddbfd6618e25 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        pen.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
index e30d8f00a1af7daa3ab8e937900db92e6427797d..e3984613ee9790125ec4145d3a035d52f85ec804 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        radiobox.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -80,13 +79,12 @@ class wxRadioBox: public wxControl
     int GetNumberOfRowsOrCols(void) const;
     void SetNumberOfRowsOrCols( int n );
     
-    void SetFont( const wxFont &font );
-    void SetBackgroundColour( const wxColour &colour );
     void OnSize( wxSizeEvent &event );
     
   // implementation    
     
     bool IsOwnGtkWindow( GdkWindow *window );
+    void ApplyWidgetStyle();
     
     bool             m_alreadySent;
     wxList           m_boxes;
index 72907e0f7217c84d139e56de721a1f57dec90b52..1bf88485a816321a82bc33f820798bb3c4612d60 100644 (file)
@@ -60,9 +60,11 @@ class wxRadioButton: public wxControl
     virtual void SetLabel(const wxString& label);
     virtual void SetValue(bool val);
     virtual bool GetValue(void) const;
-    void SetFont( const wxFont &font );
     void Enable( bool enable );
-    void SetBackgroundColour( const wxColour &colour );
+    
+  // implementation
+    
+    void ApplyWidgetStyle();
 };
 
 #endif // __GTKRADIOBUTTONH__
index 35e146938c8364bf83ffcda8ecc22ccdca68bc7a..9ba3f5012580409d2b3696f4ab3cdec4879aa748 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        region.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
index f4a50694d0454c2b1602d0a58d2e0ed776f2c5a8..5bb14787bf4c84aa72a9f91e743966df2b75b69d 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        scrolbar.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -67,7 +66,8 @@ class wxScrollBar: public wxControl
     virtual void SetScrollbar( int position, int thumbSize, int range, int pageSize,
       bool refresh = TRUE );
 
-    // Backward compatibility
+  // Backward compatibility
+    
     int GetValue(void) const;
     void SetValue( int viewStart );
     void GetValues( int *viewStart, int *viewLength, int *objectLength, int *pageLength) const;
@@ -80,6 +80,7 @@ class wxScrollBar: public wxControl
   // implementation    
     
     bool IsOwnGtkWindow( GdkWindow *window );
+    void ApplyWidgetStyle();
   
     GtkAdjustment  *m_adjust;
     float           m_oldPos;
index b446e86b1f55585ee67441fff39f0538e7d2e15a..2774b17709ce30ae52215219be03ec0b15c257df 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        settings.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
index f6839196420d722080bc7e373d241146a0a2dd99..cb7e567c0f852985ecd08d4bd8359f3b0517599b 100644 (file)
@@ -2,8 +2,7 @@
 // Name:        slider.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
+// Id:          $Id$
 // Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -63,9 +62,6 @@ class wxSlider: public wxControl
            const wxString& name = wxSliderNameStr );
     virtual int GetValue(void) const;
     virtual void SetValue( int );
-    void GetSize( int *x, int *y ) const;
-    void SetSize( int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO );
-    void GetPosition( int *x, int *y ) const;
     void SetRange( int minValue, int maxValue );
     int GetMin(void) const;
     int GetMax(void) const;
@@ -87,6 +83,7 @@ class wxSlider: public wxControl
   // implementation    
     
     bool IsOwnGtkWindow( GdkWindow *window );
+    void ApplyWidgetStyle();
     
     GtkAdjustment  *m_adjust;
     float           m_oldPos;
index b534110b1d0dd6e17f371d100053fc57aa089276..1bddd276b2900d7fab5b185b6561782b7ee015a8 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        statbmp.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -51,7 +50,7 @@ class wxStaticBitmap: public wxControl
       long style = 0, const wxString& name = wxStaticBitmapNameStr);
     virtual void SetBitmap( const wxBitmap& bitmap );
     wxBitmap& GetBitmap(void) const { return (wxBitmap&)m_bitmap; }
-
+    
  private:
  
    wxBitmap   m_bitmap;
index d6c8314bc0decd67faf62afe4727005678156529..7d827c0d4bfaac9c40147b687e35e70579912d4a 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        stabox.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -51,6 +50,10 @@ class wxStaticBox: public wxControl
       const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, 
       long style = 0, const wxString &name = wxStaticBoxNameStr  );
     void SetLabel( const wxString &label );
+
+  // implementation
+    
+    void ApplyWidgetStyle();
 };
 
 #endif // __GTKSTATICBOXH__
index e60303c890cd2df19c0a51b2cf5c37c0a742112f..1febeb3139733f71656465c5e14df962812ca658 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        stattext.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -52,6 +51,10 @@ class wxStaticText: public wxControl
       long style = 0, const wxString &name = wxStaticTextNameStr );
     wxString GetLabel(void) const;
     void SetLabel( const wxString &label );
+    
+  // implementation
+    
+    void ApplyWidgetStyle();
 };
 
 #endif // __GTKSTATICTEXTH__
index 93f6e7bafcd317639ae4ae35dbe70d8381e9694b..ac405223433dc7d3a8df1a330099447783c79311 100644 (file)
@@ -2,8 +2,6 @@
 // Name:        tbargtk.h
 // Purpose:     GTK toolbar
 // Author:      Robert Roebling
-// Modified by:
-// Created:     01/02/97
 // RCS-ID:      $Id$
 // Copyright:   (c) Robert Roebling
 // Licence:    wxWindows licence
index 525b11808fa6041292bd5abeefe37e406aea8d93..eb7fe290ffda2f96a20edd1d1b9204417a301a64 100644 (file)
@@ -101,12 +101,14 @@ class wxTextCtrl: public wxControl, public streambuf
     wxTextCtrl& operator<<(const char c);
 
     void SetFont( const wxFont &font );
-    virtual void SetBackgroundColour(const wxColour &colour);
+    void SetForegroundColour(const wxColour &colour);
+    void SetBackgroundColour(const wxColour &colour);
 
   // implementation    
     
     GtkWidget* GetConnectWidget(void);
     bool IsOwnGtkWindow( GdkWindow *window );
+    void ApplyWidgetStyle();
     
   private:
   
index 9a1abc11c272ac1ae0156a988bbd73df851ea5a0..80e302758b896857c21216490701f73956c82a45 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        timer.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
index d42e89bebec3ffd3c903b7d4c66b677bb1af7408..16acb8d30589222dd42a5c65e532fd2137b8a7c9 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        win_gtk.h
 // Purpose:     wxWindows's GTK base widget
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////// */
 
index 20c067a48cc4253862a1f4337378bb69f4e30ebb..9766527a36062af2a16348e448295c1edc372ee6 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        window.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -243,7 +242,9 @@ public:
   bool HasVMT();
   virtual void ImplementSetSize();
   virtual void ImplementSetPosition();
-  GtkStyle *GetWidgetStyle();
+  GtkStyle    *GetWidgetStyle();
+  void         SetWidgetStyle();
+  virtual void ApplyWidgetStyle();
 
   wxWindow            *m_parent;
   wxList               m_children;
index 380642dc6ab4d16953cb095db3de3e880d4aaa55..bcb31a9e908ce4255944a83adf008a96a19041b9 100644 (file)
@@ -63,6 +63,10 @@ class wxBitmapButton: public wxControl
     virtual void SetBitmapLabel( const wxBitmap& bitmap );
     wxBitmap& GetBitmapLabel(void) const { return (wxBitmap&) m_bitmap; }
     
+  // implementation
+  
+    void ApplyWidgetStyle();    
+    
   public:
   
     wxBitmap   m_bitmap;    
index 0b1d34d52e2b866302edb40813d2ce080062f818..45f0c1b4ae368ce200c05f525698fa6d4e94e9ac 100644 (file)
@@ -59,9 +59,11 @@ class wxButton: public wxControl
     void SetDefault(void);
     void SetLabel( const wxString &label );
     void Enable( bool enable );
-    void SetFont( const wxFont &font );
-    void SetBackgroundColour( const wxColour &colour );
-    void SetForegroundColour( const wxColour &colour );
+
+  // implementation        
+  
+    void ApplyWidgetStyle();    
+    
 };
 
 #endif // __GTKBUTTONH__
index a2f858b7912fabbd6a784914285b91e6c4e23efb..c410c2d7284c59f2d938bc34ea21de2b12de0173 100644 (file)
@@ -60,9 +60,12 @@ class wxCheckBox: public wxControl
     bool GetValue() const;
     
     void SetLabel( const wxString& label );
-    void SetFont( const wxFont &font );
     void Enable( bool enable );
-    void SetBackgroundColour( const wxColour &colour );
+    
+  // implementation        
+  
+    void ApplyWidgetStyle();    
+
 };
 
 #endif // __GTKCHECKBOXH__
index 70f5f4bd7efefadbb02001145ba6cd735f027827..92fb5f40a706764dfd0f0e82826b70a09b4c6f70 100644 (file)
@@ -73,9 +73,9 @@ class wxChoice: public wxControl
     void SetSelection( int n );
     void SetStringSelection( const wxString &string );
     
-    void SetFont( const wxFont &font );
-    void SetBackgroundColour( const wxColour &colour );
-
+  // implementation
+    
+    void ApplyWidgetStyle();
 };
 
 #endif // __GTKCHOICEH__
index 5b8046a4a55cb09e8894203986b3da3bce5adc71..faf0f3a8a8fe523e54570e41523cbbca96e8f94d 100644 (file)
@@ -93,20 +93,16 @@ class wxComboBox: public wxControl
   void SetSelection(long from, long to);
   void SetEditable(bool editable);
   
-  void SetFont( const wxFont &font );
   void OnSize( wxSizeEvent &event );
-  void SetBackgroundColour( const wxColour &colour );
   
   // implementation
-
-    bool     m_alreadySent;
     
-  private:
-  
+    bool     m_alreadySent;
     wxList   m_clientData;
 
-  GtkWidget* GetConnectWidget(void);
-  bool IsOwnGtkWindow( GdkWindow *window );
+    GtkWidget* GetConnectWidget(void);
+    bool IsOwnGtkWindow( GdkWindow *window );
+    void ApplyWidgetStyle();
   
   DECLARE_EVENT_TABLE()
 };
index 624b4f06ed8ec4a512657b45671d2844e68802ad..f838cbf3bee94e36bf9a928f237038fe32737715 100644 (file)
@@ -3,8 +3,8 @@
 // Purpose:
 // Author:      Robert Roebling
 // Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
index 7f72906e4713b81f5af4154c8a340cf3793127b8..34f15b2b40ca74716c8537c1dd11fd5348dc6625 100644 (file)
@@ -2,7 +2,7 @@
 // Name:        dnd.h
 // Purpose:     declaration of the wxDropTarget class
 // Author:      Robert Roebling
-// RCS-ID:      
+// RCS-ID:      $Id$
 // Copyright:   (c) 1998 Vadim Zeitlin, Robert Roebling
 // Licence:     wxWindows license
 ///////////////////////////////////////////////////////////////////////////////
index dd4452794b08334c70053efdc6fadae8fff7d094..5035ba8bb7fc9ac75c5456bbf869b91f793bcf06 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        filedlg.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
index 70e82bedb8a0c48fc12eda1bbf4833c3cc151529..bd34c917910bdb7227525eaccbf1b50bd329b791 100644 (file)
@@ -2,8 +2,7 @@
 // Name:        font.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
+// Id:          $Id$
 // Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
index c9274982acf52dcfcf1155a41ad35fd7bf07f599..af0fe7328accc8570bb0ae626936c2672e27162a 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        frame.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling, Julian Smart
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -99,7 +98,10 @@ public:
   void OnCloseWindow( wxCloseEvent& event );
   void OnIdle(wxIdleEvent& event);
 
-  virtual void AddChild( wxWindow *child );
+  void AddChild( wxWindow *child );
+  
+  // implementation
+  
   virtual void GtkOnSize( int x, int y, int width, int height );
 
 private:
index 51e9563b56d9d8c39edda0add93a520300a4ba86..d6c546f706177f175f49edb93d5113856ac7674e 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        gauge.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -72,9 +71,11 @@ class wxGauge: public wxControl
 
     // Are we a Win95/GTK progress bar, or a normal gauge?
     inline bool GetProgressBar(void) const { return m_useProgressBar; }
-
- protected:
+    
+  // implementation
+    
+    void ApplyWidgetStyle();
+  
    int      m_rangeMax;
    int      m_gaugePos;
    bool     m_useProgressBar;
index 2b6a5d1921378bd6550fd422decd02ca3a5e3fa8..72069458e754b928091fa4022fce5039d63b7438 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        gdiobj.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling, Julian Smart
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
index 7596879cd9de1c27ce8e7513b148276b31b240d5..ee3176956838ea957d4bb9796c81a096c51ac3a8 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        icon.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
index 028422912dfb19da6fadb05cd1fb3465f65b0e47..ea621e0697b25fbde1e02ebc254d9d95b7d5bcd4 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        listbox.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -83,18 +82,15 @@ class wxListBox: public wxControl
     void SetString( int n, const wxString &string );
     void SetStringSelection( const wxString &string, bool select = TRUE );
     
-    void SetFont( const wxFont &font );
     void SetDropTarget( wxDropTarget *dropTarget );
-    virtual void SetBackgroundColour(const wxColour &colour);
 
   // implementation
     
     int GetIndex( GtkWidget *item ) const;
     GtkWidget *GetConnectWidget(void);
     bool IsOwnGtkWindow( GdkWindow *window );
+    void ApplyWidgetStyle();
     
-  private:
-  
     GtkList   *m_list;
     wxList     m_clientData;
     
index 081cd5a407a86899235684062f166328a95fef0d..2651f98366fe670612f0a479c70c4a3aa537e323 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        mdi.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -80,7 +79,7 @@ class wxMDIParentFrame: public wxFrame
     void OnActivate( wxActivateEvent& event );
     void OnSysColourChanged( wxSysColourChangedEvent& event );
     
- //private: 
+ // implementation
  
     wxMDIChildFrame                *m_currentChild;
     
index 9258a25e8570b3595ba21169f984f86c87c91cac..7060ea2dd0ce920ec7e702dac05472c1cb934ca0 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        menu.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling, Julian Smart
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
index 92d011ac2b6863b7b71f35937e7c0458b793c07a..ac362bcffe34c935330c6d7e4ad361fe93c2f831 100644 (file)
@@ -138,13 +138,12 @@ public:
   wxWindow *GetPage(int nPage) const;
 
   // implementation
-  // --------------
-    // base class virtuals
-  virtual void AddChild(wxWindow *child);
-  virtual void SetConstraintSizes(bool recurse);
-  virtual bool DoPhase(int phase);
-  virtual void SetFont( const wxFont &font );
-  virtual void SetBackgroundColour( const wxColour &colour );
+  
+  void AddChild(wxWindow *child);
+  void SetConstraintSizes(bool recurse);
+  bool DoPhase(int phase);
+  void ApplyWidgetStyle();
+  
 
 private:
   // common part of all ctors
index 0649fe2473107641e54cfbcf811dc1f5a5e4a58b..10ccf5e9623a042ddc1febd77ed0ddbfd6618e25 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        pen.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
index e30d8f00a1af7daa3ab8e937900db92e6427797d..e3984613ee9790125ec4145d3a035d52f85ec804 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        radiobox.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -80,13 +79,12 @@ class wxRadioBox: public wxControl
     int GetNumberOfRowsOrCols(void) const;
     void SetNumberOfRowsOrCols( int n );
     
-    void SetFont( const wxFont &font );
-    void SetBackgroundColour( const wxColour &colour );
     void OnSize( wxSizeEvent &event );
     
   // implementation    
     
     bool IsOwnGtkWindow( GdkWindow *window );
+    void ApplyWidgetStyle();
     
     bool             m_alreadySent;
     wxList           m_boxes;
index 72907e0f7217c84d139e56de721a1f57dec90b52..1bf88485a816321a82bc33f820798bb3c4612d60 100644 (file)
@@ -60,9 +60,11 @@ class wxRadioButton: public wxControl
     virtual void SetLabel(const wxString& label);
     virtual void SetValue(bool val);
     virtual bool GetValue(void) const;
-    void SetFont( const wxFont &font );
     void Enable( bool enable );
-    void SetBackgroundColour( const wxColour &colour );
+    
+  // implementation
+    
+    void ApplyWidgetStyle();
 };
 
 #endif // __GTKRADIOBUTTONH__
index 35e146938c8364bf83ffcda8ecc22ccdca68bc7a..9ba3f5012580409d2b3696f4ab3cdec4879aa748 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        region.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
index f4a50694d0454c2b1602d0a58d2e0ed776f2c5a8..5bb14787bf4c84aa72a9f91e743966df2b75b69d 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        scrolbar.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -67,7 +66,8 @@ class wxScrollBar: public wxControl
     virtual void SetScrollbar( int position, int thumbSize, int range, int pageSize,
       bool refresh = TRUE );
 
-    // Backward compatibility
+  // Backward compatibility
+    
     int GetValue(void) const;
     void SetValue( int viewStart );
     void GetValues( int *viewStart, int *viewLength, int *objectLength, int *pageLength) const;
@@ -80,6 +80,7 @@ class wxScrollBar: public wxControl
   // implementation    
     
     bool IsOwnGtkWindow( GdkWindow *window );
+    void ApplyWidgetStyle();
   
     GtkAdjustment  *m_adjust;
     float           m_oldPos;
index b446e86b1f55585ee67441fff39f0538e7d2e15a..2774b17709ce30ae52215219be03ec0b15c257df 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        settings.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
index f6839196420d722080bc7e373d241146a0a2dd99..cb7e567c0f852985ecd08d4bd8359f3b0517599b 100644 (file)
@@ -2,8 +2,7 @@
 // Name:        slider.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
+// Id:          $Id$
 // Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -63,9 +62,6 @@ class wxSlider: public wxControl
            const wxString& name = wxSliderNameStr );
     virtual int GetValue(void) const;
     virtual void SetValue( int );
-    void GetSize( int *x, int *y ) const;
-    void SetSize( int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO );
-    void GetPosition( int *x, int *y ) const;
     void SetRange( int minValue, int maxValue );
     int GetMin(void) const;
     int GetMax(void) const;
@@ -87,6 +83,7 @@ class wxSlider: public wxControl
   // implementation    
     
     bool IsOwnGtkWindow( GdkWindow *window );
+    void ApplyWidgetStyle();
     
     GtkAdjustment  *m_adjust;
     float           m_oldPos;
index b534110b1d0dd6e17f371d100053fc57aa089276..1bddd276b2900d7fab5b185b6561782b7ee015a8 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        statbmp.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -51,7 +50,7 @@ class wxStaticBitmap: public wxControl
       long style = 0, const wxString& name = wxStaticBitmapNameStr);
     virtual void SetBitmap( const wxBitmap& bitmap );
     wxBitmap& GetBitmap(void) const { return (wxBitmap&)m_bitmap; }
-
+    
  private:
  
    wxBitmap   m_bitmap;
index d6c8314bc0decd67faf62afe4727005678156529..7d827c0d4bfaac9c40147b687e35e70579912d4a 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        stabox.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -51,6 +50,10 @@ class wxStaticBox: public wxControl
       const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, 
       long style = 0, const wxString &name = wxStaticBoxNameStr  );
     void SetLabel( const wxString &label );
+
+  // implementation
+    
+    void ApplyWidgetStyle();
 };
 
 #endif // __GTKSTATICBOXH__
index e60303c890cd2df19c0a51b2cf5c37c0a742112f..1febeb3139733f71656465c5e14df962812ca658 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        stattext.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -52,6 +51,10 @@ class wxStaticText: public wxControl
       long style = 0, const wxString &name = wxStaticTextNameStr );
     wxString GetLabel(void) const;
     void SetLabel( const wxString &label );
+    
+  // implementation
+    
+    void ApplyWidgetStyle();
 };
 
 #endif // __GTKSTATICTEXTH__
index 93f6e7bafcd317639ae4ae35dbe70d8381e9694b..ac405223433dc7d3a8df1a330099447783c79311 100644 (file)
@@ -2,8 +2,6 @@
 // Name:        tbargtk.h
 // Purpose:     GTK toolbar
 // Author:      Robert Roebling
-// Modified by:
-// Created:     01/02/97
 // RCS-ID:      $Id$
 // Copyright:   (c) Robert Roebling
 // Licence:    wxWindows licence
index 525b11808fa6041292bd5abeefe37e406aea8d93..eb7fe290ffda2f96a20edd1d1b9204417a301a64 100644 (file)
@@ -101,12 +101,14 @@ class wxTextCtrl: public wxControl, public streambuf
     wxTextCtrl& operator<<(const char c);
 
     void SetFont( const wxFont &font );
-    virtual void SetBackgroundColour(const wxColour &colour);
+    void SetForegroundColour(const wxColour &colour);
+    void SetBackgroundColour(const wxColour &colour);
 
   // implementation    
     
     GtkWidget* GetConnectWidget(void);
     bool IsOwnGtkWindow( GdkWindow *window );
+    void ApplyWidgetStyle();
     
   private:
   
index 9a1abc11c272ac1ae0156a988bbd73df851ea5a0..80e302758b896857c21216490701f73956c82a45 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        timer.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
index d42e89bebec3ffd3c903b7d4c66b677bb1af7408..16acb8d30589222dd42a5c65e532fd2137b8a7c9 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        win_gtk.h
 // Purpose:     wxWindows's GTK base widget
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////// */
 
index 20c067a48cc4253862a1f4337378bb69f4e30ebb..9766527a36062af2a16348e448295c1edc372ee6 100644 (file)
@@ -2,9 +2,8 @@
 // Name:        window.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -243,7 +242,9 @@ public:
   bool HasVMT();
   virtual void ImplementSetSize();
   virtual void ImplementSetPosition();
-  GtkStyle *GetWidgetStyle();
+  GtkStyle    *GetWidgetStyle();
+  void         SetWidgetStyle();
+  virtual void ApplyWidgetStyle();
 
   wxWindow            *m_parent;
   wxList               m_children;
index ab5a9e577043ffc7e043ff1d4227b3797a3a51eb..8ce29591c82c7137f1b9650fb29f0927449a98fb 100644 (file)
@@ -33,7 +33,7 @@
 #include "icons/list.xpm"
 #include "icons/radio.xpm"
 #include "icons/text.xpm"
-#include "icons/stattext.xpm"
+#include "icons/gauge.xpm"
 #endif
 
 //----------------------------------------------------------------------
@@ -69,6 +69,8 @@ class MyPanel: public wxPanel
     wxChoice    *m_choice;
     wxComboBox  *m_combo;
     wxRadioBox  *m_radio;
+    wxGauge     *m_gauge;
+    wxSlider    *m_slider;
     wxButton    *m_fontButton;
     
     wxTextCtrl  *m_text;
@@ -176,6 +178,10 @@ const  ID_RADIOBOX_ENABLE   = 164;
 
 const  ID_SET_FONT          = 170;
 
+const  ID_GAUGE             = 180;
+const  ID_SLIDER            = 181;
+
+
 BEGIN_EVENT_TABLE(MyPanel, wxPanel)
   EVT_SIZE      (                         MyPanel::OnSize)
   EVT_NOTEBOOK_PAGE_CHANGED(ID_NOTEBOOK,  MyPanel::OnPageChanged)  
@@ -214,7 +220,7 @@ END_EVENT_TABLE()
 MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) :
   wxPanel( frame, -1, wxPoint(x, y), wxSize(w, h) )
 {
-  SetBackgroundColour("cadet blue");
+//  SetBackgroundColour("cadet blue");
 
   m_text = new wxTextCtrl( this, -1, "This is the log window.\n", wxPoint(0,50), wxSize(100,50), wxTE_MULTILINE );
   m_text->SetBackgroundColour("wheat");
@@ -233,14 +239,14 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) :
   // image ids and names
   enum
   {
-    Image_List, Image_Choice, Image_Combo, Image_Text, Image_Radio, Image_Static, Image_Max
+    Image_List, Image_Choice, Image_Combo, Image_Text, Image_Radio, Image_Gauge, Image_Max
   };
   
   // fill the image list
 #ifdef __WXMSW__
   const char *aIconNames[] =
   {
-    "list.xpm", "choice.xpm", "combo.xpm", "text.xpm", "radio.xpm", "stattext.xpm"
+    "list.xpm", "choice.xpm", "combo.xpm", "text.xpm", "radio.xpm", "gauge.txt"
   };
   
   wxASSERT( WXSIZEOF(aIconNames) == Image_Max ); // keep in sync
@@ -260,7 +266,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) :
   imagelist-> Add( wxBitmap( combo_xpm ));
   imagelist-> Add( wxBitmap( text_xpm ));
   imagelist-> Add( wxBitmap( radio_xpm ));
-  imagelist-> Add( wxBitmap( stattext_xpm ));
+  imagelist-> Add( wxBitmap( gauge_xpm ));
 #endif
 
   wxButton *button = (wxButton*)NULL;
@@ -268,8 +274,10 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) :
   m_notebook->SetImageList(imagelist);
   m_notebook->SetBackgroundColour("cadet blue");
 
-  wxPanel *panel = new wxPanel(m_notebook);
+  wxPanel *panel = (wxPanel*) NULL;
+  panel = new wxPanel(m_notebook);
   panel->SetBackgroundColour("cadet blue");
+  panel->SetForegroundColour("blue");
   m_listbox = new wxListBox( panel, ID_LISTBOX, wxPoint(10,10), wxSize(120,70), 5, choices );
   m_listbox->SetBackgroundColour("wheat");
   (void)new wxButton( panel, ID_LISTBOX_SEL_NUM, "Select #2", wxPoint(180,30), wxSize(140,30) );
@@ -283,7 +291,8 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) :
   m_notebook->AddPage(panel, "wxList", FALSE, Image_List);
   
   panel = new wxPanel(m_notebook);
-  panel->SetBackgroundColour("cadet blue");
+//  panel->SetBackgroundColour("cadet blue");
+//  panel->SetForegroundColour("blue");
   m_choice = new wxChoice( panel, ID_CHOICE, wxPoint(10,10), wxSize(120,-1), 5, choices );
   m_choice->SetBackgroundColour("wheat");
   (void)new wxButton( panel, ID_CHOICE_SEL_NUM, "Select #2", wxPoint(180,30), wxSize(140,30) );
@@ -296,9 +305,10 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) :
   m_notebook->AddPage(panel, "wxChoice", FALSE, Image_Choice);
   
   panel = new wxPanel(m_notebook);
-  panel->SetBackgroundColour("cadet blue");
+//  panel->SetBackgroundColour("cadet blue");
+//  panel->SetForegroundColour("blue");
   m_combo = new wxComboBox( panel, ID_COMBO, "This", wxPoint(10,10), wxSize(120,-1), 5, choices );
-  m_combo->SetBackgroundColour("wheat");
+//  m_combo->SetBackgroundColour("wheat");
   (void)new wxButton( panel, ID_COMBO_SEL_NUM, "Select #2", wxPoint(180,30), wxSize(140,30) );
   (void)new wxButton( panel, ID_COMBO_SEL_STR, "Select 'This'", wxPoint(340,30), wxSize(140,30) );
   (void)new wxButton( panel, ID_COMBO_CLEAR, "Clear", wxPoint(180,80), wxSize(140,30) );
@@ -309,11 +319,12 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) :
   m_notebook->AddPage(panel, "wxComboBox", FALSE, Image_Combo);
   
   panel = new wxPanel(m_notebook);
-  panel->SetBackgroundColour("cadet blue");
+//  panel->SetBackgroundColour("cadet blue");
+//  panel->SetForegroundColour("blue");
   wxTextCtrl *tc = new wxTextCtrl( panel, ID_TEXT, "Write text here.", wxPoint(10,10), wxSize(350,28));
-  tc->SetBackgroundColour("wheat");
+//  tc->SetBackgroundColour("wheat");
   tc = new wxTextCtrl( panel, ID_TEXT, "And here.", wxPoint(10,50), wxSize(350,160), wxTE_MULTILINE  );
-  tc->SetBackgroundColour("wheat");
+//  tc->SetBackgroundColour("wheat");
   m_notebook->AddPage(panel, "wxTextCtrl" , FALSE, Image_Text);
   
   wxString choices2[] =
@@ -323,11 +334,12 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) :
   };
   
   panel = new wxPanel(m_notebook);
-  panel->SetBackgroundColour("cadet blue");
+//  panel->SetBackgroundColour("cadet blue");
+//  panel->SetForegroundColour("blue");
   m_radio = new wxRadioBox( panel, ID_RADIOBOX, "That", wxPoint(10,160), wxSize(-1,-1), 2, choices2, 1, wxRA_HORIZONTAL );
-  m_radio->SetBackgroundColour("wheat");
+//  m_radio->SetBackgroundColour("wheat");
   m_radio = new wxRadioBox( panel, ID_RADIOBOX, "This", wxPoint(10,10), wxSize(-1,-1), 5, choices, 1, wxRA_VERTICAL );
-  m_radio->SetBackgroundColour("wheat");
+//  m_radio->SetBackgroundColour("wheat");
   (void)new wxButton( panel, ID_RADIOBOX_SEL_NUM, "Select #2", wxPoint(180,30), wxSize(140,30) );
   (void)new wxButton( panel, ID_RADIOBOX_SEL_STR, "Select 'This'", wxPoint(180,80), wxSize(140,30) );
   (void)new wxButton( panel, ID_RADIOBOX_FONT, "Set Italic font", wxPoint(180,130), wxSize(140,30) );
@@ -336,9 +348,14 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) :
   m_notebook->AddPage(panel, "wxRadioBox", FALSE, Image_Radio);
   
   panel = new wxPanel(m_notebook);
-  panel->SetBackgroundColour("cadet blue");
-  (void)new wxStaticBox( panel, -1, "StaticBox", wxPoint(10,10), wxSize(160,130) );
-  m_notebook->AddPage(panel, "wxStaticBox", FALSE, Image_Static);
+//  panel->SetBackgroundColour("cadet blue");
+//  panel->SetForegroundColour("blue");
+  (void)new wxStaticBox( panel, -1, "wxGauge and wxSlider", wxPoint(10,10), wxSize(180,130) );
+  m_gauge = new wxGauge( panel, -1, 200, wxPoint(18,50), wxSize(155,-1) );
+//  m_gauge->SetBackgroundColour("wheat");
+  m_slider = new wxSlider( panel, -1, 0, 0, 200, wxPoint(18,90), wxSize(155,-1) );
+//  m_slider->SetBackgroundColour("wheat");
+  m_notebook->AddPage(panel, "wxGauge", FALSE, Image_Gauge);
 }
 
 void MyPanel::OnSize( wxSizeEvent& WXUNUSED(event) )
index 21225efa06cc44616d2d3d63dce084b6bb89f045..c26d67adbe789f290627d7ebbea66785ac58d641 100644 (file)
@@ -173,3 +173,4 @@ bool wxPanel::SetFocusToNextChild(wxNode *node, bool bForward)
 
   return TRUE;
 }
+
index 325e088d8670df94908d7b40ec62903e5fbce445..9aa61d874d031cc7796972921f6110d9f65e3631 100644 (file)
@@ -129,8 +129,7 @@ LIB_CPP_SRC=\
  generic/splitter.cpp \
  generic/statusbr.cpp \
  generic/tabg.cpp \
- generic/textdlgg.cpp
+ generic/textdlgg.cpp 
  
 LIB_C_SRC=\
  common/extended.c \
index 71c35e39ca8b7d514149dad47e5bd746ddc52af3..431e67756933c9294f55d510118c5c8060a6bc76 100644 (file)
@@ -130,3 +130,7 @@ void wxBitmapButton::SetBitmapLabel( const wxBitmap& bitmap )
   gtk_pixmap_set( g_pixmap, m_bitmap.GetPixmap(), mask );
 }
 
+void wxBitmapButton::ApplyWidgetStyle()
+{
+}
+
index 2a26bcc065e1de02857a02d4b2b76bba7c8101cf..249465f3669ec773e9e72c3057e012821561e319 100644 (file)
@@ -74,6 +74,7 @@ bool wxButton::Create(  wxWindow *parent, wxWindowID id, const wxString &label,
   PostCreation();
   
   SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
 
   Show( TRUE );
 
@@ -106,34 +107,10 @@ void wxButton::Enable( bool enable )
   gtk_widget_set_sensitive( GTK_BUTTON(m_widget)->child, enable );
 }
 
-void wxButton::SetFont( const wxFont &font )
+void wxButton::ApplyWidgetStyle()
 {
-  wxCHECK_RET( m_widget != NULL, "invalid button" );
-  
-  wxControl::SetFont( font );
-  
-  gtk_widget_set_style( GTK_BUTTON(m_widget)->child, m_widgetStyle );
-}
-
-void wxButton::SetBackgroundColour( const wxColour &colour )
-{
-  wxCHECK_RET( m_widget != NULL, "invalid button" );
-
-  wxControl::SetBackgroundColour( colour );
-  
-  if (!m_backgroundColour.Ok()) return;
-  
+  SetWidgetStyle();
   gtk_widget_set_style( m_widget, m_widgetStyle );
-}
-
-void wxButton::SetForegroundColour( const wxColour &colour )
-{
-  wxCHECK_RET( m_widget != NULL, "invalid button" );
-
-  wxControl::SetForegroundColour( colour );
-  
-  if (!m_foregroundColour.Ok()) return;
-  
   gtk_widget_set_style( GTK_BUTTON(m_widget)->child, m_widgetStyle );
 }
 
index 2fbd52f552b415a89e982ae56285db0f75524fe8..d75e1c9cfba5474fa431bca158554c534b9a5926 100644 (file)
@@ -72,6 +72,7 @@ bool wxCheckBox::Create(  wxWindow *parent, wxWindowID id, const wxString &label
   SetLabel( label );
 
   SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
 
   Show( TRUE );
     
@@ -113,23 +114,11 @@ void wxCheckBox::Enable( bool enable )
   gtk_widget_set_sensitive( GTK_BUTTON(m_widget)->child, enable );
 }
 
-void wxCheckBox::SetFont( const wxFont &font )
+void wxCheckBox::ApplyWidgetStyle()
 {
-  wxCHECK_RET( m_widget != NULL, "invalid checkbox" );
-
-  wxControl::SetFont( font );
-  
+  SetWidgetStyle();
+  gtk_widget_set_style( m_widget, m_widgetStyle );
   gtk_widget_set_style( GTK_BUTTON(m_widget)->child, m_widgetStyle );
 }
 
-void wxCheckBox::SetBackgroundColour( const wxColour &colour )
-{
-  wxCHECK_RET( m_widget != NULL, "invalid checkbox" );
-
-  wxControl::SetBackgroundColour( colour );
-  
-  if (!m_backgroundColour.Ok()) return;
-  
-  gtk_widget_set_style( m_widget, m_widgetStyle );
-}
 
index 3a09b3b8fb58de5d242fc92f1a18d200c2d52129..6cc97182984b9f265f1ae17e08fdc4415bd97cd9 100644 (file)
@@ -70,20 +70,22 @@ bool wxChoice::Create( wxWindow *parent, wxWindowID id,
   for (int i = 0; i < n; i++)
   {
     GtkWidget *item = gtk_menu_item_new_with_label( choices[i] );
-    gtk_signal_connect( GTK_OBJECT( item ), "activate", 
-      GTK_SIGNAL_FUNC(gtk_choice_clicked_callback), (gpointer*)this );
-    
     gtk_menu_append( GTK_MENU(menu), item );
     
-    gtk_widget_show( item );
     gtk_widget_realize( item );
     gtk_widget_realize( GTK_BIN(item)->child );
+    
+    gtk_widget_show( item );
+    
+    gtk_signal_connect( GTK_OBJECT( item ), "activate", 
+      GTK_SIGNAL_FUNC(gtk_choice_clicked_callback), (gpointer*)this );
   }
   gtk_option_menu_set_menu( GTK_OPTION_MENU(m_widget), menu );
   
   PostCreation();
   
   SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
 
   Show( TRUE );
     
@@ -102,11 +104,7 @@ void wxChoice::Append( const wxString &item )
   gtk_widget_realize( menu_item );
   gtk_widget_realize( GTK_BIN(menu_item)->child );
   
-  if (m_widgetStyle)
-  {
-    gtk_widget_set_style( menu_item, m_widgetStyle );
-    gtk_widget_set_style( GTK_BIN(menu_item)->child, m_widgetStyle );
-  }
+  if (m_widgetStyle) ApplyWidgetStyle();
   
   gtk_signal_connect( GTK_OBJECT( menu_item ), "activate", 
     GTK_SIGNAL_FUNC(gtk_choice_clicked_callback), (gpointer*)this );
@@ -259,34 +257,9 @@ void wxChoice::SetStringSelection( const wxString &string )
   if (n != -1) SetSelection( n );
 }
 
-void wxChoice::SetFont( const wxFont &font )
+void wxChoice::ApplyWidgetStyle()
 {
-  wxCHECK_RET( m_widget != NULL, "invalid choice" );
-
-  wxControl::SetFont( font );
-   
-  GtkMenuShell *menu_shell = GTK_MENU_SHELL( gtk_option_menu_get_menu( GTK_OPTION_MENU(m_widget) ) );
-  GList *child = menu_shell->children;
-  while (child)
-  {
-    GtkBin *bin = GTK_BIN( child->data );
-    GtkWidget *label = (GtkWidget *) NULL;
-    if (bin->child) label = bin->child;
-    if (!label) label = GTK_BUTTON(m_widget)->child;
-    
-    gtk_widget_set_style( label, GetWidgetStyle() );
-       
-    child = child->next;
-  }
-}
-
-void wxChoice::SetBackgroundColour( const wxColour &colour )
-{
-  wxCHECK_RET( m_widget != NULL, "invalid choice" );
-
-  wxControl::SetBackgroundColour( colour );
-  
-  if (!m_backgroundColour.Ok()) return;
+  SetWidgetStyle();
   
   GtkMenuShell *menu_shell = GTK_MENU_SHELL( gtk_option_menu_get_menu( GTK_OPTION_MENU(m_widget) ) );
   
@@ -297,9 +270,15 @@ void wxChoice::SetBackgroundColour( const wxColour &colour )
   while (child)
   {
     gtk_widget_set_style( GTK_WIDGET( child->data ), m_widgetStyle );
+    
+    GtkBin *bin = GTK_BIN( child->data );
+    GtkWidget *label = (GtkWidget *) NULL;
+    if (bin->child) label = bin->child;
+    if (!label) label = GTK_BUTTON(m_widget)->child;
+    
+    gtk_widget_set_style( label, m_widgetStyle );
+    
     child = child->next;
   }
 }
 
-
-
index 55a18563cbf16564d08051270ec6a63eb032e0c9..38e40a9642c7df6903a181062e676560e9983c20 100644 (file)
@@ -104,6 +104,7 @@ bool wxComboBox::Create(wxWindow *parent, wxWindowID id, const wxString& value,
   gtk_widget_realize( GTK_COMBO(m_widget)->button );
   
   SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
 
   Show( TRUE );
     
@@ -135,11 +136,7 @@ void wxComboBox::Append( const wxString &item, char *clientData )
   
   GtkWidget *list_item = gtk_list_item_new_with_label( item ); 
   
-  if (m_widgetStyle)
-  {
-    gtk_widget_set_style( list_item, m_widgetStyle );
-    gtk_widget_set_style( GTK_BIN( list_item )->child, m_widgetStyle );
-  }
+  if (m_widgetStyle) ApplyWidgetStyle();
   
   gtk_signal_connect( GTK_OBJECT(list_item), "select", 
     GTK_SIGNAL_FUNC(gtk_combo_clicked_callback), (gpointer)this );
@@ -438,21 +435,21 @@ void wxComboBox::OnSize( wxSizeEvent &event )
   gtk_widget_set_usize( GTK_COMBO(m_widget)->button, w, m_height );
 }
 
-void wxComboBox::SetFont( const wxFont &font )
+void wxComboBox::ApplyWidgetStyle()
 {
-  wxCHECK_RET( m_widget != NULL, "invalid combobox" );
+  SetWidgetStyle();
   
-  wxWindow::SetFont( font );
-   
+  gtk_widget_set_style( GTK_COMBO(m_widget)->button, m_widgetStyle );
   gtk_widget_set_style( GTK_COMBO(m_widget)->entry, m_widgetStyle );
+  gtk_widget_set_style( GTK_COMBO(m_widget)->list, m_widgetStyle );
   
   GtkList *list = GTK_LIST( GTK_COMBO(m_widget)->list );
-  
   GList *child = list->children;
   while (child)
   {
-    GtkBin *bin = (GtkBin*) child->data;
-    
+    gtk_widget_set_style( GTK_WIDGET(child->data), m_widgetStyle );
+  
+    GtkBin *bin = GTK_BIN(child->data);
     gtk_widget_set_style( bin->child, m_widgetStyle );
         
     child = child->next;
@@ -469,27 +466,3 @@ bool wxComboBox::IsOwnGtkWindow( GdkWindow *window )
   return ( (window == GTK_ENTRY( GTK_COMBO(m_widget)->entry )->text_area) ||
            (window == GTK_COMBO(m_widget)->button->window ) );
 }
-
-void wxComboBox::SetBackgroundColour( const wxColour &colour )
-{
-  wxCHECK_RET( m_widget != NULL, "invalid combobox" );
-  
-  wxControl::SetBackgroundColour( colour );
-  
-  if (!m_backgroundColour.Ok()) return;
-  
-//  gtk_widget_set_style( m_widget, m_widgetStyle );
-
-  gtk_widget_set_style( GTK_COMBO(m_widget)->button, m_widgetStyle );
-  gtk_widget_set_style( GTK_COMBO(m_widget)->entry, m_widgetStyle );
-  gtk_widget_set_style( GTK_COMBO(m_widget)->list, m_widgetStyle );
-  
-  GList *child = GTK_LIST( GTK_COMBO(m_widget)->list )->children;
-  while (child)
-  {
-    gtk_widget_set_style( GTK_WIDGET(child->data), m_widgetStyle );
-    
-    child = child->next;
-  }
-}
-
index 3e09742ebca41eba959672b875677d2deee1d485..bdeafd1bd32b6cd9b607e0453a709b0383e0a01d 100644 (file)
@@ -287,5 +287,3 @@ void wxDialog::SetIcon( const wxIcon &icon )
   
   gdk_window_set_icon( m_widget->window, (GdkWindow *) NULL, icon.GetPixmap(), bm );
 }
-
-
index eca70158919cb5c6e46931aeaf7b6493b654ba45..a8c1aacb2d6baf40bb0ff470b4493cb162556eff 100644 (file)
@@ -361,8 +361,20 @@ GdkFont *wxFont::GetInternalFont(float scale) const
   } 
   else 
   {
-     font = wxLoadQueryNearestFont( point_scale, M_FONTDATA->m_fontId, M_FONTDATA->m_style,
-                                   M_FONTDATA->m_weight, M_FONTDATA->m_underlined );
+     if ((int_scale == 100) &&
+         (M_FONTDATA->m_style == wxSWISS) &&
+         (M_FONTDATA->m_pointSize == 12) &&
+         (M_FONTDATA->m_weight == wxNORMAL) &&
+         (M_FONTDATA->m_underlined == FALSE) &&
+         (M_FONTDATA->m_style == wxNORMAL))
+     {
+       font = gdk_font_load( "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*" );
+     }
+     else
+     {
+       font = wxLoadQueryNearestFont( point_scale, M_FONTDATA->m_fontId, M_FONTDATA->m_style,
+                                     M_FONTDATA->m_weight, M_FONTDATA->m_underlined );
+     }
      M_FONTDATA->m_scaled_xfonts.Append( int_scale, (wxObject*)font );
   }
   if (!font)
index 757555d7152bafc650b49726cd517e1a3253cbbf..838f26607c817482343e5e784bda527b42306220 100644 (file)
@@ -575,4 +575,3 @@ void wxFrame::SetIcon( const wxIcon &icon )
   
   gdk_window_set_icon( m_widget->window, (GdkWindow *) NULL, icon.GetPixmap(), bm );
 }
-
index bc6f74b995c6a6e8caddb8de30cad7a5098bc212..82e27351ce401606aeceb5bc44d1567cc9ed76b6 100644 (file)
@@ -68,3 +68,9 @@ int wxGauge::GetValue(void) const
   return m_gaugePos;
 }
 
+void wxGauge::ApplyWidgetStyle()
+{
+  SetWidgetStyle();
+  gtk_widget_set_style( m_widget, m_widgetStyle );
+}
+
index 5651b1f97716d7420579631a81ef402e9a01726d..995a81a402c1b3fa28e3bc989ddbf02dfd98395b 100644 (file)
@@ -126,6 +126,7 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id,
   gtk_widget_realize( GTK_WIDGET(m_list) );
 
   SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
 
   Show( TRUE );
 
@@ -143,11 +144,7 @@ void wxListBox::Append( const wxString &item, char *clientData )
 
   GtkWidget *list_item = gtk_list_item_new_with_label( item );
 
-  if (m_widgetStyle)
-  {
-    gtk_widget_set_style( list_item, m_widgetStyle );
-    gtk_widget_set_style( GTK_BIN( list_item )->child, m_widgetStyle );
-  }
+  if (m_widgetStyle) ApplyWidgetStyle();
   
   gtk_signal_connect( GTK_OBJECT(list_item), "select",
     GTK_SIGNAL_FUNC(gtk_listitem_select_callback), (gpointer)this );
@@ -466,27 +463,9 @@ bool wxListBox::IsOwnGtkWindow( GdkWindow *window )
   return FALSE;
 }
 
-void wxListBox::SetFont( const wxFont &font )
+void wxListBox::ApplyWidgetStyle()
 {
-  wxCHECK_RET( m_list != NULL, "invalid listbox" );
-  
-  wxControl::SetFont( font );
-
-  GList *child = m_list->children;
-  while (child)
-  {
-    gtk_widget_set_style( GTK_BIN(child->data)->child, m_widgetStyle );
-    child = child->next;
-  }
-}
-
-void wxListBox::SetBackgroundColour( const wxColour &colour )
-{
-  wxCHECK_RET( m_list != NULL, "invalid listbox" );
-  
-  wxControl::SetBackgroundColour( colour );
-  
-  if (!m_backgroundColour.Ok()) return;
+  SetWidgetStyle();
   
   GdkWindow *window = GTK_WIDGET(m_list)->window;
   m_backgroundColour.CalcPixel( gdk_window_get_colormap( window ) );
@@ -496,8 +475,8 @@ void wxListBox::SetBackgroundColour( const wxColour &colour )
   GList *child = m_list->children;
   while (child)
   {
+    gtk_widget_set_style( GTK_BIN(child->data)->child, m_widgetStyle );
     gtk_widget_set_style( GTK_WIDGET(child->data), m_widgetStyle );
     child = child->next;
   }
 }
-
index f318ba6d2ca771f5943815ab790e2b0903f11741..ec2257fb24ec0ec567898ce25e59b9aa7854cc1a 100644 (file)
@@ -456,23 +456,9 @@ bool wxNotebook::DoPhase( int WXUNUSED(nPhase) )
   return TRUE;
 }
 
-void wxNotebook::SetFont( const wxFont &font )
+void wxNotebook::ApplyWidgetStyle()
 {
-  wxCHECK_RET( m_widget != NULL, "invalid notebook" );
-
-  wxControl::SetFont( font );
-   
-  gtk_widget_set_style( m_widget, m_widgetStyle );
-}
-
-void wxNotebook::SetBackgroundColour( const wxColour &colour )
-{
-  wxCHECK_RET( m_widget != NULL, "invalid notebook" );
-
-  wxControl::SetBackgroundColour( colour );
-  
-  if (!m_backgroundColour.Ok()) return;
-  
+  SetWidgetStyle();
   gtk_widget_set_style( m_widget, m_widgetStyle );
 }
 
index 2d00f6d3e88ec21101912f9b8677e877be0f6e97..fab780db60238ff22848fc71a789a2ab25135762 100644 (file)
@@ -164,6 +164,7 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title,
   SetLabel( title );
   
   SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
 
   Show( TRUE );
     
@@ -460,46 +461,25 @@ void wxRadioBox::SetNumberOfRowsOrCols( int WXUNUSED(n) )
   wxFAIL_MSG("wxRadioBox::SetNumberOfRowsOrCols not implemented.");
 }
 
-void wxRadioBox::SetFont( const wxFont &font )
+void wxRadioBox::ApplyWidgetStyle()
 {
-  wxCHECK_RET( m_widget != NULL, "invalid radiobox" );
+  SetWidgetStyle();
   
-  wxControl::SetFont( font );
-   
   gtk_widget_set_style( m_widget, m_widgetStyle );
   
   wxNode *node = m_boxes.First();
   while (node)
   {
-    GtkButton *button = GTK_BUTTON( node->Data() );
+    GtkWidget *widget = GTK_WIDGET( node->Data() );
+    gtk_widget_set_style( widget, m_widgetStyle );
     
+    GtkButton *button = GTK_BUTTON( node->Data() );
     gtk_widget_set_style( button->child, m_widgetStyle );
     
     node = node->Next();
   }
 }
 
-void wxRadioBox::SetBackgroundColour( const wxColour &colour )
-{
-  wxCHECK_RET( m_widget != NULL, "invalid radiobox" );
-  
-  wxControl::SetBackgroundColour( colour );
-  
-  if (!m_backgroundColour.Ok()) return;
-  
-  gtk_widget_set_style( m_widget, m_widgetStyle );
-  
-  wxNode *node = m_boxes.First();
-  while (node)
-  {
-    GtkWidget *button = GTK_WIDGET( node->Data() );
-    
-    gtk_widget_set_style( button, m_widgetStyle );
-    
-    node = node->Next();
-  }
-}
-
 bool wxRadioBox::IsOwnGtkWindow( GdkWindow *window )
 {
   if (window == m_widget->window) return TRUE;
index a08d452336f69d844e18b44f8dce77e22bd08876..4091543d8e16d09a492d567ebcabbd16e2002c99 100644 (file)
@@ -62,6 +62,9 @@ bool wxRadioButton::Create( wxWindow *parent, wxWindowID id, const wxString& lab
        
   PostCreation();
 
+  SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
+  
   Show( TRUE );
 
   return TRUE;
@@ -100,23 +103,11 @@ void wxRadioButton::Enable( bool enable )
   gtk_widget_set_sensitive( GTK_BUTTON(m_widget)->child, enable );
 }
 
-void wxRadioButton::SetFont( const wxFont &font )
+void wxRadioButton::ApplyWidgetStyle()
 {
-  wxCHECK_RET( m_widget != NULL, "invalid radiobutton" );
-  
-  wxControl::SetFont( font );
-  
+  SetWidgetStyle();
+  gtk_widget_set_style( m_widget, m_widgetStyle );
   gtk_widget_set_style( GTK_BUTTON(m_widget)->child, m_widgetStyle );
 }
 
-void wxRadioButton::SetBackgroundColour( const wxColour &colour )
-{
-  wxCHECK_RET( m_widget != NULL, "invalid radiobutton" );
-
-  wxControl::SetBackgroundColour( colour );
-  
-  if (!m_backgroundColour.Ok()) return;
-  
-  gtk_widget_set_style( m_widget, m_widgetStyle );
-}
 
index 827cc538d32319ef2c6f457cc5fbcd4a38c2de8c..e5e2cd59f7e3ed04a14d874e270243481e5ac498 100644 (file)
@@ -261,3 +261,10 @@ bool wxScrollBar::IsOwnGtkWindow( GdkWindow *window )
           (window == range->step_forw) ||
           (window == range->step_back) );
 }
+
+void wxScrollBar::ApplyWidgetStyle()
+{
+  SetWidgetStyle();
+  gtk_widget_set_style( m_widget, m_widgetStyle );
+}
+
index 3413b18b50a689903650c8b91db7e4571c2a4cf7..44200eda981e753f61339da725babe77714c500f 100644 (file)
@@ -166,7 +166,7 @@ wxFont wxSystemSettings::GetSystemFont( int index )
     case wxSYS_DEFAULT_GUI_FONT:
     {
       if (!g_systemFont)
-        g_systemFont = new wxFont( "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*" );
+        g_systemFont = new wxFont( 10, wxSWISS, wxNORMAL, wxNORMAL );
       return *g_systemFont;
     }
   }
index 3c3e19901099446adf49e70f8f0f03704e697431..7450b6ac34f0e4ae849ffa31becf7d4b52624724 100644 (file)
@@ -90,6 +90,8 @@ bool wxSlider::Create(wxWindow *parent, wxWindowID id,
   else
     m_widget = gtk_vscale_new( (GtkAdjustment *) NULL );
     
+  gtk_scale_set_draw_value( GTK_SCALE( m_widget ), FALSE );
+  
   m_adjust = gtk_range_get_adjustment( GTK_RANGE(m_widget) );
   
   gtk_signal_connect (GTK_OBJECT (m_adjust), "value_changed",
@@ -100,6 +102,7 @@ bool wxSlider::Create(wxWindow *parent, wxWindowID id,
   PostCreation();
   
   SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
 
   Show( TRUE );
     
@@ -187,23 +190,6 @@ int wxSlider::GetLineSize(void) const
   return 0;
 }
 
-// not supported in wxGTK (and GTK)
-
-void wxSlider::GetSize( int *x, int *y ) const
-{
-  wxWindow::GetSize( x, y );
-}
-
-void wxSlider::SetSize( int x, int y, int width, int height, int sizeFlags )
-{
-  wxWindow::SetSize( x, y, width, height, sizeFlags );
-}
-
-void wxSlider::GetPosition( int *x, int *y ) const
-{
-  wxWindow::GetPosition( x, y );
-}
-
 void wxSlider::SetTick( int WXUNUSED(tickPos) )
 {
 }
@@ -249,4 +235,8 @@ bool wxSlider::IsOwnGtkWindow( GdkWindow *window )
           (window == range->step_back) );
 }
 
-
+void wxSlider::ApplyWidgetStyle()
+{
+  SetWidgetStyle();
+  gtk_widget_set_style( m_widget, m_widgetStyle );
+}
index 321ca0ed0436c0e259502dceb967fa17c85cf3e4..524bfe575b0b9219e5031a01d8f7a204ee54dedf 100644 (file)
@@ -21,14 +21,14 @@ IMPLEMENT_DYNAMIC_CLASS(wxStaticBitmap,wxControl)
 
 wxStaticBitmap::wxStaticBitmap(void)
 {
-};
+}
 
 wxStaticBitmap::wxStaticBitmap( wxWindow *parent, wxWindowID id, const wxBitmap &bitmap, 
       const wxPoint &pos, const wxSize &size, 
       long style, const wxString &name )
 {
   Create( parent, id, bitmap, pos, size, style, name );
-};
+}
 
 bool wxStaticBitmap::Create( wxWindow *parent, wxWindowID id, const wxBitmap &bitmap, 
       const wxPoint &pos, const wxSize &size, 
@@ -62,7 +62,7 @@ bool wxStaticBitmap::Create( wxWindow *parent, wxWindowID id, const wxBitmap &bi
   Show( TRUE );
     
   return TRUE;
-};
+}
 
 void wxStaticBitmap::SetBitmap( const wxBitmap &bitmap ) 
 {
@@ -74,5 +74,4 @@ void wxStaticBitmap::SetBitmap( const wxBitmap &bitmap )
     if (m_bitmap.GetMask()) mask = m_bitmap.GetMask()->GetBitmap();
     gtk_pixmap_set( GTK_PIXMAP(m_widget), m_bitmap.GetPixmap(), mask );
   }
-};
-
+}
index 0f720039d319f08303fafc3ca16ecda035232b3f..59282af9917f5ac38b44b0bb7f28d96e614ae901 100644 (file)
@@ -44,6 +44,9 @@ bool wxStaticBox::Create( wxWindow *parent, wxWindowID id, const wxString &label
 
   SetLabel(label);
   
+  SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
+
   Show( TRUE );
 
   return TRUE;
@@ -55,3 +58,10 @@ void wxStaticBox::SetLabel( const wxString &label )
   GtkFrame *frame = GTK_FRAME( m_widget );
   gtk_frame_set_label( frame, GetLabel() );
 }
+
+void wxStaticBox::ApplyWidgetStyle()
+{
+  SetWidgetStyle();
+  gtk_widget_set_style( m_widget, m_widgetStyle );
+}
+
index e8c2e346d372f44864b5b197382c92cb561bd320..48a31738201d88a7ea5c7137c6b4db60d4fc5081 100644 (file)
@@ -91,6 +91,9 @@ bool wxStaticText::Create( wxWindow *parent, wxWindowID id, const wxString &labe
   
   PostCreation();
   
+  SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
+
   Show( TRUE );
     
   return TRUE;
@@ -110,3 +113,10 @@ void wxStaticText::SetLabel( const wxString &label )
 
   gtk_label_set( GTK_LABEL(m_widget), m_label );
 }
+
+void wxStaticText::ApplyWidgetStyle()
+{
+  SetWidgetStyle();
+  gtk_widget_set_style( m_widget, m_widgetStyle );
+}
+  
index ebd439de8281e950ab0d9aadc8995fc949acaa57..6b6ed2ffe22638f7705c35346e4b390c75752c86 100644 (file)
@@ -150,6 +150,7 @@ bool wxTextCtrl::Create( wxWindow *parent, wxWindowID id, const wxString &value,
   Show( TRUE );
 
   SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
 
   return TRUE;
 }
@@ -617,11 +618,16 @@ bool wxTextCtrl::IsOwnGtkWindow( GdkWindow *window )
     return (window == GTK_ENTRY(m_text)->text_area);
 }
 
-void wxTextCtrl::SetFont( const wxFont &font )
+void wxTextCtrl::SetFont( const wxFont &WXUNUSED(font) )
 {
   wxCHECK_RET( m_text != NULL, "invalid text ctrl" );
   
-  wxControl::SetFont( font );
+  // doesn't work
+}
+
+void wxTextCtrl::SetForegroundColour( const wxColour &WXUNUSED(colour) )
+{
+  wxCHECK_RET( m_text != NULL, "invalid text ctrl" );
   
   // doesn't work
 }
@@ -641,8 +647,16 @@ void wxTextCtrl::SetBackgroundColour( const wxColour &colour )
     gdk_window_set_background( window, m_backgroundColour.GetColor() );
     gdk_window_clear( window );
   }
+}
+
+void wxTextCtrl::ApplyWidgetStyle()
+{
+  if (m_windowStyle & wxTE_MULTILINE)
+  {
+  }
   else
   {
+    SetWidgetStyle();
     gtk_widget_set_style( m_text, m_widgetStyle );
   }
 }
index 707a1682eca116e8a2525478a3fb957e4fa151cf..995e34d9fb849139ba9ca41c70e9cc068d48509d 100644 (file)
@@ -1102,7 +1102,7 @@ void wxWindow::PreCreation( wxWindow *parent, wxWindowID id,
     m_cursor = new wxCursor( wxCURSOR_ARROW );
   m_font = *wxSWISS_FONT;
 //  m_backgroundColour = wxWHITE;
-  m_foregroundColour = wxBLACK;
+//  m_foregroundColour = wxBLACK;
   m_windowStyle = style;
   m_windowName = name;
   m_constraints = (wxLayoutConstraints *) NULL;
@@ -1965,19 +1965,8 @@ void wxWindow::SetBackgroundColour( const wxColour &colour )
     gdk_window_set_background( window, m_backgroundColour.GetColor() );
     gdk_window_clear( window );
   }
-  else
-  {
-    GtkStyle *style = GetWidgetStyle();
-    m_backgroundColour.CalcPixel( gdk_window_get_colormap( m_widget->window ) );
-    style->bg[GTK_STATE_NORMAL] = *m_backgroundColour.GetColor();
-    style->base[GTK_STATE_NORMAL] = *m_backgroundColour.GetColor();
-    style->bg[GTK_STATE_PRELIGHT] = *m_backgroundColour.GetColor();
-    style->base[GTK_STATE_PRELIGHT] = *m_backgroundColour.GetColor();
-    style->bg[GTK_STATE_ACTIVE] = *m_backgroundColour.GetColor();
-    style->base[GTK_STATE_ACTIVE] = *m_backgroundColour.GetColor();
-    style->bg[GTK_STATE_INSENSITIVE] = *m_backgroundColour.GetColor();
-    style->base[GTK_STATE_INSENSITIVE] = *m_backgroundColour.GetColor();
-  }
+  
+  ApplyWidgetStyle();
 }
 
 wxColour wxWindow::GetForegroundColour() const
@@ -1992,23 +1981,51 @@ void wxWindow::SetForegroundColour( const wxColour &colour )
   m_foregroundColour = colour;
   if (!m_foregroundColour.Ok()) return;
   
-  if (!m_wxwindow)
+  ApplyWidgetStyle();
+}
+
+GtkStyle *wxWindow::GetWidgetStyle()
+{
+  if (m_widgetStyle) gtk_style_unref( m_widgetStyle );
+  
+  m_widgetStyle = 
+    gtk_style_copy( 
+      gtk_widget_get_style( m_widget ) );
+      
+  return m_widgetStyle;
+}
+
+void wxWindow::SetWidgetStyle()
+{
+  GtkStyle *style = GetWidgetStyle();
+  
+  gdk_font_unref( style->font );
+  style->font = gdk_font_ref( m_font.GetInternalFont( 1.0 ) );
+  
+  if (m_foregroundColour.Ok())
   {
-    GtkStyle *style = GetWidgetStyle();
     m_foregroundColour.CalcPixel( gdk_window_get_colormap( m_widget->window ) );
     style->fg[GTK_STATE_NORMAL] = *m_foregroundColour.GetColor();
     style->fg[GTK_STATE_PRELIGHT] = *m_foregroundColour.GetColor();
     style->fg[GTK_STATE_ACTIVE] = *m_foregroundColour.GetColor();
   }
+  
+  if (m_backgroundColour.Ok())
+  {
+    m_backgroundColour.CalcPixel( gdk_window_get_colormap( m_widget->window ) );
+    style->bg[GTK_STATE_NORMAL] = *m_backgroundColour.GetColor();
+    style->base[GTK_STATE_NORMAL] = *m_backgroundColour.GetColor();
+    style->bg[GTK_STATE_PRELIGHT] = *m_backgroundColour.GetColor();
+    style->base[GTK_STATE_PRELIGHT] = *m_backgroundColour.GetColor();
+    style->bg[GTK_STATE_ACTIVE] = *m_backgroundColour.GetColor();
+    style->base[GTK_STATE_ACTIVE] = *m_backgroundColour.GetColor();
+    style->bg[GTK_STATE_INSENSITIVE] = *m_backgroundColour.GetColor();
+    style->base[GTK_STATE_INSENSITIVE] = *m_backgroundColour.GetColor();
+  }
 }
 
-GtkStyle *wxWindow::GetWidgetStyle()
+void wxWindow::ApplyWidgetStyle()
 {
-  if (!m_widgetStyle) 
-    m_widgetStyle = 
-      gtk_style_copy( 
-        gtk_widget_get_style( m_widget ) );
-  return m_widgetStyle;
 }
 
 bool wxWindow::Validate()
@@ -2172,10 +2189,8 @@ void wxWindow::SetFont( const wxFont &font )
     m_font = font;
   else
     m_font = *wxSWISS_FONT;
-
-  GtkStyle *style = GetWidgetStyle();
-  gdk_font_unref( style->font );
-  style->font = gdk_font_ref( m_font.GetInternalFont( 1.0 ) );
+    
+  ApplyWidgetStyle();
 }
 
 wxFont *wxWindow::GetFont()
index 71c35e39ca8b7d514149dad47e5bd746ddc52af3..431e67756933c9294f55d510118c5c8060a6bc76 100644 (file)
@@ -130,3 +130,7 @@ void wxBitmapButton::SetBitmapLabel( const wxBitmap& bitmap )
   gtk_pixmap_set( g_pixmap, m_bitmap.GetPixmap(), mask );
 }
 
+void wxBitmapButton::ApplyWidgetStyle()
+{
+}
+
index 2a26bcc065e1de02857a02d4b2b76bba7c8101cf..249465f3669ec773e9e72c3057e012821561e319 100644 (file)
@@ -74,6 +74,7 @@ bool wxButton::Create(  wxWindow *parent, wxWindowID id, const wxString &label,
   PostCreation();
   
   SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
 
   Show( TRUE );
 
@@ -106,34 +107,10 @@ void wxButton::Enable( bool enable )
   gtk_widget_set_sensitive( GTK_BUTTON(m_widget)->child, enable );
 }
 
-void wxButton::SetFont( const wxFont &font )
+void wxButton::ApplyWidgetStyle()
 {
-  wxCHECK_RET( m_widget != NULL, "invalid button" );
-  
-  wxControl::SetFont( font );
-  
-  gtk_widget_set_style( GTK_BUTTON(m_widget)->child, m_widgetStyle );
-}
-
-void wxButton::SetBackgroundColour( const wxColour &colour )
-{
-  wxCHECK_RET( m_widget != NULL, "invalid button" );
-
-  wxControl::SetBackgroundColour( colour );
-  
-  if (!m_backgroundColour.Ok()) return;
-  
+  SetWidgetStyle();
   gtk_widget_set_style( m_widget, m_widgetStyle );
-}
-
-void wxButton::SetForegroundColour( const wxColour &colour )
-{
-  wxCHECK_RET( m_widget != NULL, "invalid button" );
-
-  wxControl::SetForegroundColour( colour );
-  
-  if (!m_foregroundColour.Ok()) return;
-  
   gtk_widget_set_style( GTK_BUTTON(m_widget)->child, m_widgetStyle );
 }
 
index 2fbd52f552b415a89e982ae56285db0f75524fe8..d75e1c9cfba5474fa431bca158554c534b9a5926 100644 (file)
@@ -72,6 +72,7 @@ bool wxCheckBox::Create(  wxWindow *parent, wxWindowID id, const wxString &label
   SetLabel( label );
 
   SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
 
   Show( TRUE );
     
@@ -113,23 +114,11 @@ void wxCheckBox::Enable( bool enable )
   gtk_widget_set_sensitive( GTK_BUTTON(m_widget)->child, enable );
 }
 
-void wxCheckBox::SetFont( const wxFont &font )
+void wxCheckBox::ApplyWidgetStyle()
 {
-  wxCHECK_RET( m_widget != NULL, "invalid checkbox" );
-
-  wxControl::SetFont( font );
-  
+  SetWidgetStyle();
+  gtk_widget_set_style( m_widget, m_widgetStyle );
   gtk_widget_set_style( GTK_BUTTON(m_widget)->child, m_widgetStyle );
 }
 
-void wxCheckBox::SetBackgroundColour( const wxColour &colour )
-{
-  wxCHECK_RET( m_widget != NULL, "invalid checkbox" );
-
-  wxControl::SetBackgroundColour( colour );
-  
-  if (!m_backgroundColour.Ok()) return;
-  
-  gtk_widget_set_style( m_widget, m_widgetStyle );
-}
 
index 3a09b3b8fb58de5d242fc92f1a18d200c2d52129..6cc97182984b9f265f1ae17e08fdc4415bd97cd9 100644 (file)
@@ -70,20 +70,22 @@ bool wxChoice::Create( wxWindow *parent, wxWindowID id,
   for (int i = 0; i < n; i++)
   {
     GtkWidget *item = gtk_menu_item_new_with_label( choices[i] );
-    gtk_signal_connect( GTK_OBJECT( item ), "activate", 
-      GTK_SIGNAL_FUNC(gtk_choice_clicked_callback), (gpointer*)this );
-    
     gtk_menu_append( GTK_MENU(menu), item );
     
-    gtk_widget_show( item );
     gtk_widget_realize( item );
     gtk_widget_realize( GTK_BIN(item)->child );
+    
+    gtk_widget_show( item );
+    
+    gtk_signal_connect( GTK_OBJECT( item ), "activate", 
+      GTK_SIGNAL_FUNC(gtk_choice_clicked_callback), (gpointer*)this );
   }
   gtk_option_menu_set_menu( GTK_OPTION_MENU(m_widget), menu );
   
   PostCreation();
   
   SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
 
   Show( TRUE );
     
@@ -102,11 +104,7 @@ void wxChoice::Append( const wxString &item )
   gtk_widget_realize( menu_item );
   gtk_widget_realize( GTK_BIN(menu_item)->child );
   
-  if (m_widgetStyle)
-  {
-    gtk_widget_set_style( menu_item, m_widgetStyle );
-    gtk_widget_set_style( GTK_BIN(menu_item)->child, m_widgetStyle );
-  }
+  if (m_widgetStyle) ApplyWidgetStyle();
   
   gtk_signal_connect( GTK_OBJECT( menu_item ), "activate", 
     GTK_SIGNAL_FUNC(gtk_choice_clicked_callback), (gpointer*)this );
@@ -259,34 +257,9 @@ void wxChoice::SetStringSelection( const wxString &string )
   if (n != -1) SetSelection( n );
 }
 
-void wxChoice::SetFont( const wxFont &font )
+void wxChoice::ApplyWidgetStyle()
 {
-  wxCHECK_RET( m_widget != NULL, "invalid choice" );
-
-  wxControl::SetFont( font );
-   
-  GtkMenuShell *menu_shell = GTK_MENU_SHELL( gtk_option_menu_get_menu( GTK_OPTION_MENU(m_widget) ) );
-  GList *child = menu_shell->children;
-  while (child)
-  {
-    GtkBin *bin = GTK_BIN( child->data );
-    GtkWidget *label = (GtkWidget *) NULL;
-    if (bin->child) label = bin->child;
-    if (!label) label = GTK_BUTTON(m_widget)->child;
-    
-    gtk_widget_set_style( label, GetWidgetStyle() );
-       
-    child = child->next;
-  }
-}
-
-void wxChoice::SetBackgroundColour( const wxColour &colour )
-{
-  wxCHECK_RET( m_widget != NULL, "invalid choice" );
-
-  wxControl::SetBackgroundColour( colour );
-  
-  if (!m_backgroundColour.Ok()) return;
+  SetWidgetStyle();
   
   GtkMenuShell *menu_shell = GTK_MENU_SHELL( gtk_option_menu_get_menu( GTK_OPTION_MENU(m_widget) ) );
   
@@ -297,9 +270,15 @@ void wxChoice::SetBackgroundColour( const wxColour &colour )
   while (child)
   {
     gtk_widget_set_style( GTK_WIDGET( child->data ), m_widgetStyle );
+    
+    GtkBin *bin = GTK_BIN( child->data );
+    GtkWidget *label = (GtkWidget *) NULL;
+    if (bin->child) label = bin->child;
+    if (!label) label = GTK_BUTTON(m_widget)->child;
+    
+    gtk_widget_set_style( label, m_widgetStyle );
+    
     child = child->next;
   }
 }
 
-
-
index 55a18563cbf16564d08051270ec6a63eb032e0c9..38e40a9642c7df6903a181062e676560e9983c20 100644 (file)
@@ -104,6 +104,7 @@ bool wxComboBox::Create(wxWindow *parent, wxWindowID id, const wxString& value,
   gtk_widget_realize( GTK_COMBO(m_widget)->button );
   
   SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
 
   Show( TRUE );
     
@@ -135,11 +136,7 @@ void wxComboBox::Append( const wxString &item, char *clientData )
   
   GtkWidget *list_item = gtk_list_item_new_with_label( item ); 
   
-  if (m_widgetStyle)
-  {
-    gtk_widget_set_style( list_item, m_widgetStyle );
-    gtk_widget_set_style( GTK_BIN( list_item )->child, m_widgetStyle );
-  }
+  if (m_widgetStyle) ApplyWidgetStyle();
   
   gtk_signal_connect( GTK_OBJECT(list_item), "select", 
     GTK_SIGNAL_FUNC(gtk_combo_clicked_callback), (gpointer)this );
@@ -438,21 +435,21 @@ void wxComboBox::OnSize( wxSizeEvent &event )
   gtk_widget_set_usize( GTK_COMBO(m_widget)->button, w, m_height );
 }
 
-void wxComboBox::SetFont( const wxFont &font )
+void wxComboBox::ApplyWidgetStyle()
 {
-  wxCHECK_RET( m_widget != NULL, "invalid combobox" );
+  SetWidgetStyle();
   
-  wxWindow::SetFont( font );
-   
+  gtk_widget_set_style( GTK_COMBO(m_widget)->button, m_widgetStyle );
   gtk_widget_set_style( GTK_COMBO(m_widget)->entry, m_widgetStyle );
+  gtk_widget_set_style( GTK_COMBO(m_widget)->list, m_widgetStyle );
   
   GtkList *list = GTK_LIST( GTK_COMBO(m_widget)->list );
-  
   GList *child = list->children;
   while (child)
   {
-    GtkBin *bin = (GtkBin*) child->data;
-    
+    gtk_widget_set_style( GTK_WIDGET(child->data), m_widgetStyle );
+  
+    GtkBin *bin = GTK_BIN(child->data);
     gtk_widget_set_style( bin->child, m_widgetStyle );
         
     child = child->next;
@@ -469,27 +466,3 @@ bool wxComboBox::IsOwnGtkWindow( GdkWindow *window )
   return ( (window == GTK_ENTRY( GTK_COMBO(m_widget)->entry )->text_area) ||
            (window == GTK_COMBO(m_widget)->button->window ) );
 }
-
-void wxComboBox::SetBackgroundColour( const wxColour &colour )
-{
-  wxCHECK_RET( m_widget != NULL, "invalid combobox" );
-  
-  wxControl::SetBackgroundColour( colour );
-  
-  if (!m_backgroundColour.Ok()) return;
-  
-//  gtk_widget_set_style( m_widget, m_widgetStyle );
-
-  gtk_widget_set_style( GTK_COMBO(m_widget)->button, m_widgetStyle );
-  gtk_widget_set_style( GTK_COMBO(m_widget)->entry, m_widgetStyle );
-  gtk_widget_set_style( GTK_COMBO(m_widget)->list, m_widgetStyle );
-  
-  GList *child = GTK_LIST( GTK_COMBO(m_widget)->list )->children;
-  while (child)
-  {
-    gtk_widget_set_style( GTK_WIDGET(child->data), m_widgetStyle );
-    
-    child = child->next;
-  }
-}
-
index 3e09742ebca41eba959672b875677d2deee1d485..bdeafd1bd32b6cd9b607e0453a709b0383e0a01d 100644 (file)
@@ -287,5 +287,3 @@ void wxDialog::SetIcon( const wxIcon &icon )
   
   gdk_window_set_icon( m_widget->window, (GdkWindow *) NULL, icon.GetPixmap(), bm );
 }
-
-
index eca70158919cb5c6e46931aeaf7b6493b654ba45..a8c1aacb2d6baf40bb0ff470b4493cb162556eff 100644 (file)
@@ -361,8 +361,20 @@ GdkFont *wxFont::GetInternalFont(float scale) const
   } 
   else 
   {
-     font = wxLoadQueryNearestFont( point_scale, M_FONTDATA->m_fontId, M_FONTDATA->m_style,
-                                   M_FONTDATA->m_weight, M_FONTDATA->m_underlined );
+     if ((int_scale == 100) &&
+         (M_FONTDATA->m_style == wxSWISS) &&
+         (M_FONTDATA->m_pointSize == 12) &&
+         (M_FONTDATA->m_weight == wxNORMAL) &&
+         (M_FONTDATA->m_underlined == FALSE) &&
+         (M_FONTDATA->m_style == wxNORMAL))
+     {
+       font = gdk_font_load( "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*" );
+     }
+     else
+     {
+       font = wxLoadQueryNearestFont( point_scale, M_FONTDATA->m_fontId, M_FONTDATA->m_style,
+                                     M_FONTDATA->m_weight, M_FONTDATA->m_underlined );
+     }
      M_FONTDATA->m_scaled_xfonts.Append( int_scale, (wxObject*)font );
   }
   if (!font)
index 757555d7152bafc650b49726cd517e1a3253cbbf..838f26607c817482343e5e784bda527b42306220 100644 (file)
@@ -575,4 +575,3 @@ void wxFrame::SetIcon( const wxIcon &icon )
   
   gdk_window_set_icon( m_widget->window, (GdkWindow *) NULL, icon.GetPixmap(), bm );
 }
-
index bc6f74b995c6a6e8caddb8de30cad7a5098bc212..82e27351ce401606aeceb5bc44d1567cc9ed76b6 100644 (file)
@@ -68,3 +68,9 @@ int wxGauge::GetValue(void) const
   return m_gaugePos;
 }
 
+void wxGauge::ApplyWidgetStyle()
+{
+  SetWidgetStyle();
+  gtk_widget_set_style( m_widget, m_widgetStyle );
+}
+
index 5651b1f97716d7420579631a81ef402e9a01726d..995a81a402c1b3fa28e3bc989ddbf02dfd98395b 100644 (file)
@@ -126,6 +126,7 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id,
   gtk_widget_realize( GTK_WIDGET(m_list) );
 
   SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
 
   Show( TRUE );
 
@@ -143,11 +144,7 @@ void wxListBox::Append( const wxString &item, char *clientData )
 
   GtkWidget *list_item = gtk_list_item_new_with_label( item );
 
-  if (m_widgetStyle)
-  {
-    gtk_widget_set_style( list_item, m_widgetStyle );
-    gtk_widget_set_style( GTK_BIN( list_item )->child, m_widgetStyle );
-  }
+  if (m_widgetStyle) ApplyWidgetStyle();
   
   gtk_signal_connect( GTK_OBJECT(list_item), "select",
     GTK_SIGNAL_FUNC(gtk_listitem_select_callback), (gpointer)this );
@@ -466,27 +463,9 @@ bool wxListBox::IsOwnGtkWindow( GdkWindow *window )
   return FALSE;
 }
 
-void wxListBox::SetFont( const wxFont &font )
+void wxListBox::ApplyWidgetStyle()
 {
-  wxCHECK_RET( m_list != NULL, "invalid listbox" );
-  
-  wxControl::SetFont( font );
-
-  GList *child = m_list->children;
-  while (child)
-  {
-    gtk_widget_set_style( GTK_BIN(child->data)->child, m_widgetStyle );
-    child = child->next;
-  }
-}
-
-void wxListBox::SetBackgroundColour( const wxColour &colour )
-{
-  wxCHECK_RET( m_list != NULL, "invalid listbox" );
-  
-  wxControl::SetBackgroundColour( colour );
-  
-  if (!m_backgroundColour.Ok()) return;
+  SetWidgetStyle();
   
   GdkWindow *window = GTK_WIDGET(m_list)->window;
   m_backgroundColour.CalcPixel( gdk_window_get_colormap( window ) );
@@ -496,8 +475,8 @@ void wxListBox::SetBackgroundColour( const wxColour &colour )
   GList *child = m_list->children;
   while (child)
   {
+    gtk_widget_set_style( GTK_BIN(child->data)->child, m_widgetStyle );
     gtk_widget_set_style( GTK_WIDGET(child->data), m_widgetStyle );
     child = child->next;
   }
 }
-
index f318ba6d2ca771f5943815ab790e2b0903f11741..ec2257fb24ec0ec567898ce25e59b9aa7854cc1a 100644 (file)
@@ -456,23 +456,9 @@ bool wxNotebook::DoPhase( int WXUNUSED(nPhase) )
   return TRUE;
 }
 
-void wxNotebook::SetFont( const wxFont &font )
+void wxNotebook::ApplyWidgetStyle()
 {
-  wxCHECK_RET( m_widget != NULL, "invalid notebook" );
-
-  wxControl::SetFont( font );
-   
-  gtk_widget_set_style( m_widget, m_widgetStyle );
-}
-
-void wxNotebook::SetBackgroundColour( const wxColour &colour )
-{
-  wxCHECK_RET( m_widget != NULL, "invalid notebook" );
-
-  wxControl::SetBackgroundColour( colour );
-  
-  if (!m_backgroundColour.Ok()) return;
-  
+  SetWidgetStyle();
   gtk_widget_set_style( m_widget, m_widgetStyle );
 }
 
index 2d00f6d3e88ec21101912f9b8677e877be0f6e97..fab780db60238ff22848fc71a789a2ab25135762 100644 (file)
@@ -164,6 +164,7 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title,
   SetLabel( title );
   
   SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
 
   Show( TRUE );
     
@@ -460,46 +461,25 @@ void wxRadioBox::SetNumberOfRowsOrCols( int WXUNUSED(n) )
   wxFAIL_MSG("wxRadioBox::SetNumberOfRowsOrCols not implemented.");
 }
 
-void wxRadioBox::SetFont( const wxFont &font )
+void wxRadioBox::ApplyWidgetStyle()
 {
-  wxCHECK_RET( m_widget != NULL, "invalid radiobox" );
+  SetWidgetStyle();
   
-  wxControl::SetFont( font );
-   
   gtk_widget_set_style( m_widget, m_widgetStyle );
   
   wxNode *node = m_boxes.First();
   while (node)
   {
-    GtkButton *button = GTK_BUTTON( node->Data() );
+    GtkWidget *widget = GTK_WIDGET( node->Data() );
+    gtk_widget_set_style( widget, m_widgetStyle );
     
+    GtkButton *button = GTK_BUTTON( node->Data() );
     gtk_widget_set_style( button->child, m_widgetStyle );
     
     node = node->Next();
   }
 }
 
-void wxRadioBox::SetBackgroundColour( const wxColour &colour )
-{
-  wxCHECK_RET( m_widget != NULL, "invalid radiobox" );
-  
-  wxControl::SetBackgroundColour( colour );
-  
-  if (!m_backgroundColour.Ok()) return;
-  
-  gtk_widget_set_style( m_widget, m_widgetStyle );
-  
-  wxNode *node = m_boxes.First();
-  while (node)
-  {
-    GtkWidget *button = GTK_WIDGET( node->Data() );
-    
-    gtk_widget_set_style( button, m_widgetStyle );
-    
-    node = node->Next();
-  }
-}
-
 bool wxRadioBox::IsOwnGtkWindow( GdkWindow *window )
 {
   if (window == m_widget->window) return TRUE;
index a08d452336f69d844e18b44f8dce77e22bd08876..4091543d8e16d09a492d567ebcabbd16e2002c99 100644 (file)
@@ -62,6 +62,9 @@ bool wxRadioButton::Create( wxWindow *parent, wxWindowID id, const wxString& lab
        
   PostCreation();
 
+  SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
+  
   Show( TRUE );
 
   return TRUE;
@@ -100,23 +103,11 @@ void wxRadioButton::Enable( bool enable )
   gtk_widget_set_sensitive( GTK_BUTTON(m_widget)->child, enable );
 }
 
-void wxRadioButton::SetFont( const wxFont &font )
+void wxRadioButton::ApplyWidgetStyle()
 {
-  wxCHECK_RET( m_widget != NULL, "invalid radiobutton" );
-  
-  wxControl::SetFont( font );
-  
+  SetWidgetStyle();
+  gtk_widget_set_style( m_widget, m_widgetStyle );
   gtk_widget_set_style( GTK_BUTTON(m_widget)->child, m_widgetStyle );
 }
 
-void wxRadioButton::SetBackgroundColour( const wxColour &colour )
-{
-  wxCHECK_RET( m_widget != NULL, "invalid radiobutton" );
-
-  wxControl::SetBackgroundColour( colour );
-  
-  if (!m_backgroundColour.Ok()) return;
-  
-  gtk_widget_set_style( m_widget, m_widgetStyle );
-}
 
index 827cc538d32319ef2c6f457cc5fbcd4a38c2de8c..e5e2cd59f7e3ed04a14d874e270243481e5ac498 100644 (file)
@@ -261,3 +261,10 @@ bool wxScrollBar::IsOwnGtkWindow( GdkWindow *window )
           (window == range->step_forw) ||
           (window == range->step_back) );
 }
+
+void wxScrollBar::ApplyWidgetStyle()
+{
+  SetWidgetStyle();
+  gtk_widget_set_style( m_widget, m_widgetStyle );
+}
+
index 3413b18b50a689903650c8b91db7e4571c2a4cf7..44200eda981e753f61339da725babe77714c500f 100644 (file)
@@ -166,7 +166,7 @@ wxFont wxSystemSettings::GetSystemFont( int index )
     case wxSYS_DEFAULT_GUI_FONT:
     {
       if (!g_systemFont)
-        g_systemFont = new wxFont( "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*" );
+        g_systemFont = new wxFont( 10, wxSWISS, wxNORMAL, wxNORMAL );
       return *g_systemFont;
     }
   }
index 3c3e19901099446adf49e70f8f0f03704e697431..7450b6ac34f0e4ae849ffa31becf7d4b52624724 100644 (file)
@@ -90,6 +90,8 @@ bool wxSlider::Create(wxWindow *parent, wxWindowID id,
   else
     m_widget = gtk_vscale_new( (GtkAdjustment *) NULL );
     
+  gtk_scale_set_draw_value( GTK_SCALE( m_widget ), FALSE );
+  
   m_adjust = gtk_range_get_adjustment( GTK_RANGE(m_widget) );
   
   gtk_signal_connect (GTK_OBJECT (m_adjust), "value_changed",
@@ -100,6 +102,7 @@ bool wxSlider::Create(wxWindow *parent, wxWindowID id,
   PostCreation();
   
   SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
 
   Show( TRUE );
     
@@ -187,23 +190,6 @@ int wxSlider::GetLineSize(void) const
   return 0;
 }
 
-// not supported in wxGTK (and GTK)
-
-void wxSlider::GetSize( int *x, int *y ) const
-{
-  wxWindow::GetSize( x, y );
-}
-
-void wxSlider::SetSize( int x, int y, int width, int height, int sizeFlags )
-{
-  wxWindow::SetSize( x, y, width, height, sizeFlags );
-}
-
-void wxSlider::GetPosition( int *x, int *y ) const
-{
-  wxWindow::GetPosition( x, y );
-}
-
 void wxSlider::SetTick( int WXUNUSED(tickPos) )
 {
 }
@@ -249,4 +235,8 @@ bool wxSlider::IsOwnGtkWindow( GdkWindow *window )
           (window == range->step_back) );
 }
 
-
+void wxSlider::ApplyWidgetStyle()
+{
+  SetWidgetStyle();
+  gtk_widget_set_style( m_widget, m_widgetStyle );
+}
index 321ca0ed0436c0e259502dceb967fa17c85cf3e4..524bfe575b0b9219e5031a01d8f7a204ee54dedf 100644 (file)
@@ -21,14 +21,14 @@ IMPLEMENT_DYNAMIC_CLASS(wxStaticBitmap,wxControl)
 
 wxStaticBitmap::wxStaticBitmap(void)
 {
-};
+}
 
 wxStaticBitmap::wxStaticBitmap( wxWindow *parent, wxWindowID id, const wxBitmap &bitmap, 
       const wxPoint &pos, const wxSize &size, 
       long style, const wxString &name )
 {
   Create( parent, id, bitmap, pos, size, style, name );
-};
+}
 
 bool wxStaticBitmap::Create( wxWindow *parent, wxWindowID id, const wxBitmap &bitmap, 
       const wxPoint &pos, const wxSize &size, 
@@ -62,7 +62,7 @@ bool wxStaticBitmap::Create( wxWindow *parent, wxWindowID id, const wxBitmap &bi
   Show( TRUE );
     
   return TRUE;
-};
+}
 
 void wxStaticBitmap::SetBitmap( const wxBitmap &bitmap ) 
 {
@@ -74,5 +74,4 @@ void wxStaticBitmap::SetBitmap( const wxBitmap &bitmap )
     if (m_bitmap.GetMask()) mask = m_bitmap.GetMask()->GetBitmap();
     gtk_pixmap_set( GTK_PIXMAP(m_widget), m_bitmap.GetPixmap(), mask );
   }
-};
-
+}
index 0f720039d319f08303fafc3ca16ecda035232b3f..59282af9917f5ac38b44b0bb7f28d96e614ae901 100644 (file)
@@ -44,6 +44,9 @@ bool wxStaticBox::Create( wxWindow *parent, wxWindowID id, const wxString &label
 
   SetLabel(label);
   
+  SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
+
   Show( TRUE );
 
   return TRUE;
@@ -55,3 +58,10 @@ void wxStaticBox::SetLabel( const wxString &label )
   GtkFrame *frame = GTK_FRAME( m_widget );
   gtk_frame_set_label( frame, GetLabel() );
 }
+
+void wxStaticBox::ApplyWidgetStyle()
+{
+  SetWidgetStyle();
+  gtk_widget_set_style( m_widget, m_widgetStyle );
+}
+
index e8c2e346d372f44864b5b197382c92cb561bd320..48a31738201d88a7ea5c7137c6b4db60d4fc5081 100644 (file)
@@ -91,6 +91,9 @@ bool wxStaticText::Create( wxWindow *parent, wxWindowID id, const wxString &labe
   
   PostCreation();
   
+  SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
+
   Show( TRUE );
     
   return TRUE;
@@ -110,3 +113,10 @@ void wxStaticText::SetLabel( const wxString &label )
 
   gtk_label_set( GTK_LABEL(m_widget), m_label );
 }
+
+void wxStaticText::ApplyWidgetStyle()
+{
+  SetWidgetStyle();
+  gtk_widget_set_style( m_widget, m_widgetStyle );
+}
+  
index ebd439de8281e950ab0d9aadc8995fc949acaa57..6b6ed2ffe22638f7705c35346e4b390c75752c86 100644 (file)
@@ -150,6 +150,7 @@ bool wxTextCtrl::Create( wxWindow *parent, wxWindowID id, const wxString &value,
   Show( TRUE );
 
   SetBackgroundColour( parent->GetBackgroundColour() );
+  SetForegroundColour( parent->GetForegroundColour() );
 
   return TRUE;
 }
@@ -617,11 +618,16 @@ bool wxTextCtrl::IsOwnGtkWindow( GdkWindow *window )
     return (window == GTK_ENTRY(m_text)->text_area);
 }
 
-void wxTextCtrl::SetFont( const wxFont &font )
+void wxTextCtrl::SetFont( const wxFont &WXUNUSED(font) )
 {
   wxCHECK_RET( m_text != NULL, "invalid text ctrl" );
   
-  wxControl::SetFont( font );
+  // doesn't work
+}
+
+void wxTextCtrl::SetForegroundColour( const wxColour &WXUNUSED(colour) )
+{
+  wxCHECK_RET( m_text != NULL, "invalid text ctrl" );
   
   // doesn't work
 }
@@ -641,8 +647,16 @@ void wxTextCtrl::SetBackgroundColour( const wxColour &colour )
     gdk_window_set_background( window, m_backgroundColour.GetColor() );
     gdk_window_clear( window );
   }
+}
+
+void wxTextCtrl::ApplyWidgetStyle()
+{
+  if (m_windowStyle & wxTE_MULTILINE)
+  {
+  }
   else
   {
+    SetWidgetStyle();
     gtk_widget_set_style( m_text, m_widgetStyle );
   }
 }
index 707a1682eca116e8a2525478a3fb957e4fa151cf..995e34d9fb849139ba9ca41c70e9cc068d48509d 100644 (file)
@@ -1102,7 +1102,7 @@ void wxWindow::PreCreation( wxWindow *parent, wxWindowID id,
     m_cursor = new wxCursor( wxCURSOR_ARROW );
   m_font = *wxSWISS_FONT;
 //  m_backgroundColour = wxWHITE;
-  m_foregroundColour = wxBLACK;
+//  m_foregroundColour = wxBLACK;
   m_windowStyle = style;
   m_windowName = name;
   m_constraints = (wxLayoutConstraints *) NULL;
@@ -1965,19 +1965,8 @@ void wxWindow::SetBackgroundColour( const wxColour &colour )
     gdk_window_set_background( window, m_backgroundColour.GetColor() );
     gdk_window_clear( window );
   }
-  else
-  {
-    GtkStyle *style = GetWidgetStyle();
-    m_backgroundColour.CalcPixel( gdk_window_get_colormap( m_widget->window ) );
-    style->bg[GTK_STATE_NORMAL] = *m_backgroundColour.GetColor();
-    style->base[GTK_STATE_NORMAL] = *m_backgroundColour.GetColor();
-    style->bg[GTK_STATE_PRELIGHT] = *m_backgroundColour.GetColor();
-    style->base[GTK_STATE_PRELIGHT] = *m_backgroundColour.GetColor();
-    style->bg[GTK_STATE_ACTIVE] = *m_backgroundColour.GetColor();
-    style->base[GTK_STATE_ACTIVE] = *m_backgroundColour.GetColor();
-    style->bg[GTK_STATE_INSENSITIVE] = *m_backgroundColour.GetColor();
-    style->base[GTK_STATE_INSENSITIVE] = *m_backgroundColour.GetColor();
-  }
+  
+  ApplyWidgetStyle();
 }
 
 wxColour wxWindow::GetForegroundColour() const
@@ -1992,23 +1981,51 @@ void wxWindow::SetForegroundColour( const wxColour &colour )
   m_foregroundColour = colour;
   if (!m_foregroundColour.Ok()) return;
   
-  if (!m_wxwindow)
+  ApplyWidgetStyle();
+}
+
+GtkStyle *wxWindow::GetWidgetStyle()
+{
+  if (m_widgetStyle) gtk_style_unref( m_widgetStyle );
+  
+  m_widgetStyle = 
+    gtk_style_copy( 
+      gtk_widget_get_style( m_widget ) );
+      
+  return m_widgetStyle;
+}
+
+void wxWindow::SetWidgetStyle()
+{
+  GtkStyle *style = GetWidgetStyle();
+  
+  gdk_font_unref( style->font );
+  style->font = gdk_font_ref( m_font.GetInternalFont( 1.0 ) );
+  
+  if (m_foregroundColour.Ok())
   {
-    GtkStyle *style = GetWidgetStyle();
     m_foregroundColour.CalcPixel( gdk_window_get_colormap( m_widget->window ) );
     style->fg[GTK_STATE_NORMAL] = *m_foregroundColour.GetColor();
     style->fg[GTK_STATE_PRELIGHT] = *m_foregroundColour.GetColor();
     style->fg[GTK_STATE_ACTIVE] = *m_foregroundColour.GetColor();
   }
+  
+  if (m_backgroundColour.Ok())
+  {
+    m_backgroundColour.CalcPixel( gdk_window_get_colormap( m_widget->window ) );
+    style->bg[GTK_STATE_NORMAL] = *m_backgroundColour.GetColor();
+    style->base[GTK_STATE_NORMAL] = *m_backgroundColour.GetColor();
+    style->bg[GTK_STATE_PRELIGHT] = *m_backgroundColour.GetColor();
+    style->base[GTK_STATE_PRELIGHT] = *m_backgroundColour.GetColor();
+    style->bg[GTK_STATE_ACTIVE] = *m_backgroundColour.GetColor();
+    style->base[GTK_STATE_ACTIVE] = *m_backgroundColour.GetColor();
+    style->bg[GTK_STATE_INSENSITIVE] = *m_backgroundColour.GetColor();
+    style->base[GTK_STATE_INSENSITIVE] = *m_backgroundColour.GetColor();
+  }
 }
 
-GtkStyle *wxWindow::GetWidgetStyle()
+void wxWindow::ApplyWidgetStyle()
 {
-  if (!m_widgetStyle) 
-    m_widgetStyle = 
-      gtk_style_copy( 
-        gtk_widget_get_style( m_widget ) );
-  return m_widgetStyle;
 }
 
 bool wxWindow::Validate()
@@ -2172,10 +2189,8 @@ void wxWindow::SetFont( const wxFont &font )
     m_font = font;
   else
     m_font = *wxSWISS_FONT;
-
-  GtkStyle *style = GetWidgetStyle();
-  gdk_font_unref( style->font );
-  style->font = gdk_font_ref( m_font.GetInternalFont( 1.0 ) );
+    
+  ApplyWidgetStyle();
 }
 
 wxFont *wxWindow::GetFont()