Commit Graph

89 Commits

Author SHA1 Message Date
Vadim Zeitlin
c1cd1e01b5 Fix wxSpinCtrl best size calculation for GTK+ 3
Don't hard code the width of spin buttons in wxGTK, this more or less worked
for GTK+ 2 (at least with the default theme, it was perfectly possible that it
also didn't work with some other ones), but not at all with GTK+ 3 where the
buttons are much wider than the hardcoded value.

Instead, do the same thing as wxSpinButton wxGTK implementation already does
and force the GTK+ widget to compute its preferred size as we need it, i.e.
without taking the text width into account, by forcing the width of the text
entry to 0.

Notice that for GTK+ 3.12+ we also need to set the max width to 0 as well to
prevent the entry from making itself big enough for that many characters,
see #17051.
2016-04-03 18:04:26 +02:00
Dimitri Schoolwerth
8f8d58d193 Use wx-prefixed macros throughout the repository.
Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
2015-04-23 22:00:35 +04:00
Paul Cornett
8f97969383 add missing GTK3 implementations of GTKGetWindow()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75864 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-09 19:53:17 +00:00
Vadim Zeitlin
dcbf35f87c Use RIAA wrapper for wxSpinCtrl event disabling in wxGTK.
The use of wxSpinCtrlEventDisabler class ensures that we never forget to
reenable the events after disabling them.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74633 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-06 17:00:10 +00:00
Vadim Zeitlin
b736d59eb5 Don't generate any events from wxSpinCtrl and wxSpinCtrlDouble methods.
After the changes of r53758 wxMSW didn't generate any wxEVT_TEXT events but
this was still the case for the generic version (and hence for
wxSpinCtrlDouble under MSW too) and wasn't documented.

Fix all versions to avoid sending events for programmatic actions, add unit
tests checking this behaviour and document it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74631 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-06 17:00:00 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
ce7fe42e84 Provide shorter synonyms for wxEVT_XXX constants.
Use the same short names as are used by the event table macros for the event
type constants themselves. This makes them much more comfortable to use, e.g.
Bind(wxEVT_BUTTON) compared to Bind(wxEVT_COMMAND_BUTTON_CLICKED).

The old long names are still kept for backwards compatibility and shouldn't be
removed as it doesn't really cost anything to continue providing them, but all
new event types should only use the short versions.

Closes #10661.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-25 10:11:03 +00:00
Paul Cornett
7fff16b863 Simplify GetDefaultAttributesFromGTKWidget() by passing the widget to use,
rather than a pointer to a function to create the widget


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-25 02:23:34 +00:00
Vadim Zeitlin
40aa1a7e60 Implement GetSizeFromTextSize() for wxSpinCtrl.
Implement it for the native MSW and GTK versions and the generic one used in
the other ports and also for wxSpinCtrlDouble under MSW.

Also test this function in the spin page of the widgets sample.

Closes #14840.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72995 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-20 12:49:53 +00:00
Paul Cornett
8ab7533289 Disconnect all GTK signals referencing a wx object which is being destructed
or which is destroying the associated GTK object


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72696 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-17 16:23:18 +00:00
Paul Cornett
84f623f883 remove some unnecessary casts
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72605 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-02 16:19:33 +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
b9b1eec604 Remove wxRTTI macros from wxSpinCtrlGTKBase.
This is not a public class and it doesn't need to be appear in wxRTTI.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72411 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-08-30 20:23:26 +00:00
Paul Cornett
9dc44eff02 support for GTK3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71894 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-30 20:39:06 +00:00
Paul Cornett
d5027818a4 fix warnings about conversion to bool, closes #14381
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71685 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-07 05:18:30 +00:00
Paul Cornett
385e8575dd avoid deprecated functions and direct struct access
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67326 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-28 06:27:49 +00:00
Dimitri Schoolwerth
80fdcdb90e No changes, synchronised source names that appear commented at the top of files with the actual path to the files.
Fixed commented names (path, filename, and extension) of files in include/ and src/. Prepended the names in src/ with "src/" everywhere, while starting those in include/wx/ with "wx/".

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-20 00:14:35 +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
c85a79963d Preserve page size when changing increment in wxGTK wxSpinCtrlDouble.
The page size was wrongly reset when changing the increment before.

See #12342.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65672 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-29 13:46:19 +00:00
Vadim Zeitlin
63fb690734 Fix wrong return value of wxGTK wxSpinCtrlDouble::GetIncrement().
Due to confusion in gtk_spin_button_get_increments() parameters order the page
size was returned instead of the increment.

See #12342.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65671 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-29 13:46:14 +00:00
Paul Cornett
f0368d28bf wxSpinCtrl values are always integral, they don't need to be rounded
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-10 17:36:53 +00:00
Paul Cornett
845a6bbf74 avoid causing idle event from GetValue(), fixes #11013
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62574 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-08 23:50:46 +00:00
Vadim Zeitlin
f1ddb476b1 use wxALIGN_LEFT/CENTRE/RIGHT instead of wxTE_XXX to avoid problems with the latter not being defined in wx/spinctrl.h on non-MSW platforms (see #10621)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 10:55:55 +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
Robert Roebling
05cc88c0c6 use wxRound(x), not int(x+0.5)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57910 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-08 15:09:45 +00:00
Vadim Zeitlin
5c33522fca replace wx_{const,static,reinterpret}_cast with their standard C++ equivalents
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 02:39:52 +00:00
Paul Cornett
9ff9d30c0a Hold a reference on m_widget for the life of the associated wxWindow object.
This allows removing some ugly hacks, and leaking of GtkWidgets by wxNotebook.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-26 16:19:23 +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
Václav Slavík
937013e0fd 1. added wxEvtHandler::SafelyProcessEvent() and wxWindow::HandleWindowEvent() to correctly handle exceptions in even handlers in wxGTK
2. use HandleWindowEvent() everywhere as more obvious and convenient shortcut for GetEventHandler()->ProcessEvent(); also for consistency with wxGTK where it's required

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-29 17:00:58 +00:00
Paul Cornett
301f696372 build fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48668 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-14 04:22:04 +00:00
Paul Cornett
00dc977232 more value updating fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-14 04:11:01 +00:00
Robert Roebling
4a783bb436 Use GTK_SPIN_BUTTON() not (GtkSpinButton*)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48658 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-13 14:36:32 +00:00
Robert Roebling
4a03bf0918 [ 1793012 ] wxSpinCtrl::SetValue() doesn't update internal counter
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-13 14:27:18 +00:00
Robert Roebling
0bf36922c8 Block all events in wxSpinCtrl::SetValue etc.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47289 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-10 11:48:23 +00:00
Václav Slavík
0cb7e05cd1 PCH-less compilation fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45689 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-27 15:50:07 +00:00
Vadim Zeitlin
e8375af8ff remove wxWindow::m_needParent and use GTKNeedsParent() which can be overridden in just wxMenuBar (and not set in each and every wxGTK control)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-23 15:16:06 +00:00
Paul Cornett
a1abca322f Reorganize idle system code.
Installing idle handler from GTK callbacks is no longer necessary.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45537 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-19 16:58:07 +00:00
Vadim Zeitlin
cf5d50573f set string field of wxCommandEvent object generated by spin control when its text changes (part of patch 1312699)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45190 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-31 15:16:35 +00:00
Vadim Zeitlin
28e88942bc use native TAB traversal for GTK+ 2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45073 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-26 19:30:20 +00:00
Vadim Zeitlin
ef5c70f96f Many changes:
- Introduced GTKGetWindow() which returns all GdkWindows associated with the
  given wxWindow
- Renamed IsOwnGtkWindow() to GTKIsOwnWindow() to avoid confusion with the old
  virtual function (the new one is non-virtual and is implemented in terms of
  GTKGetWindow())
- Refactored/simplified event handlers code in gtk/window.cpp
- Fixed some header guards names (__GTKFOO__ -> _WX_GTK_FOO_H_)
- Added GTKUpdateCursor() which sets the current cursor for all windows
  returned by GTKGetWindow()
- Factored out code from many different classes in wxControl::OnInternalIdle()
  which now updates the cursor, checks for internal focus and sends update UI
  events


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40815 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-08-25 12:59:28 +00:00
Paul Cornett
7f81dfa1a0 gtk spinctrl code simplification
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39217 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-18 17:04:16 +00:00
Włodzimierz Skiba
de6185e212 Include wx/utils.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38972 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-02 10:39:23 +00:00
Włodzimierz Skiba
8e13c1ec4e Make wxPASSWORD and wxPROCESS_ENTER really deprecated.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38409 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-28 11:02:37 +00:00
Vadim Zeitlin
848332140b moved wxapp_install_idle_handler and g_isIdle from many cpp files into gtk/private.h (patch 1435529)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37931 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-09 13:36:53 +00:00
Mart Raudsepp
9fa72bd2a6 Use g_signal* instead of deprecated gtk_signal*. Use proper casts for the arguments.
Worth norting from the GTK+ docs: "For future usage, direct use of the GSignal API is recommended, this avoids
significant performance hits where GtkArg structures have to be converted into GValues."


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37061 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-22 23:28:58 +00:00
Mart Raudsepp
3d257b8db1 Remove stray whitespaces
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36875 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-14 18:32:37 +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
Vadim Zeitlin
865bb3251e GTK+ callbacks must have C linkage (patch 1157384)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32974 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-21 23:42:26 +00:00
Włodzimierz Skiba
463c4d7193 wx/math.h integration
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31012 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-12-14 21:10:15 +00:00
Robin Dunn
9f88452895 * Implemented BestSize cache
* Added calls to InvalidateBestSize where things affecting BestSize
  are modified.  There are probably several other places where this
  still needs to be done...

* Added wxWindowBase::GetBestFittingSize that will merge the BestSize
  into the MinSize, (if any) and return the result.

* SetBestFittingSize will now only set the MinSize to the value that
  was passed to it, without merging in the BestSize


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-06-24 20:09:45 +00:00