// @(#)root/gui:$Id$
// Author: Fons Rademakers   20/02/98

/*************************************************************************
 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TRootDialog
#define ROOT_TRootDialog


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// 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
#include "TGFrame.h"
#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
   Bool_t            fHelp;    // if true show Online Help button

public:
   TRootDialog(TRootContextMenu *cmenu = 0, const TGWindow *main = 0,
               const char *title = "ROOT Dialog", Bool_t okB = kTRUE,
               Bool_t cancelB = kTRUE, Bool_t applyB = kFALSE,
               Bool_t helpB = kTRUE);
   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();
   virtual Bool_t HandleKey(Event_t *event);

   void TabPressed();

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

#endif

 TRootDialog.h:1
 TRootDialog.h:2
 TRootDialog.h:3
 TRootDialog.h:4
 TRootDialog.h:5
 TRootDialog.h:6
 TRootDialog.h:7
 TRootDialog.h:8
 TRootDialog.h:9
 TRootDialog.h:10
 TRootDialog.h:11
 TRootDialog.h:12
 TRootDialog.h:13
 TRootDialog.h:14
 TRootDialog.h:15
 TRootDialog.h:16
 TRootDialog.h:17
 TRootDialog.h:18
 TRootDialog.h:19
 TRootDialog.h:20
 TRootDialog.h:21
 TRootDialog.h:22
 TRootDialog.h:23
 TRootDialog.h:24
 TRootDialog.h:25
 TRootDialog.h:26
 TRootDialog.h:27
 TRootDialog.h:28
 TRootDialog.h:29
 TRootDialog.h:30
 TRootDialog.h:31
 TRootDialog.h:32
 TRootDialog.h:33
 TRootDialog.h:34
 TRootDialog.h:35
 TRootDialog.h:36
 TRootDialog.h:37
 TRootDialog.h:38
 TRootDialog.h:39
 TRootDialog.h:40
 TRootDialog.h:41
 TRootDialog.h:42
 TRootDialog.h:43
 TRootDialog.h:44
 TRootDialog.h:45
 TRootDialog.h:46
 TRootDialog.h:47
 TRootDialog.h:48
 TRootDialog.h:49
 TRootDialog.h:50
 TRootDialog.h:51
 TRootDialog.h:52
 TRootDialog.h:53
 TRootDialog.h:54
 TRootDialog.h:55
 TRootDialog.h:56
 TRootDialog.h:57
 TRootDialog.h:58
 TRootDialog.h:59
 TRootDialog.h:60
 TRootDialog.h:61
 TRootDialog.h:62
 TRootDialog.h:63
 TRootDialog.h:64
 TRootDialog.h:65
 TRootDialog.h:66
 TRootDialog.h:67