X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/eb6fda807a4f165001930844e25cc284fdfb5b4b..58ce18f2fdadecffb21e27555115af708325cf18:/include/wx/window.h?ds=sidebyside diff --git a/include/wx/window.h b/include/wx/window.h index 33a7ae01b2..2260f8fe3d 100644 --- a/include/wx/window.h +++ b/include/wx/window.h @@ -803,6 +803,13 @@ public: bool ProcessWindowEvent(wxEvent& event) { return GetEventHandler()->ProcessEvent(event); } + // Call GetEventHandler()->ProcessEventLocally(): this should be used + // instead of calling ProcessEventLocally() directly on the window + // itself as this wouldn't take any pushed event handlers into account + // correctly + bool ProcessWindowEventLocally(wxEvent& event) + { return GetEventHandler()->ProcessEventLocally(event); } + // Process an event by calling GetEventHandler()->ProcessEvent() and // handling any exceptions thrown by event handlers. It's mostly useful // when processing wx events when called from C code (e.g. in GTK+ @@ -830,6 +837,7 @@ protected: // The same holds for all other wxEvtHandler functions. using wxEvtHandler::ProcessEvent; + using wxEvtHandler::ProcessEventLocally; #if wxUSE_THREADS using wxEvtHandler::ProcessThreadEvent; #endif @@ -886,16 +894,16 @@ public: // dialog units translations // ------------------------- - wxPoint ConvertPixelsToDialog( const wxPoint& pt ); - wxPoint ConvertDialogToPixels( const wxPoint& pt ); - wxSize ConvertPixelsToDialog( const wxSize& sz ) + wxPoint ConvertPixelsToDialog( const wxPoint& pt ) const; + wxPoint ConvertDialogToPixels( const wxPoint& pt ) const; + wxSize ConvertPixelsToDialog( const wxSize& sz ) const { wxPoint pt(ConvertPixelsToDialog(wxPoint(sz.x, sz.y))); return wxSize(pt.x, pt.y); } - wxSize ConvertDialogToPixels( const wxSize& sz ) + wxSize ConvertDialogToPixels( const wxSize& sz ) const { wxPoint pt(ConvertDialogToPixels(wxPoint(sz.x, sz.y))); @@ -1139,7 +1147,8 @@ public: // simply return the id of the selected item or wxID_NONE without // generating any events - int GetPopupMenuSelectionFromUser(wxMenu& menu, const wxPoint& pos) + int GetPopupMenuSelectionFromUser(wxMenu& menu, + const wxPoint& pos = wxDefaultPosition) { return DoGetPopupMenuSelectionFromUser(menu, pos.x, pos.y); } int GetPopupMenuSelectionFromUser(wxMenu& menu, int x, int y) { return DoGetPopupMenuSelectionFromUser(menu, x, y); } @@ -1411,6 +1420,12 @@ public: // used only by Windows virtual bool CanApplyThemeBorder() const { return true; } + // returns the main window of composite control; this is the window + // that FindFocus returns if the focus is in one of composite control's + // windows + virtual wxWindow *GetMainWindowOfCompositeControl() + { return (wxWindow*)this; } + protected: // helper for the derived class Create() methods: the first overload, with // validator parameter, should be used for child windows while the second @@ -1458,12 +1473,6 @@ protected: // to true void SendDestroyEvent(); - // returns the main window of composite control; this is the window - // that FindFocus returns if the focus is in one of composite control's - // windows - virtual wxWindow *GetMainWindowOfCompositeControl() - { return (wxWindow*)this; } - // this method should be implemented to use operating system specific code // to really enable/disable the widget, it will only be called when we // really need to enable/disable window and so no additional checks on the @@ -1671,14 +1680,10 @@ protected: // of the left and the right border in the x component of the returned size // and the sum of the heights of the top and bottom borders in the y one // - // NB: this is new/temporary API only implemented by wxMSW and wxUniv so - // far and subject to change, don't use - virtual wxSize DoGetBorderSize() const - { - wxFAIL_MSG( "must be overridden if called" ); - - return wxDefaultSize; - } + // NB: this is currently only implemented properly for wxMSW, wxGTK and + // wxUniv and doesn't behave correctly in the presence of scrollbars in + // the other ports + virtual wxSize DoGetBorderSize() const; // move the window to the specified location and resize it: this is called // from both DoSetSize() and DoSetClientSize() and would usually just @@ -1741,6 +1746,8 @@ private: // explicitly disabled with SetAutoLayout(false) void InternalOnSize(wxSizeEvent& event); + // base for dialog unit conversion, i.e. average character size + wxSize GetDlgUnitBase() const; // the stack of windows which have captured the mouse static struct WXDLLIMPEXP_FWD_CORE wxWindowNext *ms_winCaptureNext;