19 #ifndef INC_C4ConsoleQtViewport
20 #define INC_C4ConsoleQtViewport
27 class C4ConsoleQtViewportView :
public QOpenGLWidget
31 class C4ConsoleQtViewportDockWidget *dock;
35 bool IsPlayViewport()
const;
36 qreal GetDevicePixelRatio();
37 void ShowContextMenu(
const QPoint &pos);
38 void AddSelectObjectContextEntry(
C4Object *obj, QMenu *menu);
42 void focusInEvent(QFocusEvent * event)
override;
43 void focusOutEvent(QFocusEvent * event)
override;
44 void mouseMoveEvent(QMouseEvent *eventMove)
override;
45 void mousePressEvent(QMouseEvent *eventPress)
override;
46 void mouseDoubleClickEvent(QMouseEvent *eventPress)
override;
47 void mouseReleaseEvent(QMouseEvent *releaseEvent)
override;
48 void wheelEvent(QWheelEvent *event)
override;
49 void keyPressEvent(QKeyEvent * event)
override;
50 void keyReleaseEvent(QKeyEvent * event)
override;
51 void enterEvent(QEvent *)
override;
52 void leaveEvent(QEvent *)
override;
58 void initializeGL()
override;
59 void resizeGL(
int w,
int h)
override;
60 void paintGL()
override;
63 class C4ConsoleQtViewportScrollArea :
public QAbstractScrollArea
67 class C4ConsoleQtViewportDockWidget *dock;
69 int32_t is_updating_scrollbars;
72 void scrollContentsBy(
int dx,
int dy)
override;
73 bool viewportEvent(QEvent *e)
override;
76 C4ConsoleQtViewportScrollArea(
class C4ConsoleQtViewportDockWidget *dock);
78 void setupViewport(QWidget *viewport)
override;
80 void setScrollBarVisibility(
bool visible);
85 class C4ConsoleQtViewportDockWidget :
public QDockWidget
89 class C4ConsoleQtMainWindow *main_window;
91 C4ConsoleQtViewportView *view;
94 void mousePressEvent(QMouseEvent *eventPress)
override;
95 void OnActiveChanged(
bool active);
98 C4ConsoleQtViewportDockWidget(
class C4ConsoleQtMainWindow *main_window, QMainWindow *parent,
class C4ViewportWindow *window);
99 void closeEvent(QCloseEvent * event)
override;
101 void SetFocus() {
raise(); view->setFocus(); }
102 bool HasFocus() {
return view->hasFocus(); }
103 bool event(QEvent *e)
override;
106 void TopLevelChanged(
bool is_floating);
108 friend C4ConsoleQtViewportView;
109 friend C4ConsoleQtViewportScrollArea;
bool ScrollBarsByViewPosition()
friend class C4ConsoleQtViewportView