]> git.saurik.com Git - wxWidgets.git/commitdiff
See last changelog
authorRobert Roebling <robert@roebling.de>
Sat, 15 Aug 1998 10:52:09 +0000 (10:52 +0000)
committerRobert Roebling <robert@roebling.de>
Sat, 15 Aug 1998 10:52:09 +0000 (10:52 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@543 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

28 files changed:
include/wx/gtk/bitmap.h
include/wx/gtk/dialog.h
include/wx/gtk/font.h
include/wx/gtk/frame.h
include/wx/gtk/mdi.h
include/wx/gtk/menu.h
include/wx/gtk/window.h
include/wx/gtk1/bitmap.h
include/wx/gtk1/dialog.h
include/wx/gtk1/font.h
include/wx/gtk1/frame.h
include/wx/gtk1/mdi.h
include/wx/gtk1/menu.h
include/wx/gtk1/window.h
include/wx/treectrl.h
misc/imlib/im_palette.pal
src/gtk/dcclient.cpp
src/gtk/dialog.cpp
src/gtk/font.cpp
src/gtk/frame.cpp
src/gtk/menu.cpp
src/gtk/window.cpp
src/gtk1/dcclient.cpp
src/gtk1/dialog.cpp
src/gtk1/font.cpp
src/gtk1/frame.cpp
src/gtk1/menu.cpp
src/gtk1/window.cpp

index fe5f8eddec01b89938a1df0fc46a891b192ce9ae..f96d9d4684ee1ae9cb0812ac88b1d3d13f8e7dfc 100644 (file)
@@ -32,6 +32,7 @@ class wxToolBar;
 class wxBitmapButton;
 class wxStaticBitmap;
 class wxFrame;
+class wxDialog;
 class wxTreeCtrl;
 
 class wxMask;
@@ -62,6 +63,7 @@ class wxMask: public wxObject
     friend wxBitmapButton;
     friend wxStaticBitmap;
     friend wxFrame;
+    friend wxDialog;
     friend wxTreeCtrl;
 
     GdkBitmap *GetBitmap() const;
@@ -124,6 +126,7 @@ class wxBitmap: public wxObject
     friend wxBitmapButton;
     friend wxStaticBitmap;
     friend wxFrame;
+    friend wxDialog;
     friend wxTreeCtrl;
 
     GdkPixmap *GetPixmap() const;
index 5bd1564976238a294085bef24d6e75e3dd0912d2..236b8cc02476a18eb0935fffdc446bf176177a55 100644 (file)
@@ -21,6 +21,7 @@
 #include "wx/string.h"
 #include "wx/event.h"
 #include "wx/window.h"
+#include "wx/icon.h"
 
 //-----------------------------------------------------------------------------
 // forward decls
@@ -74,9 +75,19 @@ class wxDialog: public wxWindow
     virtual int ShowModal(void);
     virtual void EndModal(int retCode);
     virtual bool IsModal(void) const { return ((GetWindowStyleFlag() & wxDIALOG_MODAL) == wxDIALOG_MODAL); }
+    void SetModal( bool modal );
     virtual void InitDialog(void);
     virtual void Centre( int direction = wxHORIZONTAL );
     
+    virtual void SetSizeHints( int minW, int minH, int maxW, int maxH, int incW = -1 );
+    
+    virtual void SetIcon( const wxIcon &icon );
+    virtual void Iconize( bool WXUNUSED(iconize)) { }
+    virtual bool IsIconized(void) const { return FALSE; }
+    bool Iconized(void) const { return IsIconized(); }
+    virtual void Maximize(void) { }
+    virtual void Restore(void) { }
+    
   private:
   
     friend    wxWindow;
@@ -85,6 +96,7 @@ class wxDialog: public wxWindow
     
     bool       m_modalShowing;
     wxString   m_title;
+    wxIcon     m_icon;
     
     virtual void ImplementSetPosition();
   
index bb928ffa7499b308fdbbf99c6b230289f137e09c..a42fc975c04551037aaf7a94ead3a5b4c9a7ff47 100644 (file)
@@ -81,7 +81,7 @@ class wxFont: public wxGDIObject
     friend wxPaintDC;
     friend wxWindow;
     
-    GdkFont* GetInternalFont(float scale = 1.0);
+    GdkFont* GetInternalFont(float scale = 1.0) const;
 
     // no data :-)
 };
index d62557e9e9a860487e6a8ef3b3011f478d97cffe..2464fdfb83662ade9d4aa6dd3e7a2a147539b172 100644 (file)
@@ -89,9 +89,11 @@ public:
   virtual wxString GetTitle() const { return m_title; }
   
   virtual void SetIcon( const wxIcon &icon );
-  void Iconize( bool WXUNUSED(iconize)) { }
-  bool IsIconized(void) const { return FALSE; }
-  bool Iconized(void) const { return FALSE; }
+  virtual void Iconize( bool WXUNUSED(iconize)) { }
+  virtual bool IsIconized(void) const { return FALSE; }
+  bool Iconized(void) const { return IsIconized(); }
+  virtual void Maximize(void) {}
+  virtual void Restore(void) {}
 
   void OnActivate( wxActivateEvent &WXUNUSED(event) ) { } // called from docview.cpp
   void OnSize( wxSizeEvent &event );
index 497f302e6039c510eddc4f48a56c5b9dc9ee886f..beda136fb76bfb2fca471be39504826293a543c5 100644 (file)
@@ -152,7 +152,7 @@ class wxMDIChildFrame: public wxFrame
   virtual void Maximize(void) {}
   virtual void Restore(void) {}
     
-    void OnActivate( wxActivateEvent &event );
+  void OnActivate( wxActivateEvent &event );
     
   public:
   
index 5ce6c353ccfb0ed90a347f89ab180e7d2aaea5ed..6e5232dd50b9db5e6dbe806142529d9f772d72ca 100644 (file)
@@ -95,11 +95,12 @@ public:
     // state
   void Enable(bool enable = TRUE) { m_isEnabled = enable; }
   bool IsEnabled() const { return m_isEnabled; }
