X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f81387bd80f8f25e88952c713f98ec9723fdde76..f794be6afe4e89ebd93ca5d78601e7a7ec44bb9f:/include/wx/window.h?ds=sidebyside diff --git a/include/wx/window.h b/include/wx/window.h index ce771ed7d2..d61eac27d8 100644 --- a/include/wx/window.h +++ b/include/wx/window.h @@ -107,7 +107,7 @@ public: // pseudo ctor (can't be virtual, called from ctor) bool CreateBase(wxWindowBase *parent, - wxWindowID id, + wxWindowID winid, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, @@ -116,16 +116,6 @@ public: virtual ~wxWindowBase(); -#if wxUSE_WX_RESOURCES - // these functions are implemented in resource.cpp and resourc2.cpp - 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); -#endif // wxUSE_WX_RESOURCES - // deleting the window // ------------------- @@ -169,7 +159,7 @@ public: // window id uniquely identifies the window among its siblings unless // it is -1 which means "don't care" - void SetId( wxWindowID id ) { m_windowId = id; } + void SetId( wxWindowID winid ) { m_windowId = winid; } wxWindowID GetId() const { return m_windowId; } // generate a control id for the controls which were not given one by @@ -177,10 +167,10 @@ public: static int NewControlId() { return --ms_lastControlId; } // get the id of the control following the one with the given // (autogenerated) id - static int NextControlId(int id) { return id - 1; } + static int NextControlId(int winid) { return winid - 1; } // get the id of the control preceding the one with the given // (autogenerated) id - static int PrevControlId(int id) { return id + 1; } + static int PrevControlId(int winid) { return winid + 1; } // moving/resizing // --------------- @@ -229,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 { @@ -464,11 +456,11 @@ public: // find window among the descendants of this one either by id or by // name (return NULL if not found) - wxWindow *FindWindow( long id ); + wxWindow *FindWindow( long winid ); wxWindow *FindWindow( const wxString& name ); // Find a window among any window (all return NULL if not found) - static wxWindow *FindWindowById( long id, const wxWindow *parent = NULL ); + static wxWindow *FindWindowById( long winid, const wxWindow *parent = NULL ); static wxWindow *FindWindowByName( const wxString& name, const wxWindow *parent = NULL ); static wxWindow *FindWindowByLabel( const wxString& label, @@ -526,8 +518,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 // ------------------------- @@ -690,11 +692,19 @@ public: // misc // ---- - // get the window border style: uses the current style and falls back to - // the default style for this class otherwise (see GetDefaultBorder()) - wxBorder GetBorder() const; + // get the window border style from the given flags: this is different from + // simply doing flags & wxBORDER_MASK because it uses GetDefaultBorder() to + // translate wxBORDER_DEFAULT to something reasonable + wxBorder GetBorder(long flags) const; + + // get border for the flags of this window + wxBorder GetBorder() const { return GetBorder(GetWindowStyleFlag()); } + + // send wxUpdateUIEvents to this window, and children if recurse is TRUE + virtual void UpdateWindowUI(long flags = wxUPDATE_UI_NONE); - void UpdateWindowUI(); + // 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 ) @@ -823,7 +833,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 @@ -864,7 +884,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; @@ -886,6 +913,13 @@ public: #endif // wxUSE_PALETTE protected: + // event handling specific to wxWindow +#if wxUSE_VALIDATORS + virtual bool TryValidator(wxEvent& event); +#endif // wxUSE_VALIDATORS + virtual bool TryParent(wxEvent& event); + + #if wxUSE_CONSTRAINTS // satisfy the constraints for the windows but don't set the window sizes void SatisfyConstraints(); @@ -1119,6 +1153,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__) @@ -1155,6 +1192,14 @@ private: #define sm_classwxWindowMac sm_classwxWindow #endif // wxUniv #include "wx/mac/window.h" +#elif defined(__WXCOCOA__) + #ifdef __WXUNIVERSAL__ + #define wxWindowNative wxWindowCocoa + #else // !wxUniv + #define wxWindowCocoa wxWindow + #define sm_classwxWindowCocoa sm_classwxWindow + #endif // wxUniv + #include "wx/cocoa/window.h" #elif defined(__WXPM__) #ifdef __WXUNIVERSAL__ #define wxWindowNative wxWindowOS2 @@ -1233,7 +1278,7 @@ public: virtual wxAccStatus GetName(int childId, wxString* name); // Gets the number of children. - virtual wxAccStatus GetChildCount(int* childId); + virtual wxAccStatus GetChildCount(int* childCount); // Gets the specified child (starting from 1). // If *child is NULL and return value is wxACC_OK,