X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/77ffb5937e89927b621128789401db8921fe580f..c6ea1fdaf924be4ee49a19d12f76e4fcd257bb0a:/include/wx/univ/control.h diff --git a/include/wx/univ/control.h b/include/wx/univ/control.h index 2cf7aba625..2c8afed8f6 100644 --- a/include/wx/univ/control.h +++ b/include/wx/univ/control.h @@ -6,19 +6,15 @@ // Created: 14.08.00 // RCS-ID: $Id$ // Copyright: (c) 2000 SciTech Software, Inc. (www.scitechsoft.com) -// Licence: wxWidgets licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_UNIV_CONTROL_H_ #define _WX_UNIV_CONTROL_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "control.h" -#endif - -class WXDLLEXPORT wxControlRenderer; -class WXDLLEXPORT wxInputHandler; -class WXDLLEXPORT wxRenderer; +class WXDLLIMPEXP_FWD_CORE wxControlRenderer; +class WXDLLIMPEXP_FWD_CORE wxInputHandler; +class WXDLLIMPEXP_FWD_CORE wxRenderer; // we must include it as most/all control classes derive their handlers from // it @@ -36,13 +32,13 @@ typedef wxString wxControlAction; // the list of actions which apply to all controls (other actions are defined // in the controls headers) -#define wxACTION_NONE _T("") // no action to perform +#define wxACTION_NONE wxT("") // no action to perform // ---------------------------------------------------------------------------- // wxControl: the base class for all GUI controls // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxControl : public wxControlBase, public wxInputConsumer +class WXDLLIMPEXP_CORE wxControl : public wxControlBase, public wxInputConsumer { public: wxControl() { Init(); } @@ -68,15 +64,12 @@ public: // this function will filter out '&' characters and will put the // accelerator char (the one immediately after '&') into m_chAccel - virtual void SetLabel(const wxString &label); - virtual wxString GetLabel() const; + virtual void SetLabel(const wxString& label); - // wxUniversal-specific methods + // return the current label + virtual wxString GetLabel() const { return m_label; } - // return the accel index in the string or -1 if none and puts the modified - // string intosecond parameter if non NULL - static int FindAccelIndex(const wxString& label, - wxString *labelOnly = NULL); + // wxUniversal-specific methods // return the index of the accel char in the label or -1 if none int GetAccelIndex() const { return m_indexAccel; } @@ -84,7 +77,7 @@ public: // return the accel char itself or 0 if none wxChar GetAccelChar() const { - return m_indexAccel == -1 ? _T('\0') : m_label[m_indexAccel]; + return m_indexAccel == -1 ? wxT('\0') : (wxChar)m_label[m_indexAccel]; } virtual wxWindow *GetInputWindow() const { return (wxWindow*)this; } @@ -93,6 +86,11 @@ protected: // common part of all ctors void Init(); + // set m_label and m_indexAccel and refresh the control to show the new + // label (but, unlike SetLabel(), don't call the base class SetLabel() thus + // avoiding to change wxControlBase::m_labelOrig) + void UnivDoSetLabel(const wxString& label); + private: // label and accel info wxString m_label;