-  void Check(bool check = TRUE);
+  void Check( bool check = TRUE );
   bool IsChecked() const;
 
     // help string (displayed in the status bar by default)
-  void SetHelpString(const wxString& str) { m_helpStr = str; }
+  void SetHelp(const wxString& str) { m_helpStr = str; }
+  const wxString& GetHelp() const { return m_helpStr; }
 
   // implementation
   void SetMenuItem(GtkWidget *menuItem) { m_menuItem = menuItem; }
@@ -136,7 +137,8 @@ public:
 
     // find item by name/id
   int FindItem( const wxString itemString ) const;
-  wxMenuItem *FindItem(int id) const;
+  wxMenuItem *FindItem( int id ) const;
+  wxMenuItem *FindItemForId( int id ) const { return FindItem( id ); }
 
     // get/set item's state
   void Enable( int id, bool enable );
@@ -145,7 +147,12 @@ public:
   bool IsChecked( int id ) const;
 
   void SetLabel( int id, const wxString &label );
+  wxString GetLabel(int id) const;
 
+  // helpstring
+  virtual void SetHelpString(int id, const wxString& helpString);
+  virtual wxString GetHelpString(int id) const ;
+  
   // accessors
   wxList& GetItems() { return m_items; }
 
index 346fb13f40d34499df5f32b2dd210867db03655b..57b2dc7374e8c9b98bebbc3831b27124bb191077 100644 (file)
@@ -96,6 +96,9 @@ public:
   virtual void GetPosition( int *x, int *y ) const;
   virtual void Centre( int direction = wxHORIZONTAL );
   virtual void Fit();
+    // set minimal/maxmimal size for the frame
+  virtual void SetSizeHints( int WXUNUSED(minW), int WXUNUSED(minH), int WXUNUSED(maxW), 
+    int WXUNUSED(maxH), int WXUNUSED(incW) ) { }
 
   void OnSize( wxSizeEvent &event );
   void OnIdle( wxIdleEvent& event );
@@ -113,7 +116,12 @@ public:
   virtual void RemoveChild( wxWindow *child );
   void SetReturnCode( int retCode );
   int GetReturnCode();
-  wxWindow *GetParent();
+  wxWindow *GetParent() const 
+    { return m_parent; }
+  wxWindow *GetGrandParent(void) const
+    { return (m_parent ? m_parent->m_parent : (wxWindow*)NULL); }
+  void wxWindow::SetParent( wxWindow *p ) 
+    { m_parent = p; }
 
   wxEvtHandler *GetEventHandler();
   void SetEventHandler( wxEvtHandler *handler );
@@ -139,15 +147,22 @@ public:
   virtual void SetBackgroundColour( const wxColour &colour );
   virtual wxColour GetForegroundColour() const;
   virtual void SetForegroundColour( const wxColour &colour );
+  
+  virtual int GetCharHeight(void) const;
+  virtual int GetCharWidth(void) const;
+  virtual void GetTextExtent( const wxString& string, int *x, int *y,
+                             int *descent = NULL,
+                             int *externalLeading = NULL,
+                             const wxFont *theFont = NULL, bool use16 = FALSE) const;
 
   virtual void SetDefaultBackgroundColour( const wxColour& col )
-    { m_defaultBackgroundColour = col; };
+    { m_defaultBackgroundColour = col; }
   virtual wxColour GetDefaultBackgroundColour() const
-    { return m_defaultBackgroundColour; };
+    { return m_defaultBackgroundColour; }
   virtual void SetDefaultForegroundColour( const wxColour& col )
-    { m_defaultForegroundColour = col; };
+    { m_defaultForegroundColour = col; }
   virtual wxColour GetDefaultForegroundColour() const
-    { return m_defaultForegroundColour; };
+    { return m_defaultForegroundColour; }
 
   virtual void SetFont( const wxFont &font );
   virtual wxFont *GetFont();
index fe5f8eddec01b89938a1df0fc46a891b192ce9ae..f96d9d4684ee1ae9cb0812ac88b1d3d13f8e7dfc 100644 (file)
@@ -32,6 +32,7 @@ class wxToolBar;
 class wxBitmapButton;
 class wxStaticBitmap;
 class wxFrame;
+class wxDialog;
 class wxTreeCtrl;
 
 class wxMask;
@@ -62,6 +63,7 @@ class wxMask: public wxObject
     friend wxBitmapButton;
     friend wxStaticBitmap;
     friend wxFrame;
+    friend wxDialog;
     friend wxTreeCtrl;
 
     GdkBitmap *GetBitmap() const;
@@ -124,6 +126,7 @@ class wxBitmap: public wxObject
     friend wxBitmapButton;
     friend wxStaticBitmap;
     friend wxFrame;
+    friend wxDialog;
     friend wxTreeCtrl;
 
     GdkPixmap *GetPixmap() const;
index 5bd1564976238a294085bef24d6e75e3dd0912d2..236b8cc02476a18eb0935fffdc446bf176177a55 100644 (file)
@@ -21,6 +21,7 @@
 #include "wx/string.h"
 #include "wx/event.h"
 #include "wx/window.h"
+#include "wx/icon.h"
 
 //-----------------------------------------------------------------------------
 // forward decls
@@ -74,9 +75,19 @@ class wxDialog: public wxWindow
     virtual int ShowModal(void);
     virtual void EndModal(int retCode);
     virtual bool IsModal(void) const { return ((GetWindowStyleFlag() & wxDIALOG_MODAL) == wxDIALOG_MODAL); }
+    void SetModal( bool modal );
     virtual void InitDialog(void);
     virtual void Centre( int direction = wxHORIZONTAL );
     
+    virtual void SetSizeHints( int minW, int minH, int maxW, int maxH, int incW = -1 );
+    
+    virtual void SetIcon( const wxIcon &icon );
+    virtual void Iconize( bool WXUNUSED(iconize)) { }
+    virtual bool IsIconized(void) const { return FALSE; }
+    bool Iconized(void) const { return IsIconized(); }
+    virtual void Maximize(void) { }
+    virtual void Restore(void) { }
+    
   private:
   
     friend    wxWindow;
