GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
TGo4ViewPanel.h
Go to the documentation of this file.
1 // $Id$
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 fuer 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 
14 #ifndef TGO4VIEWPANEL_H
15 #define TGO4VIEWPANEL_H
16 
17 #include "QGo4Widget.h"
18 #include "ui_TGo4ViewPanel.h"
19 
20 class THStack;
21 class TObject;
22 class TCanvas;
23 class TPad;
24 class TH1;
25 class TH2;
26 class TAxis;
27 class TGraph;
28 class TCutG;
29 class TMultiGraph;
30 class TGo4ASImage;
31 class TGo4Picture;
32 class TGo4Slot;
33 class TGo4Picture;
34 class TObjArray;
35 class QRootCanvas;
36 class QWebCanvas;
37 class QMenuBar;
38 class QStatusBar;
39 class QAction;
40 
41 class TGo4ViewPanel : public QGo4Widget, public Ui::TGo4ViewPanel
42 {
43  Q_OBJECT
44 
45  public:
46 
48  CrosshairId = 302,
51  AutoZoomId = 311,
52  SuperimposeId = 1011,
53  StatisticsId = 1006,
54  SetTitleId = 1007,
55  SetLegendId = 1008,
56  DrawTimeId = 1012,
57  DrawDateId = 1013,
64  FirstSelectId = 5000 };
65 
67  kMouseROOT, // normal root mouse
68  kMousePickCursor, // click sets cursor / marker
69  kMousePickLimits, // click sets region limit / window condition
70  kMousePickPolygon, // click sets polygon condition
71  kMousePickLatex, // click sets latex label
72  kMouseDraw // draw on mouse press
73  };
74 
75  enum {
76  kind_None = -1,
77  kind_Link = 1,
83  kind_Marker = 202,
84  kind_Window = 203,
85  kind_Poly = 204,
86  kind_Latex = 205,
87  kind_Arrow = 206,
88  kind_Func = 207,
89  kind_FitInfo = 221,
91  kind_Other = 300,
92  kind_Fitter = 301,
93  kind_Permanet = 1000,
95  kind_ThisPad = 1002,
96  kind_PadSlot = 1003 };
97 
98  TGo4ViewPanel(QWidget *parent = nullptr, const char *name = nullptr);
99 
100  virtual ~TGo4ViewPanel();
101 
102  virtual const char *GetPanelName();
103  virtual void SetPanelName(const char *newname);
104  virtual TGo4Slot *GetPanelSlot();
105  virtual TGo4Slot *AddNewSlot(const char *name, TGo4Slot *parent);
106  virtual void BlockPanelRedraw(bool on);
107  void ResetWidget() override;
108  void linkedObjectUpdated(const char *linkname, TObject *obj) override;
109  void linkedUpdated(TGo4Slot *slot, TObject *obj) override;
110  void linkedRemoved(TGo4Slot *slot, TObject *obj) override;
111  bool IsAcceptDrag(const char *itemname, TClass *cl, int kind) override;
112  virtual void DropOnPad(TPad *pad, const char *itemname, TClass *cl, int kind);
113  virtual void CompleteInitialization();
114  virtual void SetMouseMode(int mode);
115  virtual int GetMouseMode();
116  virtual QString GetSelectedMarkerName(TPad *pad);
117  virtual int GetSelectedMarkerIndex(TPad *pad);
118  virtual TGo4Slot *GetSelectedSlot(TPad *pad, int *selkind, TObject **selobj);
119  virtual bool IsConditionSelected(TPad *pad);
120  virtual TPad *FindPadWithItem(const char *itemname);
121  virtual void UndrawItemOnPanel(const char *itemname);
122  virtual const char *GetDrawItemName(int itemcnt = 0);
123  virtual void SetSelectedMarker(TPad *pad, const QString &selname, int selindex);
124  virtual void SetSelectedMarkerByMouseClick(TPad *pad, const char *name);
125  virtual void StartConditionEditing(TPad *pad);
126  virtual void SwitchMarkerButton(int kind, bool on);
127  virtual void MakePictureForPad(TGo4Picture *pic, TPad *pad, bool useitemname);
128  virtual void UpdatePadStatus(TPad *pad, bool removeitems);
129  virtual void ProcessPadStatusUpdate(TPad *pad, TGo4Slot *parent, bool removeitems);
130  virtual TGo4Slot *AddDrawObject(TPad *pad, int kind, const char *itemname, TObject *obj, bool owner, const char *drawopt);
131  virtual TGo4Slot *GetDrawObjectSlot(TPad *pad, const char *name);
132  virtual TObject *GetDrawObject(TPad *pad, const char *name);
133  virtual void DeleteDrawObject(TPad *pad, const char *name);
134  virtual void DeleteDrawObject(TPad *pad, TObject *obj);
135  virtual void CollectSpecialObjects(TPad *pad, TObjArray *objs, int selectkind);
136  virtual bool DeleteDrawObjects(TPad *pad, int kindtodelete);
137  virtual void SetPadSuperImpose(TPad *pad, bool on);
138  virtual bool ScanDrawOptions(TPad *pad, TGo4Slot *padslot, TGo4Picture *pic, bool onlyscan);
139  virtual void ScanObjectsDrawOptions(bool onlyscan, TGo4Slot *padslot, TObjArray *objs, TObjArray *objslots);
140  virtual void CollectMainDrawObjects(TGo4Slot *slot, TObjArray *objs, TObjArray *objslots, int modifier);
141  virtual TObject *ProduceSuperimposeObject(TGo4Slot *padslot, TGo4Picture *padopt, TGo4Slot *sislot,
142  TGo4Slot *legslot, TObjArray *objs, TObjArray *objslots,
143  bool showitems);
144  virtual void Divide(int numX, int numY);
145  virtual void SetSlotPad(TGo4Slot *padslot, TPad *pad);
146  virtual TGo4Slot *GetPadSlot(TPad *pad);
147  virtual TPad *GetSlotPad(TGo4Slot *slot);
148  virtual bool IsPadHasSubPads(TGo4Slot *padslot);
149  virtual bool IsPadHasSubPads(TPad *pad);
150  virtual void MarkPadModified(TPad *pad);
151  virtual bool IsPanelPad(TPad *pad);
152  virtual int GetNumberOfPads(TPad *toppad);
153  virtual TPad *GetSubPad(TPad *toppad, int num, bool onlytoplevel);
154  virtual void ProducePadsList(TObjArray *arr, TPad *toppad);
155  virtual const char *GetDrawObjectLinkName(TPad *pad, TObject *obj);
156  virtual TGo4Slot *GetPadMainObjectSlot(TPad *pad);
157  virtual TGo4Slot *GetSuperimposeSlot(TGo4Slot *slot);
158  virtual TObject *GetPadMainObject(TPad *pad);
159  virtual TCanvas *GetCanvas();
160  virtual bool IsWebCanvas() const { return fxWCanvas != nullptr; }
161  virtual TPad *GetActivePad();
162  virtual void AllocatePadOptions(TPad *pad);
163  virtual TGo4Picture *GetPadOptions(TPad *pad);
164  virtual TGo4Picture *GetPadOptions(TGo4Slot *padslot);
165  virtual TH1 *GetPadHistogram(TPad *pad);
166  virtual bool IsRedrawBlocked();
167  virtual void UpdatePanelCaption();
168  virtual void SetDrawKind(TGo4Slot *slot, int kind);
169  virtual void SetSpecialDrawOption(TGo4Slot *slot, const char *drawopt);
170  virtual int GetDrawKind(TGo4Slot *slot);
171  virtual void SetSelectedObjectIndex(TGo4Slot *slot, int indx);
172  virtual int GetSelectedObjectIndex(TGo4Slot *slot);
173  virtual TObject *GetSelectedObject(TPad *pad, const char **drawopt);
174  virtual bool ShiftSelectedObjectToEnd(TPad *pad);
175  virtual const char *GetSpecialDrawOption(TGo4Slot *slot);
176  virtual void CheckForSpecialObjects(TPad *pad, TGo4Slot *padslot);
177  virtual void CheckObjectsAssigments(TPad *pad, TGo4Slot *padslot);
178  virtual void ProcessPictureRedraw(const char *picitemname, TPad *pad, TGo4Picture *pic);
179  virtual void ProcessCanvasAdopt(TPad *tgtpad, TPad *srcpad, const char *srcitemname);
180  virtual bool ProcessPadRedraw(TPad *pad, bool force);
181  virtual void RedrawHistogram(TPad *pad, TGo4Picture *padopt, TH1 *his, bool scancontent, bool first_draw);
182  virtual void RedrawStack(TPad *pad, TGo4Picture *padopt, THStack *hs, bool dosuperimpose, bool scancontent);
183  virtual void RedrawGraph(TPad *pad, TGo4Picture *padopt, TGraph *gr, bool scancontent, bool first_draw);
184  virtual void RedrawMultiGraph(TPad *pad, TGo4Picture *padopt, TMultiGraph *mg, bool dosuperimpose, bool scancontent);
185  virtual void RedrawImage(TPad *pad, TGo4Picture *padopt, TGo4ASImage *im, TH2 *asihisto, bool scancontent);
186  virtual void RedrawLegend(TPad *pad, TGo4Picture *padopt, TGo4Slot *legslot);
187  virtual void RedrawSpecialObjects(TPad *pad, TGo4Slot *padslot);
188  virtual bool IsApplyToAllFlag();
189  virtual bool IsAutoZoomFlag();
190  virtual bool IsFreezeTitle();
191  virtual void ChangeDrawOptionForPad(TGo4Slot *padslot, int kind, int value, const char *drawopt);
192  virtual void ChangeDrawOption(int kind, int value, const char *drawopt);
193  virtual void ResetPadFillColors(TPad *pad, int col, TPad *backup = nullptr);
194  virtual void ClearPad(TPad *pad, bool removeitems, bool removesubpads);
195  virtual void ClearPadItems(TGo4Slot *padslot, TGo4Slot *remain);
196  virtual void ProcessPadClear(TPad *pad, bool removeitems, bool removesubpads);
197  virtual void ProcessMarkersClear(TPad *pad, bool withsubpads);
198  virtual void SetPadDefaults(TPad *pad);
199  virtual void DisplayPadStatus(TPad *pad);
200  virtual void MoveScale(int expandfactor, int xaction, int yaction, int zaction);
201  virtual void MoveSingleScale(int expandfactor, int action, int naxis, TGo4Picture *opt, TObject *padhist);
202  virtual void TakeFullRangeFromHisto(TH1 *h1, TGo4Picture *padopt, bool isfirsthisto);
203  virtual void TakeFullRangeFromGraph(TGraph *gr, TGo4Picture *padopt, bool isfirst);
204  virtual void SetSelectedRangeToHisto(TPad *pad, TH1 *h1, THStack *hs0, TGo4Picture *padopt, bool ishisto);
205  virtual bool GetVisibleRange(TPad *pad, int naxis, double &min, double &max);
206  virtual void PadRangeAxisChanged(TPad *pad);
207  virtual void PadRangeAxisChanged(TPad *pad, double rxmin, double rxmax, double rymin, double rymax);
208  virtual bool TakeSelectedAxisRange(int naxis, TGo4Picture *padopt, double selmin, double selmax, bool force);
209  virtual bool TakeSelectedAxisRange(int naxis, TGo4Picture *padopt, TAxis *ax);
210  virtual void GetSelectedRange(int &ndim, bool &autoscale, double &xmin, double &xmax, double &ymin, double &ymax,
211  double &zmin, double &zmax);
212  virtual void SetSelectedRange(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax);
213  virtual void SetAutoScale(bool on, TPad *selpad);
214  virtual void SetAutoZoomFlag(bool on);
215  virtual void SetApplyToAllFlag(bool on);
216  virtual void ResizeGedEditor();
217  virtual void ActivateInGedEditor(TObject *obj);
218  virtual void CleanupGedEditor();
219  virtual void ShootRepaintTimer();
220  virtual bool IsRepaintTimerActive();
221  virtual void ShootRepaintTimer(TPad *pad);
222  virtual void PadDeleted(TPad *pad);
223  virtual void SetFreezedTitle(const QString &title);
224  virtual void RectangularRatio(TPad *pad);
225  virtual void DefaultPadMargin(TPad *pad);
226 
227  public slots:
228 
229  virtual void SetCursorMode(bool on);
230  virtual void SetRegionMode(bool on);
231  virtual void SetPolygonMode(bool on);
232  virtual void SetLateXMode(bool on);
233  virtual void SetDrawingMode(bool on);
234  virtual void SetFreezeMouseMode(bool on);
235  virtual void RefreshButtons();
236  virtual void SelectedMarkerCmb_activated(int indx);
237  virtual void DelSelectedMarker_clicked();
238  virtual void SetMarkerPanel(bool);
239  virtual void LogMarkerValues();
240  virtual void ClearAllMarkers();
241  virtual void GetConditionBtn_clicked();
242  virtual void InfoConditionBtn_clicked();
243  virtual void EditConditionBtn_clicked();
244  virtual void SetConditionBtn_clicked();
245  virtual void SaveMarkers();
246  virtual void LoadMarkers();
247  virtual void SetActivePad(TPad *pad);
248  virtual void PadClickedSlot(TPad *pad, int evx = -1, int evy = -1);
249  virtual void PadDoubleClickedSlot(TPad *pad, int evx = -1, int evy = -1);
250  virtual void CanvasDropEventSlot(QDropEvent *event, TPad *pad);
251  virtual void ProcessPadDoubleClick();
252  virtual void MenuCommandExecutedSlot(TObject *obj, const char *cmdname);
253  virtual void CanvasUpdatedSlot();
254  virtual void SaveCanvas();
255  virtual void ProducePicture();
256  virtual void ProduceGraphFromMarkers();
257  virtual void PrintCanvas();
258  virtual void StartRootEditor(bool);
259  virtual void StartConditionEditor();
260  virtual void ClearActivePad();
261  virtual void ClearCanvas();
262  virtual void AboutToShowOptionsMenu();
263  virtual void ShowEventStatus(bool);
264  virtual void ProcessPadModifiedSignal();
265  virtual void RedrawPanel(TPad *pad, bool force);
266  virtual void checkRepaintSlot();
267  virtual void checkResizeSlot();
268  virtual void OptionsMenuItemActivated(int);
269  virtual void SelectMenuItemActivated(int);
270  virtual void ApplyToAllToggled(bool);
271  virtual void AutoScaleToggled(bool);
272  virtual void SuperImposeToggled(bool);
273  virtual void panelSlot(TGo4ViewPanel *panel, TPad *pad, int signalid);
274  virtual void ClosePanel();
275 
276  protected:
277  QString fPanelName;
278  QByteArray fbaPanelName;
279  bool fbFreezeTitle{false};
280  QString fFreezedTitle;
281  bool fbMarkEditorVisible{false};
282  bool fbTypingMode{false};
283  QMenuBar *fMenuBar{nullptr};
284  TPad *fxActivePad{nullptr};
286  bool fbCanvasCrosshair{false};
287  QAction *fxCanvasEventstatusChk{nullptr};
288  QAction *fxCanvasEditorChk{nullptr};
289  QStatusBar *CanvasStatus{nullptr};
290  bool fbApplyToAllFlag{false};
291  bool fbAutoZoomFlag{false};
292  TPad *fxRepaintTimerPad{nullptr};
293  TPad *fxResizeTimerPad{nullptr};
294  TPad *fxDoubleClickTimerPad{nullptr};
295  int fiMouseMode{0};
297  bool fbPickAgain{false};
298  bool fbCloneFlag{false};
299  bool fbModifiedSignalFlag{false};
301  QMenu *fSelectMenu{nullptr};
302  QSignalMapper *fSelectMap{nullptr};
303  QCheckBox *fAutoScaleCheck{nullptr};
304  QSignalMapper *fOptionsMap{nullptr};
305  QMenu *fOptionsMenu{nullptr};
306  bool fBlockSignals{false};
307 
308  QRootCanvas *fxQCanvas{nullptr};
309  QWebCanvas *fxWCanvas{nullptr};
310 
311  void resizeEvent(QResizeEvent *e) override;
312  virtual void CheckActionAtTheEnd(TPad *pad);
313  virtual bool CompleteMarkerEdit(TPad *pad);
314  virtual int GetNumMarkers(TPad *pad, int kind);
315  virtual void AddMarkerObj(TPad *pad, int kind, TObject *obj);
316  virtual void SetActiveObj(TPad *pad, int kind, TGo4Slot *activeslot);
317  virtual TObject *GetActiveObj(TPad *pad, int kind);
318  virtual QString GetActiveObjName(TPad *pad, int kind);
319  virtual int GetAutoColor(int indx);
320 
321  void CanvasUpdate(bool modify = false);
322 
323  TH1 *Get_fHistogram(TObject *obj, bool force = false);
324 };
325 
326 #endif
virtual void SetMouseMode(int mode)
virtual void ShootRepaintTimer()
void CanvasUpdate(bool modify=false)
bool fbCanvasCrosshair
virtual TObject * GetDrawObject(TPad *pad, const char *name)
virtual void CheckActionAtTheEnd(TPad *pad)
TPad * fxActivePad
virtual bool IsPadHasSubPads(TGo4Slot *padslot)
virtual void SwitchMarkerButton(int kind, bool on)
virtual void RectangularRatio(TPad *pad)
virtual void PrintCanvas()
virtual void SetPadDefaults(TPad *pad)
virtual void TakeFullRangeFromHisto(TH1 *h1, TGo4Picture *padopt, bool isfirsthisto)
virtual TGo4Slot * GetSuperimposeSlot(TGo4Slot *slot)
virtual void ApplyToAllToggled(bool)
QSignalMapper * fOptionsMap
virtual void RedrawImage(TPad *pad, TGo4Picture *padopt, TGo4ASImage *im, TH2 *asihisto, bool scancontent)
virtual void StartConditionEditor()
virtual const char * GetDrawObjectLinkName(TPad *pad, TObject *obj)
virtual void SetFreezeMouseMode(bool on)
virtual void MakePictureForPad(TGo4Picture *pic, TPad *pad, bool useitemname)
QAction * fxCanvasEventstatusChk
virtual void ActivateInGedEditor(TObject *obj)
virtual void SetDrawKind(TGo4Slot *slot, int kind)
virtual int GetAutoColor(int indx)
virtual void SetActivePad(TPad *pad)
bool fbModifiedSignalFlag
virtual bool IsRedrawBlocked()
virtual bool ProcessPadRedraw(TPad *pad, bool force)
virtual void EditConditionBtn_clicked()
QWebCanvas * fxWCanvas
web canvas
virtual void RedrawMultiGraph(TPad *pad, TGo4Picture *padopt, TMultiGraph *mg, bool dosuperimpose, bool scancontent)
QMenu * fSelectMenu
virtual void RedrawStack(TPad *pad, TGo4Picture *padopt, THStack *hs, bool dosuperimpose, bool scancontent)
virtual QString GetSelectedMarkerName(TPad *pad)
virtual void StartConditionEditing(TPad *pad)
bool fbMarkEditorVisible
virtual bool GetVisibleRange(TPad *pad, int naxis, double &min, double &max)
virtual TGo4Slot * GetDrawObjectSlot(TPad *pad, const char *name)
bool IsAcceptDrag(const char *itemname, TClass *cl, int kind) override
virtual const char * GetPanelName()
virtual bool IsAutoZoomFlag()
virtual bool ScanDrawOptions(TPad *pad, TGo4Slot *padslot, TGo4Picture *pic, bool onlyscan)
virtual TObject * GetActiveObj(TPad *pad, int kind)
virtual void ShowEventStatus(bool)
void ResetWidget() override
virtual void ResizeGedEditor()
void resizeEvent(QResizeEvent *e) override
virtual void SaveCanvas()
void linkedUpdated(TGo4Slot *slot, TObject *obj) override
virtual void ProcessMarkersClear(TPad *pad, bool withsubpads)
virtual void StartRootEditor(bool)
virtual void ProduceGraphFromMarkers()
virtual void GetConditionBtn_clicked()
virtual TGo4Slot * GetPanelSlot()
virtual void PadDoubleClickedSlot(TPad *pad, int evx=-1, int evy=-1)
virtual void InfoConditionBtn_clicked()
virtual void AutoScaleToggled(bool)
Graphic Qt Widget based Canvas.
Definition: QRootCanvas.h:57
virtual void ClosePanel()
void linkedObjectUpdated(const char *linkname, TObject *obj) override
virtual void ProducePicture()
virtual const char * GetDrawItemName(int itemcnt=0)
virtual void SetAutoZoomFlag(bool on)
bool fbLeaveFocusAfterCondEnd
virtual TGo4Slot * GetPadMainObjectSlot(TPad *pad)
virtual void CompleteInitialization()
virtual void ProcessPadDoubleClick()
virtual void RedrawPanel(TPad *pad, bool force)
virtual void MoveScale(int expandfactor, int xaction, int yaction, int zaction)
virtual void ClearCanvas()
virtual void DelSelectedMarker_clicked()
virtual void Divide(int numX, int numY)
virtual void LogMarkerValues()
virtual void SetCursorMode(bool on)
virtual void CheckForSpecialObjects(TPad *pad, TGo4Slot *padslot)
virtual void TakeFullRangeFromGraph(TGraph *gr, TGo4Picture *padopt, bool isfirst)
virtual void UpdatePanelCaption()
virtual QString GetActiveObjName(TPad *pad, int kind)
virtual void SetConditionBtn_clicked()
virtual void UndrawItemOnPanel(const char *itemname)
virtual void DeleteDrawObject(TPad *pad, const char *name)
virtual TPad * GetSlotPad(TGo4Slot *slot)
virtual TPad * GetSubPad(TPad *toppad, int num, bool onlytoplevel)
virtual TObject * GetPadMainObject(TPad *pad)
virtual void AboutToShowOptionsMenu()
virtual void ProducePadsList(TObjArray *arr, TPad *toppad)
virtual void SetApplyToAllFlag(bool on)
virtual void AllocatePadOptions(TPad *pad)
virtual bool IsConditionSelected(TPad *pad)
virtual bool IsRepaintTimerActive()
virtual const char * GetSpecialDrawOption(TGo4Slot *slot)
virtual void SetSelectedRange(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax)
QMenu * fOptionsMenu
virtual void DisplayPadStatus(TPad *pad)
virtual void CheckObjectsAssigments(TPad *pad, TGo4Slot *padslot)
virtual void RedrawLegend(TPad *pad, TGo4Picture *padopt, TGo4Slot *legslot)
virtual TGo4Slot * AddNewSlot(const char *name, TGo4Slot *parent)
virtual void SaveMarkers()
virtual void ProcessCanvasAdopt(TPad *tgtpad, TPad *srcpad, const char *srcitemname)
virtual void SetSelectedMarker(TPad *pad, const QString &selname, int selindex)
virtual bool ShiftSelectedObjectToEnd(TPad *pad)
virtual void checkRepaintSlot()
virtual void RedrawHistogram(TPad *pad, TGo4Picture *padopt, TH1 *his, bool scancontent, bool first_draw)
virtual void PadRangeAxisChanged(TPad *pad)
TPad * fxResizeTimerPad
virtual void MarkPadModified(TPad *pad)
virtual void DropOnPad(TPad *pad, const char *itemname, TClass *cl, int kind)
virtual void UpdatePadStatus(TPad *pad, bool removeitems)
QStatusBar * CanvasStatus
virtual void SetPolygonMode(bool on)
virtual void CleanupGedEditor()
virtual void MoveSingleScale(int expandfactor, int action, int naxis, TGo4Picture *opt, TObject *padhist)
virtual void SelectMenuItemActivated(int)
virtual TGo4Slot * GetPadSlot(TPad *pad)
virtual void ResetPadFillColors(TPad *pad, int col, TPad *backup=nullptr)
virtual void SelectedMarkerCmb_activated(int indx)
virtual void ClearPad(TPad *pad, bool removeitems, bool removesubpads)
virtual TPad * FindPadWithItem(const char *itemname)
virtual int GetNumMarkers(TPad *pad, int kind)
virtual void PadDeleted(TPad *pad)
virtual void SetMarkerPanel(bool)
void linkedRemoved(TGo4Slot *slot, TObject *obj) override
virtual void SetRegionMode(bool on)
virtual void SetSpecialDrawOption(TGo4Slot *slot, const char *drawopt)
virtual ~TGo4ViewPanel()
virtual void ClearAllMarkers()
virtual void ClearActivePad()
virtual void GetSelectedRange(int &ndim, bool &autoscale, double &xmin, double &xmax, double &ymin, double &ymax, double &zmin, double &zmax)
virtual void RedrawGraph(TPad *pad, TGo4Picture *padopt, TGraph *gr, bool scancontent, bool first_draw)
virtual void OptionsMenuItemActivated(int)
virtual void SetSelectedObjectIndex(TGo4Slot *slot, int indx)
virtual TGo4Picture * GetPadOptions(TPad *pad)
virtual int GetSelectedMarkerIndex(TPad *pad)
QSignalMapper * fSelectMap
virtual void AddMarkerObj(TPad *pad, int kind, TObject *obj)
virtual int GetDrawKind(TGo4Slot *slot)
virtual void panelSlot(TGo4ViewPanel *panel, TPad *pad, int signalid)
TGo4ViewPanel(QWidget *parent=nullptr, const char *name=nullptr)
virtual TObject * ProduceSuperimposeObject(TGo4Slot *padslot, TGo4Picture *padopt, TGo4Slot *sislot, TGo4Slot *legslot, TObjArray *objs, TObjArray *objslots, bool showitems)
virtual void SetSlotPad(TGo4Slot *padslot, TPad *pad)
QMenuBar * fMenuBar
virtual void SetSelectedMarkerByMouseClick(TPad *pad, const char *name)
TH1 * Get_fHistogram(TObject *obj, bool force=false)
QByteArray fbaPanelName
virtual void ProcessPadModifiedSignal()
virtual void CollectMainDrawObjects(TGo4Slot *slot, TObjArray *objs, TObjArray *objslots, int modifier)
virtual void ScanObjectsDrawOptions(bool onlyscan, TGo4Slot *padslot, TObjArray *objs, TObjArray *objslots)
virtual void ProcessPadStatusUpdate(TPad *pad, TGo4Slot *parent, bool removeitems)
virtual void PadClickedSlot(TPad *pad, int evx=-1, int evy=-1)
virtual TH1 * GetPadHistogram(TPad *pad)
virtual void SetPadSuperImpose(TPad *pad, bool on)
QString fPanelName
virtual bool TakeSelectedAxisRange(int naxis, TGo4Picture *padopt, double selmin, double selmax, bool force)
virtual void ClearPadItems(TGo4Slot *padslot, TGo4Slot *remain)
QCheckBox * fAutoScaleCheck
virtual void SetLateXMode(bool on)
virtual bool IsWebCanvas() const
virtual void RefreshButtons()
QString fFreezedTitle
virtual bool IsPanelPad(TPad *pad)
virtual TGo4Slot * GetSelectedSlot(TPad *pad, int *selkind, TObject **selobj)
virtual void BlockPanelRedraw(bool on)
virtual void CanvasDropEventSlot(QDropEvent *event, TPad *pad)
TPad * fxRepaintTimerPad
TPad * fxDoubleClickTimerPad
virtual void SetActiveObj(TPad *pad, int kind, TGo4Slot *activeslot)
virtual void CollectSpecialObjects(TPad *pad, TObjArray *objs, int selectkind)
virtual void LoadMarkers()
virtual void RedrawSpecialObjects(TPad *pad, TGo4Slot *padslot)
virtual void SetPanelName(const char *newname)
virtual bool IsApplyToAllFlag()
virtual void ChangeDrawOption(int kind, int value, const char *drawopt)
virtual int GetNumberOfPads(TPad *toppad)
virtual TPad * GetActivePad()
virtual void SuperImposeToggled(bool)
virtual void DefaultPadMargin(TPad *pad)
QRootCanvas * fxQCanvas
qtroot canvas
virtual void ProcessPictureRedraw(const char *picitemname, TPad *pad, TGo4Picture *pic)
virtual void SetDrawingMode(bool on)
virtual bool DeleteDrawObjects(TPad *pad, int kindtodelete)
virtual TObject * GetSelectedObject(TPad *pad, const char **drawopt)
virtual void checkResizeSlot()
virtual TCanvas * GetCanvas()
virtual bool IsFreezeTitle()
virtual TGo4Slot * AddDrawObject(TPad *pad, int kind, const char *itemname, TObject *obj, bool owner, const char *drawopt)
virtual void ProcessPadClear(TPad *pad, bool removeitems, bool removesubpads)
virtual void SetFreezedTitle(const QString &title)
virtual bool CompleteMarkerEdit(TPad *pad)
virtual void SetSelectedRangeToHisto(TPad *pad, TH1 *h1, THStack *hs0, TGo4Picture *padopt, bool ishisto)
QAction * fxCanvasEditorChk
virtual int GetMouseMode()
virtual void MenuCommandExecutedSlot(TObject *obj, const char *cmdname)
virtual int GetSelectedObjectIndex(TGo4Slot *slot)
virtual void CanvasUpdatedSlot()
virtual void ChangeDrawOptionForPad(TGo4Slot *padslot, int kind, int value, const char *drawopt)
virtual void SetAutoScale(bool on, TPad *selpad)