Commit Graph

219 Commits

Author SHA1 Message Date
Vadim Zeitlin
a8030f0eaa Really fix VC6 compilation after r61919.
The change in r61922 which was supposed to do it somehow forgot the fix itself
and added only a comment explaining why it was needed. Really do name the
struct now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61937 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-15 17:05:13 +00:00
Vadim Zeitlin
c9a199c6a6 Add virtual dtor to header renderer classes to avoid g++ warnings.
g++ warns about class with virtual functions having non-virtual dtor so make
the dtor of wxGridCornerHeaderRenderer virtual even if it's not really needed.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61933 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-14 23:21:48 +00:00
Vadim Zeitlin
ade40d72f0 Fix VC6 compilation after r61919.
Work around VC6 bug which resulted in error C2639 when compiling the
declaration of an unnamed struct inside wxGridCellAttrProvider.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61922 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-14 08:37:28 +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
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
Robert Roebling
b42d5f7556 Use wxRefCounter instead of wxObjecrDataRef
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61035 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-12 20:18:17 +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
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
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
Kevin Ollivier
a05e6efe61 Fix for deprecated constructor issues, setting a function without a body as inline doesn't work for Mac whether debug is set or not. Since it's a workaround for old versions of gcc, limit its use to those cases to avoid future problems.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59120 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-24 22:19:10 +00:00
Vadim Zeitlin
c0c133e13b add wx-prefixed and semicolon-requiring versions of DECLARE_NO_{COPY,ASSIGN}_CLASS macros
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-08 11:45:59 +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
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
fe79f76ba9 added helper Is{Col,Row}Shown()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57354 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-15 10:44:29 +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
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
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
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
Vadim Zeitlin
8acad210fa 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@57047 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-30 21:51:51 +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
5c33522fca replace wx_{const,static,reinterpret}_cast with their standard C++ equivalents
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 02:39:52 +00:00
Stefan Neis
29fac1f6b1 Workaround for bug in gcc-3.1 through gcc-3.3 in handling deprecation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-08 12:11:07 +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
77d2c45c38 add const synonyms for wxGridTableBase::GetNumberRows/Cols(), using const_cast<> all the time is painful
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55750 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-20 22:03:27 +00:00
Vadim Zeitlin
8b5f6d9d47 use a single wxKeyboardEvent parameter instead of 4 bools in tons of places
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-20 00:09:28 +00:00
Vadim Zeitlin
8a3e536cd5 - Main change is the addition of wxGridSelectRowsOrColumns selection mode
(which is still probably buggy, wxGridSelection needs to be reviewed)
- Add XYToCell() overloads returning wxGridCellCoords (instead of modifying the
  argument passed by reference -- where did this come from?) and document them.
- Added GoToCell() which does make the new current cell visible unlike
  SetGridCursor() (which was documented as doing it, but wasn't)
- Changed SetCurrentCell() to only not change the cell if wxEVT_GRID_SELECT_CELL
  it generates is vetoed, not just processed as this seems to make more sense
- Split jumbo (~400 lines) ProcessGridCellMouseEvent() function into chunks
- Add many more comments to make reading this code seem less like puzzle
  solving for the next unfortunate soul to do it


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55746 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-19 23:33:04 +00:00
Vadim Zeitlin
10a4531d1d more grid folding: got rid of duplicate version of methods for finding the closest row/column edge, appending/inserting/deleting rows/columns, and moving cursor vertically/horizontally
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55663 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-16 16:31:44 +00:00
Vadim Zeitlin
bec7026270 start of the great grid folding: introduce wxGridOperations class and use it to avoid duplicating the same code for rows and columns in a couple of methods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55652 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-16 08:32:12 +00:00
Vadim Zeitlin
ff72f628bb more cleanup (removed some TODOs/FIXMEs); use native header drawing for the corner window too if it is enabled at all
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55645 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-15 14:06:28 +00:00
Vadim Zeitlin
02f3ee3d10 remove the now unused GetScroll[XY]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55643 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-15 13:36:28 +00:00
Vadim Zeitlin
bf2c8b318e take old (wx 2.2? older?) wxGrid compatibility functions inside WXWIN_COMPATIBILITY_2_8; rearrange some declarations order but no real changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55641 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-15 12:18:07 +00:00
Vadim Zeitlin
69367c566e move the grid-specific workaround for scrollbar hysteresis to wxScrollHelper itself, the scrollbars now should not only appear but also disappear correctly during resizing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55627 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-14 22:44:08 +00:00
Vadim Zeitlin
801a964104 no changes, just removed the unnecessary wxGrid:: qualifiers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55626 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-14 21:28:44 +00:00
Vadim Zeitlin
5d984f5d97 fix the event type in EVT_GRID_[CMD_]COL_MOVE declaration: this event handler receives wxGridEvent and not wxGridSizeEvent
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-12 12:49:11 +00:00
Vadim Zeitlin
1edce33f7e override SetDropTarget() in wxGrid to associate it with wxGridWindow as this is what things tend to be dropped on (patch 1903103)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52145 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-27 17:19:42 +00:00
Vadim Zeitlin
f954984155 check whether the grid is fully created in Refresh() (fixes a crash under Mac); refactored members initialization into a new InitVars() method to avoid duplication and ensure that they're always initialized (slightly modified patch 1901366)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52122 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-26 17:17:28 +00:00
Vadim Zeitlin
c058cafa56 don't use DECLARE_EVENT_TYPE() to avoid confusing people about its unused value parameter, declare the event type constants directly
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-27 13:21:39 +00:00
Václav Slavík
760be3f7cb wxGrid focus handling fixes:
- don't allow focus in helper labels subwindows
- draw selection in different colour when not focused
- hide cursor/highlight when not focused



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51313 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-21 17:11:49 +00:00
Robert Roebling
0a9ca9c424 Add HideCol/RowLabels
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50907 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-22 19:46:12 +00:00