@@ -85,6 +96,7 @@ class wxDialog: public wxWindow
     
     bool       m_modalShowing;
     wxString   m_title;
+    wxIcon     m_icon;
     
     virtual void ImplementSetPosition();
   
index bb928ffa7499b308fdbbf99c6b230289f137e09c..a42fc975c04551037aaf7a94ead3a5b4c9a7ff47 100644 (file)
@@ -81,7 +81,7 @@ class wxFont: public wxGDIObject
     friend wxPaintDC;
     friend wxWindow;
     
-    GdkFont* GetInternalFont(float scale = 1.0);
+    GdkFont* GetInternalFont(float scale = 1.0) const;
 
     // no data :-)
 };
index d62557e9e9a860487e6a8ef3b3011f478d97cffe..2464fdfb83662ade9d4aa6dd3e7a2a147539b172 100644 (file)
@@ -89,9 +89,11 @@ public:
   virtual wxString GetTitle() const { return m_title; }
   
   virtual void SetIcon( const wxIcon &icon );
-  void Iconize( bool WXUNUSED(iconize)) { }
-  bool IsIconized(void) const { return FALSE; }
-  bool Iconized(void) const { return FALSE; }
+  virtual void Iconize( bool WXUNUSED(iconize)) { }
+  virtual bool IsIconized(void) const { return FALSE; }
+  bool Iconized(void) const { return IsIconized(); }
+  virtual void Maximize(void) {}
+  virtual void Restore(void) {}
 
   void OnActivate( wxActivateEvent &WXUNUSED(event) ) { } // called from docview.cpp
   void OnSize( wxSizeEvent &event );
index 497f302e6039c510eddc4f48a56c5b9dc9ee886f..beda136fb76bfb2fca471be39504826293a543c5 100644 (file)
@@ -152,7 +152,7 @@ class wxMDIChildFrame: public wxFrame
   virtual void Maximize(void) {}
   virtual void Restore(void) {}
     
-    void OnActivate( wxActivateEvent &event );
+  void OnActivate( wxActivateEvent &event );
     
   public:
   
index 5ce6c353ccfb0ed90a347f89ab180e7d2aaea5ed..6e5232dd50b9db5e6dbe806142529d9f772d72ca 100644 (file)
@@ -95,11 +95,12 @@ public:
     // state
   void Enable(bool enable = TRUE) { m_isEnabled = enable; }
   bool IsEnabled() const { return m_isEnabled; }
-  void Check(bool check = TRUE);
+  void Check( bool check = TRUE );
   bool IsChecked() const;
 
     // help string (displayed in the status bar by default)
-  void SetHelpString(const wxString& str) { m_helpStr = str; }
+  void SetHelp(const wxString& str) { m_helpStr = str; }
+  const wxString& GetHelp() const { return m_helpStr; }
 
   // implementation
   void SetMenuItem(GtkWidget *menuItem) { m_menuItem = menuItem; }
@@ -136,7 +137,8 @@ public:
 
     // find item by name/id
   int FindItem( const wxString itemString ) const;
-  wxMenuItem *FindItem(int id) const;
+  wxMenuItem *FindItem( int id ) const;
+  wxMenuItem *FindItemForId( int id ) const { return FindItem( id ); }
 
     // get/set item's state
   void Enable( int id, bool enable );
@@ -145,7 +147,12 @@ public:
   bool IsChecked( int id ) const;
 
   void SetLabel( int id, const wxString &label );
+  wxString GetLabel(int id) const;
 
+  // helpstring
+  virtual void SetHelpString(int id, const wxString& helpString);
+  virtual wxString GetHelpString(int id) const ;
+  
   // accessors
   wxList& GetItems() { return m_items; }
 
index 346fb13f40d34499df5f32b2dd210867db03655b..57b2dc7374e8c9b98bebbc3831b27124bb191077 100644 (file)
@@ -96,6 +96,9 @@ public:
   virtual void GetPosition( int *x, int *y ) const;
   virtual void Centre( int direction = wxHORIZONTAL );
   virtual void Fit();
+    // set minimal/maxmimal size for the frame
+  virtual void SetSizeHints( int WXUNUSED(minW), int WXUNUSED(minH), int WXUNUSED(maxW), 
+    int WXUNUSED(maxH), int WXUNUSED(incW) ) { }
 
   void OnSize( wxSizeEvent &event );
   void OnIdle( wxIdleEvent& event );
@@ -113,7 +116,12 @@ public:
   virtual void RemoveChild( wxWindow *child );
   void SetReturnCode( int retCode );
   int GetReturnCode();
-  wxWindow *GetParent();
+  wxWindow *GetParent() const 
+    { return m_parent; }
+  wxWindow *GetGrandParent(void) const
+    { return (m_parent ? m_parent->m_parent : (wxWindow*)NULL); }
+  void wxWindow::SetParent( wxWindow *p ) 
+    { m_parent = p; }
 
   wxEvtHandler *GetEventHandler();
   void SetEventHandler( wxEvtHandler *handler );
@@ -139,15 +147,22 @@ public:
   virtual void SetBackgroundColour( const wxColour &colour );
   virtual wxColour GetForegroundColour() const;
   virtual void SetForegroundColour( const wxColour &colour );
+  
+  virtual int GetCharHeight(void) const;
+  virtual int GetCharWidth(void) const;
+  virtual void GetTextExtent( const wxString& string, int *x, int *y,
+                             int *descent = NULL,
+                             int *externalLeading = NULL,
+                             const wxFont *theFont = NULL, bool use16 = FALSE) const;
 
   virtual void SetDefaultBackgroundColour( const wxColour& col )
-    { m_defaultBackgroundColour = col; };
+    { m_defaultBackgroundColour = col; }
   virtual wxColour GetDefaultBackgroundColour() const
-    { return m_defaultBackgroundColour; };
+    { return m_defaultBackgroundColour; }
   virtual void SetDefaultForegroundColour( const wxColour& col )
