Commit Graph

14921 Commits

Author SHA1 Message Date
Stefan Csomor
ad71431be3 deactivate wxUSE_TIMEPICKCTRL for iphone
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-25 19:29:12 +00:00
Paul Cornett
3ec3c160bc fix wxMDIChildFrame after r69390 and r69468, TLW realization code should not be called, fixes #13593
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69528 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-25 16:56:57 +00:00
Stefan Csomor
c2ba305910 fixing iPhone build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69524 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-25 11:51:08 +00:00
Julian Smart
75936ec600 Applied patch #13534: wxRichTextCtrl: Make it easier to use TextEffects flags
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69512 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-22 13:19:40 +00:00
Václav Slavík
fb57a95e70 Move wxDataViewCustomRendererBase::ActivateCell() to datavcmn.cpp.
It triggered deprecation warnings in user code when it was inline.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69498 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-21 16:34:32 +00:00
Vadim Zeitlin
d0da5061ce Dirty hack to allow generic wxDatePickerCtrl to compile under MSW.
Don't make wxDateTimePickerCtrl methods pure virtual in its MSW-specific
version as the generic wx{Date,Time}PickerCtrl implementations not using these
methods also inherit from it currently. This is wrong and would need to be
fixed properly later but for now this hack at least allows the generic classes
to compile and, apparently, work under MSW again.

Remove the equally dirty hack used in the generic wxTimePickerCtrl to allow it
to compile which is not needed any more because this one replaces it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-20 16:45:48 +00:00
Vadim Zeitlin
26d863e2b2 Fix wxRichToolTip compilation under MSW without PCH and recent SDK headers.
Include the headers normally included from wx/wxprec.h.

Also define the stuff missing from the headers of some compilers (notably
MinGW but probably also VC6) ourselves.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69488 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-20 16:20:19 +00:00
Robin Dunn
6e6f074b45 Delegate wxGraphicsBitmap::ConvertToImage to the renderer so we do not end up with more than one definition of the method when building with both the GDI+ GC and the Cairo GC enabled at the same time.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69485 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-20 04:49:12 +00:00
Vadim Zeitlin
c9b7d15bbb Fix PCH-less compilation of wx/richtooltip.h too.
We need to include the full wxColour declaration instead of just forward
declaring it as we use its ctor for a default value of a parameter.

Also include wx/defs.h to ensure that wxUSE_RICHTOOLTIP is defined before
testing it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69480 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-19 21:53:10 +00:00
Václav Slavík
dc73d7f5d4 Cleanup of wxDataViewCtrl cell activation code.
Fix confusion of what cell activation is and inconsistence with native
handling in GTK+. Document the distinction between activating (~
editing) a cell and activating (double-clicking) the whole item.

Deprecate wxDataViewCustomRenderer::LeftClick() and Activate() methods,
replace them with single ActivateCell() that is called for both kinds of
activation.

Fix implementations so that ActivateCell() is not called on
double-click, when it shouldn't, and vice versa: don't send
wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED for cell activation.

Partially reverts r67099 -- restores old 2.9 signatures of compatibility
LeftClick() and Activate() methods.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-19 16:20:17 +00:00
Václav Slavík
4a99d59750 Move InitMouseEvent<T>() to wx/gtk/private/event.h.
It is needed in wxDataViewCtrl now too, in addition to wxWindow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69472 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-19 16:20:10 +00:00
Václav Slavík
1d3a930e82 Use wxDatePickerCtrl in wxDataViewDateRenderer.
Inline editor is more in line with the behavior of other editors,
requiring double click to edit values was unexpected.

Also merge the two almost-but-not-quite identical implementations in
generic and GTK+ versions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-19 16:20:06 +00:00
Václav Slavík
31af22fa2d Allow using wxCompositeWindow<T> as wxDataViewCtrl inline editor.
wxDVC inline editing code attaches some event handlers to the editor
control; most importantly, it watches for Enter key and for focus
changes. If the editor control is a composite window, these events occur
in a sub control and never reach wxDVC code.

