Commit Graph

164 Commits

Author SHA1 Message Date
lucian-rotariu
04f7f1fd32 Add support for freezing columns and/or rows of wxGrid
Add wxGrid::FreezeTo() method which allows to freeze the given number of
columns and/or rows at the beginning of the grid, i.e. keep them pinned
in place while the rest of the grid is scrolled.

The main wxGridWindow (m_gridWin) now corresponds to the non-frozen part
of the grid, with up to 3 new similar windows for the frozen
rows/columns and the frozen corner cells (which only exist if both rows
and columns are frozen) being additionally used.

Doing this involved adding "wxGridWindow*" parameter to many functions
that previously only worked with m_gridWin itself and addressing
additional complications, such as mouse events that can now cross
different windows.

See https://github.com/wxWidgets/wxWidgets/pull/952 for the original
version of the changes.
2019-07-16 18:01:36 +02:00
Vadim Zeitlin
d37a15444f Add simple wxGrid::GetGridCursorCoords() method
This is sometimes more convenient than using GetGridCursor{Row,Col}()
separately.
2019-07-16 18:01:36 +02:00
Ilya Sinitsyn
feacaf8714 Use wxWindow as a control for wxGridCellEditor
Use wxWindow instead of wxControl in wxGridCellEditor to allow using
any window as an editor control, as it doesn't need to be a wxControl.

Closes https://github.com/wxWidgets/wxWidgets/pull/1370
2019-06-28 16:47:56 +02:00
Vadim Zeitlin
5b525ed201 Advise using a border with a wxGrid not showing column/row labels
In this case a border can be useful to visually separate the grid from
the surrounding area as without it there is no separation at all.
2019-06-18 00:58:51 +02:00
Vadim Zeitlin
18956125d3 Fix copy-and-pasto in wxGrid::HideColLabels() documentation
The old sentence didn't make sense for this function.
2019-06-18 00:55:16 +02:00
Scott Talbert
c68e5d0617 Fix some spelling/grammar errors in documentation
Mostly replace ungrammatical "allows to do" with correct "allows doing".

Closes https://github.com/wxWidgets/wxWidgets/pull/1183
2019-01-26 03:50:47 +01:00
Pavel Kalugin
659ab78c6d Add support for editing dates (without time) to wxGrid
Add wxGridCellDateRenderer and wxGridCellDateRenderer which can be used
for the grid cells containing only dates, without times.

Also add wxGrid::SetColFormatDate() convenience function.

Refactor wxGridCellDateTimeRenderer slightly to reuse its code.

Closes https://github.com/wxWidgets/wxWidgets/pull/1101
2019-01-04 14:14:01 +01:00
Maarten Bent
39ff5b90e5 Replace wxDeprecatedGUIConstants enum values 2018-11-25 21:29:32 +01:00
Maarten Bent
86c49283f5 Remove trailing spaces 2018-11-25 20:22:25 +01:00
Vadim Zeitlin
6cbc661179 Merge branch 'grid-corner-label'
Add wxGrid::SetCornerLabelValue().

See https://github.com/wxWidgets/wxWidgets/pull/928
2018-09-17 22:57:05 +02:00
Vadim Zeitlin
4fd80960ca Document wxGridTable::GetValueAsCustom() return value constraint
The returned pointer must be allocated on the heap as
wxGridCellDateTimeRenderer::GetString() currently deletes it.

This seems like a rather poor idea, as any internally stored values must
be cloned on each call, but it seems too dangerous to change this as it
could result in massive memory leaks in the existing code.
2018-09-11 01:38:39 +02:00
Pavel Kalugin
6a9dea37f7 Rename a class to restore backward compatibility
This solves backward incompatibility problem introduced in 2d8bbbe3c9.
The name of base class for grid header renderers hierarchy is restored
to be wxGridHeaderLabelsRenderer. This introduces another problem: now
wxGridCornerHeaderRenderer is derived from wxGridHeaderLabelsRenderer,
not vice versa, as it was before. But it is considered less disruptive
change, compared to base class rename.
2018-09-05 18:34:07 +03:00
Pavel Kalugin
fcae53c5b1 Add documentation for new [Get/Set]CornerLabelValue functionality 2018-09-04 21:00:47 +03:00
Vadim Zeitlin
560d00f3cc Replace references to "adv" with "core" in classes documentation
All classes previously in "wxadv" are now in "wxcore".
2018-08-27 22:52:15 +02:00
Blake-Eryx
e1a7f56040 Fix spelling and punctuation errors in comments and documentation
Fix several occurrences of misspelling "trivial" as "trival"; use "from"
rather than "than"; add missing articles and commas.

