// @(#)root/eve:$Id$
// Author: Matevz Tadel 2007

/*************************************************************************
 * Copyright (C) 1995-2007, 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_TEveCaloLegoEditor
#define ROOT_TEveCaloLegoEditor

#include "TGedFrame.h"

class TGButton;
class TGCheckButton;
class TGNumberEntry;
class TGColorSelect;
class TGComboBox;
class TEveGValuator;

class TEveCaloLego;

class TEveCaloLegoEditor : public TGedFrame
{
private:
   TEveCaloLegoEditor(const TEveCaloLegoEditor&);            // Not implemented
   TEveCaloLegoEditor& operator=(const TEveCaloLegoEditor&); // Not implemented
   TGComboBox*  MakeLabeledCombo(const char* name, Int_t off);

protected:
   TEveCaloLego      *fM; // Model object.

   TGColorSelect     *fGridColor;
   TGColorSelect     *fFontColor;
   TGColorSelect     *fPlaneColor;
   TGNumberEntry     *fTransparency;

   TGComboBox        *fProjection;
   TGComboBox        *f2DMode;
   TGComboBox        *fBoxMode;

   TEveGValuator     *fCell2DTextMin;

   TGVerticalFrame   *fRebinFrame;
   TGCheckButton     *fAutoRebin;
   TEveGValuator     *fPixelsPerBin;
   TGCheckButton     *fNormalizeRebin;

   void               MakeRebinFrame();
public:
   TEveCaloLegoEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30,
         UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground());
   virtual ~TEveCaloLegoEditor() {}

   virtual void SetModel(TObject* obj);

   // Declare callback/slot methods
   void DoGridColor(Pixel_t color);
   void DoFontColor(Pixel_t color);
   void DoPlaneColor(Pixel_t color);
   void DoTransparency();

   void DoProjection();
   void Do2DMode();
   void DoBoxMode();

   void DoCell2DTextMin();

   void DoAutoRebin();
   void DoPixelsPerBin();
   void DoNormalize();

   ClassDef(TEveCaloLegoEditor, 0); // GUI editor for TEveCaloLego.
};

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