Commit Graph

26 Commits

Author SHA1 Message Date
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
22f4180e59 return correct (false) value in onSeparator from FindColumnAtPoint() when the position is beyond the last column
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57352 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-15 10:08:50 +00:00
Vadim Zeitlin
59704b49c2 don't mistake a simple click on a column for a reordering drag
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57344 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-14 23:12:30 +00:00
Vadim Zeitlin
f665539195 no changes, just refactoring: extracted the code to update the column indices array when the number of columns changes to the common code to be able to reuse it from the MSW version
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57340 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-14 21:56:38 +00:00
Vadim Zeitlin
7bf5be6b56 fix best size caching
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57289 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-12 16:31:39 +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
dcb6cbecc8 extract setters from wxHeaderColumnBase into a separate wxSettableHeaderColumn class as we don't always need to implement them in order to use this class; also renamed wxHeaderColumnBase to just wxHeaderColumn as we didn't have any wxHeaderColumn at all
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57246 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-11 13:05:48 +00:00
Vadim Zeitlin
da678e6c39 don't use MSW-only DEFAULT_ITEM_WIDTH but the width returned by the best class GetBestSize() in wxHeaderCtrl::DoGetBestSize() implementation for empty header
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57244 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-11 10:50:59 +00:00
Vadim Zeitlin
6327cdd57c implement column reordering by dragging in the generic wxHeaderCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57240 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-11 00:49:34 +00:00
Vadim Zeitlin
74d283aac4 properly implement Do[GS]etColumnsOrder() in the generic wxHeaderCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57236 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-10 16:24:08 +00:00
Vadim Zeitlin
20db5469a0 provide Do[GS]etColumnsOrder() stubs for the generic wxHeaderCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57234 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-10 16:09:58 +00:00
Vadim Zeitlin
565804f2b9 added EVT_HEADER_DRAGGING_CANCELLED event sent when either resizing or reordering operation is cancelled instead of having a special cancelled flag in normal END_RESIZE/REORDER events
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57233 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-10 16:05:21 +00:00
Vadim Zeitlin
a45caa71bf honour column min width when resizing in wxHeaderCtrl, no need to do it in wxDataViewCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57201 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-08 17:33:03 +00:00
Vadim Zeitlin
396825dced rename wxHeaderCtrl DRAG events into RESIZE ones as we're also going to have column drag-reodering
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57197 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-08 16:38:56 +00:00
Vadim Zeitlin
e36dcd10d0 add the possibility to cancel drag-resizing by pressing Esc
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57195 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-08 16:30:09 +00:00
Vadim Zeitlin
10118a24c8 forgot to capture mouse during drag-resizing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57192 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-08 15:20:10 +00:00
Vadim Zeitlin
8fad69b019 fix another logical/physical coords confusion and update the comment to help with this in the future
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57191 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-08 15:11:21 +00:00
Vadim Zeitlin
aef252d9da implement column resizing events in wxHeaderCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57190 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-08 14:40:42 +00:00
Vadim Zeitlin
3bfaa5a7e4 add wxEVT_COMMAND_HEADER_SEPARATOR_DCLICK and semi-automatic header resizing support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57186 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-08 12:15:17 +00:00
Vadim Zeitlin
04a33b5031 account for scroll offset correctly in the mouse event handler
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57185 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-08 11:37:42 +00:00
Vadim Zeitlin
6090efab94 update column highlight when mouse hovers over the control
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57184 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-08 11:26:50 +00:00
Vadim Zeitlin
fa3d4aaf0f implement click events in wxHeaderCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-08 00:57:53 +00:00
Vadim Zeitlin
40dc2ae656 update the generic wxHeaderCtrl implementation after r57161
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57163 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-07 16:00:10 +00:00
Vadim Zeitlin
e2bfe6731e - Rewrite wxHeaderCtrl to be virtual-like: even if we don't need an infinite
number of columns in it, it turns out that getting column information from
  the associated control is much easier than copying it into the control.
- Provide wxHeaderCtrlSimple derived class which can be used easily if
  callback approach of wxHeaderCtrl is not needed.
- Because of wxHeaderCtrl virtualization, port-specific implementations of
  wxHeaderColumn are not needed any more and were removed.
- Use wxHeaderCtrl in the generic wxDataViewCtrl: this means that column
  events are broken right now in it as they haven't been implemented by
  wxHeaderCtrl yet, this will be fixed a.s.a.p.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57161 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-07 14:47:55 +00:00
Vadim Zeitlin
b63f9a3330 generic implementation of wxHeaderCtrl API so far
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57136 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-05 22:44:54 +00:00
Vadim Zeitlin
56873923f3 extract (and expand and clean up and document) the header window implementation used inside the generic wxDataViewCtrl in a separate wxHeaderCtrl class which could be reused in (generic) wxListCtrl and, most importantly, wxGrid later
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57093 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-03 21:53:10 +00:00