wxWidgets/interface/wx/srchctrl.h
Vadim Zeitlin 2635360f3c Mention GTK native version in wxSearchCtrl documentation
Document some of the (minor) limitations of the native implementation as
well as its existence itself.
2020-01-07 03:15:39 +01:00

177 lines
5.9 KiB
Objective-C

/////////////////////////////////////////////////////////////////////////////
// Name: srchctrl.h
// Purpose: interface of wxSearchCtrl
// Author: wxWidgets team
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/**
@class wxSearchCtrl
A search control is a composite control with a search button, a text
control, and a cancel button.
This control is implemented natively under macOS and GTK 3.6 or later and
generically for all the other platforms.
@beginStyleTable
@style{wxTE_PROCESS_TAB}
The control will receive @c wxEVT_CHAR events for TAB pressed -
normally, TAB is used for passing to the next control in a dialog
instead. For the control created with this style, you can still use
Ctrl-Enter to pass to the next control from the keyboard.
@style{wxTE_NOHIDESEL}
By default, the Windows text control doesn't show the selection
when it doesn't have focus - use this style to force it to always
show it. It doesn't do anything under other platforms.
@style{wxTE_LEFT}
The text in the control will be left-justified (default).
@style{wxTE_CENTRE}
The text in the control will be centered (currently wxMSW and
wxGTK2 only).
@style{wxTE_RIGHT}
The text in the control will be right-justified (currently wxMSW
and wxGTK2 only).
@style{wxTE_CAPITALIZE}
On PocketPC and Smartphone, causes the first letter to be
capitalized.
@endStyleTable
@beginEventEmissionTable{wxCommandEvent}
To react to the changes in the control contents, use wxEVT_TEXT event, just
as you would do with wxTextCtrl. However it is recommended to use
wxEVT_SEARCH to actually start searching to avoid doing it too soon, while
the user is still typing (note that wxEVT_SEARCH is also triggered by
pressing Enter in the control).
@event{EVT_SEARCH(id, func)}
Respond to a @c wxEVT_SEARCH event, generated when the
search button is clicked. Note that this does not initiate a search on
its own, you need to perform the appropriate action in your event
handler. You may use @code event.GetString() @endcode to retrieve the
string to search for in the event handler code.
@event{EVT_SEARCH_CANCEL(id, func)}
Respond to a @c wxEVT_SEARCH_CANCEL event, generated when the
cancel button is clicked.
@endEventTable
@library{wxcore}
@category{ctrl}
@appearance{searchctrl}
@see wxTextCtrl
*/
class wxSearchCtrl : public wxTextCtrl
{
public:
/**
Default constructor
*/
wxSearchCtrl();
/**
Constructor, creating and showing a text control.
@param parent
Parent window. Should not be @NULL.
@param id
Control identifier. A value of -1 denotes a default value.
@param value
Default text value.
@param pos
Text control position.
@param size
Text control size.
@param style
Window style. See wxSearchCtrl.
@param validator
Window validator.
@param name
Window name.
@see wxTextCtrl::Create, wxValidator
*/
wxSearchCtrl(wxWindow* parent, wxWindowID id,
const wxString& value = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxSearchCtrlNameStr);
/**
Destructor, destroying the search control.
*/
virtual ~wxSearchCtrl();
bool Create(wxWindow* parent, wxWindowID id,
const wxString& value = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxSearchCtrlNameStr);
/**
Returns a pointer to the search control's menu object or @NULL if there is no
menu attached.
*/
virtual wxMenu* GetMenu();
/**
Returns the search button visibility value.
If there is a menu attached, the search button will be visible regardless of
the search button visibility value.
*/
virtual bool IsSearchButtonVisible() const;
/**
Returns the cancel button's visibility state.
*/
virtual bool IsCancelButtonVisible() const;
/**
Sets the search control's menu object.
If there is already a menu associated with the search control it is deleted.
@param menu
Menu to attach to the search control.
*/
virtual void SetMenu(wxMenu* menu);
/**
Shows or hides the cancel button.
Note that this function does nothing in the native GTK version of the
control: "Cancel" button is always shown automatically if the control
is not empty and hidden if it is empty.
*/
virtual void ShowCancelButton(bool show);
/**
Sets the search button visibility value on the search control.
If there is a menu attached, the search button will be visible regardless of
the search button visibility value.
Note that this function does nothing in the native GTK version of the
control: "Search" button is always shown there.
*/
virtual void ShowSearchButton(bool show);
/**
Set the text to be displayed in the search control when the user has
not yet typed anything in it.
*/
void SetDescriptiveText(const wxString& text);
/**
Return the text displayed when there is not yet any user input.
*/
wxString GetDescriptiveText() const;
};
wxEventType wxEVT_SEARCH_CANCEL;
wxEventType wxEVT_SEARCH;