Commit Graph

528 Commits

Author SHA1 Message Date
Paul Cornett
a243da29c8 make array data fully const
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-02 17:28:45 +00:00
Vadim Zeitlin
cfbc15ee04 Allow changing horizontal alignment of numeric cells in wxGrid.
wxGridCellAttr didn't provide any way to query its alignment attributes
without falling back to the (always defined) default alignment so the code in
wxGridCellNumberRenderer and similar classes simply always used right
alignment,

Add a new wxGridCellAttr::GetNonDefaultAlignment() function which allows to
retrieve the alignment defined in the attribute and use it to use right
alignment by default but allow overriding it.

Add a test to the sample showing a non right-aligned numeric cell.

Incidentally fix a long-standing bug in wxGridCell{DateTime,Enum}Renderers
which used wxRIGHT instead of wxALIGN_RIGHT and so were not aligned properly
even by default.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-27 01:47:38 +00:00
Vadim Zeitlin
7a0a6cc8f6 Fix wxGrid compilation with MSVC7.
Due to what seems a compiler bug, MSVC tries to instantiate objects of
abstract wxGridXXXHeaderRenderer classes when compiling operators ?: using
references to them. Add explicit static_cast<>s to help it do the right thing.

Fixes compilation with this compiler broken in r62037.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62048 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-24 00:21:57 +00:00
Vadim Zeitlin
670d01778a Extract default grid header renderers from wxGridCellAttrProvider.
We must be able to use them even when we have no attributes at all
and even when we have no associated table, so use default renderers in wxGrid
implementation of Draw{Row,Column}Label()/DrawBorder() in this case.

Closes #11230.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62037 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-23 14:28:55 +00:00
Vadim Zeitlin
ba9574c310 Added support for corner, row and column headers renderers to wxGrid.
Make it possible to customize the appearance of wxGrid corner window and its
row and column headers by defining custom renderers for them.

Add demonstration of this new feature to the grid sample and update the
documentation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61919 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-14 00:45:29 +00:00
Vadim Zeitlin
57e9abd613 Check indices validity better in wxGridStringTable.
Calling GetValue(-1, -1) could crash as the code naively only checked upper boundary (and didn't use unsigned which would have made the extra check unnecessary but it's too late for this now).