Closes https://github.com/wxWidgets/wxWidgets/pull/874
2018-08-14 17:15:39 +02:00
Robin Dunn
bd1e13df42 Minor cleanup and changes from Code Review comments. 2018-02-10 15:13:01 -08:00
Robin Dunn
5e01658cdc Lots more fixes for incorrect or missing interfaces items. 2018-02-10 13:06:19 -08:00
Robin Dunn
a6c864ae78 Add a missing constant and enum 2018-02-10 13:00:19 -08:00
mgimenez
16888e9883 Fix copy-paste typo in wxGrid::DeleteRows() documentation
Just use the correct verb.

Closes #17987.
2017-11-02 20:51:34 +01:00
Scott Talbert
b1fd65a903 Document missing wxGrid methods
Add documentation for the previously undocumented
IsCellEditControlShown(), Deselect{Col,Row,Cell}() and SetAttr().
2017-02-05 02:50:53 +01:00
Robin Dunn
6988758648 Add missing methods in wxGridCellAttr 2016-10-21 20:09:28 -07:00
Vadim Zeitlin
85c9e06a29 Remove wxGridTableMessage and wxGridStringTable documentation
This skeleton of documentation was replaced by (minimal but still more
valuable) real documentation in fcd5284aed but
the old classes were accidentally left in.
2016-08-09 01:12:32 +02:00
pb101
105bd96319 Add missing "const" to wxGridCellEditor::PaintBackground() documentation
Closes #17589.
2016-07-05 23:37:26 +02:00
orbitcowboy
e3f1423632 Fix typos in comments in C++ code
No real changes.

Closes https://github.com/wxWidgets/wxWidgets/pull/268
2016-04-12 17:15:23 +02:00
Vadim Zeitlin
fcd5284aed Document wxGridTableMessage and wxGridStringTable
Add at least minimal documentation for these classes.

Closes #4181.
2016-03-12 18:53:07 +01:00
bogiord
9c95b398c8 Fix docs for wxGrid and friends
Add a couple of missing @name commands; the corresponding comments were
appearing in the wrong place without them.

Avoid unintended effects of JAVADOC_AUTOBRIEF by using Qt-style comments
instead of Javadoc.

A couple of minor wording corrections.
2016-01-20 18:53:38 +01:00
Vadim Zeitlin
2e8988c3d6 Add wxGridCellRenderer::GetBest{Height,Width}() and use them in wxGrid.
Allow the renderer to specify the best height at the given width (or vice
versa) instead of the best size in both direction which is not defined for
e.g. wxGridCellAutoWrapStringRenderer.

Closes #15943.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76451 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-04 22:12:42 +00:00
Robin Dunn
b10e88f2dd Add the CellHighlight getters too.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76341 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-14 03:36:16 +00:00
Robin Dunn
1ec605b2c1 Add some missing wxGrid methods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76340 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-14 03:36:07 +00:00
Vadim Zeitlin
6cd13bc22d Mark some deprecated wxGrid methods as deprecated in the documentation.
Point people to the new names of the deprecated methods.

Closes #16103.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76176 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-20 19:45:53 +00:00
Robin Dunn
ded7644999 Add some of the Draw* methods that have been available in wxPython.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-27 07:53:26 +00:00
Robin Dunn
575481d06b Add missing GetControl and SetControl methods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-14 05:36:33 +00:00
Paul Cornett
2014950b1c spelling fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75072 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-26 18:51:16 +00:00
Robin Dunn
2cedd586b5 Add missing Calc*Exposed methods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74792 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-11 17:02:06 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
c6dae1699e Allow associating a validator with wxGridCellTextEditor.
Add wxGridCellTextEditor::SetValidator() for finer control over text input in
wxGrid.

