// @(#)root/ged:$Id$
// Author: Ilka  Antcheva 11/05/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_TAxisEditor
#define ROOT_TAxisEditor

//////////////////////////////////////////////////////////////////////////
//                                                                      //
//  TAxisEditor                                                         //
//                                                                      //
//  Implements GUI for axis attributes.                                 //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TGedFrame
#include "TGedFrame.h"
#endif

class TAxis;
class TGLabel;
class TGComboBox;
class TGNumberEntry;
class TGTextEntry;
class TGCheckButton;
class TGColorSelect;
class TGFontTypeComboBox;


class TAxisEditor : public TGedFrame {

protected:
   TAxis               *fAxis;         // axis object
   TGColorSelect       *fAxisColor;    // color selection widget
   TGCheckButton       *fLogAxis;      // logarithmic check box
   TGNumberEntry       *fTickLength;   // tick length number entry
   TGNumberEntry       *fDiv1;         // primary axis division number entry
   TGNumberEntry       *fDiv2;         // secondary axis division number entry
   TGNumberEntry       *fDiv3;         // tertiary axis division number entry
   TGCheckButton       *fOptimize;     // tick optimization check box
   TGCheckButton       *fTicksBoth;    // check box setting ticks on both axis sides
   TGCheckButton       *fMoreLog;      // more logarithmic labels check box
   Int_t                fTicksFlag;    // positive/negative ticks' flag
   TGTextEntry         *fTitle;        // axis title input field
   TGColorSelect       *fTitleColor;   // color selection widget
   TGFontTypeComboBox  *fTitleFont;    // title font combo box
   Int_t                fTitlePrec;    // font precision level
   TGNumberEntry       *fTitleSize;    // title size number entry
   TGNumberEntry       *fTitleOffset;  // title offset number entry
   TGCheckButton       *fCentered;     // check button for centered title
   TGCheckButton       *fRotated;      // check button for rotated title
   TGColorSelect       *fLabelColor;   // color selection widget
   TGFontTypeComboBox  *fLabelFont;    // label font combo box
   Int_t                fLabelPrec;    // font precision level
   TGNumberEntry       *fLabelSize;    // label size number entry
   TGNumberEntry       *fLabelOffset;  // label offset number entry
   TGCheckButton       *fNoExponent;   // check box for No exponent choice
   TGCheckButton       *fDecimal;      // decimal part check box

   virtual void ConnectSignals2Slots();

public:
   TAxisEditor(const TGWindow *p = 0,
               Int_t width = 140, Int_t height = 30,
               UInt_t options = kChildFrame,
               Pixel_t back = GetDefaultFrameBackground());
   virtual ~TAxisEditor();
   virtual void   SetModel(TObject* obj);
   // slots related to axis attributes
   virtual void   DoTickLength();
   virtual void   DoAxisColor(Pixel_t color);
   virtual void   DoTicks();
   virtual void   DoDivisions();
   virtual void   DoLogAxis();
   virtual void   DoMoreLog();
   // slots related to axis title attributes
   virtual void   DoTitleColor(Pixel_t color);
   virtual void   DoTitle(const char *text);
   virtual void   DoTitleSize();
   virtual void   DoTitleFont(Int_t font);
   virtual void   DoTitleOffset();
   virtual void   DoTitleCentered();
   virtual void   DoTitleRotated();
   // slots related to axis labels attributes
   virtual void   DoLabelColor(Pixel_t color);
   virtual void   DoLabelSize();
   virtual void   DoLabelFont(Int_t font);
   virtual void   DoLabelOffset();
   virtual void   DoNoExponent();
   virtual void   DoDecimal(Bool_t on);

   ClassDef(TAxisEditor,0)  // axis editor
};

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