]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/window.h
* Some more CopyObject()
[wxWidgets.git] / include / wx / gtk / window.h
index 0d38f748bd0e2fe45e149bdef2136e4a7648e49a..84de58e5ff46da2ae0188576d00bc9d75a21beb2 100644 (file)
@@ -107,6 +107,8 @@ public:
     // implementation
     // --------------
 
     // implementation
     // --------------
 
+    virtual WXWidget GetHandle() const { return m_widget; }
+
     // wxWindows callbacks
     void OnKeyDown( wxKeyEvent &event );
 
     // wxWindows callbacks
     void OnKeyDown( wxKeyEvent &event );
 
@@ -143,19 +145,24 @@ public:
     virtual bool IsOwnGtkWindow( GdkWindow *window );
     void ConnectWidget( GtkWidget *widget );
 
     virtual bool IsOwnGtkWindow( GdkWindow *window );
     void ConnectWidget( GtkWidget *widget );
 
+    // creates a new widget style if none is there
+    // and sets m_widgetStyle to this value.
     GtkStyle *GetWidgetStyle();
     GtkStyle *GetWidgetStyle();
+    
+    // called by SetFont() and SetXXXColour etc
     void SetWidgetStyle();
     void SetWidgetStyle();
+    
+    // overridden in many GTK widgets
     virtual void ApplyWidgetStyle();
 
 #if wxUSE_TOOLTIPS
     virtual void ApplyToolTip( GtkTooltips *tips, const wxChar *tip );
 #endif // wxUSE_TOOLTIPS
 
     virtual void ApplyWidgetStyle();
 
 #if wxUSE_TOOLTIPS
     virtual void ApplyToolTip( GtkTooltips *tips, const wxChar *tip );
 #endif // wxUSE_TOOLTIPS
 
-    // called from GTK signales handlers
+    // called from GTK signales handlers. it indicates that
+    // the layouting functions have to be called later on
+    // (i.e. in idle time, implemented in OnInternalIdle() ).
     void UpdateSize() { m_sizeSet = FALSE; }
     void UpdateSize() { m_sizeSet = FALSE; }
-    void InternalSetPosition(int x, int y) { m_x = x; m_y = y; }
-    void InternalSetSize(int w, int h)
-        { m_width = w; m_height = h; UpdateSize(); }
 
     // position and size of the window
     int                  m_x, m_y;
 
     // position and size of the window
     int                  m_x, m_y;
@@ -167,8 +174,13 @@ public:
 
     // scrolling stuff
     GtkAdjustment       *m_hAdjust,*m_vAdjust;
 
     // scrolling stuff
     GtkAdjustment       *m_hAdjust,*m_vAdjust;
-    float                m_oldHorizontalPos,
-                         m_oldVerticalPos;
+    float                m_oldHorizontalPos;
+    float                m_oldVerticalPos;
+
+    // we need an extra XGC flag set to get exposed
+    // events from overlapping children upon moving
+    // them. this flag will be set in this GC and
+    // the GC will be used in wxWindow::ScrollWindow().
     GdkGC               *m_scrollGC;
 
     // extra (wxGTK-specific) flags
     GdkGC               *m_scrollGC;
 
     // extra (wxGTK-specific) flags
@@ -181,9 +193,24 @@ public:
     bool                 m_isStaticBox:1;   /* faster than IS_KIND_OF */
     bool                 m_isFrame:1;       /* faster than IS_KIND_OF */
     bool                 m_acceptsFocus:1;  /* ! wxStaticBox etc.  */
     bool                 m_isStaticBox:1;   /* faster than IS_KIND_OF */
     bool                 m_isFrame:1;       /* faster than IS_KIND_OF */
     bool                 m_acceptsFocus:1;  /* ! wxStaticBox etc.  */
-
+    
+    // these are true if the style were set before the widget was realized
+    // (typcally in the constructor) but the actual GTK style must not be set
+    // before the widget has been "realized"
+    bool                 m_delayedFont:1;
+    bool                 m_delayedForegroundColour:1;
+    bool                 m_delayedBackgroundColour:1;
+    bool                 m_delayedCursor:1;
+
+    // contains GTK's widgets internal information about non-default widget
+    // font and colours. we create one for each widget that gets any
+    // non-default attribute set via SetFont() or SetForegroundColour() /
+    // SetBackgroundColour().
     GtkStyle            *m_widgetStyle;
 
     GtkStyle            *m_widgetStyle;
 
+    // C++ has no virtual methods in the constrcutor of any class but we need
+    // different methods of inserting a child window into a wxFrame,
+    // wxMDIFrame, wxNotebook etc. this is the callback that will get used.
     wxInsertChildFunction  m_insertCallback;
 
     // implement the base class pure virtuals
     wxInsertChildFunction  m_insertCallback;
 
     // implement the base class pure virtuals