Exemple #1
0
    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)
Exemple #4
0
    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)
Exemple #5
0
    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()
Exemple #6
0
    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()
Exemple #7
0
    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()
Exemple #10
0
    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)
Exemple #11
0
    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
Exemple #12
0
    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)
Exemple #13
0
    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()
Exemple #14
0
    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)
Exemple #15
0
    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)
Exemple #16
0
    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()
Exemple #17
0
    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])
Exemple #18
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)
Exemple #19
0
    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)
Exemple #20
0
    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))