Commit Graph

15599 Commits

Author SHA1 Message Date
Vadim Zeitlin
e0e4b2b0e9 Add a wxHtmlTag helper parsing both absolute values and percents.
This allows to avoid some code duplication in different handlers.

Closes #14868.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73142 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-08 00:37:21 +00:00
Vadim Zeitlin
cd41ef6f51 Strip EOL characters from wxStyledTextCtrl::GetLineText() return value.
For consistency with all the other wxTextCtrl-like classes, the value returned
by this method must not include line terminator characters (like '\n'). Notice
that Scintilla-specific GetLine() does still include them, for consistency
with the Scintilla API itself.

Closes #13646.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73140 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-08 00:37:13 +00:00
Vadim Zeitlin
e0fddcefb6 Catch attempts to create a window with itself as parent.
This doesn't happen often but when it does, the results are catastrophic and
not always easy to debug, so try catch this as soon as possible.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73139 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-08 00:37:10 +00:00
Julian Smart
c4168888e3 wxRTC text box layout fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73133 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-05 16:23:12 +00:00
Vadim Zeitlin
739c5499fc Compilation fir for VC6 after r73124.
VC6 doesn't have __debugbreak().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-04 12:28:28 +00:00
Vadim Zeitlin
55fd62c1e3 Open debugger at the location of failing assert, if possible.
Break into the debugger in the function containing the assert that failed
instead of inside wxWidgets assert handler which is several (~8) levels below
the last line of the user code. This is much more useful in practice and also
less confusing.

Currently this only works for MSVC as the other compilers don't have any
__debugbreak intrinsice equivalent.

Also update the except sample to test wxTrap() directly too.

Closes #11184.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73124 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-04 00:39:29 +00:00
Paul Cornett
f3ddefc1ad Remove SashHitTest() "tolerance" parameter
Mouse events (LeftDown in particular) will only occur if the mouse is over the
sash, so it does not make sense to have a fudge factor


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73111 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-03 18:14:55 +00:00
Vadim Zeitlin
5b82415eba wxGTK linking fix after r73102.
Remove SendSelectionChangedEvent() declaration, it's now in the base class.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73107 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-03 00:34:28 +00:00
Vadim Zeitlin
65676a2882 Make wxChoice and wxComboBox behaviour same as in native controls in wxMSW.
Keep the item selected from the drop down using keyboard when switching away
from the control by pressing TAB: although this generates CBN_SELENDCANCEL
notification, the selection is actually kept by the native controls in this
case, so don't reset it ourselves -- even though it makes sense, it makes wx
applications behave differently from the native ones.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73103 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-02 23:49:25 +00:00
Vadim Zeitlin
7bc740719c Add wxControlWithItems::SendSelectionChangedEvent() helper.
Reuse the same event generation code for wxChoice in wxMSW, wxGTK and wxOSX
and also wxComboBox in wxMSW and wxGTK instead of duplicating it (incompletely
and so partially incorrectly in wxOSX case).

This is just a refactoring so no changes in behaviour.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73102 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-02 23:48:59 +00:00
Vadim Zeitlin
4d3845c073 Avoid using "do { ... } while ( wxFalse )" pseudo-loop.
This loop can't be optimized away by the compiler because wxFalse is an extern
variable which can't be known to be always false. Additionally, this creates
many false positives from Coverity as it assumes that the loop can be executed
more than once.

Define wxSTATEMENT_MACRO_BEGIN/END macros abstracting the exact solution used
and replace wxFalse with "(void)0, 0" for now as this seems to placate MSVC
(which warns about using a bare "0" as a condition) while still allowing the
loop to be completely optimized away.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73101 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-02 23:48:36 +00:00
Paul Cornett
b3ee9f4d2e remove unnecessary include of wx/cairo.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73097 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-02 03:35:37 +00:00
Paul Cornett
9f692b010e Remove nearly empty wx/cairo.h header
It does so little now it's not worth having. And it should not have been a public header.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73096 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-02 02:28:48 +00:00
Paul Cornett
8c1c11d689 declare wxQsort in vector.h as well as utils.h to work around circular header dependency mess
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73058 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-29 07:53:21 +00:00
Stefan Csomor
8e64b8fe6e adding some additional fixes for programmatic selection handling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73053 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-28 20:57:59 +00:00
Vadim Zeitlin
d3feb55c49 Add "rect" paramerer to wxRichToolTip::ShowFor().
Allow to show the tooltip at the exact specified position instead of placing
it automatically.