Fix this by forwarding events to the main window of the composite
control. Only events required by wxDVC are implemented for now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-19 16:20:01 +00:00
Vadim Zeitlin
83ed867e70 More fixes for PCH-less compilation.
Include declarations for or forward declare more classes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-19 10:58:59 +00:00
Vadim Zeitlin
e520c3f75c Added wxRichToolTip class.
It can be used to show more customizable tooltips than the native wxToolTip
but at the price of using generic implementation in some cases (actually
almost always now, with the exceptions of text control tooltips under MSW).

Extra features include:
 - The balloon-like tooltip form.
 - Possibility to show an icon.
 - Title display in a different form.

More customization could be added later. It should be also possible to fully
implement this class natively under MSW.

Update the dialogs sample to show the rich tooltips in action.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-18 21:57:02 +00:00
Vadim Zeitlin
46ea442ca2 Added wxNonOwnedWindow::SetShape(wxGraphicsPath).
TODO: Document.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-18 21:56:52 +00:00
Vadim Zeitlin
265dd23241 Don't create a valid wxRegion when using default ctor in wxOSX.
Default constructing a wxRegion created an object that unexpectedly passed
IsOk() test in wxOSX. This was completely unexpected so don't do this and
leave default constructed wxRegion invalid, as in the other ports.

Update DoCombine() to be able to deal with the case of an invalid source
region in a way consistent with the other ports.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-18 21:56:40 +00:00
Vadim Zeitlin
63415ba9f5 Don't interpret '&' specially in wxTextWrapper.
wxTextWrapper is used for the multiline text for which it doesn't make sense
to use mnemonics so don't interpret '&' specially in the text used with it.

Doing this also allows to remove the hack used in wxDialog::CreateTextSizer()
to deal with it that was used so far.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-18 21:56:36 +00:00
Vadim Zeitlin
b9ca72aa7b No changes, just fix typo in a comment following an #endif.
The closing comment used wrong symbol.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-18 21:56:29 +00:00
Vadim Zeitlin
e33cedf4c6 Explicitly use _stati64() with MinGW-W64.
Although this compiler provides underscore-less versions of all POSIX
functions, this one only exists in a version with underscore, so use it to fix
compilation with it in ANSI build.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69447 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-17 22:26:13 +00:00
Vadim Zeitlin
164db177a2 Don't use wxMSW version of wxNonOwnedWindow at all under WinCE.
This class becomes completely trivial under WinCE as its functionality
(setting the window shape) can't be implemented under this platform, so just
don't compile it at all there.

This both (slightly) reduces the amount of #if checks and should make the code
(slightly) smaller.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69434 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-15 00:20:56 +00:00
Vadim Zeitlin
a82afab363 Implement SetShape() for wxPopupWindow in wxGTK.
Move SetShape() implementation from wxTopLevelWindow to wxNonOwnedWindow so
that wxPopupWindow, which also inherits from the latter, could use it as well.

This makes it possible to have popup windows with irregular shapes in wxGTK as
well as in wxMSW and wxOSX.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-13 12:45:56 +00:00
Vadim Zeitlin
612515aff1 Added wxWindow::GTKHandleRealized() virtual method to wxGTK.
This allows to easily do something in the derived classes when the widget is
realized, without having to deal with GTK+ signals. In particular, get rid of
another "realize" signal handler in wxTopLevelWindow and simply override this
virtual method there.

It also incidentally makes the callback code simpler as the window doesn't
need to be constantly dereferenced.

This shouldn't result in any changes to behaviour.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69390 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-12 16:22:14 +00:00
Vadim Zeitlin
f854ecb5a8 Move wxUSE_GUI definition from chkconf.h to the top of platform.h.
This avoids warnings about wxUSE_GUI not being defined in Mac tests in
wx/platform.h which are now (since r69387) done before wx/chkconf.h inclusion.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69389 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-12 11:20:15 +00:00
Stefan Csomor
4b21235820 moving defines in front of the setup.h to make webkit definitions in setup.h work for Xcode builds as well
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69387 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-12 08:57:40 +00:00
Vadim Zeitlin
a378977021 Added missing WXDLLIMPEXP_CORE to wxNonOwnedWindowBase declaration.
This fixes (harmless) MSVC warning C4275 about inheriting DLL-exported class
from a non-DLL-exported base class.

