ROOT logo
// $Id$
// Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007

/**************************************************************************
 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
 * full copyright notice.                                                 *
 **************************************************************************/

#ifndef AliEveJetPlaneEditor_H
#define AliEveJetPlaneEditor_H

#include <TGedFrame.h>

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

class AliEveJetPlane;

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

  virtual void SetModel(TObject* obj);

  // Declare callback/slot methods
  // void DoXYZZ();
  void DoRnrJets();
  void DoRnrTracks();
  void DoArrowJetScale();
  void DoArrowTrackScale();
	void DoEnergyScale();
  void DoOneSelection();
  void DoTwoSelection();
  void DoStaticDataWindow();


  // --- Internal class for common settings

  class StaticDataWindow : public TGTransientFrame
  {
  public:
    StaticDataWindow(const TGWindow *p, const TGWindow *main, UInt_t w, UInt_t h,
		     UInt_t options = kVerticalFrame);
    virtual ~StaticDataWindow();

    // slots
    void DoClose();
    void DoOK();
    void DoCancel();
    void DoTab(Int_t id);

  private:
    StaticDataWindow(const StaticDataWindow&);            // Not implemented
    StaticDataWindow& operator=(const StaticDataWindow&); // Not implemented

    TGCompositeFrame    *fFrame1, *fF2;             // Frames.
    TGButton            *fOkButton, *fCancelButton; // Ok, cancel buttons.
    TGLayoutHints       *fL1, *fL2, *fL3, *fL5;     // Layout hints.
    TGTab               *fTab;                      // Tab container.
    TGButton            *fChk1, *fChk2,*fChk3, *fChk4,*fChk5; // Check-buttons.

    ClassDef(StaticDataWindow, 0); // Common settings for all AliEveJetPlane objects.
  };

protected:
  AliEveJetPlane   *fM; // Model object.

  TGCheckButton    *fRnrJets;          // Widget for flag RnrJets.
  TGCheckButton    *fRnrTracks;        // Widget for flag RnrTracks.
  TEveGValuator    *fEnergyScale;      // Widget for EnergyScale.
  TEveGValuator    *fArrowJetScale;    // Widget for ArrowJetScale.
  TEveGValuator    *fArrowTrackScale;  // Widget for ArrowTrackScale.
  TGButton         *fOneSelection, *fTwoSelection;  // Widgets for one/two selection flags.
  TGButton         *fInformationSetup; // Widget for InformationSetup.

  static StaticDataWindow* fgStaticWindow; // Common window for global settings.

private:
  AliEveJetPlaneEditor(const AliEveJetPlaneEditor&);            // Not implemented
  AliEveJetPlaneEditor& operator=(const AliEveJetPlaneEditor&); // Not implemented

  ClassDef(AliEveJetPlaneEditor, 0); // Editor for AliEveJetPlane.
};

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