ROOT logo
#include "TDialog.h"

ClassImp(TDialog)
TDialog::TDialog(char* title,int N, TString *label, TString* value, int* stat, int w, int h):TGTransientFrame(gClient->GetRoot(),gClient->GetRoot(),w,h)
{
  int i;
  mN = N;
  mLabel = label;
  mValue = value;
  mStat = stat;
  for(i=0;i<mN;i++)
  {
    mDgLbl[i] = new TGLabel(this, (char*)mLabel[i].Data()) ;
    mTE[i] = new TGTextEntry(this, (char*)mValue[i].Data());
    AddFrame(mDgLbl[i],new TGLayoutHints(kLHintsExpandX));
    AddFrame(mTE[i],new TGLayoutHints(kLHintsExpandX));
  }
  mOKb = new TGTextButton(this, "Ok", 21);
  mCancelb = new TGTextButton(this, "Cancel", 22);
  AddFrame(mOKb,     new TGLayoutHints(kLHintsExpandX));
  AddFrame(mCancelb, new TGLayoutHints(kLHintsExpandX));
  SetWindowName((char*)title);
  MapSubwindows();
  Resize(GetDefaultSize());
  MapWindow();  
  gClient->WaitFor(this);
}
TDialog::~TDialog()
{
  int i;
  for(i = 0;i<mN;i++)
  {
    delete mDgLbl[i];
    delete mTE[i];
  } 
  delete mOKb;
  delete mCancelb;
}
////////////////////////////////////////////////////////////////////////////
void TDialog::CloseWindow()
{
  *mStat = 0;
  delete this;
  return;
}
bool TDialog::ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
{
  int i;
  switch (GET_MSG(msg)) 
  {
    case kC_COMMAND:
      switch (GET_SUBMSG(msg)) 
      {
        case kCM_BUTTON:
          switch (parm1) 
          {
            case 21:
              for(i=0;i<mN;i++)
                if(mTE[i]->GetBuffer()) mValue[i] = mTE[i]->GetText();
                else mValue[i] = "";
		          *mStat = 1;
              delete this;
              break;
            case 22:
		          *mStat = 0;
              delete this;
              break;
          }
     }
  }
  return true;
}
 TDialog.cxx:1
 TDialog.cxx:2
 TDialog.cxx:3
 TDialog.cxx:4
 TDialog.cxx:5
 TDialog.cxx:6
 TDialog.cxx:7
 TDialog.cxx:8
 TDialog.cxx:9
 TDialog.cxx:10
 TDialog.cxx:11
 TDialog.cxx:12
 TDialog.cxx:13
 TDialog.cxx:14
 TDialog.cxx:15
 TDialog.cxx:16
 TDialog.cxx:17
 TDialog.cxx:18
 TDialog.cxx:19
 TDialog.cxx:20
 TDialog.cxx:21
 TDialog.cxx:22
 TDialog.cxx:23
 TDialog.cxx:24
 TDialog.cxx:25
 TDialog.cxx:26
 TDialog.cxx:27
 TDialog.cxx:28
 TDialog.cxx:29
 TDialog.cxx:30
 TDialog.cxx:31
 TDialog.cxx:32
 TDialog.cxx:33
 TDialog.cxx:34
 TDialog.cxx:35
 TDialog.cxx:36
 TDialog.cxx:37
 TDialog.cxx:38
 TDialog.cxx:39
 TDialog.cxx:40
 TDialog.cxx:41
 TDialog.cxx:42
 TDialog.cxx:43
 TDialog.cxx:44
 TDialog.cxx:45
 TDialog.cxx:46
 TDialog.cxx:47
 TDialog.cxx:48
 TDialog.cxx:49
 TDialog.cxx:50
 TDialog.cxx:51
 TDialog.cxx:52
 TDialog.cxx:53
 TDialog.cxx:54
 TDialog.cxx:55
 TDialog.cxx:56
 TDialog.cxx:57
 TDialog.cxx:58
 TDialog.cxx:59
 TDialog.cxx:60
 TDialog.cxx:61
 TDialog.cxx:62
 TDialog.cxx:63
 TDialog.cxx:64
 TDialog.cxx:65
 TDialog.cxx:66
 TDialog.cxx:67
 TDialog.cxx:68
 TDialog.cxx:69
 TDialog.cxx:70
 TDialog.cxx:71
 TDialog.cxx:72