From: Włodzimierz Skiba Date: Thu, 5 Aug 2004 16:52:13 +0000 (+0000) Subject: Peparation for native Smartphone controls based on Spinners. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/4bf45c9ecafa14b167ef0c911a83cd5cc8fba4d2 Peparation for native Smartphone controls based on Spinners. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28643 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/msw/control.h b/include/wx/msw/control.h index 24dd2a7ab7..6f36753b4d 100644 --- a/include/wx/msw/control.h +++ b/include/wx/msw/control.h @@ -65,8 +65,8 @@ public: #endif // Win95 // For ownerdraw items - virtual bool MSWOnDraw(WXDRAWITEMSTRUCT *WXUNUSED(item)) { return FALSE; }; - virtual bool MSWOnMeasure(WXMEASUREITEMSTRUCT *WXUNUSED(item)) { return FALSE; }; + virtual bool MSWOnDraw(WXDRAWITEMSTRUCT *WXUNUSED(item)) { return false; }; + virtual bool MSWOnMeasure(WXMEASUREITEMSTRUCT *WXUNUSED(item)) { return false; }; const wxArrayLong& GetSubcontrols() const { return m_subControls; } @@ -82,6 +82,12 @@ protected: // return default best size (doesn't really make any sense, override this) virtual wxSize DoGetBestSize() const; + // This is a helper for all wxControls made with UPDOWN native control. + // In wxMSW it was only wxSpinCtrl derived from wxSpinButton but in + // WinCE of Smartphones this happens also for native wxTextCtrl, + // wxChoice and others. + virtual wxSize GetBestSpinerSize(const bool is_vertical) const; + // create the control of the given Windows class: this is typically called // from Create() method of the derived class passing its label, pos and // size parameter (style parameter is not needed because m_windowStyle is @@ -98,7 +104,7 @@ protected: // // create the control of the given class with the given style (combination // of WS_XXX flags, i.e. Windows style, not wxWidgets one), returns - // FALSE if creation failed + // false if creation failed // // All parameters except classname and style are optional, if the // size/position are not given, they should be set later with SetSize() @@ -122,7 +128,6 @@ protected: static wxVisualAttributes GetCompositeControlsDefaultAttributes(wxWindowVariant variant); - // for controls like radiobuttons which are really composite this array // holds the ids (not HWNDs!) of the sub controls wxArrayLong m_subControls; @@ -132,5 +137,4 @@ private: DECLARE_EVENT_TABLE() }; -#endif - // _WX_CONTROL_H_ +#endif // _WX_CONTROL_H_ diff --git a/include/wx/msw/spinbutt.h b/include/wx/msw/spinbutt.h index 6e1931bfa3..0336eb411b 100644 --- a/include/wx/msw/spinbutt.h +++ b/include/wx/msw/spinbutt.h @@ -19,6 +19,8 @@ #include "wx/control.h" #include "wx/event.h" +#if wxUSE_SPINBTN + class WXDLLEXPORT wxSpinButton : public wxSpinButtonBase { public: @@ -26,7 +28,7 @@ public: wxSpinButton() { } wxSpinButton(wxWindow *parent, - wxWindowID id = -1, + wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxSP_VERTICAL | wxSP_ARROW_KEYS, @@ -38,7 +40,7 @@ public: virtual ~wxSpinButton(); bool Create(wxWindow *parent, - wxWindowID id = -1, + wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxSP_VERTICAL | wxSP_ARROW_KEYS, @@ -57,7 +59,7 @@ public: WXWORD pos, WXHWND control); // a wxSpinButton can't do anything useful with focus, only wxSpinCtrl can - virtual bool AcceptsFocus() const { return FALSE; } + virtual bool AcceptsFocus() const { return false; } protected: virtual wxSize DoGetBestSize() const; @@ -66,5 +68,6 @@ private: DECLARE_DYNAMIC_CLASS_NO_COPY(wxSpinButton) }; -#endif - // _WX_SPINBUTT_H_ +#endif // wxUSE_SPINBTN + +#endif // _WX_SPINBUTT_H_ diff --git a/src/msw/control.cpp b/src/msw/control.cpp index 431350abb2..efe188ffba 100644 --- a/src/msw/control.cpp +++ b/src/msw/control.cpp @@ -206,6 +206,26 @@ wxSize wxControl::DoGetBestSize() const return wxSize(DEFAULT_ITEM_WIDTH, DEFAULT_ITEM_HEIGHT); } +// This is a helper for all wxControls made with UPDOWN native control. +// In wxMSW it was only wxSpinCtrl derived from wxSpinButton but in +// WinCE of Smartphones this happens also for native wxTextCtrl, +// wxChoice and others. +wxSize wxControl::GetBestSpinerSize(const bool is_vertical) const +{ + if (is_vertical) + { + // vertical control + return wxSize(GetSystemMetrics(SM_CXVSCROLL), + 2*GetSystemMetrics(SM_CYVSCROLL)); + } + else + { + // horizontal control + return wxSize(2*GetSystemMetrics(SM_CXHSCROLL), + GetSystemMetrics(SM_CYHSCROLL)); + } +} + /* static */ wxVisualAttributes wxControl::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant)) { @@ -236,25 +256,6 @@ wxControl::GetCompositeControlsDefaultAttributes(wxWindowVariant WXUNUSED(varian return attrs; } -// This is a helper for all wxControls derived from UPDOWN native control. -// In wxMSW it was only wxSpinCtrl derived from wxSpinButton but in -// Smartphones this happens also for native wxTextCtrl, wxChoice and others. -wxSize wxControl::GetBestSpinerSize(bool is_vertical) -{ - if (is_vertical) - { - // vertical control - return wxSize(GetSystemMetrics(SM_CXVSCROLL), - 2*GetSystemMetrics(SM_CYVSCROLL)); - } - else - { - // horizontal control - return wxSize(2*GetSystemMetrics(SM_CXHSCROLL), - GetSystemMetrics(SM_CYHSCROLL)); - } -} - // ---------------------------------------------------------------------------- // message handling // ----------------------------------------------------------------------------