Commit Graph

39 Commits

Author SHA1 Message Date
Ilya Sinitsyn
4302c6b8ba Fix showing the popup menu in wxHeaderCtrl under Mac
wxOSX asserts if a menu item with id of 0 is created, so use 1-based IDs
to avoid this.

Using an explicit constant for the base instead of using 0 implicitly
also arguably makes the code more clear.

Closes https://github.com/wxWidgets/wxWidgets/pull/1555
2019-09-16 23:19:15 +02:00
Artur Wieczorek
9ff9442226 Update column width in wxHeaderCtrlSimple while resizing the column
In EVT_HEADER_RESIZING event handler there is necessary to update actual
column width and redraw the control to show the column with new width.

Closes #18331.
2019-01-20 13:22:50 +01:00
Dimitri Schoolwerth
8f8d58d193 Use wx-prefixed macros throughout the repository.
Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
2015-04-23 22:00:35 +04:00
Vadim Zeitlin
34d3e680c8 Use wxArrayInt methods instead of duplicating them.
Just use wxArrayInt::Index() instead of doing a linear search in the array
manually. Also use RemoveAt() + Insert() instead of manually iterating over
the items.

See #16110.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76454 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-04 22:13:02 +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
ce7fe42e84 Provide shorter synonyms for wxEVT_XXX constants.
Use the same short names as are used by the event table macros for the event
type constants themselves. This makes them much more comfortable to use, e.g.
Bind(wxEVT_BUTTON) compared to Bind(wxEVT_COMMAND_BUTTON_CLICKED).

The old long names are still kept for backwards compatibility and shouldn't be
removed as it doesn't really cost anything to continue providing them, but all
new event types should only use the short versions.

Closes #10661.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-25 10:11:03 +00:00
Václav Slavík
5313727812 Make column width calculations in wxDataViewCtrl and wxHeaderCtrl consistent.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70338 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-14 16:51:57 +00:00
Vadim Zeitlin
aadbdd1699 Remove wxHeaderColumn::SetAsSortKey() and only use SetSortOrder().
The two member functions, SetAsSortKey() and SetSortOrder(), were doing almost
the same thing but differently and the former was only used in the generic
wxDataViewCtrl implementation and not implemented in the native GTK/OS X one.

Remove SetAsSortKey() entirely and only keep UnsetAsSortKey() which is still
needed by generic/MSW wxDataViewCtrl. But only SetSortOrder() should now be
called to indicate that the column is used for sorting.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69174 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-21 15:07:46 +00:00
Václav Slavík
1acf670a9d Don't allow user to resize non-resizable columns to best size.
Double-clicking columns separator resizes the column to the best width
for its content. This should only be done for resizeable columns,
though.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66740 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-24 14:35:33 +00:00
Vadim Zeitlin
a632b93c32 don't define wxHeaderColumnsRearrangeDialog if !wxUSE_REARRANGECTRL (closes #10368)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58088 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-13 23:15:03 +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
Vadim Zeitlin
8a2e3f80f6 correct typo: s/wxUSE_MENU/&S/
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-11 00:57:48 +00:00
Vadim Zeitlin
e721a2a2a4 added wxUSE_HEADERCTRL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58009 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-11 00:57:08 +00:00
Vadim Zeitlin
f0bb342fed added wxUSE_REARRANGECTRL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58006 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-11 00:44:02 +00:00
Vadim Zeitlin
faef508f6a fix build with wxUSE_MENU==0 (closes #10330)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58000 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-11 00:34:09 +00:00
Vadim Zeitlin
ddd0db9619 extract AddColumnsItems() from ShowColumnsMenu() to make it possible to reuse it in custom menu
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57677 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-30 23:19:06 +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
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
c4789bf6d1 PCH compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57357 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-15 12:22:54 +00:00
Vadim Zeitlin
e8f25dbbce added a helper function to show the popup menu allowing to configure the columns in header control
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57356 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-15 11:03:59 +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
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
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
f458d4dd6b add bigger margins around column title when autosizing column width based on it, it looks better like this
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57258 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-11 19:20:15 +00:00
Vadim Zeitlin
4db4c0173b there is no need to call UpdateColumn() in the derived class UpdateColumnWidthToFit(), the base class does it already if the latter returns true
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57257 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-11 19:17:55 +00:00
Vadim Zeitlin
4635abaca6 added wxHeaderCtrl::OnColumnCountChanging()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57255 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-11 17:15:43 +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
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
702f5349c6 implement column reordering support in wxMSW wxHeaderCtrl; use it in wxDataViewCtrl (and make difference between column indices and positions more clear in it)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57232 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-10 15:56:11 +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
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
e5a1635371 added wxHeaderCtrlSimple::GetBestFittingWidth() for even more automatic column resizing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57187 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-08 12:28:41 +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
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
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
d8fc3398ac move ScrollWindow() implementation to the base class and call private DoScrollHorz() from it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57135 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-05 22:43:37 +00:00
Vadim Zeitlin
9a382f1fad fix VC6 DLL build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57106 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-04 13:11:27 +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