-
- public: // cannot get private going yet
-
- void PreCreation( wxWindow *parent, wxWindowID id, const wxPoint &pos,
- const wxSize &size, long style, const wxString &name );
- void PostCreation(void);
- bool HasVMT(void);
- virtual void ImplementSetSize(void);
- virtual void ImplementSetPosition(void);
- void GetDrawingOffset( long *x, long *y );
-
- wxWindow *m_parent;
- wxList m_children;
- int m_x,m_y;
- int m_width,m_height;
- int m_retCode;
- wxEvtHandler *m_eventHandler;
- wxValidator *m_windowValidator;
- wxDropTarget *m_pDropTarget;
- wxWindowID m_windowId;
- wxCursor *m_cursor;
- wxFont m_font;
- wxColour m_backgroundColour;
- wxColour m_defaultBackgroundColour;
- wxColour m_foregroundColour ;
- wxColour m_defaultForegroundColour;
- wxRegion m_updateRegion;
- long m_windowStyle;
- bool m_isShown;
- bool m_isEnabled;
- wxString m_windowName;
- long m_drawingOffsetX,m_drawingOffsetY;
-
- GtkWidget *m_widget;
- GtkWidget *m_wxwindow;
- GtkAdjustment *m_hAdjust,*m_vAdjust;
- float m_oldHorizontalPos;
- float m_oldVerticalPos;
- bool m_needParent;
- bool m_hasScrolling;
- bool m_hasVMT;
- bool m_sizeSet;
-
- public: // Layout section
-
- wxLayoutConstraints * m_constraints;
- wxList * m_constraintsInvolvedIn;
- wxSizer * m_windowSizer;
- wxWindow * m_sizerParent;
- bool m_autoLayout;
-
- wxLayoutConstraints *GetConstraints(void) const;
+
+ void UpdateWindowUI();
+
+ // implementation
+
+ bool HasVMT();
+
+ /* I don't want users to override what's done in idle so everything that
+ has to be done in idle time in order for wxGTK to work is done in
+ OnInternalIdle */
+ virtual void OnInternalIdle();
+
+ /* For compatibility across platforms (not in event table) */
+ void OnIdle(wxIdleEvent& WXUNUSED(event)) {};
+
+ /* used by all classes in the widget creation process */
+ void PreCreation( wxWindow *parent, wxWindowID id, const wxPoint &pos,
+ const wxSize &size, long style, const wxString &name );
+ void PostCreation();
+
+ /* the methods below are required because many native widgets
+ are composed of several subwidgets and setting a style for
+ the widget means setting it for all subwidgets as well.
+ also, it is nor clear, which native widget is the top
+ widget where (most of) the input goes. even tooltips have
+ to be applied to all subwidgets. */
+
+ virtual GtkWidget* GetConnectWidget();
+ virtual bool IsOwnGtkWindow( GdkWindow *window );
+ void ConnectWidget( GtkWidget *widget );
+
+ GtkStyle *GetWidgetStyle();
+ void SetWidgetStyle();
+ virtual void ApplyWidgetStyle();
+
+#if wxUSE_TOOLTIPS
+ virtual void ApplyToolTip( GtkTooltips *tips, const wxChar *tip );
+#endif // wxUSE_TOOLTIPS
+
+ /* private member variables */
+
+ wxWindow *m_parent;
+ wxList m_children;
+ int m_x,m_y;
+ int m_width,m_height;
+ int m_minWidth,m_minHeight;
+ int m_maxWidth,m_maxHeight;
+ int m_retCode;
+ wxEvtHandler *m_eventHandler;
+ wxValidator *m_windowValidator;
+#if wxUSE_DRAG_AND_DROP
+ wxDropTarget *m_dropTarget;
+#endif
+ wxWindowID m_windowId;
+ wxCursor *m_cursor;
+ wxFont m_font;
+ wxColour m_backgroundColour;
+ wxColour m_foregroundColour;
+ wxRegion m_updateRegion;
+ long m_windowStyle;
+ bool m_isShown;
+ bool m_isEnabled;
+ wxString m_windowName;
+ wxAcceleratorTable m_acceleratorTable;
+ wxClientData *m_clientObject;
+ void *m_clientData;
+
+#if wxUSE_TOOLTIPS
+ wxToolTip *m_toolTip;
+#endif // wxUSE_TOOLTIPS
+
+ GtkWidget *m_widget;
+ GtkWidget *m_wxwindow;
+ GtkAdjustment *m_hAdjust,*m_vAdjust;
+ float m_oldHorizontalPos;
+ float m_oldVerticalPos;
+ bool m_needParent; /* ! wxFrame, wxDialog, wxNotebookPage ? */
+ bool m_hasScrolling;
+ bool m_isScrolling;
+ bool m_hasVMT;
+ bool m_sizeSet;
+ bool m_resizing;
+ GdkGC *m_scrollGC;
+ GtkStyle *m_widgetStyle;
+ bool m_isStaticBox; /* faster than IS_KIND_OF */
+ bool m_isFrame; /* faster than IS_KIND_OF */
+ bool m_acceptsFocus; /* ! wxStaticBox etc. */
+
+ wxInsertChildFunction m_insertCallback;
+
+public:
+
+ wxLayoutConstraints *m_constraints;
+ wxList *m_constraintsInvolvedIn;
+ wxSizer *m_windowSizer;
+ wxWindow *m_sizerParent;
+ bool m_autoLayout;
+
+ wxLayoutConstraints *GetConstraints() const;