Example #1
0
	def __init__(self):
		super(TRTransformCtrl, self).__init__()

		# - Combos 
		self.rad_or = QtGui.QRadioButton('ORG')
		self.rad_bl = QtGui.QRadioButton('BL')
		self.rad_tl = QtGui.QRadioButton('TL')
		self.rad_br = QtGui.QRadioButton('BR')
		self.rad_tr = QtGui.QRadioButton('TR')
		self.rad_ce = QtGui.QRadioButton('CEN')

		# - Spinboxes
		self.spb_scale_x = QtGui.QSpinBox()
		self.spb_scale_y = QtGui.QSpinBox()
		self.spb_translate_x = QtGui.QSpinBox()
		self.spb_translate_y = QtGui.QSpinBox()
		self.spb_shear = QtGui.QSpinBox()
		self.spb_rotate = QtGui.QSpinBox()

		self.spb_scale_x.setMinimum(0)
		self.spb_scale_y.setMinimum(0)
		self.spb_translate_x.setMinimum(-9999)
		self.spb_translate_y.setMinimum(-9999)
		self.spb_shear.setMinimum(-90)
		self.spb_rotate.setMinimum(-360)

		self.spb_scale_x.setMaximum(999)
		self.spb_scale_y.setMaximum(999)
		self.spb_translate_x.setMaximum(9999)
		self.spb_translate_y.setMaximum(9999)
		self.spb_shear.setMaximum(90)
		self.spb_rotate.setMaximum(360)

		self.reset()

		# - Build
		self.lay_controls = QtGui.QGridLayout()
		self.lay_controls.addWidget(QtGui.QLabel('Scale X:'),			0, 0, 1, 1)
		self.lay_controls.addWidget(QtGui.QLabel('Scale Y:'),			0, 1, 1, 1)
		self.lay_controls.addWidget(QtGui.QLabel('Trans. X:'),			0, 2, 1, 1)
		self.lay_controls.addWidget(QtGui.QLabel('Trans. Y:'),			0, 3, 1, 1)
		self.lay_controls.addWidget(QtGui.QLabel('Shear:'),				0, 4, 1, 1)
		self.lay_controls.addWidget(QtGui.QLabel('Rotate:'),			0, 5, 1, 1)
		self.lay_controls.addWidget(self.spb_scale_x,					1, 0, 1, 1)
		self.lay_controls.addWidget(self.spb_scale_y,					1, 1, 1, 1)
		self.lay_controls.addWidget(self.spb_translate_x,				1, 2, 1, 1)
		self.lay_controls.addWidget(self.spb_translate_y,				1, 3, 1, 1)
		self.lay_controls.addWidget(self.spb_shear,						1, 4, 1, 1)
		self.lay_controls.addWidget(self.spb_rotate,					1, 5, 1, 1)
		self.lay_controls.addWidget(self.rad_or,						2, 0, 1, 1)
		self.lay_controls.addWidget(self.rad_bl,						2, 1, 1, 1)
		self.lay_controls.addWidget(self.rad_tl,						2, 2, 1, 1)
		self.lay_controls.addWidget(self.rad_br,						2, 3, 1, 1)
		self.lay_controls.addWidget(self.rad_tr,						2, 4, 1, 1)
		self.lay_controls.addWidget(self.rad_ce,						2, 5, 1, 2)
				
		self.setLayout(self.lay_controls)
