Commit Graph

14496 Commits

Author SHA1 Message Date
Vadim Zeitlin
cd95f7e65c Add wxPanel::SetBackgroundBitmap().
This method provides a simple way to set a background bitmap without defining
an EVT_ERASE_BACKGROUND handler and, more importantly, one that works
correctly in wxMSW for a window with children as it paints the background of
transparent children too.

Add a test of this method to the erase sample.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67253 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-20 00:00:49 +00:00
Vadim Zeitlin
cf858bab79 Deprecate old style wxPanel ctor taking separate coordinates.
wxPanel had a ctor in very old (wx 1.x-compatible?) style which was marked as
"old" and not documented but not officially deprecated. Do deprecate it now in
view of removing it in later releases.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67252 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-20 00:00:42 +00:00
Vadim Zeitlin
5b87bd6c0b Split wxPanel in wxPanelBase and platform-specific files.
So far we have only wxMSW-specific implementation (and also a trivial
wxUniv-specific one) but it's still tidier to have all platform-specific code
in separate files, especially as we're going to have more of it for wxMSW
soon.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67251 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-20 00:00:38 +00:00
Vadim Zeitlin
0a81f13024 No changes, just refactor wxMSW background brush methods.
Factor out MSWGetCustomBgBrush() from MSWGetBgBrushForChild(). This is useful
as in the vast majority of cases the parent window will want to use the same
background brush for all of its children so it doesn't really care about the
concrete child passed to MSWGetBgBrushForChild() and we can adjust the brush
to the child origin in the common code instead of asking each derived class
overriding MSWGetBgBrushForChild() to do this.

This doesn't change anything but will make the upcoming changes to wxPanel
background painting simpler.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67250 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-20 00:00:29 +00:00
Vadim Zeitlin
6d090da1e9 Document wxPopupTransientWindow.
Also fix a typo in a comment in the real class declaration.

Closes #13044.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67244 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-19 11:57:06 +00:00
Stefan Csomor
d15694e8ca going private with userpane info
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67243 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-19 08:36:23 +00:00
Stefan Csomor
415f4a011a moving userpane attribute into implementation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67233 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-18 15:45:51 +00:00
Dimitri Schoolwerth
a9a4f22953 Set svn properties on various files throughout the repository (skipped docs/ ).
Added missing svn:eol-style (set to native) and svn:keywords (set to Id) properties to c/cpp/cxx/h/mm files.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67232 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-18 15:10:15 +00:00
Stefan Csomor
2275632282 going private for m_peer to give a foundation for better encapsulation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67230 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-18 14:20:12 +00:00
Vadim Zeitlin
37204b5d30 Fix exporting clipboard data to primary selection in wxGTK.
Honour the requested selection in our selection handler instead of always
returning the default one resulting in wrong data being pasted when using
primary selection (e.g. middle clicking).

Closes #12947.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-18 09:16:19 +00:00
Vadim Zeitlin
bd45b3e176 Add wxHtmlHelpController::SetShouldPreventAppExit().
Add a method which can be used to indicate that the help window should prevent
the application from exiting and use it in the help sample to prevent it from
closing prematurely.

Closes #13046.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67228 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-18 09:16:14 +00:00
Stefan Csomor
e71baaa811 calling explicit base class constructor from copy constructor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67215 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-16 10:55:30 +00:00
Stefan Csomor
31c659e82e fixing iphone build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67204 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-15 20:21:39 +00:00
Dimitri Schoolwerth
fdb7d5bbc2 Changed behaviour of wxImageResizeQuality parameter in wxImage.Scale and wxImage.Rescale.
Made the following changes:

* Formerly specifying to resize using wxIMAGE_QUALITY_BICUBIC or wxIMAGE_QUALITY_BILINEAR could result in the ResampleBox method being used. Now always resize with the method that the user actually specified.

* Added wxIMAGE_QUALITY_BOX_AVERAGE to explicitly allow resizing with the ResampleBox method.

* Previously wxIMAGE_QUALITY_HIGH was equal to wxIMAGE_QUALITY_BICUBIC. It has been changed to use wxIMAGE_QUALITY_BOX_AVERAGE when reducing the size of an image and wxIMAGE_QUALITY_BICUBIC in all other cases.

Closes #12845.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67203 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-15 16:42:34 +00:00
Vadim Zeitlin
cb7ef329e7 Fix setting tooltips for generic wxSpinCtrl.
Forward the tooltip set for the control to its subcontrols.

Closes #9817.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67199 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-15 11:10:38 +00:00
Vadim Zeitlin
b95a7c3144 Allow wxThread::Wait() and Delete() to block, even under wxMSW.
Add "wait mode" parameter to these methods which can be used to make them
block even under wxMSW where they currently dispatch messages when called
which can be totally unexpected.

