summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/asymptote/GUI/Widg_editBezier.py
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-02-28 18:48:48 +0000
committerKarl Berry <karl@freefriends.org>2019-02-28 18:48:48 +0000
commit3a9439b815af6c2d41c60f6694d88f2852544442 (patch)
tree6cc1c05e02ef84a1aeb2448b30814d7fc360ed9e /Master/texmf-dist/asymptote/GUI/Widg_editBezier.py
parent61a286ce26800c5976ff5c8c8795dc7eea404fd2 (diff)
asymptote 2.47 support files
git-svn-id: svn://tug.org/texlive/trunk@50168 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/asymptote/GUI/Widg_editBezier.py')
-rwxr-xr-xMaster/texmf-dist/asymptote/GUI/Widg_editBezier.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/Master/texmf-dist/asymptote/GUI/Widg_editBezier.py b/Master/texmf-dist/asymptote/GUI/Widg_editBezier.py
new file mode 100755
index 00000000000..3a3cbab94ab
--- /dev/null
+++ b/Master/texmf-dist/asymptote/GUI/Widg_editBezier.py
@@ -0,0 +1,53 @@
+#!/usr/bin/env python3
+
+from pyUIClass.widg_editBezier import Ui_Form
+
+import PyQt5.QtCore as Qc
+import PyQt5.QtWidgets as Qw
+import PyQt5.QtGui as Qg
+
+class LockMode:
+ noLock = 0
+ angleLock = 1
+ angleAndScaleLock = 2
+
+class Widg_editBezier(Qw.QWidget):
+ def __init__(self, info: dict, enableCurveFeatures: bool=True):
+ super().__init__()
+ self.ui = Ui_Form()
+ self.ui.setupUi(self)
+ self.info = info
+
+ self.ui.chkRecompute.setChecked(self.info['autoRecompute'])
+ self.ui.cmbLockMode.setCurrentIndex(self.info['editBezierlockMode'])
+
+ self.ui.cmbLockMode.currentIndexChanged[int].connect(self.cmbLockIndexChange)
+ self.ui.chkRecompute.stateChanged.connect(self.chkRecomputeChanged)
+
+ self.disableOnAutoRecompute = {self.ui.cmbLockMode, self.ui.btnForceRecompute}
+ self.curveBtnsOnly = {self.ui.cmbLockMode, self.ui.btnForceRecompute, self.ui.chkRecompute}
+
+ for elem in self.curveBtnsOnly:
+ elem.setEnabled(enableCurveFeatures)
+
+ @property
+ def autoRecompute(self) -> bool:
+ return self.ui.chkRecompute.isChecked()
+
+ @property
+ def lockMode(self) -> int:
+ return self.ui.cmbLockMode.currentIndex()
+
+ @Qc.pyqtSlot(int)
+ def cmbLockIndexChange(self, index: int):
+ self.info['editBezierlockMode'] = index
+
+ @Qc.pyqtSlot(int)
+ def chkRecomputeChanged(self, checked: int):
+ isChecked = (checked == 2)
+ for obj in self.disableOnAutoRecompute:
+ obj.setEnabled(not checked)
+ self.info['autoRecompute'] = checked
+
+ if isChecked:
+ self.ui.btnForceRecompute.clicked.emit()