sightplace-rep/sight .py.back

194 lines
5.3 KiB
Plaintext
Raw Normal View History

import os
import sys
import random
import base
from PyQt6.QtCore import QUrl, QObject, pyqtSlot, Qt
from PyQt6.QtWebEngineWidgets import QWebEngineView
from PyQt6.QtWidgets import QMainWindow
from PyQt6.QtWebChannel import QWebChannel
from PyQt6.QtWidgets import QApplication, QWidget, QVBoxLayout
class CallHandler(QObject):
def __init__(self, sight):
super().__init__()
self.sight = sight
@pyqtSlot(str)
def test(self, t):
print(t)
@pyqtSlot(str, result=str)
def test2(self, t):
print(t)
return t+"_return"
@pyqtSlot(str)
def create(self, t):
id = str(random.randrange(1000,9999))
createSight(id)
base.data["sight_processes"][id].show()
@pyqtSlot()
def activeSight(self):
print("active")
if base.data["active_sight"] != self.sight.getId():
print(self.sight.getId())
base.data["active_sight"] = self.sight.getId()
@pyqtSlot()
def close(self):
closeSight(self.sight.id)
"""if self.sight.id == "main":
app.exit(0)
else:
try:
base.data["sight_processes"][self.sight.id].close()
base.data["sight_processes"][self.sight.id].destroy()
del base.data["sight_processes"][self.sight.id]
print("The '"+self.sight.id+"' is closed now!")
base.processSight()
except KeyError:
print("KeyError: when closing "+self.sight.id)"""
@pyqtSlot()
def setMaximized(self):
self.sight.showMaximized()
@pyqtSlot()
def setMinimize(self):
self.sight.showMinimized()
@pyqtSlot()
def restoreDown(self):
self.sight.showNormal()
@pyqtSlot()
def setFullscreen(self):
self.sight.showFullScreen()
@pyqtSlot(result=str)
def getTitle(self):
print("IIIIID: ")
return self.sight.getTitle();
@pyqtSlot()
def move(self):
base.data["move"] = True
@pyqtSlot()
def endmove(self):
base.data["move"] = False
@pyqtSlot()
def resize(self):
global mousectrl
new_height = base.mousectrl.position[1]-self.sight.pos().y()
new_width = base.mousectrl.position[0]-self.sight.pos().x()
if(new_height<250):
new_height = 250
if(new_width<250):
new_width = 250
self.sight.resize( new_width, new_height)
class Browser(QWebEngineView):
def __init__(self, sight_id):
super().__init__()
self.id = sight_id
self.channel = QWebChannel()
self.handler = CallHandler(self)
self.channel.registerObject('handler', self.handler)
self.page().setWebChannel(self.channel)
self.title = sight_id
def getId(self):
return self.id
def setTitle(self, title):
self.title = title
def getTitle(self):
return self.title
def mouseMoveEvent(self, e):
print("mouseMoveEvent")
def mousePressEvent(self, e):
print("mousePressEvent")
def mouseReleaseEvent(self, e):
print("mouseReleaseEvent")
def mouseDoubleClickEvent(self, e):
print("mouseDoubleClickEvent")
class Sight(QWidget):
def __init__(self, sight_id):
super().__init__()
self.id = sight_id
base.data["active_sight"] = self.id
self.title = sight_id
self.setWindowFlags(Qt.WindowType.FramelessWindowHint | self.windowFlags())
self.browser = Browser(sight_id)
current_folder = os.path.abspath(os.getcwd())
html_file = current_folder + os.path.sep + "place" + os.path.sep + "templates" + os.path.sep + "base" + os.path.sep + "index.html"
print(html_file)
url = QUrl.fromLocalFile(html_file)
self.browser.load(url)
lay = QVBoxLayout(self)
lay.setSpacing(0);
lay.setContentsMargins(0, 0, 0, 0);
lay.addWidget(self.browser)
#self.setCentralWidget(self.browser)
def mouseMoveEvent(self, e):
print("mouseMoveEvent")
def mousePressEvent(self, e):
print("mousePressEvent")
def mouseReleaseEvent(self, e):
print("mouseReleaseEvent")
def mouseDoubleClickEvent(self, e):
print("mouseDoubleClickEvent")
def getId(self):
return self.id
def createSight(id):
if id != "main":
base.data["sight_processes"][id] = Sight(id)
base.data["sight_processes"][id].show()
print("The '"+id+"' is opened now!")
base.processSight()
else:
print("The 'main' id is the main active windows which is occupied!")
def closeSight(id):
if id == "main":
app.exit(0)
else:
try:
base.data["sight_processes"][id] .close()
base.data["sight_processes"][id] .destroy()
del base.data["sight_processes"][id]
print("The '"+id+"' is closed now!")
base.processSight()
except KeyError:
print("KeyError: when closing "+id)
app = QApplication(sys.argv)
base.data["sight_processes"]["main"] = Sight("main")
base.data["sight_processes"]["main"].show()
app.exec()