#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;
}


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.