Closes #13554.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69381 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-11 17:56:57 +00:00
Vadim Zeitlin
bbcf2821a1 Move SetBackgroundBitmap() from wxPanel to new wxCustomBackgroundWindow.
wxCustomBackgroundWindow is a new class allowing to set a custom bitmap for
the background of any window. The relevant code was mostly moved from wxPanel
to which it was added only recently (before 2.9.2) making it unnecessary to
preserve compatibility.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-11 17:07:43 +00:00
Vadim Zeitlin
7652eada41 Fix warnings about wxOSX_USE_CARBON being undefined when using g++.
Test for __WXMAC__ before testing wxOSX_USE_CARBON to avoid -Wundef warnings
from g++ in non-Mac builds.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69367 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-10 17:12:42 +00:00
Vadim Zeitlin
5bd0ee9966 Move wxTopLevelWindow::SetShape() down to wxNonOwnedWindow.
Also add wxNonOwnedWindow for wxMSW (which previously simply typedef'd it to
wxWindow) and document this class now that it provides some user-visible
functionality.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69364 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-10 10:53:23 +00:00
Vadim Zeitlin
fa378d369f Allow creating wxGraphicsFont without using wxFont.
This is mostly important to allow using wxImage-based wxGraphicsContext
without requiring X server connection under Unix: as wxFont can't be used
without X server, we needed another way to create wxGraphicsFont in this case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69360 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-09 22:07:29 +00:00
Vadim Zeitlin
0a470e5ea5 Allow creating wxGraphicsBitmap and wxGraphicsContext from wxImage.
Provide a way to use wxGraphicsContext to draw on wxImage.

This is implemented internally by drawing on wxGraphicsBitmap which can be now
also created from wxImage.

Add a test of the new functionality to the image sample.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69358 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-09 22:07:22 +00:00
Vadim Zeitlin
08b2d55fdf Added wxGraphicsBitmap::ConvertToImage().
Allow to convert wxGraphicsBitmap directly to wxImage, without passing by
wxBitmap.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69353 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-09 22:07:07 +00:00
Vadim Zeitlin
0419fee9c3 Implement EVT_MOUSE_CAPTURE_LOST handling for wxPopupTransientWindow.
Handle mouse capture lost events instead of polling for the mouse status in
EVT_IDLE handler. This is not only more efficient but also catches the cases
when the capture was lost before OnIdle() could be executed which could result
in assertion failures and, before the previous commit, even crashes.

The idle-time code is still used for wxOSX/Carbon because it doesn't seem to
generate mouse capture loss events currently -- but should be removed as soon
as support for these events is added.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69350 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-09 22:02:05 +00:00
Vadim Zeitlin
f9e19204bf Implement delayed destruction for wxPopupTransientWindow.
Windows of this class can be destroyed at any moment, even while some events
are still being processed, so delay the real destruction until we can be sure
that it's safe to delete the window.

This fixes problems (crashes due to dangling pointers) when the object is
deleted from the overridden OnDismiss(), for example.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69349 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-09 22:02:02 +00:00
Vadim Zeitlin
4506b42ce9 Fix inheriting parent background colour in wxPanel in wxMSW.
wxPanel didn't inherit the background colour set for its parent any more in
wxMSW because its HasTransparentBackground() didn't return true unless the
panel was a child of wxNotebook. This was wrong because not only themed
notebook background should be inherited but also any solid background
explicitly set for a panel parent.

Fix this by returning true from MSWHasInheritableBackground(), which is used
by wxPanel::HasTransparentBackground() under MSW, if the window has an
explicitly set and inheritable background colour.