-    { m_defaultForegroundColour = col; };
+    { m_defaultForegroundColour = col; }
   virtual wxColour GetDefaultForegroundColour() const
-    { return m_defaultForegroundColour; };
+    { return m_defaultForegroundColour; }
 
   virtual void SetFont( const wxFont &font );
   virtual wxFont *GetFont();
index 8d6928b669a46fde9046bee44a62f5a556de35c6..0fce45a8a2ee0dfc6e8f5ec582d2681e6a56ed13 100644 (file)
@@ -6,7 +6,7 @@
 #elif defined(__WXMOTIF__)
 #include "wx/generic/treectrl.h"
 #elif defined(__WXGTK__)
-#include "wx/gtk/treectrl.h"
+#include "wx/generic/treectrl.h"
 #elif defined(__WXQT__)
 #include "wx/qt/treectrl.h"
 #elif defined(__WXMAC__)
index 44660998d48c9df6fe4446c8713b0f0d930067a6..7464319c3f26fa3ef837e4120571e6f59176d847 100644 (file)
@@ -1,4 +1,4 @@
-0x00 0x00 0x00
+0x0 0x0 0x0
 0xff 0xff 0xff
 0xdd 0xdd 0xdd
 0xbb 0xbb 0xbb
@@ -6,43 +6,59 @@
 0x77 0x77 0x77
 0x55 0x55 0x55
 0x33 0x33 0x33
-0x88 0x00 0x00
-0xcc 0x00 0x00
-0xff 0x00 0x00
-0xff 0x44 0x00
-0xff 0x88 0x00
-0xff 0xcc 0x00
-0xff 0xff 0x00
-0xcc 0xcc 0x00
-0x88 0x88 0x00
-0x44 0x44 0x00
-0x00 0x44 0x00
-0x00 0x88 0x00
-0x00 0xcc 0x00
-0x00 0xff 0x00
-0x00 0x44 0x44
-0x00 0x88 0x88
-0x00 0xff 0xff
-0x00 0x00 0x44
-0x00 0x00 0x88
-0x00 0x00 0xff
-0x88 0x00 0x88
-0xff 0xcc 0x99
-0xcc 0xaa 0x77
-0xaa 0x88 0x55
-0x88 0x66 0x33
-0x66 0x44 0x11
-0x44 0x22 0x00
-0x22 0x00 0x00
-0x00 0x44 0x88
-0x44 0x88 0xcc
-0x88 0xcc 0xff
-0x00 0xcc 0x44
-0x44 0x88 0x44
-0x88 0xcc 0x00
-0x22 0x44 0x11
-0x33 0x66 0x22
-0x44 0x55 0x33
-0x66 0x88 0x44
-0x33 0x66 0x22
-0x22 0x44 0x11
+0x88 0x0 0x0
+0xcc 0x0 0x0
+0xff 0x0 0x0
+0xff 0x44 0x0
+0xff 0x88 0x0
+0xff 0xcc 0x0
+0xff 0xff 0x0
+0xcc 0xcc 0x0
+0x88 0x88 0x0
+0x60 0x60 0x0
+0x0 0x43 0x0
+0x0 0x7f 0x0
+0x0 0xcc 0x0
+0x0 0xff 0x0
+0x0 0x44 0x44
+0x0 0x88 0x88
+0x0 0xff 0xff
+0x0 0x0 0x44
+0x0 0x0 0x88
+0x0 0x0 0xff
+0xff 0xcc 0x97
+0xef 0xb1 0x7b
+0xdf 0x98 0x5f
+0xbf 0x87 0x56
+0x9f 0x6b 0x42
+0x7f 0x57 0x26
+0x5f 0x39 0xc
+0x3f 0x1c 0x0
+0x21 0x0 0x0
+0x0 0x43 0x87
+0x2d 0x70 0xaf
+0x5a 0x9e 0xd7
+0x87 0xcc 0xff
+0xff 0xe0 0xba
+0x21 0x43 0xf
+0x3d 0x5d 0x25
+0x59 0x78 0x3a
+0x75 0x93 0x4f
+0x91 0xae 0x64
+0xad 0xc8 0x7a
+0xf0 0xa8 0xef
+0xd0 0x88 0xd0
+0xaf 0x66 0xaf
+0x8e 0x44 0x8e
+0x6d 0x22 0x6d
+0x4b 0x0 0x4b
+0xff 0xc0 0xbc
+0xff 0x93 0x91
+0xff 0x66 0x67
+0xd8 0xf2 0xbf
+0xff 0xc9 0x68
+0xff 0x96 0x67
+0xa5 0x60 0xff
+0x51 0xff 0x99
+0x3f 0xa5 0x63
+0x98 0x90 0x67
index e75db15ce07048088a3dc44bb14d097890f103fe..e8473c5318d97c77c4d6e9c6f37fc9f22318e9be 100644 (file)
@@ -552,22 +552,25 @@ void wxPaintDC::DrawText( const wxString &text, long x, long y, bool WXUNUSED(us
   }
 }
 
-
-
 bool wxPaintDC::CanGetTextExtent(void) const
 {
   return TRUE;
 }
 
 void wxPaintDC::GetTextExtent( const wxString &string, long *width, long *height,
-                     long *WXUNUSED(descent), long *WXUNUSED(externalLeading),
-                     wxFont *WXUNUSED(theFont), bool WXUNUSED(use16) )
+                     long *descent, long *externalLeading,
+                     wxFont *theFont, bool WXUNUSED(use16) )
 {
   if (!Ok()) return;
   
-  GdkFont *font = m_font.GetInternalFont( m_scaleY );
+  wxFont fontToUse = m_font;
+  if (theFont) fontToUse = *theFont;
+  
+  GdkFont *font = fontToUse.GetInternalFont( m_scaleY );
   if (width) (*width) = long(gdk_string_width( font, string ) / m_scaleX);
   if (height) (*height) = long((font->ascent + font->descent) / m_scaleY);
+  if (descent) (*descent) = long(font->descent / m_scaleY);
+  if (externalLeading) (*externalLeading) = 0;  // ??
 }
 
 long wxPaintDC::GetCharWidth(void)
