wxOSX: store the menu title when inserting it in the menu bar.
We "lost" the menu title if the menu was inserted, and not appended, to the
menu bar, resulting wxMenuBar::GetMenuLabel[Text]() returning empty strings
for it in this case.
Test wxTE_PROCESS_ENTER in the combobox page of the widgets sample.
Remove the unused "File name" checkbox in this page and put "Process Enter"
one in its place to allow toggling wxTE_PROCESS_ENTER interactively to test
whether it works as expected.
Fix generic wxDataViewToggleRenderer hit testing with any alignment.
This change reverts the changes of r73835 and r73838 to
wxDataViewToggleRenderer::WXActivateCell() and instead fix the bug with mouse
hit testing in this function in the wxDataViewMainWindow::OnMouse() itself.
The problem there was that it offset the coordinates of the event differently
depending on whether the column alignment was set or left as default. Now
always make the coordinates relative to the item (not cell) rectangle for
compatibility with GTK+ native version, which is enough to make the original,
i.e. before the changes of r73835, code work.
Call LoadUrl() after associating our custom event handler with the browser
object as otherwise the wxEVT_WEBVIEW_LOADED event could be generated before
we were set up to catch it, resulting in the assertion failure inside
ENSURE_LOADED.
Fix wxEVT_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK event type name.
Fix incorrect conflict resolution between the changes of r73823 and r73850:
the first renamed wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_RIGHT_CLICKED to
wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK while the latter renamed it
to wxEVT_DATAVIEW_COLUMN_HEADER_RIGHT_CLICKED. The proper new name is
wxEVT_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK, use it instead.
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.
Small fixes after wxHtmlTagHandler::GetParser() addition.
Amend the changes of r73839:
- Don't use covariant return type for wxHtmlWinTagHandler::GetParser() as
VC6, which we still support, doesn't like it. Besides, this seems
unnecessary.
- Don't make GetParser() virtual at all as this doesn't appear to be necessary
neither.
- Add "@since 2.9.5" to the documentation of the new method.
Fix showing back hidden columns and rows in wxGrid.
While we don't support auto-sizing of the hidden columns and rows, we need to
still show them back when SetColSize() or SetRowSize() is called with -1
(a.k.a. wxGRID_AUTOSIZE) argument.
Really fix hit testing in the generic wxDataViewToggleRenderer.
The changes of r73835 fixed hit testing in horizontal direction but broke it
in the vertical one as the computed checkbox rectangle was not relative to the
cell rectangle as it should have been. Do fix this now.
Fix hit testing in generic wxDataViewToggleRenderer.
Handle clicks on the checkboxes in generic wxDataViewCtrl correctly by taking
into account that the checkbox rectangle is centred inside the total cell
rectangle.
Reset sorting column in generic wxDataViewCtrl properly.
We could keep using the column previously used for sorting even after
UnsetAsSortKey() was called on it. Ensure that this doesn't happen by
resetting the owner wxDataViewCtrl sort column index too.
Standardize on using "Added" instead of "Add" in the change log.
As all the other verbs were used in the infinitive and not past tense, do the
same thing for this one too, especially as we already had a mix of both forms.
Remove "ED" suffix from EVT_DATAVIEW_COLUMN_HEADER_RIGHT_CLICKED.
The naming of this macro was inconsistent with other similar macros in
wxListCtrl and wxTreeCtrl and even EVT_DATAVIEW_COLUMN_HEADER_CLICK in
wxDataViewCtrl itself. Moreover, it was even documented under the wrong name
without "ED".
Clear this mess by removing the "ED" suffix while still keeping the old macro
name for compatibility.
Add the simplest and most fool proof of chaining the pages in static wizards:
just chain several calls to the new, non-static, wxWizardPageSimple::Chain()
overload.
Use API_VERSION_NUMBER for debug help API version check.
This symbol is not documented but seems to be defined in all the existing
versions of imagehlp.h, so use it instead of relying on a hack with checkng
whether DBHLPAPI symbol is defined.
Check that files returned from wxDir::FindXXX() match the filter.
Native Windows functions used by wxDir check the filter against both the short
and the long name resulting in unexpected results, e.g. searching for
"foo.baz" would find "foo.bazaar".
Fix this by explicitly rechecking that we have a valid match ourselves.
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.
Use LF eol-style svn property for all Unix-only files.
At least with some of them (e.g. tiffconf.h) using native EOLs under Windows
confuses MinGW/MSYS and results in build failures. As all these files are only
used under Unix or in Unix-like environments, use Unix EOLs for them
everywhere.
Fix wxTextEntryDialog::GetValue() when using SetTextValidator().
Associating a validator with the text control in wxTextEntryDialog resulted in
GetValue() always returning an empty string which was completely unexpected.
Fix this by setting the value string manually to avoid interfering with any
possibly used validators.
Use the same wxDEBUG_LEVEL settings for Xcode projects as elsewhere.
Use the same debug flag default settings in the build/osx Xcode projects
as are used by all other makefiles and projects - that is,
wxDEBUG_LEVEL=1. This is done automatically by the headers, no need to
define any extra symbols when building.
Vadim Zeitlin [Sun, 31 Mar 2013 01:12:27 +0000 (01:12 +0000)]
Make wxToolBar styles consistent and add wxTB_DEFAULT_STYLE.
Don't include wxBORDER_NONE in neither wxToolBar ctor and Create() nor
wxFrame::CreateToolBar() flags parameter, override GetDefaultBorder() in
wxToolBar itself instead to use the border style appropriate for the current
platform by default. This has the same effect -- the default border style is
used unless another one is explicitly specified -- but is more clear and
consistent.
Also add wxTB_DEFAULT_STYLE for consistency with the other classes.
Vadim Zeitlin [Sun, 31 Mar 2013 01:12:21 +0000 (01:12 +0000)]
Remove wxTextCtrl::OnEnabled() hack from wxGTK.
Don't change the background colour when the control is being enabled or
disabled, it doesn't seem necessary and it's unclear why was this added by
r10179 in the first place. It does result in problems however as it could
somehow make the selection of wxTextCtrl invisible when it lost focus and so
fixes a serious usability problem which happened to all wxTextCtrls for which
a wxEVT_UPDATE_UI handler using wxUpdateUIEvent::Enable() was defined.
Vadim Zeitlin [Sun, 31 Mar 2013 01:12:15 +0000 (01:12 +0000)]
Explicitly trigger wxNotebook layout in wxMSW to ensure it is correct.
Due to an apparent bug in the native control implementation, space could be
reserved for the second row of tabs even when the notebook was big enough to
need it. Sending it an extra WM_SIZE seems to be enough to fix this.
Vadim Zeitlin [Sun, 31 Mar 2013 01:11:50 +0000 (01:11 +0000)]
Remove remaining occurrences of wxUSE_XPM_IN_MSW.
This symbol is not used since a very long time as XPM support is now always
available in wxMSW and most of its occurrences were removed almost 10 years
ago, just remove the remaining ones too.
Vadim Zeitlin [Fri, 29 Mar 2013 19:53:26 +0000 (19:53 +0000)]
Fix program not shutting down when using Ubuntu app menu.
Ensure that an idle event is generated after a menu event even when the latter
comes, via DBUS, from the out of process app menu and not from a real GTK menu.
Vadim Zeitlin [Wed, 27 Mar 2013 23:10:25 +0000 (23:10 +0000)]
Fix assert when constructing invalid wxGBSpan inside wxWidgets itself.
Various wxGridBagSizer methods returning wxGBSpan asserted when trying to
construct an invalid wxGBSpan as its components must now (since r66964) be
positive.
Fix this by adding a special new method to wxGBSpan for constructing such
invalid spans and use it now.
Vadim Zeitlin [Tue, 26 Mar 2013 00:59:27 +0000 (00:59 +0000)]
Use wxCONTROL_PRESSED instead of wxCONTROL_SELECTED in wxOSX renderer code.
wxCONTROL_SELECTED is supposed to only apply to the selected items in a
listbox and similar cases whereas the buttons use wxCONTROL_PRESSED flag to
indicate whether they are toggled.
Correct the code in wxRendererMac to use the latter, for consistency with the
other platforms.
Vadim Zeitlin [Thu, 21 Mar 2013 22:37:06 +0000 (22:37 +0000)]
Allow using either single or multi line wxTextCtrl in keyboard sample.
These controls are implemented quite differently in wxGTK, so it's convenient
to be able to test both of them in the sample to check that they both behave
correctly.
Vadim Zeitlin [Thu, 21 Mar 2013 22:37:01 +0000 (22:37 +0000)]
Refactor wxGTK IM-related code to allow future modifications.
No real changes, just make it possible to use a different IM than the one
allocated in wxWindow for input handling. This will be used in the upcoming
changes to wxTextEntry and the related classes.
Vadim Zeitlin [Thu, 21 Mar 2013 22:36:57 +0000 (22:36 +0000)]
Tweak wxGTK keyboard handling to allow accelerators to work again.
Accelerators were broken by the changes of r72640 which were done to ensure
that the focused window gets the keyboard event first, before its top level
parent. Fix them now by still passing the events to the focused window first
but also passing them to the parent top level if it hasn't been handled by the
focused child.
Unfortunately this is still not fully compatible with wxMSW because in wxGTK
wxEVT_CHAR handler must skip the event in order to allow the accelerator using
the same key to work, while in wxMSW the accelerator can only be suppressed by
overriding wxWindow::MSWShouldPreProcessMessage(). We will need to make the
two ports behave in the same way when the event is not skipped in the future.
But for now, at least make them both behave correctly when the handler does
skip the event.
Vadim Zeitlin [Thu, 21 Mar 2013 22:36:52 +0000 (22:36 +0000)]
Use flat generic status bar by default and add wxSB_SUNKEN.
GTK+ applications don't use sunken status bars since many years, do don't do
it in wxWidgets neither by default any more. Add wxSB_SUNKEN style that can be
explicitly used if the old appearance is desired.
Vadim Zeitlin [Thu, 21 Mar 2013 22:36:46 +0000 (22:36 +0000)]
Disable Unity global menu while native modal dialogs are shown in wxGTK.
We need to use wxOpenModalDialogLocker even with native GTK+ dialogs to
prevent the menu commands from being available while they're shown, so do it
in wxMessageDialog and wxColourDialog which call gtk_dialog_run().
Vadim Zeitlin [Tue, 19 Mar 2013 02:58:33 +0000 (02:58 +0000)]
Fix WM_UNINITMENUPOPUP missing definition for VC6.
The previous workaround of defining it explicitly if it's not defined was left
in src/msw/frame.cpp while the code using WM_UNINITMENUPOPUP was moved to
src/msw/toplevel.cpp in r73562. Move the fallback definition there too.