Closes #13487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-09 22:01:57 +00:00
Steve Lamerton
a1a1790666 Reuse existing MinGW defines for all compilers that are missing them.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-09 10:45:16 +00:00
Steve Lamerton
8acbf08b2a Fix various GCC warnings in wxWebView.
Closes #13532

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69318 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-06 17:55:43 +00:00
Steve Lamerton
f2ae0da1b5 Delete the filesystem used by wxWebViewArchiveHandler when we are done with it. Fixes a memory leak.
Closes #13500

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69316 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-05 21:21:51 +00:00
Steve Lamerton
3949871086 Store a pointer to each ClassFactory so we can correctly release it when the browser closes. This fixes a few more memory leaks.
See #13500

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-05 17:23:51 +00:00
Steve Lamerton
ad410224a3 Add new definitions required by MinGW for webview. Re-enable custom schemes as a result.
See #13509

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69292 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-02 16:20:15 +00:00
Steve Lamerton
2112ca2d61 Remove copied class definitions from missing.h. Disable custom scheme handling under MinGW as it lacks the correct definitions.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-02 12:21:22 +00:00
Vadim Zeitlin
84ba6659ad Fix setting tooltips for wxSearchCtrl and other composite controls.
Propagate SetToolTip() call on wxCompositeWindow to all subwindows to ensure
that the tooltip is shown for all parts of the window.

Notice that this is still not ideal as the tooltip temporarily disappears when
mouse moves from one subwindow to another, instead of staying in place as it
does with "monolithic" windows and ideally we should find a way to avoid it
(should be possible at least under MSW with TTM_RELAYEVENT) but for now this
is already much better than nothing.

Closes #13523.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69286 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-02 11:28:54 +00:00
Vadim Zeitlin
2039dd917c Add wxWindowBase::CopyToolTip() method.
This method simply sets the same tooltip for the window but making copy of,
instead of taking ownership of, the wxToolTip passed in.

It's not especially useful on its own but is needed by wxCompositeWindow and
might be handy elsewhere.

See #13523.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69285 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-02 11:28:45 +00:00
Steve Lamerton
873ff54b1f Derive wxAuiNotebook from wxBookCtrlBase. Document wxAuiNotebookEvent which now derives from wxBookCtrlEvent. Update the notebook sample to add wxAuiNotebook as an option.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-02 10:29:00 +00:00
Steve Lamerton
9e0fb96615 Correctly initialise ref count in custom scheme class factory.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69266 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-01 19:22:28 +00:00
Jouk Jansen
df016fc87e updates for OpenVMS
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69241 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-30 14:00:52 +00:00
Jouk Jansen
e26aff5636 Fixes for OpenVMS on IA64
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69226 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-29 13:47:38 +00:00
Vadim Zeitlin
6b9103c67b Added XRC handler for wxTimePickerCtrl.
Add a trivial handler modeled after the existing wxDateCtrlXmlHandler.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69225 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-29 13:43:23 +00:00
Vadim Zeitlin
569c7d8ccb Add wxTimePickerCtrl class.
Implement wxTimePickerCtrl natively for MSW and add a generic implementation
(very loosely based on the original class by Paul Breen) for the other
platforms.

Also update the calendar sample to show the new control.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69224 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-29 13:43:15 +00:00
Vadim Zeitlin
8957e55ed3 Refactor wxDatePickerCtrl to derive from wxDateTimePickerCtrl.
No real changes, just refactor wxMSW wxDatePickerCtrl to allow sharing code
with the upcoming wxTimePickerCtrl class. Even less changes for the other
platforms where wxDateTimePickerCtrl is trivial.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-29 13:43:02 +00:00
Steve Lamerton
e924e848f7 Fix compilation of wxWebView under mingw by adding missing definitions and dynamically loading urlmon.
Fixes #13509

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69209 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-28 14:54:56 +00:00
Vadim Zeitlin
88cb53908a Fix inconsistent DLL export declaration for wxBannerWindowNameStr too.
This variable is defined in "adv" library, not "core".