Do keep the old behaviour for compatibility however, although it will change i
3.2.

Closes #12998.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67185 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-14 11:54:32 +00:00
Vadim Zeitlin
fd3a4cb92d Added precision parameter to wxString::From[C]Double().
Optionally support fixed precision in wxString::FromDouble() and FromCDouble()
methods. This is mostly useful for the latter to be able to format numbers in
portable way (using dot as decimal separator) without loss of precision but
also do it for the former for consistency.

Closes #12973.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67181 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-13 13:53:54 +00:00
Stefan Csomor
9d243a476a window level support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67144 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-07 19:04:55 +00:00
Jaakko Salli
52a368fed1 To prevent wxPropertyGrid from stealing frocus from other controls, only let SetFocusOnCanvas() move focus to the main grid 'canvas' if focus was already in on the grid's child controls
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67142 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-07 13:02:33 +00:00
Václav Slavík
adc620811a Don't directly include GTK+ semi-public headers.
Only the main headers (e.g. gtk/gtk.h) should be included and GTK+ 3 is strict about this. Enable compile-time checks for this that work with GTK+ 2.24.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67137 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-06 18:22:28 +00:00
Stefan Csomor
902ddbfd3e support wxWindowDisabler on osx_cocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67129 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-05 12:21:20 +00:00
Vadim Zeitlin
dc90b8d411 Add a dependency of wxUSE_TASKBARICON on wxUSE_MENUS.
PopupMenu() method of wxTaskBarIcon doesn't make much sense without wxMenu.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67128 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-05 11:16:55 +00:00
Paul Cornett
b586d4c7e3 fix Activate signature after r67099
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67120 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-03 17:51:52 +00:00
Vadim Zeitlin
6a219e34a0 Add missing wxUSE_MARKUP checks in wxOSX code.
Don't define wxWidgetImpl::SetLabelMarkup() when wxUSE_MARKUP is off and
definitely don't reimplement it in wxButtonCocoaImpl as this code doesn't
compile without markup support.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67103 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-02 10:15:35 +00:00
Václav Slavík
548fa9c1eb Pass wxRect/wxPoint arguments to wxDataViewCustomRenderer by reference.
Instead of passing them by value, use const reference. This change
is safe to do, because these methods' signatures were different in 2.8
anyhow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67099 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-01 12:16:49 +00:00
Václav Slavík
d2425a43ec Toggle checkboxes in generic wxDataViewCtrl with single click.
Both GTK+ and OS X native controls use single click to toggle
checkboxes, instead of double-click activation used by the generic
version. So does wxCheckListBox on Windows, so make wxDVC
behave the same way.

See #11185.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67094 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-28 21:23:10 +00:00
Václav Slavík
dbc3aec19a Get rid of WXGetAsCustom().
Instead, have WXOnActivate() and WXOnLeftClick() with same signatures as
their public API counterparts and just call Activate/LeftClick() from
them for wxDataViewCustomRenderer.

This accomplishes the same thing, but makes it easier to override
behaviour in wx's internal implementations of renderers.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67093 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-28 21:23:04 +00:00
Stefan Csomor
e878c3477b adding hour constant to carbon build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67091 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-28 19:46:29 +00:00
Stefan Csomor
4c00ce28bd add watch cursor to osx_cocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67086 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-28 13:44:25 +00:00
Stefan Csomor
b59cd6c433 adding taskbar implementation for statusitem (menubar) and dock, fixes #12838
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67084 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-28 10:12:06 +00:00
Stefan Csomor
a5d0c88a85 moving appdelegate declaration to header
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67083 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-28 10:10:08 +00:00
Vadim Zeitlin
036718302c Add a trivial virtual dtor to wxMarkupParserOutput.
This class isn't really supposed to be used polymorphically but add a virtual
dtor just to suppress g++ warning about it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67076 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 18:36:52 +00:00
Vadim Zeitlin
c21a9bda7a Replace template function with template class to placate VC6.
VC6 has very poor support for template functions and in particular doesn't
understand explicitly choosing the type of the function to call so replace
template DoApplyToFont() function with FontModifier template class in
wxMarkupParserAttrOutput implementation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67073 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 14:01:36 +00:00
Vadim Zeitlin
f672c96951 Add markup support to wxOSX/Cocoa wxStaticText and wxButton.
Add wxMarkupToAttrString helper that converts wx markup to OS X attribute
strings and use it in wxStaticText and wxButton.

