Commit Graph

32244 Commits

Author SHA1 Message Date
Vadim Zeitlin
609a42decf Fix duplicate symbol link errors in wxMSW wxTextEntry code.
Don't include <initguid.h> too soon, as this affects the headers included
after it instead of just our own uses of DEFINE_GUID() as intended.

This resulted in link errors because of duplicate definitions of the many
standard GUIDs when using MinGW for which we include, for whatever reason,
shlguid.h.

This fixes the change of r67573.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 10:38:39 +00:00
Vadim Zeitlin
6535170f3d Allow using custom method names in wxHTTP.
Add wxHTTP::SetMethod().

Also simplify the code by determining the method to use in Connect() instead
of doing it in BuildRequest() itself.

Get rid of the now unused wxHTTP_Req enum.

Closes #15354.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-25 21:55:13 +00:00
Vadim Zeitlin
7e81e3a796 Fix build with wxUSE_FFILE=0.
Add the missing "#if wxUSE_FFILE" checks and add fallbacks to wxFile if it's
available.

Closes #15353.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-25 21:55:06 +00:00
Vadim Zeitlin
94e1ee1b4d Don't crash when creating wxStaticBox in wxGTK.
Since r74585, wxWindow::SetCanFocus() is called from wxStaticBoxBase ctor,
i.e. before the real window is created, and this results in a crash in wxGTK
where SetCanFocus() needs a valid widget.

Fix this simply by doing nothing in SetCanFocus() if the widget is not created
yet as this should result in the same behaviour as before r74585. This doesn't
seem like the right thing to do, however, and we should probably remove this
call from wxStaticBoxBase ctor and do it in wxStaticBox implementation itself
instead.

Closes #15358.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-25 21:54:53 +00:00
Stefan Csomor
b0ae60498d wiring OnInit on osx to a later point in event processing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-24 06:14:48 +00:00
Stefan Csomor
d3fa4bc22e support for iPhone callbacks
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74591 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 20:11:59 +00:00
Stefan Csomor
b8f0ac88a5 adding OnLaunched
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 17:57:05 +00:00
Paul Cornett
3988b3e819 use GTK-specific method to delete selection
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74589 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 14:41:14 +00:00
Vadim Zeitlin
1b7c3d909a Compilation fix for PCH-less build after r74586.
Don't use wxWindow methods in wx/container.h, move AcceptsFocus()
implementation to containr.cpp.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 13:18:30 +00:00
Vadim Zeitlin
bd6ca54f63 Fix tab navigation bug with radio boxes without enabled items.
There was a bug similar to the one in the preceding commit with radio boxes
under wxMSW too: if all radio box buttons were disabled (or hidden, although
this should be much more rare in practice, unlike the disabled case which was
deemed to be rare in r74583 commit message but turned out to actually happen),
the radio box still pretended to accept focus but didn't really do it.

Fix this by allowing to override wxWindow::CanBeFocused() and do it in
wxRadioBox to check whether we have any enabled visible items.

Also add a check for CanBeFocused() to wxControlContainer code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 12:44:33 +00:00
Vadim Zeitlin
dee22e3198 Fix tab navigation bug with static boxes without enabled children.
wxControlContainer::AcceptsFocusFromKeyboard() returned true even if the
control didn't have any currently enabled -- and hence accepting focus --
children. This resulted in strange wxEVT_NAVIGATION_KEY propagation as it
unexpectedly wasn't handled in the control which pretended to accept focus and
instead bubbled up back into the parent, resulting in the focus returning to
the first child of the parent instead of skipping the static box with disabled
children and going to the next enabled child.

Fix this by checking that we have children that can be focused right now and
not only children that are focusable. Notice that this doesn't take care of
calling wxWindow::SetCanFocus() correctly when the children enabled/disabled
state changes so there might still be other problems, notably under wxGTK
where SetCanFocus() does something non-trivial, but it at least improves
things under wxMSW.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 12:44:29 +00:00
Paul Cornett
be1f902405 merge DoDrawText() and DoDrawRotatedText() into one function
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74584 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 05:13:32 +00:00
Vadim Zeitlin
043ad13ffe Fix tab navigation into radio boxes in wxMSW.
Radio boxes refused to take focus from keyboard as their
wxControlContainer::AcceptsFocusFromKeyboard() always returned false because
the base wxStaticBox class disabled setting the focus to the control itself
and wxRadioBox doesn't have any children at wx level in wxMSW.

Fix this by reenabling "self focus" in wxRadioBox to make it possible to
accept focus from keyboard. This is not ideal as it doesn't take into account
e.g. radio boxes without any items or with all items disabled or hidden, but
this should be rare and would require virtualizing all children access at
wxControlContainer level, i.e. would be quite non-trivial so don't do this for
now as this, at least, fixes the navigation in common/normal case.