This is similar to the fix of r69184.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69185 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-23 12:15:58 +00:00
Vadim Zeitlin
6de6ca4c74 Fix inconsistent DLL export declaration for wxTreeListCtrlNameStr.
This variable is defined in "adv" library, not "core".

See #13502.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69184 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-22 12:53:47 +00:00
Vadim Zeitlin
c559c4b3ef Change wxSound ctor from in-memory data to use size_t/void *.
This constructor previously used int and, especially annoyingly, wxByte* for
the data. Use standard void* for untyped binary data instead.

Also document this ctor as it seems to be implemented in all ports.

Closes #13451.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-21 15:08:02 +00:00
Vadim Zeitlin
da2e758f83 Implement sorting in wxTreeListCtrl.
Allow the user to sort the control contents by clicking on the columns with
wxCOL_SORTABLE flag and also provide SetSortColumn() method to sort the
control programmatically.

Also add wxTreeListItemComparator class and SetItemComparator() method to
allow customizing the way the items are compared.

Update the sample to show how to define a custom comparator.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69176 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-21 15:07:53 +00:00
Vadim Zeitlin
15b8afdcb8 Reset previous sort column in generic wxDataViewColumn::SetSortOrder().
The sort indicator on the column previously used for sorting was only reset
when the user clicked on the column header (by wxDataViewHeaderWindow code
that explicitly called wxDataViewCtrl::SetSortingColumnIndex()) but not when
wxDataViewCtrl::SetSortOrder() was called directly.

Fix this and take care of updating everything in SetSortOrder() itself. This
makes the code simpler and also means that calling SetSortOrder() from the
program now works as expected (it resulted in having sort indicators in two
columns at once before).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69175 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-21 15:07:49 +00:00
Vadim Zeitlin
aadbdd1699 Remove wxHeaderColumn::SetAsSortKey() and only use SetSortOrder().
The two member functions, SetAsSortKey() and SetSortOrder(), were doing almost
the same thing but differently and the former was only used in the generic
wxDataViewCtrl implementation and not implemented in the native GTK/OS X one.

Remove SetAsSortKey() entirely and only keep UnsetAsSortKey() which is still
needed by generic/MSW wxDataViewCtrl. But only SetSortOrder() should now be
called to indicate that the column is used for sorting.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69174 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-21 15:07:46 +00:00
Vadim Zeitlin
8148ae02ef Add wxTreeListCtrl::GetView() and GetDataView().
It can be useful to have access to the window used to actually show the items
by wxTreeListCtrl, provide two accessors for m_view: a wxDataViewCtrl-specific
one and a generic one returning just a wxWindow that can be used to keep the
code isolated from wxDataViewCtrl.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-21 15:07:41 +00:00
Vadim Zeitlin
b481194f51 No changes, just extract wxCreateHiddenWindow() declaration in a header.
Add wx/msw/private/hiddenwin.h with wxCreateHiddenWindow() declaration instead
of declaring it manually in all the files using it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69170 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-21 15:07:32 +00:00
Vadim Zeitlin
32a925f832 Change wxDIALOG_NO_PARENT to avoid clash with wxICON_EXCLAMATION.
Use 0x20 (wxAPPLY) instead of 0x100 (wxICON_EXCLAMATION) for
wxDIALOG_NO_PARENT as otherwise using wxICON_EXCLAMATION with wxMessageBox in
wxGTK (and possibly other ports, although not wxMSW which doesn't honour
wxDIALOG_NO_PARENT for message boxes at all) resulted in not using the
specified parent for the message box and, as a side effect, not centering it
on its parent neither.

Closes #13464.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69112 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-17 11:06:11 +00:00
Vadim Zeitlin
88cc66f72d Only define wxUSE_WEBVIEW if wxWebView is really available.
Don't define wxUSE_WEBVIEW in configure if WebKit is not available under Unix
(we should also check for wxUSE_WEBVIEW_IE under Windows later) and add the
check that either wxUSE_WEBVIEW_WEBKIT or wxUSE_WEBVIEW_IE is defined if
wxUSE_WEBVIEW is to wx/chkconf.h.

