X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e149aaeb44b8cdf3ed2ca62cf7bbe0049a18e3c9..a7ee13434043592cce6f9a1d8344686a9867f68e:/include/wx/gtk/window.h diff --git a/include/wx/gtk/window.h b/include/wx/gtk/window.h index 26e0c6a340..a029a5dc16 100644 --- a/include/wx/gtk/window.h +++ b/include/wx/gtk/window.h @@ -26,6 +26,7 @@ #include "wx/dc.h" #include "wx/region.h" #include "wx/dnd.h" +#include "wx/accel.h" //----------------------------------------------------------------------------- // global data @@ -40,6 +41,8 @@ extern wxList wxTopLevelWindows; class wxLayoutConstraints; class wxSizer; +class wxResourceTable; +class wxItemResource; class wxWindow; class wxCanvas; @@ -60,13 +63,26 @@ class wxWindow: public wxEvtHandler { public: wxWindow(); - wxWindow( wxWindow *parent, wxWindowID id, - const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, - long style = 0, const wxString &name = wxPanelNameStr ); - bool Create( wxWindow *parent, wxWindowID id, - const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, - long style = 0, const wxString &name = wxPanelNameStr ); + inline wxWindow(wxWindow *parent, wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxString& name = wxPanelNameStr) + { + Create(parent, id, pos, size, style, name); + } + bool Create(wxWindow *parent, wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxString& name = wxPanelNameStr); virtual ~wxWindow(); + + virtual bool LoadFromResource( wxWindow *parent, const wxString& resourceName, + const wxResourceTable *table = (const wxResourceTable *) NULL); + virtual wxControl *CreateItem( const wxItemResource *childResource, + const wxResourceTable *table = (const wxResourceTable *) NULL); + bool Close( bool force = FALSE ); virtual bool Destroy(); virtual bool DestroyChildren(); @@ -82,15 +98,19 @@ public: virtual void GetClientSize( int *width, int *height ) const; virtual void GetPosition( int *x, int *y ) const; virtual void Centre( int direction = wxHORIZONTAL ); + inline void Center(int direction = wxHORIZONTAL) { Centre(direction); } virtual void Fit(); + virtual void SetSizeHints( int minW, int minH, int maxW = -1, int maxH = -1, int incW = -1, int incH = -1 ); + void OnSize( wxSizeEvent &event ); void OnIdle( wxIdleEvent& event ); virtual bool Show( bool show ); virtual void Enable( bool enable ); virtual void MakeModal( bool modal ); - virtual bool IsEnabled() const { return m_isEnabled; }; + virtual bool IsEnabled() const { return m_isEnabled; } + inline bool Enabled(void) const { return IsEnabled(); } virtual void SetFocus(); virtual bool OnClose(); @@ -99,14 +119,24 @@ 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 SetParent( wxWindow *p ) + { m_parent = p; } wxEvtHandler *GetEventHandler(); - void SetEventhandler( wxEvtHandler *handler ); + void SetEventHandler( wxEvtHandler *handler ); + void PushEventHandler( wxEvtHandler *handler ); + wxEvtHandler *PopEventHandler( bool deleteHandler = FALSE ); virtual wxValidator *GetValidator(); - virtual void SetValidator( wxValidator *validator ); + virtual void SetValidator( const wxValidator &validator ); + virtual void SetAcceleratorTable( const wxAcceleratorTable& accel ); + virtual wxAcceleratorTable *GetAcceleratorTable() { return &m_acceleratorTable; } + bool IsBeingDeleted(); void SetId( wxWindowID id ); @@ -114,22 +144,35 @@ public: void SetCursor( const wxCursor &cursor ); - virtual void Refresh( bool eraseBackground = TRUE, const wxRect *rect = NULL ); + virtual void Refresh( bool eraseBackground = TRUE, const wxRect *rect = (const wxRect *) NULL ); virtual void Clear(); - virtual bool IsExposed( long x, long y ); - virtual bool IsExposed( long x, long y, long width, long height ); + + virtual wxRegion GetUpdateRegion() const; + virtual bool IsExposed(int x, int y) const; + virtual bool IsExposed(int x, int y, int w, int h) const; + virtual bool IsExposed(const wxPoint& pt) const; + virtual bool IsExposed(const wxRect& rect) const; virtual wxColour GetBackgroundColour() const; 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 = (int *) NULL, + int *externalLeading = (int *) NULL, + const wxFont *theFont = (const wxFont *) 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(); @@ -152,12 +195,8 @@ public: virtual bool IsShown() const; - // Raise the window to the top of the Z order - virtual void Raise(void) {}; - - // Lower the window to the bottom of the Z order - virtual void Lower(void) {}; - + virtual void Raise(void); + virtual void Lower(void); virtual bool IsRetained(); virtual wxWindow *FindWindow( long id ); @@ -172,81 +211,78 @@ public: virtual bool TransferDataFromWindow(); void OnInitDialog( wxInitDialogEvent &event ); virtual void InitDialog(); - + virtual bool PopupMenu( wxMenu *menu, int x, int y ); virtual void SetDropTarget( wxDropTarget *dropTarget ); virtual wxDropTarget *GetDropTarget() const; - -private: - virtual GtkWidget* GetConnectWidget(void); - -public: + virtual void SetScrollbar( int orient, int pos, int thumbVisible, int range, bool refresh = TRUE ); virtual void SetScrollPos( int orient, int pos, bool refresh = TRUE ); virtual int GetScrollPos( int orient ) const; virtual int GetScrollThumb( int orient ) const; virtual int GetScrollRange( int orient ) const; - virtual void ScrollWindow( int dx, int dy, const wxRect* rect = NULL ); + virtual void ScrollWindow( int dx, int dy, const wxRect* rect = (wxRect *) NULL ); - // return FALSE from here if the window doesn't want the focus virtual bool AcceptsFocus() const; - - // update the UI state (called from OnIdle) void UpdateWindowUI(); - public: // cannot get private going yet + virtual GtkWidget* GetConnectWidget(void); + virtual bool IsOwnGtkWindow( GdkWindow *window ); + void PreCreation( wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size, long style, const wxString &name ); void PostCreation(); bool HasVMT(); virtual void ImplementSetSize(); virtual void ImplementSetPosition(); - 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; - bool m_resizing; - -public: // Layout section - - wxLayoutConstraints * m_constraints; - wxList * m_constraintsInvolvedIn; - wxSizer * m_windowSizer; - wxWindow * m_sizerParent; - bool m_autoLayout; + + 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; + 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; + wxAcceleratorTable m_acceleratorTable; + + 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_hasOwnStyle; + bool m_hasVMT; + bool m_sizeSet; + bool m_resizing; + +public: + + wxLayoutConstraints *m_constraints; + wxList *m_constraintsInvolvedIn; + wxSizer *m_windowSizer; + wxWindow *m_sizerParent; + bool m_autoLayout; wxLayoutConstraints *GetConstraints() const; void SetConstraints( wxLayoutConstraints *constraints );