Commit Graph

57234 Commits

Author SHA1 Message Date
Vadim Zeitlin
6d0b86b7c7 Fix a typo in wxNumberFormatter styles documentation.
s/cab/can/

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-06 13:08:43 +00:00
Julian Smart
ef3f06797d Applied patch #15183 (wxRichTextTable::DeleteColumns doesn't remove the deleted columns: dghart)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-06 08:54:48 +00:00
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
be2a424da6 Minor wording fixes in wxDataStream classes documentation.
Mostly just s/amount/number/

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73937 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-06 00:30:59 +00:00
Vadim Zeitlin
1274add43f Test wxDataStream floating point methods in big endian format too.
Added a hack to test float/double reading/writing using
wxDataInputStream/wxDataOutputStream to the test case using big endian
extended float format too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73936 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-06 00:30:56 +00:00
Vadim Zeitlin
393b6027be No changes, just a small optimization in DataStreamTestCase.
Don't create streams on the heap completely unnecessarily, just allocate them
on the stack. This makes the code shorter, safer and slightly more efficient.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-06 00:30:53 +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
233666915e Use wxWindow::Refresh() instead of artificial wxPaintEvent in the test.
This fixes memory leaks under wxMSW: as the test code didn't (and couldn't)
call wxPaintDCImpl::EndPaint(), there was a leak for each wxPaintEvent
generated in it since the changes to wxDC caching in r72938.

It's also preferable because it uses public API instead of feeding events to
the window which is not documented to work.

Unfortunately even using Refresh() still doesn't allow the test to work under
wxOSX.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73929 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-05 00:00:01 +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
bbde2164ac Factor out functions dealing with menus in the event propagation test.
No real changes, just refactor the code to allow testing for menu events in
other frames too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73926 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-04 23:59:48 +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
9fe942190d Use correct line numbers in assert failures in event propagation test.
Replace the calls to CheckMenuEvent() helper with ASSERT_MENU_EVENT_RESULT()
macro to allow passing the correct line number to cppunit assertion function,
otherwise the line number of CheckMenuEvent() was always used in case of
failure.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73924 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-04 23:59:40 +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
0492f62e0b Mention using wxString::c_str() with vararg functions in the change log.
This is sufficiently important to be mentioned here in addition to the main
documentation. Especially considering that this results in run-time crashes
instead of (just) compile-time errors with MSVC.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73906 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-02 22:08:19 +00:00
Vadim Zeitlin
e33efe4839 Expand wxString overview and document some problems due to its dual nature.
Explain the possible problems with wxString due to its dual Unicode/ASCII
nature.

Also document the various conversions in the overview itself.

Closes #14694.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73905 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-02 22:08:15 +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
951b385ad8 Remove the apparently unneeded wxPGPropArgCls default ctor.
This ctor didn't initialize the flags correctly and could result in a crash
when a default constructed object was destroyed.

Closes #15174.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73898 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-01 20:53:17 +00:00
Robin Dunn
48afbebbf7 export wxRichTextObjectPtrArrayArray since it is used in the public API.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73897 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-30 20:23:39 +00:00
Robin Dunn
a4301b8f14 Richtext interface fixes and additions for Phoenix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73896 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-30 20:23:30 +00:00
Robin Dunn
16caec2610 Richtext interface fixes and additions for Phoenix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73895 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-30 20:23:20 +00:00
Robin Dunn
4a9d531345 Documentation tweaks for wxFontInfo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73892 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-30 20:07:58 +00:00
Robin Dunn
00658758e0 Add wxICON_AUTH_NEEDED
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73891 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-30 20:07:49 +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
e78209f6a8 Fix wxFont test compilation after wxFont(int flags) ctor removal.
Also mention this incompatible (since 2.9.4) change in the change log.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73889 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-30 11:13:21 +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
0cd8ce0de1 Trying to blindly fix WebTestCase unit test failure.
Navigate to about:blank initially, not "about:".

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73879 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-29 23:00:57 +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
5959d184d0 No real changes, just make wxGridCellEditor accessors const.
IsCreated(), GetControl() and GetCellAttr() should both be const, so make them
so.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73875 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-28 18:25:39 +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
2bc096a0a5 Remove "Windows only" mention from wxTE_PROCESS_ENTER documentation.
This style works for wxComboBox under GTK and OS X as well.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73869 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-26 19:41:14 +00:00
Vadim Zeitlin
7eedddb59e 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.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73868 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-26 19:41:11 +00:00
Vadim Zeitlin
85eae08d6c Minor visual enhancement in the combobox page of the widgets sample.
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
2013-04-26 19:41:07 +00:00
Robin Dunn
933f92684f revert part of last change, run configure from the builddir or cwd, not from configure's location.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73866 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-26 16:48:23 +00:00
Robin Dunn
1dd2d2f80b Add wxEVT_DIRCTRL_CHANGED
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73856 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-26 06:37:25 +00:00
Robin Dunn
dd203d5b86 Changes needed to help builder.py be more generic and working well with other modules
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73855 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-26 06:37:17 +00:00