ROOT logo
// @(#)root/ged:$Name: not supported by cvs2svn $:$Id: TSplineXEditor.h,v 1.2 2008-03-07 08:14:48 Otto.Schaile Exp $
// Author: Carsten Hof 28/07/04

/*************************************************************************
 * Copyright (C) 1995-2002, 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_TSplineXEditor
#define ROOT_TSplineXEditor

//////////////////////////////////////////////////////////////////////////
//                                                                      //
//  TSplineXEditor                                                        //
//                                                                      //
//  Editor for changing SplineX attributes.                               //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TGButton
#include "TGWidget.h"
#endif
#ifndef ROOT_TGedFrame
#include "TGedFrame.h"
#endif
#ifndef ROOT_TSplineX
#include "TSplineX.h"
#endif

class TGLabel;
class TGNumberEntry;
class TGTextEntry;
class TGCheckButton;
class TGRadioButton;
class TGedAlignSelect;
class TGFontTypeComboBox;
class TGColorSelect;
class HprText;

class TSplineXEditor : public TGedFrame {

protected:
   TSplineX            *fSplineX;      // SplineX object
   TGCheckButton       *fOpenClose;   // close / open TSplineX
   TGCheckButton       *fMarkerOnOff;  // set Controlpoints visible/unvisible
   TGCheckButton       *fArrowAtStart; //
   TGCheckButton       *fArrowAtEnd;   //
   TGCheckButton       *fArrowFill;    //
   TGNumberEntry       *fArrowLength;    //
   TGNumberEntry       *fArrowAngle;    //
   TGNumberEntry       *fArrowIndentAngle;    //
   TGNumberEntry       *fRailwayGage;    //
   TGNumberEntry       *fFilledLength;    //
   TGNumberEntry       *fEmptyLength;    //
   TGTextButton        *fControlGraphMixer;    //
   TGTextButton        *fAddParallel;    //
   TGNumberEntry       *fDistParallelEntry;    //

   TGColorSelect       *fTextColorSelect;
   TGTextEntry         *fTextEntry;
   TGNumberEntry       *fTextSize;
   TGedAlignSelect     *fTextAlign;
   TGFontTypeComboBox  *fTextFont;
   TList               *fTextList;
   Short_t             fAlign;
   HprText             *fHprText;
   Double_t             fDistParallel;
   Bool_t               fInit;
   virtual void ConnectSignals2Slots();

public:
#if ROOT_VERSION_CODE >= ROOT_VERSION(5,13,4)
   TSplineXEditor(const TGWindow *p = 0,
#else
   TSplineXEditor(const TGWindow *p, Int_t id,
#endif
               Int_t width = 120, Int_t height = 30,
               UInt_t options = kChildFrame,
               Pixel_t back = GetDefaultFrameBackground());
   virtual ~TSplineXEditor();
   Double_t Dist(Double_t x1, Double_t y1, Double_t x2, Double_t y2);
#if ROOT_VERSION_CODE >= ROOT_VERSION(5,13,4)
   void ActivateBaseClassEditors(TClass* cl);
   virtual void SetModel(TObject *obj);
#else
   virtual void SetModel(TVirtualPad *pad, TObject *obj, Int_t event);
#endif

   // slots related to SplineX attributes
   virtual void DoOpenClose(Bool_t on);
   virtual void DoMarkerOnOff(Bool_t on);
   virtual void DoArrowAtStart(Bool_t on);
   virtual void DoArrowAtEnd(Bool_t on);
   virtual void DoArrowFill(Bool_t on);
   virtual void DoArrowLength();
   virtual void DoArrowAngle();
   virtual void DoArrowIndentAngle();
   virtual void DoRailwayGage();
   virtual void DoFilledLength();
   virtual void DoEmptyLength();
   virtual void DoControlGraphMixer();
   virtual void DoAddParallel();
   virtual void DoDistParallelEntry();
   virtual void DoSetTextColor();
   virtual void DoSetText();
   virtual void DoSetTextSize();
   virtual void DoSetTextAlign(Style_t al);
   virtual void DoSetTextFont();
   Int_t        GetColorPixelByInd(Int_t index);
   ClassDef(TSplineXEditor,0)        // ParallelGraph editor
};

class ParallelGraphEditor : public TGedFrame {

protected:
   ParallelGraph       *fParallel;          // ParallelGraph object
   TGNumberEntry       *fDistance;          //
   TGTextButton        *fFillToParallel;    //
   TGTextButton        *fClearToParallel;    //
   TGNumberEntry       *fDistParallelEntry; //
   Double_t             fDistParallel;
   virtual void ConnectSignals2Slots();

public:
#if ROOT_VERSION_CODE >= ROOT_VERSION(5,13,4)
   ParallelGraphEditor(const TGWindow *p = 0,
#else
   ParallelGraphEditor(const TGWindow *p, Int_t id,
#endif
               Int_t width = 140, Int_t height = 30,
               UInt_t options = kChildFrame,
               Pixel_t back = GetDefaultFrameBackground());
   virtual ~ParallelGraphEditor();
#if ROOT_VERSION_CODE >= ROOT_VERSION(5,13,4)
   void ActivateBaseClassEditors(TClass* cl);
   virtual void SetModel(TObject *obj);
#else
   virtual void SetModel(TVirtualPad *pad, TObject *obj, Int_t event);
#endif

   //
   virtual void DoDistance();
   virtual void DoFillToParallel();
   virtual void DoClearToParallel();
   virtual void DoDistParallelEntry();

   ClassDef(ParallelGraphEditor,0)        // SplineX editor
};
#endif


 TSplineXEditor.h:1
 TSplineXEditor.h:2
 TSplineXEditor.h:3
 TSplineXEditor.h:4
 TSplineXEditor.h:5
 TSplineXEditor.h:6
 TSplineXEditor.h:7
 TSplineXEditor.h:8
 TSplineXEditor.h:9
 TSplineXEditor.h:10
 TSplineXEditor.h:11
 TSplineXEditor.h:12
 TSplineXEditor.h:13
 TSplineXEditor.h:14
 TSplineXEditor.h:15
 TSplineXEditor.h:16
 TSplineXEditor.h:17
 TSplineXEditor.h:18
 TSplineXEditor.h:19
 TSplineXEditor.h:20
 TSplineXEditor.h:21
 TSplineXEditor.h:22
 TSplineXEditor.h:23
 TSplineXEditor.h:24
 TSplineXEditor.h:25
 TSplineXEditor.h:26
 TSplineXEditor.h:27
 TSplineXEditor.h:28
 TSplineXEditor.h:29
 TSplineXEditor.h:30
 TSplineXEditor.h:31
 TSplineXEditor.h:32
 TSplineXEditor.h:33
 TSplineXEditor.h:34
 TSplineXEditor.h:35
 TSplineXEditor.h:36
 TSplineXEditor.h:37
 TSplineXEditor.h:38
 TSplineXEditor.h:39
 TSplineXEditor.h:40
 TSplineXEditor.h:41
 TSplineXEditor.h:42
 TSplineXEditor.h:43
 TSplineXEditor.h:44
 TSplineXEditor.h:45
 TSplineXEditor.h:46
 TSplineXEditor.h:47
 TSplineXEditor.h:48
 TSplineXEditor.h:49
 TSplineXEditor.h:50
 TSplineXEditor.h:51
 TSplineXEditor.h:52
 TSplineXEditor.h:53
 TSplineXEditor.h:54
 TSplineXEditor.h:55
 TSplineXEditor.h:56
 TSplineXEditor.h:57
 TSplineXEditor.h:58
 TSplineXEditor.h:59
 TSplineXEditor.h:60
 TSplineXEditor.h:61
 TSplineXEditor.h:62
 TSplineXEditor.h:63
 TSplineXEditor.h:64
 TSplineXEditor.h:65
 TSplineXEditor.h:66
 TSplineXEditor.h:67
 TSplineXEditor.h:68
 TSplineXEditor.h:69
 TSplineXEditor.h:70
 TSplineXEditor.h:71
 TSplineXEditor.h:72
 TSplineXEditor.h:73
 TSplineXEditor.h:74
 TSplineXEditor.h:75
 TSplineXEditor.h:76
 TSplineXEditor.h:77
 TSplineXEditor.h:78
 TSplineXEditor.h:79
 TSplineXEditor.h:80
 TSplineXEditor.h:81
 TSplineXEditor.h:82
 TSplineXEditor.h:83
 TSplineXEditor.h:84
 TSplineXEditor.h:85
 TSplineXEditor.h:86
 TSplineXEditor.h:87
 TSplineXEditor.h:88
 TSplineXEditor.h:89
 TSplineXEditor.h:90
 TSplineXEditor.h:91
 TSplineXEditor.h:92
 TSplineXEditor.h:93
 TSplineXEditor.h:94
 TSplineXEditor.h:95
 TSplineXEditor.h:96
 TSplineXEditor.h:97
 TSplineXEditor.h:98
 TSplineXEditor.h:99
 TSplineXEditor.h:100
 TSplineXEditor.h:101
 TSplineXEditor.h:102
 TSplineXEditor.h:103
 TSplineXEditor.h:104
 TSplineXEditor.h:105
 TSplineXEditor.h:106
 TSplineXEditor.h:107
 TSplineXEditor.h:108
 TSplineXEditor.h:109
 TSplineXEditor.h:110
 TSplineXEditor.h:111
 TSplineXEditor.h:112
 TSplineXEditor.h:113
 TSplineXEditor.h:114
 TSplineXEditor.h:115
 TSplineXEditor.h:116
 TSplineXEditor.h:117
 TSplineXEditor.h:118
 TSplineXEditor.h:119
 TSplineXEditor.h:120
 TSplineXEditor.h:121
 TSplineXEditor.h:122
 TSplineXEditor.h:123
 TSplineXEditor.h:124
 TSplineXEditor.h:125
 TSplineXEditor.h:126
 TSplineXEditor.h:127
 TSplineXEditor.h:128
 TSplineXEditor.h:129
 TSplineXEditor.h:130
 TSplineXEditor.h:131
 TSplineXEditor.h:132
 TSplineXEditor.h:133
 TSplineXEditor.h:134
 TSplineXEditor.h:135
 TSplineXEditor.h:136
 TSplineXEditor.h:137
 TSplineXEditor.h:138
 TSplineXEditor.h:139
 TSplineXEditor.h:140
 TSplineXEditor.h:141
 TSplineXEditor.h:142
 TSplineXEditor.h:143
 TSplineXEditor.h:144
 TSplineXEditor.h:145
 TSplineXEditor.h:146
 TSplineXEditor.h:147
 TSplineXEditor.h:148
 TSplineXEditor.h:149
 TSplineXEditor.h:150
 TSplineXEditor.h:151
 TSplineXEditor.h:152
 TSplineXEditor.h:153
 TSplineXEditor.h:154