WX_DEFINE_EXPORTED_ARRAY_PTR(GdkWindow *, wxArrayGdkWindows);
-//-----------------------------------------------------------------------------
-// callback definition for inserting a window (internal)
-//-----------------------------------------------------------------------------
-
-class WXDLLIMPEXP_CORE wxWindowGTK;
-typedef void (*wxInsertChildFunction)( wxWindowGTK*, wxWindowGTK* );
-
//-----------------------------------------------------------------------------
// wxWindowGTK
//-----------------------------------------------------------------------------
virtual void Lower();
virtual bool Show( bool show = true );
- virtual void DoEnable( bool enable );
virtual void SetWindowStyleFlag( long style );
virtual void ApplyToolTip( GtkTooltips *tips, const wxChar *tip );
#endif // wxUSE_TOOLTIPS
- // Called from GTK signal handlers. it indicates that
- // the layouting functions have to be called later on
- // (i.e. in idle time, implemented in OnInternalIdle() ).
- void GtkUpdateSize() { m_sizeSet = false; }
-
-
// Called when a window should delay showing itself
// until idle time. This partly mimmicks defered
// sizing under MSW.
GtkWidget *m_widget; // mostly the widget seen by the rest of GTK
GtkWidget *m_wxwindow; // mostly the client area as per wxWidgets
+ // return true if the window is of a standard (i.e. not wxWidgets') class
+ bool IsOfStandardClass() const { return m_wxwindow == NULL; }
+
// this widget will be queried for GTK's focus events
GtkWidget *m_focusWidget;
bool m_nativeSizeEvent:1; // wxGLCanvas sends wxSizeEvent upon "alloc_size"
bool m_hasScrolling:1;
bool m_hasVMT:1;
- bool m_sizeSet:1;
bool m_resizing:1;
bool m_hasFocus:1; // true if == FindFocus()
bool m_isScrolling:1; // dragging scrollbar thumb?
bool m_showOnIdle:1; // postpone showing the window until idle
+protected:
// 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;
+ typedef void (*InsertChildFunction)(wxWindowGTK*, wxWindowGTK*);
+ InsertChildFunction m_insertCallback;
-protected:
// implement the base class pure virtuals
virtual void DoClientToScreen( int *x, int *y ) const;
virtual void DoScreenToClient( int *x, int *y ) const;
int sizeFlags = wxSIZE_AUTO);
virtual void DoSetClientSize(int width, int height);
virtual void DoMoveWindow(int x, int y, int width, int height);
+ virtual void DoEnable(bool enable);
#if wxUSE_MENUS_NATIVE
virtual bool DoPopupMenu( wxMenu *menu, int x, int y );
// should be called from OnInternalIdle() if it's overridden
void GTKUpdateCursor();
+ void ConstrainSize();
+
private:
enum ScrollUnit { ScrollUnit_Line, ScrollUnit_Page, ScrollUnit_Max };