library: libGui #include "TGComboBox.h"

# TGComboBox

class description - source file - inheritance tree (.pdf)

## class TGComboBox : public TGCompositeFrame, public TGWidget

| Inheritance Chart:
`TObject`
| <- | `TGObject`
| <- | `TGWindow`
`TQObject`
| <- | `TGFrame`
| <- | `TGCompositeFrame`
`TGWidget`
| <- | `TGComboBox` |
<- |
`TGFontTypeComboBox` |
`TGFSComboBox` |
`TGLineStyleComboBox` |
`TGLineWidthComboBox` |

        protected:

          virtual void Init()

        public:

                               TGComboBox(const TGWindow* p = 0, Int_t id = -1, UInt_t options = kHorizontalFrame|kSunkenFrame|kDoubleBorder, Pixel_t back = GetWhitePixel())
                               TGComboBox(const TGWindow* p, const char* text, Int_t id = -1, UInt_t options = kHorizontalFrame|kSunkenFrame|kDoubleBorder, Pixel_t back = GetWhitePixel())
                               TGComboBox(const TGComboBox&)
                       virtual ~TGComboBox()
                  virtual void AddEntry(TGString* s, Int_t id)
                  virtual void AddEntry(const char* s, Int_t id)
                  virtual void AddEntry(TGLBEntry* lbe, TGLayoutHints* lhints)
                static TClass* Class()
                  virtual void DrawBorder()
           virtual TGDimension GetDefaultSize() const
            virtual TGListBox* GetListBox() const
                 virtual Int_t GetNumberOfEntries() const
                 virtual Int_t GetSelected() const
            virtual TGLBEntry* GetSelectedEntry() const
          virtual TGTextEntry* GetTextEntry() const
                virtual Bool_t HandleButton(Event_t* event)
                virtual Bool_t HandleDoubleClick(Event_t* event)
                virtual Bool_t HandleMotion(Event_t* event)
                virtual Bool_t HandleSelection(Event_t* event)
                virtual Bool_t HandleSelectionRequest(Event_t* event)
                  virtual void InsertEntry(TGString* s, Int_t id, Int_t afterID)
                  virtual void InsertEntry(const char* s, Int_t id, Int_t afterID)
                  virtual void InsertEntry(TGLBEntry* lbe, TGLayoutHints* lhints, Int_t afterID)
               virtual TClass* IsA() const
                virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
                  virtual void RemoveEntries(Int_t from_ID, Int_t to_ID)
                  virtual void RemoveEntry(Int_t id)
                  virtual void ReturnPressed()
                  virtual void SavePrimitive(ofstream& out, Option_t* option)
                  virtual void Select(Int_t id)
                  virtual void Selected(Int_t widgetId, Int_t id)
                  virtual void Selected(Int_t id)
                  virtual void Selected(const char* txt)
                  virtual void SetTopEntry(TGLBEntry* e, TGLayoutHints* lh)
                  virtual void ShowMembers(TMemberInspector& insp, char* parent)
                  virtual void Streamer(TBuffer& b)
                          void StreamerNVirtual(TBuffer& b)

### Data Members

        protected:

                   TGLBEntry* fSelEntry    selected item frame
                 TGTextEntry* fTextEntry   text entry
          TGScrollBarElement* fDDButton    button controlling drop down of popup
             TGComboBoxPopup* fComboFrame  popup containing a listbox
                   TGListBox* fListBox     the listbox with text items
             const TGPicture* fBpic        down arrow picture used in fDDButton
               TGLayoutHints* fLhs         layout hints for selected item frame
               TGLayoutHints* fLhb         layout hints for fDDButton
               TGLayoutHints* fLhdd        layout hints for fListBox

## Class Description

     TGComboBox, TGComboBoxPopup

     A combobox (also known as a drop down listbox) allows the selection
     of one item out of a list of items. The selected item is visible in
     a little window. To view the list of possible items one has to click
     on a button on the right of the little window. This will drop down
     a listbox. After selecting an item from the listbox the box will
     disappear and the newly selected item will be shown in the little
     window.

     The TGComboBox is user callable. The TGComboBoxPopup is a service
     class of the combobox.

     Selecting an item in the combobox will generate the event:
     kC_COMMAND, kCM_COMBOBOX, combobox id, item id.

TGComboBox(const TGWindow *p, Int_t id, UInt_t options, ULong_t back) : TGCompositeFrame (p, 10, 10, options | kOwnBackground, back)

     Create a combo box widget.

TGComboBox(const TGWindow *p, const char *text, Int_t id, UInt_t options, ULong_t back) : TGCompositeFrame (p, 10, 10, options | kOwnBackground, back)

~TGComboBox()

     Delete a combo box widget.

void Init()

     init

void DrawBorder()

     Draw border of combo box widget.

void SetTopEntry(TGLBEntry *e, TGLayoutHints *lh)

     Set a new combo box value (normally update of text string in
     fSelEntry is done via fSelEntry::Update()).

void Select(Int_t id)

     Make the selected item visible in the combo box window.

Bool_t HandleButton(Event_t *event)

     Handle mouse button events in the combo box.

Bool_t HandleDoubleClick(Event_t *event)

     handle double click in text entry

Bool_t HandleMotion(Event_t *event)

     handle pointer motion in text entry

Bool_t HandleSelection(Event_t *event)

     handle selection  in text entry

Bool_t HandleSelectionRequest(Event_t *event)

     handle selection request in text entry

Bool_t ProcessMessage(Long_t msg, Long_t, Long_t parm2)

     Process messages generated by the listbox and forward
     messages to the combobox message handling window. Parm2 contains
     the id of the selected listbox entry.

void Selected(Int_t widgetId, Int_t id)

     Emit signal.

void ReturnPressed()

     Add new entry to combo box when return key pressed inside text entry
     ReturnPressed signal is emitted.

void SavePrimitive(ofstream &out, Option_t *option)

     Save a combo box widget as a C++ statement(s) on output stream out.

### Inline Functions

             TGDimension GetDefaultSize() const
                    void AddEntry(TGString* s, Int_t id)
                    void AddEntry(const char* s, Int_t id)
                    void AddEntry(TGLBEntry* lbe, TGLayoutHints* lhints)
                    void InsertEntry(TGString* s, Int_t id, Int_t afterID)
                    void InsertEntry(const char* s, Int_t id, Int_t afterID)
                    void InsertEntry(TGLBEntry* lbe, TGLayoutHints* lhints, Int_t afterID)
                    void RemoveEntry(Int_t id)
                    void RemoveEntries(Int_t from_ID, Int_t to_ID)
                   Int_t GetNumberOfEntries() const
              TGListBox* GetListBox() const
            TGTextEntry* GetTextEntry() const
                   Int_t GetSelected() const
              TGLBEntry* GetSelectedEntry() const
                    void Selected(Int_t id)
                    void Selected(const char* txt)
                 TClass* Class()
                 TClass* IsA() const
                    void ShowMembers(TMemberInspector& insp, char* parent)
                    void Streamer(TBuffer& b)
                    void StreamerNVirtual(TBuffer& b)
              TGComboBox TGComboBox(const TGComboBox&)

Author: Fons Rademakers 13/01/98
Last update: root/gui:$Name: $:$Id: TGComboBox.cxx,v 1.30 2005/06/01 12:35:55 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *