//*CMZ :  2.00/11 08/08/98  22.37.39  by  Rene Brun
//*CMZ :  1.03/09 23/06/98  18.03.03  by  Rene Brun
//*-- Author :    Rene Brun   04/07/96

//*KEEP,CopyRight,T=C.
/*************************************************************************
 * Copyright(c) 1995-1999, The ROOT System, All rights reserved.         *
 * Authors: Rene Brun, Fons Rademakers.                                  *
 * For list of contributors see $ROOTSYS/AA_CREDITS.                     *
 *                                                                       *
 * Permission to use, copy, modify and distribute this software and its  *
 * documentation for non-commercial purposes is hereby granted without   *
 * fee, provided that the above copyright notice appears in all copies   *
 * and that both the copyright notice and this permission notice appear  *
 * in the supporting documentation. The authors make no claims about the *
 * suitability of this software for any purpose. It is provided "as is"  *
 * without express or implied warranty.                                  *
 *************************************************************************/
//*KEND.

//*KEEP,TROOT.
#include "TROOT.h"
//*KEEP,TAttMarkerCanvas,T=C++.
#include "TAttMarkerCanvas.h"
//*KEEP,TGroupButton,T=C++.
#include "TGroupButton.h"
//*KEEP,TMarker.
#include "TMarker.h"
//*KEEP,TText.
#include "TText.h"
//*KEEP,TVirtualPad.
#include "TVirtualPad.h"
//*KEND.

ClassImp(TAttMarkerCanvas)

//______________________________________________________________________________
//
//   An AttMarkerCanvas is a TDialogCanvas specialized to set line attributes.
//
/*

*/
//
//

//______________________________________________________________________________
 TAttMarkerCanvas::TAttMarkerCanvas() : TDialogCanvas()
{
//*-*-*-*-*-*-*-*-*-*-*-*AttMarkerCanvas default constructor*-*-*-*-*-*-*-*-*-*-*
//*-*                    ================================

}

//_____________________________________________________________________________
 TAttMarkerCanvas::TAttMarkerCanvas(const Text_t *name, const Text_t *title, UInt_t ww, UInt_t wh)
                : TDialogCanvas(name,title,ww,wh)
{
//*-*-*-*-*-*-*-*-*-*-*-*AttMarkerCanvas constructor*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
//*-*                    ========================

   TVirtualPad *padsav = gPad;

   BuildStandardButtons();

//*-*- Marker styles choice buttons
   TGroupButton *test1 = 0;
   TMarker *mark;
   Float_t xlow, ylow, wpad, hpad;
   Int_t i,j;
   xlow = 0.05;
   wpad = 0.19;
   hpad = 0.062;
   char command[64];
   static Int_t markers[15] = { 1, 2, 3, 8, 5,
                               21,22,23,24,25,
                               26,27,28,29,30};
   Int_t number = 0;
   for (j=0;j<3;j++) {
      ylow = 0.34 + j*hpad;
      for (i=0;i<5;i++) {
         number++;
         xlow = 0.05 + i*wpad;
         sprintf(command,"SetMarkerStyle(%d)",markers[number-1]);
         test1 = new TGroupButton("Style","",command,xlow, ylow, xlow+0.9*wpad, ylow+0.9*hpad);
         if (number == 1) test1->SetBorderMode(-1);
         test1->SetFillColor(18);
         test1->SetBorderSize(2);
         test1->Draw();
         test1->cd();
         mark = new TMarker(0.5, 0.5,markers[number-1]);
         mark->SetMarkerSize(2);
         mark->Draw();
         cd();
      }
   }

//*-*-  Marker Size choice buttons
   wpad = 0.19;
   hpad = 0.065;
   Float_t sizem = 0.1;
   for (j=0;j<3;j++) {
      ylow = 0.11 + j*hpad;
      for (i=0;i<5;i++) {
         sizem += 0.2;
         xlow = 0.05 + i*wpad;
         if (!i && !j) sizem = 1;
         sprintf(command,"SetMarkerSize(%f)",sizem);
         test1 = new TGroupButton("Size","",command,xlow, ylow, xlow+0.9*wpad, ylow+0.9*hpad);
         if (!i && !j) test1->SetBorderMode(-1);
         test1->SetFillColor(18);
         test1->SetBorderSize(2);
         test1->Draw();
         test1->cd();
         mark = new TMarker(0.5, 0.5, 24);
         mark->SetMarkerSize(sizem);
         mark->Draw();
         if (!i && !j) sizem = 0.1;
         cd();
      }
   }

//*-* draw colortable pads
   test1->DisplayColorTable("SetMarkerColor",0.05, 0.60, 0.90, 0.38);
   Update();

   padsav->cd();
}

//______________________________________________________________________________
 TAttMarkerCanvas::~TAttMarkerCanvas()
{
//*-*-*-*-*-*-*-*-*-*-*AttMarkerCanvas default destructor*-*-*-*-*-*-*-*-*-*-*-*
//*-*                  ===============================
}

//______________________________________________________________________________
 void TAttMarkerCanvas::UpdateMarkerAttributes(Int_t col,Int_t sty,Float_t msiz)
{
//*-*-*-*-*-*-*-*-*-*-*Update marker attributes*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
//*-*                  ========================

   TIter next(GetListOfPrimitives());
   TGroupButton *button;
   char cmd[64];
   fRefObject = gROOT->GetSelectedPrimitive();
   fRefPad    = (TPad*)gROOT->GetSelectedPad();
   if (fRefObject) {
      sprintf(cmd,"attmarker: %s",fRefObject->GetName());
      SetTitle(cmd);
   }
   TObject *obj;
   while ((obj = next())) {
      if (!obj->InheritsFrom(TGroupButton::Class())) continue;
      button = (TGroupButton*)obj;
      if (button->GetBorderMode() < 0) {
         button->SetBorderMode(1);
         button->Modified();
      }
      sprintf(cmd,"SetMarkerColor(%d)",col);
      if (!strcmp(button->GetTitle(),cmd)) button->SetBorderMode(-1);
      sprintf(cmd,"SetMarkerStyle(%d)",sty);
      if (!strcmp(button->GetTitle(),cmd)) button->SetBorderMode(-1);
      sprintf(cmd,"SetMarkerSize(%f)",msiz);
      if (!strcmp(button->GetTitle(),cmd)) button->SetBorderMode(-1);
      if (button->GetBorderMode() < 0) {
         button->Modified();
      }
   }
   Update();
}


ROOT page - Class index - 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.