Example #2
0
    def __init__(self):
        super(typerig_Panel, self).__init__()

        # - Init ----------------------------
        #self.setStyleSheet(ss_Toolbox_none)
        self.layers_selected = []

        # - Dialogs -------------------------
        self.layer_dialog = dlg_LayerSelect(self, pMode)

        # - Layers --------------------------
        self.chk_ActiveLayer = QtGui.QCheckBox('Active')
        self.chk_Masters = QtGui.QCheckBox('Masters')
        self.chk_Masks = QtGui.QCheckBox('Masks')
        self.chk_Service = QtGui.QCheckBox('Services')
        self.chk_Selected = QtGui.QCheckBox('Selected')

        self.chk_ActiveLayer.setCheckState(QtCore.Qt.Checked)

        self.chk_ActiveLayer.stateChanged.connect(self.layers_refresh)
        self.chk_Masters.stateChanged.connect(self.layers_refresh)
        self.chk_Masks.stateChanged.connect(self.layers_refresh)
        self.chk_Service.stateChanged.connect(self.layers_refresh)
        self.chk_Selected.stateChanged.connect(self.layers_refresh)

        self.layers_refresh()

        # - Glyphs --------------------------
        self.rad_glyph = QtGui.QRadioButton('Glyph')
        self.rad_window = QtGui.QRadioButton('Window')
        self.rad_selection = QtGui.QRadioButton('Selection')
        self.rad_font = QtGui.QRadioButton('Font')

        self.rad_glyph.toggled.connect(self.mode_refresh)
        self.rad_window.toggled.connect(self.mode_refresh)
        self.rad_selection.toggled.connect(self.mode_refresh)
        self.rad_font.toggled.connect(self.mode_refresh)

        self.rad_glyph.setChecked(True)

        self.rad_glyph.setEnabled(True)
        self.rad_window.setEnabled(True)
        self.rad_selection.setEnabled(True)
        self.rad_font.setEnabled(False)

        self.rad_glyph.setToolTip('Affect current glyph')
        self.rad_window.setToolTip('Affect glyphs in active window')
        self.rad_selection.setToolTip('Affect selected glyphs')
        self.rad_font.setToolTip('Affect the entire font')

        # - Buttons ------------------------
        self.btn_layersSelect = QtGui.QPushButton('Layers')
        self.btn_fold = QtGui.QPushButton('^')
        self.btn_unfold = QtGui.QPushButton('Restore Panel')

        self.btn_fold.setFixedHeight(self.chk_ActiveLayer.sizeHint.height() *
                                     2.5)
        self.btn_fold.setFixedWidth(self.chk_ActiveLayer.sizeHint.height())
        self.btn_unfold.setFixedHeight(self.chk_ActiveLayer.sizeHint.height() +
                                       5)

        self.btn_fold.setToolTip('Fold Panel.')
        self.btn_unfold.setToolTip('Unfold Panel.')
        self.btn_layersSelect.setToolTip('Select layers for processing.')

        self.btn_fold.clicked.connect(self.fold)
        self.btn_unfold.clicked.connect(self.fold)
        self.flag_fold = False

        # - Tabs --------------------------
        panel_vers = {
            n:
            OrderedDict([('Panel', toolName),
                         ('Version', eval('Panel.%s.app_version' % toolName))])
            for n, toolName in enumerate(Panel.modules)
        }

        self.options = TRTableView(panel_vers)
        self.options.verticalHeader().hide()

        # -- Dynamically load all tabs
        self.tabs = TRVTabWidget()

        # --- Load all tabs from this directory as modules. Check __init__.py
        # --- <dirName>.modules tabs/modules manifest in list format
        for toolName in Panel.modules:
            if ignorePanel not in toolName:
                self.tabs.addTab(eval('Panel.%s.tool_tab()' % toolName),
                                 toolName)

        # --- Add options tab
        self.tabs.addTab(self.options, '...')

        # - Layouts -------------------------------
        layoutV = QtGui.QVBoxLayout()
        layoutV.setContentsMargins(0, 0, 0, 0)

        self.lay_controller = QtGui.QGridLayout()
        self.fr_controller = QtGui.QFrame()
        self.lay_controller.setContentsMargins(15, 5, 5, 3)
        self.lay_controller.setSpacing(5)

        # -- Build layouts -------------------------------
        self.lay_controller.addWidget(self.chk_ActiveLayer, 0, 0, 1, 1)
        self.lay_controller.addWidget(self.chk_Masters, 0, 1, 1, 1)
        self.lay_controller.addWidget(self.chk_Masks, 0, 2, 1, 1)
        #self.lay_controller.addWidget(self.chk_Service, 	0, 3, 1, 1)
        self.lay_controller.addWidget(self.chk_Selected, 0, 3, 1, 1)
        self.lay_controller.addWidget(self.btn_fold, 0, 4, 2, 1)
        self.lay_controller.addWidget(self.rad_glyph, 1, 0, 1, 1)
        self.lay_controller.addWidget(self.rad_window, 1, 1, 1, 1)
        self.lay_controller.addWidget(self.rad_selection, 1, 2, 1, 1)
        self.lay_controller.addWidget(self.rad_font, 1, 3, 1, 1)

        layoutV.addWidget(self.btn_unfold)
        self.fr_controller.setLayout(self.lay_controller)

        layoutV.addWidget(self.fr_controller)
        layoutV.addWidget(self.tabs)

        self.btn_unfold.hide()

        # - Set Widget -------------------------------
        self.setLayout(layoutV)
        self.setWindowTitle('%s %s' % (app_name, app_version))
        self.setGeometry(100, 100, 300, 600)
        self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)  # Always on top!!

        # !!! Hotfix FL7 7355
        self.setMinimumSize(330, self.sizeHint.height())

        self.show()
