19 #ifdef __GO4DESIGNER__ 20 #include <QtDesigner/QDesignerExportWidget> 21 #define GO4_WIDGET_EXPORT QDESIGNER_WIDGET_EXPORT 23 #define GO4_WIDGET_EXPORT 26 #include "RtypesCore.h" 28 #include "TVirtualX.h" 39 class TVirtualPadEditor;
61 enum { act_Update = 1, act_Resize = 2 };
71 bool showEventStatus()
const;
72 void setShowEventStatus(
bool s);
75 bool isEditorAllowed();
76 bool isEditorVisible();
79 void activateEditor(TPad *pad, TObject *obj);
83 void showStatusMessage(
const char *
msg);
84 void setStatusBarVisible(
bool flag);
85 bool isStatusBarVisible();
90 void SelectedPadChanged(TPad *);
93 void PadClicked(TPad *,
int,
int);
96 void PadDoubleClicked(TPad *,
int,
int);
98 void MenuCommandExecuted(TObject *,
const char *);
100 void CanvasStatusEvent(
const char *);
102 void CanvasDropEvent(QDropEvent *, TPad *);
104 void CanvasLeaveEvent();
106 void CanvasUpdated();
110 void cd(Int_t subpadnumber = 0);
111 virtual void Browse(TBrowser *b);
112 void Clear(Option_t *option =
"");
113 void Close(Option_t *option =
"");
114 virtual void Draw(Option_t *option =
"");
115 virtual TObject *DrawClone(Option_t *option =
"");
116 virtual TObject *DrawClonePad();
117 virtual void EditorBar();
118 void EnterLeave(TPad *prevSelPad, TObject *prevSelObj);
119 void FeedbackMode(Bool_t
set);
121 void UseCurrentStyle();
123 const char *GetDISPLAY();
124 TContextMenu *GetContextMenu();
125 Int_t GetDoubleBuffer();
129 Color_t GetHighLightColor();
130 TVirtualPad *GetPadSave();
131 TObject *GetSelected();
132 Option_t *GetSelectedOpt();
133 TVirtualPad *GetSelectedPad();
134 Bool_t GetShowEventStatus();
135 Bool_t GetAutoExec();
136 Size_t GetXsizeUser();
137 Size_t GetYsizeUser();
138 Size_t GetXsizeReal();
139 Size_t GetYsizeReal();
141 Int_t GetWindowTopX();
142 Int_t GetWindowTopY();
143 UInt_t GetWindowWidth();
144 UInt_t GetWindowHeight();
147 virtual void GetCanvasPar(Int_t &wtopx, Int_t &wtopy, UInt_t &ww, UInt_t &wh);
148 virtual void HandleInput(EEventType button, Int_t x, Int_t y);
153 virtual void ls(Option_t *option =
"");
154 void Modified(Bool_t=1);
155 void MoveOpaque(Int_t
set=1);
156 Bool_t OpaqueMoving();
157 Bool_t OpaqueResizing();
158 virtual void Paint(Option_t *option =
"");
159 virtual TPad *Pick(Int_t px, Int_t py, TObjLink *&pickobj);
160 virtual TPad *Pick(Int_t px, Int_t py, TObject *prevSelObj);
161 virtual void Resize(Option_t *option =
"");
162 void ResizeOpaque(Int_t
set=1);
163 void SaveSource(
const char *filename =
"", Option_t *option =
"");
164 virtual void SetCursor(ECursor cursor);
165 virtual void SetDoubleBuffer(Int_t mode=1);
166 void SetWindowPosition(Int_t x, Int_t y);
167 void SetWindowSize(UInt_t ww, UInt_t wh);
168 void SetCanvasSize(UInt_t ww, UInt_t wh);
169 void SetHighLightColor(Color_t col);
170 void SetSelected(TObject *obj);
171 void SetSelectedPad(TPad *pad);
173 virtual void Size(Float_t xsizeuser = 0, Float_t ysizeuser = 0);
174 void SetBatch(Bool_t batch=kTRUE);
175 void SetRetained(Bool_t retained=kTRUE);
176 void SetTitle(
const char *title =
"");
177 virtual void ToggleEventStatus();
178 virtual void ToggleAutoExec();
179 virtual void Update();
181 void buildEditorWindow();
182 void executeMenu(
int id);
183 void processRepaintTimer();
187 void dropEvent( QDropEvent *Event )
override;
188 void dragEnterEvent( QDragEnterEvent *e )
override;
189 void mousePressEvent( QMouseEvent *e )
override;
190 void mouseReleaseEvent( QMouseEvent *e )
override;
191 void resizeEvent( QResizeEvent *e )
override;
192 void paintEvent( QPaintEvent *e )
override;
193 void mouseDoubleClickEvent(QMouseEvent* e )
override;
194 void mouseMoveEvent(QMouseEvent *e)
override;
195 void wheelEvent( QWheelEvent* e)
override;
196 void leaveEvent(QEvent *e)
override;
197 void closeEvent( QCloseEvent * e)
override;
203 QPoint scaledMousePoint(QMouseEvent *ev);
207 void methodDialog(TObject *
object, TMethod *method);
208 QAction* addMenuAction(QMenu *menu, QSignalMapper *map,
const QString &text,
int id);
210 void activateRepaint(
int act);
212 TCanvas *fCanvas{
nullptr};
213 Int_t fRootWindowId{0};
215 QTimer *fRepaintTimer{
nullptr};
218 QFrame *fEditorFrame{
nullptr};
219 TVirtualPadEditor *fxPeditor{
nullptr};
221 TH1 *fDummyHisto{
nullptr};
223 QStatusBar *fStatusBar{
nullptr};
226 bool fMaskDoubleClick{
false};
227 double fMousePosX{0};
228 double fMousePosY{0};
230 TObject *fMenuObj{
nullptr};
231 TList *fMenuMethods{
nullptr};
232 bool fxShowEventStatus{
false};
234 double fQtScalingfactor{0};
double scaledPosition(int p)
#define GO4_WIDGET_EXPORT
Graphic Qt Widget based Canvas.
QPaintEngine * paintEngine() const override
void setMaskDoubleClick(bool on=true)
void setStatusBar(QStatusBar *bar)
void setEditorFrame(QFrame *fr)