Also remove the unnecessary AcceptsFocus() override from wxRadioBox as this is
now done at wxControlContainer level.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74583 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 00:43:33 +00:00
Vadim Zeitlin
2c750daecd No real changes, just refactor wxControlContainer code a little.
Extract the call to wxWindow::SetCanFocus() into a separate
UpdateParentCanFocus() function as it can be necessary to do it from places
other than UpdateCanFocusChildren() too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74582 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-23 00:43:29 +00:00
Stefan Csomor
15160da216 further routing into wxApp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74580 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-22 18:33:01 +00:00
Stefan Csomor
f9148f9841 cocoa wiring
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-22 16:18:39 +00:00
Stefan Csomor
038c99477c wiring osx native notification during launch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74578 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-22 16:17:27 +00:00
Paul Cornett
c148b21630 use pango_matrix_scale() to scale text
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74577 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-22 15:32:00 +00:00
Vadim Zeitlin
a0bb0df5d7 Don't assume that KeySym is always defined as long in wxGTK.
Apparently this is not the case when using Wayland and using "%ld" to print it
out results in an assert failure.

Closes #15351.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74573 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-18 10:07:18 +00:00
Vadim Zeitlin
e24c4e1238 Set mouse cursor correctly over image map links in wxHTML.
The cursor didn't change to a link one when the mouse was over link areas in
an image map.

Fix this by generalizing wxHtmlCell::GetMouseCursor() into GetMouseCursorAt().

Closes #15350.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74570 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-17 17:27:14 +00:00
Vadim Zeitlin
2767360fa8 Check the number of points in the image map in wxHTML.
Don't crash if an <area> element is incorrect and doesn't have the required
number of coords attributes.

Closes #15348.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-17 17:27:09 +00:00
Vadim Zeitlin
4cdb8e430c No changes, just remove an extra pair of braces in wxHTML code.
See #15348.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-17 17:27:04 +00:00
Vadim Zeitlin
4e2a1db748 Handle wxALWAYS_SHOW_SB in wxOSX.
Initialize m_[hv]ScrollBarAlwaysShown to true if this flag is given when
creating the window.

Closes #15344.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-17 17:27:00 +00:00
Vadim Zeitlin
27d79a5027 Fix insertion of radio menu items in wxOSX wxMenu.
Deal correctly with updating the indices when a radio item is inserted into an
existing radio group (which wasn't done previously and resulted in a unit test
failure in MenuTestCase::RadioItems()) and also with inserting the normal
items before an existing radio group as the stored indices were not updated
correctly.

The code is still ugly and it probably wouldn't be a bad idea to reuse
wxMenuRadioItemsData used in wxMSW for similar purposes, but at least the unit
tests pass now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74548 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-16 14:10:39 +00:00
Vadim Zeitlin
150dcda942 Allow unsetting wxMenuItem as start of radio group too.
This must be called if another radio item is inserted before the current
starting one.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74547 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-16 14:10:35 +00:00
Vadim Zeitlin
9883583092 No changes, just renamed "pItem" to "item" in wxOSX menu code.
Get rid of this pseudo-Hungarian notation and make the naming of the variables
consistent across the whole file.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74545 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-16 14:10:29 +00:00
Vadim Zeitlin
3b28ca6503 Get rid of wxMenu::m_startRadioGroup in wxOSX.
This code was probably copied from wxUniv but was wrong as we can't rely on
the items being always inserted in order. This commit on its own fixes
removing the first radio group menu item but it also makes possible to
properly implement the insertion of new items in the middle of an existing
radio group which couldn't be done with m_startRadioGroup approach at all.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74544 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-16 14:10:26 +00:00
Vadim Zeitlin
f86a4930f2 Fix harmless unused parameter warning in wxOSX.
We don't use the timestamp in wxNonOwnedWindow::HandleResized().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74543 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-16 14:10:22 +00:00
Vadim Zeitlin
75f9a95448 Use [DOMRange markupString] to get selection source.
This DOMRange method, previously used in GetSelectedText(), seems to provide
exactly what we need so there doesn't seem to be any reason to use JS to get
the selection text, especially as it didn't even work under OS X 10.8 and
returned an empty string in the unit test.