@@ -575,7 +578,7 @@ long wxPaintDC::GetCharWidth(void)
   if (!Ok()) return 0;
   
   GdkFont *font = m_font.GetInternalFont( m_scaleY );
-  return gdk_string_width( font, "H" );
+  return long(gdk_string_width( font, "H" ) / m_scaleX);
 }
 
 long wxPaintDC::GetCharHeight(void)
@@ -583,7 +586,7 @@ long wxPaintDC::GetCharHeight(void)
   if (!Ok()) return 0;
   
   GdkFont *font = m_font.GetInternalFont( m_scaleY );
-  return font->ascent + font->descent;
+  return long((font->ascent + font->descent) / m_scaleY);
 }
 
 void wxPaintDC::Clear(void)
index 5e7a3a60b646c832c505a2518a4e25e5abdccdd3..6ce4890d799e8677f8295d508412093130223f94 100644 (file)
@@ -36,7 +36,7 @@ bool gtk_dialog_delete_callback( GtkWidget *WXUNUSED(widget), GdkEvent *WXUNUSED
   win->Close();
 
   return TRUE;
-};
+}
 
 //-----------------------------------------------------------------------------
 // wxDialog
@@ -56,7 +56,7 @@ wxDialog::wxDialog(void)
   m_title = "";
   m_modalShowing = FALSE;
   wxTopLevelWindows.Insert( this );
-};
+}
 
 wxDialog::wxDialog( wxWindow *parent, 
       wxWindowID id, const wxString &title,
@@ -66,7 +66,7 @@ wxDialog::wxDialog( wxWindow *parent,
   m_modalShowing = FALSE;
   wxTopLevelWindows.Insert( this );
   Create( parent, id, title, pos, size, style, name );
-};
+}
 
 bool wxDialog::Create( wxWindow *parent,
       wxWindowID id, const wxString &title,
@@ -101,30 +101,30 @@ bool wxDialog::Create( wxWindow *parent,
   PostCreation();
   
   return TRUE;
-};
+}
 
 wxDialog::~wxDialog(void)
 {
   wxTopLevelWindows.DeleteObject( this );
   if (wxTopLevelWindows.Number() == 0) wxTheApp->ExitMainLoop();
-};
+}
 
 void wxDialog::SetTitle(const wxString& title )
 {
   m_title = title;
   if (m_title.IsNull()) m_title = "";
   gtk_window_set_title( GTK_WINDOW(m_widget), m_title );
-};
+}
 
 wxString wxDialog::GetTitle(void) const
 {
   return (wxString&)m_title;
-};
+}
 
 void wxDialog::OnApply( wxCommandEvent &WXUNUSED(event) )
 {
   if (Validate()) TransferDataFromWindow();
-};
+}
 
 void wxDialog::OnCancel( wxCommandEvent &WXUNUSED(event) )
 {
@@ -136,8 +136,8 @@ void wxDialog::OnCancel( wxCommandEvent &WXUNUSED(event) )
   {
     SetReturnCode(wxID_CANCEL);
     this->Show(FALSE);
-  };
-};
+  }
+}
 
 void wxDialog::OnOK( wxCommandEvent &WXUNUSED(event) )
 {
@@ -151,14 +151,14 @@ void wxDialog::OnOK( wxCommandEvent &WXUNUSED(event) )
     {
       SetReturnCode(wxID_OK);
       this->Show(FALSE);
-    };
-  };
-};
+    }
+  }
+}
 
 void wxDialog::OnPaint( wxPaintEvent& WXUNUSED(event) )
 {
   // yes
-};
+}
 
 bool wxDialog::OnClose(void)
 {
@@ -189,8 +189,8 @@ void wxDialog::OnCloseWindow(wxCloseEvent& event)
   if (GetEventHandler()->OnClose() || event.GetForce())
   {
     this->Destroy();
-  };
-};
+  }
+}
 
 void wxDialog::ImplementSetPosition(void)
 {
@@ -210,14 +210,22 @@ bool wxDialog::Show( bool show )
   if (!show && IsModal() && m_modalShowing)
   {
     EndModal( wxID_CANCEL );
-  };
+  }
 
   wxWindow::Show( show );
   
   if (show) InitDialog();
   
   return TRUE;
-};
+}
+
+void wxDialog::SetModal(bool flag)
+{
+  if (flag)
+    m_windowStyle |= wxDIALOG_MODAL;
+  else
+    if (m_windowStyle & wxDIALOG_MODAL) m_windowStyle -= wxDIALOG_MODAL;
+}
 
 int wxDialog::ShowModal(void)
 {
@@ -232,7 +240,7 @@ int wxDialog::ShowModal(void)
   gtk_grab_remove( m_widget );
   
   return GetReturnCode();
-};
+}
 
 void wxDialog::EndModal( int retCode )
 {
@@ -242,15 +250,34 @@ void wxDialog::EndModal( int retCode )
   {
      wxFAIL_MSG( "wxDialog: called EndModal twice" );
      return;
-  };
+  }
   
   m_modalShowing = FALSE;
   
   gtk_main_quit();
-};
+}
 
 void wxDialog::InitDialog(void)
 {
   wxWindow::InitDialog();
-};
+}
+
+void wxDialog::SetSizeHints(int minW, int minH, int maxW, int maxH, int WXUNUSED(incW) )
+{
+  gdk_window_set_hints( m_widget->window, -1, -1, 
+                       minW, minH, maxW, maxH, GDK_HINT_MIN_SIZE | GDK_HINT_MIN_SIZE );
+}
+
+void wxDialog::SetIcon( const wxIcon &icon )
+{
+  m_icon = icon;
+  if (!icon.Ok()) return;
+  
+  wxMask *mask = icon.GetMask();
+  GdkBitmap *bm = NULL;
+  if (mask) bm = mask->GetBitmap();
+  
+  gdk_window_set_icon( m_widget->window, NULL, icon.GetPixmap(), bm );
+}
+
 