Example #3
0
    def __init__(self):
        super(dlg_DeltaMachine, self).__init__()

        # - Init
        #self.setStyleSheet(ss_controls)

        self.pMode = 0
        self.active_font = pFont()
        #self.data_glyphs = getProcessGlyphs(self.pMode)
        self.data_PointArrays = {}
        self.data_stems = {}
        self.ratio_source = {}
        self.ratio_target = {}
        self.italic_angle = 0

        # - Basic Widgets
        # -- Master table
        self.tab_masters = WTableView(table_dict)
        self.table_populate()
        self.tab_masters.selectionModel().selectionChanged.connect(
            self.set_sliders)

        # -- Combos
        self.cmb_infoArrays = QtGui.QComboBox()

        # -- Buttons
        self.btn_execute = QtGui.QPushButton('Execute transformation')
        self.btn_tableRefresh = QtGui.QPushButton('Reset')
        self.chk_tableLock = QtGui.QPushButton('Lock')
        self.btn_tableSave = QtGui.QPushButton('Save')
        self.btn_tableLoad = QtGui.QPushButton('Load')
        self.btn_getVstems = QtGui.QPushButton('Get V-stems')
        self.btn_getHstems = QtGui.QPushButton('Get H-stems')
        self.btn_tableCheck = QtGui.QPushButton('Check All')
        self.btn_resetT = QtGui.QPushButton('Reset dX dY')
        self.btn_getTx = QtGui.QPushButton('Get V[dX]')
        self.btn_getTy = QtGui.QPushButton('Get H[dY]')
        self.btn_getArrays = QtGui.QPushButton('Get Master Sources')

        self.btn_getPart = QtGui.QPushButton('Get Part')
        self.btn_getWhole = QtGui.QPushButton('Get Whole')
        self.btn_pushWidthPW = QtGui.QPushButton('Eval Width')
        self.btn_pushHeightPW = QtGui.QPushButton('Eval Height')
        self.btn_pushWidth = QtGui.QPushButton('Set Width Ratio')
        self.btn_pushHeight = QtGui.QPushButton('Set Height Ratio')

        self.btn_tableCheck.clicked.connect(self.table_check_all)
        self.btn_tableRefresh.clicked.connect(self.table_populate)
        self.btn_tableSave.clicked.connect(self.file_save_deltas)
        self.btn_tableLoad.clicked.connect(self.file_load_deltas)
        self.btn_execute.clicked.connect(self.table_execute)
        self.chk_tableLock.clicked.connect(
            lambda: self.tab_masters.lockTable())

        self.btn_getPart.clicked.connect(lambda: self.get_ratio(True))
        self.btn_getWhole.clicked.connect(lambda: self.get_ratio(False))
        self.btn_pushWidthPW.clicked.connect(
            lambda: self.push_ratio(False, True))
        self.btn_pushHeightPW.clicked.connect(
            lambda: self.push_ratio(True, True))
        self.btn_pushWidth.clicked.connect(
            lambda: self.push_ratio(False, False))
        self.btn_pushHeight.clicked.connect(
            lambda: self.push_ratio(True, False))

        self.btn_getArrays.clicked.connect(lambda: self.get_PointArrays(None))
        self.btn_getVstems.clicked.connect(lambda: self.get_Stems(True))
        self.btn_getHstems.clicked.connect(lambda: self.get_Stems(False))
        self.btn_getTx.clicked.connect(lambda: self.get_Stems(True, False))
        self.btn_getTy.clicked.connect(lambda: self.get_Stems(False, False))

        # -- Check buttons
        self.chk_italic = QtGui.QPushButton('Italic')
        self.chk_single = QtGui.QPushButton('Anisotropic')
        self.chk_preview = QtGui.QPushButton('Live Preview')
        self.chk_boundry = QtGui.QPushButton('Fix Boundry')
        self.chk_single.setToolTip(
            'Active: Use X and Y to control interpolation.')
        self.chk_tableLock.setCheckable(True)
        self.chk_single.setCheckable(True)
        self.chk_italic.setCheckable(True)
        self.chk_preview.setCheckable(True)
        self.chk_boundry.setCheckable(True)
        self.chk_single.setChecked(False)
        self.chk_italic.setChecked(False)
        self.chk_preview.setChecked(False)
        self.chk_boundry.setChecked(True)

        # -- Radio
        self.rad_glyph = QtGui.QRadioButton('Glyph')
        self.rad_window = QtGui.QRadioButton('Window')
        self.rad_selection = QtGui.QRadioButton('Selection')
        self.rad_font = QtGui.QRadioButton('Font')

        self.rad_glyph.setChecked(True)
        self.rad_glyph.setEnabled(True)
        self.rad_window.setEnabled(True)
        self.rad_selection.setEnabled(True)
        self.rad_font.setEnabled(True)

        self.rad_glyph.toggled.connect(self.table_refresh)
        self.rad_window.toggled.connect(self.table_refresh)
        self.rad_selection.toggled.connect(self.table_refresh)
        self.rad_font.toggled.connect(self.table_refresh)

        # -- Sliders
        self.mixer_dx = TRSliderCtrl('1', '1000', '0', 1)
        self.mixer_dy = TRSliderCtrl('1', '1000', '0', 1)
        self.scaler_dx = TRSliderCtrl('1', '200', '100', 1)
        self.scaler_dy = TRSliderCtrl('1', '200', '100', 1)

        self.mixer_dx.sld_axis.valueChanged.connect(lambda: self.process_scale(
            eGlyph(),
            anisotropic=self.chk_single.isChecked(),
            live_update=self.chk_preview.isChecked()))
        self.mixer_dy.sld_axis.valueChanged.connect(lambda: self.process_scale(
            eGlyph(),
            anisotropic=self.chk_single.isChecked(),
            live_update=self.chk_preview.isChecked()))
        self.scaler_dx.sld_axis.valueChanged.connect(
            lambda: self.process_scale(eGlyph(),
                                       anisotropic=self.chk_single.isChecked(),
                                       live_update=self.chk_preview.isChecked(
                                       )))
        self.scaler_dy.sld_axis.valueChanged.connect(
            lambda: self.process_scale(eGlyph(),
                                       anisotropic=self.chk_single.isChecked(),
                                       live_update=self.chk_preview.isChecked(
                                       )))

        # - Build layout
        layoutV = QtGui.QGridLayout()
        layoutV.addWidget(QtGui.QLabel('Preferences:'), 0, 0, 1, 1)
        layoutV.addWidget(self.btn_tableCheck, 0, 1, 1, 2)
        layoutV.addWidget(self.chk_tableLock, 0, 3, 1, 2)
        layoutV.addWidget(self.btn_tableSave, 0, 5, 1, 1)
        layoutV.addWidget(self.btn_tableLoad, 0, 6, 1, 2)
        layoutV.addWidget(self.btn_tableRefresh, 0, 8, 1, 1)
        layoutV.addWidget(QtGui.QLabel('Source:'), 0, 10, 1, 1,
                          QtCore.Qt.AlignRight)
        layoutV.addWidget(self.btn_getVstems, 0, 11, 1, 2)
        layoutV.addWidget(self.btn_getHstems, 0, 13, 1, 2)
        layoutV.addWidget(QtGui.QLabel('Ratio BBOX:'), 0, 15, 1, 1,
                          QtCore.Qt.AlignRight)
        layoutV.addWidget(self.btn_getPart, 0, 16, 1, 1)
        layoutV.addWidget(self.btn_getWhole, 0, 17, 1, 1)
        layoutV.addWidget(self.btn_pushWidthPW, 0, 18, 1, 1)
        layoutV.addWidget(self.btn_pushHeightPW, 0, 19, 1, 1)

        layoutV.addWidget(QtGui.QLabel('Master data:'), 1, 0, 1, 1)
        layoutV.addWidget(self.cmb_infoArrays, 1, 1, 1, 4)
        layoutV.addWidget(self.btn_getArrays, 1, 5, 1, 4)
        layoutV.addWidget(QtGui.QLabel('Target:'), 1, 10, 1, 1,
                          QtCore.Qt.AlignRight)
        layoutV.addWidget(self.btn_getTx, 1, 11, 1, 2)
        layoutV.addWidget(self.btn_getTy, 1, 13, 1, 2)
        layoutV.addWidget(QtGui.QLabel('Populate:'), 1, 15, 1, 1,
                          QtCore.Qt.AlignRight)
        layoutV.addWidget(self.btn_pushWidth, 1, 16, 1, 2)
        layoutV.addWidget(self.btn_pushHeight, 1, 18, 1, 2)

        layoutV.addWidget(self.tab_masters, 2, 0, 15, 20)

        layoutV.addWidget(QtGui.QLabel('LERP [dX]:'), 23, 0, 1, 1,
                          QtCore.Qt.AlignTop)
        layoutV.addLayout(self.mixer_dx, 23, 1, 1, 4)
        layoutV.addWidget(QtGui.QLabel('[dY]:'), 23, 5, 1, 1,
                          QtCore.Qt.AlignTop | QtCore.Qt.AlignRight)
        layoutV.addLayout(self.mixer_dy, 23, 6, 1, 4)
        layoutV.addWidget(QtGui.QLabel('Width:'), 23, 10, 1, 1,
                          QtCore.Qt.AlignTop | QtCore.Qt.AlignRight)
        layoutV.addLayout(self.scaler_dx, 23, 11, 1, 4)
        layoutV.addWidget(QtGui.QLabel('Height:'), 23, 15, 1, 1,
                          QtCore.Qt.AlignTop | QtCore.Qt.AlignRight)
        layoutV.addLayout(self.scaler_dy, 23, 16, 1, 4)

        layoutV.addWidget(QtGui.QLabel('Process:'), 25, 0, 1, 1)
        layoutV.addWidget(self.rad_glyph, 25, 1, 1, 1)
        layoutV.addWidget(self.rad_window, 25, 2, 1, 1)
        layoutV.addWidget(self.rad_selection, 25, 3, 1, 1)
        layoutV.addWidget(self.rad_font, 25, 4, 1, 1)
        layoutV.addWidget(QtGui.QLabel('Mode:'), 25, 5, 1, 1)
        layoutV.addWidget(self.chk_single, 25, 6, 1, 2)
        layoutV.addWidget(self.chk_italic, 25, 8, 1, 2)
        layoutV.addWidget(self.chk_boundry, 25, 10, 1, 2)
        layoutV.addWidget(self.chk_preview, 25, 12, 1, 3)
        layoutV.addWidget(self.btn_execute, 25, 15, 1, 5)

        # - Set Widget
        self.setLayout(layoutV)
        self.setWindowTitle('%s %s' % (app_name, app_version))
        self.setGeometry(300, 300, 1150, 700)
        self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)  # Always on top!!

        # !!! Hotfix FL7 7355
        self.setMinimumSize(980, self.sizeHint.height())

        self.show()