Commit Graph

15245 Commits

Author SHA1 Message Date
Vadim Zeitlin
3b7e7e2497 Resolve ambiguity between two wxAuiNotebook overloads.
wxAuiNotebook-specific InsertPage() and the version inherited from
wxBookCtrlBase were ambiguous if used with default values for their 2 last
arguments. Resolve this by removing defaults from the inherited version.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70304 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-09 18:48:34 +00:00
Julian Smart
bb7bbd12d3 Improved layout, in particular passed a container size in order to allow relative size calculation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70303 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-09 14:19:50 +00:00
Dimitri Schoolwerth
d9384bfb6d no code changes, fixed some typos
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-09 14:04:25 +00:00
Paul Cornett
02800dde9e move render params out of wxDataViewCustomRenderer
they only need to exist for the duration of the render() call

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70300 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-09 06:31:07 +00:00
Vadim Zeitlin
d1bf0be0bc Enhance wxRibbonToolBar functionality to wxRibbonButtonBar level.
Allow inserting and deleting tools and not only appending them.

Add possibility to enable/disable and toggle tools.

Send wxUpdateUIEvent for the tools.

Add various properties accessors.

Closes #13835.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70297 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-08 14:52:56 +00:00
Vadim Zeitlin
6a0e4ead1e Add wxTopLevelWindow::SetRepresentedFilename().
This currently is only implemented under OS X and sets the proxy icon there
but could be implemented to do something useful under the other platforms too
in the future.

Closes #13797.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70295 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-08 14:52:47 +00:00
Vadim Zeitlin
0482be5e1d Fix wxOSX/Carbon compilation after wxListCtrlBase introduction.
Make wxListCtrl::SetColumn() item parameter const reference.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70290 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-08 00:55:22 +00:00
Vadim Zeitlin
0dc45ad6b5 Compilation fix for PCH-less build after wxListCtrlBase changes.
Include the base class declaration from wx/listbase.h.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70286 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-07 16:11:10 +00:00
Vadim Zeitlin
3d167c0022 Improve column auto-sizing code in generic wxListCtrl.
Take the width of the header itself into account when setting width to
wxLIST_AUTOSIZE.

Also refactor the code to reuse the code used in wxLIST_AUTOSIZE_USEHEADER
case in SetColumnWidth() when inserting or updating the column width to this
value.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70285 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-07 15:09:54 +00:00
Vadim Zeitlin
0fb731b8bf Add support for wxLIST_AUTOSIZE_USEHEADER to InsertColumn().
Use the fixed default width in InsertColumn() by default for compatibility but
allow more useful behaviour in it by supporting wxLIST_AUTOSIZE_USEHEADER as
well.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70284 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-07 15:09:51 +00:00
Vadim Zeitlin
c23edb1b71 Add convenient wxListCtrl::AppendColumn() wrapper.
In the vast majority of cases, columns are just appended to the end and not
inserted at arbitrary positions in wxListCtrl so provide a convenient wrapper
to do this, especially as it's really trivial to do it now when it can be done
only once at wxListCtrlBase level.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70283 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-07 15:09:47 +00:00
Vadim Zeitlin
94248d2ed1 Implement best size calculation for report mode wxListCtrl.
Use the column labels to determine the minimal width required by the control
to show them all in full.

Also declare all image list and column-related wxListCtrl methods in
wxListCtrlBase now as we need some of them in DoGetBestClientSize()
implementation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70282 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-07 15:09:43 +00:00
Vadim Zeitlin
a9bd911fde Replace 3 copies of wxListCtrl mode tests with a single one in wxListCtrlBase.
Move InReportView() and IsVirtual() into the base class as they were the same
in all the implementations.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70281 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-07 15:09:37 +00:00
Vadim Zeitlin
26df5dd39a Add wxListCtrlBase common base class for port-specific wxListCtrl.
This base class is currently trivial, more methods will be moved to it from
the derived classes later.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-07 15:09:34 +00:00
Julian Smart
4e63bfb9b3 Removed compilation ambiguity between different forms of ...WithUndo functions.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70275 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-05 15:48:21 +00:00
Vadim Zeitlin
1e40bd4c74 Initialize wxListItem::m_itemId to -1, not 0.
Currently we have two redundant pieces of data in wxListEvent: m_itemIndex and
m_item.m_itemId. The former is initialized to -1 by default which makes sense
as it means "no item". But the latter was 0 by default which not only didn't
make sense but also made it inconsistent with m_itemIndex for the events which
really didn't have any associated item.

Fix this by initializing m_itemId to -1 as well.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70270 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-05 12:51:37 +00:00
Julian Smart
cd72035387 Added box style functionality to style manager dialog
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70267 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-04 19:38:31 +00:00
Julian Smart
eb3d8a3319 Implement missing wxTextBoxAttr::IsDefault function
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70266 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-04 16:32:08 +00:00
Julian Smart
0c0e063e66 Applied #13819: wxRTC drag and drop, by dghart, with tweaks
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70253 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-03 14:09:34 +00:00
Julian Smart
2f987d8309 Added a box style definition name to the box attribute.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70233 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-02 21:18:05 +00:00
Julian Smart
9b794421ae Split up the context menu functionality to make it easier to customise.
Tweaked style combobox popup border.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70202 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-30 17:12:37 +00:00
Vadim Zeitlin
ff4cb9160e Add wxRibbonButtonBar::InsertXXXButton() methods.
Allow inserting buttons into the ribbon bar and not only appending them.

