sightplace-rep/sight.py

67 lines
1.8 KiB
Python

import base
from callhandler import CallHandler
from browser import Browser
from PyQt6.QtCore import Qt
from PyQt6.QtWidgets import QMainWindow, QWidget, QVBoxLayout
class Sight(QWidget):
def __init__(self, id, page):
super().__init__()
self.id = id
self.page = page
self.data = {} # private data(s) of the sight
self.children = []
self.parent = None
base.data["active_sight"] = self.id
self.title = id
self.setWindowFlags(Qt.WindowType(0x00000800)) # remove the os windows frame (borders, close and other buttons
self.setAttribute(Qt.WidgetAttribute(0x78)) # (int: 120)) # Make Transparent
self.browser = Browser()
self.browser.addObject('handler', CallHandler(self) )
self.browser.loadContent(page)
self.layout = QVBoxLayout()
self.layout.addWidget(self.browser)
self.layout.setSpacing(0);
self.layout.setContentsMargins(1, 1, 1, 1); #Need 1,1,1,1 if it is 0,0,0,0 I got setgeometry warnings
self.setLayout(self.layout)
def getParent(self):
return self.parent
def setParent(self, id):
self.parent = id
def addChild(self, id):
self.children.insert(0, id)
print(self.children)
def getChildren(self):
return self.children
def removeChild(self, id):
self.children.remove(id)
print(self.children)
def setLayoutContentMargins(self,a,b,c,d):
self.layout.setContentsMargins(a, b, c, d)
def setTitle(self, title):
self.title = title
def getTitle(self):
return self.title
def getId(self):
return self.id
def addData(self, key, value):
self.data[key] = value
def getData(self, key):
if key in self.data:
return self.data[key]
return None