Hiding the tree when it's frozen, as done in r72665, results in its own
problems, e.g. loss of focus. So don't do this but resize the control to a
very small size when freezing it and restore it to its old size afterwards.
Closes#15166.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74072 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Also send wxEVT_UPDATE_UI events for the extra controls in wxFileDialog.
The combination of these changes allows extra controls to update their state
depending on the current selection in the dialog. Show a simple example of
doing it in the dialogs sample.
Closes#15235.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74071 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This resulted in unexpected behaviour if the main frame was closed while the
other ones were still shown as they remained shown and had to be hunted and
closed one by one to make the application exit.
Fix this simply by creating all the other frames as children of the main one.
This also results in better UI when minimizing and restoring the main frame.
Also get rid of unused position parameters in child frame constructors and get
rid of the title parameter which is not really needed as it's always the same
too.
See #11923.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74070 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Extract wxModalDialogHook from wx/testing.h into its own wx/modalhook.h,
extend it to allow to be notified not only about showing modal dialogs but
also about dismissing them and document it and show its use in the dialogs
sample.
Also replace all the WX_TESTING_SHOW_MODAL_HOOK macros occurrences with
WX_HOOK_MODAL_DIALOG.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74037 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This is more appropriate than just "Preferences" under MSW and GTK which use
the generic wxPreferencesEditor, OS X has its own native version which
continues to correctly use "Preferences" for the title.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74007 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This helper class allows to create wxFonts using shorter and more readable
code, e.g.
wxFont font(12, wxFONTFLAG_DEFAULT,
wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, true,
"DejaVu Sans");
can now be written simply as
wxFont font(wxFontInfo(12).FaceName("DejaVu Sans").Underlined());
Remove the ctor from font flags added in r70445 as it's not needed any longer
now that we have this one and adding it resulted in compilation errors in the
existing code which compiled with 2.8 because of ambiguities between that ctor
and wxFont(int size, int family, int style, int weight. bool underlined, ...)
one, e.g.
wxFont(12, wxFONTFAMILY_SWISS, wxNORMAL, wxNORMAL)
didn't compile any more but it does compile again now.
See #9907.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73885 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
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.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73868 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Expand the lower static box to align it with the upper one, otherwise they
look really ugly, especially under Mac.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73867 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
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.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73851 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
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
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.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73823 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
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.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73806 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
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.
Closes#15077.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73789 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
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.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
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.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73694 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
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.
Closes#14553.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73692 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
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.
Closes#15009.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73691 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't always deadlock when "Stop the last spawned thread" menu command is
selected. There is still a problem with a race condition which could result in
a crash when dereferencing an invalid pointer, but at least this doesn't
happen all the time, unlike the current bug.
Of course, the real solution would be to properly rewrite the sample to show
how thread deletion should be handled correctly...
See #14891.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This allows to generate the menu open/close/highlight events correctly for the
popup menus used in the dialogs.
Extend the menu sample with a test using such menus.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Just clearing the DC is not enough when the window is scrolled, so clear the
entire virtual area. We should be able to optimize it by clearing just the
rectangle currently scrolled into view but this is at least correct, i.e.
doesn't result in corrupted display, even if it's suboptimal.
See #14917.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73493 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Show how add, remove and clear annotations and also how to update the text
width when long annotations are added.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Clear the DC before moving its offset to ensure that it's cleared entirely and
also draw the background using the virtual, not client, size.
See #14917.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73428 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't assert if an already hidden/shown row/column is being hidden/shown again
but simply don't do anything. This is more convenient because the code outside
wxGrid has no efficient way to only hide a row/column if it's currently shown.
Closes#14960.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73366 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't call SetScrollbars(), this is overridden by sizer logic later. Instead,
add a sufficiently big window to the popup and make fix the size of the popup
itself to be smaller to ensure that the scrollbars do show.
Closes#14900.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73319 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This method didn't really exist, the code only worked because it connected to
wxApp::OnIdle() which exists in wxMSW but not the other ports.
Simply remove the apparently unnecessary call.
See #13902.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73289 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775