]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/window.h
Use the same logic for closing dialogs as for handling Escape key.
[wxWidgets.git] / include / wx / gtk / window.h
index d34f5b1de85b59c1e833743d56eb926fc75c2d35..c7205d381b538ca07c5b1891fe642a55c8531853 100644 (file)
@@ -45,9 +45,6 @@ public:
     // implement base class (pure) virtual methods
     // -------------------------------------------
 
-    virtual void SetLabel(const wxString& WXUNUSED(label)) { }
-    virtual wxString GetLabel() const { return wxEmptyString; }
-
     virtual bool Destroy();
 
     virtual void Raise();
@@ -114,6 +111,10 @@ public:
     void SetDoubleBuffered(bool on);
     virtual bool IsDoubleBuffered() const;
 
+    // SetLabel(), which does nothing in wxWindow
+    virtual void SetLabel(const wxString& label) { m_gtkLabel = label; }
+    virtual wxString GetLabel() const            { return m_gtkLabel; }
+
     // implementation
     // --------------
 
@@ -241,7 +242,10 @@ public:
     // see the docs in src/gtk/window.cpp
     GtkWidget           *m_widget;          // mostly the widget seen by the rest of GTK
     GtkWidget           *m_wxwindow;        // mostly the client area as per wxWidgets
-
+    
+    // label for use with GetLabelSetLabel
+    wxString             m_gtkLabel;
+    
     // return true if the window is of a standard (i.e. not wxWidgets') class
     bool IsOfStandardClass() const { return m_wxwindow == NULL; }
 
@@ -279,6 +283,10 @@ public:
     // find the direction of the given scrollbar (must be one of ours)
     ScrollDir ScrollDirFromRange(GtkRange *range) const;
 
+    // set the current cursor for all GdkWindows making part of this widget
+    // (see GTKGetWindow)
+    void GTKUpdateCursor(bool update_self = true, bool recurse = true);
+
     // extra (wxGTK-specific) flags
     bool                 m_noExpose:1;          // wxGLCanvas has its own redrawing
     bool                 m_nativeSizeEvent:1;   // wxGLCanvas sends wxSizeEvent upon "alloc_size"
@@ -310,6 +318,7 @@ protected:
                            int width, int height,
                            int sizeFlags = wxSIZE_AUTO);
     virtual void DoSetClientSize(int width, int height);
+    virtual wxSize DoGetBorderSize() const;
     virtual void DoMoveWindow(int x, int y, int width, int height);
     virtual void DoEnable(bool enable);
 
@@ -323,8 +332,8 @@ protected:
     virtual void DoFreeze();
     virtual void DoThaw();
 
-    static void GTKFreezeWidget(GtkWidget *w);
-    static void GTKThawWidget(GtkWidget *w);
+    void GTKFreezeWidget(GtkWidget *w);
+    void GTKThawWidget(GtkWidget *w);
 
 #if wxUSE_TOOLTIPS
     virtual void DoSetToolTip( wxToolTip *tip );
@@ -357,11 +366,16 @@ protected:
     // sets the border of a given GtkScrolledWindow from a wx style
     static void GTKScrolledWindowSetBorder(GtkWidget* w, int style);
 
-    // set the current cursor for all GdkWindows making part of this widget
-    // (see GTKGetWindow)
+    // Connect the given function to the specified signal on m_widget.
     //
-    // should be called from OnInternalIdle() if it's overridden
-    void GTKUpdateCursor();
+    // This is just a wrapper for g_signal_connect() and returns the handler id
+    // just as it does.
+    gulong GTKConnectWidget(const char *signal, void (*callback)());
+
+    // Return true from here if PostCreation() should connect to size_request
+    // signal: this is done by default but doesn't work for some native
+    // controls which override this function to return false
+    virtual bool GTKShouldConnectSizeRequest() const { return !IsTopLevel(); }
 
     void ConstrainSize();