index ad4f5e96544aeade8ad59dc757b22f7e0532ce8d..a048a12227d0426ac0dedd564f2f3ed7a7040707 100644 (file)
@@ -255,7 +255,7 @@ static GdkFont *wxLoadQueryNearestFont(int point_size, int fontid,
                                           int style, int weight, 
                                           bool underlined);
 
-GdkFont *wxFont::GetInternalFont(float scale)
+GdkFont *wxFont::GetInternalFont(float scale) const
 {
   if (M_FONTDATA->m_byXFontName) return M_FONTDATA->m_font;
    
index 716e2ee6623971b8ed41199d39aea5d31e599b15..d7475b3a8ef8bbeb6f8e6c87834cba5f99e671a7 100644 (file)
@@ -515,9 +515,8 @@ void wxFrame::SetTitle( const wxString &title )
 
 void wxFrame::SetSizeHints(int minW, int minH, int maxW, int maxH, int WXUNUSED(incW) )
 {
-  if (m_wxwindow)
-    gdk_window_set_hints( m_wxwindow->window, -1, -1, 
-                         minW, minH, maxW, maxH, GDK_HINT_MIN_SIZE | GDK_HINT_MIN_SIZE );
+  gdk_window_set_hints( m_widget->window, -1, -1, 
+                       minW, minH, maxW, maxH, GDK_HINT_MIN_SIZE | GDK_HINT_MIN_SIZE );
 }
 
 void wxFrame::SetIcon( const wxIcon &icon )
index 35832b897f74a4d62acba2d8cee87b44329ebe24..6cd28ae420d18a3f47be58d9015f0fba8ccb392b 100644 (file)
@@ -254,7 +254,7 @@ void wxMenu::Append( int id, const wxString &item, const wxString &helpStr, bool
   wxMenuItem *mitem = new wxMenuItem();
   mitem->SetId(id);
   mitem->SetText(item);
-  mitem->SetHelpString(helpStr);
+  mitem->SetHelp(helpStr);
   mitem->SetCheckable(checkable);
   const char *text = mitem->GetText();
   GtkWidget *menuItem = checkable ? gtk_check_menu_item_new_with_label(text)
@@ -277,7 +277,7 @@ void wxMenu::Append( int id, const wxString &text, wxMenu *subMenu, const wxStri
   mitem->SetText(text);
 
   GtkWidget *menuItem = gtk_menu_item_new_with_label(mitem->GetText());
-  mitem->SetHelpString(helpStr);
+  mitem->SetHelp(helpStr);
   mitem->SetMenuItem(menuItem);
   mitem->SetSubMenu(subMenu);
 
@@ -344,10 +344,30 @@ bool wxMenu::IsChecked( int id ) const
 void wxMenu::SetLabel( int id, const wxString &label )
 {
   wxMenuItem *item = FindItem(id);
-  if ( item )
+  if (item)
     item->SetText(label);
 }
 
+wxString wxMenu::GetLabel( int id ) const
+{
+  wxMenuItem *item = FindItem(id);
+  if (item) return item->GetText();
+  return "";
+}
+
+void wxMenu::SetHelpString( int id, const wxString& helpString )
+{
+  wxMenuItem *item = FindItem(id);
+  if (item) item->SetHelp( helpString );
+}
+
+wxString wxMenu::GetHelpString( int id ) const
+{
+  wxMenuItem *item = FindItem(id);
+  if (item) return item->GetHelp();
+  return "";
+}
+
 int wxMenu::FindMenuIdByMenuItem( GtkWidget *menuItem ) const
 {
   wxNode *node = m_items.First();
index 12a31edeaa2ba3034d377f8ccbfbd27e123200b2..81628667f9ec0fe5ce41aa9fdd112b482247d0a8 100644 (file)
@@ -1393,6 +1393,31 @@ void wxWindow::Enable( bool enable )
   if (m_wxwindow) gtk_widget_set_sensitive( m_wxwindow, enable );
 }
 
+int wxWindow::GetCharHeight(void) const
+{
+  GdkFont *font = m_font.GetInternalFont( 1.0 );
+  return font->ascent + font->descent;
+}
+
+int wxWindow::GetCharWidth(void) const
+{
+  GdkFont *font = m_font.GetInternalFont( 1.0 );
+  return gdk_string_width( font, "H" );
+}
+
+void wxWindow::GetTextExtent( const wxString& string, int *x, int *y,
+  int *descent, int *externalLeading, const wxFont *theFont, bool WXUNUSED(use16) ) const
+{
+  wxFont fontToUse = m_font;
+  if (theFont) fontToUse = *theFont;
+  
+  GdkFont *font = fontToUse.GetInternalFont( 1.0 );
+  if (x) (*y) = gdk_string_width( font, string );
+  if (y) (*y) = font->ascent + font->descent;
+  if (descent) (*descent) = font->descent;
+  if (externalLeading) (*externalLeading) = 0;  // ??
+}
+
 void wxWindow::MakeModal( bool modal )
 {
   return;
@@ -1516,11 +1541,6 @@ int wxWindow::GetReturnCode(void)
   return m_retCode;
 }
 
-wxWindow *wxWindow::GetParent(void)
-{
-  return m_parent;
-}
-
 void wxWindow::Raise(void)
 {
   if (m_widget) gdk_window_raise( m_widget->window );
index e75db15ce07048088a3dc44bb14d097890f103fe..e8473c5318d97c77c4d6e9c6f37fc9f22318e9be 100644 (file)
@@ -552,22 +552,25 @@ void wxPaintDC::DrawText( const wxString &text, long x, long y, bool WXUNUSED(us
   }
 }
 
-
-
 bool wxPaintDC::CanGetTextExtent(void) const
 {
   return TRUE;
 }
 
 void wxPaintDC::GetTextExtent( const wxString &string, long *width, long *height,
-                     long *WXUNUSED(descent), long *WXUNUSED(externalLeading),
-                     wxFont *WXUNUSED(theFont), bool WXUNUSED(use16) )
+                     long *descent, long *externalLeading,
+                     wxFont *theFont, bool WXUNUSED(use16) )
 {
   if (!Ok()) return;
   
-  GdkFont *font = m_font.GetInternalFont( m_scaleY );
+  wxFont fontToUse = m_font;
+  if (theFont) fontToUse = *theFont;
+  
+  GdkFont *font = fontToUse.GetInternalFont( m_scaleY );
   if (width) (*width) = long(gdk_string_width( font, string ) / m_scaleX);
   if (height) (*height) = long((font->ascent + font->descent) / m_scaleY);
+  if (descent) (*descent) = long(font->descent / m_scaleY);
+  if (externalLeading) (*externalLeading) = 0;  // ??
 }
 
 long wxPaintDC::GetCharWidth(void)
@@ -575,7 +578,7 @@ long wxPaintDC::GetCharWidth(void)
   if (!Ok()) return 0;
   
   GdkFont *font = m_font.GetInternalFont( m_scaleY );
-  return gdk_string_width( font, "H" );
+  return long(gdk_string_width( font, "H" ) / m_scaleX);
 }
 
 long wxPaintDC::GetCharHeight(void)
@@ -583,7 +586,7 @@ long wxPaintDC::GetCharHeight(void)
   if (!Ok()) return 0;
   
   GdkFont *font = m_font.GetInternalFont( m_scaleY );
-  return font->ascent + font->descent;
+  return long((font->ascent + font->descent) / m_scaleY);
 }
 
 void wxPaintDC::Clear(void)
index 5e7a3a60b646c832c505a2518a4e25e5abdccdd3..6ce4890d799e8677f8295d508412093130223f94 100644 (file)
@@ -36,7 +36,7 @@ bool gtk_dialog_delete_callback( GtkWidget *WXUNUSED(widget), GdkEvent *WXUNUSED
   win->Close();
 
   return TRUE;
-};
+}
 
 //-----------------------------------------------------------------------------
 // wxDialog
