Commit Graph

111 Commits

Author SHA1 Message Date
Vadim Zeitlin
9bd25c8670 Generate wxEVT_COMMAND_TEXT_ENTER events for generic wxSpinCtrl.
Pass wxTE_PROCESS_ENTER to wxSpinCtrlTextGeneric if it's specified for
wxSpinCtrl itself and also forward wxEVT_COMMAND_TEXT_ENTER events from it to
wxSpinCtrl itself.

This fixes lack of these events for wxSpinCtrlDouble under MSW and also lack
of them for any kind of wxSpinCtrl in the ports using generic version (notably
wxOSX).

Closes #14604.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72415 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-08-30 20:25:01 +00:00
Vadim Zeitlin
9e565667d0 Add wxSpinCtrl::SetBase() to allow entering hexadecimal numbers.
Add a generic SetBase() API even though right now only bases 10 and 16 are
supported as we might support other ones (e.g. 8?) in the future. Implement it
for MSW, GTK and generic versions.

Add controls allowing to test this feature to the widgets sample.

Add "base" property support to the XRC handler for wxSpinCtrl, document it and
test it in the xrc sample.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72414 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-08-30 20:24:38 +00:00
Vadim Zeitlin
62f96636b5 Refactor text to/from double conversion in wxSpinCtrlGenericBase.
The code always used ToDouble() and Format("%g") which was a bit strange for
integer-valued wxSpinCtrl. Move the conversions to their own virtual functions
for clarity, perhaps correctness and, especially, flexibility as they will be
overridden in wxSpinCtrl soon.

Also move wxSpinCtrlGenericBase::m_format to wxSpinCtrlDouble as the base
class really doesn't need it at all.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72412 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-08-30 20:23:49 +00:00
Vadim Zeitlin
c8fb50b794 Fix reparenting generic wxSpinCtrl.
The existing Reparent() implementation was wrong as it reparented spin control
subwindows under the new parent but left the main window itself under the old
one. Fix this by just not overriding Reparent() at all, the inherited version
works just fine for this control.

Closes #13849.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70432 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-21 17:03:52 +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
Václav Slavík
c81394808b Make wxSpinCtrlGeneric usable as wxDVC editor control.
wxDVC installs temporary event handler that watches for focus changes
and some key events. Make wxSpinCtrlGeneric look like a native
wxControl in this respect even though it's actually a composite control.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67665 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-01 18:44:35 +00:00
Vadim Zeitlin
cb7ef329e7 Fix setting tooltips for generic wxSpinCtrl.
Forward the tooltip set for the control to its subcontrols.

Closes #9817.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67199 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-15 11:10:38 +00:00
Vadim Zeitlin
af07be96eb Don't use wxTE_PROCESS_ENTER in wxSpinCtrlGeneric.
We don't need to catch Enter presses to generate spin control events as we do
it anyhow when we lose focus. So simply remove the Enter handling code
entirely (it could be used to generate wxEVT_COMMAND_TEXT_ENTER events but we
don't generate them nor wxEVT_COMMAND_TEXT_UPDATED at all currently in the
generic version).

Closes #12980.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67031 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-26 17:46:54 +00:00
Vadim Zeitlin
42a2d74bd0 Don't use wxTE_NOHIDESEL in wxSpinCtrlGeneric.
There is no reason to use this flag for the spin control and doing it makes it
gratuitously different from the native one under wxMSW.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67030 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-26 17:46:51 +00:00
Stefan Csomor
2895324520 merging back XTI branch part 2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66555 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-04 08:31:53 +00:00
Vadim Zeitlin
3013861102 Make the margin between wxSpinCtrlGeneric sub-windows compatible with MSW.
Native MSW wxSpinCtrl uses a single pixel margin between the text part and the
spin button while the generic version used 2 pixels which resulted in a
slightly different appearance (see #12767).

Use the same margin as MSW now in the generic version too, it should be fine
for the other platforms as well and if it isn't we can always tweak them
later.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66444 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-25 13:46:29 +00:00
Vadim Zeitlin
6f0b6fd1e4 Correct bug in the wxSpinCtrlGeneric sub-controls resizing.
The code in DoMoveWindow() didn't account for the margin and made the text
control part of the window too large resulting in the truncation of the spin
button.

Simply remember to take margin into account when computing the text width.

See #12767.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66443 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-25 13:46:23 +00:00
Vadim Zeitlin
fda43a0e01 Fix compilation of wxSpinCtrlGenericBase when PCH are not used.
This fixes PCH-less compilation broken by r65043.

Closes #12259 (again).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65044 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-22 13:42:38 +00:00
Vadim Zeitlin
9bce7b7b13 Update wxSpinCtrlDouble::m_digits in its SetDigits().
We need to update the internally stored information about the number of digits
we use and not just update the control appearance accordingly.

Also don't do anything at all when the number of digits didn't really change.

Closes #12260.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65042 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-22 12:16:19 +00:00
Vadim Zeitlin
526954c596 Globally use "wxWindows licence" consistently.
Use "wxWindows licence" and not "wxWidgets licence" (the latter doesn't
exist) and consistently spell "licence" using British spelling.

See #12165.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-13 13:29:13 +00:00
Vadim Zeitlin
5276b0a53c Use wxDELETE() and wxDELETEA() when possible.
Use wxDELETE[A]() functions which automatically NULL out their arguments after
deleting them instead of doing it manually.

Closes #9685.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 18:18:23 +00:00
Vadim Zeitlin
3f77c76cc9 Never enable wxSpinCtrlGenericBase window itself at underlying toolkit level.
We create wxSpinCtrlGenericBase window disabled at underlying toolkit level
(but enabled at the level of wxWidgets API, of course), but calling Disable()
and Enable() on it re-enabled it resulting in loss of mouse events under
Windows.

Don't re-enable it (again, at the low-level toolkit level only) in its
Enable() any more but keep this window itself always disabled.

Closes #12045.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-13 15:31:35 +00:00
Vadim Zeitlin
3a71210569 Don't send wxEVT_COMMAND_SPINCTRLDOUBLE_UPDATED when nothing changed.
The generic double spin control sent UPDATED events whenever it lost focus,
whether anything changed or not.

Don't send events unless the controls value has really changed.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-06 12:58:32 +00:00
Vadim Zeitlin
5afb019a0c Always update the value of generic spin control when leaving it.
We could be left with an invalid value in the control when leaving it. E.g. in
the widgets sample whose double spin control has range from 0 to 10, 123 could
be entered in it and was not replaced by 10 when the control lost focus. This
happened because the code didn't bother to update the text control if its
contents already corresponded to the internally stored value -- but this was
wrong as it could have a different representation.

Just always update the text unconditionally when synchronizing it with the
internal value.

See #12004.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64228 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-06 12:58:27 +00:00
Julian Smart
b78ffab030 Applied #8804 ([wxMac] wxSpinCtrl behaviour)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62129 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-25 15:25:25 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
7e4952db83 add alignment flags support to wxSpinCtrl[Double] (closes #10621)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59719 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 09:18:46 +00:00
Vadim Zeitlin
70c147281a also fix handling of wxSP_ARROW_KEYS|wxSP_WRAP (see #10565)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-10 15:45:13 +00:00
Vadim Zeitlin
fd07e185b4 honour wxSP_ARROW_KEYS in wxSpinCtrlGeneric and don't handle the arrows unless it's specified (closes #10565)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59472 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-10 15:36:17 +00:00
Vadim Zeitlin
18e45a88f6 store our styles in wxSpinCtrlGenericBase ctor (needed to make the changes of r59410 actually work, see #10557)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59411 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-07 14:37:53 +00:00
Vadim Zeitlin
42af6685ae support wxSP_WRAP in generic implementation (closes #10557)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59410 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-07 14:27:06 +00:00
Vadim Zeitlin
7f0cbaaa4a correct the signature of the overriden Reparent()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53492 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-08 14:15:07 +00:00
Vadim Zeitlin
405f0fef4b rename classes use by generic wxSpinCtrl implementation to have "Generic" suffix to avoid conflicts with the classes with the same names in wxMac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52673 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-22 03:15:56 +00:00
Vadim Zeitlin
8cd6a9ad50 added wxSpinCtrlDouble (slightly modified patch 1835864)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52612 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-18 14:04:19 +00:00
Vadim Zeitlin
03d4194d6b implement wxSpinCtrl::Reparent() to properly reparent both the spin button and the text control part (slightly modified patch 1914190)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52543 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-15 04:10:43 +00:00
Robin Dunn
170acdc90e GetBestFittingSize --> GetEffectiveMinSize
SetBestFittingSize --> SetInitialSize
SetBestSize  --> SetInitialSize
SetInitialBestSize --> SetInitialSize


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42816 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-31 08:50:17 +00:00
Mart Raudsepp
8907154c1a Nuke #pragma implementation/interface's
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-23 12:56:45 +00:00
Mattia Barbon
9cb6c9a024 Honous initial position for wxSpinCtrl.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35479 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-12 20:06:31 +00:00
Włodzimierz Skiba
422d0ff0be wxDefaultSize.* and wxDefaultPosition.* to wxDefaultCoord.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28324 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-07-20 10:09:47 +00:00
Włodzimierz Skiba
ca65c0440a Code cleaning: wxID_ANY, wxDefaultSize, wxDefaultPosition, true, false, wxEmptyString, tabs and white spaces.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27853 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-06-17 16:22:36 +00:00
Julian Smart
655719367a Use old licence name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 20:53:33 +00:00
Julian Smart
77ffb5937e Name and version changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 14:56:36 +00:00
Włodzimierz Skiba
3fb7939695 Code cleaning.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27341 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-18 17:17:32 +00:00
Robin Dunn
571d14b262 wxMac should use /src/mac/carbon/spinctrl.cpp, applied some sizing
layout fixes to that file, removed wxMac specific parts from the
generic wxSpinCtrl.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27319 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-17 19:14:38 +00:00
Robin Dunn
e459a7940d Tweaks to the generic scpinctrl to handle layouts on wxMac better and
fixed alignment of the spinbutton.  Also, since the generic spinctrl
is used then the generic header should be included.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27301 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-15 19:21:55 +00:00
Václav Slavík
14f355c2b5 added support for gcc precompiled headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-09 12:46:53 +00:00
Julian Smart
6aa89a22b8 Fixed copyrights and licence spelling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 11:55:54 +00:00
Vadim Zeitlin
c1eb1102aa generate spinctrl event when the button was clicked (slightly modified patch 648013)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18076 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-12-06 23:36:01 +00:00
Vadim Zeitlin
739555e321 SetSelection() for generic wxSpinCtrl (forgot to commit before)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16898 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-08-31 22:52:24 +00:00
Stefan Csomor
e466fe5f4d cleanup code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16503 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-08-14 12:58:52 +00:00
Mattia Barbon
1ae72ce2a7 Generate EVT_SPINCTRL_UPDATED for wxMotif, too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16320 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-07-29 20:25:52 +00:00
Mattia Barbon
dba006200f Implemented wxSpinButton for wxMotif.
Renamed generic wxSpinCtrl::DoGetBestClientSize to DoGetBestSize
  ( the "Client" appears to be a relic of the past ).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16303 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-07-28 13:33:29 +00:00
Robert Roebling
d45906e0a7 wxSPinCtrl no longer set focus to its text field
when setting a value.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15645 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-05-23 17:53:44 +00:00
Gilles Depeyrot
9f081f02ea corrected warnings when compiling with -Wall -W
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15353 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-05-03 20:20:55 +00:00
Václav Slavík
094ca819f9 create wxSpinCtrl with default pos+size first, so that the subsequent call to DoSetSize is not a no-op
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14211 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-02-14 20:29:10 +00:00