#ifndef __TGMrbLabelCombo_h__
#define __TGMrbLabelCombo_h__
#include "Rtypes.h"
#include "TSystem.h"
#include "TGWindow.h"
#include "TGFrame.h"
#include "TGComboBox.h"
#include "TMrbLofNamedX.h"
#include "TGMrbObject.h"
#include "TGMrbLayout.h"
class TGMrbLabelCombo: public TGCompositeFrame, public TGMrbObject {
public:
enum EGMrbEntryButton { kGMrbComboButtonUp,
kGMrbComboButtonDown,
kGMrbComboButtonBegin,
kGMrbComboButtonEnd
};
public:
TGMrbLabelCombo(const TGWindow * Parent, const Char_t * Label,
TMrbLofNamedX * Entries,
Int_t FrameId, Int_t Selected,
Int_t Width, Int_t Height, Int_t ComboWidth,
TGMrbLayout * FrameGC,
TGMrbLayout * LabelGC = NULL,
TGMrbLayout * ComboGC = NULL,
TGMrbLayout * UpDownBtnGC = NULL,
Bool_t BeginEndBtns = kFALSE,
UInt_t FrameOptions = kHorizontalFrame,
UInt_t ComboOptions = kHorizontalFrame|kSunkenFrame|kDoubleBorder);
~TGMrbLabelCombo() {};
Bool_t AddEntries(TMrbLofNamedX * Entries);
inline TGComboBox * GetComboBox() const { return(fCombo); };
inline TGPictureButton * GetUpButton() const { return(fUp); };
inline TGPictureButton * GetDownButton() const { return(fDown); };
inline TGPictureButton * GetBeginButton() const { return(fBegin); };
inline TGPictureButton * GetEndButton() const { return(fEnd); };
void UpDownButtonEnable(Bool_t Flag = kTRUE);
const Char_t * GetText() const;
void SetText(const Char_t * Text);
inline void Select(Int_t ItemIdx) { fCombo->Select(ItemIdx, kFALSE); };
inline Int_t GetSelected() { return(fCombo->GetSelected()); };
inline TMrbNamedX * GetSelectedNx() { return(fEntries.FindByIndex(fCombo->GetSelected())); };
inline TMrbNamedX * GetEntry(Int_t Index) { return((TMrbNamedX *) fEntries.FindByIndex(Index)); };
void BeginButtonPressed();
void EndButtonPressed();
void UpButtonPressed();
void DownButtonPressed();
inline void SelectionChanged(Int_t Selection) { this->SelectionChanged(fFrameId, Selection); };
void SelectionChanged(Int_t FrameId, Int_t Selection);
inline void Help() { gSystem->Exec(Form("mrbHelp %s", this->ClassName())); };
protected:
Int_t fFrameId;
TGComboBox * fCombo;
TMrbLofNamedX fEntries;
TGPictureButton * fUp;
TGPictureButton * fDown;
TGPictureButton * fBegin;
TGPictureButton * fEnd;
ClassDef(TGMrbLabelCombo, 1)
};
#endif