Closes #14862.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73050 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-28 14:18:17 +00:00
Vadim Zeitlin
8f2a8df48f Compilation fix for wxDocManager after r73004.
Define GetXXXVector() methods after all the classes are fully declared to
ensure that static_cast<> inside wxList::AsVector() they use compiles with the
OpenVMS compiler.

See #14814.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73048 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-28 14:17:30 +00:00
Stefan Csomor
1e70e497e2 supporting selection methods when not focused, closes #1480
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73046 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-28 08:51:56 +00:00
Stefan Csomor
3af58289f5 support for simulating focus events since not all controls can be focused
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73044 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-27 19:09:41 +00:00
Stefan Csomor
96943967a5 workaround, see #14856
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73041 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-27 08:29:24 +00:00
Paul Cornett
7af131ab0e disconnect "toggled" signal in dtor when style has wxALIGN_RIGHT
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73027 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-26 18:30:08 +00:00
Vadim Zeitlin
f0facad09d Disable CallAfter() for MSVC 7 too, it can't compile this code.
It was already disabled for VC6 but VC7 doesn't compile this code neither, so
disable it for this compiler as well.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73025 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-26 15:51:04 +00:00
Vadim Zeitlin
e4f3b467b8 Bracket vararg macro definition with wxHAS_VARIADIC_MACROS.
This should fix tests compilation with VC6.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73024 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-26 15:50:37 +00:00
Vadim Zeitlin
754afd1061 Fix warnings about using type attribute on forward declaration.
This results in many, many warnings in OS X build.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73020 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-26 13:13:47 +00:00
Paul Cornett
1897abe1d8 avoid functions deprecated in GTK3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73013 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-25 03:41:42 +00:00
Paul Cornett
7fff16b863 Simplify GetDefaultAttributesFromGTKWidget() by passing the widget to use,
rather than a pointer to a function to create the widget


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-25 02:23:34 +00:00
Vadim Zeitlin
e758b8f741 Use idle time menu updating when using global menu bar in wxGTK.
We don't get wxEVT_MENU_OPEN events when using the global menu bar so don't
rely on them for updating the menu items status and fall back to idle time
menu updating if the global menu bar is used.

This required changing wxUSE_IDLEMENUUPDATES tests from compile- to run-time
ones.

Closes #14302.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73009 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-25 00:15:49 +00:00
Vadim Zeitlin
93c609c737 Add wxApp::GTKIsUsingGlobalMenu() helper to wxGTK.
This allows to check whether the global menu is being used and will be mostly
useful for working around various bugs/problems uncovered by it.

See #14302.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73008 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-25 00:15:26 +00:00
Vadim Zeitlin
288de46cb2 Blind compilation fix for VC6 after r73004.
Define wxDocTemplateVector for VC6 too, it's used in docview.cpp.

Also wrap too long lines.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73006 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-24 23:01:45 +00:00
Paul Cornett
da63066b65 silence GCC warning "enumeral and non-enumeral type in conditional expression"
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73005 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-24 21:49:04 +00:00
Vadim Zeitlin
93d0805b35 Add wxDocManager::Get{Views,Documents,Templates}Vector().
Add accessors returning more convenient wxVectors to supplement the existing
ones giving access to internally used wxLists.

Closes #14814.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73004 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-24 17:37:12 +00:00
Vadim Zeitlin
102540a046 Add wxList::AsVector<>() helper.
This can be useful in legacy code using wxList to progressively replace it
with wxVector.

See #14814.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73003 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-24 17:36:44 +00:00
Vadim Zeitlin
84523830d5 Don't include wx/utils.h from wx/vector.h.
This will allow to include wx/vector.h from wx/list.h which is itself included
from wx/utils.h by breaking this circular dependency.

Don't use wxMin(), defined in wx/utils.h, in order to do this.

See #14814.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73002 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-24 17:36:19 +00:00
Stefan Csomor
395506ea99 support for custom app controllers, override OSXCreateAppController in wxApp subclass
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72999 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-23 19:02:01 +00:00
Vadim Zeitlin
3c3b6f6063 Add possibility to delay showing wxRichToolTip.
Optionally show the tooltip after a delay instead of doing it immediately when
Show() is called.

Closes #14846.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72997 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-23 14:32:15 +00:00
Vadim Zeitlin
40aa1a7e60 Implement GetSizeFromTextSize() for wxSpinCtrl.
Implement it for the native MSW and GTK versions and the generic one used in
the other ports and also for wxSpinCtrlDouble under MSW.

Also test this function in the spin page of the widgets sample.

Closes #14840.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72995 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-20 12:49:53 +00:00
Vadim Zeitlin
29604c85d6 Make wxSpinCtrlGenericBase a wxCompositeWindow.
This takes care of propagating methods setting fonts and colours to the
subwindows automatically, so that setting font for the generic wxSpinCtrl now
works, unlike before.

Closes #14839.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72994 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-20 12:49:29 +00:00
Vadim Zeitlin
a0e5592007 Revert all wxNOEXCEPT-related changes.
This reverts r72978, 72984, 72989 and 72992. Do not use wxNOEXCEPT for
wxTextCtrl dtor as this breaks compilation of any user-defined classes
inheriting from it unless they use wxNOEXCEPT as well and the benefits
(fixing a harmless warning for the niche ICC compiler) are just not worth
the compatibility breakage.

See #14826.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72993 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-20 12:49:03 +00:00
Vadim Zeitlin
c71b5269df Add wxTL_NO_HEADER style to wxTreeListCtrl.
Closes #14838.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72990 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-19 18:07:55 +00:00
Vadim Zeitlin
092e08a844 Add wxFSW_EVENT_UNMOUNT wxFileSystemWatcher flag and implement it for Linux.
This flag generates the corresponding event when the file system containing
the watched directory is unmounted. Currently it is only implemented for
Linux where unmounting now generates this event instead of an error.

Closes #14834.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72987 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-19 12:52:18 +00:00
Vadim Zeitlin
24f54e45dc Add wxNOEXCEPT to all wxTextCtrl dtors.
Fix compilation with some compilers after r72978 which added wxNOEXCEPT to
wxTextCtrlBase dtor and wxTextCtrl dtor in wxMSW but not in all the other
ports.

See #14826.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72984 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-19 11:53:49 +00:00
Vadim Zeitlin
0508392167 Fix path returned from wxGTK wxFileDialog too.
This is similar to the fixes to wxDirDialog in r72779.

Closes #14786.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72979 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-17 23:56:47 +00:00
Vadim Zeitlin
1d9f819c69 Add wxNOEXCEPT and use it for std::streambuf-derived classes.
This fixes warnings from Intel compiler about overriding function using a
different exception specification than the base one and also incidentally
provides a handy macro that can be useful in other situations.

Closes #14826.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72978 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-17 23:56:23 +00:00
Vadim Zeitlin
f31f9900e4 Add wxFSW_EVENT_ATTRIB wxFileSystemWatcher flag.
This flag allows to monitor changes to the file attributes, such as file
modification time.

This patch adds the flag, support for it under Linux and the corresponding
modifications to the sample and the test suite.

Closes #14833.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72977 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-17 23:56:00 +00:00
Vadim Zeitlin
fce37f88fc Fix typo in include/wx/generic/private/richtooltip.h header guard.
A wrong symbol was being defined.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72976 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-17 23:55:35 +00:00
Steve Lamerton
fc95c9f7ab Fixed unused parameter warnings for webview on OSX.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72965 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-17 13:34:09 +00:00
Vadim Zeitlin
e2ac737fba Implement wxComboCtrl::GetSizeFromTextSize().
Improve calculation of wxComboCtrl best size which doesn't work correctly for
non-default fonts as shown by r72935. It is still not perfect but better now.

Closes #14825.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72955 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-14 13:48:23 +00:00
Vadim Zeitlin
aa24f946c6 Implement DoGetSizeFromTextSize() for wxMSW wx{Choice,Combobox,TextCtrl}.
Refactor and improve the existing DoGetBestSize() implementations to use
DoGetBestSize().

Closes #14816.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72954 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-14 13:47:59 +00:00
Vadim Zeitlin
df74e2d251 No changes, just refactor wxMSW wxComboBox code calling GetComboBoxInfo().
Move the code dynamically loading this function to the base wxChoice class to
make it possible to use it from there in the upcoming commit.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72953 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-14 13:47:36 +00:00
Vadim Zeitlin
b51014176a Don't call setlocale("") on startup by default any longer.
This undoes the changes of r44773 because calling setlocale() resulted in C
locale being set differently from C++ locale which was confusing and led to
huge slowdowns in any code using std::stream with at least MinGW. And setting
the C++ locale to be the same, as r72719 tried to do, doesn't seem to be
practical as it results in immediate crashes under OS X and MinGW when used
under XP.

Do provide wxApp::SetCLocale() helper to explicitly do what was previously
done implicitly, even though currently it is a trivial wrapper for setlocale()
and we don't even need to call gtk_set_locale() as it has never done anything
else and is deprecated since GTK+ 2.24.

Closes #14780.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72951 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-14 13:46:50 +00:00