X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6ca41e57f48db4c1a2de7ae67c7e4b655d9809af..3013b6f46099b8cf0d2f9f656e883e4606ca833d:/include/wx/gtk1/window.h?ds=sidebyside diff --git a/include/wx/gtk1/window.h b/include/wx/gtk1/window.h index bb9545f723..339a9d6106 100644 --- a/include/wx/gtk1/window.h +++ b/include/wx/gtk1/window.h @@ -43,11 +43,12 @@ class wxSizer; class wxResourceTable; class wxItemResource; +class wxClientData; +class wxVoidClientData; class wxWindow; -class wxCanvas; //----------------------------------------------------------------------------- -// callback definition for inserting a window +// callback definition for inserting a window (internal) //----------------------------------------------------------------------------- typedef void (*wxInsertChildFunction)( wxWindow*, wxWindow* ); @@ -60,6 +61,33 @@ extern const char *wxPanelNameStr; extern const wxSize wxDefaultSize; extern const wxPoint wxDefaultPosition; +//----------------------------------------------------------------------------- +// wxClientData +//----------------------------------------------------------------------------- + +class wxClientData +{ +public: + wxClientData() { } + virtual ~wxClientData() { } +}; + +//----------------------------------------------------------------------------- +// wxStringClientData +//----------------------------------------------------------------------------- + +class wxStringClientData: public wxClientData +{ +public: + wxStringClientData() { } + wxStringClientData( wxString &data ) { m_data = data; } + void SetData( wxString &data ) { m_data = data; } + wxString GetData() const { return m_data; } + +private: + wxString m_data; +}; + //----------------------------------------------------------------------------- // wxWindow //----------------------------------------------------------------------------- @@ -67,7 +95,7 @@ extern const wxPoint wxDefaultPosition; class wxWindow: public wxEvtHandler { DECLARE_DYNAMIC_CLASS(wxWindow) - + public: wxWindow(); wxWindow(wxWindow *parent, wxWindowID id, @@ -82,7 +110,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); @@ -122,23 +150,25 @@ public: virtual void Enable( bool enable ); virtual void MakeModal( bool modal ); virtual bool IsEnabled() const { return m_isEnabled; } - inline bool Enabled(void) const { return IsEnabled(); } + inline bool Enabled() const { return IsEnabled(); } virtual void SetFocus(); virtual bool OnClose(); virtual void AddChild( wxWindow *child ); - wxList *GetChildren(); + wxList& GetChildren() { return m_children; } + virtual void RemoveChild( wxWindow *child ); void SetReturnCode( int retCode ); int GetReturnCode(); wxWindow *GetParent() const { return m_parent; } - wxWindow *GetGrandParent(void) const + wxWindow *GetGrandParent() const { return (m_parent ? m_parent->m_parent : (wxWindow*)NULL); } void SetParent( wxWindow *p ) { 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 ); @@ -146,19 +176,25 @@ public: virtual wxValidator *GetValidator(); virtual void SetValidator( const wxValidator &validator ); + 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 ); 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; @@ -170,24 +206,28 @@ public: virtual wxColour GetForegroundColour() const; virtual void SetForegroundColour( const wxColour &colour ); - virtual int GetCharHeight(void) const; - virtual int GetCharWidth(void) const; + virtual int GetCharHeight() const; + virtual int GetCharWidth() 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 SetFont( const wxFont &font ); - virtual wxFont *GetFont(); - // For backward compatibility + virtual const 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 const wxFont& GetLabelFont() { return GetFont(); }; + inline virtual const 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 ); @@ -198,14 +238,16 @@ public: virtual bool IsShown() const; - virtual void Raise(void); - virtual void Lower(void); + virtual void Raise(); + virtual void Lower(); 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 ); @@ -229,31 +271,27 @@ public: virtual void ScrollWindow( int dx, int dy, const wxRect* rect = (wxRect *) NULL ); virtual bool AcceptsFocus() const; + void UpdateWindowUI(); // implementation - - virtual GtkWidget *GetConnectWidget(void); - virtual bool IsOwnGtkWindow( GdkWindow *window ); - void ConnectWidget( GtkWidget *widget ); - void ConnectDnDWidget( GtkWidget *widget ); - void DisconnectDnDWidget( GtkWidget *widget ); - + 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 void ImplementSetSize(); - virtual void ImplementSetPosition(); - + 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; @@ -264,18 +302,20 @@ public: int m_retCode; wxEvtHandler *m_eventHandler; wxValidator *m_windowValidator; - wxDropTarget *m_pDropTarget; + wxDropTarget *m_dropTarget; wxWindowID m_windowId; wxCursor *m_cursor; wxFont m_font; wxColour m_backgroundColour; - wxColour m_foregroundColour ; + 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; GtkWidget *m_widget; GtkWidget *m_wxwindow; @@ -290,7 +330,8 @@ public: bool m_resizing; GdkGC *m_scrollGC; GtkStyle *m_widgetStyle; - + bool m_isStaticBox; + wxInsertChildFunction m_insertCallback; public: