Commit Graph

4382 Commits

Author SHA1 Message Date
Vadim Zeitlin
2abc54ca70 Include wx/time.h to get wxLocaltime_r() declaration, not wx/datetime.h.
Also remove wxUSE_DATETIME guard, wxLocaltime_r() is available even without
wxUSE_DATETIME.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69847 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-27 20:28:45 +00:00
Vadim Zeitlin
b82f92a80c Merge similar but not quite identical translated strings.
Some translated strings appeared several times in almost but not quite
identical form. Remove a few of them so that they don't have to be translated
multiple times.

Closes #13637.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69828 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-27 19:49:43 +00:00
Václav Slavík
0fdeaabe4d Account for indentation in wxDataViewCtrl::GetBestColumnWidth().
Generic control only accounted for actual content, but didn't consider
indentation level when calculating width of the expander column.

Fixes #13629.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69819 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-25 18:11:16 +00:00
Vadim Zeitlin
35ee173d0f Fix crash in wxTreeListCtrl::GetItemText() if text was never set.
Asking for the text of an item is not an error even if it was never set for
any column but the first one so just return an empty string in this case
instead of crashing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69805 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-23 23:58:54 +00:00
Paul Cornett
0f31a78f36 remove redundant GTK-specific code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69802 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-23 17:21:06 +00:00
Václav Slavík
a2a4e18c10 Make generic wxDataViewCtrl rows a bit taller.
They now use the same height that Windows 7's Explorer uses. This makes
more inline editor controls fit comfortably.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69800 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-23 13:43:04 +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
7650eed409 Ensure that wxSplashScreen doesn't appear on taskbar nor in Alt-TAB list.
Having the splash screen in Alt-TAB window list under MSW was useless and ugly
(as it didn't even have the proper application icon) so use the appropriate
styles to avoid this.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69795 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-22 13:18:53 +00:00
Jouk Jansen
e2847646e5 Add compile support for widgets sample on OpenVMS
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69731 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-10 14:41:14 +00:00
Václav Slavík
0fff3dfcbb Use Enter and Space for cell editing in generic wxDVC too.
If the normal Enter or Space processing (sending activate event or doing
activatable editing respectively) isn't handled by the control, use
these keys to trigger inline editing too, as F2 does.

This makes the Windows control more similar to OS X and GTK+ ones and
makes discovering editability easier.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69695 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-08 10:53:49 +00:00
Jouk Jansen
5ced53e599 Updates to compile WX on OpenVMS
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69693 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-07 09:42:06 +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
Vadim Zeitlin
6460ce5afe Avoid too many sash position changed events when splitter is resized.
We could call SetSashPositionAndNotify() twice in a row which was probably
unexpected and possibly wasteful, if the user code did anything non trivial in
response to this event.

Just call it once after we're certain which sash position do we want to set.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69601 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-30 19:48:50 +00:00
Vadim Zeitlin
1b5dfa53aa Fix the check for second window becoming too small in wxSplitterWindow.
There was a strange check for the second pane size in OnSize() which hardcoded
5 pixels as minimal pane size in the check and 40 pixels as the minimal size
to set. This resulted in strange behaviour when the second pane size would
decrease to 6 pixels smoothly and then jump back to 40 pixels when the
splitter window was resized and also was ugly at the code level.

Get rid of this code and simply call AdjustSashPosition() to ensure that the
sash position remains valid as the splitter is resized.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-30 19:48:48 +00:00
Vadim Zeitlin
853f4764c0 Make the initial sash position work in splitter sample.
The initial splitter size must be set correctly when using gravity with
wxSplitterWindow as otherwise the sash would jump on first resize -- which was
exactly what happened in the splitter sample.

Add a SetSize() call to the sample with the comment explaining why is it
needed and also actually make it stick as the cached last size was not updated
before the splitter was split before.

Closes #9821.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-30 19:48:44 +00:00
Vadim Zeitlin
c79d40fe1e Don't apply gravity before requested sash position was set in wxSplitterWindow.
Gravity should take effect only after the originally requested sash position
is set as otherwise it's not really taken into account.

Closes #13508.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69598 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-30 19:48:40 +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
7e132bdd47 Fix assert in generic wxListCtrl icon view when using images.
Don't assume that the item image is a valid index in m_small_image_list as we
may be in icon view which doesn't use small images at all.

For now restrict this code to the report view mode as apparently the cached
line height is not supposed to be used in other modes even though it's not
clear whether this is really the case and so, perhaps, this code should also
be used when in small icons view mode.

Closes #13604.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-30 14:19:47 +00:00
Paul Cornett
07acbd34a5 parenthesize bitwise operator in logical expression
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69572 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-29 04:49:38 +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
Václav Slavík
5bb82ad49f Fix incorrect handling of ItemsAdded() in wxDataViewCtrl.
When adding items to the model in bulk and then calling ItemsAdded(),
internal representation in both the generic and GTK+ versions wasn't
updated correctly if the order of the notifications was such that an
item would be inserted after other new, but not yet inserted, items.

Fixes bug #13587.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69547 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-26 17:10:27 +00:00
Václav Slavík
60d6c7fd37 Use the new wxDataViewRenderer activation API in wxTreeListCtrl.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69499 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-21 16:34:35 +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
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
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
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
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
95c0502bae No changes, just get rid of unnecessary variables in wxCairoBitmapData.
Don't use bw and bh when we have perfectly appropriate m_width and m_height.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69362 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-09 22:07:35 +00:00
Vadim Zeitlin
00953cf010 Don't declare wxCairoFontData::m_underlined unnecessarily.
This member was only used in wxGTK-specific code but it was declared for all
platforms which was unnecessary and confusing.

Move its declaration in wxGTK-only section of the class.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69361 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-09 22:07:32 +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
7931320806 Fixed non-existent wxCairoContext default ctor.
wxCairoContext class declared default ctor which wasn't implemented and even
couldn't be implemented because its base class didn't have any default ctor
neither.

Fix this by providing a ctor taking wxGraphicsRenderer* and implement it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69354 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-09 22:07:10 +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
5f606e6515 No changes, just refactor wxCairoBitmapData ctor.
Extract the code for buffer and surface creation into separate helper
functions so that they could be reused by other constructors (to be added in
the next commits).

Also use cairo_format_stride_for_width(), if available, to compute the stride
for the surfaces we create instead of hard coding 4*width.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69352 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-09 22:07:04 +00:00
Václav Slavík
28fefd45f9 Return true from wxDataViewMainWindow::ItemDeleted().
Presumably, 'false' indicates failure, but there's no failure here: if
an item is not visible, because its parent wasn't expanded yet, it's
perfectly OK that we don't need to do anything.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69344 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-09 13:07:10 +00:00
Václav Slavík
a67e6b86f6 Handle inline editing in generic wxDataViewCtrl as Windows 7 does.
Mimic the behavior of Windows 7's Explorer: edit the item that has focus
if it is selected or the first selected item if focus is out of
selection.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69323 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-07 17:24:06 +00:00
Václav Slavík
1c8e71c92d Add columns focus and keyboard navigation to generic wxDataViewCtrl.
The UI tries to mimic Windows 7's Explorer's approach as much as
possible, taking inspiration in the GTK+ implementation when
appropriate. In particular, as long as the user doesn't use horizontal
navigation keys, everything looks as before and the user isn't bothered
with the existence of per-cell focus.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69322 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-07 15:03:02 +00:00
Vadim Zeitlin
f58f412be8 Fix current field highlighting in generic wxTimePickerCtrl under wxGTK.
In wxGTK, calling HighlightCurrentField() from EVT_SET_FOCUS handler was not
enough as the highlighting was overwritten by the default behaviour of
selecting the entire text control contents on focus gain.

Fix this by calling SetFocus() from HighlightCurrentField() before updating
the selection. This ensures that the correct field is always highlighted.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69291 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-02 13:15:19 +00:00
Vadim Zeitlin
e941b45e41 Use wxSP_WRAP for generic wxTimePicker spin button.
This ensures that the spin button arrows are always enabled, as they should
be, even under wxGTK where wxSpinButton disables its arrows on its own if its
value reaches the end of its range and wxSP_WRAP is not used.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69289 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-02 12:58:48 +00:00
Vadim Zeitlin
a166dbbab5 Restore correct wxSearchCtrl size in wxMSW after wxTextCtrl changes.
The code in generic wxSearchCtrl implementation was broken by the changes of
r69066 which deccreased the best height of border-less text controls.

Ideally we should probably change wxSearchCtrl::LayoutControls() to not be
sensitive at all to the exact value returned from wxTextCtrl::GetBestSize()
and just always centre everything vertically but this doesn't look simple to
do with the current code so just override wxSearchTextCtrl::DoGetBestSize() to
return the same size as wxTextCtrl used to return before to fix this for now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69284 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-02 11:28:40 +00:00
Vadim Zeitlin
fb5f677b6a Fix harmless gcc initialization order warning.
Put the initializes in wxDataViewTreeNode constructor initialization list in
order of their declaration.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69282 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-02 11:28:32 +00:00
Robin Dunn
75ded4d173 Use wxAlphaPixelData if the source bitmap depth is 32 or if on wxGTK and there is a mask. Add a separate pass on MSW if there is a mask to adjust the cairo surface's alpha to match the mask.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69253 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-30 23:40:02 +00:00
Vadim Zeitlin
39429ad146 Fix assert in initial call to wxPostScriptDC::SetPen().
Attempt to use wxPen::GetStyle() on the initially invalid pen resulted in an
assert, so don't do it and test for pen validity explicitly.

Closes #13524.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69243 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-30 15:26:36 +00:00
Jouk Jansen
829fa97b52 Update OpenVMS compile support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69240 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-30 06:05:00 +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
276f3938c4 VC6 compilation fixes for wxTreeListCtrl.
For some reason comparing wxTreeListItem with its associated Type doesn't work
when using VC6 ("error C2593: 'operator ==' is ambiguous") so help the compiler
to do it.

Also remove the unnecessary (and unsupported by VC6) return from void function.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-29 12:29:38 +00:00
Jouk Jansen
1f11ce5b66 Correcting typo in commit 69203
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69204 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-27 07:14:49 +00:00
Jouk Jansen
afd474aea4 Update openVMS compile support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69203 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-27 05:56:37 +00:00
Vadim Zeitlin
e427c04537 Improve appearance of wxTreeListCtrl during live resizing.
When using the generic wxDataViewCtrl version, forcefully refresh it after
changing its size to avoid artefacts during resizing of wxTreeListCtrl.

Closes #13502.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69183 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-22 10:36:01 +00:00