This makes it possible to just check for wxUSE_WEBVIEW instead of checking for
wxUSE_WEBVIEW && (wxUSE_WEBVIEW_IE || wxUSE_WEBVIEW_WEBKIT) as the code did
previously which was ugly and error-prone.

Also, define wxUSE_WEBVIEW_IE in configure under MSW. Currently this supposes
that the required IE headers/libraries are available which is probably wrong,
we should add checks for them later.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69108 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-16 22:44:17 +00:00
Vadim Zeitlin
32cc8d13b8 Check for wxUSE_WEBVIEW being defined.
All wxUSE_XXX options must be always defined as we test for them with #if and
not #ifdef, so check for this one too for consistency.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69107 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-16 22:44:11 +00:00
Steve Lamerton
882ecaa631 Use integral value for OLECMDID_OPTICAL_ZOOM as we cannot tell if an enum value is already defined or not.
Fixes #13475

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69085 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-14 16:45:50 +00:00
Steve Lamerton
c78da4eb62 Make wxBookCtrlBase::GetSelection virtual, as per the documentation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69082 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-14 08:24:06 +00:00
Steve Lamerton
9d2f31db0c Update wxWebView guards to stop backend compilation when wxUSE_WEBVIEW is 0.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69074 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-12 18:35:39 +00:00
Steve Lamerton
7011055c55 Ensure that we have an available backend for wxWebView compilation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69060 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-11 13:26:24 +00:00
Steve Lamerton
d60b34a413 Update setup files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-11 10:15:28 +00:00
Steve Lamerton
b2b31b87fb Merge the new wxWebView classes from the SOC2011_WEBVIEW branch.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69049 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-10 18:09:12 +00:00
Steve Lamerton
1d156af324 Merge in from trunk r68684 - r69046
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/SOC2011_WEBVIEW@69047 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-10 15:09:22 +00:00
Robin Dunn
01bd848eb9 Enable the HWND of the task dialog to be fetched with GetHandle if it is being used.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69041 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-10 03:26:37 +00:00
Vadim Zeitlin
1a66177951 Allow setting colours and font of wxTreeListCtrl.
Use wxCompositeWindow<> to propagate changes of colours and font to
wxDataViewCtrl that wxTreeListCtrl uses internally.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69028 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-08 21:15:24 +00:00
Paul Cornett
29e461a210 remove unnecessary GTK declarations from defs.h, move things only used once to the place that needs them
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69020 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-07 16:56:50 +00:00
Vadim Zeitlin
d6397a9f35 Add persistence support for wxSplitterWindow.
New wxPersistentSplitter class allows to easily save and restore the splitter
position in config.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69001 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-04 23:01:45 +00:00
Václav Slavík
bed74e488f Generic wxDataViewCtrl: resize autosized columns at idle time.
This is much more efficient than doing it immediately when adding large
number of items into a control with lots of them.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68964 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-31 09:04:41 +00:00
Václav Slavík
297e2532b1 Make generic wxDataViewToggleRenderer react to activation.
Previously it only responded to single-clicks, which was to avoid the
need to double-click checkboxes. Fixed to react to activation via
double-click or keyboard too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68953 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-29 17:25:33 +00:00
Vadim Zeitlin
513d05952a Make it possible to TAB to wxTreeListCtrl contents.
Even though wxTreeListCtrl contains just one child window it still needs to
derive from wxNavigationEnabled<> to allow focus getting to its sole child.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68950 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-29 14:46:56 +00:00
Robin Dunn
932d0768aa * Implement dynamic loading of the Cairo DLL on Windows similar to how it was
done for GDI+.

* Enable the use of the wxCairoContext on MSW.

* Enable creating a wxGCDC from an exisiting wxGraphicsContext.

* Since it's possible for a DLL that is using wx to not be on the PATH nor in
  the same location as the .exe, change the wxDynamicLibrary::RawLoad method to
  explicitly look first in the same place as the main wx-using binary.  This way
  it will find DLLs that are in the same folder as the wx-using binary even if
  that would not be in the normal DLL search path.  

