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()
def __init__(self, parentWidget): super(TRAutoMetrics, self).__init__() self.upper_widget = parentWidget # -- Init self.active_font = pFont() self.active_sampler = MetricSampler(self.active_font) self.font_masters = self.active_font.masters() self.empty_preset = lambda row: OrderedDict([(row, OrderedDict([('Preset', 'Preset %s' %row)] + [(master, '0') for master in self.font_masters]))]) self.table_dict = self.empty_preset(0) self.__max_value = 10000 # -- Widgets self.edt_glyphName = QtGui.QLineEdit() self.edt_glyphName.setPlaceholderText('Glyph name') # -- Buttons self.btn_addPreset = QtGui.QPushButton('Add') self.btn_delPreset = QtGui.QPushButton('Remove') self.btn_resetPreset = QtGui.QPushButton('Reset') self.btn_loadPreset = QtGui.QPushButton('Load') self.btn_savePreset = QtGui.QPushButton('Save') self.btn_get_lsb = QtGui.QPushButton('LSB') self.btn_get_rsb = QtGui.QPushButton('RSB') self.btn_get_both = QtGui.QPushButton('Set Metrics') self.btn_advanced = QtGui.QPushButton('Use Advanced options') self.btn_advanced.setCheckable(True) self.btn_advanced.setChecked(False) self.btn_advanced.setEnabled(False) self.btn_get_lsb.clicked.connect(lambda: self.set_sidebearings('lsb')) self.btn_get_rsb.clicked.connect(lambda: self.set_sidebearings('rsb')) self.btn_get_both.clicked.connect(lambda: self.set_sidebearings('bth')) # -- Checkbox self.chk_area_draw = QtGui.QCheckBox('Draw sampled area') self.chk_area_cache = QtGui.QCheckBox('Cache sampled area') # -- Spinbox self.spb_window_min = QtGui.QSpinBox() self.spb_window_max = QtGui.QSpinBox() self.spb_depth = QtGui.QSpinBox() self.spb_mul_area = QtGui.QDoubleSpinBox() self.spb_window_min.setMaximum(self.__max_value) self.spb_window_max.setMaximum(self.__max_value) self.spb_window_min.setMinimum(-self.__max_value) self.spb_window_max.setMinimum(-self.__max_value) self.spb_depth.setMaximum(self.__max_value) self.spb_mul_area.setMaximum(20.) self.spb_mul_area.setMinimum(-20.) self.spb_mul_area.setSingleStep(0.01) self.spb_window_min.setSuffix(' u') self.spb_window_max.setSuffix(' u') self.spb_depth.setSuffix(' u') self.spb_window_min.setValue(self.active_sampler.sample_window[0]) self.spb_window_max.setValue(self.active_sampler.sample_window[1]) self.spb_depth.setValue(self.active_sampler.cutout_x) self.spb_mul_area.setValue(0.5) self.spb_window_min.valueChanged.connect(lambda: self.update_sampler_config()) self.spb_window_max.valueChanged.connect(lambda: self.update_sampler_config()) self.spb_depth.valueChanged.connect(lambda: self.update_sampler_config()) # -- Preset Table self.tab_presets = TRTableView(None) # -- Build Layout self.lay_head = QtGui.QGridLayout() self.frame_advanced = QtGui.QFrame() self.lay_advanced = QtGui.QGridLayout() self.lay_head.addWidget(QtGui.QLabel('Sampling Options:'), 0, 0, 1, 8) self.lay_head.addWidget(QtGui.QLabel('Min (Y):'), 1, 0, 1, 2) self.lay_head.addWidget(self.spb_window_min, 1, 2, 1, 2) self.lay_head.addWidget(QtGui.QLabel('Max (Y):'), 1, 4, 1, 2) self.lay_head.addWidget(self.spb_window_max, 1, 6, 1, 2) self.lay_head.addWidget(QtGui.QLabel('Depth (X):'), 2, 0, 1, 2) self.lay_head.addWidget(self.spb_depth, 2, 2, 1, 2) self.lay_head.addWidget(QtGui.QLabel('Area (mult.):'), 2, 4, 1, 2) self.lay_head.addWidget(self.spb_mul_area, 2, 6, 1, 2) self.lay_head.addWidget(self.chk_area_draw, 3, 0, 1, 4) self.lay_head.addWidget(self.chk_area_cache, 3, 4, 1, 4) self.lay_head.addWidget(self.btn_get_lsb, 4, 0, 1, 2) self.lay_head.addWidget(self.btn_get_both, 4, 2, 1, 4) self.lay_head.addWidget(self.btn_get_rsb, 4, 6, 1, 2) self.lay_head.addWidget(self.btn_advanced, 5, 0, 1, 8) self.lay_head.addWidget(self.frame_advanced, 6, 0, 15, 8) self.frame_advanced.setLayout(self.lay_advanced) #self.lay_advanced.addWidget(QtGui.QLabel('Advanced configuration:'), 0, 0, 1, 6) self.lay_advanced.addWidget(self.btn_addPreset, 1, 0, 1, 2) self.lay_advanced.addWidget(self.btn_delPreset, 1, 2, 1, 2) self.lay_advanced.addWidget(self.btn_resetPreset, 1, 4, 1, 2) self.lay_advanced.addWidget(self.tab_presets, 2, 0, 5, 6) self.lay_advanced.addWidget(self.btn_loadPreset, 10, 0, 1, 3) self.lay_advanced.addWidget(self.btn_savePreset, 10, 3, 1, 3) self.frame_advanced.setFrameStyle(1) self.frame_advanced.hide() self.btn_advanced.clicked.connect(lambda: self.frame_advanced.show() if self.btn_advanced.isChecked() else self.frame_advanced.hide()) self.addLayout(self.lay_head)