Browse Source

Windows maximize/reduce topology is relative to the layout and not the parent

pull/242/head
Eugenio Parodi 2 years ago
parent
commit
f5353f2352
  1. 15
      TermTk/TTkWidgets/window.py

15
TermTk/TTkWidgets/window.py

@ -104,13 +104,13 @@ class TTkWindow(TTkResizableFrame):
self.focusChanged.connect(self._focusChanged) self.focusChanged.connect(self._focusChanged)
def _maximize(self): def _maximize(self):
if not (pw := self.parentWidget()): return if not (pl := self.widgetItem().parent()): return
if self._maxBk: if self._maxBk:
self.setGeometry(*self._maxBk) self.setGeometry(*self._maxBk)
self._maxBk = None self._maxBk = None
else: else:
bk = self.geometry() bk = self.geometry()
maxw,maxh = pw.layout().size() maxw,maxh = pl.size()
self.setGeometry(0,0,maxw,maxh) self.setGeometry(0,0,maxw,maxh)
self._maxBk = bk self._maxBk = bk
@ -124,20 +124,19 @@ class TTkWindow(TTkResizableFrame):
self._redBk = bk self._redBk = bk
def _minimize(self): def _minimize(self):
if not (pw := self.parentWidget()): return if not (pl := self.widgetItem().parent()): return
stack = [] stack = []
for li in pw.rootLayout().children(): for li in pl.children():
if li.layoutItemType() == TTkK.WidgetItem and issubclass(type(w:=li.widget()),_MinimizedButton): if li.layoutItemType() == TTkK.WidgetItem and issubclass(type(w:=li.widget()),_MinimizedButton):
stack.append(w.y()) stack.append(w.y())
stack = sorted(stack) stack = sorted(stack)
lx,ly = pw.layout().pos() pos = 0
pos = ly
for v in stack: for v in stack:
if (pos+2) < v or (v+2) < pos: if (pos+2) < v or (v+2) < pos:
break break
pos += 3 pos += 3
mb = _MinimizedButton(windowWidget=self,text=self._title,border=True,pos=(lx,pos),size=(15,3)) mb = _MinimizedButton(windowWidget=self,text=self._title,border=True,pos=(0,pos),size=(15,3))
pw.rootLayout().addWidget(mb) pl.addWidget(mb)
self.hide() self.hide()
def windowFlag(self): def windowFlag(self):

Loading…
Cancel
Save