Added DoubleSpinnerOptionUI
This commit is contained in:
@@ -2,7 +2,7 @@ from typing import Union
|
|||||||
|
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from flatcamGUI.GUIElements import RadioSet, FCCheckBox, FCButton, FCComboBox, FCEntry, FCSpinner, FCColorEntry, \
|
from flatcamGUI.GUIElements import RadioSet, FCCheckBox, FCButton, FCComboBox, FCEntry, FCSpinner, FCColorEntry, \
|
||||||
FCSliderWithSpinner
|
FCSliderWithSpinner, FCDoubleSpinner
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import FlatCAMTranslation as fcTranslate
|
import FlatCAMTranslation as fcTranslate
|
||||||
@@ -108,14 +108,37 @@ class ColorOptionUI(BasicOptionUI):
|
|||||||
|
|
||||||
|
|
||||||
class SliderWithSpinnerOptionUI(BasicOptionUI):
|
class SliderWithSpinnerOptionUI(BasicOptionUI):
|
||||||
def __init__(self, option: str, label_text: str, label_tooltip: str, min=0, max=100, step=1):
|
def __init__(self, option: str, label_text: str, label_tooltip: str, min_value=0, max_value=100, step=1):
|
||||||
self.min = min
|
self.min_value = min_value
|
||||||
self.max = max
|
self.max_value = max_value
|
||||||
self.step = step
|
self.step = step
|
||||||
super().__init__(option=option, label_text=label_text, label_tooltip=label_tooltip)
|
super().__init__(option=option, label_text=label_text, label_tooltip=label_tooltip)
|
||||||
|
|
||||||
def build_entry_widget(self) -> QtWidgets.QWidget:
|
def build_entry_widget(self) -> QtWidgets.QWidget:
|
||||||
entry = FCSliderWithSpinner(min=self.min, max=self.max, step=self.step)
|
entry = FCSliderWithSpinner(min=self.min_value, max=self.max_value, step=self.step)
|
||||||
|
return entry
|
||||||
|
|
||||||
|
|
||||||
|
class DoubleSpinnerOptionUI(BasicOptionUI):
|
||||||
|
def __init__(self, option: str, label_text: str, label_tooltip: str, step: float, decimals: int, min_value=None, max_value=None):
|
||||||
|
self.min_value = min_value
|
||||||
|
self.max_value = max_value
|
||||||
|
self.step = step
|
||||||
|
self.decimals = decimals
|
||||||
|
super().__init__(option=option, label_text=label_text, label_tooltip=label_tooltip)
|
||||||
|
|
||||||
|
def build_entry_widget(self) -> QtWidgets.QWidget:
|
||||||
|
entry = FCDoubleSpinner()
|
||||||
|
entry.set_precision(self.decimals)
|
||||||
|
entry.setSingleStep(self.step)
|
||||||
|
if self.min_value is None:
|
||||||
|
self.min_value = entry.minimum()
|
||||||
|
else:
|
||||||
|
entry.setMinimum(self.min_value)
|
||||||
|
if self.max_value is None:
|
||||||
|
self.max_value = entry.maximum()
|
||||||
|
else:
|
||||||
|
entry.setMaximum(self.max_value)
|
||||||
return entry
|
return entry
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user