/**
The dtor is private because only DecRef() can delete us.
*/
- ~wxGridCellEditor();
+ virtual ~wxGridCellEditor();
/**
Fetch the value from the table and prepare the edit control
to begin editing. Set the focus to the edit control.
*/
- void BeginEdit(int row, int col, wxGrid* grid);
+ virtual void BeginEdit(int row, int col, wxGrid* grid) = 0;
/**
Create a new object which is the copy of this one.
*/
- wxGridCellEditor* Clone() const;
+ virtual wxGridCellEditor* Clone() const = 0;
/**
Creates the actual edit control.
Complete the editing of the current cell. Returns @true if the value has
changed. If necessary, the control may be destroyed.
*/
- bool EndEdit(int row, int col, wxGrid* grid);
+ virtual bool EndEdit(int row, int col, wxGrid* grid) = 0;
/**
Some types of controls on some platforms may need some help
/**
Reset the value in the control back to its starting value.
*/
- void Reset();
+ virtual void Reset() = 0;
/**
Size and position the edit control.
/**
Returns @true if the Alt key was down at the time of the event.
*/
- bool AltDown();
+ bool AltDown() const;
/**
Returns @true if the Control key was down at the time of the event.
*/
- bool ControlDown();
+ bool ControlDown() const;
/**
Top left corner of the rectangular area that was (de)selected.
/**
Returns @true if the Meta key was down at the time of the event.
*/
- bool MetaDown();
+ bool MetaDown() const;
/**
Returns @true if the area was selected, @false otherwise.
/**
Returns @true if the Shift key was down at the time of the event.
*/
- bool ShiftDown();
+ bool ShiftDown() const;
};
/**
*/
- wxGridCellRenderer* Clone() const;
+ virtual wxGridCellRenderer* Clone() const = 0;
/**
Draw the given cell on the provided DC inside the given rectangle
prepare the DC using the given attribute: it will draw the rectangle
with the background colour from attr and set the text colour and font.
*/
- void Draw(wxGrid& grid, wxGridCellAttr& attr, wxDC& dc,
- const wxRect& rect, int row, int col,
- bool isSelected);
+ virtual void Draw(wxGrid& grid, wxGridCellAttr& attr, wxDC& dc,
+ const wxRect& rect, int row, int col,
+ bool isSelected) = 0;
/**
Get the preferred size of the cell for its contents.
/**
Returns @true if the Alt key was down at the time of the event.
*/
- bool AltDown();
+ bool AltDown() const;
/**
Returns @true if the Control key was down at the time of the event.
*/
- bool ControlDown();
+ bool ControlDown() const;
/**
Position in pixels at which the event occurred.
/**
Returns @true if the Meta key was down at the time of the event.
*/
- bool MetaDown();
+ bool MetaDown() const;
/**
Returns @true if the Shift key was down at the time of the event.
*/
- bool ShiftDown();
+ bool ShiftDown() const;
};
/**
Returns @true if the Alt key was down at the time of the event.
*/
- bool AltDown();
+ bool AltDown() const;
/**
Returns @true if the Control key was down at the time of the event.
*/
- bool ControlDown();
+ bool ControlDown() const;
/**
Column at which the event occurred.
/**
Returns @true if the Meta key was down at the time of the event.
*/
- bool MetaDown();
+ bool MetaDown() const;
/**
Returns @true if the user is selecting grid cells, @false -- if
/**
Returns @true if the Shift key was down at the time of the event.
*/
- bool ShiftDown();
+ bool ShiftDown() const;
};
will set up default instances of the other classes and manage them for you.
For more complex applications you can derive your own classes for custom
grid views, grid data tables, cell editors and renderers. The @ref
- overview_gridoverview has examples of simple and more complex applications,
+ overview_grid "wxGrid overview" has examples of simple and more complex applications,
explains the relationship between the various grid classes and has a
summary of the keyboard shortcuts and mouse functions provided by wxGrid.
@library{wxadv}
@category{grid}
- @see @ref overview_gridoverview "wxGrid overview"
+ @see @ref overview_grid "wxGrid overview"
*/
class wxGrid : public wxScrolledWindow
{
*/
bool AppendRows(int numRows = 1, bool updateLabels = true);
+ /**
+ Return @true if the horizontal grid lines stop at the last column
+ boundary or @false if they continue to the end of the window.
+
+ The default is to clip grid lines.
+
+ @see ClipHorzGridLines(), AreVertGridLinesClipped()
+ */
+ bool AreHorzGridLinesClipped() const;
+
+ /**
+ Return @true if the vertical grid lines stop at the last row
+ boundary or @false if they continue to the end of the window.
+
+ The default is to clip grid lines.
+
+ @see ClipVertGridLines(), AreHorzGridLinesClipped()
+ */
+ bool AreVertGridLinesClipped() const;
+
/**
Automatically sets the height and width of all rows and columns to fit their
contents.
*/
void ClearSelection();
+ /**
+ Change whether the horizontal grid lines are clipped by the end of the
+ last column.
+
+ By default the grid lines are not drawn beyond the end of the last
+ column but after calling this function with @a clip set to @false they
+ will be drawn across the entire grid window.
+
+ @see AreHorzGridLinesClipped(), ClipVertGridLines()
+ */
+ void ClipHorzGridLines(bool clip);
+
+ /**
+ Change whether the vertical grid lines are clipped by the end of the
+ last row.
+
+ By default the grid lines are not drawn beyond the end of the last
+ row but after calling this function with @a clip set to @false they
+ will be drawn across the entire grid window.
+
+ @see AreVertzGridLinesClipped(), ClipHorzGridLines()
+ */
+ void ClipVertzGridLines(bool clip);
+
/**
Creates a grid with the specified initial number of rows and columns.
For more information about controlling grid cell attributes see the
wxGridCellAttr cell attribute class and the
- @ref overview_gridoverview.
+ @ref overview_grid "wxGrid overview".
*/
void EnableEditing(bool edit);
/**
Returns a pointer to the editor for the cell at the specified location.
- See wxGridCellEditor and the @ref overview_gridoverview "wxGrid
- overview" for more information about cell editors and renderers.
+ See wxGridCellEditor and the @ref overview_grid "wxGrid overview"
+ for more information about cell editors and renderers.
The caller must call DecRef() on the returned pointer.
*/
Returns a pointer to the renderer for the grid cell at the specified
location.
- See wxGridCellRenderer and the @ref overview_gridoverview "wxGrid
- overview" for more information about cell editors and renderers.
+ See wxGridCellRenderer and the @ref overview_grid "wxGrid overview"
+ for more information about cell editors and renderers.
The caller must call DecRef() on the returned pointer.
*/
data types (e.g. numeric, boolean or user-defined custom types) then
you only use this function for those cells that contain string values.
- See wxGridTableBase::CanGetValueAs and the @ref overview_gridoverview
- "wxGrid overview" for more information.
+ See wxGridTableBase::CanGetValueAs and the @ref overview_grid "wxGrid overview"
+ for more information.
*/
wxString GetCellValue(int row, int col) const;
const wxString GetCellValue(const wxGridCellCoords& coords) const;
/**
Returns a pointer to the current default grid cell editor.
- See wxGridCellEditor and the @ref overview_gridoverview "wxGrid
- overview" for more information about cell editors and renderers.
+ See wxGridCellEditor and the @ref overview_grid "wxGrid overview"
+ for more information about cell editors and renderers.
*/
wxGridCellEditor* GetDefaultEditor() const;
/**
Returns a pointer to the current default grid cell renderer.
- See wxGridCellRenderer and the @ref overview_gridoverview "wxGrid
- overview" for more information about cell editors and renderers.
+ See wxGridCellRenderer and the @ref overview_grid "wxGrid overview"
+ for more information about cell editors and renderers.
The caller must call DecRef() on the returned pointer.
*/
The grid will take ownership of the pointer.
- See wxGridCellEditor and the @ref overview_gridoverview "wxGrid
- overview" for more information about cell editors and renderers.
+ See wxGridCellEditor and the @ref overview_grid "wxGrid overview"
+ for more information about cell editors and renderers.
*/
void SetCellEditor(int row, int col, wxGridCellEditor* editor);
The grid will take ownership of the pointer.
- See wxGridCellRenderer and the @ref overview_gridoverview "wxGrid
- overview" for more information about cell editors and renderers.
+ See wxGridCellRenderer and the @ref overview_grid "wxGrid overview"
+ for more information about cell editors and renderers.
*/
void SetCellRenderer(int row, int col, wxGridCellRenderer* renderer);
you only use this function for those cells that contain string values.
The last form is for backward compatibility only.
- See wxGridTableBase::CanSetValueAs and the @ref overview_gridoverview
+ See wxGridTableBase::CanSetValueAs and the @ref overview_grid
"wxGrid overview" for more information.
*/
void SetCellValue(int row, int col, const wxString& s);
Sets the cell attributes for all cells in the specified column.
For more information about controlling grid cell attributes see the
- wxGridCellAttr cell attribute class and the @ref overview_gridoverview.
+ wxGridCellAttr cell attribute class and the @ref overview_grid "wxGrid overview".
*/
void SetColAttr(int col, wxGridCellAttr* attr);
cells in this column, it does associate the renderer and editor used
for the cells of the specified type with them.
- See the @ref overview_gridoverview "wxGrid overview" for more
+ See the @ref overview_grid "wxGrid overview" for more
information on working with custom data types.
*/
void SetColFormatCustom(int col, const wxString& typeName);
The grid will take ownership of the pointer.
- See wxGridCellEditor and the @ref overview_gridoverview "wxGrid
- overview" for more information about cell editors and renderers.
+ See wxGridCellEditor and the @ref overview_grid "wxGrid overview"
+ for more information about cell editors and renderers.
*/
void SetDefaultEditor(wxGridCellEditor* editor);
The grid will take ownership of the pointer.
- See wxGridCellRenderer and the @ref overview_gridoverview "wxGrid
- overview" for more information about cell editors and renderers.
+ See wxGridCellRenderer and the @ref overview_grid "wxGrid overview"
+ for more information about cell editors and renderers.
*/
void SetDefaultRenderer(wxGridCellRenderer* renderer);