Commit Graph

32065 Commits

Author SHA1 Message Date
Vadim Zeitlin
789ab84044 Add IEEE 754 single/double precision support to wxDataStream classes.
Allow to optionally raed/write float/double values in IEEE 754 single/double
precision formats, respectively, instead of always using the extended
precision format for both of them.

This makes the code more flexible, allowing for better interoperability with
the other programs, and also allows to implement floating point functions in
these classes even when wxUSE_APPLE_IEEE is turned off (as can be the case
because of the licencing concerns for the code in extended.c).

Closes #10625.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73938 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-06 00:31:03 +00:00
Vadim Zeitlin
337bbb7a06 No real changes, just rename double variables to "d".
Don't use "i" or "f" for double variable names, this is confusing, especially
when we do it inconsistently.

See #10625.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73934 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-06 00:30:49 +00:00
Vadim Zeitlin
61eb6bb673 Extract common parts of wxData{In,Out}putStream in a common base class.
No real changes, just put BigEndianOrdered() and SetConv() methods and the
corresponding fields in a common wxDataStreamBase class instead of duplicating
them in wxDataInputStream and wxDataOutputStream.

This will make it simpler to add more features common to both classes in the
future, see #10625.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73933 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-06 00:30:42 +00:00
Vadim Zeitlin
9618496b6a Don't use gtk_file_chooser_set_filename() for save file dialogs.
This seems to be broken in old GTK+ versions, so use
gtk_file_chooser_set_current_name() and gtk_file_chooser_set_current_folder()
for save file dialogs which seem to work in all versions.

Closes #15133.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73932 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-05 16:17:50 +00:00
Steve Lamerton
ae4adc3d06 Speculative fix for wxWebView unit tests on OSX.
Use stringByEvaluatingJavaScriptFromString as it is guaranteed to return an NSString.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73931 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-05 11:48:47 +00:00
Vadim Zeitlin
49211791f9 Correct misleading error message in locale mismatch assert.
Don't advise people to use non-existent (or at least not publicly accessible)
wxSetLocale(), they should just create wxLocale objects instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73930 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-05 00:07:05 +00:00
Vadim Zeitlin
a7c0de8a98 Fix event handling order in doc/view framework.
Ensure that the events are always (provided there is an open document)
processed in the following order:

1. wxDocument
2. wxView
3. wxDocManager
4. wxDocChildFrame
5. wxDocParentFrame
6. wxApp

Do this by forwarding the events from wxDocParentFrame to wxDocChildFrame
first and forward them from there to wxDocManager which -- and this part
remains unchanged -- in turn forwards them to the active wxView which finally
forwards them to wxDocument. This requires another condition in the event
handling code as we still must forward from wxDocParentFrame to wxDocManager
itself if there are no active children at all, but this is the only way to
have the same event order in all cases, whether the event is originally
received by wxDocChildFrame or wxDocParentFrame.

Document this and add a unit test verifying that things indeed work like this.

See #14314.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73928 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-04 23:59:56 +00:00
Vadim Zeitlin
80dcb89812 Forward events to active child at MSW, not wx, level in wxMDIParentFrame.
We want to handle menu (and toolbar) events in the active MDI child before
handling them in the parent frame itself and the existing code achieved this
by forwarding wxEVT_MENU events at wx event processing level to the active
child. However this was not enough as the underlying MSW WM_COMMAND message
was still sent to the parent frame only and this could result in wx event not
being generated at all if the parent frame had a disabled menu item with the
same ID as (an enabled) item in the child frame, see #14314.

So forward WM_COMMAND directly to ensure that the correct window gets the
event in the first place. And this makes wxEVT_MENU forwarding in TryBefore()
unnecessary.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-04 23:59:51 +00:00
Vadim Zeitlin
de28042337 Add public wxDocManager::GetAnyUsableView().
This method tries to find the current view harder than GetCurrentView() and
always returns a non-NULL view if there are any open documents at all.

This is used by wxDocManager internally to find the view to apply the user
commands to and will also be needed in the upcoming changes outside of
wxDocManager, so just make this method public, as it seems that it could be
useful in user code too, especially if we could use some better fallback than
the first opened document (e.g. the last document the user interacted with
would be better).

This also clarifies the confusion between GetCurrentView() and GetActiveView(),
see #13296.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73925 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-04 23:59:43 +00:00
Vadim Zeitlin
ee05c45dff Consistently set wxMenuBar parent in all ports.
Previously, wxGTK used the associated frame as wxMenuBar parent, while the
other ports did not. Do set the frame as menu bar parent in all ports now.