This required adding new SetLabelMarkup() method to wxWidgetCocoaImpl, it
seems to make sense to have it there as it could be implemented by more
controls in the future.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67069 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:48:46 +00:00
Vadim Zeitlin
83586c2aae No real changes, just make wxColour::OSXGetNSColor() const.
There is no reason to not allow calling this method on const wxColour objects.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67068 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:48:42 +00:00
Vadim Zeitlin
2814e718ba Add markup support to generic wxStaticText implementation.
wxMarkupText allows to easily support markup in the controls that we draw
ourselves so use it in wxGenericStaticText to have a possibility to use
markup on all platforms, even those where there is no native markup support in
wxStaticText itself.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67067 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:48:38 +00:00
Vadim Zeitlin
de1cc37868 Implement support for markup labels for wxGTK wxButton.
Simply directly set the markup for the GtkLabel used by GtkButton internally.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67066 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:48:30 +00:00
Vadim Zeitlin
95912bddde Add markup support to wxMSW wxButton and show it in the sample.
Use recently added wxMarkupText to implement support for markup in wxMSW
wxButton.

Update the button page of the widgets sample to show markup support.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67065 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:48:26 +00:00
Vadim Zeitlin
c27126c7bc Add generic wxMarkupText class implementing handling of markup.
wxMarkupText is a private class that implements generic handling of markup
strings, i.e. can measure them and render them onto a wxDC.

This class will be used for markup support in wxMSW wxButton.

Also add wxMarkupParserAttrOutput which will be useful for other wxMarkupText
implementations.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67064 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:48:21 +00:00
Vadim Zeitlin
e29bf4b056 Add wxDC::GetFontMetrics() and implement it for wxMSW.
Add a new wxDC method allowing to retrieve the font characteristics not
available from GetTextExtent(), notably the internal leading (and also the
average font width).

Currently this is implemented for wxMSW only, the internal leading is always 0
in the other ports.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67063 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:48:13 +00:00
Vadim Zeitlin
f5bdfc69a5 Add wxUSE_MARKUP and wrap SetLabelMarkup() in it.
Make it possible to disable all the new markup-related code by setting
wxUSE_MARKUP to 0 in setup.h or using configure --disable-markup option.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67062 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:48:07 +00:00
Vadim Zeitlin
98977bf454 Initialize wxButton::m_authNeeded in ctor and not Create() in wxMSW.
Ensure that the member is always initialized as calling GetAuthNeeded() for a
default-constructed button would access a non-initialized variable before.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67058 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:47:43 +00:00
Vadim Zeitlin
6af59fe7f4 No changes, just do wxButton fields initialization in Init() in wxMSW.
Add a helper function called from ctors and initialize m_imageData in it
instead of doing it in each ctor -- this will be more important when we add
more wxButton members.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:47:36 +00:00
Vadim Zeitlin
3b5651af39 No changes, just move wxMSW wxButton::MakeOwnerDrawn() around.
Put this method in the existing private section at the end of the class
instead of having an extra access specifier just for it for some reason.

Also add a comment explaining what it does and when is it used.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67056 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:47:31 +00:00
Vadim Zeitlin
3da9cffc79 Replace wxST_MARKUP style with wxControl::SetLabelMarkup().
This is an incompatible change which removes the wxStaticText-specific
wxST_MARKUP style and adds wxControl::SetLabelMarkup() replacing it.

It doesn't actually change anything yet but it simplifies wxStaticText code a
lot by getting rid of many markup-related functions in it which had to behave
differently depending on whether wxST_MARKUP was used or not and also paves
way for adding markup support for the other controls in the future.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:47:26 +00:00
Vadim Zeitlin
19da7aaa9b Add wxFont::SetSymbolicSize() and SetSymbolicSizeRelativeTo().
These methods allow to set the font size using CSS-like absolute size
specifications.

Notice that the factors used here are incompatible with (but better than) the
ones used in wxBuildFontSizes() in src/html/winpars.cpp. In the future it
would be nice to reuse the new wxFont functions in wxHTML code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67052 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:47:05 +00:00
Vadim Zeitlin
801423ee34 Add wxFont::Underlined() and MakeUnderlined() methods.
Add two more helpers for consistency with the existing methods such as Bold()
and MakeBold().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67051 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:46:59 +00:00
Vadim Zeitlin
0d0fdaacf8 Use wxMarkupParser in wxStaticText for dealing with markup.
No real changes, just remove markup parsing code from wxStaticText
implementation and reuse wxMarkupParser methods there instead.

This makes include/wx/private/stattext.h file unnecessary as it is used only
in a single place now so remove it and move its remaining contents to
src/gtk/mnemonics.cpp.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67050 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:46:55 +00:00
Vadim Zeitlin
5eb051a73b Add wxMarkupParser::Strip().
This helper function strips all markup tags from the string (and also decodes
the XML entities in it).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67049 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:46:48 +00:00
Vadim Zeitlin
9bb9964e26 Add a class for parsing simple markup.
This code is not used anywhere yet, this commit only adds the parser for the
markup and the related classes as well as the corresponding unit test.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67048 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 12:46:42 +00:00