StringChooser - dialog box for choosing items in a list


SYNOPSIS

       #include <InterViews/strchooser.h>


DESCRIPTION

       StringChooser  is  a  dialog  that  manages keyboard focus
       between a StringBrowser and a StringEditor  to  provide  a
       convenient  interface  to selecting strings.  The user can
       select strings either by selecting  them  in  the  String-
       Browser  or  by typing them in the StringEditor. Like Dia-
       log, StringChooser is an abstract class; programmers  must
       derive from StringChooser to add push buttons, etc. and to
       compose them into custom arrangements.

       The user can  focus  keyboard  input  towards  either  the
       StringEditor  or  the  StringBrowser.  To set focus to the
       StringEditor, for example, the  user  left-clicks  in  its
       canvas  to  make  it interpret subsequent keyboard events.
       When either the StringEditor or the  StringBrowser  relin-
       quishes  keyboard  focus, the other acquires it: for exam-
       ple, the user can toggle focus between the two by pressing
       the  tab key repeatedly.  If an entry in the StringBrowser
       is selected when it  loses  focus,  the  (first)  selected
       string will be transferred into the StringEditor.


PUBLIC OPERATIONS

       StringChooser(ButtonState*,  int rows, int cols, const
              char* sam- ple, Alignment)
       StringChooser(const char* name, ButtonState*, int rows,
              int cols, const char* sample, Alignment)
              Construct a new StringChooser with the given button
              state and  pop-up  alignment.   These  constructors
              create  a StringBrowser of the specified size and a
              StringEditor with the  given  sample  string.   The
              StringChooser,  StringBrowser, and StringEditor all
              share the same button state.

       void Select(int point)
       void Select(int left, int right)
       void SelectMessage()
              Select an  insertion  point,  a  subrange,  or  the
              entire edit buffer in the StringEditor.

       void Message(const char* text)
              Set  the contents of the StringEditor's edit buffer
              to text.

       virtual const char* Choice()
              Return the chosen string. The string is returned in
              a static buffer and should be copied before use.

       StringChooser(ButtonState*, Alignment = Center)
              Construct a new StringChooser with the given button
              state and pop-up alignment without creating String-
              Browser and StringEditor instances.  This construc-
              tor should be called in subclasses that  require  a
              specialized  StringEditor or StringBrowser or both.

       void Init(StringEditor*, StringBrowser*)
              Initialize the StringEditor and StringBrowser  that
              StringChooser will use.  This function is useful in
              the constructors of StringChooser  subclasses  that
              require a specialized StringEditor or StringBrowser
              or both.

       virtual void SwitchFocus()
              Prepare to shift  keyboard  focus  to  the  String-
              Browser  if  the StringEditor is focused currently,
              and vice versa.  Focus actually changes  when  Han-
              dleFocus is called (see below).

       virtual boolean CanFocus(Interactor*)
              Return  whether  or not the given interactor can be
              focused.   This  function  is  used  to   determine
              whether  the  StringChooser  should switch focus in
              response to a downclick.

       virtual void HandleFocus()
              Transfer event  reading  to  the  StringBrowser  or
              StringEditor, whichever is the current focus.

       virtual void UpdateEditor()
       virtual void UpdateBrowser()
              Update  StringEditor  and  StringBrowser state when
              the dialog is accepted or in response to  a  change
              in focus.  This function guarantees that the Choice
              operation will return the last choice. By  default,
              UpdateEditor changes the StringEditor's contents to
              match the StringBrowser  selection  (if  any),  and
              UpdateBrowser  clears  out  any selected strings in
              the StringBrowser.


SEE ALSO

       Button(3I),  Dialog(3I),   StringBrowser(3I),   StringEdi-
       tor(3I)









Man(1) output converted with man2html