mirror of
https://github.com/bec-project/bec_widgets.git
synced 2025-07-14 11:41:49 +02:00
refactor(website): changed inheritance of website widget to simple qwidget; closes #325
This commit is contained in:
@ -1,6 +1,6 @@
|
|||||||
from qtpy.QtCore import QUrl, qInstallMessageHandler
|
from qtpy.QtCore import QUrl, qInstallMessageHandler
|
||||||
from qtpy.QtWebEngineWidgets import QWebEngineView
|
from qtpy.QtWebEngineWidgets import QWebEngineView
|
||||||
from qtpy.QtWidgets import QApplication
|
from qtpy.QtWidgets import QApplication, QVBoxLayout, QWidget
|
||||||
|
|
||||||
from bec_widgets.utils.bec_widget import BECWidget
|
from bec_widgets.utils.bec_widget import BECWidget
|
||||||
|
|
||||||
@ -14,7 +14,7 @@ def suppress_qt_messages(type_, context, msg):
|
|||||||
qInstallMessageHandler(suppress_qt_messages)
|
qInstallMessageHandler(suppress_qt_messages)
|
||||||
|
|
||||||
|
|
||||||
class WebsiteWidget(BECWidget, QWebEngineView):
|
class WebsiteWidget(BECWidget, QWidget):
|
||||||
"""
|
"""
|
||||||
A simple widget to display a website
|
A simple widget to display a website
|
||||||
"""
|
"""
|
||||||
@ -24,7 +24,12 @@ class WebsiteWidget(BECWidget, QWebEngineView):
|
|||||||
|
|
||||||
def __init__(self, parent=None, url: str = None, config=None, client=None, gui_id=None):
|
def __init__(self, parent=None, url: str = None, config=None, client=None, gui_id=None):
|
||||||
super().__init__(client=client, config=config, gui_id=gui_id)
|
super().__init__(client=client, config=config, gui_id=gui_id)
|
||||||
QWebEngineView.__init__(self, parent=parent)
|
QWidget.__init__(self, parent=parent)
|
||||||
|
layout = QVBoxLayout()
|
||||||
|
layout.setContentsMargins(0, 0, 0, 0)
|
||||||
|
self.website = QWebEngineView()
|
||||||
|
layout.addWidget(self.website)
|
||||||
|
self.setLayout(layout)
|
||||||
self.set_url(url)
|
self.set_url(url)
|
||||||
|
|
||||||
def set_url(self, url: str) -> None:
|
def set_url(self, url: str) -> None:
|
||||||
@ -36,7 +41,7 @@ class WebsiteWidget(BECWidget, QWebEngineView):
|
|||||||
"""
|
"""
|
||||||
if not url:
|
if not url:
|
||||||
return
|
return
|
||||||
self.setUrl(QUrl(url))
|
self.website.setUrl(QUrl(url))
|
||||||
|
|
||||||
def get_url(self) -> str:
|
def get_url(self) -> str:
|
||||||
"""
|
"""
|
||||||
@ -45,31 +50,31 @@ class WebsiteWidget(BECWidget, QWebEngineView):
|
|||||||
Returns:
|
Returns:
|
||||||
str: The current url
|
str: The current url
|
||||||
"""
|
"""
|
||||||
return self.url().toString()
|
return self.website.url().toString()
|
||||||
|
|
||||||
def reload(self):
|
def reload(self):
|
||||||
"""
|
"""
|
||||||
Reload the website
|
Reload the website
|
||||||
"""
|
"""
|
||||||
QWebEngineView.reload(self)
|
QWebEngineView.reload(self.website)
|
||||||
|
|
||||||
def back(self):
|
def back(self):
|
||||||
"""
|
"""
|
||||||
Go back in the history
|
Go back in the history
|
||||||
"""
|
"""
|
||||||
QWebEngineView.back(self)
|
QWebEngineView.back(self.website)
|
||||||
|
|
||||||
def forward(self):
|
def forward(self):
|
||||||
"""
|
"""
|
||||||
Go forward in the history
|
Go forward in the history
|
||||||
"""
|
"""
|
||||||
QWebEngineView.forward(self)
|
QWebEngineView.forward(self.website)
|
||||||
|
|
||||||
def cleanup(self):
|
def cleanup(self):
|
||||||
"""
|
"""
|
||||||
Cleanup the widget
|
Cleanup the widget
|
||||||
"""
|
"""
|
||||||
self.page().deleteLater()
|
self.website.page().deleteLater()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
@ -16,10 +16,10 @@ def website_widget(qtbot, mocked_client):
|
|||||||
|
|
||||||
def test_website_widget_set_url(website_widget):
|
def test_website_widget_set_url(website_widget):
|
||||||
website_widget.set_url("https://scilog.psi.ch")
|
website_widget.set_url("https://scilog.psi.ch")
|
||||||
assert website_widget.url() == QUrl("https://scilog.psi.ch")
|
assert website_widget.website.url() == QUrl("https://scilog.psi.ch")
|
||||||
|
|
||||||
website_widget.set_url(None)
|
website_widget.set_url(None)
|
||||||
assert website_widget.url() == QUrl("https://scilog.psi.ch")
|
assert website_widget.website.url() == QUrl("https://scilog.psi.ch")
|
||||||
|
|
||||||
website_widget.set_url("https://google.com")
|
website_widget.set_url("https://google.com")
|
||||||
assert website_widget.get_url() == "https://google.com"
|
assert website_widget.get_url() == "https://google.com"
|
||||||
|
Reference in New Issue
Block a user