X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d608dde1d73fdbacbe05ddf81c252da945c2e71a..da8b1d4b3b535aba94d04494f5b6e2b3e47901ee:/include/wx/os2/control.h diff --git a/include/wx/os2/control.h b/include/wx/os2/control.h index d7cfb69f0f..0fc4ceeba5 100644 --- a/include/wx/os2/control.h +++ b/include/wx/os2/control.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: control.h +// Name: wx/os2/control.h // Purpose: wxControl class // Author: David Webster // Modified by: @@ -14,10 +14,8 @@ #include "wx/dynarray.h" -WXDLLEXPORT_DATA(extern const wxChar*) wxControlNameStr; - // General item class -class WXDLLEXPORT wxControl : public wxControlBase +class WXDLLIMPEXP_CORE wxControl : public wxControlBase { DECLARE_ABSTRACT_CLASS(wxControl) @@ -28,34 +26,25 @@ public: ,const wxPoint& rPos = wxDefaultPosition ,const wxSize& rSize = wxDefaultSize ,long lStyle = 0 -#if wxUSE_VALIDATORS ,const wxValidator& rValidator = wxDefaultValidator -#endif ,const wxString& rsName = wxControlNameStr ) { - Create( pParent - ,vId - ,rPos - ,rSize - ,lStyle - ,rValidator - ,rsName - ); + Create( pParent, vId, rPos, rSize, lStyle, rValidator, rsName ); } - virtual ~wxControl(); bool Create( wxWindow* pParent ,wxWindowID vId ,const wxPoint& rPos = wxDefaultPosition ,const wxSize& rSize = wxDefaultSize ,long lStyle = 0 -#if wxUSE_VALIDATORS ,const wxValidator& rValidator = wxDefaultValidator -#endif ,const wxString& rsName = wxControlNameStr ); + virtual void SetLabel(const wxString& rsLabel); + virtual wxString GetLabel() const { return m_label; } + // // Simulates an event // @@ -74,8 +63,8 @@ public: // // For ownerdraw items // - virtual bool OS2OnDraw(WXDRAWITEMSTRUCT* WXUNUSED(pItem)) { return FALSE; }; - virtual bool OS2OnMeasure(WXMEASUREITEMSTRUCT* WXUNUSED(pItem)) { return FALSE; }; + virtual bool OS2OnDraw(WXDRAWITEMSTRUCT* WXUNUSED(pItem)) { return false; }; + virtual long OS2OnMeasure(WXMEASUREITEMSTRUCT* WXUNUSED(pItem)) { return 0L; }; wxArrayLong& GetSubcontrols() { return m_aSubControls; } void OnEraseBackground(wxEraseEvent& rEvent); @@ -87,26 +76,7 @@ public: ,WXLPARAM lParam ); -#if WXWIN_COMPATIBILITY - virtual void SetButtonColour(const wxColour& WXUNUSED(rCol)) { } - wxColour* GetButtonColour(void) const { return NULL; } - - inline virtual void SetLabelFont(const wxFont& rFont); - inline virtual void SetButtonFont(const wxFont& rFont); - inline wxFont& GetLabelFont(void) const; - inline wxFont& GetButtonFont(void) const; - - // - // Adds callback - // - inline void Callback(const wxFunction function); - wxFunction GetCallback(void) { return m_callback; } - -protected: - wxFunction m_callback; // Callback associated with the window -#endif // WXWIN_COMPATIBILITY - -protected: +public: // // For controls like radiobuttons which are really composite // @@ -115,7 +85,16 @@ protected: virtual wxSize DoGetBestSize(void) const; // - // Create the control of the given class with the given style, returns FALSE + // Create the control of the given PM class + // + bool OS2CreateControl( const wxChar* zClassname + ,const wxString& rsLabel + ,const wxPoint& rPos + ,const wxSize& rSize + ,long lStyle + ); + // + // Create the control of the given class with the given style, returns false // if creation failed. // bool OS2CreateControl( const wxChar* zClassname @@ -127,22 +106,25 @@ protected: ); // - // Determine the extended styles combination for this window (may slightly - // modify styl parameter) + // Default style for the control include WS_TABSTOP if it AcceptsFocus() // - WXDWORD GetExStyle(WXDWORD& rStyle) const; + virtual WXDWORD OS2GetStyle( long lStyle + ,WXDWORD* pdwExstyle + ) const; + + inline int GetXComp(void) const {return m_nXComp;} + inline int GetYComp(void) const {return m_nYComp;} + inline void SetXComp(const int nXComp) {m_nXComp = nXComp;} + inline void SetYComp(const int nYComp) {m_nYComp = nYComp;} private: - DECLARE_EVENT_TABLE() -}; // end of wxControl + int m_nXComp; + int m_nYComp; -#if WXWIN_COMPATIBILITY - inline void wxControl::Callback(const wxFunction f) { m_callback = f; }; - inline wxFont& wxControl::GetLabelFont(void) const { return GetFont(); } - inline wxFont& wxControl::GetButtonFont(void) const { return GetFont(); } - inline void wxControl::SetLabelFont(const wxFont& rFont) { SetFont(rFont); } - inline void wxControl::SetButtonFont(const wxFont& rFont) { SetFont(rFont); } -#endif // WXWIN_COMPATIBILITY + wxString m_label; + WXDWORD m_dwStyle; -#endif // _WX_CONTROL_H_ + DECLARE_EVENT_TABLE() +}; // end of wxControl +#endif // _WX_CONTROL_H_