#ifndef ROOT_TGFontDialog
#define ROOT_TGFontDialog
#ifndef ROOT_TGFrame
#include "TGFrame.h"
#endif
class TGButton;
class TGLabel;
class TGListBox;
class TGComboBox;
class TGColorSelect;
class TGFont;
class TGFontDialog : public TGTransientFrame {
public:
struct FontProp_t {
TString fName;
Int_t fSize;
UInt_t fAlign;
Pixel_t fColor;
Bool_t fBold;
Bool_t fItalic;
};
protected:
TGListBox *fFontNames;
TGListBox *fFontSizes;
TGListBox *fFontStyles;
TGComboBox *fTextAligns;
TGLabel *fSample;
TGColorSelect *fColorSelect;
TString fName;
TString fLName;
FontProp_t *fFontProp;
Bool_t fItalic;
Bool_t fBold;
Int_t fSize;
Int_t fTextAlign;
Pixel_t fTextColor;
Pixel_t fInitColor;
Int_t fInitAlign;
TGFont *fInitFont;
TString fSampleText;
TGGC *fSampleTextGC;
TGFont *fLabelFont;
Bool_t fHitOK;
Int_t fNumberOfFonts;
Bool_t fWaitFor;
Bool_t Build(char **fontList, Int_t cnt);
void GetFontName();
virtual void CloseWindow();
virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2);
public:
TGFontDialog(const TGWindow *parent = 0, const TGWindow *t = 0,
FontProp_t *fontProp = 0, const TString &sample = "",
char **fontList = 0, Bool_t wait = kTRUE);
virtual ~TGFontDialog();
virtual void SetFont(TGFont *font);
virtual void SetColor(Pixel_t color);
virtual void SetAlign(Int_t align);
virtual void EnableAlign(Bool_t on = kTRUE);
virtual void UpdateStyleSize(const char *family);
virtual void FontSelected(char *font)
{ Emit("FontSelected(char*)", font); }
virtual void AlignSelected(Int_t a)
{ Emit("AlignSelected(Int_t)", a); }
virtual void ColorSelected(Pixel_t c)
{ Emit("ColorSelected(Pixel_t)", c); }
ClassDef(TGFontDialog,0)
};
#endif