Spinbox Widget Changelog
Tue Jul 21 1997
- Upgraded to libtool 1.0 and automake 1.2. These finally seem to be stable, so I'm going to release spinbox 1.5.
Tue Apr 1 1997
- Upgraded to libtool-0.9d.
Thu Mar 20 1997
- Upgraded to automake-1.1m and libtool-0.9.
Version 1.5
- Added new code to allow user right click the arrowButtons to call IncrementLarge()/DecrementLarge().
- Added XmpSpinboxGetReal() and XmpSpinboxSetReal().
- Switched from imake to libtool/automake/autoconf. This makes a few things simpler. --enable-debug can be used as a parameter to configure to compile with assertions.
- Changed the default font in the demo.
- Added ``try this...'' box in the demo.
- Updated the README file.
- Added AUTHOR, INSTALL, and THANKS files.
- Removed unused XmRDouble and XmNdouble #defines from Spinbox.h.
- Aliased XmpCreateSpinbox, XmpSpinboxGetValue, XmpSpinboxSetValue, XmpSpinboxGetReal, and XmpSpinboxSetReal to XmCreateSpinbox, XmSpinboxGetValue, XmSpinboxSetValue, XmSpinboxGetReal, and XmSpinboxSetReal, respectively, so that users won't have to remember the Xmp prefix all the time.
- Changed my mail address from cskerr@delenn.jccbi.gov to cskerr@geocities.com in all the files.
Version 1.4
- Never released. Made improvements over v1.3 for my own work, but didn't want to release it to the public until I'd done more tweaking. Everything introduced into 1.4 that was good has made it into 1.5.
Version 1.3
- Changed value type from int to long. The spinbox is getting a lot of use specifying numbers in a very large range; this should help with larger ranges.
- XmNvalue, XmNincrement, XmNincrementLarge, XmNminimum, and XmNmaximum all now take longs.
- Added XmRLong and a string-to-long resource converter. Does this already exist and I'm just missing it?
- Removed strtoi, since it's no longer needed.
- Updated the XmNminimum and XmNmaximum values that were INT_MIN+1 and INT_MAX-1 to LONG_MIN+1 and LONG_MAX-1.
- Rewrote the layout routines again, this time to improve the way the widgets resize. The new layouts should be much more efficient.
- Added XmNbuttonSizeRatio, which defines the ratio (tf width)/(ab width). The default value is 5. This should allow programmers to better define the appearance of the spinbox in narrow margins.
- Added a Boolean argument ``notify'' to XmpSpinboxSetValue()'s argument list. This works identically to the XmToggleButtonSetState ``notify'' argument; it sets whether or not the call to XmpSpinboxSetValue() will trigger the XmNvalueChanged callbacks.
- Attempted to make configuring and building easier on various systems by making most compile specifications configurable from the Spinbox.tmpl file.
- Fixed some small bugs that made it difficult to set some resources from resource files.
- Added int_sprintf() to localize the sprintf() return-type confusion in Spinbox.c. Big deal.
- Slight performance gain by removing an unnecessary call to set_text_field in the tf_activate callback.
- Slight performance gain in XmpSpinboxSetValue(); it now does nothing if new value == current value.
- Changed the resource class for ArrowOrientation to Orientation so that it can be set via the resource file.
- Added XmNspinboxUseClosestValue. If a user types in a value that is over XmNmaximum or under XmNminimum, XmNvalue will be set to XmNmaximum or XmNminimum, respectively. Some people reported their customers were confused that the spinbox would accept some text entry numbers but not others, so this helps give the customers a little feedback about what's happening.
- Added XmNbuttonSizeRatio, which defines the ratio (tf width)/(ab width). The default value is 5.
Version 1.2
- Added XmSPINBOX_STACKED style, which puts the arrow buttons on top and
bottom of the spinbox.
- Modified the default incrementLarge to more reasonable settings for
most of the spinbox types.
- Fixed bug that called valueChangedCallback sometimes even if the value
hadn't changed.
- Changed XmNarrowDirections { XmARROW_UPDOWN, XmARROW_LEFTRIGHT } to the
more Motifish XmNarrowOrientation { XmVERTICAL, XmHORIZONTAL }.
- Fixed bug not displaying the negative symbol (-) on numbers with
decimal points and values between 0 and -1.
- Removed the XmNSpinboxClockSeconds and broke the XmSPINBOX_CLOCK type
into XmSPINBOX_CLOCK_HM and XmSPINBOX_CLOCK_HMS.
- Changed the default minimum and maximum for XmSPINBOX_NUMBER
to INT_MIN+1 and INT_MAX-1, respectively.
- Rewrote the code that determines the child widget layouts.
- All pieces of code changing the value of the widget now call XmpSpinboxSetValue
for consistency.
- Fixed a bug in determining the XmNincrementLarge for XmSPINBOX_NUMBER.
- Changed decimal_get_value and int_get_value to simply truncate user-entered numbers
that have too many decimal places instead of throwing them out completely.
- Small fix to strtoi that removes useless code.
- Added #error preprocessor directive to insure PointerSizedIntegral is defined.
- Fixed a bug in IncrementSmall() and DecrementSmall() actions that
incremented or decremented the spinbox by 1 rather than by XmNincrement.
- Revised the documentation.
- Updated the demo, including the addition of editres ability.
- Many other small fixes and tweaks.
Version 1.1e
- Removed a trivial bug that showed the negative number in the decimal place in XmNspinboxType of XmSPINBOX_NUMBER with decimal places (-10.-51 instead of -10.51).
- Spinbox now responds to requests for XmNsensitive.
- Added XmNspinboxClockSeconds boolean, giving a hour:min:sec format when true
and XmNspinboxType is set to XmSPINBOX_CLOCK
- Removed a bug that occurred only when setting Spinbox style to Separate via resources
- Added actions for up, down, page-up, and page-down while the textfield has focus.
up will increment the value of the spinbox by one, down will decrement by one, page-up
will increment by XmNmultiple, page-down will decrement by XmNmultiple.
- Added XmNmultiple resource to go along with the page-up and page-down actions.
Version 1.1d
- Switched from the LGPL to an even looser license. See LICENSE.html for details.
licenses.
Version 1.1c
- Small fix to XmpSpinboxSetValue() to make it correctly set the textfield to reflect the new value.
- Switched from the GPL to the LGPL.
Version 1.1b
- Added extra options in the .tmpl and Imakefiles to make
Life a little easier to compile on systems that have nonstandard
library and include structures.
Sun patches provided by Andrew Lister (lister@frost.bain.oz.au).
Version 1.1a
- Cleaned up process of setting or not setting a default min,
max, or both; eliminated a number of potential bugs therein.
- Eliminated an unnecessary memcpy(), speeding up things an
insignificant amount and making life easier for people who
for some crazy reason don't have memcpy().
- Added SPRINTF_BROKEN for people who for whatever inadequate
reason don't have an ANSI C compiler.
- Modified dollar_show_value to show $x instead of $x.00.
The code for this was always there, but a dumb bug put in
the .00 anyway.
- Added XtPointer client_data to SpinboxGetValueProc and
SpinboxShowValueProc. Suggestion by Esa Laine
(esa@mielikki.alta-oh.com).
Version 1.1
- Removed XmpSpinboxSetStyle due to lack of usefulness
- Fixed a bug in get_text_field when DONT_USE_XMSTRING_PEEK is defined
- Swapped buffer and buffer_len params in SpinboxShowValueProc to
follow the "qty follows items" convention
- Added alpha_search for no good reason.
- Added #include (or sys/limits.h, depending on
your machine) to Spinbox.c for INT_MIN and INT_MAX.
- Added string and string_len fields to value changed callback
- Removed some unnecessary #includes from spinbox_demo.c
- Changed buffer len type from int to size_t in XmNgetValueProc
Version 1.0