def set_icon_size(self, size: int | types.SizeType): """Set size of the icons.""" if isinstance(size, int): size = core.Size(size, size) elif isinstance(size, tuple): size = core.Size(*size) self.setIconSize(size)
def test_codeeditor(qtbot): editor = custom_widgets.CodeEditor() assert editor.text() == "" editor.line_area_width() editor.set_syntaxhighlighter("python") event = QtGui.QResizeEvent(core.Size(10, 10), core.Size(20, 20)) editor.resizeEvent(event) editor.repaint()
def minimumSize(self): size = core.Size() for item in self.items: size = size.expandedTo(item.minimumSize()) margin_width = 2 * self.contentsMargins().top() size += core.Size(margin_width, margin_width) return size
def test_codeeditor(): editor = custom_widgets.CodeEditor() assert editor.text() == "" editor.line_area_width() editor.set_syntax("python") event = QtGui.QResizeEvent(core.Size(10, 10), core.Size(20, 20)) editor.resizeEvent(event) event = QtGui.QPaintEvent(core.Rect(0, 0, 20, 20)) editor.line_area_paintevent(event)
def get_pixmap( self, size: types.SizeType | int, mode: ModeStr = "normal", state: StateStr = "off", ) -> QtGui.QPixmap: if mode not in MODE: raise InvalidParamError(mode, MODE) if state not in STATE: raise InvalidParamError(state, STATE) if isinstance(size, tuple): size = core.Size(*size) elif isinstance(size, int): size = core.Size(size, size) return self.pixmap(size, MODE[mode], STATE[state])
def test_standarditemmodel(): model = gui.StandardItemModel() model.add("test") for item in model: pass with open("data.pkl", "wb") as jar: pickle.dump(model, jar) with open("data.pkl", "rb") as jar: model = pickle.load(jar) model += gui.StandardItem("Item") model[0] assert len(model.find_items("test")) == 1 with pytest.raises(InvalidParamError): model.find_items("test", mode="wrong_mode") del model[0] model.add_item( "Test", icon="mdi.timer", data={1: "Test"}, foreground=gui.Brush(), background=gui.Brush(), font=gui.Font(), selectable=True, status_tip="test", tool_tip="test", whats_this="test", checkstate="unchecked", size_hint=core.Size(10, 10), is_user_type=True, )
def test_standarditem(): item = gui.StandardItem() with open("data.pkl", "wb") as jar: pickle.dump(item, jar) with open("data.pkl", "rb") as jar: item = pickle.load(jar) # item[constants.USER_ROLE] = "test" # assert item[constants.USER_ROLE] == "test" item.set_icon("mdi.timer") item.set_checkstate("unchecked") with pytest.raises(InvalidParamError): item.set_checkstate("test") assert item.get_checkstate() == "unchecked" item.get_background() item.get_foreground() item.get_font() item.get_icon() bytes(item) item.clone() item.add_item( "Test", icon="mdi.timer", data={1: "Test"}, foreground=gui.Brush(), background=gui.Brush(), font=gui.Font(), selectable=True, status_tip="test", tool_tip="test", whats_this="test", checkstate="unchecked", size_hint=core.Size(10, 10), is_user_type=True, )
def get_actual_size( self, size: types.SizeType | int, mode: gui.icon.ModeStr = "normal", state: gui.icon.StateStr = "off", ) -> core.Size: if mode not in gui.icon.MODE: raise InvalidParamError(mode, gui.icon.MODE) if state not in gui.icon.STATE: raise InvalidParamError(state, gui.icon.STATE) if isinstance(size, tuple): size = core.Size(*size) elif isinstance(size, int): size = core.Size(size, size) return core.Size( self.actualSize(size, gui.icon.MODE[mode], gui.icon.STATE[state]))
def calculate_size( self, size_type: Literal["minimum", "size_hint"]) -> core.Size: total_size = core.Size() for wrapper in self.items: position = wrapper.position if size_type == "minimum": item_size = wrapper.item.minimumSize() else: # size_type == "size_hint" item_size = wrapper.item.sizeHint() if position in ( BorderLayout.Position.North, BorderLayout.Position.South, BorderLayout.Position.Center, ): total_size.setHeight(total_size.height() + item_size.height()) if position in ( BorderLayout.Position.West, BorderLayout.Position.East, BorderLayout.Position.Center, ): total_size.setWidth(total_size.width() + item_size.width()) return total_size
def add_file( self, path: types.PathType, size: types.SizeType | int, mode: gui.icon.ModeStr, state: gui.icon.StateStr, ): if mode not in gui.icon.MODE: raise InvalidParamError(mode, gui.icon.MODE) if state not in gui.icon.STATE: raise InvalidParamError(state, gui.icon.STATE) if isinstance(size, tuple): size = core.Size(*size) elif isinstance(size, int): size = core.Size(size, size) self.addFile(os.fspath(path), size, gui.icon.MODE[mode], gui.icon.STATE[state])
def get_available_sizes(self, mode: ModeStr = "normal", state: StateStr = "off") -> list[core.Size]: if mode not in MODE: raise InvalidParamError(mode, MODE) if state not in STATE: raise InvalidParamError(state, STATE) return [ core.Size(i) for i in self.availableSizes(MODE[mode], STATE[state]) ]
def serialize_fields(self): return dict( movable=self.isMovable(), document_mode=self.documentMode(), current_index=self.currentIndex(), # shape=self.shape(), draw_base=self.drawBase(), elide_mode=self.get_elide_mode(), icon_size=core.Size(self.iconSize()), )
def get_pixmap( self, size: types.SizeType | int, mode: gui.icon.ModeStr = "normal", state: gui.icon.StateStr = "off", scale: float | None = None, ) -> gui.Pixmap: if mode not in gui.icon.MODE: raise InvalidParamError(mode, gui.icon.MODE) if state not in gui.icon.STATE: raise InvalidParamError(state, gui.icon.STATE) if isinstance(size, tuple): size = core.Size(*size) elif isinstance(size, int): size = core.Size(size, size) if scale is None: return gui.Pixmap( self.pixmap(size, gui.icon.MODE[mode], gui.icon.STATE[state])) else: return gui.Pixmap( self.scaledPixmap(size, gui.icon.MODE[mode], gui.icon.STATE[state], scale))
def set_style_icon(self, icon: widgets.style.StandardPixmapStr, size: int = 15): """Set theme icon for the button. Args: icon: icon to use size: icon size """ if icon not in widgets.style.STANDARD_PIXMAP: raise InvalidParamError(icon, widgets.style.STANDARD_PIXMAP) qicon = self.style().standardIcon(widgets.style.STANDARD_PIXMAP[icon], None, self) self.set_icon(qicon) self.setIconSize(core.Size(size, size))
def get_texture_size(self) -> core.Size: return core.Size(self.textureSize())
def __init__(self, *names, parent: QtWidgets.QWidget | None = None, **kwargs): super().__init__(parent=parent) self._icon: QtGui.QIcon | None = None self._size = core.Size(16, 16) self.set_icon(iconprovider._icon(*names, **kwargs))
def set_style_icon(self, icon: str, size: int = 15): if icon not in STYLES: raise ValueError(f"{icon!r} not a valid icon.") qicon = self.style().standardIcon(STYLES[icon], None, self) self.set_icon(qicon) self.setIconSize(core.Size(size, size))
def get_scaled_size(self) -> core.Size: return core.Size(self.scaledSize())
def sizeHint(self) -> core.Size: return core.Size(self.editor.line_area_width(), 0)
def set_icon_size(self, size: int): self.setIconSize(core.Size(size, size))
def get_available_size(self) -> core.Size: return core.Size(self.availableSize())
def get_available_virtual_size(self) -> core.Size: return core.Size(self.availableVirtualSize())
def get_virtual_size(self) -> core.Size: return core.Size(self.virtualSize())
def test_size(): size = core.Size() repr(size)
def get_size(self) -> core.Size: return core.Size(self.size())
def sizeHint(self): return PAINTING_SCALE_FACTOR * core.Size(self.max_stars, 1)
def test_size(): size = core.Size(2, 2) assert tuple(size) == (2, 2) size = size.expanded_to(core.Size(4, 4))
def get_icon_size(self) -> core.Size: return core.Size(self.iconSize())