a wxVariant.
@library{wxbase}
- @category{FIXME}
+ @category{dvc}
*/
class wxDataViewIconText : public wxObject
{
wxDataViewEvent - the event class for the wxDataViewCtrl notifications
@library{wxadv}
- @category{FIXME}
+ @category{events,dvc}
*/
class wxDataViewEvent : public wxNotifyEvent
{
-/**
- @class wxDataViewIconTextRenderer
- @wxheader{dataview.h}
-
- The wxDataViewIconTextRenderer class is used to display text with
- a small icon next to it as it is typically done in a file manager.
- This classes uses the wxDataViewIconText
- helper class to store its data. wxDataViewIonText can be converted
- to a from a wxVariant using the left shift
- operator.
-
- @library{wxadv}
- @category{FIXME}
-*/
-class wxDataViewIconTextRenderer : public wxDataViewRenderer
-{
-public:
- /**
-
- */
- wxDataViewIconTextRenderer(const wxString& varianttype = "wxDataViewIconText",
- wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT);
-};
-
-
-
-/**
- @class wxDataViewIndexListModel
- @wxheader{dataview.h}
-
- wxDataViewIndexListModel is a specialized data model which lets
- you address an item by its position (row) rather than its
- wxDataViewItem (which you can obtain from this class).
- This model also provides its own
- wxDataViewIndexListModel::Compare method
- which sorts the model's data by the index.
-
- This model is special in the it is implemented differently under OS X
- and other platforms. Under OS X a wxDataViewItem is always persistent
- and this is also the case for this class. Under other platforms, the
- meaning of a wxDataViewItem is changed to reflect a row number for
- wxDataViewIndexListModel. The consequence of this is that
- wxDataViewIndexListModel can be used as a virtual model with an
- almost infinate number of items on platforms other than OS X.
-
- @library{wxbase}
- @category{FIXME}
-*/
-class wxDataViewIndexListModel : public wxDataViewModel
-{
-public:
- /**
- Constructor.
- */
- wxDataViewIndexListModel(unsigned int initial_size = 0);
-
- /**
- Destructor.
- */
- ~wxDataViewIndexListModel();
-
- /**
- Compare method that sorts the items by their index.
- */
- int Compare(const wxDataViewItem& item1,
- const wxDataViewItem& item2,
- unsigned int column, bool ascending);
-
- /**
- Oberride this to indicate that the row has special font attributes.
- This only affects the
- wxDataViewTextRendererText() renderer.
- See also wxDataViewItemAttr.
- */
- bool GetAttr(unsigned int row, unsigned int col,
- wxDataViewItemAttr& attr);
-
- /**
- Returns the wxDataViewItem at the given @e row.
- */
- wxDataViewItem GetItem(unsigned int row) const;
-
- /**
- Returns the position of given @e item.
- */
- unsigned int GetRow(const wxDataViewItem& item) const;
-
- /**
- Override this to allow getting values from the model.
- */
- void GetValue(wxVariant& variant, unsigned int row,
- unsigned int col) const;
-
- /**
- Call this after if the data has to be read again from
- the model. This is useful after major changes when
- calling the methods below (possibly thousands of times)
- doesn't make sense.
- */
- void Reset(unsigned int new_size);
-
- /**
- Call this after a row has been appended to the model.
- */
- void RowAppended();
-
- /**
- Call this after a row has been changed.
- */
- void RowChanged(unsigned int row);
-
- /**
- Call this after a row has been deleted.
- */
- void RowDeleted(unsigned int row);
-
- /**
- Call this after a row has been inserted at the given position.
- */
- void RowInserted(unsigned int before);
-
- /**
- Call this after a row has been prepended to the model.
- */
- void RowPrepended();
-
- /**
- Call this after a value has been changed.
- */
- void RowValueChanged(unsigned int row, unsigned int col);
-
- /**
- Call this after rows have been deleted. The array will internally
- get copied and sorted in descending order so that the rows with
- the highest position will be deleted first.
- */
- void RowsDeleted(const wxArrayInt& rows);
-
- /**
- Called in order to set a value in the model.
- */
- bool SetValue(const wxVariant& variant, unsigned int row,
- unsigned int col);
-};
-
-
-
/**
@class wxDataViewModel
@wxheader{dataview.h}
Currently wxWidgets provides the following models apart
from the base model:
wxDataViewIndexListModel,
+ wxDataViewVirtualListModel,
wxDataViewTreeStore.
Note that wxDataViewModel is reference counted, derives from
@library{wxadv}
- @category{FIXME}
+ @category{dvc}
*/
class wxDataViewModel : public wxObjectRefData
{
+/**
+ @class wxDataViewIndexListModel
+ @wxheader{dataview.h}
+
+ wxDataViewIndexListModel is a specialized data model which lets
+ you address an item by its position (row) rather than its
+ wxDataViewItem (which you can obtain from this class).
+ This model also provides its own wxDataViewIndexListModel::Compare
+ method which sorts the model's data by the index.
+
+ This model is not a virtual model since the control stores
+ each wxDataViewItem. Use wxDataViewVirtualListModel if you
+ need to display millions of items or have other reason to
+ use a virtual control.
+
+ @library{wxbase}
+ @category{dvc}
+*/
+class wxDataViewIndexListModel : public wxDataViewModel
+{
+public:
+ /**
+ Constructor.
+ */
+ wxDataViewIndexListModel(unsigned int initial_size = 0);
+
+ /**
+ Destructor.
+ */
+ ~wxDataViewIndexListModel();
+
+ /**
+ Compare method that sorts the items by their index.
+ */
+ int Compare(const wxDataViewItem& item1,
+ const wxDataViewItem& item2,
+ unsigned int column, bool ascending);
+
+ /**
+ Oberride this to indicate that the row has special font attributes.
+ This only affects the
+ wxDataViewTextRendererText() renderer.
+ See also wxDataViewItemAttr.
+ */
+ bool GetAttr(unsigned int row, unsigned int col,
+ wxDataViewItemAttr& attr);
+
+ /**
+ Returns the wxDataViewItem at the given @e row.
+ */
+ wxDataViewItem GetItem(unsigned int row) const;
+
+ /**
+ Returns the position of given @e item.
+ */
+ unsigned int GetRow(const wxDataViewItem& item) const;
+
+ /**
+ Override this to allow getting values from the model.
+ */
+ void GetValue(wxVariant& variant, unsigned int row,
+ unsigned int col) const;
+
+ /**
+ Call this after if the data has to be read again from
+ the model. This is useful after major changes when
+ calling the methods below (possibly thousands of times)
+ doesn't make sense.
+ */
+ void Reset(unsigned int new_size);
+
+ /**
+ Call this after a row has been appended to the model.
+ */
+ void RowAppended();
+
+ /**
+ Call this after a row has been changed.
+ */
+ void RowChanged(unsigned int row);
+
+ /**
+ Call this after a row has been deleted.
+ */
+ void RowDeleted(unsigned int row);
+
+ /**
+ Call this after a row has been inserted at the given position.
+ */
+ void RowInserted(unsigned int before);
+
+ /**
+ Call this after a row has been prepended to the model.
+ */
+ void RowPrepended();
+
+ /**
+ Call this after a value has been changed.
+ */
+ void RowValueChanged(unsigned int row, unsigned int col);
+
+ /**
+ Call this after rows have been deleted. The array will internally
+ get copied and sorted in descending order so that the rows with
+ the highest position will be deleted first.
+ */
+ void RowsDeleted(const wxArrayInt& rows);
+
+ /**
+ Called in order to set a value in the model.
+ */
+ bool SetValue(const wxVariant& variant, unsigned int row,
+ unsigned int col);
+};
+
+
+
+/**
+ @class wxDataViewVirtualListModel
+ @wxheader{dataview.h}
+
+ wxDataViewVirtualListModel is a specialized data model which lets
+ you address an item by its position (row) rather than its
+ wxDataViewItem and as such offers the exact same interface as
+ wxDataViewIndexListModel. The important difference is that under
+ platforms other than OS X, using this model will result in a
+ truely virtual control able to handle millions of items as the
+ control doesn't store any item (a feature not supported by the
+ Carbon API under OS X).
+
+ @see wxDataViewIndexListModel for the API.
+
+ @library{wxbase}
+ @category{dvc}
+*/
+class wxDataViewVirtualListModel : public wxDataViewModel
+{
+public:
+ /**
+ Constructor.
+ */
+ wxDataViewVirtualListModel(unsigned int initial_size = 0);
+};
+
+
/**
@class wxDataViewItemAttr
wxDataViewTextRendererText().
@library{wxadv}
- @category{FIXME}
+ @category{dvc}
*/
class wxDataViewItemAttr
{
wxDataViewModel::GetChildren.
@library{wxadv}
- @category{FIXME}
+ @category{dvc}
*/
class wxDataViewItem
{
Display fine rules between row if supported.
@style{wxDV_VERT_RULES}
Display fine rules between columns is supported.
+ @style{wxDV_VARIABLE_LINE_HEIGHT}
+ Allow variable line heights. This can be inefficient when displaying large number of items.
@endStyleTable
@library{wxadv}
- @category{ctrl}
- @appearance{dataviewctrl.png}
+ @category{ctrl,dvc}
+ <!-- @appearance{dataviewctrl.png} -->
*/
class wxDataViewCtrl : public wxControl
{
*/
~wxDataViewCtrl();
+ /**
+ Add a wxDataViewColumn to the control. Returns
+ @e @true on success.
+ Note that there is a number of short cut methods which implicitly create
+ a wxDataViewColumn and a wxDataViewRenderer for it (see below).
+ */
+ virtual bool AppendColumn(wxDataViewColumn* col);
+
//@{
/**
Appends a column for rendering a bitmap. Returns the wxDataViewColumn
int flags = wxDATAVIEW_COL_RESIZABLE);
//@}
- /**
- Add a wxDataViewColumn to the control. Returns
- @e @true on success.
- Note that there is a number of short cut methods which implicitly create
- a wxDataViewColumn and a
- wxDataViewRenderer for it (see below).
- */
- virtual bool AppendColumn(wxDataViewColumn* col);
-
//@{
/**
Appends a column for rendering a date. Returns the wxDataViewColumn
created in the function or @NULL on failure.
+
+ NB: The @e align parameter is applied to both the column header and
+ the column renderer.
*/
wxDataViewColumn* AppendDateColumn(const wxString& label,
unsigned int model_column,
//@{
/**
Appends a column for rendering text with an icon. Returns the wxDataViewColumn
- created in the function or @NULL on failure. This uses the
- wxDataViewIconTextRenderer.
+ created in the function or @NULL on failure. This method uses the
+ wxDataViewIconTextRenderer class.
+
+ NB: The @e align parameter is applied to both the column header and
+ the column renderer.
*/
wxDataViewColumn* AppendIconTextColumn(const wxString& label,
unsigned int model_column,
//@{
/**
Appends a column for rendering a progress indicator. Returns the
- wxDataViewColumn
- created in the function or @NULL on failure.
+ wxDataViewColumn created in the function or @NULL on failure.
+
+ NB: The @e align parameter is applied to both the column header and
+ the column renderer.
*/
wxDataViewColumn* AppendProgressColumn(const wxString& label,
unsigned int model_column,
/**
Appends a column for rendering text. Returns the wxDataViewColumn
created in the function or @NULL on failure.
+
+ NB: The @e align parameter is applied to both the column header and
+ the column renderer.
*/
wxDataViewColumn* AppendTextColumn(const wxString& label,
unsigned int model_column,
/**
Appends a column for rendering a toggle. Returns the wxDataViewColumn
created in the function or @NULL on failure.
+
+ NB: The @e align parameter is applied to both the column header and
+ the column renderer.
*/
wxDataViewColumn* AppendToggleColumn(const wxString& label,
unsigned int model_column,
//@}
/**
- Associates a wxDataViewModel with the
- control. This increases the reference count of the model by 1.
+ Associates a wxDataViewModel with the control. This increases the reference
+ count of the model by 1.
*/
virtual bool AssociateModel(wxDataViewModel* model);
information.
@library{wxbase}
- @category{FIXME}
+ @category{dvc}
*/
class wxDataViewModelNotifier
{
/**
Get owning wxDataViewModel.
*/
- wxDataViewModel* GetOwner();
+ wxDataViewModel* GetOwner() const;
/**
Called by owning model.
wxDataViewDateRenderer.
wxDataViewSpinRenderer.
- Note that the @e alignment parameter is ignored under OS X and
- the alignment is controlled by wxDataViewColumn::GetAlignment()
- so that under OS X, column header alignment and column content
- alignment are always the same and cannot be set independently.
-
Additionally, the user can write own renderers by deriving from
wxDataViewCustomRenderer.
@library{wxadv}
- @category{FIXME}
+ @category{dvc}
*/
class wxDataViewRenderer : public wxObject
{
*/
wxDataViewRenderer(const wxString& varianttype,
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
- int align = wxALIGN_LEFT|wxALIGN_CENTRE_VERTICAL);
+ int align = wxDVR_DEFAULT_ALIGNMENT );
/**
- Returns the alignment.
+ Returns the alignment. See SetAlignment()
*/
virtual int GetAlignment() const;
/**
Returns pointer to the owning wxDataViewColumn.
*/
- virtual wxDataViewColumn* GetOwner();
+ virtual wxDataViewColumn* GetOwner() const;
/**
This methods retrieves the value from the renderer in order to
virtual wxString GetVariantType();
/**
- Sets the alignment.
+ Sets the alignment of the renderer's content. The default value
+ of wxDVR_DEFAULT_ALIGMENT indicates that the content should
+ have the same alignment as the column header. The method is
+ not implemented under OS X and the renderer always aligns its
+ contents as the column header on that platform. The other platforms
+ support both vertical and horizontal alignment.
*/
virtual void SetAlignment( int align );
/**
in-place editing if desired.
@library{wxadv}
- @category{FIXME}
+ @category{dvc}
*/
class wxDataViewTextRenderer : public wxDataViewRenderer
{
+/**
+ @class wxDataViewIconTextRenderer
+ @wxheader{dataview.h}
+
+ The wxDataViewIconTextRenderer class is used to display text with
+ a small icon next to it as it is typically done in a file manager.
+ This classes uses the wxDataViewIconText
+ helper class to store its data. wxDataViewIonText can be converted
+ to a from a wxVariant using the left shift
+ operator.
+
+ @library{wxadv}
+ @category{dvc}
+*/
+class wxDataViewIconTextRenderer : public wxDataViewRenderer
+{
+public:
+ /**
+
+ */
+ wxDataViewIconTextRenderer(const wxString& varianttype = "wxDataViewIconText",
+ wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
+ int align = wxDVR_DEFAULT_ALIGNMENT );
+};
+
+
+
/**
@class wxDataViewProgressRenderer
@wxheader{dataview.h}
wxDataViewProgressRenderer
@library{wxadv}
- @category{FIXME}
+ @category{dvc}
*/
class wxDataViewProgressRenderer : public wxDataViewRenderer
{
The renderer only support variants of type @e long.
@library{wxbase}
- @category{FIXME}
+ @category{dvc}
*/
class wxDataViewSpinRenderer : public wxDataViewCustomRenderer
{
wxDataViewToggleRenderer
@library{wxadv}
- @category{FIXME}
+ @category{dvc}
*/
class wxDataViewToggleRenderer : public wxDataViewRenderer
{
wxDataViewDateRenderer
@library{wxadv}
- @category{FIXME}
+ @category{dvc}
*/
class wxDataViewDateRenderer : public wxDataViewRenderer
{
wxDataViewItemAttr.
@library{wxadv}
- @category{FIXME}
+ @category{dvc}
*/
class wxDataViewTextRendererAttr : public wxDataViewTextRenderer
{
};
+
/**
@class wxDataViewCustomRenderer
@wxheader{dataview.h}
in order to end the editing.
@library{wxadv}
- @category{FIXME}
+ @category{dvc}
*/
class wxDataViewCustomRenderer : public wxDataViewRenderer
{
wxDataViewBitmapRenderer
@library{wxadv}
- @category{FIXME}
+ @category{dvc}
*/
class wxDataViewBitmapRenderer : public wxDataViewRenderer
{
-
/**
@class wxDataViewColumn
@wxheader{dataview.h}
this class to render its data.
@library{wxadv}
- @category{FIXME}
+ @category{dvc}
*/
class wxDataViewColumn : public wxObject
{
/**
Returns the owning wxDataViewCtrl.
*/
- wxDataViewCtrl* GetOwner();
+ wxDataViewCtrl* GetOwner() const;
/**
Returns the renderer of this wxDataViewColumn.
to the wxDataViewCtrl class simpler.
@library{wxbase}
- @category{ctrl}
- @appearance{dataviewtreectrl.png}
+ @category{ctrl,dvc}
+ <!-- @appearance{dataviewtreectrl.png} -->
*/
class wxDataViewTreeCtrl : public wxDataViewCtrl
{
This comes at the price of much reduced flexibility.
@library{wxadv}
- @category{FIXME}
+ @category{dvc}
*/
class wxDataViewTreeStore : public wxDataViewModel
{
void SetItemIcon(const wxDataViewItem& item, const wxIcon& icon);
};
-
-