* Change wxDCImpl and wxDC::GetLogicalScale to be const methods.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 23:26:53 +00:00
Vadim Zeitlin
b18ebec956 Make wxBU_EXACTFIT fir the button text more exactly.
Too big margins were added for the buttons with wxBU_EXACTFIT style making
them larger than strictly necessary. Reduce the margins to make them really
as small as possible.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68922 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 14:11:28 +00:00
Vadim Zeitlin
75bc8b3454 Added wxFLP_SMALL and wxDIRP_SMALL styles for wx{File,Dir}PickerCtrl.
These styles allow to use a smaller browse button as the standard one takes
too much space, often leaving too little of it for the more important text
control part.

Notice that both styles are, in fact, equal to wxPB_SMALL but only file and
directory pickers currently use it as it doesn't make sense for the colour and
font pickers.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68921 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 14:11:25 +00:00
Vadim Zeitlin
ea7ff9ad2a Auto complete file names in the text controls of wx{File,Dir}PickerCtrl.
There doesn't seem to be any reason not to do this in the controls which we
know are meant for entering file or directory names into them.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68920 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 14:11:20 +00:00
Vadim Zeitlin
03dede4dc1 Add wxTextEntry::AutoCompleteDirectories().
As we already had MSW-specific AutoCompleteFileNames(), we can just as well
also add the also useful AutoCompleteDirectories() to be used with the text
controls used for path entry.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68918 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 14:11:13 +00:00
Vadim Zeitlin
d50fc4dc6d No changes, just fix a typo in wxBannerWindow documentation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68917 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 14:11:09 +00:00
Vadim Zeitlin
524cb04066 Add new wxTreeListCtrl class.
This is a facade for wxDataViewCtrl allowing to easily work with multi-column
trees, possibly with an optional checkbox in the first column. Its API is very
similar to wxTreeListCtrl and it provides a simple migration path from the
latter.

Add the class itself, documentation for it and minimal unit tests.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68916 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 14:11:03 +00:00
Vadim Zeitlin
35368572bc Set colours and fonts for all elements of the generic wxSearchCtrl.
Derive generic wxSearchCtrl from wxCompositeWindow<> to ensure that calls to
its Set{Fore,Back}groundColour() are propagated to all its children, otherwise
they applied only to the composite control itself but not e.g. its text part.

Also update the bitmaps when the background colour changes to ensure that it
appears as transparent.

Closes #13428.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68911 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 12:13:23 +00:00
Vadim Zeitlin
162e221f76 Allow returning NULL windows from GetCompositeWindowParts().
wxCompositeWindow::GetCompositeWindowParts() becomes simpler to implement in
the derived classes with optionally shown elements if NULL windows are allowed
(and ignored) in the list returned by it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68910 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-27 12:13:18 +00:00
Dimitri Schoolwerth
b15dfd0895 Fixed best size of wxUniv's wxNotebook.
Removed wxNotebook::DoGetBestClientSize to let wxBookCtrlBase::DoGetBestSize do its job and fix the best size of a wxNotebook (formerly when running the notebook sample the notebook was not wide enough).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68903 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-25 23:32:05 +00:00
Dimitri Schoolwerth
b849473237 Fixed best sizes for wxUniv controls.
Many wxUniv controls had a way too small best size which was noticeable when running e.g. the widgets sample. Regression started in r61169 where wxWindowBase::DoGetClientBestSize() was introduced but that virtual function already existed in wxUniv's wxWindow. Removing wxUniv's wxWindow::DoGetBestSize and wxWindow::DoGetBestClientSize fixes sizing issues.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-25 23:16:44 +00:00
Dimitri Schoolwerth
f4308cf55f Fixed buttons having no border in wxUniv by default.
Buttons had a border of wxBORDER_NONE resulting in wxButton::DoDraw not drawing the button's border. Fixed by adding wxAnyButton::GetDefaultBorder() for wxUniv which returns wxBORDER_STATIC. Regression since r67931.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68900 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-25 23:09:00 +00:00
Stefan Csomor
84381ea472 missing commit for RAW_CONTROL changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68872 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-24 04:15:58 +00:00
Vadim Zeitlin
c66160d5d5 Compilation fix for non-OSX: don't use m_rawControlDown there.
m_rawControlDown is supposed to be only used under OS X so put an #ifdef
__WXOSX__ around it in wxKeyboardState::GetModifiers() to fix compilation
under the other platforms.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68870 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-23 15:44:04 +00:00
Stefan Csomor
8b9e09383a adjusting keyboardstate to new ctrl / raw_ctrl handling on osx
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68864 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-23 13:03:52 +00:00
Dimitri Schoolwerth
4ca8531f61 Added wxBITMAP_TYPE_TIFF and wxBITMAP_TYPE_TIFF_RESOURCE.
Having wxBITMAP_TYPE_TIFF and wxBITMAP_TYPE_TIFF_RESOURCE is more consistent with already using the complete short name of an image format elsewhere (e.g. wxBITMAP_TYPE_JPEG, not wxBTMAP_TYPE_JPG, and wxTIFFHandler as opposed to wxTIFHandler). Renamed all existing occurrences and kept the old enum values for backwards compatibility.