Closes #15176.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74001 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-16 14:32:55 +00:00
Vadim Zeitlin
4322906f97 Copy max width of wxGridCellTextEditor when cloning it.
Previously the max number of characters that could be entered into the editor
was lost when it was cloned, making it impossible to really limit the user
entry.

Closes #15175.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73899 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-01 20:53:26 +00:00
Vadim Zeitlin
6f58f3d7e0 Allow to customize wxGrid column auto-sizing.
By default the columns are auto-sized to fit just their label, which is fast
but not very user-friendly. Allow customizing this behaviour by handling the
(new) wxEVT_GRID_COL_AUTO_SIZE event.

Closes #15077.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73789 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-05 21:11:59 +00:00
Robin Dunn
cd64c053c6 Fix missing or incorrect wxGrid interface items for Phoenix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73504 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-12 07:30:01 +00:00
Vadim Zeitlin
ca25dffb44 Fix the list markers in wxGridCellEditor::EndEdit() documentation.
Doxygen allows to use "-", "+" or "*" for the list items but not "#".

Closes #14955.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73396 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-20 02:09:22 +00:00
Vadim Zeitlin
2328f46863 Allow hiding/showing already hidden/shown wxGrid rows/columns.
Don't assert if an already hidden/shown row/column is being hidden/shown again
but simply don't do anything. This is more convenient because the code outside
wxGrid has no efficient way to only hide a row/column if it's currently shown.

Closes #14960.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73366 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-12 03:09:12 +00:00
Robin Dunn
42dd5e3b25 Interface fixes for wxGrid classes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73245 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-22 07:59:58 +00:00
Vadim Zeitlin
1dc17bcafb Make TAB behaviour in wxGrid more configurable.
Allow making TAB/Shift-TAB wrap to the next/previous row or going to the
next/previous control when the cursor is at the end/beginning of the current
row easily.

Also add wxEVT_GRID_TABBING event to allow customizing TAB behaviour even
further.

Update the sample to show the different possible standard behaviours and a
stupid example of a custom one (it would be probably more useful to implement
something a tad more realistic, e.g. tabbing to the next non-empty cell).

Closes #14711.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72672 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-13 22:55:18 +00:00
Vadim Zeitlin
bf47204759 Document wxGrid methods dealing with cell overflow.
Closes #14733.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72643 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-08 12:09:59 +00:00
Vadim Zeitlin
3049690536 Preserve size of wxGrid rows/columns when hiding and showing them back.
Previously, if a wxGrid row or column was hidden by setting its size to 0, its
original size was lost. Change this so that it's preserved now and can be
restored by setting the size to the special -1 value later.

Closes #14133.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72491 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-15 23:18:23 +00:00
Vadim Zeitlin
779e28da63 Add wxGrid::Render() for drawing the grid to any wxDC.
In particular, this allows to print the grid contents easily.

Closes #14294.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71577 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-27 13:00:19 +00:00
Vadim Zeitlin
daf1cbe443 Document wxGridCellCoords class.
Closes #14092.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70877 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-11 23:41:20 +00:00
Vadim Zeitlin
8cddee2d0e Fix spelling in the documentation.
Closes #14034.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70668 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-22 13:41:07 +00:00
Vadim Zeitlin
4d8e8355b4 Added a warning about multi-cells in wxGrid::DeleteRows() docs.
Currently deleting rows or columns intersecting a multi-cell is simply not
supported and results in an immediate crash.

See #4238.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70115 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-25 12:52:56 +00:00
Vadim Zeitlin
7920b94beb Link to wxGridCellFloatFormat when it's mentioned in the documentation.
Enum names are not auto-linked by Doxygen so prefix this enum with "::" to
force link creation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69913 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-02 12:42:35 +00:00