@@ -56,7 +56,7 @@ wxDialog::wxDialog(void)
   m_title = "";
   m_modalShowing = FALSE;
   wxTopLevelWindows.Insert( this );
-};
+}
 
 wxDialog::wxDialog( wxWindow *parent, 
       wxWindowID id, const wxString &title,
@@ -66,7 +66,7 @@ wxDialog::wxDialog( wxWindow *parent,
   m_modalShowing = FALSE;
   wxTopLevelWindows.Insert( this );
   Create( parent, id, title, pos, size, style, name );
-};
+}
 
 bool wxDialog::Create( wxWindow *parent,
       wxWindowID id, const wxString &title,
@@ -101,30 +101,30 @@ bool wxDialog::Create( wxWindow *parent,
   PostCreation();
   
   return TRUE;
-};
+}
 
 wxDialog::~wxDialog(void)
 {
   wxTopLevelWindows.DeleteObject( this );
   if (wxTopLevelWindows.Number() == 0) wxTheApp->ExitMainLoop();
-};
+}
 
 void wxDialog::SetTitle(const wxString& title )
 {
   m_title = title;
   if (m_title.IsNull()) m_title = "";
   gtk_window_set_title( GTK_WINDOW(m_widget), m_title );
-};
+}
 
 wxString wxDialog::GetTitle(void) const
 {
   return (wxString&)m_title;
-};
+}
 
 void wxDialog::OnApply( wxCommandEvent &WXUNUSED(event) )
 {
   if (Validate()) TransferDataFromWindow();
-};
+}
 
 void wxDialog::OnCancel( wxCommandEvent &WXUNUSED(event) )
 {
@@ -136,8 +136,8 @@ void wxDialog::OnCancel( wxCommandEvent &WXUNUSED(event) )
   {
     SetReturnCode(wxID_CANCEL);
     this->Show(FALSE);
-  };
-};
+  }
+}
 
 void wxDialog::OnOK( wxCommandEvent &WXUNUSED(event) )
 {
@@ -151,14 +151,14 @@ void wxDialog::OnOK( wxCommandEvent &WXUNUSED(event) )
     {
       SetReturnCode(wxID_OK);
       this->Show(FALSE);
-    };
-  };
-};
+    }
+  }
+}
 
 void wxDialog::OnPaint( wxPaintEvent& WXUNUSED(event) )
 {
   // yes
-};
+}
 
 bool wxDialog::OnClose(void)
 {
@@ -189,8 +189,8 @@ void wxDialog::OnCloseWindow(wxCloseEvent& event)
   if (GetEventHandler()->OnClose() || event.GetForce())
   {
     this->Destroy();
-  };
-};
+  }
+}
 
 void wxDialog::ImplementSetPosition(void)
 {
@@ -210,14 +210,22 @@ bool wxDialog::Show( bool show )
   if (!show && IsModal() && m_modalShowing)
   {
     EndModal( wxID_CANCEL );
-  };
+  }
 
   wxWindow::Show( show );
   
   if (show) InitDialog();
   
   return TRUE;
-};
+}
+
+void wxDialog::SetModal(bool flag)
+{
+  if (flag)
+    m_windowStyle |= wxDIALOG_MODAL;
+  else
+    if (m_windowStyle & wxDIALOG_MODAL) m_windowStyle -= wxDIALOG_MODAL;
+}
 
 int wxDialog::ShowModal(void)
 {
@@ -232,7 +240,7 @@ int wxDialog::ShowModal(void)
   gtk_grab_remove( m_widget );
   
   return GetReturnCode();
-};
+}
 
 void wxDialog::EndModal( int retCode )
 {
@@ -242,15 +250,34 @@ void wxDialog::EndModal( int retCode )
   {
      wxFAIL_MSG( "wxDialog: called EndModal twice" );
      return;
-  };
+  }
   
   m_modalShowing = FALSE;
   
   gtk_main_quit();
