home *** CD-ROM | disk | FTP | other *** search
- TABLE OF CONTENTS
-
- Numeric.mui/Numeric.mui
- Numeric.mui/MUIA_Numeric_Default
- Numeric.mui/MUIA_Numeric_Format
- Numeric.mui/MUIA_Numeric_Max
- Numeric.mui/MUIA_Numeric_Min
- Numeric.mui/MUIA_Numeric_Reverse
- Numeric.mui/MUIA_Numeric_RevLeftRight
- Numeric.mui/MUIA_Numeric_RevUpDown
- Numeric.mui/MUIA_Numeric_Value
- Numeric.mui/MUIM_Numeric_Decrease
- Numeric.mui/MUIM_Numeric_Increase
- Numeric.mui/MUIM_Numeric_ScaleToValue
- Numeric.mui/MUIM_Numeric_SetDefault
- Numeric.mui/MUIM_Numeric_Stringify
- Numeric.mui/MUIM_Numeric_ValueToScale
- Numeric.mui/Numeric.mui
-
- Numeric class is the base class for everything that
- deals with the input (and display) of integer numbers.
- Numeric class itself does not feature any GUI elements, it
- just offers some basic attributes and methods which are
- common to all types of sliders. Creating direct instances
- of this class usually doesn't make any sense. Instead, use
- one of the included subclasses like Slider.mui,
- Numericbutton.mui or Knob.mui to select the type of gadget
- you need.
-
- Numeric class and the supplied subclasses communicate with a
- set of methods. By writing subclasses which override some of
- them, you can change the behaviour of all sliders to fit
- your requirements. You could e.g. enhance the builtin value
- formatting code which is limited to simple printf-style
- strings by replacing the MUIM_Numeric_Stringify method with
- something more complicated. Or you turn your sliders to
- logarythmic scales by replacing MUIM_Numeric_ValueToScale
- and MUIM_Numeric_ScaleToValue.
-
- Imagine you would like a slider which doesn't only display a
- users age but also makes comments depending on the current
- value, e.g. "13 years (Teenie)" ... "25 years (Twen)" ...
- All you have to do is to write a subclass of any of MUI's
- builtin slider types which does nothing but replace
- MUIM_Numeric_Stringify with your code. See the supplied
- "Slidorama" demo program to see how this might work.
-
- MUI features several different subclasses of Numeric.mui:
- Slider.mui creates an ordinary slider like the ones of
- previous MUI releases. Numericbutton.mui creates a
- space-saving slider, only the value is shown in the user
- interface as kind of a button. When the user clicks on this
- button, a slider pops up to adjust the value. Knob.mui
- displays a very nice designed turning wheel but also offers
- popup possibilities for those who don't like turning a knob
- with the mouse. "Slidorama" demo shows everything that
- is available.
-
- All slider gadgets offer configuration options and make it
- easy for the user to enable things he likes and disable
- things he dislikes. However, it's your choice to decide
- which basic type of gadget shall be used.
-
- If really none of the supplied subclasses of Numeric.mui
- suits your requirements, you may of course write custom
- classes for numeric data input. If you use Numeric.mui as
- base class, you won't need to think about the basic stuff
- like min and max values and formatting.
-
- Keyboard control (TAB, cursor keys, MUIA_ControlChar) is
- handled my Numeric.mui automatically, subclasses will not
- have to care about it.
- Numeric.mui/MUIA_Numeric_Default
-
- NAME
- MUIA_Numeric_Default -- (V11) [ISG], LONG
-
- FUNCTION
- Adjust the default value for a numeric input/display gadget.
- When the object receives a MUIM_Numeric_SetDefault method,
- it sets its value to the one given here.
-
- Each type of slider can have a default value to which the
- user can always return immediately by some action depending
- on the implementation of the subclass. Knob.mui e.g. resets
- to defaults after a double click in the knob area.
-
- The default value can also be reached by pressing the
- toggle key (usually SPACE) on an active numeric gadget.
-
- MUIA_Numeric_Default defaults to 0.
-
- SEE ALSO
- MUIA_Numeric_Max, MUIA_Numeric_Value, MUIA_Numeric_Min,
- MUIM_Numeric_SetDefault
- Numeric.mui/MUIA_Numeric_Format
-
- NAME
- MUIA_Numeric_Format -- (V11) [ISG], STRPTR
-
- FUNCTION
- printf-style string to describe the format of the slider
- display.
-
- Whenever a subclass of Numeric.mui thinks its time to render
- a new value, it doesn't simply write it to a string but
- instead calls MUIM_Numeric_Stringify. This method of Numeric
- class looks for the specified MUIA_Numeric_Format in its data
- structures and fills a string with the current value.
- In detail, things work like his:
-
- - Some slider object (e.g. a knob) receives a MUIM_Draw method.
- - The MUIM_Draw implementation of the knob object reads
- the current value of the Numeric class and calls
- MUIM_Numeric_Stringify with this valuse.
- - MUIM_Numeric_Stringify of numeric class reads the current
- format and sprintf()s the given value to a buffer. The
- buffer is returned the caller.
- - After all this stuff, the MUIM_Draw implementation
- receives a nice string as result code and finally puts
- it somewhere into the window.
-
- All this method stuff might sound a bit crazy, but in fact its
- quite powerful. If you write a subclass of any of MUI's slider
- classes which simply replaces MUIM_Numeric_Stringify with
- your own code, you can create any string you like for display
- in these sliders. You might e.g. want to display a nice formatted
- time string (hh:mm:ss) in a slider knob which adjusts a number
- of seconds. Or you need to adjust a baudrate from a hand of
- predefined values. Just overrided MUIM_Numeric_Stringify and
- you have the choice how the slider value translates into
- a string.
-
- If you dont override MUIM_Numeric_Stringify, the method
- reaches Numeric class which simply does a sprintf() with
- the defined MUIA_Numeric_Format.
-
- Note well: The maximum length of the result string for
- MUIA_Numeric_Format is limited to 32 characters. If you
- need more, you *must* override the method.
-
- MUIA_Numeric_Format defaults to "%ld".
-
- SEE ALSO
- MUIA_Numeric_Max, MUIA_Numeric_Value, MUIA_Numeric_Min,
- MUIM_Numeric_Stringify, MUIM_Numeric_StringifyValue
- Numeric.mui/MUIA_Numeric_Max
-
- NAME
- MUIA_Numeric_Max -- (V11) [ISG], LONG
-
- FUNCTION
- Adjust the maximum value for a numeric input/display
- gadget.
-
- Numeric class will automatically clip its value to make
- it fit between MUIA_Numeric_Min and MUI_Numeric_Max. Also,
- minimum and maximum values are used for several internal
- calculations such as the maximum space required to display
- a numeric value.
-
- You may change MUIA_Numeric_Min and MUIA_Numeric_Max with
- SetAttrs(), but current MUI versions will *not* update
- the objects and with the windows width or height if your
- change causes the value display to change it's minimum
- and/or maximum pixel sizes. The slider position itself
- will be updated though.
-
- MUI treats all values in numeric class as signed
- longwords, so that's the limit for all tags.
-
- MUIA_Numeric_Max defaults to 100.
-
- NOTES
- This attribute replaces the MUIA_Slider_Max tag of
- previous MUI releases. For compatibility reasons,
- both have the same hex value. Nevertheless, always
- use MUIA_Numeric_Max in new code.
-
- SEE ALSO
- MUIA_Numeric_Min, MUIA_Numeric_Value, MUIA_Numeric_Default,
- MUIM_Numeric_GetPixelSize, MUIM_Numeric_ValueToScale,
- MUIM_Numeric_ScaleToValue
- Numeric.mui/MUIA_Numeric_Min
-
- NAME
- MUIA_Numeric_Min -- (V11) [ISG], LONG
-
- FUNCTION
- Adjust the minimum value for a numeric input/display
- gadget.
-
- Numeric class will automatically clip its value to make
- it fit between MUIA_Numeric_Min and MUI_Numeric_Max. Also,
- minimum and maximum values are used for several internal
- calculations such as the maximum space required to display
- a numeric value.
-
- You may change MUIA_Numeric_Min and MUIA_Numeric_Max with
- SetAttrs(), but current MUI versions will *not* update
- the objects and with the windows width or height if your
- change causes the value display to change it's minimum
- and/or maximum pixel sizes. The slider position itself
- will be updated though.
-
- MUI treats all values in numeric class as signed
- longwords, so that's the limit for all tags.
-
- MUIA_Numeric_Min defaults to 0.
-
- NOTES
- This attribute replaces the MUIA_Slider_Min tag of
- previous MUI releases. For compatibility reasons,
- both have the same hex value. Nevertheless, always
- use MUIA_Numeric_Min in new code.
-
- SEE ALSO
- MUIA_Numeric_Max, MUIA_Numeric_Value, MUIA_Numeric_Default,
- MUIM_Numeric_GetPixelSize, MUIM_Numeric_ValueToScale,
- MUIM_Numeric_ScaleToValue
- Numeric.mui/MUIA_Numeric_Reverse
-
- NAME
- MUIA_Numeric_Reverse -- (V11) [ISG], BOOL
-
- FUNCTION
- Reverse the display of a numeric gadget.
-
- When set to TRUE, the MUIM_Numeric_ScaleToValue
- and MUIM_Numeric_ValueToScale methods are effected
- in a way that makes your gadget behave "reverse".
- Its minimum numeric value will be mapped to the
- maximum scale value of the display and vice versa.
-
- MUIA_Numeric_Reverse defaults to FALSE.
-
- NOTES
- This attribute replaces the MUIA_Slider_Reverse tag
- of previous MUI releases. For compatibility reasons,
- both have the same hex value. Nevertheless, always
- use MUIA_Numeric_Reverse in new code.
-
- SEE ALSO
- MUIA_Numeric_Max, MUIA_Numeric_Value, MUIA_Numeric_Default,
- MUIM_Numeric_ValueToScale, MUIM_Numeric_ScaleToValue
- Numeric.mui/MUIA_Numeric_RevLeftRight
-
- NAME
- MUIA_Numeric_RevLeftRight -- (V11) [ISG], BOOL
-
- FUNCTION
- Reverse the function of left/right keys.
-
- Under some circumstances it might be desirable to
- reverse the keyboard control for a slider gadget.
- This tag might help.
-
- MUIA_Numeric_RevLeftRight defaults to FALSE.
-
- SEE ALSO
- MUIA_Numeric_Max, MUIA_Numeric_Value, MUIA_Numeric_Default,
- MUIA_Numeric_Reverse, MUIA_Numeric_RevUpDown
- Numeric.mui/MUIA_Numeric_RevUpDown
-
- NAME
- MUIA_Numeric_RevUpDown -- (V11) [ISG], BOOL
-
- FUNCTION
- Reverse the function of up/down keys.
-
- Under some circumstances it might be desirable to
- reverse the keyboard control for a slider gadget.
- This tag might help.
-
- MUIA_Numeric_RevUpDown defaults to FALSE.
-
- SEE ALSO
- MUIA_Numeric_Max, MUIA_Numeric_Value, MUIA_Numeric_Default,
- MUIA_Numeric_Reverse, MUIA_Numeric_RevUpDown
- Numeric.mui/MUIA_Numeric_Value
-
- NAME
- MUIA_Numeric_Value -- (V11) [ISG], LONG
-
- FUNCTION
- Adjust the current value for a numeric input/display
- gadget. Numeric class will automatically clip this
- value to make it fit between MUIA_Numeric_Min and
- MUI_Numeric_Max.
-
- Whenever a new value is set, the object receices a
- new MUIM_Draw method to get a chance to update its
- display.
-
- MUIA_Numeric_Default defaults to 0.
-
- NOTES
- This attribute replaces the MUIA_Slider_Level tag of
- previous MUI releases. For compatibility reasons,
- both have the same hex value. Nevertheless, always
- use MUIA_Numeric_Value in new code.
-
- SEE ALSO
- MUIA_Numeric_Min, MUIA_Numeric_Max, MUIA_Numeric_Default,
- MUIM_Numeric_Stringify
- Numeric.mui/MUIM_Numeric_Decrease
-
- NAME
- MUIM_Numeric_Decrease (V11)
-
- SYNOPSIS
- DoMethod(obj,MUIM_Numeric_Decrease,LONG amount);
-
- FUNCTION
- Decrease the value of a numeric class object.
-
- SEE ALSO
- MUIM_Numeric_Increase, MUIA_Numeric_Value
- Numeric.mui/MUIM_Numeric_Increase
-
- NAME
- MUIM_Numeric_Increase (V11)
-
- SYNOPSIS
- DoMethod(obj,MUIM_Numeric_Increase,LONG amount);
-
- FUNCTION
- Increase the value of a numeric class object.
-
- SEE ALSO
- MUIM_Numeric_Decrease, MUIA_Numeric_Value
- Numeric.mui/MUIM_Numeric_ScaleToValue
-
- NAME
- MUIM_Numeric_ScaleToValue (V11)
-
- SYNOPSIS
- DoMethod(obj,MUIM_Numeric_ScaleToValue,LONG scalemin, LONG scalemax, LONG scale);
-
- FUNCTION
- This method takes the given sale values and transforms them to
- something between the numeric objects min and max values.
-
- RESULT
- The transformed value.
- Numeric.mui/MUIM_Numeric_SetDefault
-
- NAME
- MUIM_Numeric_SetDefault (V11)
-
- SYNOPSIS
- DoMethod(obj,MUIM_Numeric_SetDefault,);
-
- FUNCTION
- This method does nothing but reset the value to its
- default. Defaults can be adjusted through
- MUIA_Numeric_Default.
-
- Only implementors of custom slider classes will need
- this method. Sending it from applications doesnt make
- any sense.
-
- SEE ALSO
- MUIA_Numeric_Value, MUIA_Numeric_Default
- Numeric.mui/MUIM_Numeric_Stringify
-
- NAME
- MUIM_Numeric_Stringify (V11)
-
- SYNOPSIS
- DoMethod(obj,MUIM_Numeric_Stringify,LONG value);
-
- FUNCTION
- Call this method in your subclass whenever you want to
- translate a value into a string. A pointer to a
- string buffer is returned.
-
- Only implementors of custom slider classes will need
- this method. Sending it from applications doesnt make
- any sense.
-
- EXAMPLE
- ... somewhere in your Draw method ...
-
- get(obj,MUIA_Numeric_Value,&val);
- buf = DoMethod(obj,MUIM_Numeric_Stringify,val);
- Text(rp,buf,strlen(buf));
-
- SEE ALSO
- MUIA_Numeric_Value, MUIA_Numeric_Format
- Numeric.mui/MUIM_Numeric_ValueToScale
-
- NAME
- MUIM_Numeric_ValueToScale (V11)
-
- SYNOPSIS
- DoMethod(obj,MUIM_Numeric_ValueToScale,LONG scalemin, LONG scalemax);
-
- FUNCTION
- This method takes the current value of the numeric object and
- transforms it to another scale determined by the parameters.
-
- RESULT
- The transformed value.
-