cutter/src/widgets/JupyterWidget.cpp

53 lines
1.1 KiB
C++
Raw Normal View History

2017-12-13 17:36:00 +00:00
#include "ui_JupyterWidget.h"
#include "JupyterWidget.h"
#include <QWebEngineSettings>
JupyterWidget::JupyterWidget(QWidget *parent, Qt::WindowFlags flags) :
QDockWidget(parent, flags),
ui(new Ui::JupyterWidget)
{
ui->setupUi(this);
jupyter = new JupyterConnection(this);
connect(jupyter, &JupyterConnection::urlReceived, this, &JupyterWidget::urlReceived);
jupyter->start();
}
JupyterWidget::~JupyterWidget()
{
}
JupyterWebView *JupyterWidget::createNewTab()
{
auto webView = new JupyterWebView(this);
ui->tabWidget->addTab(webView, "Tab");
return webView;
}
void JupyterWidget::urlReceived(const QString &url)
{
createNewTab()->load(QUrl(url));
}
JupyterWebView::JupyterWebView(JupyterWidget *mainWidget, QWidget *parent) : QWebEngineView(parent)
{
this->mainWidget = mainWidget;
}
QWebEngineView *JupyterWebView::createWindow(QWebEnginePage::WebWindowType type)
{
switch (type)
{
case QWebEnginePage::WebBrowserTab:
return mainWidget->createNewTab();
default:
return nullptr;
}
}