Also renamed occurrences of wxBITMAP_TYPE_RESOURCE to the already existing wxBITMAP_TYPE_BMP_RESOURCE.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68859 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-23 04:55:46 +00:00
Dimitri Schoolwerth
ca21c76b2a Fixed linking errors related to wxAnyButton in wxUniv.
Native wxAnyButton headers were being included but the sources aren't used in wxUniv. Fixed this by not including any native header in wxUniv and instead made wxAnyButton a typedef of wxAnyButtonBase.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68858 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-23 04:41:00 +00:00
Dimitri Schoolwerth
f340c9ca88 Fixed compilation of sources that make use of wx/univ/notebook.h.
wxUniv's wxNotebook was accessing m_imageList which now is a private in wxWithImages since r68809. Fixed by using wxWithImages::HasImageList.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68856 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-23 02:18:41 +00:00
Vadim Zeitlin
dbab29b925 Return non-const pointer from wxDataViewRendererBase::GetView().
Non-const wxWindow pointers are unfortunately needed quite often in wx API so
return a non-const pointer here to allow using it with e.g. wxRendererNative
(whose methods all take non-const wxWindow pointers) in the derived classes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68852 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 15:31:36 +00:00
Vadim Zeitlin
60d10101b7 Add wxDataViewIconText::IsSameAs() and make comparison operators members.
Add IsSameAs() to make it simpler to call from the derived class operator==()
implementation.

Also make comparison operators themselves members instead of global functions
to avoid considering them as matches for all operator==() uses in the program,
there is really no need for this as we do _not_ want to allow implicitly
converting something to wxDataViewIconText when comparing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68851 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 15:31:33 +00:00
Stefan Csomor
8b98275595 removing trailing comma
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68849 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 15:11:37 +00:00
Stefan Csomor
e516208e3d exposing wxGraphicsContext through an ordinary wxDC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68848 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 15:10:07 +00:00
Vadim Zeitlin
fa93d732e2 Harmonize wxDataViewCtrl::GetSelection() behaviour in all ports.
wxDataViewCtrl::GetSelection() now always returns invalid item if more than
a single item is selected in a multi-selection control.

Also add HasSelection() and GetSelectedItemsCount() to allow checking if any
items are selected.

Updated the documentation, all ports and added a test for all these functions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 12:41:19 +00:00
Vadim Zeitlin
0eec47e4a2 No changes, just add wxGtkList to ensure g_list_free() is always called.
Add an extremely simple RAII wrapper around GList and use it.

Also add wxGtkTreePathList which also automatically frees its contents to
simplify working with the lists of GtkTreePaths.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68842 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 12:41:00 +00:00