X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cc72cde0ea8a1b8301acee96a1455926c2f9310d..ee7553e935502f77f7aed93221a449b982dee40d:/interface/wx/dataview.h diff --git a/interface/wx/dataview.h b/interface/wx/dataview.h index fef9f43452..f4d4fcd8f1 100644 --- a/interface/wx/dataview.h +++ b/interface/wx/dataview.h @@ -216,7 +216,7 @@ public: /** Override this to indicate which wxDataViewItem representing the parent - of @a item or an invalid wxDataViewItem if the the root item is + of @a item or an invalid wxDataViewItem if the root item is the parent item. */ virtual wxDataViewItem GetParent(const wxDataViewItem& item) const = 0; @@ -231,7 +231,7 @@ public: /** Override this method to indicate if a container item merely acts as a headline (or for categorisation) or if it also acts a normal item with - entries for futher columns. By default returns @false. + entries for further columns. By default returns @false. */ virtual bool HasContainerColumns(const wxDataViewItem& item) const; @@ -276,7 +276,7 @@ public: /** Call this to inform the model that an item has changed. - This will eventually emit a wxEVT_DATAVIEW_ITEM_VALUE_CHANGED + This will eventually emit a @c wxEVT_DATAVIEW_ITEM_VALUE_CHANGED event (in which the column fields will not be set) to the user. */ bool ItemChanged(const wxDataViewItem& item); @@ -296,7 +296,7 @@ public: /** Call this to inform the model that several items have changed. - This will eventually emit wxEVT_DATAVIEW_ITEM_VALUE_CHANGED + This will eventually emit @c wxEVT_DATAVIEW_ITEM_VALUE_CHANGED events (in which the column fields will not be set) to the user. */ bool ItemsChanged(const wxDataViewItemArray& items); @@ -337,7 +337,7 @@ public: This is also called from wxDataViewCtrl's internal editing code, e.g. when editing a text field in the control. - This will eventually emit a wxEVT_DATAVIEW_ITEM_VALUE_CHANGED + This will eventually emit a @c wxEVT_DATAVIEW_ITEM_VALUE_CHANGED event to the user. */ virtual bool ValueChanged(const wxDataViewItem& item, @@ -421,7 +421,7 @@ public: unsigned int col) const; /** - Returns the number of items (i.e. rows) in the list. + Returns the number of items (or rows) in the list. */ unsigned int GetCount() const; @@ -1086,7 +1086,7 @@ public: void SetCurrentItem(const wxDataViewItem& item); /** - Sets the indendation. + Sets the indentation. */ void SetIndent(int indent); @@ -1095,6 +1095,14 @@ public: */ virtual void SetSelections(const wxDataViewItemArray& sel); + /** + Programmatically starts editing the given item on the given column. + Currently not implemented on wxOSX Carbon. + @since 2.9.2 + */ + + virtual void StartEditor(const wxDataViewItem & item, unsigned int column); + /** Unselect the given item. */ @@ -1105,6 +1113,26 @@ public: This method only has effect if multiple selections are allowed. */ virtual void UnselectAll(); + + /** + Sets the row height. + + This function can only be used when all rows have the same height, i.e. + when wxDV_VARIABLE_LINE_HEIGHT flag is not used. + + Currently this is implemented in the generic and native GTK versions + only and nothing is done (and @false returned) when using OS X port. + + Also notice that this method can only be used to increase the row + height compared with the default one (as determined by the return value + of wxDataViewRenderer::GetSize()), if it is set to a too small value + then the minimum required by the renderers will be used. + + @return @true if the line height was changed or @false otherwise. + + @since 2.9.2 + */ + virtual bool SetRowHeight(int rowHeight); }; @@ -1571,7 +1599,7 @@ public: Override this to react to double clicks or ENTER. This method will only be called in wxDATAVIEW_CELL_ACTIVATABLE mode. */ - virtual bool Activate( wxRect cell, + virtual bool Activate( const wxRect& cell, wxDataViewModel* model, const wxDataViewItem & item, unsigned int col ); @@ -1590,9 +1618,9 @@ public: } @endcode */ - virtual wxControl* CreateEditorCtrl(wxWindow* parent, - wxRect labelRect, - const wxVariant& value); + virtual wxWindow* CreateEditorCtrl(wxWindow* parent, + wxRect labelRect, + const wxVariant& value); /** Return the attribute to be used for rendering. @@ -1627,7 +1655,7 @@ public: } @endcode */ - virtual bool GetValueFromEditorCtrl(wxControl* editor, + virtual bool GetValueFromEditorCtrl(wxWindow* editor, wxVariant& value); /** @@ -1640,8 +1668,8 @@ public: Override this to react to a left click. This method will only be called in @c wxDATAVIEW_CELL_ACTIVATABLE mode. */ - virtual bool LeftClick( wxPoint cursor, - wxRect cell, + virtual bool LeftClick( const wxPoint& cursor, + const wxRect& cell, wxDataViewModel * model, const wxDataViewItem & item, unsigned int col ); @@ -1665,7 +1693,8 @@ public: /** Override this to start a drag operation. Not yet supported. */ - virtual bool StartDrag(wxPoint cursor, wxRect cell, + virtual bool StartDrag(const wxPoint& cursor, + const wxRect& cell, wxDataViewModel* model, const wxDataViewItem & item, unsigned int col); @@ -2053,7 +2082,7 @@ public: /** Sets the value in the store and update the control. - This method assumes that the a string is stored in respective + This method assumes that the string is stored in respective column. */ void SetTextValue( const wxString &value, unsigned int row, unsigned int col ); @@ -2061,7 +2090,7 @@ public: /** Returns the value from the store. - This method assumes that the a string is stored in respective + This method assumes that the string is stored in respective column. */ wxString GetTextValue( unsigned int row, unsigned int col ) const; @@ -2069,7 +2098,7 @@ public: /** Sets the value in the store and update the control. - This method assumes that the a boolean value is stored in + This method assumes that the boolean value is stored in respective column. */ void SetToggleValue( bool value, unsigned int row, unsigned int col ); @@ -2077,7 +2106,7 @@ public: /** Returns the value from the store. - This method assumes that the a boolean value is stored in + This method assumes that the boolean value is stored in respective column. */ bool GetToggleValue( unsigned int row, unsigned int col ) const; @@ -2392,23 +2421,23 @@ public: void DeleteAllItems(); /** - Overriden from wxDataViewModel + Overridden from wxDataViewModel */ virtual unsigned int GetColumnCount() const; /** - Overriden from wxDataViewModel + Overridden from wxDataViewModel */ virtual wxString GetColumnType( unsigned int col ) const; /** - Overriden from wxDataViewIndexListModel + Overridden from wxDataViewIndexListModel */ virtual void GetValueByRow( wxVariant &value, unsigned int row, unsigned int col ) const; /** - Overriden from wxDataViewIndexListModel + Overridden from wxDataViewIndexListModel */ virtual bool SetValueByRow( const wxVariant &value, unsigned int row, unsigned int col ); @@ -2418,7 +2447,7 @@ public: /** @class wxDataViewTreeStore - wxDataViewTreeStore is a specialised wxDataViewModel for stroing simple + wxDataViewTreeStore is a specialised wxDataViewModel for storing simple trees very much like wxTreeCtrl does and it offers a similar API. This class actually stores the entire tree and the values (therefore its name) @@ -2480,7 +2509,7 @@ public: int GetChildCount(const wxDataViewItem& parent) const; /** - Returns the client data asoociated with the item. + Returns the client data associated with the item. */ wxClientData* GetItemData(const wxDataViewItem& item) const; @@ -2677,7 +2706,7 @@ public: wxDataViewModel* GetModel() const; /** - Returns a the position of a context menu event in screen coordinates. + Returns the position of a context menu event in screen coordinates. */ wxPoint GetPosition() const; @@ -2686,13 +2715,33 @@ public: */ const wxVariant& GetValue() const; + /** + Can be used to determine whether the new value is going to be accepted + in wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_DONE handler. + + Returns @true if editing the item was cancelled or if the user tried to + enter an invalid value (refused by wxDataViewRenderer::Validate()). If + this method returns @false, it means that the value in the model is + about to be changed to the new one. + + Notice that wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_DONE event handler can + call wxNotifyEvent::Veto() to prevent this from happening. + + Currently support for setting this field and for vetoing the change is + only available in the generic version of wxDataViewCtrl, i.e. under MSW + but not GTK nor OS X. + + @since 2.9.3 + */ + bool IsEditCancelled() const; + /** Sets the column index associated with this event. */ void SetColumn(int col); /** - For wxEVT_DATAVIEW_COLUMN_HEADER_CLICKED only. + For @c wxEVT_DATAVIEW_COLUMN_HEADER_CLICKED only. */ void SetDataViewColumn(wxDataViewColumn* col);