X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9390a202a8b9d67d393faf3e1323885e6a27c127..631f1bfed5d2df0215035207355d838328237578:/include/wx/gtk1/window.h diff --git a/include/wx/gtk1/window.h b/include/wx/gtk1/window.h index f7ca89a62d..6d460d0530 100644 --- a/include/wx/gtk1/window.h +++ b/include/wx/gtk1/window.h @@ -55,6 +55,7 @@ class wxItemResource; #if wxUSE_DRAG_AND_DROP class wxDropTarget; #endif +class wxToolTip; //----------------------------------------------------------------------------- // callback definition for inserting a window (internal) @@ -77,8 +78,8 @@ extern const wxPoint wxDefaultPosition; class wxClientData { public: - wxClientData() { } - virtual ~wxClientData() { } + wxClientData() { } + virtual ~wxClientData() { } }; //----------------------------------------------------------------------------- @@ -145,36 +146,36 @@ 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(); virtual void SetSizeHints( int minW, int minH, int maxW = -1, int maxH = -1, int incW = -1, int incH = -1 ); - // Dialog units translations. Implemented in wincmn.cpp. - wxPoint ConvertPixelsToDialog(const wxPoint& pt) ; - wxPoint ConvertDialogToPixels(const wxPoint& pt) ; - inline wxSize ConvertPixelsToDialog(const wxSize& sz) - { wxPoint pt(ConvertPixelsToDialog(wxPoint(sz.x, sz.y))); return wxSize(pt.x, pt.y); } - inline wxSize ConvertDialogToPixels(const wxSize& sz) - { wxPoint pt(ConvertDialogToPixels(wxPoint(sz.x, sz.y))); return wxSize(pt.x, pt.y); } + /* Dialog units translations. Implemented in wincmn.cpp. */ + wxPoint ConvertPixelsToDialog( const wxPoint& pt ); + wxPoint ConvertDialogToPixels( const wxPoint& pt ); + inline wxSize ConvertPixelsToDialog( const wxSize& sz ) + { wxPoint pt(ConvertPixelsToDialog(wxPoint(sz.x, sz.y))); return wxSize(pt.x, pt.y); } + inline wxSize ConvertDialogToPixels( const wxSize& sz ) + { wxPoint pt(ConvertDialogToPixels(wxPoint(sz.x, sz.y))); return wxSize(pt.x, pt.y); } void OnSize( wxSizeEvent &event ); @@ -183,23 +184,23 @@ public: virtual void MakeModal( bool modal ); virtual bool IsEnabled() const { return m_isEnabled; } inline bool Enabled() const { return IsEnabled(); } - virtual bool OnClose(); virtual void SetFocus(); static wxWindow *FindFocus(); - + virtual void AddChild( wxWindow *child ); wxList& GetChildren() { return m_children; } virtual void RemoveChild( wxWindow *child ); void SetReturnCode( int retCode ); int GetReturnCode(); + wxWindow *GetParent() const { return m_parent; } wxWindow *GetGrandParent() const { return (m_parent ? m_parent->m_parent : (wxWindow*)NULL); } - void SetParent( wxWindow *p ) - { m_parent = p; } + void SetParent( wxWindow *parent ) + { m_parent = parent; } virtual wxWindow *ReParent( wxWindow *newParent ); wxEvtHandler *GetEventHandler() const; @@ -207,8 +208,8 @@ public: void PushEventHandler( wxEvtHandler *handler ); wxEvtHandler *PopEventHandler( bool deleteHandler = FALSE ); - virtual wxValidator *GetValidator(); virtual void SetValidator( const wxValidator &validator ); + virtual wxValidator *GetValidator(); virtual void SetClientObject( wxClientData *data ); virtual wxClientData *GetClientObject(); @@ -227,15 +228,21 @@ public: void SetCursor( const wxCursor &cursor ); void WarpPointer(int x, int y); - + +#if wxUSE_TOOLTIPS + void SetToolTip( const wxString &tip ); + virtual void SetToolTip( wxToolTip *tip ); + wxToolTip* GetToolTip() const { return m_toolTip; } +#endif // wxUSE_TOOLTIPS + 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; - virtual bool IsExposed(const wxPoint& pt) const; - virtual bool IsExposed(const wxRect& rect) 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 ); @@ -253,10 +260,10 @@ public: 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(); }; + virtual void SetButtonFont(const wxFont& font) { SetFont(font); } + virtual void SetLabelFont(const wxFont& font) { SetFont(font); } + virtual wxFont& GetLabelFont() { return GetFont(); }; + virtual wxFont& GetButtonFont() { return GetFont(); }; virtual void SetWindowStyleFlag( long flag ); virtual long GetWindowStyleFlag() const; @@ -270,7 +277,7 @@ public: virtual wxString GetName() const; virtual wxString GetLabel() const; - void OnSysColourChanged( wxSysColourChangedEvent &WXUNUSED(event) ) {}; + void OnSysColourChanged( wxSysColourChangedEvent &WXUNUSED(event) ) { } void OnKeyDown( wxKeyEvent &event ); virtual bool IsShown() const; @@ -282,8 +289,8 @@ public: virtual wxWindow *FindWindow( long id ); virtual wxWindow *FindWindow( const wxString& name ); - void AllowDoubleClick( bool WXUNUSED(allow) ) {}; - void SetDoubleClick( bool WXUNUSED(allow) ) {}; + void AllowDoubleClick( bool WXUNUSED(allow) ) { } + void SetDoubleClick( bool WXUNUSED(allow) ) { } virtual void ClientToScreen( int *x, int *y ); virtual void ScreenToClient( int *x, int *y ); @@ -315,24 +322,39 @@ public: // implementation + virtual wxPoint GetClientAreaOrigin() const; + virtual void AdjustForParentClientOrigin( int& x, int& y, int sizeFlags ); + + bool HasVMT(); + + virtual void OnInternalIdle(); + + /* 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 ); - bool HasVMT(); - - virtual wxPoint GetClientAreaOrigin() const; - virtual void AdjustForParentClientOrigin( int& x, int& y, int sizeFlags ); - GtkStyle *GetWidgetStyle(); void SetWidgetStyle(); virtual void ApplyWidgetStyle(); - - virtual void OnInternalIdle(); + +#if wxUSE_TOOLTIPS + virtual void ApplyToolTip( GtkTooltips *tips, const char *tip ); +#endif // wxUSE_TOOLTIPS + + /* private member variables */ wxWindow *m_parent; wxList m_children; @@ -360,6 +382,10 @@ public: 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;