Closes #13811.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70181 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-29 22:05:39 +00:00
Vadim Zeitlin
f01e56249a Allow using wxEVT_UPDATE_UI with wxRibbonButtonBar.
Generate wxUpdateUIEvent for the ribbon buttons to allow updating their state
using wxEVT_UPDATE_UI. Also update the same to show this.

Closes #12003.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70180 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-29 22:05:34 +00:00
Vadim Zeitlin
a2fb9138b2 Better fix for wxSpinCtrlGeneric enabling/disabling bug in wxMSW.
To really ensure that the window containing the components of wxSpinCtrlGeneric
is never enabled under MSW (as we want to avoid this to ensure that any input
always goes to its children and not the window itself, see #12045), override
DoEnable() and not Enable(). This takes care of the case when the control gets
implicitly disabled because its parent is.

Closes #13142.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-29 22:05:27 +00:00
Stefan Neis
6dd0883d55 Do not put semicolons after the definition of an inline function.
Even though most compilers just ignore this, it's just wrong and if you
do get warnings about header files, they can become quite overwhelming.
Forward port of r70163.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70165 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-29 14:42:13 +00:00
Stefan Neis
d0a341b34a Include some more declarations & defines.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70164 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-29 14:36:22 +00:00
Stefan Neis
21317c46b4 Reordered "extern" and WXDLLIMPEXP_CORE specifiers; fixes #13816.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70162 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-29 11:26:05 +00:00
Vadim Zeitlin
bde56d09bb Restore wxEVT_MENU_CLOSE generation under Windows 95 after r70151.
WM_UNINITMENUPOPUP is "only" available since Windows 98/2000 so restore the
old code using WM_EXITMENULOOP as fall back, just to avoid any regressions for
people who might still be using these systems.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70156 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-28 17:47:21 +00:00
Vadim Zeitlin
7f3f059ac5 Complete wxEVT_MENU_{OPEN,CLOSE} implementation in wxMSW and wxOSX.
Set the wxMenu correctly for wxEVT_MENU_CLOSE events in wxMSW.

Set the menu id correctly to allow wxMenuEvent::IsPopup() to work for both
wxEVT_MENU_OPEN and wxEVT_MENU_CLOSE in wxOSX.

Closes #11313.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70151 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-28 13:51:17 +00:00
Vadim Zeitlin
864181f4f6 Implement wxNotebook::CalcSizeFromPage() for wxGTK.
The implementation is far from perfect as it relies on hard-coded margins but
is better than nothing as it allows wxNotebook best size determination and
SetPageSize() method to work correctly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70112 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-24 18:19:26 +00:00
Paul Cornett
2861be020e remove improper use of paste operator
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70110 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-24 16:46:26 +00:00
Vadim Zeitlin
8c167bb199 Fix fatal bug with deleting the old contents in wxScopedArray::reset().
"delete" was wrongly used instead of "delete[]".

Closes #13806.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70109 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-24 15:43:14 +00:00
Vadim Zeitlin
7182483bf7 Use the correct function type cast in EVT_WEBKIT_NEW_WINDOW.
Use wxWebKitNewWindowEventHandler to perform a proper static_cast<>, which
detects incorrect casts during compilation, instead of
wxWebKitNewWindowEventFunction which was just doing an unsafe C-style cast.

Cloes #13805.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70108 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-24 15:43:12 +00:00
Vadim Zeitlin
70ef16f4e2 Add EVT_FSWATCHER event table macro.
It was documented, and ought to have existed anyhow for consistency with
wxEVT_FSWATCHER, but wasn't defined. Do it now.

Closes #13804.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70107 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-24 15:43:08 +00:00
Vadim Zeitlin
a601696dd5 Add EVT_WINDOW_MODAL_DIALOG_CLOSED() event table macro.
Add it for consistency with wxEVT_WINDOW_MODAL_DIALOG_CLOSED.

See #13804.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70106 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-24 15:43:05 +00:00
Vadim Zeitlin
b099835e8f Fix typo in wxEVT_COMMAND_RICHTEXT_LEFT_DCLICK in documentation.
It was misspelt as wxEVT_COMMAND_RICHTEXT_DLEFT_CLICK.

Closes #13802.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70105 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-24 15:43:01 +00:00
Vadim Zeitlin
f179a616c7 Remove references to defunct event types in comments.
No real changes, just complete the changes of r58039 by removing the
references to non-existent (any more) event types from the comments too.

Closes #13801.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70104 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-24 15:42:57 +00:00
Julian Smart
c1431e59e3 Applied #13803: wxRichTextCtrl: missing event-table macro (dghart)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70103 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-24 11:39:40 +00:00
Steve Lamerton
b8800bfe8b Fix typo in ADD_RAW_IID macro.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70101 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-24 10:05:31 +00:00
Paul Cornett
7bc57fd972 fix tests for WXWIN_COMPATIBILITY_2_8, closes #13800
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70098 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-23 05:59:59 +00:00
Steve Lamerton
9f194b9de0 Use OLE helper macros in wxWebView to reduce the amount of duplicated code.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70096 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-22 19:16:12 +00:00
Steve Lamerton
4b4ed3c942 Add new ADD_RAW_IID OLE helper macro to allow use with classes that do not start with IID_I.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70095 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-22 19:14:58 +00:00
Steve Lamerton
d04002224e Mark various OLE helper functions as DLL exported so they can be used from other libraries.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70093 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-22 19:08:43 +00:00
Vadim Zeitlin
4ffdb64018 Add wxLogFormatter to allow easier wxLog output customization.
Delegate the log string creation to wxLogFormatter. This allows defining a
custom object of a class derived from it to customize the log output instead
of having to override DoLogRecord() in wxLog itself.

Closes #13792.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70086 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-22 13:35:01 +00:00
Robin Dunn
2cc6b51b90 Avoid a problem in Phoenix by making UpdateMacScrollWindow not be pure virtual.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70085 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-22 01:26:11 +00:00
Vadim Zeitlin
fceac6bbfe Provide native implementation of wx{Date,Time}PickerCtrl for wxOSX/Cocoa.
Use NSDatePicker to implement both of these controls. Almost all of
wxDatePickerCtrl styles are not supported in the native version but the basic
functionality does work and looks much better than the generic version (which
is still available as wxDatePickerCtrlGeneric if needed) under Mac.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70071 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-20 21:27:14 +00:00
Vadim Zeitlin
36d07f78e4 Added helpers for translating between wxDateTime and NSDate.
These functions will be used in the upcoming native implementations of
wxDatePickerCtrl and wxTimePickerCtrl but could also be reused elsewhere in
wxOSX/Cocoa, notably in wxDataViewCtrl where strange ad hoc code is currently
used.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70070 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-20 21:27:09 +00:00
Vadim Zeitlin
ee4d438064 Added support for wxEXEC_MAKE_GROUP_LEADER to wxExecute().
Map it to the native CREATE_NEW_PROCESS_GROUP flag as it's broadly similar to
Unix semantics.

Closes #13676.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70051 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-19 12:54:48 +00:00
Vadim Zeitlin
1c959a62ce Add possibility to set item background in generic wxDataViewCtrl.
Added wxDataViewItemAttr::SetBackgroundColour() and code to honour it in the
generic implementation of wxDataViewCtrl.

Closes #12621.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70050 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-19 12:54:38 +00:00
Vadim Zeitlin
02106526ea Don't use dummy "inline" in wxDEPRECATED_CONSTRUCTOR definition.
Apparently we need this bogus "inline" for g++ < 3.4 but there is no reason to
use it for the other compilers and this results in linking errors with e.g.
MSVC, so remove it.

Closes #13775.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70049 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-19 12:54:32 +00:00
Vadim Zeitlin
75cb911c7c Added wxFilePickerCtrl::SetInitialDirectory().
This method allows to configure the initial directory to be shown when
browsing for files in an initially empty wxFileDirPickerCtrl.

It is also available for wxDirPickerCtrl but is less useful there.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70043 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-18 12:34:47 +00:00
Vadim Zeitlin
913ce2990e Make wxPalette ctor and Create() const-correct in wxMSW.
The input data is never modified so should be const (it is also documented as
being const and actually is const in the other ports).

Closes #13776.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70040 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-17 23:52:47 +00:00
Vadim Zeitlin
ecc610f1af Corrected the name of EVT_WEB_VIEW_ERROR event table macro.
It was mistakenly spelt EVT_WEB_VIEW_ERRROR.

Closes #13772.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70038 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-17 23:52:40 +00:00
Vadim Zeitlin
c05b000c71 Incremented the version number to 2.9.4 everywhere.
The misc/scripts/inc_release script was used to update the versions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70021 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-16 22:12:49 +00:00
Stefan Csomor
309f2b2031 adding defaults for Xcode builds
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69993 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-12 15:54:40 +00:00
Stefan Csomor
3d909cc42f reverting r69387 and r69389, fixes #13737
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69992 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-12 15:43:33 +00:00
Vadim Zeitlin
4cf1a9bf4a Ensure that Enter key presses are never stolen from wxButton in wxMSW.
This commit fixes the following bug: when an in-place editor control containing
an embedded button was used in wxDataViewCtrl, pressing Enter on the button
would close the editor, accepting changes, instead as (generic) wxDataViewCtrl
intercepts WXK_RETURN in its EVT_CHAR_HOOK handler. To prevent this from
happening, wxButton now handles EVT_CHAR_HOOK itself and never lets the parent
window intercept it if it's for WXK_RETURN. To ensure that normal
wxEVT_KEY_DOWN and wxEVT_CHAR are still generated in this case, wxButton
handler calls the new wxKeyEvent::DoAllowNextEvent() method that was added to
allow suppressing EVT_CHAR_HOOK only, without affecting the subsequent events.
DoAllowNextEvent() is currently only used in wxMSW but support for it was also
added to wxGTK and (both) wxOSX ports.

See #9102.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69984 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-11 17:03:56 +00:00
Robin Dunn
5eb16fe200 Use default values for some parameters of wxSizerItem and wxGBSizerItem ctors
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69970 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-10 04:34:06 +00:00
Vadim Zeitlin
25fe875df6 Restore mouse capturing/releasing in wxPopupTransientWindow under MSW.
Partially revert the changes of r69350 to restore EVT_IDLE handling of
wxPopupTransientWindow under MSW. It turns out that we must release the mouse
for the embedded controls to work.

It would be better to solve the problem differently, e.g. perhaps maybe only
releasing mouse capture when mouse is clicked as the current code is fragile
but for now at least restore the functionality that used to work.

Closes #13740.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69966 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-09 15:20:55 +00:00
Vadim Zeitlin
4fe4a7c50f Add wxEXEC_HIDE_CONSOLE flag allowing to unconditionally do it under MSW.
Also renamed wxEXEC_NOHIDE to wxEXEC_SHOW_CONSOLE for symmetry (keeping the
old name for compatibility, of course).

Extend exec sample to allow easily testing the different flags and adding more
of them later.

See #13676.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69964 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-08 20:22:55 +00:00
Vadim Zeitlin
7ef791557a Allow using wxEvtHandler::Bind() with IBM xlC compiler v7+.
xlC 7 seems to be able to deal with this code without problems under AIX 5.3
so white list it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69961 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-08 15:58:45 +00:00
Vadim Zeitlin
4ce3452d32 Only declare wxComboBox::Popup/Dismiss() when using Cocoa in wxOSX.
wxOSX/Carbon doesn't use the core implementation file so declaring these
methods for the Carbon version resulted in linking errors. Just don't do this,
they're not implemented for Carbon anyhow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69956 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-08 14:47:37 +00:00
Vadim Zeitlin
ff8cb900da Implement wxComboBox::Popup() and Dismiss() for wxOSX/Cocoa.
Unlike in the other ports, these methods currently don't generate any events
under OS X because these events are never generated at all there.

Closes #12642.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-07 23:41:06 +00:00
Vadim Zeitlin
30e92ba333 Remove vertical wxTextCtrl adjustment hacks for wxMSW in wxComboCtrl code.
Because wxTextCtrl used to wrongly report its best size in wxNO_BORDER case
under MSW, wxComboCtrl manually adjusted its position to work around this.
However since r69066 wxTextCtrl::GetBestSize() was fixed and now these
adjustments resulted in wrong vertical position for the control.

Just remove all manual adjustments completely now to fix this.

Closes #13722.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69942 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-07 14:05:11 +00:00
Vadim Zeitlin
64652bee94 Enable wxEvtHandler::Bind() for Sun CC.
At least 5.10+ are good enough to compile it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69937 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-07 00:59:46 +00:00
Vadim Zeitlin
ecb35373ee Add virtual dtor to wxCustomBackgroundWindowBase.
Suppress g++ warnings about a class with virtual methods but non-virtual dtor
by making the dtor virtual even if we don't need it to be virtual in this
class.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69930 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-04 23:57:36 +00:00
Vadim Zeitlin
f27f9577ca Allow 2-step creation of wxGenericProgressDialog.
Add default ctor and Create() with the same parameters as the non-default
ctor.

Closes #13555.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69926 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-03 23:52:39 +00:00
Vadim Zeitlin
64ac3db840 Update all controls using in-place editors to handle Escape/Return correctly.
Define EVT_CHAR_HOOK handlers to ensure that pressing Escape/Return while an
in-place edit control is active affects only it and is not used for the
keyboard navigation.

Closes #9102.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69897 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-02 00:50:41 +00:00
Vadim Zeitlin
4e4841b0ba No changes, just move wxTreeCtrlBase ctor to the source file.
Move inline ctor out of line to prepare for changing it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69895 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-02 00:50:33 +00:00
Vadim Zeitlin
3a95f73c00 Make wxEVT_CHAR_HOOK propagate upwards and send it to the window itself.
Send wxEVT_CHAR_HOOK events to the focused window itself but make them
propagatable to ensure that the parent windows (including the top level
parent) still get it. This still allows the TLW parent to intercept keyboard
handling in its child but allows the child (or an intermediate parent window)
to have some say in the matter.

See #9102.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69893 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-02 00:50:25 +00:00
Vadim Zeitlin
e45d90901d Added wxKeyEvent ctor for creating event of the different type for same key.
This is useful for implementation code in a couple of ports so provide a
higher level ctor doing this instead of having to use a copy ctor and then
manually changing the event type.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69891 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-02 00:50:19 +00:00
Vadim Zeitlin
dfc7216da7 Refactor wxKeyEvent copying code.
Avoid duplication between copy ctor and assignment operator.

Also extract the assignment of everything not including the event type in a
reusable function as this can be useful for key event generation code in wxGTK
and possibly other ports.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69890 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-02 00:50:16 +00:00
Vadim Zeitlin
b9697cb410 Added wxCriticalSection::TryEnter() method.
This is similar to wxMutex::TryLock() and useful for the same reasons.

Closes #13638.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69883 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-01 14:22:15 +00:00
Paul Cornett
0f29501b66 Fix crash when appending menuitem after removing it from another menu.
Also remove unused return value from GtkAppend

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69878 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-01 06:57:44 +00:00
Vadim Zeitlin
37bea8d229 Don't include all wx/xxx/webviewhistoryitem_xxx.h headers.
Only one of these headers is available for each platform so include at most
one of them.

Closes #13705.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69873 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-30 10:21:43 +00:00
Vadim Zeitlin
99644bf127 Include wx/defs.h, not wx/setup.h from wx/webview.h for consistency.
All wx headers start by including wx/defs.h so do it in wx/webview.h as well
even if wx/setup.h was sufficient in this particular case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69872 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-30 10:21:40 +00:00
Vadim Zeitlin
2f0bebe646 Use more clear names for variables in wxHtmlSelection code.
Call the variables and related methods "character position" instead of
"private position" which wasn't very clear.

Closes #13307.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69870 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-30 09:21:33 +00:00
Steve Lamerton
8a4e043aef Override MSWTranslateMessage for wxActiveXContainer. Calling IOleInPlaceActiveObject::TranslateAccelerator ensures that accelerators and other keyboard functionality behaves correctly.
Fixes #13679.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69862 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-28 20:19:16 +00:00
Vadim Zeitlin
6c5cc8a075 Override GetMainWindowOfCompositeControl() in wxGrid subwindows.
This is necessary for HasFocus() to work correctly for them since the changes
of r69788.

Closes #13686.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69861 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-28 19:15:59 +00:00
Vadim Zeitlin
4e2b91bb27 Extend wxBannerWindow background bitmap if necessary.
Ensure that the entire banner window uses the same background colour as the
bitmap, even when the bitmap is too small for the window size. This allows to
avoid using huge bitmaps if extending the bitmap with solid colour looks good
enough.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69859 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-28 18:58:52 +00:00
Vadim Zeitlin
1d8d3cc5a1 Add support for custom numeric formats to wxGrid.
Allow %e and %g formats (as well as their upper-letter equivalents) in
addition to the default %f format for number display in wxGrid.

Closes #13583.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69856 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-28 13:23:33 +00:00
Vadim Zeitlin
fb7ce3e8cc No changes, just moved wxLocaltime_r() and wxGmtime_r() to wx/time.h.
These functions are used by wxGetTimeZone() defined in time.cpp and so need to
be available from wx/time.h. This is also the most logical place for them.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-27 20:28:43 +00:00
Vadim Zeitlin
603c73dbba Implement wxStackWalker for wxMSW under x86-64.
Use 64 bit debug help functions instead of 32 bit ones and add code for
dealing with x86-64 stack frames.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69845 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-27 19:52:13 +00:00
Vadim Zeitlin
fc4070fc9d Add support for VK_OEM_102 key under wxMSW.
This is the "<>|" key on German keyboard and is also used in many other
layouts so failing to handle it resulted in not receiving EVT_KEY_XXX events
for these keys in wxWidgets programs.

Closes #13558.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-27 19:50:53 +00:00
Vadim Zeitlin
e65ae1d36d Change value of wxHELP to avoid clash with wxSTAY_ON_TOP.
Using wxSTAY_ON_TOP with wxMessageDialog resulted in "Help" button appearing
since r68537 because these two constants had the same numeric value.

Avoid this by changing wxHELP value to be the same as wxCLOSE_BOX instead: the
latter can't be used with wxMessageDialog so this should solve the problem,
even if there are still conflicts. Also adjust the other button constants
values to account for wxHELP change.

Closes #13433.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69842 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-27 19:50:45 +00:00
Vadim Zeitlin
cec1b1ab0b Removed private wxGetLocalTimeUsec() function from Unix code.
The function was badly named as it returned UTC time and not local time and
can be simply replaced with the just added public wxGetUTCTimeUSec().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69839 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-27 19:50:33 +00:00
Vadim Zeitlin
173a5ddc77 No changes, just move time functions from wx/stopwatch.h to wx/time.h.
Preserve compatibility by including wx/time.h from wx/stopwatch.h but put all
the time-related functions in a more logical place.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69838 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-27 19:50:27 +00:00
Vadim Zeitlin
a43503cb8d Added wxGetUTCTimeMillis() and wxGetUTCTimeUSec().
Fixed wxGetLocalTimeMillis() to really return the local time and provide
wxGetUTCTimeMillis() doing what this function used to do before. Closes #13610.

Also add wxGetUTCTimeUSec() for even higher resolution time stamps as it is
basically the same as wxGetUTCTimeMillis() anyhow, at least for MSW and
non-ancient Unix systems providing gettimeofday().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69837 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-27 19:50:23 +00:00
Vadim Zeitlin
59068d79f7 Extracted private GetTimeZone() to public wxGetTimeZone() function.
Created new wx/time.h header for this function, more time-related functions
will be added to it later.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69836 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-27 19:50:19 +00:00
Vadim Zeitlin
b0ec002323 Added wxStopWatch::TimeInMicro() for better precision time measurement.
Also simplify/streamline wxStopWatch implementation and replace confusingly
named m_pause with more clear m_elapsedBeforePause.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69835 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-27 19:50:12 +00:00
Vadim Zeitlin
e76e89aabe Correct wxTLS_PTR definition for !wxHAS_COMPILER_TLS case.
wxTLS_PTR should have type of "T*" instead of being simply usable as "T*"
because of its overloaded operator->(), otherwise the code relying on it being
"T*" and compiling without problems in wxHAS_COMPILER_TLS case could fail to
compile without compiler TLS support.

Closes #13644.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69832 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-27 19:50:01 +00:00
Vadim Zeitlin
167d0cb30b Define wxCURSOR_DEFAULT_TYPE correctly for the old Cocoa port.
Closes #13652.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69827 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-27 19:49:33 +00:00
Stefan Csomor
65c01ad0d4 fixing iPhone build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69818 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-25 14:37:03 +00:00
Paul Cornett
46a1983ae4 use int instead of size_t for a couple member variables
it's simpler, and there is no point in using size_t anyway since they are assigned from ints

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69815 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-25 00:52:24 +00:00
Vadim Zeitlin
5f4994df03 Added convenient wxCmdLineParser::AddLong{Option,Switch}() wrappers.
The new functions simply call Add{Option,Switch}() with an empty first
argument but using them makes the code more readable.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69797 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-22 13:18:58 +00:00
Vadim Zeitlin
6e043ba946 Dismiss wxSplashScreen on any user input, not necessarily on splash itself.
Use wxEventFilter to remove the splash screen as soon as any user input is
detected anywhere in the application, not necessarily over the splash screen
itself.

This ensures that the splash screen disappears as soon as the user starts
working with the application instead of sticking around and covering the main
window.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-22 13:18:55 +00:00
Vadim Zeitlin
58cc15871d Add wxEventFilter and related functionality.
Allow defining event filters to globally pre-process all application events
without having to override wxApp::FilterEvent().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69794 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-22 13:18:50 +00:00
Vadim Zeitlin
feb32e3165 Hack wxMSW wxNotebook to show the text controls correctly initially.
Add an Update() call to ensure that text controls in the initially selected
notebook page are shown correctly. It's almost certainly not the right fix for
the real bug that results in text controls not being shown when the notebook
comes up but it doesn't cost much and at least allows us to get correct
appearance for the themed notebooks.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69793 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-22 13:18:45 +00:00
Vadim Zeitlin
60eabdbebf No changes, just remove extra whitespace from wxWebViewIE code.
Closes #13678.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69787 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-18 23:40:24 +00:00
Vadim Zeitlin
97aa7b9955 Provide HANDLE_PTR for the compilers without it such as VC6.
Also include wx/msw/wrapwin.h defininig HANDLE_PTR from wx/msw/webview_ie.h
that uses it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69784 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-17 16:43:34 +00:00
Jouk Jansen
7a3c45f2c8 define Popup and Dismiss for wxComboBox in wxMOTIF
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69783 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-17 07:51:04 +00:00
Robin Dunn
cce10ca06b Add arg default values for the Create method
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69771 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-17 01:25:56 +00:00
Robin Dunn
a0ff361188 Don't include webkit headers from wx headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69770 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-17 01:23:03 +00:00
Vadim Zeitlin
f559d1a23c Move wxWebView-related definitions to webview_ie.cpp and fix them.
Ensure that all the GUIDs are defined by including initguid.h to fix linking
error with most versions of MinGW.

Use "wx" prefix to avoid clashes with the standard GUIDs if they do happen to
be defined.

Closes #13645.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-16 23:45:22 +00:00
Vadim Zeitlin
c0c9009c8d Add support for digits and +/- sign to wxUIActionSimulator::Text().
Support the characters needed for number entry in wxUIActionSimulator::Text()
too.

Closes #13671.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69762 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-15 15:56:55 +00:00
Vadim Zeitlin
31fb3cfe02 Replace wxT() with wxS() in image options definitions.
The optimal way of creating a literal strings consisting of only ASCII
characters is to use wxS() as this avoids the need for run-time conversion in
all builds while wxT() requires a conversion from wchar_t to UTF-8 in UTF-8
builds. So replace wxT() with wxS() in wxImage options definitions.

Also remove wxT() from the options documentation, it's just useless there.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69760 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-14 13:35:52 +00:00
Vadim Zeitlin
b6963858fb Added wxIMAGE_OPTION_ORIGINAL_{WIDTH,HEIGHT} wxImage options.
These options allow to retrieve the original image size if the image was
scaled during load.

Closes #13662.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69759 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-14 13:35:48 +00:00
Vadim Zeitlin
d6c37f5bc4 Fall back on ::GetMessagePos() if ::GetCursorPos() fails under MSW.
In some rare but reproducible cases GetCursorPos() can fail and return without
filling in the provided point. Fall back to GetMessagePos() if this happens:
this is not ideal but clearly better than using uninitialized position or hard
coding something like (0, 0).

Closes #13664.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69758 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-14 12:51:53 +00:00
Vadim Zeitlin
3e6807d701 Don't redefine symbols already defined in latest MinGW headers.
Closes #13645.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-14 12:51:49 +00:00
Vadim Zeitlin
907ea7d5cc No changes, just add another case to a switch on wxMouseButton.
Fix warnings given when wx headers are compiled with g++ -Wswitch-enum option.

Also make the assert messages more precise and less verbose as there is no
need to include the function name in them, all relatively recent compilers
provide it via __FUNCTION__ and wxFAIL_MSG() already uses it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69756 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-14 12:51:47 +00:00
Vadim Zeitlin
cf0a0f9303 Move GDK_META_MASK definition in the header in which it is also used.
The code using GDK_META_MASK was moved to wx/gtk/private/event.h from
gtk/window.cpp but the fallback definition of GDK_META_MASK for GTK+ < 2.10
remained in window.cpp.

Move it to the header as well now so that it can be compiled with GTK+ < 2.10
again.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69698 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-08 11:02:05 +00:00
Vadim Zeitlin
b6dd4afdf8 Compilation fixes for GTK+ 2.4.
Add missing GTK_CHECK_VERSION(2,6,0) checks.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69697 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-08 11:02:02 +00:00
Jouk Jansen
a1db2ca07b wxGTK1 should not include .h files for wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69692 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-07 09:34:50 +00:00
Václav Slavík
12a7fb5f0b Fix wxArray::Index() with bFromEnd=true in STL build.
This function incorrectly returned index from the end of the array when
searching from the end. Fixed to work as the non-STL version.

Fixes #13626.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69688 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-05 15:20:32 +00:00
Vadim Zeitlin
64b91e2d40 Add wxConvAuto::GetBOMChars() helper.
Closes #13620.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69675 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-05 11:23:41 +00:00
Vadim Zeitlin
f81ccc1148 Make wxTreeListEvent dynamically creatable.
This is unfortunately required by wxEvent::Clone() support unit test so
provide the default ctor in this class even though it doesn't make any sense
in normal use.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69619 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-31 19:41:06 +00:00
Julian Smart
4f51b983c2 Fixed #13535: wxRichTextCtrl: Incorrectly documented or named functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69613 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-31 12:15:05 +00:00
Paul Cornett
4ccb6db090 add gdk_window_get_height/width
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69607 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-31 05:42:10 +00:00
Vadim Zeitlin
31174267f8 Remove wxSplitterWindow::m_checkRequestedSashPosition.
This variable seemed to be redundant with m_requestedSashPosition being set to
INT_MAX so harmonise the code to always check for the latter and get rid of
the former.

There should be no observable changes in behaviour.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-30 19:48:38 +00:00
Vadim Zeitlin
8219f7f982 No changes, just remove wxSplitterWindow::{Set,Get}NeedUpdating().
GetNeedUpdating() was never used at all while SetNeedUpdating() was used only
once while m_needUpdating variable was being changed directly in other places
making the code difficult to follow.

Just use the member variable directly and remove the accessors.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-30 19:48:34 +00:00
Vadim Zeitlin
3ac17397c5 Perform wxAuiToolBar idle updates from UpdateWindowUI(), not OnIdle().
No real changes, just optimize the idle updates by doing it from (less often
called) UpdateWindowUI() instead of EVT_IDLE handler.

Closes #10075.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-30 16:51:10 +00:00
Vadim Zeitlin
9a29fe70bc Change variables naming convention in wxAUI code.
Use the standard wxWidgets camelCase convention instead of the
old_one_using_underscores for all the private variables.

Closes #13476.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-30 14:20:03 +00:00
Vadim Zeitlin
74e0e33a85 Remove apparently unnecessary wxAuiMDIClientWindow dtor.
This dtor doesn't seem to do anything useful as the base class dtor already
destroys all window children anyhow and removing it is reported to fix some
crashes in wxAUI (which is surprising and probably hides some other bug...).

Closes #13547.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-30 14:19:55 +00:00
Vadim Zeitlin
911219b2ab Allow customization of the locations where persistent settings are stored.
Make it possible to set a non-default wxPersistenceManager to use and allow
overriding of GetConfig() and GetKey() methods by making them virtual and
documenting them.

This can be notably used to allow porting of the existing code to use
wxPersistenceManager while keeping compatibility with the old settings.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69583 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-30 10:08:18 +00:00
Vadim Zeitlin
eacfac2d5e Fix return value of wxPersistentSplitter::RestoreValue().
It used to always return false which didn't allow the code using to decide
whether the default splitter position should be used or not.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69582 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-30 10:08:14 +00:00
Robin Dunn
c78f085763 resolve multiple inheritance ambiguity
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69573 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-29 04:50:04 +00:00
Vadim Zeitlin
038809c2f6 Make BOM-detection code in wxConvAuto public.
Export GetBOM() and DetectBOM() functions.

Also rename BOMType enum elements to use "wx" prefix now that they're public.

Closes #13599.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69571 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-27 22:48:54 +00:00
Vadim Zeitlin
e4c8592e9c Add _PTR WX_DECLARE_HASH_SET variants to fix warnings about operator->().
Macros from WX_DECLARE_HASH_SET family could declare an operator->() which
could never be called because it returned a pointer to a non-object (e.g. a
pointer or a primitive type).

Fix this in the same way as for WX_DECLARE_ARRAY macros by adding (badly but
consistently) named _PTR variants of the macros to allow defining the versions
without operator->().

This fixes tons of warnings when building wx with Sun CC.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-27 22:26:10 +00:00
Vadim Zeitlin
c155b9b519 Use WX_XXX_ARRAY_PTR macro variants for arrays of pointers.
Arrays of pointers must not overload operator->() as it is not used with them
and is, in fact, unusable, provoking a warning from Sun CC every time such
array is declared. Use the special _PTR-suffixed versions to avoid this.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-27 21:10:51 +00:00
Vadim Zeitlin
449cc35153 Don't make wxQsort() extern "C" nor use any special convention for it.
It doesn't make sense to require passing C functions to wxQsort() that we
define in a C++ library. We also don't need any special calling convention
here.

Notice that the only existing uses of wxQsort() inside wxWidgets itself were
not actually extern "C" and one of them didn't even use the correct calling
convention.

Also avoid using non-wx-prefixed CMPFUNCDATA identifier in a public header,
rename it to wxSortCallback instead.

Finally make wxQsort() documentation slightly more useful.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69566 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-27 21:10:48 +00:00
Vadim Zeitlin
1da8e6e400 Make GTK callbacks passed to GTKConnectWidget() extern "C".
This fixes (harmless but annoying) warnings about mixing C++ and C linkage
function pointers from Sun compiler.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69565 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-27 21:10:45 +00:00
Vadim Zeitlin
2f6b64a90b No real changes, just remove trailing commas from enums.
These commas are not allowed by standard C++ and Sun CC warns about them (and
some other compilers, e.g. HP aCC, even give errors for them).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69559 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-27 21:10:30 +00:00
Robin Dunn
e94d46a67c Work around a multiple inheritance ambiguity
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69544 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-26 05:39:18 +00:00
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
Vadim Zeitlin
040050b8f4 Don't export Objective C interfaces in non-x86_64 builds.
Doing this is unnecessary and results in compilation errors in PPC and x86
builds when using old (4.0.1) version of the compiler.

So make WXEXPORT added in r67575 specific to 64 bit builds.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68841 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 12:38:36 +00:00
Vadim Zeitlin
ae2047c32a Add XRC handler for wxBannerWindow and a test for it to the xrc sample.
Also document the new XRC format elements.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68840 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 12:18:56 +00:00
Vadim Zeitlin
50c202914e No changes, just factor our wxDirection parsing code in wxXRC.
Move it from wxButtonXmlHandler into a reusable wxXmlResourceHandler::
GetDirection() that can used by the other handlers too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68839 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 12:18:49 +00:00
Vadim Zeitlin
ea11bf3abc Add new wxBannerWindow class.
A simple banner showing either a bitmap or some text on gradient background.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68838 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 12:18:43 +00:00
Julian Smart
62f9f10d92 Rename identifier
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/SOC2011_WEBVIEW@68834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 11:26:46 +00:00
Vadim Zeitlin
665ec08c05 Add missing wx/icon.h header to fix wxGTK compilation.
wx/withimages.h needs to include wx/icon.h as it contains an inline function
returning wxIcon.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68813 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-21 14:52:16 +00:00
Vadim Zeitlin
87df1c87e2 Refactor: replace wxTreeItemId and wxDataViewItem with new wxItemId<>.
Add wxItemId<> template which can be used to identify items in different
{tree,list}-like controls, including wxDataViewCtrl (where it replaces, in
backwards compatible way, wxDataViewItem), wxTreeCtrl (where it replaces
wxTreeItemId) and the upcoming wxTreeListCtrl.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68812 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-21 14:08:56 +00:00
Vadim Zeitlin
64ee1d68b1 No changes, just move wxCheckBoxState to wx/defs.h from wx/checkbox.h.
Move the enum to allow reusing it in other places.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68811 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-21 14:08:52 +00:00
Vadim Zeitlin
1871b9facb No changes, just use symbolic NO_IMAGE constant instead of -1 or wxNOT_FOUND.
Existing declarations used -1 in several places to indicate the absence of the
image which wasn't especially clear and was also inconsistent with other
places that used wxNOT_FOUND which didn't make much sense in this context.

Add a new symbolic constant NO_IMAGE in wxWithImages and use it in the classes
deriving from it. This still doesn't help with wx{Tree,List}Ctrl but improves
clarity for the other classes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68810 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-21 14:08:49 +00:00
Vadim Zeitlin
abfdefede3 Add wxWithImages helper mix-in with {Set,Get,Assign}ImageList() methods.
Avoid defining SetImageList() in several different places in wx API as not
only this resulted in (trivial) code duplication but this method also had
different semantics before: it didn't take ownership of the pointer passed to
it in wxTreeCtrl, wxListCtrl and wxBookCtrl and derived classes but did take
its ownership in wxDataViewTreeCtrl and wxRichTextFormattingDialog.

Harmonize this for all the classes now: SetImageList() never takes ownership
while AssignImageList() (which is now available in all classes having
SetImageList()) always does.

Also add convenience wxWithImages::GetImage() helper to avoid (more) code
duplication in wxDataViewTreeCtrl code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68809 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-21 14:08:43 +00:00
Vadim Zeitlin
36a96421b3 Replace wxComboBox::IsEmpty() with Is{List,Text}Empty().
IsEmpty() didn't exist in all ports (notably not wxMSW) and its meaning was
unclear anyhow, so remove it even from the ports where it did exist and add
clear Is{List,Text}Empty() replacements instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68808 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-21 12:06:16 +00:00
Václav Slavík
9489ebf0f1 Rename wxDataViewCtrl::InvalidateColBestWidth* to UpdateColBestWidth*.
The new names make it more clear that the functions don't just set an
invalidated flag, but that they actually do some recalculations.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68807 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-21 09:07:06 +00:00
Steve Lamerton
5b91ac0603 Add virtual destructors to fix GCC4 warnings.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/SOC2011_WEBVIEW@68795 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-20 10:59:09 +00:00
Steve Lamerton
467d261e9d Rename web library to webview.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/SOC2011_WEBVIEW@68789 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-19 10:45:16 +00:00
Steve Lamerton
e7aef23e7b Rename wxUSE_WEB to wxUSE_WEBVIEW to reflect that actually it specifically toggles the wxWebView class and associated features.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/SOC2011_WEBVIEW@68788 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-19 09:15:06 +00:00
Dimitri Schoolwerth
fc695138b4 Added option to TIFF handler for specifying the photometric interpretation.
Added option wxIMAGE_OPTION_TIFF_PHOTOMETRIC for reading and writing TIFF images. This is mostly for being able to distinguish between PHOTOMETRIC_MINISBLACK (chocolate flavour) and PHOTOMETRIC_MINISWHITE (vanilla) as currently the flavour used was fixed. It applies to greyscale as well as black and white images. Added unit tests to verify the written photometric value.

Also see #13194.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68785 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-19 03:47:40 +00:00
Dimitri Schoolwerth
d65172db90 Renamed the options specific to the TIFF handler.
The loading/saving options that are specific for TIFF were in the form of wxIMAGE_OPTION_<name> while all other non-generic options use the form wxIMAGE_OPTION_<imagetype>_<name>. Renamed the TIFF options to the form wxIMAGE_OPTION_TIFF_<name> and kept the old names for backwards compatibility.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68780 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-19 01:19:21 +00:00