14#ifndef TGO4VIEWPANEL_H
15#define TGO4VIEWPANEL_H
18#include "ui_TGo4ViewPanel.h"
98 TGo4ViewPanel(QWidget *parent =
nullptr,
const char *name =
nullptr);
111 bool IsAcceptDrag(
const char *itemname, TClass *cl,
int kind)
override;
112 virtual void DropOnPad(TPad *pad,
const char *itemname, TClass *cl,
int kind);
130 virtual TGo4Slot *
AddDrawObject(TPad *pad,
int kind,
const char *itemname, TObject *obj,
bool owner,
const char *drawopt);
142 TGo4Slot *legslot, TObjArray *objs, TObjArray *objslots,
144 virtual void Divide(
int numX,
int numY);
153 virtual TPad *
GetSubPad(TPad *toppad,
int num,
bool onlytoplevel);
182 virtual void RedrawStack(TPad *pad,
TGo4Picture *padopt, THStack *hs,
bool dosuperimpose,
bool scancontent);
194 virtual void ClearPad(TPad *pad,
bool removeitems,
bool removesubpads);
196 virtual void ProcessPadClear(TPad *pad,
bool removeitems,
bool removesubpads);
200 virtual void MoveScale(
int expandfactor,
int xaction,
int yaction,
int zaction);
205 virtual bool GetVisibleRange(TPad *pad,
int naxis,
double &min,
double &max);
207 virtual void PadRangeAxisChanged(TPad *pad,
double rxmin,
double rxmax,
double rymin,
double rymax);
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);
248 virtual void PadClickedSlot(TPad *pad,
int evx = -1,
int evy = -1);
315 virtual void AddMarkerObj(TPad *pad,
int kind, TObject *obj);
This canvas uses Qt eventloop to handle user input.
Special ASImage for display of 2d histograms in go4 viewpanel.
Picture cconfiguration in Go4.
virtual void RedrawPanel(TPad *pad, bool force)
virtual void ProducePadsList(TObjArray *arr, TPad *toppad)
virtual void ShootRepaintTimer()
virtual void ProduceGraphFromMarkers()
virtual void SetPanelName(const char *newname)
virtual void SaveMarkers()
virtual void DisplayPadStatus(TPad *pad)
virtual TObject * GetDrawObject(TPad *pad, const char *name)
virtual void CleanupGedEditor()
virtual void Divide(int numX, int numY)
virtual const char * GetDrawObjectLinkName(TPad *pad, TObject *obj)
virtual TObject * GetPadMainObject(TPad *pad)
virtual void CollectSpecialObjects(TPad *pad, TObjArray *objs, int selectkind)
virtual void SetPadDefaults(TPad *pad)
virtual void panelSlot(TGo4ViewPanel *panel, TPad *pad, int signalid)
virtual void ClearAllMarkers()
virtual void PrintCanvas()
virtual void SetFreezeMouseMode(bool on)
virtual void DefaultPadMargin(TPad *pad)
virtual void SetSelectedMarkerByMouseClick(TPad *pad, const char *name)
virtual bool CompleteMarkerEdit(TPad *pad)
virtual bool ScanDrawOptions(TPad *pad, TGo4Slot *padslot, TGo4Picture *pic, bool onlyscan)
virtual void SetSelectedRange(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax)
virtual void SetActiveObj(TPad *pad, int kind, TGo4Slot *activeslot)
virtual void ProcessCanvasAdopt(TPad *tgtpad, TPad *srcpad, const char *srcitemname)
virtual int GetMouseMode()
virtual void ClearPadItems(TGo4Slot *padslot, TGo4Slot *remain)
virtual void CanvasUpdatedSlot()
virtual void SaveCanvas()
virtual void RedrawHistogram(TPad *pad, TGo4Picture *padopt, TH1 *his, bool scancontent, bool first_draw)
virtual void ClosePanel()
virtual void CheckObjectsAssigments(TPad *pad, TGo4Slot *padslot)
virtual int GetNumMarkers(TPad *pad, int kind)
virtual TObject * GetActiveObj(TPad *pad, int kind)
virtual void SetSlotPad(TGo4Slot *padslot, TPad *pad)
virtual void MarkPadModified(TPad *pad)
virtual void SetSelectedMarker(TPad *pad, const QString &selname, int selindex)
virtual void ClearActivePad()
virtual void ProcessMarkersClear(TPad *pad, bool withsubpads)
virtual void ChangeDrawOptionForPad(TGo4Slot *padslot, int kind, int value, const char *drawopt)
virtual QString GetSelectedMarkerName(TPad *pad)
virtual void CollectMainDrawObjects(TGo4Slot *slot, TObjArray *objs, TObjArray *objslots, int modifier)
virtual void RectangularRatio(TPad *pad)
virtual void SetLateXMode(bool on)
virtual int GetSelectedMarkerIndex(TPad *pad)
virtual TGo4Slot * GetSuperimposeSlot(TGo4Slot *slot)
virtual void ClearCanvas()
void linkedUpdated(TGo4Slot *slot, TObject *obj) override
virtual void CheckActionAtTheEnd(TPad *pad)
virtual void ShowEventStatus(bool)
virtual bool IsRepaintTimerActive()
bool fbLeaveFocusAfterCondEnd
virtual void ProcessPictureRedraw(const char *picitemname, TPad *pad, TGo4Picture *pic)
QWebCanvas * fxWCanvas
web canvas
virtual void StartConditionEditing(TPad *pad)
virtual bool GetVisibleRange(TPad *pad, int naxis, double &min, double &max)
virtual TObject * ProduceSuperimposeObject(TGo4Slot *padslot, TGo4Picture *padopt, TGo4Slot *sislot, TGo4Slot *legslot, TObjArray *objs, TObjArray *objslots, bool showitems)
virtual void TakeFullRangeFromGraph(TGraph *gr, TGo4Picture *padopt, bool isfirst)
virtual void AddMarkerObj(TPad *pad, int kind, TObject *obj)
virtual int GetSelectedObjectIndex(TGo4Slot *slot)
virtual void DeleteDrawObject(TPad *pad, const char *name)
virtual void LoadMarkers()
virtual void CheckForSpecialObjects(TPad *pad, TGo4Slot *padslot)
virtual void RedrawSpecialObjects(TPad *pad, TGo4Slot *padslot)
virtual void GetConditionBtn_clicked()
virtual void AutoScaleToggled(bool)
void ResetWidget() override
virtual void SetPadSuperImpose(TPad *pad, bool on)
virtual void RedrawImage(TPad *pad, TGo4Picture *padopt, TGo4ASImage *im, TH2 *asihisto, bool scancontent)
virtual void InfoConditionBtn_clicked()
virtual void SetRegionMode(bool on)
virtual void CanvasDropEventSlot(QDropEvent *event, TPad *pad)
virtual void PadClickedSlot(TPad *pad, int evx=-1, int evy=-1)
virtual bool IsPadHasSubPads(TGo4Slot *padslot)
virtual void BlockPanelRedraw(bool on)
virtual bool ProcessPadRedraw(TPad *pad, bool force)
virtual bool DeleteDrawObjects(TPad *pad, int kindtodelete)
virtual void MakePictureForPad(TGo4Picture *pic, TPad *pad, bool useitemname)
virtual void SetSelectedRangeToHisto(TPad *pad, TH1 *h1, THStack *hs0, TGo4Picture *padopt, bool ishisto)
virtual void ChangeDrawOption(int kind, int value, const char *drawopt)
virtual void ResizeGedEditor()
virtual void PadDeleted(TPad *pad)
virtual void checkRepaintSlot()
void linkedObjectUpdated(const char *linkname, TObject *obj) override
QAction * fxCanvasEventstatusChk
virtual void ProcessPadStatusUpdate(TPad *pad, TGo4Slot *parent, bool removeitems)
virtual void ApplyToAllToggled(bool)
virtual void SetApplyToAllFlag(bool on)
virtual bool IsRedrawBlocked()
virtual void StartRootEditor(bool)
virtual void ClearPad(TPad *pad, bool removeitems, bool removesubpads)
virtual void checkResizeSlot()
virtual TGo4Slot * GetPanelSlot()
virtual void DelSelectedMarker_clicked()
TH1 * Get_fHistogram(TObject *obj, bool force=false)
virtual void UpdatePanelCaption()
virtual void TakeFullRangeFromHisto(TH1 *h1, TGo4Picture *padopt, bool isfirsthisto)
virtual TGo4Slot * GetPadSlot(TPad *pad)
QStatusBar * CanvasStatus
QRootCanvas * fxQCanvas
qtroot canvas
virtual void RedrawStack(TPad *pad, TGo4Picture *padopt, THStack *hs, bool dosuperimpose, bool scancontent)
virtual void AllocatePadOptions(TPad *pad)
virtual TGo4Slot * GetPadMainObjectSlot(TPad *pad)
bool IsAcceptDrag(const char *itemname, TClass *cl, int kind) override
virtual void SetFreezedTitle(const QString &title)
virtual bool IsFreezeTitle()
virtual TPad * FindPadWithItem(const char *itemname)
virtual void ProcessPadDoubleClick()
QAction * fxCanvasEditorChk
virtual void MenuCommandExecutedSlot(TObject *obj, const char *cmdname)
virtual void SetSelectedObjectIndex(TGo4Slot *slot, int indx)
virtual TGo4Picture * GetPadOptions(TPad *pad)
virtual QString GetActiveObjName(TPad *pad, int kind)
virtual TObject * GetSelectedObject(TPad *pad, const char **drawopt)
virtual TPad * GetActivePad()
void resizeEvent(QResizeEvent *e) override
virtual void ScanObjectsDrawOptions(bool onlyscan, TGo4Slot *padslot, TObjArray *objs, TObjArray *objslots)
virtual void SetDrawingMode(bool on)
virtual void CompleteInitialization()
virtual void SetAutoZoomFlag(bool on)
virtual int GetAutoColor(int indx)
virtual const char * GetPanelName()
virtual void SetConditionBtn_clicked()
virtual void SetCursorMode(bool on)
virtual bool IsAutoZoomFlag()
TGo4ViewPanel(QWidget *parent=nullptr, const char *name=nullptr)
QSignalMapper * fOptionsMap
virtual void SelectMenuItemActivated(int)
virtual void LogMarkerValues()
QCheckBox * fAutoScaleCheck
virtual bool TakeSelectedAxisRange(int naxis, TGo4Picture *padopt, double selmin, double selmax, bool force)
virtual void SuperImposeToggled(bool)
TPad * fxDoubleClickTimerPad
virtual void SetDrawKind(TGo4Slot *slot, int kind)
virtual void RedrawGraph(TPad *pad, TGo4Picture *padopt, TGraph *gr, bool scancontent, bool first_draw)
virtual void ProcessPadModifiedSignal()
virtual void DropOnPad(TPad *pad, const char *itemname, TClass *cl, int kind)
virtual void AboutToShowOptionsMenu()
virtual TPad * GetSlotPad(TGo4Slot *slot)
virtual TGo4Slot * GetDrawObjectSlot(TPad *pad, const char *name)
virtual void UndrawItemOnPanel(const char *itemname)
virtual void UpdatePadStatus(TPad *pad, bool removeitems)
virtual void SetMouseMode(int mode)
virtual void SelectedMarkerCmb_activated(int indx)
virtual bool ShiftSelectedObjectToEnd(TPad *pad)
virtual void GetSelectedRange(int &ndim, bool &autoscale, double &xmin, double &xmax, double &ymin, double &ymax, double &zmin, double &zmax)
virtual void EditConditionBtn_clicked()
virtual TH1 * GetPadHistogram(TPad *pad)
QSignalMapper * fSelectMap
virtual void RefreshButtons()
virtual void ProcessPadClear(TPad *pad, bool removeitems, bool removesubpads)
virtual const char * GetSpecialDrawOption(TGo4Slot *slot)
virtual TGo4Slot * AddNewSlot(const char *name, TGo4Slot *parent)
virtual void PadDoubleClickedSlot(TPad *pad, int evx=-1, int evy=-1)
void linkedRemoved(TGo4Slot *slot, TObject *obj) override
virtual void ResetPadFillColors(TPad *pad, int col, TPad *backup=nullptr)
virtual bool IsWebCanvas() const
virtual void PadRangeAxisChanged(TPad *pad)
virtual void SetActivePad(TPad *pad)
virtual TCanvas * GetCanvas()
virtual int GetDrawKind(TGo4Slot *slot)
virtual void RedrawMultiGraph(TPad *pad, TGo4Picture *padopt, TMultiGraph *mg, bool dosuperimpose, bool scancontent)
virtual void MoveScale(int expandfactor, int xaction, int yaction, int zaction)
virtual void SetAutoScale(bool on, TPad *selpad)
virtual void SetMarkerPanel(bool)
virtual int GetNumberOfPads(TPad *toppad)
virtual const char * GetDrawItemName(int itemcnt=0)
virtual TPad * GetSubPad(TPad *toppad, int num, bool onlytoplevel)
virtual bool IsPanelPad(TPad *pad)
virtual void SetPolygonMode(bool on)
virtual bool IsConditionSelected(TPad *pad)
bool fbModifiedSignalFlag
virtual bool IsApplyToAllFlag()
virtual void OptionsMenuItemActivated(int)
virtual void StartConditionEditor()
virtual void RedrawLegend(TPad *pad, TGo4Picture *padopt, TGo4Slot *legslot)
virtual TGo4Slot * AddDrawObject(TPad *pad, int kind, const char *itemname, TObject *obj, bool owner, const char *drawopt)
virtual void ProducePicture()
virtual void MoveSingleScale(int expandfactor, int action, int naxis, TGo4Picture *opt, TObject *padhist)
void CanvasUpdate(bool modify=false)
virtual void ActivateInGedEditor(TObject *obj)
virtual TGo4Slot * GetSelectedSlot(TPad *pad, int *selkind, TObject **selobj)
virtual void SwitchMarkerButton(int kind, bool on)
virtual void SetSpecialDrawOption(TGo4Slot *slot, const char *drawopt)