3f66f6a5b3
This keyword is not expanded by Git which means it's not replaced with the correct revision value in the releases made using git-based scripts and it's confusing to have lines with unexpanded "$Id$" in the released files. As expanding them with Git is not that simple (it could be done with git archive and export-subst attribute) and there are not many benefits in having them in the first place, just remove all these lines. If nothing else, this will make an eventual transition to Git simpler. Closes #14487. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
173 lines
5.4 KiB
Objective-C
173 lines
5.4 KiB
Objective-C
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: pickerbase.h
|
|
// Purpose: interface of wxPickerBase
|
|
// Author: wxWidgets team
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
#define wxPB_USE_TEXTCTRL 0x0002
|
|
#define wxPB_SMALL 0x8000
|
|
|
|
|
|
/**
|
|
@class wxPickerBase
|
|
|
|
Base abstract class for all pickers which support an auxiliary text control.
|
|
|
|
This class handles all positioning and sizing of the text control like a
|
|
an horizontal wxBoxSizer would do, with the text control on the left of the
|
|
picker button.
|
|
|
|
The proportion (see wxSizer documentation for more info about proportion values)
|
|
of the picker control defaults to 1 when there isn't a text control associated
|
|
(see @c wxPB_USE_TEXTCTRL style) and to 0 otherwise.
|
|
|
|
@beginStyleTable
|
|
@style{wxPB_USE_TEXTCTRL}
|
|
Creates a text control to the left of the picker which is
|
|
completely managed by this wxPickerBase class.
|
|
@endStyleTable
|
|
|
|
@library{wxcore}
|
|
@category{pickers}
|
|
|
|
@see wxColourPickerCtrl
|
|
*/
|
|
class wxPickerBase : public wxControl
|
|
{
|
|
public:
|
|
wxPickerBase();
|
|
virtual ~wxPickerBase();
|
|
|
|
// if present, intercepts wxPB_USE_TEXTCTRL style and creates the text control
|
|
// The 3rd argument is the initial wxString to display in the text control
|
|
bool CreateBase(wxWindow *parent,
|
|
wxWindowID id,
|
|
const wxString& text = wxEmptyString,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = 0,
|
|
const wxValidator& validator = wxDefaultValidator,
|
|
const wxString& name = wxButtonNameStr);
|
|
|
|
/**
|
|
Returns the margin (in pixel) between the picker and the text control.
|
|
|
|
This function can be used only when HasTextCtrl() returns @true.
|
|
*/
|
|
int GetInternalMargin() const;
|
|
|
|
/**
|
|
Returns the proportion value of the picker.
|
|
*/
|
|
int GetPickerCtrlProportion() const;
|
|
|
|
/**
|
|
Returns a pointer to the text control handled by this window or @NULL if the
|
|
@c wxPB_USE_TEXTCTRL style was not specified when this control was created.
|
|
|
|
@remarks
|
|
The contents of the text control could be an invalid representation of
|
|
the entity which can be chosen through the picker
|
|
(e.g. when the user enters an invalid colour syntax because of a typo).
|
|
Thus you should never parse the content of the textctrl to get the
|
|
user's input; rather use the derived-class getter
|
|
(e.g. wxColourPickerCtrl::GetColour(), wxFilePickerCtrl::GetPath(), etc).
|
|
*/
|
|
wxTextCtrl* GetTextCtrl();
|
|
|
|
/**
|
|
Returns the native implementation of the real picker control.
|
|
|
|
@note
|
|
The returned control in the generic implementation of wxFilePickerCtrl,
|
|
wxDirPickerCtrl, wxFontPickerCtrl and wxColourPickerCtrl is a specialized
|
|
wxButton class so that you can change its label doing, e.g.:
|
|
@code
|
|
#ifdef __WXMSW__
|
|
// wxMSW is one of the platforms where the generic implementation
|
|
// of wxFilePickerCtrl is used...
|
|
|
|
wxButton *pButt = wx_static_cast(wxButton*, myFilePickerCtrl->GetPickerCtrl());
|
|
if (pButt)
|
|
pButt->SetLabel("Custom browse string");
|
|
#endif
|
|
@endcode
|
|
*/
|
|
wxControl* GetPickerCtrl();
|
|
|
|
/**
|
|
Returns the proportion value of the text control.
|
|
|
|
This function can be used only when HasTextCtrl() returns @true.
|
|
*/
|
|
int GetTextCtrlProportion() const;
|
|
|
|
/**
|
|
Returns @true if this window has a valid text control (i.e.\ if the @c
|
|
wxPB_USE_TEXTCTRL style was given when creating this control).
|
|
*/
|
|
bool HasTextCtrl() const;
|
|
|
|
/**
|
|
Returns @true if the picker control is growable.
|
|
*/
|
|
bool IsPickerCtrlGrowable() const;
|
|
|
|
/**
|
|
Returns @true if the text control is growable.
|
|
|
|
This function can be used only when HasTextCtrl() returns @true.
|
|
*/
|
|
bool IsTextCtrlGrowable() const;
|
|
|
|
/**
|
|
Sets the margin (in pixel) between the picker and the text control.
|
|
|
|
This function can be used only when HasTextCtrl() returns @true.
|
|
*/
|
|
void SetInternalMargin(int margin);
|
|
|
|
/**
|
|
Sets the picker control as growable when @c grow is @true.
|
|
*/
|
|
void SetPickerCtrlGrowable(bool grow = true);
|
|
|
|
/**
|
|
Sets the proportion value of the picker.
|
|
|
|
Look at the detailed description of wxPickerBase for more info.
|
|
*/
|
|
void SetPickerCtrlProportion(int prop);
|
|
|
|
/**
|
|
Sets the text control as growable when @c grow is @true.
|
|
|
|
This function can be used only when HasTextCtrl() returns @true.
|
|
*/
|
|
void SetTextCtrlGrowable(bool grow = true);
|
|
|
|
/**
|
|
Sets the proportion value of the text control.
|
|
|
|
Look at the detailed description of wxPickerBase for more info.
|
|
|
|
This function can be used only when HasTextCtrl() returns @true.
|
|
*/
|
|
void SetTextCtrlProportion(int prop);
|
|
|
|
|
|
void SetTextCtrl(wxTextCtrl* text);
|
|
void SetPickerCtrl(wxControl* picker);
|
|
|
|
virtual void UpdatePickerFromTextCtrl() = 0;
|
|
virtual void UpdateTextCtrlFromPicker() = 0;
|
|
|
|
protected:
|
|
virtual long GetTextCtrlStyle(long style) const;
|
|
virtual long GetPickerStyle(long style) const;
|
|
void PostCreation();
|
|
};
|
|
|