9from krita
import AngleSelector
11 from PyQt6.QtWidgets import QDialog, QFormLayout, QLabel, QSpinBox, QPushButton, QDoubleSpinBox, QLineEdit, QCheckBox
14 from PyQt5.QtWidgets import QDialog, QFormLayout, QLabel, QSpinBox, QPushButton, QDoubleSpinBox, QLineEdit, QCheckBox
20angleSelector = AngleSelector()
21layout.addRow(
"AngleSelector.widget():", angleSelector.widget())
23angleChangedLabel = QLabel(
"0")
24layout.addRow(
"angleChanged:", angleChangedLabel)
26 angleChangedLabel.setText(str(angle))
27angleSelector.angleChanged.connect(setAngleNum)
29coterminalAngleLabel = QLabel(
"0")
30layout.addRow(
"Closest Coterminal Angle in Range:", coterminalAngleLabel)
32 coterminalAngleLabel.setText(str(angleSelector.closestCoterminalAngleInRange(angle)))
33angleSelector.angleChanged.connect(setCoterminalAngle)
35layout.addWidget(QLabel(
"Pass values to functions here:"))
37angleBox = QDoubleSpinBox()
38angleBox.setValue(angleSelector.angle())
39angleBox.setRange(0.0, 999.0)
40angleBox.valueChanged.connect(angleSelector.setAngle)
41layout.addRow(
"Angle:", angleBox)
43resetButton = QPushButton()
44resetButton.clicked.connect(angleSelector.reset)
45layout.addRow(
"Reset:", resetButton)
47snapAngleBox = QDoubleSpinBox()
48snapAngleBox.setValue(angleSelector.snapAngle())
49snapAngleBox.setRange(0.0, 360.0)
50snapAngleBox.valueChanged.connect(angleSelector.setSnapAngle)
51layout.addRow(
"Snap Angle:", snapAngleBox)
53resetAngleBox = QDoubleSpinBox()
54resetAngleBox.setValue(angleSelector.resetAngle())
55resetAngleBox.setRange(0.0, 360.0)
56resetAngleBox.valueChanged.connect(angleSelector.setResetAngle)
57layout.addRow(
"Reset Angle:", resetAngleBox)
59numDecimalsBox = QSpinBox()
60numDecimalsBox.setValue(angleSelector.decimals())
61numDecimalsBox.valueChanged.connect(angleSelector.setDecimals)
62layout.addRow(
"Decimals:", numDecimalsBox)
64maxBox = QDoubleSpinBox()
65maxBox.setRange(0.0, 360.0)
66maxBox.setValue(angleSelector.maximum())
67maxBox.valueChanged.connect(angleSelector.setMaximum)
68layout.addRow(
"Maximum:", maxBox)
70minBox = QDoubleSpinBox()
71minBox.setRange(0.0, 360.0)
72minBox.setValue(angleSelector.minimum())
73minBox.valueChanged.connect(angleSelector.setMinimum)
74layout.addRow(
"Minimum:", minBox)
76layout.addRow(
"Range", QLabel(
"(min, max):"))
77rangeMinBox = QDoubleSpinBox()
78rangeMinBox.setRange(0.0, 360.0)
79rangeMinBox.setValue(angleSelector.minimum())
80rangeMaxBox = QDoubleSpinBox()
81rangeMaxBox.setRange(0.0, 360.0)
82rangeMaxBox.setValue(angleSelector.maximum())
84 angleSelector.setRange(rangeMinBox.value(), rangeMaxBox.value())
85rangeMinBox.valueChanged.connect(setRange)
86rangeMaxBox.valueChanged.connect(setRange)
87layout.addWidget(rangeMinBox)
88layout.addWidget(rangeMaxBox)
90prefixLineEdit = QLineEdit()
91prefixLineEdit.setText(angleSelector.prefix())
93 angleSelector.setPrefix(prefixLineEdit.text())
94prefixLineEdit.editingFinished.connect(setPrefix)
95layout.addRow(
"Prefix:", prefixLineEdit)
97wrappingCheckBox = QCheckBox()
98wrappingCheckBox.setChecked(angleSelector.wrapping())
99wrappingCheckBox.toggled.connect(angleSelector.setWrapping)
100layout.addRow(
"Wrapping:", wrappingCheckBox)
102layout.addRow(
"Flip Options Mode", QLabel(
"(NoFlipOptions, MenuButton, Buttons, ContextMenu):"))
103flipOptionsModeLineEdit = QLineEdit()
104flipOptionsModeLineEdit.setText(angleSelector.flipOptionsMode())
106 angleSelector.setFlipOptionsMode(flipOptionsModeLineEdit.text())
107flipOptionsModeLineEdit.editingFinished.connect(setFlipMode)
108layout.addWidget(flipOptionsModeLineEdit)
110widgetsHeightBox = QSpinBox()
111widgetsHeightBox.setValue(angleSelector.widgetsHeight())
112widgetsHeightBox.valueChanged.connect(angleSelector.setWidgetsHeight)
113layout.addRow(
"Widgets Height:", widgetsHeightBox)
115layout.addRow(
"Increasing Direction", QLabel(
"(CounterClockwise, Clockwise):"))
116increaseDirLineEdit = QLineEdit()
117increaseDirLineEdit.setText(angleSelector.increasingDirection())
119 angleSelector.setIncreasingDirection(increaseDirLineEdit.text())
120increaseDirLineEdit.editingFinished.connect(setIncreaseDir)
121layout.addWidget(increaseDirLineEdit)
123useFlatBoxCheckBox = QCheckBox()
124useFlatBoxCheckBox.toggled.connect(angleSelector.useFlatSpinBox)
125layout.addRow(
"Flat SpinBox:", useFlatBoxCheckBox)
127flipHButton = QPushButton()
129 angleSelector.flip(Qt.Orientation.Horizontal)
130flipHButton.clicked.connect(flipHorizontal)
131layout.addRow(
"Flip (horizontal):", flipHButton)
133flipVButton = QPushButton()
135 angleSelector.flip(Qt.Orientation.Vertical)
136flipVButton.clicked.connect(flipVertical)
137layout.addRow(
"Flip (vertical):", flipVButton)
139dialog.setLayout(layout)
setCoterminalAngle(angle)