logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

ButtonState, Button, TextButton, PushButton, RadioButton, CheckBox - interactive buttons

Button Operations

voidPushButton(constchar*text,ButtonState*s,intv)voidPushButton(constchar*text,ButtonState*s,void*v)
              Construct  a  button  with text in the center and a polygon on the outside.  The polygon is like a
              rectangle, but with rounded corners.  When chosen, the entire button is drawn with foreground  and
              background colors reversed.

       voidRadioButton(constchar*text,ButtonState*s,intv)voidRadioButton(constchar*text,ButtonState*s,void*v)
              Construct  a button with a circle on the left and text on the right.  When hit, a second circle is
              drawn inside the first.  When chosen, a filled circle is drawn inside the outer circle.

       voidCheckBox(constchar*text,ButtonState*s,inton,intoff)voidCheckBox(constchar*text,ButtonState*s,void*on,void*off)
              Construct a button with a rectangle on the left and  text  on  the  right.   When  hit,  a  second
              rectangle  is  drawn  inside  the first.  When chosen, two diagonal lines are drawn connecting the
              opposite corners of the rectangle.  When a checkbox is pressed the first time, it sets s to off if
              the value is on and sets s to on otherwise.  Subsequent presses swap the values  of  the  checkbox
              and s.

       voidAttach(Button*)
              Add  to  this  button's  list of associated buttons.  These buttons are enabled when the button is
              chosen and disabled when it is not chosen.

       voidDetach(Button*)
              Remove a button from this button's list of associated buttons.

       voidDisable()
              Stop listening to input events.  Disabled buttons are typically ``grayed out'' by drawing a  half-
              filled rectangle in the background.

       voidEnable()
              Start listening to input events.

       voidChoose()
              Make the button as chosen, enabling any associated buttons.

       voidHandle(Event&)
              If  the  event  type is DownEvent and the button is enabled, call Refresh and read events until an
              UpEvent occurs.  If the button is the target of the UpEvent, then call Press.

       virtualvoidPress()
              Take the appropriate action for the button being pressed.  The default is to  set  the  associated
              state to the button's value, which will trigger all related buttons to update their display.

       virtualvoidRefresh()
              Update the button display.

       voidSetDimensions(intwidth,intheight)
              Specify  the  natural size of the button.  The default size is a function of the size of the text.
              This routine is obsolete; use Interactor::Reshape instead.

       voidUnChoose()
              Mark the button as not chosen, disabling any associated buttons.

Buttonstate Operations

ButtonState()ButtonState(int)ButtonState(void*)
              Define a button state optionally with an initial value.

       voidAttach(Button*)
              Add  a  button  to  the list associated with a button state.  The button will be notified when the
              button state's value is modified.

       voidDetach(Button*)
              Remove a button from the list associated with a button state.

       voidGetValue(int&)voidGetValue(void*&)
              Get the value of a button.

       voidSetValue(int)voidSetValue(void*)
              Set the value of a button state and notify all the buttons associated with the state.

       voidoperator=(ButtonState&)
              Copy the value of one button state to another.  The button list associated with the source  button
              state is not copied.

Description

Button  is  a class of interactors that can set the value of a piece of state.  ButtonState is a class of
       objects that contain a value and a list of buttons that can set its value.  A value is either an  integer
       or an arbitrary pointer.

       TextButton  is  a  subclass  of Button that has an associated text label to be displayed inside or to the
       right of the button.  PushButton,RadioButton, and CheckBox are subclasses  of  TextButton  that  provide
       particular  displays  for  buttons.   Each kind of button will display itself differently for each of the
       five possible cases: ``enabled'', when the button is listening to input, ``disabled'', when the button is
       not listening, ``chosen'', when the button's value is equal to its button state's value, ``hit'', when  a
       button  that  is  not  chosen  first receives a DownEvent, and ``same-hit'', when a button that is chosen
       receives a DownEvent.

       When a button receives a DownEvent, it calls the virtual Refresh() to update its display.  It then  reads
       input  waiting  for an UpEvent.  If the UpEvent coordinates are also within the button, then it calls the
       virtual Press().  The default Press operation sets the associated state's value to the button's value.

       A button can have a list of attached buttons.  When a button is  not  chosen  its  attached  buttons  are
       ``disabled'', meaning they ignore all input events.

Name

       ButtonState, Button, TextButton, PushButton, RadioButton, CheckBox - interactive buttons

See Also

Event(3I), Interactor(3I)

InterViews                                        15 June 1987                                        Button(3I)

Synopsis

#include<InterViews/button.h>

See Also