def menuButtonEvent(self, listItem=None): if not self._menu: self.menuButtonClicked.emit(self) return # Import here to avoid circular import from TermTk.TTkWidgets.list_ import TTkList from TermTk.TTkWidgets.resizableframe import TTkResizableFrame # Stupid way to find out if I am a submenu isSubmenu = not self._border frameHeight = len(self._menu) + 2 frameWidth = self.width() if frameHeight > 15: frameHeight = 15 if frameWidth < 15: frameWidth = 15 if isSubmenu: frame = TTkResizableFrame(layout=TTkHBoxLayout(), size=(frameWidth, frameHeight)) pos = (self.width(), -1) else: frame = TTkResizableFrame(layout=TTkHBoxLayout(), size=(frameWidth, frameHeight), title=self.text, titleAlign=TTkK.LEFT_ALIGN) pos = self._menuOffset menuListWidget = _TTkMenuListWidget() listw = TTkList(parent=frame, listWidget=menuListWidget) # listw.textClicked.connect(self._menuCallback) # listw.textClicked.connect(self._menuCallback) # TTkLog.debug(f"{self._menu}") for item in self._menu: listw.addItem(item) TTkHelper.overlay(self, frame, pos[0], pos[1]) listw.viewport().setFocus() self.update()
def _colorClicked(self): colorPicker = TTkColorDialogPicker(pos=(3, 3), size=(75, 24), color=self._textColor, title="Test Color Picker", border=True) colorPicker.colorSelected.connect(self.setColor) colorPicker.colorSelected.connect(self.colorSelected.emit) TTkHelper.overlay(self, colorPicker, -1, -1)