-};
+}
 
 void wxDialog::InitDialog(void)
 {
   wxWindow::InitDialog();
-};
+}
+
+void wxDialog::SetSizeHints(int minW, int minH, int maxW, int maxH, int WXUNUSED(incW) )
+{
+  gdk_window_set_hints( m_widget->window, -1, -1, 
+                       minW, minH, maxW, maxH, GDK_HINT_MIN_SIZE | GDK_HINT_MIN_SIZE );
+}
+
+void wxDialog::SetIcon( const wxIcon &icon )
+{
+  m_icon = icon;
+  if (!icon.Ok()) return;
+  
+  wxMask *mask = icon.GetMask();
+  GdkBitmap *bm = NULL;
+  if (mask) bm = mask->GetBitmap();
+  
+  gdk_window_set_icon( m_widget->window, NULL, icon.GetPixmap(), bm );
+}
+
 
index ad4f5e96544aeade8ad59dc757b22f7e0532ce8d..a048a12227d0426ac0dedd564f2f3ed7a7040707 100644 (file)
@@ -255,7 +255,7 @@ static GdkFont *wxLoadQueryNearestFont(int point_size, int fontid,
                                           int style, int weight, 
                                           bool underlined);
 
-GdkFont *wxFont::GetInternalFont(float scale)
+GdkFont *wxFont::GetInternalFont(float scale) const
 {
   if (M_FONTDATA->m_byXFontName) return M_FONTDATA->m_font;
    
index 716e2ee6623971b8ed41199d39aea5d31e599b15..d7475b3a8ef8bbeb6f8e6c87834cba5f99e671a7 100644 (file)
@@ -515,9 +515,8 @@ void wxFrame::SetTitle( const wxString &title )
 
 void wxFrame::SetSizeHints(int minW, int minH, int maxW, int maxH, int WXUNUSED(incW) )
 {
-  if (m_wxwindow)
-    gdk_window_set_hints( m_wxwindow->window, -1, -1, 
-                         minW, minH, maxW, maxH, GDK_HINT_MIN_SIZE | GDK_HINT_MIN_SIZE );
+  gdk_window_set_hints( m_widget->window, -1, -1, 
+                       minW, minH, maxW, maxH, GDK_HINT_MIN_SIZE | GDK_HINT_MIN_SIZE );
 }
 
 void wxFrame::SetIcon( const wxIcon &icon )
index 35832b897f74a4d62acba2d8cee87b44329ebe24..6cd28ae420d18a3f47be58d9015f0fba8ccb392b 100644 (file)
@@ -254,7 +254,7 @@ void wxMenu::Append( int id, const wxString &item, const wxString &helpStr, bool
   wxMenuItem *mitem = new wxMenuItem();
   mitem->SetId(id);
   mitem->SetText(item);
-  mitem->SetHelpString(helpStr);
+  mitem->SetHelp(helpStr);
   mitem->SetCheckable(checkable);
   const char *text = mitem->GetText();
   GtkWidget *menuItem = checkable ? gtk_check_menu_item_new_with_label(text)
@@ -277,7 +277,7 @@ void wxMenu::Append( int id, const wxString &text, wxMenu *subMenu, const wxStri
   mitem->SetText(text);
 
   GtkWidget *menuItem = gtk_menu_item_new_with_label(mitem->GetText());
-  mitem->SetHelpString(helpStr);
+  mitem->SetHelp(helpStr);
   mitem->SetMenuItem(menuItem);
   mitem->SetSubMenu(subMenu);
 
@@ -344,10 +344,30 @@ bool wxMenu::IsChecked( int id ) const
 void wxMenu::SetLabel( int id, const wxString &label )
 {
   wxMenuItem *item = FindItem(id);
-  if ( item )
+  if (item)
     item->SetText(label);
 }
 
+wxString wxMenu::GetLabel( int id ) const
+{
+  wxMenuItem *item = FindItem(id);
+  if (item) return item->GetText();
+  return "";
+}
+
+void wxMenu::SetHelpString( int id, const wxString& helpString )
+{
+  wxMenuItem *item = FindItem(id);
+  if (item) item->SetHelp( helpString );
+}
+
+wxString wxMenu::GetHelpString( int id ) const
+{
+  wxMenuItem *item = FindItem(id);
+  if (item) return item->GetHelp();
+  return "";
+}
+
 int wxMenu::FindMenuIdByMenuItem( GtkWidget *menuItem ) const
 {
   wxNode *node = m_items.First();
index 12a31edeaa2ba3034d377f8ccbfbd27e123200b2..81628667f9ec0fe5ce41aa9fdd112b482247d0a8 100644 (file)
@@ -1393,6 +1393,31 @@ void wxWindow::Enable( bool enable )
   if (m_wxwindow) gtk_widget_set_sensitive( m_wxwindow, enable );
 }
 
+int wxWindow::GetCharHeight(void) const
+{
+  GdkFont *font = m_font.GetInternalFont( 1.0 );
+  return font->ascent + font->descent;
+}
+
+int wxWindow::GetCharWidth(void) const
+{
+  GdkFont *font = m_font.GetInternalFont( 1.0 );
+  return gdk_string_width( font, "H" );
+}
+
+void wxWindow::GetTextExtent( const wxString& string, int *x, int *y,
+  int *descent, int *externalLeading, const wxFont *theFont, bool WXUNUSED(use16) ) const
+{
+  wxFont fontToUse = m_font;
+  if (theFont) fontToUse = *theFont;
+  
+  GdkFont *font = fontToUse.GetInternalFont( 1.0 );
+  if (x) (*y) = gdk_string_width( font, string );
+  if (y) (*y) = font->ascent + font->descent;
+  if (descent) (*descent) = font->descent;
+  if (externalLeading) (*externalLeading) = 0;  // ??
+}
+
 void wxWindow::MakeModal( bool modal )
 {
   return;
@@ -1516,11 +1541,6 @@ int wxWindow::GetReturnCode(void)
   return m_retCode;
 }
 
-wxWindow *wxWindow::GetParent(void)
-{
-  return m_parent;
-}
-
 void wxWindow::Raise(void)
 {
   if (m_widget) gdk_window_raise( m_widget->window );