The unit test still needs adjustment to pass because we don't get back exactly
the same HTML as we used originally, but with more relaxed matching it does
pass now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74541 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-16 14:10:17 +00:00
Vadim Zeitlin
54889dae19 Return raw text, not markup, from wxWebViewWebKit::GetSelectedText().
Under OS X the markup string was returned, unlike in all the other ports,
resulting in a unit test failure, fix this.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74540 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-16 14:10:14 +00:00
Stefan Csomor
c93a9c50a5 never return negative client sizes, fixes #15338
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74538 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-16 05:13:35 +00:00
Stefan Csomor
f197e6520a keeping selected page, fixes #15334
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-15 17:31:25 +00:00
Stefan Csomor
f2d8a2767e making sure images are in synch with the pages
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-15 16:36:20 +00:00
Vadim Zeitlin
a94529575a Add wxUSE_PREFERENCES_EDITOR and the corresponding configure option.
This was somehow forgotten when wxPreferencesEditor was added.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-15 15:14:59 +00:00
Vadim Zeitlin
ccf8bf20ca Fix new wxExecute() code compilation with wxUSE_CONSOLE_EVENTLOOP==0.
Nothing is going to work without the console apps/base traits support for the
event loop but at least make it compile.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74531 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-15 15:14:53 +00:00
Vadim Zeitlin
4ec2eca1e8 Fix wxGTK compilation in wxUSE_MENUS==0 case.
Add missing check for it to wxWindow::DoFindFocus().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74530 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-15 15:14:49 +00:00
Vadim Zeitlin
9031011cde Don't use images in wxToolBar with wxTB_NOICONS in wxOSX.
This results in asserts when adding items without bitmaps, but this should be
allowed when using wxTB_NOICONS.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-15 01:32:03 +00:00
Vadim Zeitlin
14619f10b0 Support using GetTextExtent() with empty string to get descent in wxOSX.
Allow measuring the descent and external leading of an empty string by
measuring just a space instead in wxOSX. This makes the behaviour more
consistent with wxMSW and makes the unit test added in r74464 pass under OS X
too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74524 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-15 01:31:56 +00:00
Vadim Zeitlin
b4123b5b9d Suppress harmless clang 3.3 warning about unused wxMessageOutputBest field.
Clang detects that a class member is unused (under non-Windows systems) which
is quite impressive but not really useful in this particular case, so suppress
this warning by "using" it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74519 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-15 01:31:36 +00:00
Vadim Zeitlin
70a5b9059e Fix error checking in wxFileSystemWatcher::Remove() under OS X.
The boolean return value was compared with -1 which was always false.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74518 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-15 01:31:32 +00:00
Vadim Zeitlin
f46e6a1ef9 Make wxMSW wxSpinCtrl "not enough space" messages more helpful.
And also less annoying: remove the messages from DoMoveWindow() which could be
given during resizing but not necessarily corresponded to the final control
size.

And give more details about which control is not being given enough space when
a too small size is given in the ctor.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74516 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-14 15:45:00 +00:00
Vadim Zeitlin
a68a361276 Fix crash in docview code if view initialization failed.
The change of r71371 resulted in using the already destroyed (implicitly, done
as part of destroying the wxView that failed to initialize) wxDocument in
wxScopeGuard destructor.

Avoid this and make the old (i.e. pre-r71371) code exception safe while
keeping its semantics exactly, i.e. only delete all views if the document
still exists.

Also add a comment explaining what's going on here because the ownership rules
in docview code are frankly crazy.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74515 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-14 15:26:36 +00:00
Stefan Csomor
44c8e75ba9 support for @2x notation for wxBITMAP_TYPE_PNG (non-resource) on retina displays
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-14 11:16:32 +00:00
Vadim Zeitlin
d439c2517e Remove the long obsolete and unused since 2.7.0 __WIN95__ define.
Don't confuse things by defining it unnecessarily.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74507 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-13 23:23:19 +00:00
Vadim Zeitlin
b8d8362ca0 Use wxNotebook background colour for the tab row background in wxMSW.
The free space near the tabs was always filled with the default light grey
colour, use wxNotebook background colour itself to fill it now.

Do it by changing the code in wxNotebook::OnPaint() to use the background
colour brush and ExtFloodFill() to paint over the default grey, instead of the
patterned background brush which is supposed to be used for the pages area
only and not for the tabs and which was not even taken into account anyhow as
the default window proc erases the entire contents of the DC we pass to it
anyhow (at least in the default top-aligned tabs case).

Also inherit the background colour from parent by default now, this ensures
that wxNotebook blends with its parent when its background colour has been
explicitly set by default, without the need to call its SetBackgroundColour()
explicitly.

See #13745.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-13 23:23:08 +00:00
Dimitri Schoolwerth
368160e3dc deleted svn:executable property from src/expat/ files that don't need it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74501 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-13 16:28:45 +00:00
Vadim Zeitlin
cd709fcebc Fix harmless MinGW warning in wxMSW wxListCtrl code.
Add an explicit cast to WPARAM because MinGW headers don't do it for us (even
though they should).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-12 14:12:44 +00:00
Vadim Zeitlin
e8823fa8cc Fix harmless unused parameter warning in !wxUSE_GRAPHICS_CONTEXT build.
Rich tooltip tip kind is unused as no tip is drawn in this case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-12 14:12:41 +00:00
Vadim Zeitlin
1b48beaaf0 Fix wrong return value from wxWebViewIE::Find() in 64 bit build.
Using wxNOT_FOUND and an unsigned size() return value in the same operator ?:
resulted in wxNOT_FOUND being converted to an unsigned size_t type and while
converting it back to (signed) long worked in 32 bit builds where long and
size_t have the same size, it was broken in 64 bit builds where their sizes
are different.

Thanks g++ for catching this one.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74493 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-12 14:12:38 +00:00
Vadim Zeitlin
2aa54d47d6 Fix warnings about implicit float or double to int conversions in wxMSW.
Make the conversions explicit as these warnings are harmless.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74491 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-12 14:12:31 +00:00