Of course, considering that wxMenuBar is not a window at all, this doesn't
necessarily make much sense, but at least it makes the behaviour consistent.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73923 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-04 23:59:37 +00:00
Vadim Zeitlin
4ed3f4abd8 Pass menu events to the handler in the associated menu bar.
We handled the menu events in the menu itself and the associated window, but
not in the menu bar that the menu belonged to. This was unexpected, so allow
handling the events in the menu bar itself too.

Closes #15095.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73922 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-04 23:59:32 +00:00
Vadim Zeitlin
3bad8c3926 Fix menu event handlers calling order.
Pass the menu event to the window associated with the menu first, before
falling back on wxApp.

This required adding yet another flag to keep state in wxEvent but it seems to
be unavoidable as wxMenuBase::SendEvent() calls ProcessEvent() twice and we
must have some way to distinguish the first call from the second one.

Added a test case verifying that the menu events are indeed processed in the
expected order.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73921 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-04 23:59:29 +00:00
Vadim Zeitlin
4322906f97 Copy max width of wxGridCellTextEditor when cloning it.
Previously the max number of characters that could be entered into the editor
was lost when it was cloned, making it impossible to really limit the user
entry.

Closes #15175.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73899 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-01 20:53:26 +00:00
Vadim Zeitlin
93651fdc32 Compilation fix for wxFont in wxGTK1.
wx/encinfo.h is not included from wx/wx.h so include it explicitly.

This is the same change as was done in r73519 for wxX11/wxMotif.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73890 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-30 15:39:18 +00:00
Vadim Zeitlin
f48e687370 Use WXUNUSED() to suppress unused parameter warnings.
Just suppress a harmless warning in wxCarbon build.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73888 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-30 10:36:02 +00:00
Vadim Zeitlin
23855b87d7 Work around harmless g++ warning about possible uninitialized variable.
Return from the function before using the variables in the (impossible) case
they are actually not initialized.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73887 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-30 10:36:00 +00:00
Vadim Zeitlin
21160e4544 Add a trivial virtual dtor to suppress g++ warnings.
Add a useless but virtual dtor to ValidationTraverserBase private class to
avoid g++ warnings.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73886 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-30 10:35:57 +00:00
Vadim Zeitlin
b960795ea8 Add wxFontInfo class to allow using named parameters for wxFont creation.
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
2013-04-30 10:27:38 +00:00
Vadim Zeitlin
659ca93c42 Allow using wxDEFAULT as font size in wxOSX.
Using wxDEFAULT as the font size in wxOSX resulted in creating 70pt font,
change this to use the normal font size instead for compatibility with the
other platforms.

Also allow using -1 as wxDEFAULT for compatibility with wxGTK, see #12541.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73884 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-30 10:27:32 +00:00
Vadim Zeitlin
039d4cfb78 Fix VC6 compilation after r73880.
Work around the broken scoping for the variables declared inside for loops in
this compiler by declaring the loop variable once for all loops.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73881 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-29 23:53:15 +00:00
Vadim Zeitlin
9e86876e69 Fix assert when adding items with bitmaps wxBitmapComboBox.
The change of r73567 resulted in an assert when adding items with bitmaps to
wxBitmapComboBox without object client data. Fix the code added by this commit
to work for all kinds of client data, including wxClientData_None.

See #14892.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73880 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-29 23:13:24 +00:00
Vadim Zeitlin
a9fd42cceb Add empty paragraph in wxRichTextTable::AddColumns() and AddRows().
Do the same thing in Add{Columns,Rows}() as in CreateTable() to ensure the
proper cell creation.

Closes #15153,

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73878 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-29 12:54:13 +00:00
Vadim Zeitlin
67315c8bf9 Add support for wxICON_AUTH_NEEDED to wxMessageDialog.
Allow showing the standard "Authentication needed" dialog in the message boxes
under MSW.

