X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/aede4ebb265b6537038e26131ebf07592ade460d..5524d92aaa1752e94e8b81abd7859713c96ba963:/include/wx/window.h diff --git a/include/wx/window.h b/include/wx/window.h index 679ceb8067..0917bae944 100644 --- a/include/wx/window.h +++ b/include/wx/window.h @@ -12,7 +12,7 @@ #ifndef _WX_WINDOW_H_BASE_ #define _WX_WINDOW_H_BASE_ -#if defined(__GNUG__) && !defined(__APPLE__) +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "windowbase.h" #endif @@ -219,6 +219,8 @@ public: return wxPoint(w, h); } + void SetPosition( const wxPoint& pt ) { Move( pt ) ; } + void GetSize( int *w, int *h ) const { DoGetSize(w, h); } wxSize GetSize() const { @@ -432,6 +434,9 @@ public: const wxWindowList& GetChildren() const { return m_children; } wxWindowList& GetChildren() { return m_children; } + // needed just for extended runtime + const wxWindowList& GetWindowChildren() const { return GetChildren() ; } + // get the parent or the parent of the parent wxWindow *GetParent() const { return m_parent; } inline wxWindow *GetGrandParent() const; @@ -516,8 +521,18 @@ public: { m_acceleratorTable = accel; } wxAcceleratorTable *GetAcceleratorTable() { return &m_acceleratorTable; } + #endif // wxUSE_ACCEL +#if wxUSE_HOTKEY + // hot keys (system wide accelerators) + // ----------------------------------- + + virtual bool RegisterHotKey(int hotkeyId, int modifiers, int keycode); + virtual bool UnregisterHotKey(int hotkeyId); +#endif // wxUSE_HOTKEY + + // dialog units translations // ------------------------- @@ -571,8 +586,8 @@ public: // repaint all invalid areas of the window immediately virtual void Update() { } - // clear the window entirely - virtual void Clear() = 0; + // clear the window background + virtual void ClearBackground(); // freeze the window: don't redraw it until it is thawed virtual void Freeze() { } @@ -688,7 +703,11 @@ public: // get border for the flags of this window wxBorder GetBorder() const { return GetBorder(GetWindowStyleFlag()); } - void UpdateWindowUI(); + // send wxUpdateUIEvents to this window, and children if recurse is TRUE + virtual void UpdateWindowUI(long flags = wxUPDATE_UI_NONE); + + // do the window-specific processing after processing the update event + virtual void DoUpdateWindowUI(wxUpdateUIEvent& event) ; #if wxUSE_MENUS bool PopupMenu( wxMenu *menu, const wxPoint& pos ) @@ -759,6 +778,7 @@ public: void SetToolTip( wxToolTip *tip ) { DoSetToolTip(tip); } // get the associated tooltip or NULL if none wxToolTip* GetToolTip() const { return m_tooltip; } + wxString GetToolTipText() const ; #endif // wxUSE_TOOLTIPS // drag and drop @@ -817,7 +837,17 @@ public: wxSizer *GetSizer() const { return m_windowSizer; } // Track if this window is a member of a sizer - void SetContainingSizer(wxSizer* sizer) { m_containingSizer = sizer; } + void SetContainingSizer(wxSizer* sizer) + { + // adding a window to a sizer twice is going to result in fatal and + // hard to debug problems later because when deleting the second + // associated wxSizerItem we're going to dereference a dangling + // pointer; so try to detect this as early as possible + wxASSERT_MSG( !sizer || m_containingSizer != sizer, + _T("Adding a window to the same sizer twice?") ); + + m_containingSizer = sizer; + } wxSizer *GetContainingSizer() const { return m_containingSizer; } // accessibility @@ -836,17 +866,6 @@ public: wxAccessible* GetOrCreateAccessible() ; #endif - // backward compatibility - // ---------------------- -#if WXWIN_COMPATIBILITY - bool Enabled() const { return IsEnabled(); } - - void SetButtonFont(const wxFont& font) { SetFont(font); } - void SetLabelFont(const wxFont& font) { SetFont(font); } - wxFont& GetLabelFont() { return GetFont(); }; - wxFont& GetButtonFont() { return GetFont(); }; -#endif // WXWIN_COMPATIBILITY - // implementation // -------------- @@ -858,7 +877,14 @@ public: void OnHelp(wxHelpEvent& event); #endif // wxUSE_HELP - // get the haqndle of the window for the underlying window system: this + // virtual function for implementing internal idle + // behaviour + virtual void OnInternalIdle() {} + + // call internal idle recursively +// void ProcessInternalIdle() ; + + // get the handle of the window for the underlying window system: this // is only used for wxWin itself or for user code which wants to call // platform-specific APIs virtual WXWidget GetHandle() const = 0; @@ -881,9 +907,7 @@ public: protected: // event handling specific to wxWindow -#if wxUSE_VALIDATORS virtual bool TryValidator(wxEvent& event); -#endif // wxUSE_VALIDATORS virtual bool TryParent(wxEvent& event); @@ -1120,6 +1144,9 @@ private: #else // !wxUniv #define wxWindowMSW wxWindow #define sm_classwxWindowMSW sm_classwxWindow + #define sm_constructorPropertiesCountwxWindowMSW sm_constructorPropertiesCountwxWindow + #define sm_constructorPropertieswxWindowMSW sm_constructorPropertieswxWindow + #define sm_constructorwxWindowMSW sm_constructorwxWindow #endif // wxUniv/!wxUniv #include "wx/msw/window.h" #elif defined(__WXMOTIF__)