72 lines
1.4 KiB
C++
72 lines
1.4 KiB
C++
#ifndef WEBVIEWWINDOW_H
|
|
#define WEBVIEWWINDOW_H
|
|
|
|
#include <QMainWindow>
|
|
#include <QTimer>
|
|
|
|
class WebViewQt;
|
|
class Rktwebview_qt;
|
|
class Command;
|
|
|
|
class WebviewWindow : public QMainWindow
|
|
{
|
|
Q_OBJECT
|
|
private:
|
|
Rktwebview_qt *_container;
|
|
WebViewQt *_view;
|
|
QMainWindow *_devtools;
|
|
WebviewWindow *_parent;
|
|
|
|
QTimer _resize_timer;
|
|
QTimer _move_timer;
|
|
|
|
int _x;
|
|
int _y;
|
|
int _w;
|
|
int _h;
|
|
bool _must_close;
|
|
|
|
bool _window_created;
|
|
int _moved;
|
|
int _resized;
|
|
|
|
public slots:
|
|
void processJsEvents();
|
|
|
|
protected:
|
|
void closeEvent(QCloseEvent *evt);
|
|
|
|
public:
|
|
void closeView();
|
|
bool windowCreated();
|
|
int moveCount();
|
|
int resizeCount();
|
|
|
|
public:
|
|
void addView(WebViewQt *v, Rktwebview_qt *c);
|
|
WebViewQt *view();
|
|
|
|
public:
|
|
void runJs(const QString &js);
|
|
void callJs(const QString &js, Command *c);
|
|
void openDevTools();
|
|
|
|
public:
|
|
explicit WebviewWindow(WebviewWindow *parent = nullptr);
|
|
|
|
private slots:
|
|
void triggerResize();
|
|
void triggerMove();
|
|
|
|
signals:
|
|
|
|
// QWidget interface
|
|
protected:
|
|
void moveEvent(QMoveEvent *event);
|
|
void resizeEvent(QResizeEvent *event);
|
|
void showEvent(QShowEvent *event);
|
|
void hideEvent(QHideEvent *event);
|
|
};
|
|
|
|
#endif // WEBVIEWWINDOW_H
|