#include "wx/bitmap.h"
-class WXDLLEXPORT wxSearchButton;
-class WXDLLEXPORT wxSearchTextCtrl;
+class WXDLLIMPEXP_FWD_CORE wxSearchButton;
+class WXDLLIMPEXP_FWD_CORE wxSearchTextCtrl;
// ----------------------------------------------------------------------------
// wxSearchCtrl is a combination of wxTextCtrl and wxSearchButton
// ----------------------------------------------------------------------------
-class WXDLLEXPORT wxSearchCtrl : public wxSearchCtrlBase
+class WXDLLIMPEXP_CORE wxSearchCtrl : public wxSearchCtrlBase
{
public:
// creation
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxSearchCtrlNameStr);
+#if wxUSE_MENUS
// get/set search button menu
// --------------------------
virtual void SetMenu( wxMenu* menu );
virtual wxMenu* GetMenu();
+#endif // wxUSE_MENUS
// get/set search options
// ----------------------
virtual void ShowCancelButton( bool show );
virtual bool IsCancelButtonVisible() const;
+ // TODO: In 2.9 these should probably be virtual, and declared in the base class...
+ void SetDescriptiveText(const wxString& text);
+ wxString GetDescriptiveText() const;
+
// accessors
// ---------
- virtual wxString GetValue() const;
- virtual void SetValue(const wxString& value);
-
virtual wxString GetRange(long from, long to) const;
virtual int GetLineLength(long lineNo) const;
// search control generic only
void SetSearchBitmap( const wxBitmap& bitmap );
- void SetSearchMenuBitmap( const wxBitmap& bitmap );
void SetCancelBitmap( const wxBitmap& bitmap );
+#if wxUSE_MENUS
+ void SetSearchMenuBitmap( const wxBitmap& bitmap );
+#endif // wxUSE_MENUS
protected:
- virtual void DoSetValue(const wxString& value, int flags = 0);
+ virtual void DoSetValue(const wxString& value, int flags);
+ virtual wxString DoGetValue() const;
+
+ virtual bool DoLoadFile(const wxString& file, int fileType);
+ virtual bool DoSaveFile(const wxString& file, int fileType);
// override the base class virtuals involved into geometry calculations
virtual wxSize DoGetBestSize() const;
virtual void OnSearchButton( wxCommandEvent& event );
void OnSetFocus( wxFocusEvent& event );
+ void OnSize( wxSizeEvent& event );
+
+ bool HasMenu() const
+ {
+#if wxUSE_MENUS
+ return m_menu != NULL;
+#else // !wxUSE_MENUS
+ return false;
+#endif // wxUSE_MENUS/!wxUSE_MENUS
+ }
private:
friend class wxSearchButton;
+#if wxUSE_MENUS
void PopupSearchMenu();
+#endif // wxUSE_MENUS
// the subcontrols
wxSearchTextCtrl *m_text;
wxSearchButton *m_searchButton;
wxSearchButton *m_cancelButton;
+#if wxUSE_MENUS
wxMenu *m_menu;
+#endif // wxUSE_MENUS
bool m_searchButtonVisible;
bool m_cancelButtonVisible;
bool m_searchBitmapUser;
- bool m_searchMenuBitmapUser;
bool m_cancelBitmapUser;
+#if wxUSE_MENUS
+ bool m_searchMenuBitmapUser;
+#endif // wxUSE_MENUS
+
wxBitmap m_searchBitmap;
- wxBitmap m_searchMenuBitmap;
wxBitmap m_cancelBitmap;
+#if wxUSE_MENUS
+ wxBitmap m_searchMenuBitmap;
+#endif // wxUSE_MENUS
+
private:
DECLARE_DYNAMIC_CLASS(wxSearchCtrl)