/////////////////////////////////////////////////////////////////////////////
-// Name: control.h
+// Name: wx/os2/control.h
// Purpose: wxControl class
// Author: David Webster
// Modified by:
#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)
,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
//
//
// 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);
,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
//
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
);
//
- // 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_