diff options
author | Karl Berry <karl@freefriends.org> | 2019-02-28 18:48:48 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-02-28 18:48:48 +0000 |
commit | 3a9439b815af6c2d41c60f6694d88f2852544442 (patch) | |
tree | 6cc1c05e02ef84a1aeb2448b30814d7fc360ed9e /Master/texmf-dist/asymptote/GUI/Widg_editBezier.py | |
parent | 61a286ce26800c5976ff5c8c8795dc7eea404fd2 (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-x | Master/texmf-dist/asymptote/GUI/Widg_editBezier.py | 53 |
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() |