JG ROOT Tools libraries  version 5.0 - august 2014
RGPadPrintCommand.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file RGPadPrintCommand.hh
3  *
4  * Include file for class RGPadPrintCommand
5  */
6 //======================================================================
7 
8 #ifndef RG_PAD_PRINT_COMMAND_HH
9 #define RG_PAD_PRINT_COMMAND_HH
10 
11 #include "RBaseFunctions.hh"
12 
13 // ROOT include files
14 #include <TGFrame.h>
15 #include <TGedPatternSelect.h>
16 #include <TGLabel.h>
17 #include <TGTextEntry.h>
18 #include <TGNumberEntry.h>
19 #include <TGComboBox.h>
20 
21 ///! Temporary name for files to print
22 #define TMP_PAD_PRINT_FILE "__tmp_pad_print.ps"
23 
24 ///! RGPadPrintCommandOptions widget options
26 {
27  rgPadPrintNoInfo = 1, // pas d'information sur la ligne de commande
28  rgPadPrintNoFormat = 2 // pas de format d'impression (pour ligne de commande seule)
29 };
30 
31 //======================================================================
32 /*! \class RGPadPrintCommand
33  *
34  * Widget for printing command of a pad, with options:
35  * - command line
36  * - page format
37  * - paper orientation
38  *
39  * Widget option bits:
40  * - \b rgPadPrintNoFormat: ignore paper format (it is used only for files
41  * (creation from a pad).
42  *
43  */
44 class RGPadPrintCommand : public TGVerticalFrame
45 {
46  //------------------------------------------------------------
47  /*! \object_doc{RGPadPrintCommand} */
49  //------------------------------------------------------------
50 
51  ///! Printing options
53  {
54  portrait = 0,
55  landscape = 1
56  };
57 
58  protected:
59 /*
60  static string print_command; /// Commande d'impression initiale
61  static Double_t print_size_x; /// Largeur de papier
62  static Double_t print_size_y; /// Hauteur de papier
63  static int print_orient; /// Orientation initiale du papier
64 */
65  UInt_t options; ///< Widget options
66 
67  TGHorizontalFrame * w_print_cmd_frame; ///< Frame for printing command
68  TGTextEntry * w_print_cmd; ///< Printing command
69  TGHorizontalFrame * w_print_format_frame; ///< Frame for format
70  TGNumberEntry * w_print_size_x; ///< Paper X size
71  TGNumberEntry * w_print_size_y; ///< Paper Y size
72  TGComboBox * w_print_orient; ///< Page orientation
73 
74  //------------------------------------------------------------
75  // Constructors / affectation / destructor
76  public:
77  RGPadPrintCommand ( TGWindow *p, const UInt_t opts = 0 );
78 
79  private:
80  RGPadPrintCommand ( const RGPadPrintCommand &original );
81 
82  public:
83  virtual ~RGPadPrintCommand ( );
84 
85  //------------------------------------------------------------
86  void Construct ( );
87  virtual void MapSubwindows ( );
88 
89  // access to sub-widgets
90  TGTextEntry * GetPrintCommandWidget ( ) const;
91  TGNumberEntry * GetPrintSizeXWidget ( ) const;
92  TGNumberEntry * GetPrintSizeYWidget ( ) const;
93  TGComboBox * GetPrintOrientationWidget ( ) const;
94 
95  // Functions
96  string GetPrintCommand ( ) const;
97  Double_t GetPrintSizeX ( ) const;
98  Double_t GetPrintSizeY ( ) const;
99  Int_t GetPrintOrientation ( ) const;
100 
101  string GetPrintOptions ( ) const;
102  string GetPrintCommand ( const string &file_name ) const;
103 
104  virtual void SetRootStyle ( ) const;
105 
106  void SetPrintCommand ( const string & cmd );
107  void SetPrintSizeX ( const Double_t x );
108  void SetPrintSizeY ( const Double_t y );
109  void SetPrintOrientation ( const Int_t opt );
110 
111  void Print ( const string &file_name ) const;
112 
113  //------------------------------------------------------------
114  // Signals
115  virtual void CommandChanged ( const char * txt ); // *SIGNAL*
116  virtual void SizeXChanged ( Double_t s ); // *SIGNAL*
117  virtual void SizeYChanged ( Double_t s ); // *SIGNAL*
118  virtual void OrientationSelected ( Int_t opt ); // *SIGNAL*
119 
120  //------------------------------------------------------------
121  // Slots
122  virtual void PrintCommandTextChanged ( const char * txt );
123  virtual void PrintSizeXChanged ( const char * txt );
124  virtual void PrintSizeYChanged ( const char * txt );
125  virtual void PrintOrientationSelected ( Int_t opt );
126 
127 
128  //------------------------------------------------------------
129  /*! For ROOT dictionary.*/
131 };
132 
133 //----------------------------------------------------------------------
134 // Inline functions
135 #include "icc/RGPadPrintCommand.icc"
136 
137 //======================================================================
138 #endif
139 
Definition: RGPadPrintCommand.hh:44
void SetPrintSizeX(const Double_t x)
Definition: RGPadPrintCommand.icc:54
TGComboBox * GetPrintOrientationWidget() const
Definition: RGPadPrintCommand.icc:23
string GetPrintCommand() const
Definition: RGPadPrintCommand.icc:29
RGPadPrintCommand(TGWindow *p, const UInt_t opts=0)
Definition: RGPadPrintCommand.cpp:30
TGNumberEntry * GetPrintSizeYWidget() const
Definition: RGPadPrintCommand.icc:19
virtual void MapSubwindows()
Definition: RGPadPrintCommand.cpp:220
TGNumberEntry * GetPrintSizeXWidget() const
Definition: RGPadPrintCommand.icc:15
Int_t GetPrintOrientation() const
Definition: RGPadPrintCommand.icc:41
void Print(const string &file_name) const
Definition: RGPadPrintCommand.cpp:290
virtual void SizeYChanged(Double_t s)
Definition: RGPadPrintCommand.icc:81
PrintOptions
! Printing options
Definition: RGPadPrintCommand.hh:52
virtual void PrintOrientationSelected(Int_t opt)
Definition: RGPadPrintCommand.cpp:337
TGHorizontalFrame * w_print_cmd_frame
Frame for printing command.
Definition: RGPadPrintCommand.hh:67
Double_t GetPrintSizeX() const
Definition: RGPadPrintCommand.icc:33
void Construct()
Definition: RGPadPrintCommand.cpp:53
TGNumberEntry * w_print_size_x
Paper X size.
Definition: RGPadPrintCommand.hh:70
virtual void SizeXChanged(Double_t s)
Definition: RGPadPrintCommand.icc:77
virtual void PrintSizeYChanged(const char *txt)
Definition: RGPadPrintCommand.cpp:326
virtual ~RGPadPrintCommand()
Definition: RGPadPrintCommand.cpp:47
string GetPrintOptions() const
Definition: RGPadPrintCommand.cpp:235
virtual void CommandChanged(const char *txt)
Definition: RGPadPrintCommand.icc:73
void SetPrintCommand(const string &cmd)
Definition: RGPadPrintCommand.icc:48
TGHorizontalFrame * w_print_format_frame
Frame for format.
Definition: RGPadPrintCommand.hh:69
TGNumberEntry * w_print_size_y
Paper Y size.
Definition: RGPadPrintCommand.hh:71
RGPadPrintCommandOptions
! RGPadPrintCommandOptions widget options
Definition: RGPadPrintCommand.hh:25
virtual void SetRootStyle() const
Definition: RGPadPrintCommand.cpp:280
ClassDef(RGPadPrintCommand, 0)
Double_t GetPrintSizeY() const
Definition: RGPadPrintCommand.icc:37
TGTextEntry * w_print_cmd
Printing command.
Definition: RGPadPrintCommand.hh:68
TGComboBox * w_print_orient
Page orientation.
Definition: RGPadPrintCommand.hh:72
GObject(RGPadPrintCommand)
UInt_t options
Widget options.
Definition: RGPadPrintCommand.hh:65
void SetPrintOrientation(const Int_t opt)
Definition: RGPadPrintCommand.icc:66
TGTextEntry * GetPrintCommandWidget() const
Definition: RGPadPrintCommand.icc:11
virtual void PrintSizeXChanged(const char *txt)
Definition: RGPadPrintCommand.cpp:315
virtual void OrientationSelected(Int_t opt)
Definition: RGPadPrintCommand.icc:85
void SetPrintSizeY(const Double_t y)
Definition: RGPadPrintCommand.icc:60
virtual void PrintCommandTextChanged(const char *txt)
Definition: RGPadPrintCommand.cpp:304