def ui(self): super(LineEditExample, self).ui() size_lyt = layouts.HorizontalLayout() line_edit_small = lineedit.BaseLineEdit().small() line_edit_small.setPlaceholderText('small size') line_edit_medium = lineedit.BaseLineEdit().medium() line_edit_medium.setPlaceholderText('default size') line_edit_large = lineedit.BaseLineEdit().large() line_edit_large.setPlaceholderText('large size') size_lyt.addWidget(line_edit_small) size_lyt.addWidget(line_edit_medium) size_lyt.addWidget(line_edit_large) line_edit_tool_btn = lineedit.BaseLineEdit(text='BaseToolButton') line_edit_tool_btn.set_prefix_widget( buttons.BaseToolButton().image('user').icon_only()) line_edit_label = lineedit.BaseLineEdit(text='BaseLabel') line_lbl = label.BaseLabel('User').mark().secondary() line_lbl.setAlignment(Qt.AlignCenter) line_lbl.setFixedWidth(80) line_edit_label.set_prefix_widget(line_lbl) line_edit_btn = lineedit.BaseLineEdit('BaseButton') push_btn = buttons.BaseButton('Go').primary() line_edit_btn.set_suffix_widget(push_btn) search_engine_line = lineedit.BaseLineEdit().search_engine().large() search_engine_line.returnPressed.connect(self._on_search) line_edit_options = lineedit.BaseLineEdit() combo_box = combobox.BaseComboBox() option_menu = menu.BaseMenu() option_menu.set_separator('|') option_menu.set_data([r'http://', r'https://']) combo_box.set_menu(option_menu) combo_box.set_value('http://') combo_box.setFixedWidth(90) line_edit_options.set_prefix_widget(combo_box) self.main_layout.addWidget(dividers.Divider('different size')) self.main_layout.addLayout(size_lyt) self.main_layout.addWidget( dividers.Divider('custom prefix and suffix widget')) self.main_layout.addWidget(line_edit_tool_btn) self.main_layout.addWidget(line_edit_label) self.main_layout.addWidget(line_edit_btn) self.main_layout.addWidget(dividers.Divider('preset')) self.main_layout.addWidget(label.BaseLabel('error')) self.main_layout.addWidget( lineedit.BaseLineEdit( 'waring: file d:/ddd/ccc.jpg not exists.').error()) self.main_layout.addWidget(label.BaseLabel('search')) self.main_layout.addWidget(lineedit.BaseLineEdit().search().small()) self.main_layout.addWidget(label.BaseLabel('search engine')) self.main_layout.addWidget(search_engine_line) self.main_layout.addWidget(label.BaseLabel('file')) self.main_layout.addWidget(lineedit.BaseLineEdit().file().small()) self.main_layout.addWidget(label.BaseLabel('folder')) self.main_layout.addWidget(lineedit.BaseLineEdit().folder().small()) self.main_layout.addWidget(label.BaseLabel('options')) self.main_layout.addWidget(line_edit_options) self.main_layout.addStretch()
def ui(self): super(RotationAxisView, self).ui() set_rot_top_layout = layouts.HorizontalLayout(spacing=5) self._set_rot_axis_box = combobox.BaseComboBox(parent=self) set_rot_top_layout.addWidget(self._set_rot_axis_box) for rotAxis in ROTATION_AXES: self._set_rot_axis_box.addItem(rotAxis) set_rot_axis_common_btn = buttons.BaseButton(' <', parent=self) set_rot_axis_common_btn.setMaximumWidth(45) set_rot_axis_common_btn.setStyleSheet( "QPushButton::menu-indicator{image:url(none.jpg);}") self._set_rot_axis_common_btn_menu = QMenu(self) # self._set_common_rotation_axis() set_rot_axis_common_btn.setMenu(self._set_rot_axis_common_btn_menu) set_rot_top_layout.addWidget(set_rot_axis_common_btn) set_rot_axis_btn_layout = layouts.HorizontalLayout() set_rot_axis_btn_layout.setAlignment(Qt.AlignCenter) self._set_rot_axis_btn = buttons.BaseButton('Apply', parent=self) self._set_rot_axis_btn.setIcon(resources.icon('ok')) self._affect_children_cbx = checkbox.BaseCheckBox('Affect Children', parent=self) self._set_rot_axis_btn.setMaximumWidth(100) set_rot_axis_btn_layout.addWidget(self._set_rot_axis_btn) set_rot_axis_btn_layout.addWidget(self._affect_children_cbx) self.main_layout.addLayout(set_rot_top_layout) self.main_layout.addLayout(set_rot_axis_btn_layout)
def ui(self): super(FallofCurveWidget, self).ui() base_rect = QRect(0, 0, self._base_size, self._base_size) self._scene = CurveNodeScene(base_rect) self._scene.base_size = self._base_size self._view = CurveNodeView(parent=self) self._view.setScene(self._scene) self._view.setGeometry(base_rect) self._menu_bar = QMenuBar(self) self._menu_bar.addAction(self._scene.undo_action) self._menu_bar.addAction(self._scene.redo_action) bottom_layout = layouts.HorizontalLayout(spacing=2, margins=(2, 2, 2, 2)) self._bezier_type_combo = combobox.BaseComboBox(parent=self) self._snap_cbx = checkbox.BaseCheckBox('Snap', parent=self) bottom_layout.addWidget(self._bezier_type_combo) bottom_layout.addWidget(self._snap_cbx) self.main_layout.addWidget(self._menu_bar) self.main_layout.addWidget(dividers.Divider(parent=self)) self.main_layout.addWidget(self._view) self.main_layout.addWidget(dividers.Divider(parent=self)) self.main_layout.addLayout(bottom_layout)
def __init__(self, *args, **kwargs): super(TagsFieldWidget, self).__init__(*args, **kwargs) widget = combobox.BaseComboBox(parent=self) widget.setEditable(True) widget.editTextChanged.connect(self._on_emit_value_changed) widget.editTextChanged.connect(self._on_emit_value_changed) self.set_widget(widget)
def ui(self): super(DataRepositoryWidget, self).ui() version_control_layout = layouts.HorizontalLayout() version_control_label = label.BaseLabel('Version Control', parent=None) self._version_type_combo = combobox.BaseComboBox(parent=self) version_control_layout.addWidget(version_control_label) version_control_layout.addWidget(self._version_type_combo) self.main_layout.addLayout(version_control_layout) self.main_layout.addStretch()
def ui(self): super(BadgeExample, self).ui() avatar_pixmap = tpDcc.ResourcesMgr().pixmap('user') standalone_lyt = layouts.HorizontalLayout() standalone_lyt.addWidget(badge.Badge.create_count(0, parent=self)) standalone_lyt.addWidget(badge.Badge.create_count(20, parent=self)) standalone_lyt.addWidget(badge.Badge.create_count(100, parent=self)) standalone_lyt.addWidget(badge.Badge.create_dot(True, parent=self)) standalone_lyt.addWidget(badge.Badge.create_text('new', parent=self)) standalone_lyt.addStretch() btn = buttons.BaseToolButton().image('trash') new_avatar = avatar.Avatar.large(avatar_pixmap) btn_alert = buttons.BaseToolButton().image('notification').large() badge1 = badge.Badge.create_dot(True, widget=btn, parent=self) badge2 = badge.Badge.create_dot(True, widget=new_avatar, parent=self) self._badge3 = badge.Badge.create_dot(True, widget=btn_alert, parent=self) btn.clicked.connect(lambda: badge1._set_dot(False)) spin_box = spinbox.BaseSpinBox() spin_box.setRange(0, 9999) spin_box.valueChanged.connect(self._on_set_count) spin_box.setValue(1) self.register_field('button1_selected', 'A') menu1 = menu.BaseMenu() menu1.set_data(['A', 'B', 'C', 'D']) select1 = combobox.BaseComboBox() select1.set_menu(menu1) self.bind('button1_selected', select1, 'value', signal='valueChanged') badge_hot = badge.Badge.create_text('hot', widget=label.BaseLabel('Hello Badge '), parent=self) sub_lyt1 = layouts.HorizontalLayout() sub_lyt1.addWidget(badge1) sub_lyt1.addWidget(badge2) sub_lyt1.addWidget(self._badge3) sub_lyt1.addStretch() sub_lyt2 = layouts.HorizontalLayout() sub_lyt2.addWidget(badge_hot) sub_lyt2.addWidget(select1) sub_lyt2.addStretch() self.main_layout.addWidget(dividers.Divider('use standalone')) self.main_layout.addLayout(standalone_lyt) self.main_layout.addWidget(dividers.Divider('different type')) self.main_layout.addLayout(sub_lyt1) self.main_layout.addWidget(spin_box) self.main_layout.addWidget(dividers.Divider('different type')) self.main_layout.addLayout(sub_lyt2) self.main_layout.addStretch()
def ui(self): super(ComboWidget, self).ui() self._label = label.BaseLabel(self._name) self._label.setAlignment(Qt.AlignRight) self._label.setMinimumWidth(75) self._label.setAttribute(Qt.WA_TransparentForMouseEvents) self._combo_widget = combobox.BaseComboBox() self._combo_widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) self.main_layout.addWidget(self._label) self.main_layout.addWidget(self._combo_widget)
def ui(self): super(ProjectSettingsWidget, self).ui() image_layout = layouts.HorizontalLayout(spacing=2, margins=(2, 2, 2, 2)) image_layout.setContentsMargins(2, 2, 2, 2) image_layout.setSpacing(2) self.main_layout.addLayout(image_layout) self._project_image = QLabel() self._project_image.setAlignment(Qt.AlignCenter) image_layout.addStretch() image_layout.addWidget(self._project_image) image_layout.addStretch() self._settings_tab = tabs.BaseTabWidget(parent=self) self.main_layout.addWidget(self._settings_tab) self._naming_widget = NamingWidget(project=self._project) self._project_options_widget = rigoptionsviewer.RigOptionsViewer( option_object=self._project, parent=self) self._external_code_widget = ExternalCodeDirectoryWidget(parent=self) version_control_widget = QWidget(parent=self) version_control_layout = layouts.VerticalLayout(spacing=0, margins=(2, 2, 2, 2)) version_control_widget.setLayout(version_control_layout) self._version_type_combo = combobox.BaseComboBox(parent=self) version_control_layout.addWidget(self._version_type_combo) version_control_layout.addStretch() self._settings_tab.addTab(self._project_options_widget, 'Settings') self._settings_tab.addTab(self._naming_widget, 'Nomenclature') self._settings_tab.addTab(version_control_widget, 'Version Control') self._settings_tab.addTab(self._external_code_widget, 'External Code') bottom_layout = layouts.VerticalLayout(spacing=2, margins=(2, 2, 2, 2)) bottom_layout.setAlignment(Qt.AlignBottom) self.main_layout.addLayout(bottom_layout) bottom_layout.addLayout(dividers.DividerLayout()) buttons_layout = layouts.HorizontalLayout(spacing=2, margins=(2, 2, 2, 2)) bottom_layout.addLayout(buttons_layout) ok_icon = resources.icon('ok') self._ok_btn = buttons.BaseButton(parent=self) self._ok_btn.setIcon(ok_icon) buttons_layout.addWidget(self._ok_btn)
def ui(self): super(NamingWidget, self).ui() naming_layout = layouts.HorizontalLayout(spacing=2, margins=(0, 0, 0, 0)) edit_icon = resources.icon('edit') name_lbl = QLabel('Naming Rule: ') self._name_rules = combobox.BaseComboBox(parent=self) self._name_rules.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) self._edit_btn = buttons.BaseButton(parent=self) self._edit_btn.setIcon(edit_icon) naming_layout.addWidget(name_lbl) naming_layout.addWidget(self._name_rules) naming_layout.addWidget(self._edit_btn) self.main_layout.addLayout(naming_layout) self.main_layout.addStretch()
def ui(self): super(NamespaceView, self).ui() namespace_layout = layouts.HorizontalLayout(spacing=5, margins=(0, 0, 0, 0)) namespace_layout.setAlignment(Qt.AlignLeft) self.main_layout.addLayout(namespace_layout) self._namespace_cbx = checkbox.BaseCheckBox(parent=self) self._namespace_line = lineedit.BaseLineEdit(parent=self) self._namespace_line.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) self._namespace_line.setPlaceholderText('Namespace') self._namespace_combo = combobox.BaseComboBox(parent=self) self._namespace_combo.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) self._combo_icons = [resources.icon('add'), resources.icon('trash')] self._namespace_btn = buttons.BaseButton(parent=self) self._namespace_btn.setIcon(self._combo_icons[0]) namespace_layout.addWidget(self._namespace_cbx) namespace_layout.addWidget(self._namespace_line) namespace_layout.addWidget(self._namespace_combo) namespace_layout.addWidget(self._namespace_btn)
def _setup_general_tab(self): general_widget = QWidget() general_layout = layouts.VerticalLayout(spacing=2, margins=(2, 2, 2, 2)) general_widget.setLayout(general_layout) self._themes_combobox = combobox.BaseComboBox(parent=self) all_themes = resources.get_all_resources_of_type( resources.ResourceTypes.THEME) for i, theme in enumerate(all_themes): accent_color_hex = theme.accent_color accent_color = color.Color.hex_to_qcolor( accent_color_hex[1:] if accent_color_hex. startswith('#') else accent_color_hex) background_color_hex = theme.background_color background_color = color.Color.hex_to_qcolor( background_color_hex[1:] if accent_color_hex. startswith('#') else background_color_hex) accent_color_pixmap = QPixmap(25, 25) background_color_pixmap = QPixmap(25, 25) accent_color_pixmap.fill(accent_color) background_color_pixmap.fill(background_color) color_pixmap = QPixmap(50, 25) painter = QPainter(color_pixmap) painter.drawPixmap(0, 0, 25, 25, accent_color_pixmap) painter.drawPixmap(25, 0, 25, 25, background_color_pixmap) painter.end() color_icon = QIcon(color_pixmap) self._themes_combobox.addItem(color_icon, theme.name()) general_layout.addWidget(self._themes_combobox) general_layout.addStretch() return general_widget
def ui(self): super(Page, self).ui() current_theme = self.theme() self._page_setting_menu = menu.BaseMenu(parent=self) self._display_label = label.BaseLabel() self._display_label.setAlignment(Qt.AlignCenter) self._change_page_size_btn = combobox.BaseComboBox().small() self._change_page_size_btn.setFixedWidth(110) self._change_page_size_btn.set_menu(self._page_setting_menu) self._change_page_size_btn.set_formatter( lambda x: '{} per page'.format(x)) self._pre_btn = buttons.BaseToolButton().image( 'arrow_left').icon_only().small() self._next_btn = buttons.BaseToolButton().image( 'arrow_right').icon_only().small() self._current_page_spin_box = spinbox.BaseSpinBox() self._current_page_spin_box.setMinimum(1) self._current_page_spin_box.theme_size = current_theme.small if current_theme else theme.Theme.Sizes.SMALL self._total_page_lbl = label.BaseLabel() self.main_layout.addStretch() self.main_layout.addWidget(self._display_label) self.main_layout.addStretch() self.main_layout.addWidget(label.BaseLabel('|').secondary()) self.main_layout.addWidget(self._change_page_size_btn) self.main_layout.addWidget(label.BaseLabel('|').secondary()) self.main_layout.addWidget(self._pre_btn) self.main_layout.addWidget(label.BaseLabel('Page')) self.main_layout.addWidget(self._current_page_spin_box) self.main_layout.addWidget(label.BaseLabel('/')) self.main_layout.addWidget(self._total_page_lbl) self.main_layout.addWidget(self._next_btn)
def ui(self): super(NameIt, self).ui() tools_toolbar = toolbar.ToolBar('Main ToolBar', parent=self) tools_toolbar.setMovable(False) # tools_toolbar.setAllowedAreas(Qt.TopToolBarArea | Qt.BottomToolBarArea) self.main_layout.addWidget(tools_toolbar) refresh_btn = buttons.BaseToolButton(parent=tools_toolbar) refresh_btn.setIcon(resources.icon('refresh')) refresh_btn.clicked.connect(self._on_refresh) self._refresh_btn = tools_toolbar.addWidget(refresh_btn) self._refresh_btn.setEnabled(False) save_btn = buttons.BaseToolButton(parent=tools_toolbar) save_btn.setIcon(resources.icon('save')) save_btn.clicked.connect(self._on_save) self._save_btn = tools_toolbar.addWidget(save_btn) self._save_btn.setEnabled(False) if self._is_renamer_tool_available(): renamer_btn = buttons.BaseToolButton(parent=tools_toolbar) renamer_btn.setIcon(resources.icon('rename')) renamer_btn.clicked.connect(self._on_open_renamer_tool) tools_toolbar.addWidget(renamer_btn) self._name_file_line = directory.SelectFile(label_text='Naming File', parent=tools_toolbar) tools_toolbar.addWidget(self._name_file_line) base_layout = layouts.HorizontalLayout(spacing=0, margins=(0, 0, 0, 0)) self.main_layout.addLayout(base_layout) panels_splitter = QSplitter(parent=self) panels_splitter.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) base_layout.addWidget(panels_splitter) left_panel_widget = QWidget() left_panel_layout = layouts.VerticalLayout(margins=(5, 0, 5, 0)) left_panel_widget.setLayout(left_panel_layout) panels_splitter.addWidget(left_panel_widget) # Tab Widget rules_tab = QWidget() tokens_tab = QWidget() templates_tab = QWidget() templates_tokens_tab = QWidget() self.tabs = tabs.BaseTabWidget() self.tabs.addTab(rules_tab, 'Rules') self.tabs.addTab(tokens_tab, 'Tokens') self.tabs.addTab(templates_tab, 'Templates') self.tabs.addTab(templates_tokens_tab, 'Templates Tokens') left_panel_layout.addWidget(self.tabs) # Rules Tab rules_main_layout = layouts.VerticalLayout(spacing=0, margins=(5, 5, 5, 5)) self.rules_list = QListWidget() rules_main_layout.addWidget(self.rules_list) left_panel_buttons_layout_rules = layouts.HorizontalLayout(margins=(5, 5, 5, 0)) rules_main_layout.addLayout(left_panel_buttons_layout_rules) self.add_rule_btn = buttons.BaseButton(parent=self) self.remove_rule_btn = buttons.BaseButton(parent=self) self.add_rule_btn.setIcon(resources.icon('plus')) self.remove_rule_btn.setIcon(resources.icon('minus')) left_panel_buttons_layout_rules.addStretch() left_panel_buttons_layout_rules.addWidget(self.add_rule_btn) left_panel_buttons_layout_rules.addWidget(self.remove_rule_btn) rules_tab.setLayout(rules_main_layout) # Tokens Tab tokens_main_layout = layouts.VerticalLayout(margins=(5, 5, 5, 5)) tokens_main_layout.setSpacing(0) self.tokens_list = QListWidget() tokens_main_layout.addWidget(self.tokens_list) left_panel_buttons_layout_tokens = layouts.HorizontalLayout( margins=(5, 5, 5, 0)) tokens_main_layout.addLayout(left_panel_buttons_layout_tokens) self.add_token_btn = buttons.BaseButton(parent=self) self.remove_token_btn = buttons.BaseButton(parent=self) self.add_token_btn.setIcon(resources.icon('plus')) self.remove_token_btn.setIcon(resources.icon('minus')) left_panel_buttons_layout_tokens.addStretch() left_panel_buttons_layout_tokens.addWidget(self.add_token_btn) left_panel_buttons_layout_tokens.addWidget(self.remove_token_btn) tokens_tab.setLayout(tokens_main_layout) # Templates Tab templates_main_layout = layouts.VerticalLayout(spacing=0, margins=(5, 5, 5, 5)) self.templates_list = QListWidget() templates_main_layout.addWidget(self.templates_list) left_panel_buttons_layout_templates = layouts.HorizontalLayout( margins=(5, 5, 5, 0)) templates_main_layout.addLayout(left_panel_buttons_layout_templates) self.add_template_btn = buttons.BaseButton(parent=self) self.remove_template_btn = buttons.BaseButton(parent=self) self.add_template_btn.setIcon(resources.icon('plus')) self.remove_template_btn.setIcon(resources.icon('minus')) left_panel_buttons_layout_templates.addStretch() left_panel_buttons_layout_templates.addWidget(self.add_template_btn) left_panel_buttons_layout_templates.addWidget(self.remove_template_btn) templates_tab.setLayout(templates_main_layout) # Template Tokens Tab templates_tokens_main_layout = layouts.VerticalLayout(spacing=0, margins=(5, 5, 5, 5)) self.template_tokens_list = QListWidget() templates_tokens_main_layout.addWidget(self.template_tokens_list) left_panel_buttons_layout_templates_tokens = layouts.HorizontalLayout( margins=(5, 5, 5, 0)) left_panel_buttons_layout_templates_tokens.setContentsMargins( 5, 5, 5, 0) templates_tokens_main_layout.addLayout( left_panel_buttons_layout_templates_tokens) self.add_template_token_btn = buttons.BaseButton(parent=self) self.remove_template_token_btn = buttons.BaseButton(parent=self) self.add_template_token_btn.setIcon(resources.icon('plus')) self.remove_template_token_btn.setIcon(resources.icon('minus')) left_panel_buttons_layout_templates_tokens.addStretch() left_panel_buttons_layout_templates_tokens.addWidget( self.add_template_token_btn) left_panel_buttons_layout_templates_tokens.addWidget( self.remove_template_token_btn) templates_tokens_tab.setLayout(templates_tokens_main_layout) # === PROPERTIES === # main_group = QGroupBox('Properties') panels_splitter.addWidget(main_group) self.group_layout = layouts.VerticalLayout(spacing=0, margins=(5, 5, 5, 5)) main_group.setLayout(self.group_layout) # Rules Panel self.rules_widget = QWidget(self) rules_layout = layouts.GridLayout() self.rules_widget.setLayout(rules_layout) expression_lbl = label.BaseLabel('Expression', parent=self) self.expression_line = lineedit.BaseLineEdit(parent=self) self.expression_btn = buttons.BaseButton(' <', parent=self) self.expression_btn.setEnabled(False) self.expression_btn.setStyleSheet( "QPushButton::menu-indicator{image:url(none.jpg);}") self.expression_menu = QMenu(self) self.expression_btn.setMenu(self.expression_menu) iterator_lbl = label.BaseLabel('Iterator', parent=self) self.iterator_cbx = combobox.BaseComboBox(parent=self) for it_format in [ '@', '@^', '#', '##', '###', '####', '#####', 'None' ]: self.iterator_cbx.addItem(it_format) description_rule_lbl = label.BaseLabel('Description', parent=self) self.description_rule_text = QTextEdit(parent=self) self.group_layout.addWidget(self.rules_widget) rules_layout.addWidget(expression_lbl, 0, 0, Qt.AlignRight) rules_layout.addWidget(self.expression_line, 0, 1) rules_layout.addWidget(self.expression_btn, 0, 2) rules_layout.addWidget(iterator_lbl, 1, 0, Qt.AlignRight | Qt.AlignTop) rules_layout.addWidget(self.iterator_cbx, 1, 1, 1, 2) rules_layout.addWidget(description_rule_lbl, 2, 0, Qt.AlignRight | Qt.AlignTop) rules_layout.addWidget(self.description_rule_text, 2, 1, 1, 2) # Tokens Panel self.tokens_widget = QWidget(parent=self) tokens_layout = layouts.GridLayout() self.tokens_widget.setLayout(tokens_layout) values_lbl = label.BaseLabel('Values') data = {'key': list(), 'value': list()} self.values_table = TokensTable(data, 0, 2) self.values_table.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) values_buttons_layout = layouts.HorizontalLayout(margins=(5, 5, 5, 0)) self.add_key_value_btn = buttons.BaseButton(parent=self) self.remove_key_value_btn = buttons.BaseButton(parent=self) self.add_key_value_btn.setIcon(resources.icon('plus')) self.remove_key_value_btn.setIcon(resources.icon('minus')) values_buttons_layout.addWidget(self.add_key_value_btn) values_buttons_layout.addWidget(self.remove_key_value_btn) values_buttons_layout.addStretch() default_lbl = label.BaseLabel('Default', parent=self) self.default_cbx = combobox.BaseComboBox(parent=self) description_tokens_lbl = label.BaseLabel('Description', parent=self) self.description_token_text = QTextEdit(parent=self) self.group_layout.addWidget(self.tokens_widget) self.tokens_widget.hide() tokens_layout.addWidget(values_lbl, 0, 0, Qt.AlignRight | Qt.AlignTop) tokens_layout.addWidget(self.values_table, 0, 1, 2, 1) tokens_layout.addLayout(values_buttons_layout, 0, 2) tokens_layout.addWidget(default_lbl, 4, 0, Qt.AlignRight) tokens_layout.addWidget(self.default_cbx, 4, 1, 1, 2) tokens_layout.addWidget(description_tokens_lbl, 5, 0, Qt.AlignRight | Qt.AlignTop) tokens_layout.addWidget(self.description_token_text, 5, 1, 1, 2) # Templates Panel self.templates_widget = QWidget(parent=self) templates_layout = layouts.VerticalLayout() self.templates_widget.setLayout(templates_layout) pattern_layout = layouts.HorizontalLayout(spacing=5, margins=(5, 5, 5, 5)) pattern_lbl = label.BaseLabel('Pattern: ', parent=self) self.pattern_line = lineedit.BaseLineEdit(parent=self) pattern_layout.addWidget(pattern_lbl) pattern_layout.addWidget(self.pattern_line) templates_layout.addLayout(pattern_layout) templates_layout.addLayout(dividers.DividerLayout()) self.template_tokens_layout = layouts.GridLayout() self.template_tokens_layout.setAlignment(Qt.AlignTop) template_tokens_frame = QFrame(parent=self) template_tokens_frame.setFrameShape(QFrame.StyledPanel) template_tokens_frame.setFrameShadow(QFrame.Sunken) template_tokens_frame.setLayout(self.template_tokens_layout) templates_layout.addWidget(template_tokens_frame) self.group_layout.addWidget(self.templates_widget) self.templates_widget.hide() # Templates Tokens Panel self.templates_tokens_widget = QWidget(parent=self) templates_tokens_layout = layouts.VerticalLayout() self.templates_tokens_widget.setLayout(templates_tokens_layout) description_templates_token_layout = layouts.HorizontalLayout( spacing=5, margins=(5, 5, 5, 5)) description_tokens_layout = layouts.VerticalLayout() description_templates_token_lbl = label.BaseLabel('Description: ', parent=self) description_tokens_layout.addWidget(description_templates_token_lbl) description_tokens_layout.addStretch() self.description_templates_token_text = QTextEdit(parent=self) description_templates_token_layout.addLayout(description_tokens_layout) description_templates_token_layout.addWidget( self.description_templates_token_text) templates_tokens_layout.addLayout(description_templates_token_layout) self.group_layout.addWidget(self.templates_tokens_widget) self.templates_tokens_widget.hide() # Initialize database self._init_db() # First update of the UI self.update_expression_menu() self.update_tokens_properties_state() self.update_rules_properties_state() self.update_templates_properties_state()
def ui(self): super(MuscleSplineView, self).ui() expander = expandables.ExpanderWidget() muscle_setup_widget = QWidget() muscle_setup_layout = layouts.VerticalLayout(spacing=2, margins=(2, 2, 2, 2)) muscle_setup_widget.setLayout(muscle_setup_layout) muscle_setup_base_layout = layouts.GridLayout(spacing=5, margins=(2, 2, 2, 2)) name_label = label.BaseLabel('Name:', parent=self) self._name_line = lineedit.BaseLineEdit(parent=self) size_label = label.BaseLabel('Size:') self._size_spn = spinbox.BaseDoubleSpinBox(parent=self) self._size_spn.setMinimum(1.0) insertion_ctrls_lbl = label.BaseLabel('N. Controls:', parent=self) insertion_ctrls_lbl.setToolTip('Number Insertion Controls') self._insertion_ctrls_spn = spinbox.BaseSpinBox(parent=self) self._insertion_ctrls_spn.setMinimum(2) self._insertion_ctrls_spn.setMaximum(24) insertion_type_lbl = label.BaseLabel('Type:', parent=self) self._insertion_type_combo = combobox.BaseComboBox(parent=self) num_driven_lbl = label.BaseLabel('N. Driven:', parent=self) num_driven_lbl.setToolTip('Number Driven Joints') self._num_driven_spn = spinbox.BaseSpinBox(parent=self) self._num_driven_spn.setMinimum(1) self._num_driven_spn.setMaximum(64) num_driven_type_lbl = label.BaseLabel('Type:') self._num_driven_type_combo = combobox.BaseComboBox(parent=self) extras_layout = layouts.HorizontalLayout(spacing=2, margins=(2, 2, 2, 2)) self._cns_mid_ctrls_cbx = checkbox.BaseCheckBox( 'Constraint Mid Controls', parent=self) self._lock_ctrls_scale_cbx = checkbox.BaseCheckBox( 'Lock Controls Scale', parent=self) self._lock_jiggle_attrs_cbx = checkbox.BaseCheckBox( 'Lock Jiggle Attributes', parent=self) extras_layout.addStretch() extras_layout.addWidget(self._cns_mid_ctrls_cbx) extras_layout.addWidget(self._lock_ctrls_scale_cbx) extras_layout.addWidget(self._lock_jiggle_attrs_cbx) extras_layout.addStretch() muscle_setup_layout.addLayout(muscle_setup_base_layout) muscle_setup_layout.addWidget(dividers.Divider()) muscle_setup_layout.addLayout(extras_layout) muscle_setup_base_layout.addWidget(name_label, 0, 0, Qt.AlignRight) muscle_setup_base_layout.addWidget(self._name_line, 0, 1) muscle_setup_base_layout.addWidget(size_label, 1, 0, Qt.AlignRight) muscle_setup_base_layout.addWidget(self._size_spn, 1, 1) muscle_setup_base_layout.addWidget(dividers.Divider(), 2, 0, 1, 2) muscle_setup_base_layout.addWidget(insertion_ctrls_lbl, 3, 0, Qt.AlignRight) muscle_setup_base_layout.addWidget(self._insertion_ctrls_spn, 3, 1) muscle_setup_base_layout.addWidget(insertion_type_lbl, 4, 0, Qt.AlignRight) muscle_setup_base_layout.addWidget(self._insertion_type_combo, 4, 1) muscle_setup_base_layout.addWidget(dividers.Divider(), 5, 0, 1, 2) muscle_setup_base_layout.addWidget(num_driven_lbl, 6, 0, Qt.AlignRight) muscle_setup_base_layout.addWidget(self._num_driven_spn, 6, 1) muscle_setup_base_layout.addWidget(num_driven_type_lbl, 7, 0, Qt.AlignRight) muscle_setup_base_layout.addWidget(self._num_driven_type_combo, 7, 1) advanced_setup_widget = QWidget() advanced_setup_layout = layouts.VerticalLayout(spacing=2, margins=(2, 2, 2, 2)) advanced_setup_widget.setLayout(advanced_setup_layout) self._advanced_widgets_widget = QWidget() advanced_widgets_layout = layouts.VerticalLayout(spacing=0, margins=(0, 0, 0, 0)) self._advanced_widgets_widget.setLayout(advanced_widgets_layout) advanced_setup_base_layout = layouts.GridLayout(spacing=5, margins=(2, 2, 2, 2)) self._advanced_enable_cbx = checkbox.BaseCheckBox('Enable', parent=self) ctrl_suffix_lbl = label.BaseLabel('Control Suffix:', parent=self) self._ctrl_suffix_line = lineedit.BaseLineEdit(parent=self) joint_suffix_lbl = label.BaseLabel('Joint Suffix:', parent=self) self._joint_suffix_line = lineedit.BaseLineEdit(parent=self) grp_suffix_lbl = label.BaseLabel('Group Suffix:', parent=self) self._grp_suffix_line = lineedit.BaseLineEdit(parent=self) drv_suffix_lbl = label.BaseLabel('Driven Suffix:', parent=self) self._drv_suffix_line = lineedit.BaseLineEdit(parent=self) advanced_setup_set_layout = layouts.GridLayout(spacing=5, margins=(2, 2, 2, 2)) self._create_sets_cbx = checkbox.BaseCheckBox('Create Sets', parent=self) muscle_set_lbl = label.BaseLabel('Main Muscle Set Name:', parent=self) self._main_muscle_set_name_line = lineedit.BaseLineEdit(parent=self) set_suffix_lbl = label.BaseLabel('Muscle Set Suffix:', parent=self) self._muscle_set_suffix_line = lineedit.BaseLineEdit(parent=self) muscle_spline_name_lbl = label.BaseLabel('Muscle Spline Name:', parent=self) self._muscle_spline_name_line = lineedit.BaseLineEdit(parent=self) controls_group_suffix_lbl = label.BaseLabel('Controls Group Suffix:', parent=self) self._controls_group_suffix_line = lineedit.BaseLineEdit(parent=self) joints_group_suffix_lbl = label.BaseLabel('Joints Group Suffix:') self._joints_group_suffix_line = lineedit.BaseLineEdit(parent=self) root_group_suffix_lbl = label.BaseLabel('Root Group Suffix:', parent=self) self._root_group_suffix_line = lineedit.BaseLineEdit(parent=self) auto_group_suffix_lbl = label.BaseLabel('Auto Group Suffix:', parent=self) self._auto_group_suffix_line = lineedit.BaseLineEdit(parent=self) create_layout = layouts.HorizontalLayout(spacing=0, margins=(0, 0, 0, 0)) self._create_btn = buttons.BaseButton('Create', parent=self) create_layout.addStretch() create_layout.addWidget(self._create_btn) create_layout.addStretch() advanced_setup_layout.addWidget(self._advanced_enable_cbx) advanced_setup_layout.addWidget(dividers.Divider()) advanced_setup_layout.addWidget(self._advanced_widgets_widget) advanced_widgets_layout.addLayout(advanced_setup_base_layout) advanced_widgets_layout.addLayout(advanced_setup_set_layout) advanced_setup_base_layout.addWidget(ctrl_suffix_lbl, 0, 0, Qt.AlignRight) advanced_setup_base_layout.addWidget(self._ctrl_suffix_line, 0, 1) advanced_setup_base_layout.addWidget(joint_suffix_lbl, 1, 0, Qt.AlignRight) advanced_setup_base_layout.addWidget(self._joint_suffix_line, 1, 1) advanced_setup_base_layout.addWidget(grp_suffix_lbl, 2, 0, Qt.AlignRight) advanced_setup_base_layout.addWidget(self._grp_suffix_line, 2, 1) advanced_setup_base_layout.addWidget(drv_suffix_lbl, 3, 0, Qt.AlignRight) advanced_setup_base_layout.addWidget(self._drv_suffix_line, 3, 1) advanced_setup_base_layout.addWidget(dividers.Divider(), 4, 0, 1, 2) advanced_setup_set_layout.addWidget(self._create_sets_cbx, 0, 0) advanced_setup_set_layout.addWidget(muscle_set_lbl, 1, 0, Qt.AlignRight) advanced_setup_set_layout.addWidget(self._main_muscle_set_name_line, 1, 1) advanced_setup_set_layout.addWidget(set_suffix_lbl, 2, 0, Qt.AlignRight) advanced_setup_set_layout.addWidget(self._muscle_set_suffix_line, 2, 1) advanced_setup_set_layout.addWidget(dividers.Divider(), 3, 0, 1, 2) advanced_setup_set_layout.addWidget(muscle_spline_name_lbl, 4, 0, Qt.AlignRight) advanced_setup_set_layout.addWidget(self._muscle_spline_name_line, 4, 1) advanced_setup_set_layout.addWidget(dividers.Divider(), 5, 0, 1, 2) advanced_setup_set_layout.addWidget(controls_group_suffix_lbl, 6, 0, Qt.AlignRight) advanced_setup_set_layout.addWidget(self._controls_group_suffix_line, 6, 1) advanced_setup_set_layout.addWidget(joints_group_suffix_lbl, 7, 0, Qt.AlignRight) advanced_setup_set_layout.addWidget(self._joints_group_suffix_line, 7, 1) advanced_setup_set_layout.addWidget(root_group_suffix_lbl, 8, 0, Qt.AlignRight) advanced_setup_set_layout.addWidget(self._root_group_suffix_line, 8, 1) advanced_setup_set_layout.addWidget(auto_group_suffix_lbl, 9, 0, Qt.AlignRight) advanced_setup_set_layout.addWidget(self._auto_group_suffix_line, 9, 1) expander.addItem('Advanced Setup', advanced_setup_widget) expander.addItem('Muscle Setup', muscle_setup_widget) self.main_layout.addWidget(expander) self.main_layout.addWidget(dividers.Divider()) self.main_layout.addLayout(create_layout)
def ui(self): super(NumberSideView, self).ui() rename_mult_layout = layouts.HorizontalLayout(spacing=5, margins=(0, 0, 0, 0)) rename_mult_layout.setAlignment(Qt.AlignLeft) self.main_layout.addLayout(rename_mult_layout) self._rename_mult_cbx = checkbox.BaseCheckBox(parent=self) self._rename_mult_cbx.setChecked(True) self._rename_mult_method_lbl = label.BaseLabel('Number: ', parent=self) self._renamer_mult_method_combo = combobox.BaseComboBox(parent=self) self._renamer_mult_method_combo.addItem('Numbers (0-9)') self._renamer_mult_method_combo.addItem('Letters (a-z)') rename_mult_layout.addWidget(self._rename_mult_cbx) rename_mult_layout.addWidget(self._rename_mult_method_lbl) rename_mult_layout.addWidget(self._renamer_mult_method_combo) self._frame_pad_lbl = label.BaseLabel('Pad: ', parent=self) self._frame_pad_spin = spinbox.BaseSpinBox(parent=self) self._frame_pad_spin.setValue(2) self._frame_pad_spin.setFocusPolicy(Qt.NoFocus) self._frame_pad_spin.setMinimum(1) self._frame_pad_spin.setMaximum(10) self._frame_combo = combobox.BaseComboBox(parent=self) self._frame_combo.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) self._frame_combo.addItems(['Replace', 'Append', 'Change Pad']) self._frame_btn = buttons.BaseButton() self._frame_btn.setIcon(resources.icon('numbered_list')) rename_mult_layout.addWidget(self._frame_pad_lbl) rename_mult_layout.addWidget(self._frame_pad_spin) rename_mult_layout.addWidget(self._frame_combo) lower_upper_grp = QButtonGroup(self) self._lower_radio = buttons.BaseRadioButton('Lower', parent=self) self._upper_radio = buttons.BaseRadioButton('Upper', parent=self) lower_upper_grp.addButton(self._lower_radio) lower_upper_grp.addButton(self._upper_radio) self._lower_radio.setVisible(False) self._upper_radio.setVisible(False) self._lower_radio.setFixedHeight(19) self._upper_radio.setFixedHeight(19) self._upper_radio.setAutoExclusive(True) self._lower_radio.setAutoExclusive(True) self._lower_radio.setChecked(True) self._lower_radio.setEnabled(False) self._upper_radio.setEnabled(False) rename_mult_layout.addWidget(self._lower_radio) rename_mult_layout.addWidget(self._upper_radio) rename_mult_layout.addWidget(self._frame_btn) self.main_layout.addLayout(dividers.DividerLayout()) side_layout = layouts.HorizontalLayout(spacing=2, margins=(0, 0, 0, 0)) side_layout.setAlignment(Qt.AlignLeft) self.main_layout.addLayout(side_layout) self._side_cbx = checkbox.BaseCheckBox(parent=self) self._side_cbx.setChecked(True) side_layout.addWidget(self._side_cbx) self._side_lbl = label.BaseLabel('Side: ', parent=self) self._none_side = buttons.BaseRadioButton('None', parent=self) self._right_side = buttons.BaseRadioButton('Right', parent=self) self._center_side = buttons.BaseRadioButton('Center', parent=self) self._mid_side = buttons.BaseRadioButton('Mid', parent=self) self._left_side = buttons.BaseRadioButton('Left', parent=self) self._none_side.setFixedHeight(15) self._right_side.setFixedHeight(15) self._center_side.setFixedHeight(15) self._mid_side.setFixedHeight(15) self._left_side.setFixedHeight(15) side_layout.addWidget(self._side_lbl) side_layout.addWidget(self._none_side) side_layout.addWidget(self._right_side) side_layout.addWidget(self._center_side) side_layout.addWidget(self._mid_side) side_layout.addWidget(self._left_side) self._none_side.setAutoExclusive(True) self._right_side.setAutoExclusive(True) self._center_side.setAutoExclusive(True) self._mid_side.setAutoExclusive(True) self._left_side.setAutoExclusive(True) self._none_side.setChecked(True) self._capital_side = checkbox.BaseCheckBox('Capital?', parent=self) self._side_btn = buttons.BaseButton(parent=self) self._side_btn.setIcon(resources.icon('font_size')) side_layout.addStretch() side_layout.addWidget(self._capital_side) side_layout.addStretch() side_layout.addWidget(self._side_btn)
def ui(self): super(ComboBoxExample, self).ui() def _get_letters(): data = ['A', 'B', 'C', 'D', 'E', 'F'] start = random.randint(0, len(data)) end = random.randint(start, len(data)) return data[start:end] a = [{'children': [{'value': '\u6545\u5bab', 'label': '\u6545\u5bab'}, {'value': '\u5929\u575b', 'label': '\u5929\u575b'}, {'value': '\u738b\u5e9c\u4e95', 'label': '\u738b\u5e9c\u4e95'}], 'value': u'\u5317\u4eac', 'label': u'\u5317\u4eac'}, {'children': [{'children': [{'value': '\u592b\u5b50\u5e99', 'label': '\u592b\u5b50\u5e99'}], 'value': '\u5357\u4eac', 'label': '\u5357\u4eac'}, {'children': [{'value': '\u62d9\u653f\u56ed', 'label': '\u62d9\u653f\u56ed'}, {'value': '\u72ee\u5b50\u6797', 'label': '\u72ee\u5b50\u6797'}], 'value': '\u82cf\u5dde', 'label': '\u82cf\u5dde'}], 'value': '\u6c5f\u82cf', 'label': '\u6c5f\u82cf'}] current_theme = self.theme() self.register_field('button1_selected', 'A') self.register_field('button2_selected', 'A') self.register_field('button3_selected', '') self.register_field('button4_selected', '') self.register_field('button5_selected', '') menu1 = menu.BaseMenu(parent=self) menu1.set_data(['A', 'B', 'C', 'D']) menu2 = menu.BaseMenu(exclusive=False, parent=self) menu2.set_data(['A', 'B', 'C', 'D']) menu3 = menu.BaseMenu(parent=self) menu3.set_load_callback(_get_letters) menu4 = menu.BaseMenu(parent=self, cascader=True) menu4.set_data(a) menu5 = menu.BaseMenu(exclusive=False, parent=self) menu5.set_data(['A', 'B', 'C', 'D']) size_list = [ ('Small', current_theme.small if current_theme else theme.Theme.Sizes.SMALL), ('Medium', current_theme.small if current_theme else theme.Theme.Sizes.MEDIUM), ('Large', current_theme.small if current_theme else theme.Theme.Sizes.LARGE) ] size_lyt = layouts.HorizontalLayout() for lbl, size in size_list: combo_box = combobox.BaseComboBox() combo_box.theme_size = size combo_box.set_menu(menu1) size_lyt.addWidget(combo_box) self.bind('button1_selected', combo_box, 'value', signal='valueChanged') select2 = combobox.BaseComboBox() select2.set_menu(menu2) self.bind('button2_selected', select2, 'value', signal='valueChanged') select3 = combobox.BaseComboBox() select3.set_menu(menu3) self.bind('button3_selected', select3, 'value', signal='valueChanged') select4 = combobox.BaseComboBox() select4.set_menu(menu4) select4.set_formatter(lambda x: ' / '.join(x)) self.bind('button4_selected', select4, 'value', signal='valueChanged') select5 = combobox.BaseComboBox() select5.set_menu(menu5) select5.set_formatter(lambda x: ' & '.join(x)) self.bind('button5_selected', select5, 'value', signal='valueChanged') sub_lyt1 = layouts.HorizontalLayout() sub_lyt1.addWidget(label.BaseLabel('Normal selection with different sizes')) sub_lyt1.addLayout(size_lyt) sub_lyt1.addStretch() sub_lyt2 = layouts.HorizontalLayout() sub_lyt2.addWidget(label.BaseLabel('Mutliple options')) sub_lyt2.addWidget(select2) sub_lyt2.addStretch() sub_lyt3 = layouts.HorizontalLayout() sub_lyt3.addWidget(label.BaseLabel('Dynamic options')) sub_lyt3.addWidget(select3) sub_lyt3.addStretch() sub_lyt4 = layouts.HorizontalLayout() sub_lyt4.addWidget(label.BaseLabel('Cascader Selection')) sub_lyt4.addWidget(select4) sub_lyt4.addStretch() sub_lyt5 = layouts.HorizontalLayout() sub_lyt5.addWidget(label.BaseLabel('Custom Screen')) sub_lyt5.addWidget(select5) sub_lyt5.addStretch() self.main_layout.addWidget(dividers.Divider('Select')) self.main_layout.addLayout(sub_lyt1) self.main_layout.addLayout(sub_lyt2) self.main_layout.addLayout(sub_lyt3) self.main_layout.addWidget(dividers.Divider('Custom Format')) self.main_layout.addLayout(sub_lyt4) self.main_layout.addLayout(sub_lyt5) self.main_layout.addStretch()
def ui(self): super(RenamerView, self).ui() top_layout = layouts.HorizontalLayout(spacing=2, margins=(2, 2, 2, 2)) top_layout.setAlignment(Qt.AlignLeft) self._buttons_grp = QButtonGroup(self) self._buttons_grp.setExclusive(True) self.main_layout.addLayout(top_layout) self.main_layout.addLayout(dividers.DividerLayout()) self._categories_layout = layouts.HorizontalLayout(spacing=2, margins=(2, 2, 2, 2)) self._categories_layout.setAlignment(Qt.AlignLeft) selection_layout = layouts.HorizontalLayout(spacing=2, margins=(4, 0, 4, 0)) top_layout.addLayout(selection_layout) self._all_radio = buttons.BaseRadioButton('All', parent=self) self._all_radio.setFixedHeight(19) self._all_radio.setAutoExclusive(True) self._selected_radio = buttons.BaseRadioButton('Selected', parent=self) self._selected_radio.setFixedHeight(19) self._selected_radio.setChecked(True) self._selected_radio.setAutoExclusive(True) self._hierarchy_cbx = checkbox.BaseCheckBox('Hierarchy', parent=self) self._hierarchy_cbx.setFixedHeight(19) self._node_types_combo = combobox.BaseComboBox(parent=self) self._auto_rename_shapes_cbx = None self._auto_rename_shapes_cbx = checkbox.BaseCheckBox( 'Auto Rename Shapes', parent=self) self._auto_rename_shapes_cbx.setChecked(True) if not dcc.client().is_maya(): self._auto_rename_shapes_cbx.setVisible(False) selection_layout.addWidget(self._selected_radio) selection_layout.addWidget(self._all_radio) selection_layout.addItem( QSpacerItem(10, 0, QSizePolicy.Fixed, QSizePolicy.Fixed)) selection_layout.addWidget(self._hierarchy_cbx) selection_layout.addItem( QSpacerItem(10, 0, QSizePolicy.Fixed, QSizePolicy.Fixed)) selection_layout.addWidget(self._node_types_combo) if self._auto_rename_shapes_cbx: selection_layout.addItem( QSpacerItem(10, 0, QSizePolicy.Fixed, QSizePolicy.Fixed)) selection_layout.addWidget(self._auto_rename_shapes_cbx) self._splitter = splitter.CollapsibleSplitter(parent=self) self._splitter.setOrientation(Qt.Horizontal) self._splitter.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Expanding) self._splitter.setMinimumHeight(750) self.main_layout.addWidget(self._splitter) self._rename_tab = tabs.BaseTabWidget(parent=self) self._splitter.addWidget(self._rename_tab) self._manual_rename_widget = manualrenamewidget.ManualRenameWidget( model=self._model, controller=self._controller, parent=self) self._auto_rename_widget = autorenamewidget.AutoRenameWidget( model=self._model, controller=self._controller, parent=self) self._rename_tab.addTab(self._manual_rename_widget, 'Manual') self._rename_tab.addTab(self._auto_rename_widget, 'Auto') self._stack = stack.SlidingStackedWidget() # splitter_right_widget = QWidget() # splitter_right_layout = layouts.VerticalLayout(spacing=0, margins=(0, 0, 0, 0)) # splitter_right_layout.addLayout(self._categories_layout) # splitter_right_layout.addWidget(self._stack) # splitter_right_widget.setLayout(splitter_right_layout) # self._splitter.addWidget(splitter_right_widget) # # no_items_widget = QFrame() # no_items_widget.setFrameShape(QFrame.StyledPanel) # no_items_widget.setFrameShadow(QFrame.Sunken) # no_items_widget.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding) # no_items_layout = layouts.VerticalLayout(spacing=0, margins=(0, 0, 0, 0)) # no_items_widget.setLayout(no_items_layout) # no_items_lbl = label.BaseLabel() # no_items_pixmap = tp.ResourcesMgr().pixmap('no_items') # no_items_lbl.setPixmap(no_items_pixmap) # no_items_lbl.setAlignment(Qt.AlignCenter) # no_items_layout.addItem(QSpacerItem(0, 10, QSizePolicy.Preferred, QSizePolicy.Expanding)) # no_items_layout.addWidget(no_items_lbl) # no_items_layout.addItem(QSpacerItem(0, 10, QSizePolicy.Preferred, QSizePolicy.Expanding)) # # self._stack.addWidget(no_items_widget) self._splitter.handle(0).collapse() self._splitter.setSizes([1, 0])
def __init__(self, *args, **kwargs): super(EnumFieldWidget, self).__init__(*args, **kwargs) widget = combobox.BaseComboBox(parent=self) widget.currentIndexChanged.connect(self._on_emit_value_changed) self.set_widget(widget)
def ui(self): super(PrefixSuffixView, self).ui() prefix_layout = layouts.HorizontalLayout(spacing=5, margins=(0, 0, 0, 0)) prefix_layout.setAlignment(Qt.AlignLeft) self.main_layout.addLayout(prefix_layout) self._prefix_cbx = checkbox.BaseCheckBox(parent=self) prefix_layout.addWidget(self._prefix_cbx) self._prefix_line = lineedit.BaseLineEdit(parent=self) self._prefix_line.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) self._prefix_line.setPlaceholderText('Prefix') prefix_reg_exp = QRegExp("^(?!^_)[a-zA-Z_]+") prefix_validator = QRegExpValidator(prefix_reg_exp, self._prefix_line) self._prefix_line.setValidator(prefix_validator) self._prefix_combo = combobox.BaseComboBox(parent=self) self._prefix_combo.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) prefix_layout.addWidget(self._prefix_line) prefix_layout.addWidget(self._prefix_combo) self._prefix_btn = buttons.BaseButton(parent=self) self._prefix_btn.setIcon(resources.icon('prefix')) self._remove_prefix_btn = buttons.BaseButton(parent=self) self._remove_prefix_btn.setIcon(resources.icon('trash')) prefix_layout.addWidget(self._prefix_btn) prefix_layout.addWidget(self._remove_prefix_btn) remove_first_layout = layouts.HorizontalLayout(spacing=2, margins=(0, 0, 0, 0)) remove_first_layout.setAlignment(Qt.AlignLeft) self.main_layout.addLayout(remove_first_layout) self._remove_first_cbx = checkbox.BaseCheckBox(parent=self) remove_first_layout.addWidget(self._remove_first_cbx) self._remove_first_lbl = label.BaseLabel('Remove first: ') self._remove_first_spn = spinbox.BaseSpinBox(parent=self) self._remove_first_spn.setFocusPolicy(Qt.NoFocus) self._remove_first_spn.setMinimum(0) self._remove_first_spn.setMaximum(99) last_digits_lbl = label.BaseLabel(' digits', parent=self) remove_first_layout.addWidget(self._remove_first_lbl) remove_first_layout.addWidget(self._remove_first_spn) remove_first_layout.addWidget(last_digits_lbl) self._remove_first_btn = buttons.BaseButton(parent=self) self._remove_first_btn.setIcon(resources.icon('trash')) remove_first_layout.addStretch() remove_first_layout.addWidget(self._remove_first_btn) self.main_layout.addWidget(dividers.Divider(parent=self)) suffix_layout = layouts.HorizontalLayout(spacing=5, margins=(0, 0, 0, 0)) suffix_layout.setAlignment(Qt.AlignLeft) self.main_layout.addLayout(suffix_layout) self._suffix_cbx = checkbox.BaseCheckBox(parent=self) suffix_layout.addWidget(self._suffix_cbx) self._suffix_line = lineedit.BaseLineEdit(parent=self) self._suffix_line.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) suffix_reg_exp = QRegExp("^[a-zA-Z_0-9]+") suffix_validator = QRegExpValidator(suffix_reg_exp, self._suffix_line) self._suffix_line.setValidator(suffix_validator) self._suffix_line.setPlaceholderText('Suffix') self._suffix_combo = combobox.BaseComboBox(parent=self) self._suffix_combo.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) suffix_layout.addWidget(self._suffix_line) suffix_layout.addWidget(self._suffix_combo) self._suffix_btn = buttons.BaseButton(parent=self) self._suffix_btn.setIcon(resources.icon('suffix')) self._remove_suffix_btn = buttons.BaseButton(parent=self) self._remove_suffix_btn.setIcon(resources.icon('trash')) suffix_layout.addWidget(self._suffix_btn) suffix_layout.addWidget(self._remove_suffix_btn) remove_last_layout = layouts.HorizontalLayout(spacing=5, margins=(0, 0, 0, 0)) remove_last_layout.setAlignment(Qt.AlignLeft) self.main_layout.addLayout(remove_last_layout) self._remove_last_cbx = checkbox.BaseCheckBox(parent=self) remove_last_layout.addWidget(self._remove_last_cbx) self._remove_last_lbl = label.BaseLabel('Remove last: ', parent=self) self._remove_last_spn = spinbox.BaseSpinBox(parent=self) self._remove_last_spn.setFocusPolicy(Qt.NoFocus) self._remove_last_spn.setMinimum(0) self._remove_last_spn.setMaximum(99) last_digits_lbl2 = label.BaseLabel(' digits', parent=None) remove_last_layout.addWidget(self._remove_last_lbl) remove_last_layout.addWidget(self._remove_last_spn) remove_last_layout.addWidget(last_digits_lbl2) self._remove_last_btn = buttons.BaseButton() self._remove_last_btn.setIcon(resources.icon('trash')) remove_last_layout.addStretch() remove_last_layout.addWidget(self._remove_last_btn)
def _on_update_active_rule(self, active_rule): if not active_rule: return qtutils.clear_layout(self.main_auto_layout) if not active_rule: return tokens = self._model.tokens active_tokens = list() for field in active_rule.fields(): for token in tokens: if token.name == field: active_tokens.append(token) self._token_widgets.clear() for token in reversed(active_tokens): token_name = token.name token_value = token.get_items() token_default = token.default if token_name == 'id': continue if token_value: w = combobox.BaseComboBox(parent=self) w_l = label.BaseLabel(parent=self) w.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) w_l.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) self._add_token( token_name, qtutils.get_line_layout('', self, w, QLabel(u'\u25ba'), w_l)) for key, value in token_value.items(): if key == 'default': continue w.addItem(key) try: if token_default > 0: w.setCurrentIndex(token_default - 1) except Exception: w.setCurrentIndex(0) current_text = w.currentText() try: current_value = token.solve(self._naming_lib.active_rule(), current_text) w_l.setText(str(current_value)) except Exception: pass w.currentTextChanged.connect( partial(self._on_combo_changed, token)) self._token_widgets[token_name] = { 'widget': [w, w_l], 'fn': w.currentText } else: w = lineedit.BaseLineEdit(parent=self) # w.textChanged.connect(self._on_text_changed) w.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) self._token_widgets[token_name] = {'widget': [w], 'fn': w.text} self._add_token(token_name, qtutils.get_line_layout('', self, w))