#ifndef ROOT_TRootDialog
#define ROOT_TRootDialog

//+SEQ,CopyRight,T=NOINCLUDE.

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TRootDialog                                                          //
//                                                                      //
// A TRootDialog is used to prompt for the arguments of an object's     //
// member function. A TRootDialog is created via the context menu's     //
// when selecting a member function taking arguments.                   //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TGFrame
//*KEEP,TGFrame.
#include "TGFrame.h"
//*KEND.
#endif

class TRootContextMenu;


class TRootDialog : public TGTransientFrame {

private:
   TRootContextMenu *fMenu;    // associated context menu
   TGLayoutHints    *fL1;      // label layout
   TGLayoutHints    *fL2;      // text entry layout
   TList            *fWidgets; // label and text field widgets created in dialog
   Bool_t            fOk;      // if true show OK button
   Bool_t            fCancel;  // if true show Cancel button
   Bool_t            fApply;   // if true show Apply button

public:
   TRootDialog(TRootContextMenu *cmenu, const TGWindow *main, const char *title,
               Bool_t okB = kTRUE, Bool_t cancelB = kTRUE, Bool_t applyB = kFALSE);
   virtual ~TRootDialog();

   virtual void Add(const char *argname, const char *value, const char *type);
   //virtual void Add(TGComboBox *optionSel);

   virtual const char *GetParameters();

   virtual void CloseWindow();
   virtual void Popup();

   ClassDef(TRootDialog,0)  //Native GUI method argument prompt dialog box
};

#endif