Commit Graph

30644 Commits

Author SHA1 Message Date
Julian Smart
b33e0c2c5b Disable drag and drop if the control is not editable
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-03 15:24:20 +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
Stefan Csomor
ed1ebd3908 adapting to new raw_control constants, see #13695
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70251 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-03 10:34:14 +00:00
Vadim Zeitlin
59cd3bbd6c Fix child selection in multi-selection generic wxTreeCtrl.
The children which are not currently shown on the screen shouldn't be affected
by Shift-selecting in multi-selection control.

Closes #1312.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70249 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-03 00:44:47 +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
eadb039ed5 When the focus object changes, the old selection should be
cancelled explicitly to avoid seeing multiple selections until the next
refresh.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70203 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-30 17:22:11 +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
Václav Slavík
cf5d4c76af Implement wxDataViewModel::IsEnabled() support in generic implementation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70201 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-30 14:28:13 +00:00
Vadim Zeitlin
8709d9472b Allow using '(' and ')' in wxFileConfig entry names unescaped.
There is no real reason to escape the parentheses in the key entries, they're
not special.

Closes #13584.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70184 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-29 22:11:11 +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
9df70d797b Don't send idle events to the windows about to be destroyed.
This is useless and can apparently result in some problems as of r25877 and
r25877 (from 8 years ago) added explicit checks preventing processing such
events in wxToolBar and wxMenu. Instead, simply don't generate these events in
the first place and also remove the now unnecessary checks for them.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70179 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-29 22:05:31 +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
Vadim Zeitlin
be8fbbff66 Store row/column selection more appropriately in wxGrid.
Use wxGridSelection::m_rowSelection and m_colSelection for storing the
selected rows/columns respectively instead of storing them in m_blockXXX
arrays. This makes more sense and allows to easily implement the proper
handling of Ctrl-clicking in the row or column selection modes.

Closes #12638.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70177 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-29 22:05:23 +00:00
Vadim Zeitlin
349f41fdbd Display help string for ribbon tools in a tool tip.
Show the help string of the ribbon item currently being hovered over in a
tooltip.

Closes #11879.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70175 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-29 22:05:15 +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
abb8764e32 Compilation fix for VC6 after r70151.
VC6 standard SDK didn't define WM_UNINITMENUPOPUP, so define it for it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70155 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-28 17:32:32 +00:00
Vadim Zeitlin
0d68cd1359 Add standard art providers at the bottom of the art providers stack.
This ensures that any user-defined art providers will be in front of them,
even when they are added at module-initialization time i.e. possibly before
the standard ones.

Closes #12519.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-28 13:51:29 +00:00
Vadim Zeitlin
91452726c2 Use best controller size in wxBookCtrl best size calculation.
Don't use GetControllerSize() which returns the actual, not the best, size of
the controller.

Closes #11793.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-28 13:51:25 +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
c2cd367f7d Use memmove() instead of memcpy() in wxString::AssignCopy().
This at least allows the code like "s = s.c_str()" to work correctly when
using our own wxString implementation, even it doesn't fix all
self-assignment-related bugs (again, when using our own implementation only,
there is no bug when using std::basic_string as underlying implementation).

This is a cherry pick of r63008 from 2.8 branch.

See #11245.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70150 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-28 13:51:13 +00:00
Vadim Zeitlin
f79f06665c Compilation fix for PCH-less build after r70122.
Include the header declaring wxClientDC.

Closes #13809.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70130 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-27 17:32:29 +00:00
Vadim Zeitlin
1b47b78407 Compilation fix for wxUniv/X11 with wxUSE_STL==1.
Don't rely on implicit conversion from wxString to wchar_t*.

Closes #13790.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-27 01:21:50 +00:00
Vadim Zeitlin
59060c07b4 Update the value of read-only wxComboBox in wxUniv.
Fix regression in combobox appearance: it never showed the selected value when
it was read-only any more.

Closes #13688.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-27 01:21:46 +00:00
Vadim Zeitlin
7eff714407 Fix warning about non-virtual dtor in wxDataViewCtrlInternal.
This class doesn't need a virtual dtor but g++ warned about its absence
because it unnecessarily defined a virtual method. Just make this method
non-virtual to avoid the warning.

Closes #13395.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70125 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-27 01:21:43 +00:00
Vadim Zeitlin
6549dd3ce3 Suppress gcc -Wint-to-pointer-cast warnings in GTK wxDataViewCtrl.
Use wxUIntToPtr to avoid the warnings about casts from smaller (in 64 bit
build) int type to pointer.

Closes #13394.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70124 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-27 01:21:39 +00:00
Vadim Zeitlin
7716a165ef Don't use deprecated wxArtProvider::Insert().
Ironically, it was 2.6 compatibility code that was using the function
deprecated after 2.8. In any case, just use the newest name for it.

Closes #13393.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70123 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-27 01:21:36 +00:00
Vadim Zeitlin
e170515a9b Fix the size of the font returned by wxTextCtrl::GetStyle() in MSW.
CHARFORMAT stores height in 1/20th of a point, not pixels. Add the correct
conversion to the units used by LOGFONT.

See #13384.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70122 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-27 01:21:33 +00:00
Vadim Zeitlin
c7155388f5 Recognize background-color style in wxHtmlWindow.
Just treat it as a synonym for "background" i.e. the same as HTML3 BGCOLOR.

Closes #13173.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70121 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-27 01:21:29 +00:00
Vadim Zeitlin
3e65f74e18 Add support for more CSS styles to SPAN tag in wxHtmlWindow.
Add limited support font-family, font-style and text-decoration.

Closes #13170.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70120 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-27 01:21:26 +00:00
Julian Smart
575be97600 Applied patch in #13777 (wxRichTextCtrl scroll and delete not refreshed)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70117 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-25 17:04:51 +00:00
Paul Cornett
0b3b8742c5 restore call to GetTabSize removed in r69880, it is needed to set x_extent
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70114 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-25 00:57:27 +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
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
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
Paul Cornett
6041f69ca7 remove SetBackgroundStyle call from OnInternalIdle, it should be done from realize handler, closes #13799
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70091 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-22 18:21:41 +00:00
Vadim Zeitlin
e718eb9840 Fix wxLogFormatter compilation under MSW.
Fix wxMSW compilation after the changes of r70086.

Closes #13792.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70088 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-22 16:36:47 +00:00
Vadim Zeitlin
b25278d885 Dramatically optimise inserting many items in wxGenericListCtrl.
During each item insertion SetItem() was called and this resulted in a call to
GetItemRect() which, in turn, re-laid out all items in the control meaning
that the relatively expensive wxListMainWindow::RecalculatePositions() was
called N times when inserting N items.

Reduce this to just a single call by not refreshing the item in SetItem() if
everything is going to be redrawn soon anyhow.

This decreases the time needed to insert a couple of thousands of items in
icon view from several minutes to less than a second.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70087 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-22 14:47:54 +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
Vadim Zeitlin
08be21f56d Correct generic wxListCtrl display of items with icons in list mode.
The changes of r70066 improved the layout for icon and small icon modes but
broke it for the list mode if items had icons because the item width should
account for the icon as well in this case. Simply disable the code added in
this revision when in list mode, we don't need to do anything then anyhow as
the layout already worked correctly for it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70077 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-21 13:56:50 +00:00
Vadim Zeitlin
7451b5c459 Guard against a possible crash in wxListCtrl::DeleteColumn().
We could crash when deleting a column after switching to report view from icon
view. As deleting a column works just fine under MSW in this case, make it
work in the generic version as well.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70076 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-21 13:56:47 +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
4d0c23087a Fix horizontal alignment in icon view in generic wxListCtrl.
Ensure that all the items in the same column have the same width, so that
their labels are centred.

Closes #9227.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70066 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-20 21:21:38 +00:00
Vadim Zeitlin
00c784a4d1 Fix crash in wxRegion in wxOSX/Carbon.
Apparently some code expects to be able to call wxRegion::GetWXHRGN() even on
an invalid wxRegion. Return NULL in this case instead of crashing.

This fixes crash on startup of the widgets sample.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70064 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-20 15:39:42 +00:00
Dimitri Schoolwerth
4235f9f6c6 Cleaned up some of the code in wxSlider::DoMoveWindow.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70052 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-19 13:14:24 +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
Dimitri Schoolwerth
cac008ad62 Fixed min and max label values not being swapped when using wxSL_INVERSE in a horizontal MSW slider.
Changed wxSlider::GetLabelsSize to let the widthMin and widthMax values contain the width of what the minimum (always on the left/top) and maximum (always on the right/bottom) _label_ will contain. This is not the same as the minimum and maximum _value_ in case of using wxSL_INVERSE.

Also don't swap the position of the min/max labels in a horizontal slider with wxSL_INVERSE (just how the labels already stay in place in a vertical slider, regardless of wxSL_INVERSE usage), nor their width.

Regression since r65941.

Fixes #13416.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70048 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-19 12:28:42 +00:00
Dimitri Schoolwerth
2a263bbbd7 Removed useless if statement in slider code.
The y position of the slider is already taken care of by the variable ySlider, changing labelOffset has no use.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70047 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-19 12:16:52 +00:00