Closes #11044.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61577 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-02 00:59:31 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
4a53f7010a fix memory leak in SetColFormat() if the column already had an attribute (closes #1807)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-12 18:24:37 +00:00
Vadim Zeitlin
92ffc98a08 reuse wxObjectRefData for various ref-counted classes (closes #10886)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61025 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-12 17:14:28 +00:00
Vadim Zeitlin
ec86c7ce41 no real changes, just remove unneeded empty dtor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-22 19:54:09 +00:00
Vadim Zeitlin
5c3313a968 return the correct number of columns from wxGridStringTable, even when we don't have any rows (closes #10818)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-22 19:53:32 +00:00
Jouk Jansen
aced1133b1 declaration of sendevent should be equal in grid.cpp and grid.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-12 06:25:42 +00:00
Vadim Zeitlin
c5c1ea9648 rename wxGrid::SendSizeEvent() to SendGridSizeEvent() to avoid warnings about conflicts with base wxWindow class method with the same name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60464 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-01 22:59:58 +00:00
Vadim Zeitlin
27bb2c8cb7 generate wxEVT_GRID_{COL,ROW}_SIZE events when the user double clicks the separating line too; do not generate these events if the size didn't really change (further improvements to grid events are possible and remain needed, see #10754)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60435 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-29 21:59:10 +00:00
Vadim Zeitlin
82edfbe7d9 add a possibility to disable individual grid rows/columns resizing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-26 17:02:53 +00:00
Vadim Zeitlin
475be9ce00 fix row/column deselection in row-or-column selection mode (it wasn't doing anything)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60078 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-09 09:01:02 +00:00
Vadim Zeitlin
711f12ef2e made definition of wxUSE_LOG_DEBUG dependent on wxDEBUG_LEVEL and added wxUSE_LOG_TRACE (currently never enabled by default); fix warnings about unused variables after these changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59736 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 17:18:07 +00:00
Vadim Zeitlin
78e7881208 pass ApplyEdit() arguments to EndEdit() too for better backwards compatibility (closes #10544)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59365 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-06 10:38:45 +00:00
Vadim Zeitlin
574e1c5a03 added wxGrid::{Set,Get}{Row,Col}Sizes() methods allowing to save/restore all grid rows/columns sizes at once
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59144 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-25 23:41:29 +00:00
Vadim Zeitlin
efc49a216c don't call Refresh(empty-rect) unnecessarily
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59128 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-25 13:07:36 +00:00
Vadim Zeitlin
9b11752c4f require semicolon after wxDECLARE/DEFINE_EVENT() (closes #10456)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-07 18:59:25 +00:00
Vadim Zeitlin
3c77890141 add more flexible and safer template Connect() overloads (#10000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58039 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-12 14:26:13 +00:00
Francesco Montorsi
29efc6e4a4 split wxGrid implementation in grideditors.cpp (for wxGridCellEditor-derived classes), gridctrl.cpp (for wxGridCellRenderer-derived classes)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58024 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-11 15:49:37 +00:00
Vadim Zeitlin
763163a80a split wxEVT_GRID_CELL_CHANGE into wxEVT_GRID_CELL_CHANGING/ED pair for consistency with all the other controls; provide access to new/old value of the cell in the event object
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-22 22:58:49 +00:00
Vadim Zeitlin
fc5d9e38ee use CanSetValueAs() instead of CanGetValueAs() in wxGridCellBoolEditor::EndEdit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57503 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-22 21:42:13 +00:00
Vadim Zeitlin
482d06f8b5 made wxHeaderCtrl::GetColumn() const to get rid of the const_cast<>s
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57380 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-17 00:11:57 +00:00
Vadim Zeitlin
af67f39da8 added wxRearrange{List,Ctrl,Dialog} and use it in wxHeaderCtrl and wxGrid to provide a way to interactively customize the columns
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57379 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-16 23:56:56 +00:00
Vadim Zeitlin
31ec8b4e15 added wxGrid::SetColumnsOrder() too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57371 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-16 15:53:38 +00:00
Vadim Zeitlin
613de0e89e handle actions of the columns popup menu in wxHeaderCtrl itself (but the derived class must implement UpdateColumnVisibility()); also renamed wxHD_DRAGDROP to wxHD_ALLOW_REORDER as it will be possible to reorder columns interactively using a customization dialog and not just by dragging them soon
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57363 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-15 22:42:37 +00:00
Vadim Zeitlin
3039ade95d renamed GetColHeader() to GetGridColHeader() for consistency with the other existing accessors (even if this is redundant) and made it public/documented (also documented the others)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57353 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-15 10:34:04 +00:00
Vadim Zeitlin
4797b0145c refresh the grid after resetting the columns positions to the default order
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57339 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-14 20:45:39 +00:00
Vadim Zeitlin
da5a641fc8 added wxHeaderCtrl::ResetColumnsOrder() function; use it from wxGrid
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57337 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-14 20:02:44 +00:00
Vadim Zeitlin
009c72169f add support for hiding columns when using native header control in wxGrid; also added convenient Hide/ShowCol() methods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57336 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-14 17:28:57 +00:00
Vadim Zeitlin
a06072d026 no changes, just replaced SF bug number in a comment with Trac one
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57328 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-14 12:43:45 +00:00
Vadim Zeitlin
11393d2900 add support for sorting to grid columns
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57323 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-14 00:02:30 +00:00
Vadim Zeitlin
cd68daf58a support column reordering using drag and drop when using wxHeaderCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57301 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-13 00:24:39 +00:00
Vadim Zeitlin
cd4f6f5f8f fix compuation of dirty cells when the columns are reordered, this didn't work at all before
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57291 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-12 17:34:13 +00:00
Vadim Zeitlin
e5182b1bc5 really fix STL compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-12 15:06:15 +00:00
Vadim Zeitlin
1bb7462687 don't duplicate the column reordering in generic wxHeaderCtrl and wxGrid, extract it into a (public) helper function
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57264 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-11 22:27:02 +00:00
Vadim Zeitlin
3169a8e837 forward SetColPos() to the header window
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57263 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-11 22:16:38 +00:00
Vadim Zeitlin
3454f80227 in STL build wxVector elements need to be assignable as well as copy constructible
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57261 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-11 21:41:33 +00:00
Vadim Zeitlin
ad805b9e0d added wxGrid::UseNativeColHeader() (column reordering doesn't work yet); more wxGrid clean up: refactor Init/InitVars/Create
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57259 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-11 19:21:20 +00:00
Francesco Montorsi
b5e9cbb92d enable wheel-scrolling under wxGTK by allowing GTK+ default processing to happen (see wx-dev thread 'possible fix for wxGrid mouse wheel handling'); closes #1847
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57188 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-08 13:22:10 +00:00
Francesco Montorsi
d188378e27 fix typo making wxGrid crash upon usage of PgDown: MovePageDown() is a row operation, not a column op
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57077 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-02 19:39:46 +00:00
Vadim Zeitlin
84c144785b don't make wxGridTableBase::IsEmptyCell() pure virtual, there is really no point to force all derived table classes to implement it when it has a default implementation which works just fine in 99% of cases
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57049 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-01 00:13:21 +00:00
Vadim Zeitlin
e882d28829 release the mouse in wxGrid dtor to avoid asserts when the grid is destroyed during e.g. a cell selection operation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56701 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-08 00:06:34 +00:00
Francesco Montorsi
23318a5358 declare all NameStr[] strings as const char using the correct WXDLLIMPEXP_DATA_ macros; in the process, change wxPropGrid window classes to take 'const wxString& name' arguments instead of 'const wxChar *name'
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56651 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 22:16:14 +00:00
Vadim Zeitlin
e822d1bd5f fix more Borland release build warnings about unused variable/code without effect
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-20 10:30:49 +00:00
Vadim Zeitlin
9f7aee0198 added the possibility to draw grid lines across the entire window
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56085 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-04 23:23:01 +00:00
Vadim Zeitlin
b09b3048c9 don't crash if the grid is being deleted while a cell editor is still shown (closes #9991)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55798 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-22 16:12:46 +00:00