Added wxSearchCtrl::[Get|Set]DescriptiveText

Tweaked the layout of the subcontrols a bit
Lightened the icons to be more like Mac


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44257 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2007-01-19 05:27:16 +00:00
parent b901ac2c3b
commit 6646ca90e8
12 changed files with 493 additions and 20 deletions

View File

@@ -60,6 +60,12 @@ public:
virtual void ShowCancelButton( bool show ); virtual void ShowCancelButton( bool show );
virtual bool IsCancelButtonVisible() const; virtual bool IsCancelButtonVisible() const;
#if wxABI_VERSION >= 20802
// TODO: In 2.9 these should probably be virtual, and declared in the base class...
void SetDescriptiveText(const wxString& text);
wxString GetDescriptiveText() const;
#endif
// accessors // accessors
// --------- // ---------

View File

@@ -53,6 +53,12 @@ public:
virtual void ShowCancelButton( bool show ); virtual void ShowCancelButton( bool show );
virtual bool IsCancelButtonVisible() const; virtual bool IsCancelButtonVisible() const;
#if wxABI_VERSION >= 20802
// TODO: In 2.9 these should probably be virtual, and declared in the base class...
void SetDescriptiveText(const wxString& text);
wxString GetDescriptiveText() const;
#endif
virtual wxInt32 MacSearchFieldSearchHit( WXEVENTHANDLERREF handler , WXEVENTREF event ) ; virtual wxInt32 MacSearchFieldSearchHit( WXEVENTHANDLERREF handler , WXEVENTREF event ) ;
virtual wxInt32 MacSearchFieldCancelHit( WXEVENTHANDLERREF handler , WXEVENTREF event ) ; virtual wxInt32 MacSearchFieldCancelHit( WXEVENTHANDLERREF handler , WXEVENTREF event ) ;

View File