Closes #15121.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73877 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-29 12:54:08 +00:00
Vadim Zeitlin
add6e9193d Really fix the problem with caret in wxGrid text editor under MSW.
The problem (see #11681) was due to not allowing the native control handle the
focus loss event. This, in turn, was due to the changes of r58969 which tried
to work around a crash which happened if the grid was destroyed from the code
of one of the user-defined event handlers called during the editor dismissal.

Fix both problems at once by calling event.Skip() in OnKillFocus() to let the
native handler have the event too and postponing the editor dismissal a little
by calling DisableCellEditControl() indirectly from a posted event handler
instead of immediately.

As this reverts the now unnecessary changes of r64646, it closes #15162.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73876 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-28 18:25:42 +00:00
Vadim Zeitlin
9014508c38 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.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73870 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-26 20:00:52 +00:00
Vadim Zeitlin
4e231c294d 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.

See #15144.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73854 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-25 13:16:29 +00:00
Vadim Zeitlin
3bc1418b81 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.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73851 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-25 11:56:55 +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
Vadim Zeitlin
d929eddf3a 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.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73848 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-24 09:01:57 +00:00
Vadim Zeitlin
75a438f9ac 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.

See #15144.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73838 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-23 11:56:55 +00:00
Vadim Zeitlin
0623b0f001 Add wxSocketBase::GetSocket().
Provide direct access to the underlying socket descriptor.

Closes #8829.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73837 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-22 10:45:30 +00:00
Vadim Zeitlin
9483e1ac77 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.

Closes #15144.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73835 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-21 17:39:43 +00:00
Vadim Zeitlin
732a176cf3 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.

Closes #15160.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-21 17:18:44 +00:00
Vadim Zeitlin
62a58fbef5 Add wxTextEntryDialog::SetMaxLength().
Allow restricting the maximal number of characters that can be entered in
wxTextEntryDialog.

Closes #15158.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73832 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-20 22:13:33 +00:00
Robin Dunn
07aaf32633 Ensure there is valid context for DrawRectangle
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73812 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-12 23:45:15 +00:00
Vadim Zeitlin
e3b507e93e Check that focused window is non-NULL before using it in wxComboCtrl.
wxWindow::FindFocus() may return NULL, don't crash by attempting to
dereference the pointer returned by it.

Closes #15146.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73809 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-11 16:54:41 +00:00
Vadim Zeitlin
5ae1a66970 Add missing t_str() call to fix wxUSE_STL build after r73792.
Don't rely on implicit conversion from wxString to wxChar* which is not
available in all builds.

Closes #15145.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73808 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-11 16:54:36 +00:00
Stefan Csomor
49f7bb4f7a removing codewarrior support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73794 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-09 06:52:03 +00:00
Vadim Zeitlin
252e3b2c29 Support Unicode module names in wxDynamicLibrary::MSWGetModuleHandle().
The module names are not necessarily ASCII strings, so use wxString instead of
"char*" and W-version of GetModuleHandle() if appropriate.

See #15138.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73792 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-08 14:15:31 +00:00
Vadim Zeitlin
4daceaacbd 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.

Closes #3432.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73790 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-08 10:03:48 +00:00
Vadim Zeitlin
6f58f3d7e0 Allow to customize wxGrid column auto-sizing.
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
2013-04-05 21:11:59 +00:00
Julian Smart
5fe7fce492 Don't reset URL if applying character style
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73785 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-05 15:54:49 +00:00
Robin Dunn
cab16e6c94 /dev/null may not exist, be smarter about it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73779 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-05 04:01:27 +00:00
Vadim Zeitlin
42fe16e58b 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.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73774 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-04 00:11:00 +00:00
Vadim Zeitlin
2b76114b61 Don't use GetStandardCmdLineOptions() under non-Unix platforms.
The GTK+ standard options are only available under Unix.

Closes #15131.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-01 23:59:37 +00:00
Julian Smart
6a63bdc860 Corrected code that re-encodes the book title.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73762 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-01 19:38:54 +00:00
Vadim Zeitlin
f75b1bd31c 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.

Closes #15037.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-31 01:12:27 +00:00
Vadim Zeitlin
00a399c062 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.

Closes #14898.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73756 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-31 01:12:21 +00:00
Vadim Zeitlin
80ceadc165 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.

Closes #1792.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73755 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-31 01:12:15 +00:00
Vadim Zeitlin
8dd4c6113d Add a comment with links to proper command line parsing rules.
No real changes, just added a comment with links to the descriptions of the
correct rules that we should use in ConvertStringToArgs().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73747 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-31 01:11:47 +00:00
Vadim Zeitlin
6150a29606 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.

Closes #15122.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73737 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-29 19:53:26 +00:00
Vadim Zeitlin
ce4ae5639b Added wxBookCtrlBase::FindPage().
Add helper function to find the index of the given page.

Closes #15125.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73734 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-29 19:53:13 +00:00
Vadim Zeitlin
46e2a1b8c2 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.

Closes #15124.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73731 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-27 23:10:25 +00:00
Vadim Zeitlin
1127eb3a6a Add wxDocManager::FindDocumentByPath() helper.
Simply refactor the code which already existed inside wxDocManager in a new
public method.

Closes #15126.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73730 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-27 23:10:20 +00:00
Vadim Zeitlin
49cfad613b Fix display of empty wxStaticBoxSizers.
wxStaticBoxSizer should be considered shown if its static box is shown, even
if it has no elements (or all of them are hidden).

Closes #14698.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73729 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-27 23:10:15 +00:00
Vadim Zeitlin
beba4fa694 Add wxDocument::Activate() method.
Make activating the first (and, in the vast majority of cases, the only) view
of the document easier.

Closes #15120.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73720 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-26 11:00:59 +00:00
Vadim Zeitlin
82bf23ce3c Initialize Unicode code when generating wxEVT_CHAR_HOOK in wxMSW.
Use the fixed value of 0 for the keys without Unicode equivalent instead of
whatever junk was there in the uninitialized variable.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73719 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-26 11:00:24 +00:00
Vadim Zeitlin
fec65d7df3 Use WXK_DELETE as Unicode key code for VK_DELETE in wxMSW.
U+007F is a Unicode character so we should set Unicode key code to this value
for VK_DELETE presses. This also makes wxMSW consistent with wxGTK.

Closes #3458.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-26 11:00:20 +00:00
Vadim Zeitlin
216314a607 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.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-26 00:59:27 +00:00
Paul Cornett
2a875213d3 fix GTK3 build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73708 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-22 17:03:12 +00:00
Vadim Zeitlin
b2c357747d Add IM and full wxEVT_CHAR support to wxTextCtrl and wxComboBox in wxGTK.
Generate wxEVT_CHAR events for non-ASCII characters entered in these controls
by intercepting their insert-text signal.

Also try to use GtkEntry/GtkTextView internal IM objects but unsuccessfully so
far.

Closes #3158.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73695 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-21 22:37:09 +00:00
Vadim Zeitlin
afa9873106 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.

See #3158.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73693 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-21 22:37:01 +00:00
Vadim Zeitlin
819638a71f 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.

Closes #14553.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73692 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-21 22:36:57 +00:00
Vadim Zeitlin
98eb2e84e8 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.

Closes #15009.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73691 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-21 22:36:52 +00:00
Vadim Zeitlin
3c2f3a60d1 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().

Closes #14823.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73690 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-21 22:36:46 +00:00
Vadim Zeitlin
d3bd8b1a48 Create a small helper class for Unity global menu bug workaround.
Encapsulate the code temporarily incrementing wxOpenModalDialogsCount in a
small helper class to make it easier to reuse it elsewhere.

See #14823.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73689 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-21 22:36:42 +00:00
Vadim Zeitlin
49b18c6cd9 No changes, just remove an unused line of code.
Fix g++ warning about initialized but unused variable in wxRTC code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73688 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-21 22:36:38 +00:00
Vadim Zeitlin
82e8b0ad6c Add missing space to fix r73681 changes.
We need a space between the command and stderr redirection to avoid the "2"
from being taken as part of the last option on the command line.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73687 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-19 15:43:32 +00:00
Vadim Zeitlin
bceb01f728 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.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73682 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-19 02:58:33 +00:00
Vadim Zeitlin
8ea079b33e Suppress error output from Unix system information functions.
Redirect stderr to /dev/null in wxGetCommandOutput() to avoid errors from the
shell if the command we're trying to run doesn't exist.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-19 02:55:31 +00:00
Julian Smart
3bb084c427 Fixed help for symbol picker and style manager dialogs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73678 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-18 20:21:11 +00:00
Julian Smart
507a6cd69a Added control over whether size and position units can be changed, and also size and position checkboxes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73677 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-18 12:07:41 +00:00
Julian Smart
bafc4eacc4 Corrected clipboard data id
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73675 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-17 08:14:03 +00:00
Julian Smart
1bdb813110 Fixed centering/right alignment of last line
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73673 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-16 19:36:50 +00:00
Vadim Zeitlin
cc00695bb7 Don't create temporary file in wxDebugReport ctor.
Just use wxFileName::GetTempDir() instead of creating a file in the temporary
directory and then using its path.

Closes #15103.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73672 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-16 17:27:31 +00:00
Julian Smart
0b28913308 Corrected wxRichTextCaret refresh
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-14 22:32:03 +00:00
Julian Smart
17e0cd8845 We need to switch off UI elements before they are laid out. Do this via static functions.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73663 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-14 21:04:24 +00:00
Julian Smart
43f4e852a1 Fixed some warnings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73647 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-13 09:05:52 +00:00
Julian Smart
404b319a85 Added ability to switch off more components of the size page UI
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73646 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-12 20:54:51 +00:00
Julian Smart
77120d82a4 Search for font instead of creating it each time
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-11 18:03:54 +00:00
Julian Smart
2739227180 Added missing RTTI
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73643 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-11 18:02:11 +00:00
Stefan Csomor
bc6626eb73 more specific solution to tooltips appearing on neighboring views, refs #15072
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73642 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-11 10:08:19 +00:00
Stefan Csomor
2be6dfe6c5 supporting also mouse entered / exited events which are not sent to the deepest child window, refs #15072
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73641 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-10 22:13:41 +00:00
Stefan Csomor
97e015d1fa support alpha in color dialog, see #14127
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73640 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-10 21:14:17 +00:00
Stefan Csomor
7aa09d4311 make sure dialogs can support alpha transparency sliders
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73639 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-10 21:12:45 +00:00
Stefan Csomor
d485bda109 add support for alpha in color dialog on OSX, see #14127
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-10 20:36:22 +00:00
Stefan Csomor
ebeac3a73d avoid multiple mouse moved events, refs #15072
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73637 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-10 19:02:55 +00:00
Stefan Csomor
f1d0d07d2a trying to solve cursor update problems with AUI, refs #15072
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-10 14:20:36 +00:00
Vadim Zeitlin
0c5a056a84 Disable sorting of generic wxDataViewCtrl while it is frozen.
Don't sort the contents of wxDataViewCtrl while it is frozen and resort it
only when it is thawed. This dramatically speeds up adding items to the
control when sorting is used as we only sort it once now instead of doing it
after adding every item.

Closes #14073.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73635 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-10 01:09:41 +00:00
Vadim Zeitlin
c4864c0446 Use symbolic constants instead of magic numbers in wxDataViewCtrl code.
No real changes, just add SortColumn_XXX symbolic constants which are somewhat
more clear than -1 and -2 used before. Although the code based on the global
variables remains as bad as before.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-10 01:09:37 +00:00
Vadim Zeitlin
3cca1b3d8b No real changes, just use wxString::clear() instead of assignment.
Consistently use clear() everywhere instead of assigning wxEmptyString in some
places and wxT("") in some others to a string in order to clear it.

See #15091.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73632 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-09 15:08:40 +00:00
Vadim Zeitlin
6aa4e3989f Return false from wxFileName::AppendDir() and InsertDir() on failure.
Give the caller a way to know whether the directory was valid or not.

Closes #15091.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73631 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-09 15:08:36 +00:00
Vadim Zeitlin
29cc4cc9bc Use generic spin control itself as parent for its children.
This fixes a problem with using wxSpinCtrlGeneric in toolbars under wxOSX,
using the toolbar itself (i.e. the parent of the spin control) as parent for
the children didn't work there and no windows were visible at all.

Also use wxNavigationEnabled as base class of wxSpinCtrlGeneric to fix
keyboard navigation.

And override SetBackgroundColour() to set it for the text control part of the
spin control only.

Closes #15016.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73630 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-09 15:08:31 +00:00
Vadim Zeitlin
bde7eee92e Implement support for pen cap and join in wxPostScriptDC.
Use PostScript "setlinecap" and "setlinejoin" commands to do it.

Closes #1244.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73629 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-09 15:08:25 +00:00
Vadim Zeitlin
87b621a5b7 Fix compilation for MinGW with wxUSE_IPV6==1.
MinGW doesn't provide wspiapi.h header, so only include it when using MSVC and
include ws2tcpip.h which directly declares the functions used for the other
compilers.

This doesn't have quite the same semantics but it's better than failing to
compile at all.

See #15005.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73626 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-09 15:08:13 +00:00
Vadim Zeitlin
025f5d1450 Don't cache HDC used by wxPaintDCEx in wxMSW.
This avoids the problem with mistakenly using wrong HDC in wxBitmapComboBox
code which was due to assuming that we can only ever have one paint HDC for
the given window -- while in wxBitmapComboBox case we are passed different
HDCs for the same window via WM_DRAWITEM.

Instead of fixing the cache, just don't use it at all for wxPaintDCEx as we
don't gain anything from doing it anyhow.

Closes #14842.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-09 15:08:09 +00:00
Vadim Zeitlin
06a32e049c Fit the generic preferences editor dialog to its pages size initially.
Ensure that the dialog has the appropriate size before showing it.

In addition to making it big enough to fit the pages contents, this also fixes
a problem with initial appearance under MSW.

Closes #15092.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-09 15:08:05 +00:00
Vadim Zeitlin
17beda75ef Don't set cell value in wxDataViewEvent in one place only.
We should either set the cell value in the event object everywhere or not do
it anywhere and as currently the native GTK and OS X versions don't do it at
all and the generic version only does it for ITEM_CONTEXT_MENU events, it's
easier to not do it at all.

See #14163.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73623 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-09 15:08:00 +00:00
Vadim Zeitlin
0e0f825d7c Remove wxLogWindow::OnFrameCreate() virtual method.
This method couldn't be overridden by the classes deriving from wxLogWindow
because it was called (indirectly) from wxLogWindow ctor itself and so was
completely useless. Just remove it to avoid confusion.

Closes #12763.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-09 15:07:56 +00:00
Vadim Zeitlin
aa9453d6f4 Restore wxDIRCTRL_SHOW_FILTERS flag of wxDirCtrl.
Closes #8572.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73621 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-09 15:07:49 +00:00
Stefan Csomor
b09857ae00 avoid infinite recursion for richtooltops, (hopefully) fixes #15070
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73614 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-07 21:41:39 +00:00
Stefan Csomor
a5777be7b0 implementing canBecomeKeyView for user panes, native focus support, fixes #15070
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73610 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-06 21:00:38 +00:00
Vadim Zeitlin
11e3c6ef36 Unselect all wxDataViewCtrl items when clicking outside of the item area.
This is consistent with Windows behaviour and as the generic wxDataViewCtrl is
mostly used under Windows, it makes sense to follow Windows convention in it.

Closes #15082.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-04 18:19:41 +00:00
Vadim Zeitlin
09f84bc716 Fix crash on wxDataViewCtrl creation after r73565.
Initialize m_clientArea to NULL to avoid crash in SetFont() which is called
during the control creation.

This might still be not 100% correct as the initial font is not set at all for
the client area but at least it fixes the crash.

See #15056.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73601 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-04 11:48:26 +00:00
Julian Smart
29ec9f9b02 Corrected layout when scaling the control
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-04 10:47:55 +00:00
Vadim Zeitlin
e465e64881 Fix handling of wxST_NO_AUTORESIZE in wxOSX.
We do need to set the size of wxStaticText initially even when this style is
specified, it only tells us to not update it later. Otherwise even the initial
label was never shown in full.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-03 22:44:17 +00:00
Stefan Csomor
33f3e2b31e issue NUMPAD constants only for Key but not for Char events, fixes #15073
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-03 17:23:58 +00:00
Vadim Zeitlin
8ae80de41f Revert "Fix off by 1 error in wxGenericListCtrl::HitTest()."
Revert r73563, this breaks the selection in the control apparently.

See #15063.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-03 12:19:20 +00:00
Stefan Csomor
094fa9e9ef enabling cursor events, fixes #15044
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-02 13:01:57 +00:00
Vadim Zeitlin
23c37c2c4e Reset accelerator table after removing last accelerator in wxMSW wxMenuBar.
We didn't update the accelerator table if no more accelerators were left in it
but we still need to do it to stop handling the previously active accelerators.

Closes #15078.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-02 12:11:53 +00:00
Vadim Zeitlin
f29b59b781 Use more native icons in wxMSW wxArtProvider.
Use SHGetStockIconInfo() and SHGetFileInfo() to look up some icons.

Closes #15068.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-02 12:11:47 +00:00
Vadim Zeitlin
c35c7df103 Don't give error message for non-existent paths in wxFileSystemWatcher.
The file we're trying to watch might have been just deleted, this is an
unavoidable (and not only in theory but also in practice when watching busy
directories) race condition so don't give an error message if this does happen
but simply return false from Add().

Closes #15051.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73591 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-02 12:11:40 +00:00
Vadim Zeitlin
4efbeff4a5 Interpret wxRect passed to wxRichToolTip::ShowFor() as client coords.
It makes more sense to use the window coordinates here instead of the screen
ones.

Closes #15060.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-02 12:11:36 +00:00
Vadim Zeitlin
f6268c151c Make wxRect parameter of wxRichToolTip::ShowFor() const.
This parameter is read-only, so accept a const pointer here.

See #15060.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73589 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-02 12:11:32 +00:00
Vadim Zeitlin
f155075229 Don't use GetThreadId() in wxMSW code.
Revert r73585, GetThreadId() is only available in Vista or later so don't use
it.

Just cast the handle to an integer explicitly to be able to print it with
"%x".

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73587 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-01 12:21:41 +00:00
Vadim Zeitlin
9f298361db Use thread ID and not thread handle in the error messages in wxMSW.
The ID is in general more useful than the handle and this also fixes an assert
failure due to mismatch between the HANLDE type and "%x" format specifier.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-28 20:41:14 +00:00
Stefan Csomor
a990673bb9 enabling menu close event, fixes #15069
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73580 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-28 18:11:35 +00:00
Julian Smart
914a4e23e4 Corrected loading of images: we need the parent size to compute initial object size
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-28 17:23:09 +00:00
Václav Slavík
2aab96f58d Add wxPreferencesEditor class.
Implements native UI for preferences editing.  In particular, the API
handles the differences between modal (Windows) and non-modal (OS X) preferences windows and provides platform's native look.

Currently implemented natively for wxOSX/Cocoa, wxGTK and Windows (the latter is used as a fallback generic implementation as well).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-28 16:29:05 +00:00
Václav Slavík
d52a1abad3 Add support for Cocoa's selectable toolbar items.
The support is currently limited to making all toolbar items selectable
and is only available in wxOSX with Cocoa and native toolbars.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73575 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-28 16:28:56 +00:00
Václav Slavík
72625b36b6 Add wxBitmap(NSImage*) ctor to wxOSX.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73574 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-28 16:28:52 +00:00
Vadim Zeitlin
4f082fb3a0 Preserve client data pointers when setting bitmaps in wxBitmapComboBox.
Changing the bitmap could recreate the control if the height of the bitmap
changed but recreating wxBitmapComboBox lost all the client data pointers.

Do preserve them now when recreating.

Closes #14892.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-24 13:48:49 +00:00
Vadim Zeitlin
1af67319a7 Make wxGenericDataViewCtrl::SetFont() really work.
Do use the new font for the items display.

Closes #15056.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73565 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-24 13:48:35 +00:00
Vadim Zeitlin
de6e6d08b2 Fix compilation in !wxUSE_MENUS case.
wxFrameBase::ShouldUpdateMenuFromIdle() should be defined inside "#if
wxUSE_MENUS" as it's only declared when wxUSE_MENUS==1.

Closes #15062.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73564 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-24 13:48:26 +00:00
Vadim Zeitlin
f4f4c3aca4 Fix off by 1 error in wxGenericListCtrl::HitTest().
Account for the header height if the header is present.

Closes #15063.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73563 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-24 13:48:20 +00:00
Vadim Zeitlin
95316a3f24 Move menu messages handling from wxFrame to wxTLW in wxMSW.
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
2013-02-24 13:48:13 +00:00
Vadim Zeitlin
c92374f0a2 Fix crash when drawing bitmaps with mask in wxGTK with GTK+ < 2.20.
r73386 introduced a crash in wxGTK drawing code when using old GTK+ versions
by releasing the mask pixmap prematurely. Apparently GTK+ itself was fixed at
some time in 2.19.x time frame but work around the bug for the sake of older
GTK+ versions in wxGTK itself by simply releasing the pixmap at the end of
DoDrawBitmap(), as pre-r73386 code did.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73549 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-21 14:32:04 +00:00
Vadim Zeitlin
4e5e421c78 No real changes, just suppress a harmless warning.
g++ warned about possibly uninitialized variable, so initialize it in its
declaration even if it was actually already always initialized in the branches
where it could be used.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73548 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-21 13:22:31 +00:00
Vadim Zeitlin
4340a145d8 Fix background corruption in scrolled wxHtmlWindow.
Draw the background on the entire virtual size, not just the currently shown
client size.

Closes #15047.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73543 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-19 23:13:21 +00:00
Stefan Csomor
005659f0ff applying patch, closes #13045
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-17 16:17:20 +00:00
Stefan Csomor
dfd0756f75 switching notebook implementation to common
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-17 14:54:43 +00:00
Vadim Zeitlin
2a45803fc3 Remove wxRTTI macro for wxComboBox from Motif port.
This is now done in src/common/combocmn.cpp.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73521 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-15 12:40:22 +00:00
Vadim Zeitlin
35f6f71b19 Don't use ternary operator ?: with wxString and literal strings.
This results in warnings about converting string literal to (non const) C
string.

Also remove the now unneeded calls to c_str() inside wxString::Printf().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73520 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-15 12:40:20 +00:00
Vadim Zeitlin
c8723b866e sAlways iInclude wx/encinfo.h from src/unix/fontutil.cpp.
We use wxNativeEncodingInfo in this file, so we always need this header, not
just when not using PCH.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73519 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-15 12:40:17 +00:00
Vadim Zeitlin
bdffa92004 Don't connect to the same signal multiple times in wxGTK wxClipboard.
We called g_signal_connect("selection_get") in wxClipboard code each time its
AddData() method was called. This resulted in progressive but noticeable
slowdown as the handler was called more and more times.

Only connect to the handler once now.

Closes #15038.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73518 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-15 12:40:13 +00:00
Stefan Csomor
116d7e5805 closes #13841
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73517 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-14 08:07:24 +00:00
Vadim Zeitlin
208717f64e Account for scrolling when setting the background brush origin in wxMSW.
We must use physical coordinates for the brush origin to account for the
coordinates offset in scrolled windows, so add MSWAdjustBrushOrg() and call it
from MSWGetBgBrushForChild().

Closes #14917.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-10 16:14:03 +00:00
Vadim Zeitlin
d7763d16d7 Compilation fix for !wxHAS_MSW_BACKGROUND_ERASE_HOOK case.
This doesn't actually change anything as wxHAS_MSW_BACKGROUND_ERASE_HOOK is
always defined, except under WinCE where this file is not used anyhow, but do
test it here for completeness.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73492 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-10 16:13:50 +00:00
Vadim Zeitlin
6586750c6a Create wxCURSOR_RIGHT_ARROW on the fly from normal arrow cursor under MSW.
This allows to avoid having another cursor resource and also makes this cursor
nicer as rightarr.cur looks rather out of place under modern Windows systems.

Closes #14991.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73491 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-10 16:13:46 +00:00
Vadim Zeitlin
1ebfe6c58a Create new tab at the correct location in wxAuiNotebook.
Create the new tab in wxAuiTabCtrl that was double clicked and not near the
last selected tab which could have been in another wxAuiTabCtrl.

Closes #14995.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73490 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-10 16:13:42 +00:00
Vadim Zeitlin
973abcbb6a Add wxIcon::CreateFromHICON() to wxMSW.
Provide a public method properly assigning an HICON to wxIcon, instead of
asking people to call SetHICON() and SetSize().

Closes #15023.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-10 16:13:37 +00:00
Vadim Zeitlin
87a1dbc52e Don't call ::GetLayout() in wxMSW code directly.
Use wxMSW::GetLayout() wrapper to avoid directly binding to a function not
present in old Windows versions and also to fix linking errors with MinGW
after the changes of r73484.

See #3995.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73488 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-09 11:11:53 +00:00
Vadim Zeitlin
e56fee472c Fix pulsing of bitmaps in focused buttons under Windows 7.
It turns out that the actual bitmap shown in this case varies between the
bitmaps at PBS_DEFAULTED and PBS_STYLUSHOT, so that it's invisible half of the
time if we don't specify the value for the latter. Do it now to fix unwanted
pulsing of the bitmap in the focused button.

Closes #15034.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73486 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-09 00:35:58 +00:00
Vadim Zeitlin
05942059ef Refresh wxMSW wxStaticBitmap when its size changes.
As MSW native control centers the image, it must be entirely redrawn when the
area in which the image is centered changes, but it doesn't happen by default,
so do it ourselves explicitly.

Also explain that this centering behaviour is platform-specific and shouldn't
be relied upon.

Closes #4564.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73485 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-09 00:35:54 +00:00
Vadim Zeitlin
4bd1fc29b2 Fix drawing of bitmaps with masks in mirrored wxDC.
The mask must be mirrored in the same way as the main bitmap itself (currently
it's not mirrored at all but this could change in the future), so create the
temporary memory HDC with the same layout as is used by the main HDC.

Closes #3995.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73484 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-09 00:35:49 +00:00
Vadim Zeitlin
e949d38c4e Don't recurse into top level children when validating recursively.
Even with wxWS_EX_VALIDATE_RECURSIVELY flag, we should never validate the top
level children (e.g. dialogs) when validating the parent window. This is never
useful and can be completely unexpected.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73482 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-06 12:48:12 +00:00
Vadim Zeitlin
5abc0d2197 Refactor children traversal in wxWindow::TransferData{To,From}Window().
No real changes, just factor out the logic for children traversal into a
helper template class and reuse it in Validate() and both TransferData()
methods to avoid triplicating it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73481 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-06 12:48:09 +00:00
Vadim Zeitlin
72bd600b33 Allow creating wxCursor from ANI files under MSW.
Simply pass them to the standard LoadCursorFromFile() function which supports
this format.

Closes #3472.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73480 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-06 12:46:24 +00:00
Vadim Zeitlin
ff0d660405 Fix harmless warning about NULL in wxStyledTextCtrl code.
Cast NULL to the type of third argument of SendMsg() explicitly to avoid a
warning about it from Ubuntu g++ 4.6.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73478 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-06 00:42:11 +00:00
Vadim Zeitlin
79fdb1d1f7 Fix harmless g++ warning about operator precedence.
Add parentheses to suppress "&& inside ||" warning.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73477 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-06 00:42:09 +00:00