GSI Object Oriented Online Offline (Go4)  GO4-5.3.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
TGo4HisDrawOptionsShort.cpp
Go to the documentation of this file.
1 // $Id: TGo4HisDrawOptionsShort.cpp 1109 2014-01-14 11:25:05Z linev $
2 //-----------------------------------------------------------------------
3 // The GSI Online Offline Object Oriented (Go4) Project
4 // Experiment Data Processing at EE department, GSI
5 //-----------------------------------------------------------------------
6 // Copyright (C) 2000- GSI Helmholtzzentrum für Schwerionenforschung GmbH
7 // Planckstr. 1, 64291 Darmstadt, Germany
8 // Contact: http://go4.gsi.de
9 //-----------------------------------------------------------------------
10 // This software can be used under the license agreements as stated
11 // in Go4License.txt file which is part of the distribution.
12 //-----------------------------------------------------------------------
13 
15 
16 #include "Riostream.h"
17 #include "TROOT.h"
18 #include "TColor.h"
19 #include "TAttLine.h"
20 #include "TAttFill.h"
21 #include "TAttMarker.h"
22 
23 #include "TGo4MdiArea.h"
24 #include "TGo4ViewPanel.h"
25 
26 #include <QColorDialog>
27 
28 
29 TGo4HisDrawOptionsShort::TGo4HisDrawOptionsShort(QWidget *parent, const char* name)
30  : QGo4Widget(parent,name)
31 {
32  setupUi(this);
33 }
34 
36 {
37  SetDrawOpt(3, 0, "");
38 }
39 
41 {
42  SetDrawOpt(3, 1, "");
43 }
44 
46 {
47  SetDrawOpt(4, 0, "");
48 }
49 
51 {
52  SetDrawOpt(4, 1, "");
53 }
54 
56 {
57  SetDrawOpt(5, 0, "");
58 }
59 
61 {
62  SetDrawOpt(5, 1, "");
63 }
64 
66 {
67  SetDrawOpt(0, 0, "");
68 }
69 
71 {
72  SetDrawOpt(0, 0, "L");
73 }
74 
76 {
77  SetDrawOpt(0, 0, "HIST");
78 }
79 
81 {
82  SetDrawOpt(0, 0, "COLZ");
83 }
84 
86 {
87  SetDrawOpt(0, 0, "SURF2");
88 }
89 
91 {
92  SetDrawOpt(0, 0, "LEGO2");
93 }
94 
96 {
97  SetDrawOpt(0, 0, "CONT0Z");
98 }
99 
101 {
102  SetDrawOpt(0, 0, "CONT1Z");
103 }
104 
106 {
107  ChangeColor(0);
108 }
109 
111 {
112  ChangeColor(1);
113 }
114 
116 {
117  ChangeColor(2);
118 }
119 
121 {
123  if (panel==0) return;
124 
125  TPad* pad = panel->GetActivePad();
126  TObject* obj = panel->GetSelectedObject(pad, 0);
127 
128  Color_t icol = 0;
129 
130  switch (kind) {
131  case 0: {
132  TAttLine* att = dynamic_cast<TAttLine*> (obj);
133  if (att==0) return;
134  icol = att->GetLineColor();
135  break;
136  }
137  case 1: {
138  TAttFill* att = dynamic_cast<TAttFill*> (obj);
139  if (att==0) return;
140  icol = att->GetFillColor();
141  break;
142  }
143  case 2: {
144  TAttMarker* att = dynamic_cast<TAttMarker*> (obj);
145  if (att==0) return;
146  icol = att->GetMarkerColor();
147  break;
148  }
149  }
150 
151  TColor* rcol = gROOT->GetColor(icol);
152 
153  QColor qcol;
154 
155  if (rcol!=0)
156  qcol.setRgb(rcol->GetRed(), rcol->GetGreen(), rcol->GetBlue());
157 
158  QColor c = QColorDialog::getColor(qcol);
159  if (!c.isValid()) return;
160 
161  icol = TColor::GetColor(c.red(), c.green(), c.blue());
162 
163  switch (kind) {
164  case 0: {
165  TAttLine* att = dynamic_cast<TAttLine*> (obj);
166  if (att!=0) att->SetLineColor(icol);
167  break;
168  }
169  case 1: {
170  TAttFill* att = dynamic_cast<TAttFill*> (obj);
171  if (att!=0) att->SetFillColor(icol);
172  break;
173  }
174  case 2: {
175  TAttMarker* att = dynamic_cast<TAttMarker*> (obj);
176  if (att!=0) att->SetMarkerColor(icol);
177  break;
178  }
179  }
180 
181  panel->MarkPadModified(pad);
182 
183  panel->ShootRepaintTimer(pad);
184 
185  panel->ActivateInGedEditor(obj);
186 }
187 
188 void TGo4HisDrawOptionsShort::SetDrawOpt(int kind, int value, char *dropt)
189 {
191  if (panel!=0) panel->ChangeDrawOption(kind, value,dropt);
192 }
virtual void ShootRepaintTimer()
virtual void ActivateInGedEditor(TObject *obj)
static TGo4MdiArea * Instance()
Definition: TGo4MdiArea.cpp:27
virtual void MarkPadModified(TPad *pad)
TGo4ViewPanel * GetActivePanel()
Definition: TGo4MdiArea.cpp:64
void SetDrawOpt(int kind, int value, char *dropt)
TGo4HisDrawOptionsShort(QWidget *parent=0, const char *name=0)
virtual void ChangeDrawOption(int kind, int value, const char *drawopt)
virtual TPad * GetActivePad()
virtual TObject * GetSelectedObject(TPad *pad, const char **drawopt)