@@ -50,6 +50,57 @@ static const wxCoord ICON_MARGIN = 0;
static const wxCoord ICON_OFFSET = 0; static const wxCoord ICON_OFFSET = 0;
#endif #endif
// ----------------------------------------------------------------------------
// TODO: These functions or something like them should probably be made
// public. There are similar functions in src/aui/dockart.cpp...
static double wxBlendColour(double fg, double bg, double alpha)
{
double result = bg + (alpha * (fg - bg));
if (result < 0.0)
result = 0.0;
if (result > 255)
result = 255;
return result;
}
static wxColor wxStepColour(const wxColor& c, int ialpha)
{
if (ialpha == 100)
return c;
double r = c.Red(), g = c.Green(), b = c.Blue();
double bg;
// ialpha is 0..200 where 0 is completely black
// and 200 is completely white and 100 is the same
// convert that to normal alpha 0.0 - 1.0
ialpha = wxMin(ialpha, 200);
ialpha = wxMax(ialpha, 0);
double alpha = ((double)(ialpha - 100.0))/100.0;
if (ialpha > 100)
{
// blend with white
bg = 255.0;
alpha = 1.0 - alpha; // 0 = transparent fg; 1 = opaque fg
}
else
{
// blend with black
bg = 0.0;
alpha = 1.0 + alpha; // 0 = transparent fg; 1 = opaque fg
}
r = wxBlendColour(r, bg, alpha);
g = wxBlendColour(g, bg, alpha);
b = wxBlendColour(b, bg, alpha);
return wxColour((unsigned char)r, (unsigned char)g, (unsigned char)b);
}
#define LIGHT_STEP 160
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// wxSearchTextCtrl: text control used by search control // wxSearchTextCtrl: text control used by search control
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -62,11 +113,27 @@ public:
style | wxNO_BORDER) style | wxNO_BORDER)
{ {
m_search = search; m_search = search;
m_defaultFG = GetForegroundColour();
// remove the default minsize, the searchctrl will have one instead // remove the default minsize, the searchctrl will have one instead
SetSizeHints(wxDefaultCoord,wxDefaultCoord); SetSizeHints(wxDefaultCoord,wxDefaultCoord);
} }
void SetDescriptiveText(const wxString& text)
{
if ( GetValue() == m_descriptiveText )
{
SetValue(wxEmptyString);
}
m_descriptiveText = text;
}
wxString GetDescriptiveText() const
{
return m_descriptiveText;
}
protected: protected:
void OnText(wxCommandEvent& eventText) void OnText(wxCommandEvent& eventText)
{ {
@@ -92,8 +159,30 @@ protected:
m_search->GetEventHandler()->ProcessEvent(event); m_search->GetEventHandler()->ProcessEvent(event);
} }
void OnIdle(wxIdleEvent& WXUNUSED(event))
{
if ( IsEmpty() && !(wxWindow::FindFocus() == this) )
{
SetValue(m_descriptiveText);
SetInsertionPoint(0);
SetForegroundColour(wxStepColour(m_defaultFG, LIGHT_STEP));
}
}
void OnFocus(wxFocusEvent& event)
{
event.Skip();
if ( GetValue() == m_descriptiveText )
{
SetValue(wxEmptyString);
SetForegroundColour(m_defaultFG);
}
}
private: private:
wxSearchCtrl* m_search; wxSearchCtrl* m_search;
wxString m_descriptiveText;
wxColour m_defaultFG;
DECLARE_EVENT_TABLE() DECLARE_EVENT_TABLE()
}; };
@@ -103,6 +192,8 @@ BEGIN_EVENT_TABLE(wxSearchTextCtrl, wxTextCtrl)
EVT_TEXT_ENTER(wxID_ANY, wxSearchTextCtrl::OnText) EVT_TEXT_ENTER(wxID_ANY, wxSearchTextCtrl::OnText)
EVT_TEXT_URL(wxID_ANY, wxSearchTextCtrl::OnTextUrl) EVT_TEXT_URL(wxID_ANY, wxSearchTextCtrl::OnTextUrl)
EVT_TEXT_MAXLEN(wxID_ANY, wxSearchTextCtrl::OnText) EVT_TEXT_MAXLEN(wxID_ANY, wxSearchTextCtrl::OnText)
EVT_IDLE(wxSearchTextCtrl::OnIdle)
EVT_SET_FOCUS(wxSearchTextCtrl::OnFocus)
END_EVENT_TABLE() END_EVENT_TABLE()
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -234,6 +325,7 @@ bool wxSearchCtrl::Create(wxWindow *parent, wxWindowID id,
} }
m_text = new wxSearchTextCtrl(this, value, style & ~wxBORDER_MASK); m_text = new wxSearchTextCtrl(this, value, style & ~wxBORDER_MASK);
m_text->SetDescriptiveText(_("Search"));
wxSize sizeText = m_text->GetBestSize(); wxSize sizeText = m_text->GetBestSize();
@@ -280,12 +372,6 @@ void wxSearchCtrl::SetMenu( wxMenu* menu )
{ {
m_searchButton->SetBitmapLabel(m_searchMenuBitmap); m_searchButton->SetBitmapLabel(m_searchMenuBitmap);
m_searchButton->Refresh(); m_searchButton->Refresh();
if ( !m_searchButtonVisible )
{
// adding the menu will force the search button to be visible
wxRect rect = GetRect();
LayoutControls(0, 0, rect.GetWidth(), rect.GetHeight());
}
} }
else if ( !m_menu && hadMenu ) else if ( !m_menu && hadMenu )
{ {
@@ -294,12 +380,9 @@ void wxSearchCtrl::SetMenu( wxMenu* menu )
{ {
m_searchButton->Refresh(); m_searchButton->Refresh();
} }
else }
{
wxRect rect = GetRect(); wxRect rect = GetRect();
LayoutControls(0, 0, rect.GetWidth(), rect.GetHeight()); LayoutControls(0, 0, rect.GetWidth(), rect.GetHeight());
}
}
} }
wxMenu* wxSearchCtrl::GetMenu() wxMenu* wxSearchCtrl::GetMenu()
@@ -348,6 +431,15 @@ bool wxSearchCtrl::IsCancelButtonVisible() const
return m_cancelButtonVisible; return m_cancelButtonVisible;
} }
void wxSearchCtrl::SetDescriptiveText(const wxString& text)
{
m_text->SetDescriptiveText(text);
}
wxString wxSearchCtrl::GetDescriptiveText() const
{
return m_text->GetDescriptiveText();
}
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// geometry // geometry
@@ -393,7 +485,7 @@ void wxSearchCtrl::LayoutControls(int x, int y, int width, int height)
wxSize sizeText = m_text->GetBestSize(); wxSize sizeText = m_text->GetBestSize();
// make room for the search menu & clear button // make room for the search menu & clear button
int horizontalBorder = 1 + ( sizeText.y - sizeText.y * 14 / 21 ) / 2; int horizontalBorder = ( sizeText.y - sizeText.y * 14 / 21 ) / 2;
x += horizontalBorder; x += horizontalBorder;
y += BORDER; y += BORDER;
width -= horizontalBorder*2; width -= horizontalBorder*2;
@@ -427,13 +519,13 @@ void wxSearchCtrl::LayoutControls(int x, int y, int width, int height)
// position the subcontrols inside the client area // position the subcontrols inside the client area
m_searchButton->SetSize(x, y + ICON_OFFSET, sizeSearch.x, height); m_searchButton->SetSize(x, y + ICON_OFFSET - 1, sizeSearch.x, height);
m_text->SetSize( x + sizeSearch.x + searchMargin, m_text->SetSize( x + sizeSearch.x + searchMargin,
y + ICON_OFFSET - BORDER, y + ICON_OFFSET - BORDER,
textWidth, textWidth,
height); height);
m_cancelButton->SetSize(x + sizeSearch.x + searchMargin + textWidth + cancelMargin, m_cancelButton->SetSize(x + sizeSearch.x + searchMargin + textWidth + cancelMargin,
y + ICON_OFFSET, sizeCancel.x, height); y + ICON_OFFSET - 1, sizeCancel.x, height);
} }
@@ -811,7 +903,7 @@ static int GetMultiplier()
wxBitmap wxSearchCtrl::RenderSearchBitmap( int x, int y, bool renderDrop ) wxBitmap wxSearchCtrl::RenderSearchBitmap( int x, int y, bool renderDrop )
{ {
wxColour bg = GetBackgroundColour(); wxColour bg = GetBackgroundColour();
wxColour fg = GetForegroundColour(); wxColour fg = wxStepColour(GetForegroundColour(), LIGHT_STEP-20);
//=============================================================================== //===============================================================================
// begin drawing code // begin drawing code
@@ -892,6 +984,7 @@ wxBitmap wxSearchCtrl::RenderSearchBitmap( int x, int y, bool renderDrop )
}; };
mem.DrawPolygon(WXSIZEOF(dropPolygon),dropPolygon,multiplier*triangleX,multiplier*triangleY); mem.DrawPolygon(WXSIZEOF(dropPolygon),dropPolygon,multiplier*triangleX,multiplier*triangleY);
} }
mem.SelectObject(wxNullBitmap);
//=============================================================================== //===============================================================================
// end drawing code // end drawing code
@@ -903,6 +996,11 @@ wxBitmap wxSearchCtrl::RenderSearchBitmap( int x, int y, bool renderDrop )
image.Rescale(x,y); image.Rescale(x,y);
bitmap = wxBitmap( image ); bitmap = wxBitmap( image );
} }
if ( !renderDrop )
{
// Trim the edge where the arrow would have gone
bitmap = bitmap.GetSubBitmap(wxRect(0,0, y,y));
}
return bitmap; return bitmap;
} }
@@ -910,7 +1008,7 @@ wxBitmap wxSearchCtrl::RenderSearchBitmap( int x, int y, bool renderDrop )
wxBitmap wxSearchCtrl::RenderCancelBitmap( int x, int y ) wxBitmap wxSearchCtrl::RenderCancelBitmap( int x, int y )
{ {
wxColour bg = GetBackgroundColour(); wxColour bg = GetBackgroundColour();
wxColour fg = GetForegroundColour(); wxColour fg = wxStepColour(GetForegroundColour(), LIGHT_STEP);
//=============================================================================== //===============================================================================
// begin drawing code // begin drawing code

View File

@@ -68,6 +68,10 @@ public :
virtual void SetSearchMenu( wxMenu* menu ); virtual void SetSearchMenu( wxMenu* menu );
virtual wxMenu* GetSearchMenu() const; virtual wxMenu* GetSearchMenu() const;
virtual void SetDescriptiveText(const wxString& text);
virtual wxString GetDescriptiveText() const;
protected : protected :
virtual void CreateControl( wxTextCtrl* peer, const Rect* bounds, CFStringRef crf ); virtual void CreateControl( wxTextCtrl* peer, const Rect* bounds, CFStringRef crf );
@@ -167,6 +171,28 @@ wxMenu* wxMacSearchFieldControl::GetSearchMenu() const
return m_menu; return m_menu;
} }
void wxMacSearchFieldControl::SetDescriptiveText(const wxString& text)
{
verify_noerr( HISearchFieldSetDescriptiveText(
m_controlRef,
wxMacCFStringHolder( text, wxFont::GetDefaultEncoding() )));
}
wxString wxMacSearchFieldControl::GetDescriptiveText() const
{
CFStringRef cfStr;
verify_noerr( HISearchFieldCopyDescriptiveText( m_controlRef, &cfStr ));
if ( cfStr )
{
return wxMacCFStringHolder(cfStr).AsString();
}
else
{
return wxEmptyString;
}
}
#endif #endif
// ============================================================================ // ============================================================================
@@ -351,6 +377,16 @@ bool wxSearchCtrl::IsCancelButtonVisible() const
return GetPeer()->IsCancelButtonVisible(); return GetPeer()->IsCancelButtonVisible();
} }
void wxSearchCtrl::SetDescriptiveText(const wxString& text)
{
GetPeer()->SetDescriptiveText(text);
}
wxString wxSearchCtrl::GetDescriptiveText() const
{
return GetPeer()->GetDescriptiveText();
}
wxInt32 wxSearchCtrl::MacSearchFieldSearchHit(WXEVENTHANDLERREF WXUNUSED(handler) , WXEVENTREF WXUNUSED(event) ) wxInt32 wxSearchCtrl::MacSearchFieldSearchHit(WXEVENTHANDLERREF WXUNUSED(handler) , WXEVENTREF WXUNUSED(event) )
{ {
wxCommandEvent event(wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN, m_windowId ); wxCommandEvent event(wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN, m_windowId );

View File

@@ -31,6 +31,8 @@
*wxFileHistory*etBaseId*; *wxFileHistory*etBaseId*;
*wxSizerFlags*Shaped*; *wxSizerFlags*Shaped*;
*wxSizerFlags*FixedMinSize*; *wxSizerFlags*FixedMinSize*;
*wxSearchCtrl*SetDescriptiveText*;
*wxSearchCtrl*GetDescriptiveText*;
}; };
# public symbols added in 2.8.1 (please keep in alphabetical order): # public symbols added in 2.8.1 (please keep in alphabetical order):

View File

@@ -58,6 +58,9 @@ public:
virtual void ShowCancelButton( bool ) {} virtual void ShowCancelButton( bool ) {}
virtual bool IsCancelButtonVisible() const { return false; } virtual bool IsCancelButtonVisible() const { return false; }
virtual void SetDescriptiveText(const wxString& text);
virtual wxString GetDescriptiveText() const;
}; };
#endif #endif
%} %}
@@ -167,6 +170,17 @@ button visibility value. This always returns false in Mac OS X v10.3", "");
"Indicates whether the cancel button is visible. ", ""); "Indicates whether the cancel button is visible. ", "");
DocDeclStr(
virtual void , SetDescriptiveText(const wxString& text),
"Set the text to be displayed when the user has not yet typed anything
in the control.", "");
DocDeclStr(
virtual wxString , GetDescriptiveText() const,
"Get the text to be displayed when the user has not yet typed anything
in the control.", "");
DocStr(SetSearchBitmap, DocStr(SetSearchBitmap,
"Sets the bitmap to use for the search button. This currently does not "Sets the bitmap to use for the search button. This currently does not
work on the Mac.", ""); work on the Mac.", "");
@@ -178,6 +192,7 @@ on the Mac.", "");
"Sets the bitmap to use for the cancel button. This currently does not "Sets the bitmap to use for the cancel button. This currently does not
work on the Mac.", ""); work on the Mac.", "");
#ifdef __WXMAC__ #ifdef __WXMAC__
%extend { %extend {
void SetSearchBitmap( const wxBitmap& ) {} void SetSearchBitmap( const wxBitmap& ) {}
@@ -194,6 +209,7 @@ work on the Mac.", "");
%property(Menu, GetMenu, SetMenu); %property(Menu, GetMenu, SetMenu);
%property(SearchButtonVisible, IsSearchButtonVisible, ShowSearchButton); %property(SearchButtonVisible, IsSearchButtonVisible, ShowSearchButton);
%property(CancelButtonVisible, IsCancelButtonVisible, ShowCancelButton); %property(CancelButtonVisible, IsCancelButtonVisible, ShowCancelButton);
%property(DescriptiveText, GetDescriptiveText, SetDescriptiveText);
}; };

View File

@@ -7268,6 +7268,24 @@ class SearchCtrl(TextCtrl):
""" """
return _controls_.SearchCtrl_IsCancelButtonVisible(*args, **kwargs) return _controls_.SearchCtrl_IsCancelButtonVisible(*args, **kwargs)
def SetDescriptiveText(*args, **kwargs):
"""
SetDescriptiveText(self, String text)
Set the text to be displayed when the user has not yet typed anything
in the control.
"""
return _controls_.SearchCtrl_SetDescriptiveText(*args, **kwargs)
def GetDescriptiveText(*args, **kwargs):
"""
GetDescriptiveText(self) -> String
Get the text to be displayed when the user has not yet typed anything
in the control.
"""
return _controls_.SearchCtrl_GetDescriptiveText(*args, **kwargs)
def SetSearchBitmap(*args, **kwargs): def SetSearchBitmap(*args, **kwargs):
""" """
SetSearchBitmap(self, Bitmap bitmap) SetSearchBitmap(self, Bitmap bitmap)
@@ -7299,6 +7317,7 @@ class SearchCtrl(TextCtrl):
Menu = property(GetMenu,SetMenu) Menu = property(GetMenu,SetMenu)
SearchButtonVisible = property(IsSearchButtonVisible,ShowSearchButton) SearchButtonVisible = property(IsSearchButtonVisible,ShowSearchButton)
CancelButtonVisible = property(IsCancelButtonVisible,ShowCancelButton) CancelButtonVisible = property(IsCancelButtonVisible,ShowCancelButton)
DescriptiveText = property(GetDescriptiveText,SetDescriptiveText)
_controls_.SearchCtrl_swigregister(SearchCtrl) _controls_.SearchCtrl_swigregister(SearchCtrl)
SearchCtrlNameStr = cvar.SearchCtrlNameStr SearchCtrlNameStr = cvar.SearchCtrlNameStr

View File

@@ -3419,6 +3419,9 @@ public:
virtual void ShowCancelButton( bool ) {} virtual void ShowCancelButton( bool ) {}
virtual bool IsCancelButtonVisible() const { return false; } virtual bool IsCancelButtonVisible() const { return false; }
virtual void SetDescriptiveText(const wxString& text);
virtual wxString GetDescriptiveText() const;
}; };
#endif #endif
@@ -46659,6 +46662,85 @@ fail:
} }
SWIGINTERN PyObject *_wrap_SearchCtrl_SetDescriptiveText(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
PyObject *resultobj = 0;
wxSearchCtrl *arg1 = (wxSearchCtrl *) 0 ;
wxString *arg2 = 0 ;
void *argp1 = 0 ;
int res1 = 0 ;
bool temp2 = false ;
PyObject * obj0 = 0 ;
PyObject * obj1 = 0 ;
char * kwnames[] = {
(char *) "self",(char *) "text", NULL
};
if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:SearchCtrl_SetDescriptiveText",kwnames,&obj0,&obj1)) SWIG_fail;
res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxSearchCtrl, 0 | 0 );
if (!SWIG_IsOK(res1)) {
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchCtrl_SetDescriptiveText" "', expected argument " "1"" of type '" "wxSearchCtrl *""'");
}
arg1 = reinterpret_cast< wxSearchCtrl * >(argp1);
{
arg2 = wxString_in_helper(obj1);
if (arg2 == NULL) SWIG_fail;
temp2 = true;
}
{
PyThreadState* __tstate = wxPyBeginAllowThreads();
(arg1)->SetDescriptiveText((wxString const &)*arg2);
wxPyEndAllowThreads(__tstate);
if (PyErr_Occurred()) SWIG_fail;
}
resultobj = SWIG_Py_Void();
{
if (temp2)
delete arg2;
}
return resultobj;
fail:
{
if (temp2)
delete arg2;
}
return NULL;
}
SWIGINTERN PyObject *_wrap_SearchCtrl_GetDescriptiveText(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
PyObject *resultobj = 0;
wxSearchCtrl *arg1 = (wxSearchCtrl *) 0 ;
wxString result;
void *argp1 = 0 ;
int res1 = 0 ;
PyObject *swig_obj[1] ;
if (!args) SWIG_fail;
swig_obj[0] = args;
res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxSearchCtrl, 0 | 0 );
if (!SWIG_IsOK(res1)) {
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchCtrl_GetDescriptiveText" "', expected argument " "1"" of type '" "wxSearchCtrl const *""'");
}
arg1 = reinterpret_cast< wxSearchCtrl * >(argp1);
{
PyThreadState* __tstate = wxPyBeginAllowThreads();
result = ((wxSearchCtrl const *)arg1)->GetDescriptiveText();
wxPyEndAllowThreads(__tstate);
if (PyErr_Occurred()) SWIG_fail;
}
{
#if wxUSE_UNICODE
resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
#else
resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
#endif
}
return resultobj;
fail:
return NULL;
}
SWIGINTERN PyObject *_wrap_SearchCtrl_SetSearchBitmap(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) { SWIGINTERN PyObject *_wrap_SearchCtrl_SetSearchBitmap(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
PyObject *resultobj = 0; PyObject *resultobj = 0;
wxSearchCtrl *arg1 = (wxSearchCtrl *) 0 ; wxSearchCtrl *arg1 = (wxSearchCtrl *) 0 ;
@@ -47863,6 +47945,8 @@ static PyMethodDef SwigMethods[] = {
{ (char *)"SearchCtrl_IsSearchButtonVisible", (PyCFunction)_wrap_SearchCtrl_IsSearchButtonVisible, METH_O, NULL}, { (char *)"SearchCtrl_IsSearchButtonVisible", (PyCFunction)_wrap_SearchCtrl_IsSearchButtonVisible, METH_O, NULL},
{ (char *)"SearchCtrl_ShowCancelButton", (PyCFunction) _wrap_SearchCtrl_ShowCancelButton, METH_VARARGS | METH_KEYWORDS, NULL}, { (char *)"SearchCtrl_ShowCancelButton", (PyCFunction) _wrap_SearchCtrl_ShowCancelButton, METH_VARARGS | METH_KEYWORDS, NULL},
{ (char *)"SearchCtrl_IsCancelButtonVisible", (PyCFunction)_wrap_SearchCtrl_IsCancelButtonVisible, METH_O, NULL}, { (char *)"SearchCtrl_IsCancelButtonVisible", (PyCFunction)_wrap_SearchCtrl_IsCancelButtonVisible, METH_O, NULL},
{ (char *)"SearchCtrl_SetDescriptiveText", (PyCFunction) _wrap_SearchCtrl_SetDescriptiveText, METH_VARARGS | METH_KEYWORDS, NULL},
{ (char *)"SearchCtrl_GetDescriptiveText", (PyCFunction)_wrap_SearchCtrl_GetDescriptiveText, METH_O, NULL},
{ (char *)"SearchCtrl_SetSearchBitmap", (PyCFunction) _wrap_SearchCtrl_SetSearchBitmap, METH_VARARGS | METH_KEYWORDS, NULL}, { (char *)"SearchCtrl_SetSearchBitmap", (PyCFunction) _wrap_SearchCtrl_SetSearchBitmap, METH_VARARGS | METH_KEYWORDS, NULL},
{ (char *)"SearchCtrl_SetSearchMenuBitmap", (PyCFunction) _wrap_SearchCtrl_SetSearchMenuBitmap, METH_VARARGS | METH_KEYWORDS, NULL}, { (char *)"SearchCtrl_SetSearchMenuBitmap", (PyCFunction) _wrap_SearchCtrl_SetSearchMenuBitmap, METH_VARARGS | METH_KEYWORDS, NULL},
{ (char *)"SearchCtrl_SetCancelBitmap", (PyCFunction) _wrap_SearchCtrl_SetCancelBitmap, METH_VARARGS | METH_KEYWORDS, NULL}, { (char *)"SearchCtrl_SetCancelBitmap", (PyCFunction) _wrap_SearchCtrl_SetCancelBitmap, METH_VARARGS | METH_KEYWORDS, NULL},

View File

@@ -7261,6 +7261,24 @@ class SearchCtrl(TextCtrl):
""" """
return _controls_.SearchCtrl_IsCancelButtonVisible(*args, **kwargs) return _controls_.SearchCtrl_IsCancelButtonVisible(*args, **kwargs)
def SetDescriptiveText(*args, **kwargs):
"""
SetDescriptiveText(self, String text)
Set the text to be displayed when the user has not yet typed anything
in the control.
"""
return _controls_.SearchCtrl_SetDescriptiveText(*args, **kwargs)
def GetDescriptiveText(*args, **kwargs):
"""
GetDescriptiveText(self) -> String
Set the text to be displayed when the user has not yet typed anything
in the control.
"""
return _controls_.SearchCtrl_GetDescriptiveText(*args, **kwargs)
def SetSearchBitmap(*args, **kwargs): def SetSearchBitmap(*args, **kwargs):
""" """
SetSearchBitmap(self, Bitmap ?) SetSearchBitmap(self, Bitmap ?)
@@ -7292,6 +7310,7 @@ class SearchCtrl(TextCtrl):
Menu = property(GetMenu,SetMenu) Menu = property(GetMenu,SetMenu)
SearchButtonVisible = property(IsSearchButtonVisible,ShowSearchButton) SearchButtonVisible = property(IsSearchButtonVisible,ShowSearchButton)
CancelButtonVisible = property(IsCancelButtonVisible,ShowCancelButton) CancelButtonVisible = property(IsCancelButtonVisible,ShowCancelButton)
DescriptiveText = property(GetDescriptiveText,SetDescriptiveText)
_controls_.SearchCtrl_swigregister(SearchCtrl) _controls_.SearchCtrl_swigregister(SearchCtrl)
SearchCtrlNameStr = cvar.SearchCtrlNameStr SearchCtrlNameStr = cvar.SearchCtrlNameStr

View File

@@ -3418,6 +3418,9 @@ public:
virtual void ShowCancelButton( bool ) {} virtual void ShowCancelButton( bool ) {}
virtual bool IsCancelButtonVisible() const { return false; } virtual bool IsCancelButtonVisible() const { return false; }
virtual void SetDescriptiveText(const wxString& text);
virtual wxString GetDescriptiveText() const;
}; };
#endif #endif
@@ -46586,6 +46589,85 @@ fail:
} }
SWIGINTERN PyObject *_wrap_SearchCtrl_SetDescriptiveText(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
PyObject *resultobj = 0;
wxSearchCtrl *arg1 = (wxSearchCtrl *) 0 ;
wxString *arg2 = 0 ;
void *argp1 = 0 ;
int res1 = 0 ;
bool temp2 = false ;
PyObject * obj0 = 0 ;
PyObject * obj1 = 0 ;
char * kwnames[] = {
(char *) "self",(char *) "text", NULL
};
if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:SearchCtrl_SetDescriptiveText",kwnames,&obj0,&obj1)) SWIG_fail;
res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxSearchCtrl, 0 | 0 );
if (!SWIG_IsOK(res1)) {
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchCtrl_SetDescriptiveText" "', expected argument " "1"" of type '" "wxSearchCtrl *""'");
}
arg1 = reinterpret_cast< wxSearchCtrl * >(argp1);
{
arg2 = wxString_in_helper(obj1);
if (arg2 == NULL) SWIG_fail;
temp2 = true;
}
{
PyThreadState* __tstate = wxPyBeginAllowThreads();
(arg1)->SetDescriptiveText((wxString const &)*arg2);
wxPyEndAllowThreads(__tstate);
if (PyErr_Occurred()) SWIG_fail;
}
resultobj = SWIG_Py_Void();
{
if (temp2)
delete arg2;
}
return resultobj;
fail:
{
if (temp2)
delete arg2;
}
return NULL;
}
SWIGINTERN PyObject *_wrap_SearchCtrl_GetDescriptiveText(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
PyObject *resultobj = 0;
wxSearchCtrl *arg1 = (wxSearchCtrl *) 0 ;
wxString result;
void *argp1 = 0 ;
int res1 = 0 ;
PyObject *swig_obj[1] ;
if (!args) SWIG_fail;
swig_obj[0] = args;
res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxSearchCtrl, 0 | 0 );
if (!SWIG_IsOK(res1)) {
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchCtrl_GetDescriptiveText" "', expected argument " "1"" of type '" "wxSearchCtrl const *""'");
}
arg1 = reinterpret_cast< wxSearchCtrl * >(argp1);
{
PyThreadState* __tstate = wxPyBeginAllowThreads();
result = ((wxSearchCtrl const *)arg1)->GetDescriptiveText();
wxPyEndAllowThreads(__tstate);
if (PyErr_Occurred()) SWIG_fail;
}
{
#if wxUSE_UNICODE
resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
#else
resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
#endif
}
return resultobj;
fail:
return NULL;
}
SWIGINTERN PyObject *_wrap_SearchCtrl_SetSearchBitmap(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) { SWIGINTERN PyObject *_wrap_SearchCtrl_SetSearchBitmap(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
PyObject *resultobj = 0; PyObject *resultobj = 0;
wxSearchCtrl *arg1 = (wxSearchCtrl *) 0 ; wxSearchCtrl *arg1 = (wxSearchCtrl *) 0 ;
@@ -47788,6 +47870,8 @@ static PyMethodDef SwigMethods[] = {
{ (char *)"SearchCtrl_IsSearchButtonVisible", (PyCFunction)_wrap_SearchCtrl_IsSearchButtonVisible, METH_O, NULL}, { (char *)"SearchCtrl_IsSearchButtonVisible", (PyCFunction)_wrap_SearchCtrl_IsSearchButtonVisible, METH_O, NULL},
{ (char *)"SearchCtrl_ShowCancelButton", (PyCFunction) _wrap_SearchCtrl_ShowCancelButton, METH_VARARGS | METH_KEYWORDS, NULL}, { (char *)"SearchCtrl_ShowCancelButton", (PyCFunction) _wrap_SearchCtrl_ShowCancelButton, METH_VARARGS | METH_KEYWORDS, NULL},
{ (char *)"SearchCtrl_IsCancelButtonVisible", (PyCFunction)_wrap_SearchCtrl_IsCancelButtonVisible, METH_O, NULL}, { (char *)"SearchCtrl_IsCancelButtonVisible", (PyCFunction)_wrap_SearchCtrl_IsCancelButtonVisible, METH_O, NULL},
{ (char *)"SearchCtrl_SetDescriptiveText", (PyCFunction) _wrap_SearchCtrl_SetDescriptiveText, METH_VARARGS | METH_KEYWORDS, NULL},
{ (char *)"SearchCtrl_GetDescriptiveText", (PyCFunction)_wrap_SearchCtrl_GetDescriptiveText, METH_O, NULL},
{ (char *)"SearchCtrl_SetSearchBitmap", (PyCFunction) _wrap_SearchCtrl_SetSearchBitmap, METH_VARARGS | METH_KEYWORDS, NULL}, { (char *)"SearchCtrl_SetSearchBitmap", (PyCFunction) _wrap_SearchCtrl_SetSearchBitmap, METH_VARARGS | METH_KEYWORDS, NULL},
{ (char *)"SearchCtrl_SetSearchMenuBitmap", (PyCFunction) _wrap_SearchCtrl_SetSearchMenuBitmap, METH_VARARGS | METH_KEYWORDS, NULL}, { (char *)"SearchCtrl_SetSearchMenuBitmap", (PyCFunction) _wrap_SearchCtrl_SetSearchMenuBitmap, METH_VARARGS | METH_KEYWORDS, NULL},
{ (char *)"SearchCtrl_SetCancelBitmap", (PyCFunction) _wrap_SearchCtrl_SetCancelBitmap, METH_VARARGS | METH_KEYWORDS, NULL}, { (char *)"SearchCtrl_SetCancelBitmap", (PyCFunction) _wrap_SearchCtrl_SetCancelBitmap, METH_VARARGS | METH_KEYWORDS, NULL},

View File

@@ -7287,6 +7287,24 @@ class SearchCtrl(TextCtrl):
""" """
return _controls_.SearchCtrl_IsCancelButtonVisible(*args, **kwargs) return _controls_.SearchCtrl_IsCancelButtonVisible(*args, **kwargs)
def SetDescriptiveText(*args, **kwargs):
"""
SetDescriptiveText(self, String text)
Set the text to be displayed when the user has not yet typed anything
in the control.
"""
return _controls_.SearchCtrl_SetDescriptiveText(*args, **kwargs)
def GetDescriptiveText(*args, **kwargs):
"""
GetDescriptiveText(self) -> String
Get the text to be displayed when the user has not yet typed anything
in the control.
"""
return _controls_.SearchCtrl_GetDescriptiveText(*args, **kwargs)
def SetSearchBitmap(*args, **kwargs): def SetSearchBitmap(*args, **kwargs):
""" """
SetSearchBitmap(self, Bitmap bitmap) SetSearchBitmap(self, Bitmap bitmap)
@@ -7318,6 +7336,7 @@ class SearchCtrl(TextCtrl):
Menu = property(GetMenu,SetMenu) Menu = property(GetMenu,SetMenu)
SearchButtonVisible = property(IsSearchButtonVisible,ShowSearchButton) SearchButtonVisible = property(IsSearchButtonVisible,ShowSearchButton)
CancelButtonVisible = property(IsCancelButtonVisible,ShowCancelButton) CancelButtonVisible = property(IsCancelButtonVisible,ShowCancelButton)
DescriptiveText = property(GetDescriptiveText,SetDescriptiveText)
_controls_.SearchCtrl_swigregister(SearchCtrl) _controls_.SearchCtrl_swigregister(SearchCtrl)
SearchCtrlNameStr = cvar.SearchCtrlNameStr SearchCtrlNameStr = cvar.SearchCtrlNameStr

View File

@@ -3419,6 +3419,9 @@ public:
virtual void ShowCancelButton( bool ) {} virtual void ShowCancelButton( bool ) {}
virtual bool IsCancelButtonVisible() const { return false; } virtual bool IsCancelButtonVisible() const { return false; }
virtual void SetDescriptiveText(const wxString& text);
virtual wxString GetDescriptiveText() const;
}; };
#endif #endif
@@ -46871,6 +46874,85 @@ fail:
} }
SWIGINTERN PyObject *_wrap_SearchCtrl_SetDescriptiveText(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
PyObject *resultobj = 0;
wxSearchCtrl *arg1 = (wxSearchCtrl *) 0 ;
wxString *arg2 = 0 ;
void *argp1 = 0 ;
int res1 = 0 ;
bool temp2 = false ;
PyObject * obj0 = 0 ;
PyObject * obj1 = 0 ;
char * kwnames[] = {
(char *) "self",(char *) "text", NULL
};
if (!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:SearchCtrl_SetDescriptiveText",kwnames,&obj0,&obj1)) SWIG_fail;
res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_wxSearchCtrl, 0 | 0 );
if (!SWIG_IsOK(res1)) {
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchCtrl_SetDescriptiveText" "', expected argument " "1"" of type '" "wxSearchCtrl *""'");
}
arg1 = reinterpret_cast< wxSearchCtrl * >(argp1);
{
arg2 = wxString_in_helper(obj1);
if (arg2 == NULL) SWIG_fail;
temp2 = true;
}
{
PyThreadState* __tstate = wxPyBeginAllowThreads();
(arg1)->SetDescriptiveText((wxString const &)*arg2);
wxPyEndAllowThreads(__tstate);
if (PyErr_Occurred()) SWIG_fail;
}
resultobj = SWIG_Py_Void();
{
if (temp2)
delete arg2;
}
return resultobj;
fail:
{
if (temp2)
delete arg2;
}
return NULL;
}
SWIGINTERN PyObject *_wrap_SearchCtrl_GetDescriptiveText(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
PyObject *resultobj = 0;
wxSearchCtrl *arg1 = (wxSearchCtrl *) 0 ;
wxString result;
void *argp1 = 0 ;
int res1 = 0 ;
PyObject *swig_obj[1] ;
if (!args) SWIG_fail;
swig_obj[0] = args;
res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_wxSearchCtrl, 0 | 0 );
if (!SWIG_IsOK(res1)) {
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SearchCtrl_GetDescriptiveText" "', expected argument " "1"" of type '" "wxSearchCtrl const *""'");
}
arg1 = reinterpret_cast< wxSearchCtrl * >(argp1);
{
PyThreadState* __tstate = wxPyBeginAllowThreads();
result = ((wxSearchCtrl const *)arg1)->GetDescriptiveText();
wxPyEndAllowThreads(__tstate);
if (PyErr_Occurred()) SWIG_fail;
}
{
#if wxUSE_UNICODE
resultobj = PyUnicode_FromWideChar((&result)->c_str(), (&result)->Len());
#else
resultobj = PyString_FromStringAndSize((&result)->c_str(), (&result)->Len());
#endif
}
return resultobj;
fail:
return NULL;
}
SWIGINTERN PyObject *_wrap_SearchCtrl_SetSearchBitmap(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) { SWIGINTERN PyObject *_wrap_SearchCtrl_SetSearchBitmap(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *kwargs) {
PyObject *resultobj = 0; PyObject *resultobj = 0;
wxSearchCtrl *arg1 = (wxSearchCtrl *) 0 ; wxSearchCtrl *arg1 = (wxSearchCtrl *) 0 ;
@@ -48080,6 +48162,8 @@ static PyMethodDef SwigMethods[] = {
{ (char *)"SearchCtrl_IsSearchButtonVisible", (PyCFunction)_wrap_SearchCtrl_IsSearchButtonVisible, METH_O, NULL}, { (char *)"SearchCtrl_IsSearchButtonVisible", (PyCFunction)_wrap_SearchCtrl_IsSearchButtonVisible, METH_O, NULL},
{ (char *)"SearchCtrl_ShowCancelButton", (PyCFunction) _wrap_SearchCtrl_ShowCancelButton, METH_VARARGS | METH_KEYWORDS, NULL}, { (char *)"SearchCtrl_ShowCancelButton", (PyCFunction) _wrap_SearchCtrl_ShowCancelButton, METH_VARARGS | METH_KEYWORDS, NULL},
{ (char *)"SearchCtrl_IsCancelButtonVisible", (PyCFunction)_wrap_SearchCtrl_IsCancelButtonVisible, METH_O, NULL}, { (char *)"SearchCtrl_IsCancelButtonVisible", (PyCFunction)_wrap_SearchCtrl_IsCancelButtonVisible, METH_O, NULL},
{ (char *)"SearchCtrl_SetDescriptiveText", (PyCFunction) _wrap_SearchCtrl_SetDescriptiveText, METH_VARARGS | METH_KEYWORDS, NULL},
{ (char *)"SearchCtrl_GetDescriptiveText", (PyCFunction)_wrap_SearchCtrl_GetDescriptiveText, METH_O, NULL},
{ (char *)"SearchCtrl_SetSearchBitmap", (PyCFunction) _wrap_SearchCtrl_SetSearchBitmap, METH_VARARGS | METH_KEYWORDS, NULL}, { (char *)"SearchCtrl_SetSearchBitmap", (PyCFunction) _wrap_SearchCtrl_SetSearchBitmap, METH_VARARGS | METH_KEYWORDS, NULL},
{ (char *)"SearchCtrl_SetSearchMenuBitmap", (PyCFunction) _wrap_SearchCtrl_SetSearchMenuBitmap, METH_VARARGS | METH_KEYWORDS, NULL}, { (char *)"SearchCtrl_SetSearchMenuBitmap", (PyCFunction) _wrap_SearchCtrl_SetSearchMenuBitmap, METH_VARARGS | METH_KEYWORDS, NULL},
{ (char *)"SearchCtrl_SetCancelBitmap", (PyCFunction) _wrap_SearchCtrl_SetCancelBitmap, METH_VARARGS | METH_KEYWORDS, NULL}, { (char *)"SearchCtrl_SetCancelBitmap", (PyCFunction) _wrap_SearchCtrl_SetCancelBitmap, METH_VARARGS | METH_KEYWORDS, NULL},