1. added SetSelection() to wxItemContainer and removed its declarations
from derived classes 2. made wxItemContainer::Select() non virtual: it simply calls SetSelection() 3. renamed wxListBox::SetSelection(n, select) to DoSetSelection() for all ports and defined non virtual SetSelection() overloads in the base class to avoid virtual functions hiding git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32004 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -269,6 +269,15 @@ the new code. This method is only available if wxWidgets was compiled with
|
||||
future versions.
|
||||
|
||||
|
||||
\membersection{wxControlWithItems::Select}\label{wxcontrolwithitemsselect}
|
||||
|
||||
\func{void}{Select}{\param{int}{ n}}
|
||||
|
||||
This is the same as \helpref{SetSelection}{wxcontrolwithitemssetselection} and
|
||||
exists only because it is slightly more natural for controls which support
|
||||
multiple selection.
|
||||
|
||||
|
||||
\membersection{wxControlWithItems::SetClientData}\label{wxcontrolwithitemssetclientdata}
|
||||
|
||||
\func{void}{SetClientData}{\param{int}{ n}, \param{void *}{data}}
|
||||
@@ -310,7 +319,8 @@ pointers had been associated with the control items before.
|
||||
Sets the selection to the given item \arg{n} or removes the selection entirely
|
||||
if \arg{n} $==$ {\tt wxNOT\_FOUND}.
|
||||
|
||||
Note that this does not cause any command events to be emitted.
|
||||
Note that this does not cause any command events to be emitted nor does it
|
||||
deselect any other items in the controls which support multiple selections.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
|
@@ -42,12 +42,6 @@ public:
|
||||
|
||||
// all generic methods are in wxControlWithItems
|
||||
|
||||
// single selection logic
|
||||
virtual void SetSelection(int n) = 0;
|
||||
|
||||
// don't override this
|
||||
virtual void Select(int n) { SetSelection(n); }
|
||||
|
||||
// set/get the number of columns in the control (as they're not supported on
|
||||
// most platforms, they do nothing by default)
|
||||
virtual void SetColumns(int WXUNUSED(n) = 1 ) { }
|
||||
|
@@ -88,7 +88,6 @@ public:
|
||||
virtual wxString GetString(int) const;
|
||||
virtual void SetString(int, const wxString&);
|
||||
virtual int FindString(const wxString&) const;
|
||||
virtual void Select(int) {}
|
||||
virtual int GetSelection() const;
|
||||
virtual int DoAppend(const wxString&);
|
||||
virtual int DoInsert(const wxString&, int);
|
||||
|
@@ -82,12 +82,12 @@ protected:
|
||||
public:
|
||||
// pure virtuals from wxListBoxBase
|
||||
virtual bool IsSelected(int n) const;
|
||||
virtual void SetSelection(int n, bool select = TRUE);
|
||||
virtual int GetSelections(wxArrayInt& aSelections) const;
|
||||
protected:
|
||||
virtual void DoInsertItems(const wxArrayString& items, int pos);
|
||||
virtual void DoSetItems(const wxArrayString& items, void **clientData);
|
||||
virtual void DoSetFirstItem(int n);
|
||||
virtual void DoSetSelection(int n, bool select);
|
||||
|
||||
// pure virtuals from wxItemContainer
|
||||
public:
|
||||
@@ -100,7 +100,6 @@ public:
|
||||
virtual void SetString(int n, const wxString& s);
|
||||
virtual int FindString(const wxString& s) const;
|
||||
// selection
|
||||
virtual void Select(int n);
|
||||
virtual int GetSelection() const;
|
||||
protected:
|
||||
virtual int DoAppend(const wxString& item);
|
||||
|
@@ -76,7 +76,7 @@ public:
|
||||
// selection
|
||||
// ---------
|
||||
|
||||
virtual void Select(int n) = 0;
|
||||
virtual void SetSelection(int n) = 0;
|
||||
virtual int GetSelection() const = 0;
|
||||
|
||||
// set selection to the specified string, return false if not found
|
||||
@@ -85,6 +85,10 @@ public:
|
||||
// return the selected string or empty string if none
|
||||
wxString GetStringSelection() const;
|
||||
|
||||
// this is the same as SetSelection( for single-selection controls but
|
||||
// reads better for multi-selection ones
|
||||
void Select(int n) { SetSelection(n); }
|
||||
|
||||
// misc
|
||||
// ----
|
||||
|
||||
@@ -172,6 +176,20 @@ private:
|
||||
DECLARE_NO_COPY_CLASS(wxControlWithItems)
|
||||
};
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// inline functions
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#if WXWIN_COMPATIBILITY_2_2
|
||||
|
||||
inline int wxItemContainer::Number() const
|
||||
{
|
||||
return GetCount();
|
||||
}
|
||||
|
||||
#endif // WXWIN_COMPATIBILITY_2_2
|
||||
|
||||
#endif // wxUSE_CONTROLS
|
||||
|
||||
#endif // _WX_CTRLSUB_H_BASE_
|
||||
|
@@ -95,7 +95,6 @@ public:
|
||||
int GetCount() const;
|
||||
int Number() const { return GetCount(); }
|
||||
void SetSelection( int n );
|
||||
void Select( int n ) { return SetSelection( n ); }
|
||||
void SetString(int n, const wxString &text);
|
||||
|
||||
wxString GetValue() const;
|
||||
|
@@ -81,7 +81,7 @@ public:
|
||||
virtual int FindString(const wxString& s) const;
|
||||
|
||||
virtual bool IsSelected(int n) const;
|
||||
virtual void SetSelection(int n, bool select = TRUE);
|
||||
virtual void DoSetSelection(int n, bool select);
|
||||
virtual int GetSelection() const;
|
||||
virtual int GetSelections(wxArrayInt& aSelections) const;
|
||||
|
||||
|
@@ -95,7 +95,6 @@ public:
|
||||
int GetCount() const;
|
||||
int Number() const { return GetCount(); }
|
||||
void SetSelection( int n );
|
||||
void Select( int n ) { return SetSelection( n ); }
|
||||
void SetString(int n, const wxString &text);
|
||||
|
||||
wxString GetValue() const;
|
||||
|
@@ -81,7 +81,7 @@ public:
|
||||
virtual int FindString(const wxString& s) const;
|
||||
|
||||
virtual bool IsSelected(int n) const;
|
||||
virtual void SetSelection(int n, bool select = TRUE);
|
||||
virtual void DoSetSelection(int n, bool select);
|
||||
virtual int GetSelection() const;
|
||||
virtual int GetSelections(wxArrayInt& aSelections) const;
|
||||
|
||||
|
@@ -65,12 +65,16 @@ public:
|
||||
|
||||
// multiple selection logic
|
||||
virtual bool IsSelected(int n) const = 0;
|
||||
virtual void SetSelection(int n, bool select = true) = 0;
|
||||
virtual void Select(int n) { SetSelection(n, true); }
|
||||
void Deselect(int n) { SetSelection(n, false); }
|
||||
virtual void SetSelection(int n) { DoSetSelection(n, true); }
|
||||
void SetSelection(int n, bool select) { DoSetSelection(n, select); }
|
||||
void Deselect(int n) { DoSetSelection(n, false); }
|
||||
void DeselectAll(int itemToLeaveSelected = -1);
|
||||
|
||||
virtual bool SetStringSelection(const wxString& s, bool select = true);
|
||||
virtual bool SetStringSelection(const wxString& s, bool select);
|
||||
virtual bool SetStringSelection(const wxString& s)
|
||||
{
|
||||
return SetStringSelection(s, true);
|
||||
}
|
||||
|
||||
// works for single as well as multiple selection listboxes (unlike
|
||||
// GetSelection which only works for listboxes with single selection)
|
||||
@@ -119,6 +123,9 @@ protected:
|
||||
|
||||
virtual void DoSetFirstItem(int n) = 0;
|
||||
|
||||
virtual void DoSetSelection(int n, bool select) = 0;
|
||||
|
||||
|
||||
DECLARE_NO_COPY_CLASS(wxListBoxBase)
|
||||
};
|
||||
|
||||
|
@@ -92,7 +92,6 @@ class WXDLLEXPORT wxComboBox : public wxControl, public wxComboBoxBase
|
||||
|
||||
virtual int GetSelection() const ;
|
||||
virtual void SetSelection(int n);
|
||||
virtual void Select(int n) { SetSelection(n) ; }
|
||||
virtual int FindString(const wxString& s) const;
|
||||
virtual wxString GetString(int n) const ;
|
||||
virtual wxString GetStringSelection() const ;
|
||||
|
@@ -97,7 +97,7 @@ public:
|
||||
virtual int FindString(const wxString& s) const;
|
||||
|
||||
virtual bool IsSelected(int n) const;
|
||||
virtual void SetSelection(int n, bool select = TRUE);
|
||||
virtual void DoSetSelection(int n, bool select);
|
||||
virtual int GetSelection() const;
|
||||
virtual int GetSelections(wxArrayInt& aSelections) const;
|
||||
|
||||
|
@@ -87,7 +87,6 @@ class WXDLLEXPORT wxComboBox : public wxControl, public wxComboBoxBase
|
||||
|
||||
virtual int GetSelection() const ;
|
||||
virtual void SetSelection(int n);
|
||||
virtual void Select(int n) { SetSelection(n) ; }
|
||||
virtual int FindString(const wxString& s) const;
|
||||
virtual wxString GetString(int n) const ;
|
||||
virtual wxString GetStringSelection() const ;
|
||||
|
@@ -97,7 +97,7 @@ public:
|
||||
virtual int FindString(const wxString& s) const;
|
||||
|
||||
virtual bool IsSelected(int n) const;
|
||||
virtual void SetSelection(int n, bool select = TRUE);
|
||||
virtual void DoSetSelection(int n, bool select);
|
||||
virtual int GetSelection() const;
|
||||
virtual int GetSelections(wxArrayInt& aSelections) const;
|
||||
|
||||
|
@@ -84,7 +84,7 @@ public:
|
||||
virtual wxString GetString(int n) const;
|
||||
|
||||
// implementation of wxListBoxbase
|
||||
virtual void SetSelection(int n, bool select = true);
|
||||
virtual void DoSetSelection(int n, bool select);
|
||||
virtual void DoInsertItems(const wxArrayString& items, int pos);
|
||||
virtual void DoSetItems(const wxArrayString& items, void **clientData);
|
||||
virtual void DoSetFirstItem(int n);
|
||||
|
@@ -91,7 +91,7 @@ public:
|
||||
virtual int FindString(const wxString& s) const;
|
||||
|
||||
virtual bool IsSelected(int n) const;
|
||||
virtual void SetSelection(int n, bool select = true);
|
||||
virtual void DoSetSelection(int n, bool select);
|
||||
virtual int GetSelection() const;
|
||||
virtual int GetSelections(wxArrayInt& aSelections) const;
|
||||
|
||||
|
@@ -114,8 +114,8 @@ public:
|
||||
virtual int FindString(const wxString& rsString) const;
|
||||
|
||||
virtual bool IsSelected(int n) const;
|
||||
virtual void SetSelection( int n
|
||||
,bool bSelect = TRUE
|
||||
virtual void DoSetSelection( int n
|
||||
,bool bSelect
|
||||
);
|
||||
virtual int GetSelection(void) const;
|
||||
virtual int GetSelections(wxArrayInt& raSelections) const;
|
||||
|
@@ -91,7 +91,7 @@ public:
|
||||
virtual int FindString(const wxString& s) const;
|
||||
|
||||
virtual bool IsSelected(int n) const;
|
||||
virtual void SetSelection(int n, bool select = TRUE);
|
||||
virtual void DoSetSelection(int n, bool select);
|
||||
virtual int GetSelection() const;
|
||||
virtual int GetSelections(wxArrayInt& aSelections) const;
|
||||
|
||||
|
@@ -301,9 +301,8 @@ public:
|
||||
virtual wxString GetString(int n) const;
|
||||
virtual void SetString(int n, const wxString& s);
|
||||
virtual int FindString(const wxString& s) const;
|
||||
virtual void Select(int n);
|
||||
virtual void SetSelection(int n);
|
||||
virtual int GetSelection() const;
|
||||
void SetSelection(int n) { Select(n); }
|
||||
|
||||
wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST
|
||||
|
||||
|
@@ -112,7 +112,7 @@ public:
|
||||
|
||||
virtual bool IsSelected(int n) const
|
||||
{ return m_selections.Index(n) != wxNOT_FOUND; }
|
||||
virtual void SetSelection(int n, bool select = true);
|
||||
virtual void DoSetSelection(int n, bool select);
|
||||
virtual int GetSelection() const;
|
||||
virtual int GetSelections(wxArrayInt& aSelections) const;
|
||||
|
||||
|
@@ -117,7 +117,7 @@ bool wxListBox::IsSelected(int n) const
|
||||
return [GetNSTableView() isRowSelected: n];
|
||||
}
|
||||
|
||||
void wxListBox::SetSelection(int n, bool select)
|
||||
void wxListBox::DoSetSelection(int n, bool select)
|
||||
{
|
||||
if(select)
|
||||
[GetNSTableView() selectRow: n byExtendingSelection:NO];
|
||||
@@ -197,7 +197,7 @@ int wxListBox::FindString(const wxString& s) const
|
||||
}
|
||||
|
||||
// selection
|
||||
void wxListBox::Select(int n)
|
||||
void wxListBox::SetSelection(int n)
|
||||
{
|
||||
}
|
||||
|
||||
|
@@ -64,7 +64,7 @@ bool wxItemContainer::SetStringSelection(const wxString& s)
|
||||
if ( sel == wxNOT_FOUND )
|
||||
return false;
|
||||
|
||||
Select(sel);
|
||||
SetSelection(sel);
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -167,13 +167,4 @@ wxControlWithItems::~wxControlWithItems()
|
||||
// this destructor is required for Darwin
|
||||
}
|
||||
|
||||
#if WXWIN_COMPATIBILITY_2_2
|
||||
|
||||
int wxItemContainer::Number() const
|
||||
{
|
||||
return GetCount();
|
||||
}
|
||||
|
||||
#endif // WXWIN_COMPATIBILITY_2_2
|
||||
|
||||
#endif // wxUSE_CONTROLS
|
||||
|
@@ -1006,7 +1006,7 @@ bool wxListBox::IsSelected( int n ) const
|
||||
return (GTK_WIDGET(target->data)->state == GTK_STATE_SELECTED) ;
|
||||
}
|
||||
|
||||
void wxListBox::SetSelection( int n, bool select )
|
||||
void wxListBox::DoSetSelection( int n, bool select )
|
||||
{
|
||||
wxCHECK_RET( m_list != NULL, wxT("invalid listbox") );
|
||||
|
||||
|
@@ -1006,7 +1006,7 @@ bool wxListBox::IsSelected( int n ) const
|
||||
return (GTK_WIDGET(target->data)->state == GTK_STATE_SELECTED) ;
|
||||
}
|
||||
|
||||
void wxListBox::SetSelection( int n, bool select )
|
||||
void wxListBox::DoSetSelection( int n, bool select )
|
||||
{
|
||||
wxCHECK_RET( m_list != NULL, wxT("invalid listbox") );
|
||||
|
||||
|
@@ -440,7 +440,7 @@ void wxListBox::Clear()
|
||||
MacClear() ;
|
||||
}
|
||||
|
||||
void wxListBox::SetSelection(int N, bool select)
|
||||
void wxListBox::DoSetSelection(int N, bool select)
|
||||
{
|
||||
wxCHECK_RET( N == wxNOT_FOUND || (N >= 0 && N < m_noItems) ,
|
||||
wxT("invalid index in wxListBox::SetSelection") );
|
||||
@@ -900,5 +900,5 @@ void wxListBox::OnChar(wxKeyEvent& event)
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif // !TARGET_API_MAC_OSX
|
||||
|
||||
|
@@ -515,7 +515,7 @@ void wxListBox::Clear()
|
||||
MacClear() ;
|
||||
}
|
||||
|
||||
void wxListBox::SetSelection(int N, bool select)
|
||||
void wxListBox::DoSetSelection(int N, bool select)
|
||||
{
|
||||
wxCHECK_RET( N >= 0 && N < m_noItems,
|
||||
wxT("invalid index in wxListBox::SetSelection") );
|
||||
|
@@ -337,7 +337,7 @@ void wxListBox::Clear()
|
||||
m_noItems = 0;
|
||||
}
|
||||
|
||||
void wxListBox::SetSelection(int N, bool select)
|
||||
void wxListBox::DoSetSelection(int N, bool select)
|
||||
{
|
||||
m_inSetValue = true;
|
||||
if (select)
|
||||
|
@@ -390,7 +390,7 @@ void wxListBox::Free()
|
||||
}
|
||||
}
|
||||
|
||||
void wxListBox::SetSelection(int N, bool select)
|
||||
void wxListBox::DoSetSelection(int N, bool select)
|
||||
{
|
||||
wxCHECK_RET( N == wxNOT_FOUND ||
|
||||
(N >= 0 && N < m_noItems),
|
||||
|
@@ -415,7 +415,7 @@ void wxListBox::Clear()
|
||||
m_nNumItems = 0;
|
||||
} // end of wxListBox::Clear
|
||||
|
||||
void wxListBox::SetSelection(
|
||||
void wxListBox::DoSetSelection(
|
||||
int N
|
||||
, bool bSelect
|
||||
)
|
||||
|
@@ -207,7 +207,7 @@ void wxListBox::Free()
|
||||
{
|
||||
}
|
||||
|
||||
void wxListBox::SetSelection(int N, bool select)
|
||||
void wxListBox::DoSetSelection(int N, bool select)
|
||||
{
|
||||
}
|
||||
|
||||
|
@@ -832,7 +832,7 @@ int wxComboBox::FindString(const wxString& s) const
|
||||
return GetLBox()->FindString(s);
|
||||
}
|
||||
|
||||
void wxComboBox::Select(int n)
|
||||
void wxComboBox::SetSelection(int n)
|
||||
{
|
||||
wxCHECK_RET( (n >= 0) && (n < GetCount()), _T("invalid index in wxComboBox::Select") );
|
||||
|
||||
|
@@ -421,7 +421,7 @@ wxClientData* wxListBox::DoGetItemClientObject(int n) const
|
||||
// selection
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
void wxListBox::SetSelection(int n, bool select)
|
||||
void wxListBox::DoSetSelection(int n, bool select)
|
||||
{
|
||||
if ( select )
|
||||
{
|
||||
|
Reference in New Issue
Block a user