X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/db1b49617679e97304ddc36491bfcdc14381d904..2b9bd418c5ca5cfabf1d183db391893d1040b5f2:/include/wx/gtk/window.h diff --git a/include/wx/gtk/window.h b/include/wx/gtk/window.h index 21a177b91d..fc4a1e35e2 100644 --- a/include/wx/gtk/window.h +++ b/include/wx/gtk/window.h @@ -83,11 +83,21 @@ public: wxStringClientData( wxString &data ) { m_data = data; } void SetData( wxString &data ) { m_data = data; } wxString GetData() const { return m_data; } - + private: wxString m_data; }; +//----------------------------------------------------------------------------- +// (debug) +//----------------------------------------------------------------------------- + +#ifdef __WXDEBUG__ + +void debug_focus_in( GtkWidget* widget, const char* name, const char* window ); + +#endif + //----------------------------------------------------------------------------- // wxWindow //----------------------------------------------------------------------------- @@ -95,7 +105,7 @@ private: class wxWindow: public wxEvtHandler { DECLARE_DYNAMIC_CLASS(wxWindow) - + public: wxWindow(); wxWindow(wxWindow *parent, wxWindowID id, @@ -110,7 +120,7 @@ public: const wxString& name = wxPanelNameStr); virtual ~wxWindow(); - virtual bool LoadFromResource( wxWindow *parent, const wxString& resourceName, + virtual bool LoadFromResource( wxWindow *parent, const wxString& resourceName, const wxResourceTable *table = (const wxResourceTable *) NULL); virtual wxControl *CreateItem(const wxItemResource* childResource, const wxItemResource* parentResource, const wxResourceTable *table = (const wxResourceTable *) NULL); @@ -124,11 +134,23 @@ public: virtual void SetSize( int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO ); virtual void SetSize( int width, int height ); + virtual void Move( int x, int y ); + virtual void GetSize( int *width, int *height ) const; + wxSize GetSize() const { int w, h; GetSize(& w, & h); return wxSize(w, h); } + virtual void SetClientSize( int const width, int const height ); + virtual void GetClientSize( int *width, int *height ) const; + wxSize GetClientSize() const { int w, h; GetClientSize(& w, & h); return wxSize(w, h); } + virtual void GetPosition( int *x, int *y ) const; + wxPoint GetPosition() const { int w, h; GetPosition(& w, & h); return wxPoint(w, h); } + + wxRect GetRect() const + { int x, y, w, h; GetPosition(& x, & y); GetSize(& w, & h); return wxRect(x, y, w, h); } + virtual void Centre( int direction = wxHORIZONTAL ); inline void Center(int direction = wxHORIZONTAL) { Centre(direction); } virtual void Fit(); @@ -151,11 +173,14 @@ public: virtual void MakeModal( bool modal ); virtual bool IsEnabled() const { return m_isEnabled; } inline bool Enabled() const { return IsEnabled(); } - virtual void SetFocus(); virtual bool OnClose(); + virtual void SetFocus(); + static wxWindow *FindFocus(); + virtual void AddChild( wxWindow *child ); - wxList& GetChildren() const; + wxList& GetChildren() { return m_children; } + virtual void RemoveChild( wxWindow *child ); void SetReturnCode( int retCode ); int GetReturnCode(); @@ -167,7 +192,7 @@ public: { m_parent = p; } virtual wxWindow *ReParent( wxWindow *newParent ); - wxEvtHandler *GetEventHandler(); + wxEvtHandler *GetEventHandler() const; void SetEventHandler( wxEvtHandler *handler ); void PushEventHandler( wxEvtHandler *handler ); wxEvtHandler *PopEventHandler( bool deleteHandler = FALSE ); @@ -177,23 +202,25 @@ public: virtual void SetClientObject( wxClientData *data ); virtual wxClientData *GetClientObject(); - + virtual void SetClientData( void *data ); virtual void *GetClientData(); - + virtual void SetAcceleratorTable( const wxAcceleratorTable& accel ); virtual wxAcceleratorTable *GetAcceleratorTable() { return &m_acceleratorTable; } - + bool IsBeingDeleted(); void SetId( wxWindowID id ); - wxWindowID GetId(); + wxWindowID GetId() const; void SetCursor( const wxCursor &cursor ); + void WarpPointer(int x, int y); + virtual void Refresh( bool eraseBackground = TRUE, const wxRect *rect = (const wxRect *) NULL ); virtual void Clear(); - + virtual wxRegion GetUpdateRegion() const; virtual bool IsExposed(int x, int y) const; virtual bool IsExposed(int x, int y, int w, int h) const; @@ -213,20 +240,20 @@ public: const wxFont *theFont = (const wxFont *) NULL, bool use16 = FALSE) const; virtual void SetFont( const wxFont &font ); - virtual wxFont *GetFont(); - + virtual wxFont& GetFont() { return m_font; } + // For backward compatibility inline virtual void SetButtonFont(const wxFont& font) { SetFont(font); } inline virtual void SetLabelFont(const wxFont& font) { SetFont(font); } - inline virtual wxFont *GetLabelFont() { return GetFont(); }; - inline virtual wxFont *GetButtonFont() { return GetFont(); }; - + inline virtual wxFont& GetLabelFont() { return GetFont(); }; + inline virtual wxFont& GetButtonFont() { return GetFont(); }; + virtual void SetWindowStyleFlag( long flag ); virtual long GetWindowStyleFlag() const; - + virtual void CaptureMouse(); virtual void ReleaseMouse(); - + virtual void SetTitle( const wxString &title ); virtual wxString GetTitle() const; virtual void SetName( const wxString &name ); @@ -243,10 +270,10 @@ public: virtual bool IsRetained(); virtual wxWindow *FindWindow( long id ); virtual wxWindow *FindWindow( const wxString& name ); - + void AllowDoubleClick( bool WXUNUSED(allow) ) {}; void SetDoubleClick( bool WXUNUSED(allow) ) {}; - + virtual void ClientToScreen( int *x, int *y ); virtual void ScreenToClient( int *x, int *y ); @@ -270,27 +297,27 @@ public: virtual void ScrollWindow( int dx, int dy, const wxRect* rect = (wxRect *) NULL ); virtual bool AcceptsFocus() const; - + void UpdateWindowUI(); // implementation - + void PreCreation( wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size, long style, const wxString &name ); void PostCreation(); virtual GtkWidget *GetConnectWidget(); virtual bool IsOwnGtkWindow( GdkWindow *window ); void ConnectWidget( GtkWidget *widget ); - + bool HasVMT(); - + virtual wxPoint GetClientAreaOrigin() const; virtual void AdjustForParentClientOrigin( int& x, int& y, int sizeFlags ); GtkStyle *GetWidgetStyle(); void SetWidgetStyle(); virtual void ApplyWidgetStyle(); - + wxWindow *m_parent; wxList m_children; @@ -306,7 +333,7 @@ public: wxCursor *m_cursor; wxFont m_font; wxColour m_backgroundColour; - wxColour m_foregroundColour ; + wxColour m_foregroundColour; wxRegion m_updateRegion; long m_windowStyle; bool m_isShown; @@ -329,7 +356,9 @@ public: bool m_resizing; GdkGC *m_scrollGC; GtkStyle *m_widgetStyle; - + bool m_isStaticBox; + bool m_acceptsFocus; + wxInsertChildFunction m_insertCallback; public: