コード例 #1
0
    def createWidget(self, menu):
        """
        Overrides base QWidgetAction createWidget function
        :param menu: QMenu
        :return: QWidget
        """

        widget = QFrame(self.parent())
        widget.setObjectName('filterByAction')
        facet = self._facet
        name = facet.get('name', '')
        count = str(facet.get('count', 0))
        title = name.replace('.', '').title()
        cbx = checkbox.BaseCheckBox(parent=widget)
        cbx.setAttribute(Qt.WA_TransparentForMouseEvents)
        cbx.setText(title)
        cbx.installEventFilter(self)
        cbx.setChecked(self._checked)
        label2 = label.BaseLabel(parent=widget)
        label2.setObjectName('actionCounter')
        label2.setText(count)
        layout = layouts.HorizontalLayout(spacing=0, margins=(0, 0, 0, 0))
        layout.addWidget(cbx, stretch=1)
        layout.addWidget(label2)
        widget.setLayout(layout)

        cbx.toggled.connect(self._on_triggered)

        return widget
コード例 #2
0
    def ui(self):
        super(RenamerView, self).ui()

        renamer_widget = QWidget()
        renamer_widget.setLayout(
            layouts.VerticalLayout(spacing=0, margins=(0, 0, 0, 0)))
        renamer_widget.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
        self.main_layout.addWidget(renamer_widget)

        rename_layout = layouts.HorizontalLayout(spacing=2,
                                                 margins=(0, 0, 0, 0))
        rename_layout.setAlignment(Qt.AlignLeft)
        renamer_widget.layout().addLayout(rename_layout)

        self._base_name_cbx = checkbox.BaseCheckBox(parent=self)
        rename_layout.addWidget(self._base_name_cbx)
        self._renamer_line = lineedit.BaseLineEdit(parent=self)
        self._renamer_line.setPlaceholderText('New Name')

        rename_layout.addWidget(self._renamer_line)
        reg_ex = QRegExp("^(?!^_)[a-zA-Z_]+")
        text_validator = QRegExpValidator(reg_ex, self._renamer_line)
        self._renamer_line.setValidator(text_validator)
        self._renamer_btn = buttons.BaseButton(parent=self)
        self._renamer_btn.setIcon(resources.icon('rename'))
        rename_layout.addWidget(self._renamer_btn)
コード例 #3
0
    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)
コード例 #4
0
    def ui(self):
        super(ReplacerView, self).ui()

        replace_layout = layouts.HorizontalLayout(spacing=2, margins=(0, 0, 0, 0))
        replace_layout.setAlignment(Qt.AlignLeft)
        self.main_layout.addLayout(replace_layout)

        self._find_replace_cbx = checkbox.BaseCheckBox(parent=self)
        replace_layout.addWidget(self._find_replace_cbx)

        self._replace_line = lineedit.BaseLineEdit(parent=self)
        self._replace_line.setPlaceholderText('Search')
        self._with_line = lineedit.BaseLineEdit(parent=self)
        self._with_line.setPlaceholderText('Replace')
        reg_ex = QRegExp("[a-zA-Z_0-9]+")
        text_validator = QRegExpValidator(reg_ex, self._replace_line)
        self._replace_line.setValidator(text_validator)
        self._with_line.setValidator(text_validator)
        self._search_replace_btn = buttons.BaseButton(parent=self)
        self._search_replace_btn.setIcon(resources.icon('find_replace'))

        replace_layout.addWidget(self._replace_line)
        replace_layout.addStretch()
        replace_layout.addWidget(self._with_line)
        replace_layout.addWidget(self._search_replace_btn)

        self._replace_line.setEnabled(False)
        self._with_line.setEnabled(False)
コード例 #5
0
    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)
コード例 #6
0
    def createWidget(self, menu):
        """
        Overrides base QWidgetAction createWidget function
        :param menu: QMenu
        """

        widget = QFrame(self.parent())
        widget.setObjectName('filterByAction')
        title = self._name
        label = checkbox.BaseCheckBox(parent=widget)
        label.setText(title)
        label.setAttribute(Qt.WA_TransparentForMouseEvents)
        label.toggled.connect(self._on_triggered)
        label.setStyleSheet("""
        #QCheckBox::indicator:checked {
            image: url(none.png)
        }
        QCheckBox::indicator:unchecked {
            image: url(none.png)
        }
        """)
        action_layout = layouts.HorizontalLayout(margins=(0, 0, 0, 0))
        action_layout.addWidget(label, stretch=1)
        widget.setLayout(action_layout)

        return widget
コード例 #7
0
    def ui(self):
        super(AutoRenameWidget, self).ui()

        top_layout = layouts.HorizontalLayout(spacing=2, margins=(0, 0, 0, 0))
        self._unique_id_cbx = checkbox.BaseCheckBox('Unique Id')
        self._last_joint_end_cbx = checkbox.BaseCheckBox('Make Last Joint End')
        top_layout.addStretch()
        top_layout.addWidget(self._unique_id_cbx)
        top_layout.addWidget(self._last_joint_end_cbx)
        self.main_layout.addLayout(top_layout)

        main_splitter = QSplitter(Qt.Horizontal)
        main_splitter.setSizePolicy(QSizePolicy.Preferred,
                                    QSizePolicy.Expanding)
        self.main_layout.addWidget(main_splitter)

        auto_widget = QWidget()
        auto_layout = layouts.VerticalLayout(spacing=0, margins=(0, 0, 0, 0))
        auto_widget.setLayout(auto_layout)
        main_splitter.addWidget(auto_widget)

        self._rules_list = QTreeWidget(self)
        self._rules_list.setHeaderHidden(True)
        self._rules_list.setSortingEnabled(True)
        self._rules_list.setRootIsDecorated(False)
        self._rules_list.setSelectionMode(QAbstractItemView.SingleSelection)
        self._rules_list.sortByColumn(0, Qt.AscendingOrder)
        self._rules_list.setUniformRowHeights(True)
        self._rules_list.setAlternatingRowColors(True)

        auto_layout.addWidget(self._rules_list)

        auto_w = QWidget()
        self.auto_l = layouts.VerticalLayout(spacing=0, margins=(0, 0, 0, 0))
        auto_w.setLayout(self.auto_l)
        auto_w.setMinimumWidth(200)
        main_splitter.addWidget(auto_w)

        self.main_auto_layout = QFormLayout()
        self.auto_l.addLayout(self.main_auto_layout)

        self._rename_btn = buttons.BaseButton('Rename')
        self._rename_btn.setIcon(resources.icon('rename'))
        self.main_layout.addLayout(dividers.DividerLayout())
        self.main_layout.addWidget(self._rename_btn)
コード例 #8
0
ファイル: checkbox.py プロジェクト: tpDcc/tpDcc-libs-qt
    def ui(self):
        super(CheckBoxExample, self).ui()

        maya_icon = tpDcc.ResourcesMgr().icon('maya')
        nuke_icon = tpDcc.ResourcesMgr().icon('nuke')
        houdini_icon = tpDcc.ResourcesMgr().icon('houdini')

        grid_lyt = layouts.GridLayout()
        for index, (text, state) in enumerate(
                [('Unchecked', Qt.Unchecked), ('Checked', Qt.Checked), ('Partially', Qt.PartiallyChecked)]):
            normal_cbx = checkbox.BaseCheckBox(text)
            normal_cbx.setCheckState(state)
            disabled_cbx = checkbox.BaseCheckBox(text)
            disabled_cbx.setCheckState(state)
            disabled_cbx.setEnabled(False)
            grid_lyt.addWidget(normal_cbx, 0, index)
            grid_lyt.addWidget(disabled_cbx, 1, index)

        icon_lyt = layouts.HorizontalLayout()
        for text, icon in [('maya', maya_icon), ('Nuke', nuke_icon), ('Houdini', houdini_icon)]:
            cbx_icon = checkbox.BaseCheckBox(text)
            cbx_icon.setIcon(icon)
            icon_lyt.addWidget(cbx_icon)

        bind_cbx = checkbox.BaseCheckBox('Data Bind')
        lbl = label.BaseLabel()
        btn = buttons.BaseButton('Change State')
        btn.clicked.connect(lambda: self.set_field('checked', not self.field('checked')))
        self.register_field('checked', True)
        self.register_field('checked_text', lambda: 'Yes!' if self.field('checked') else 'No!!')
        self.bind('checked', bind_cbx, 'checked', signal='stateChanged')
        self.bind('checked_text', lbl, 'text')

        self.main_layout.addWidget(dividers.Divider('Basic'))
        self.main_layout.addLayout(grid_lyt)
        self.main_layout.addWidget(dividers.Divider('Icon'))
        self.main_layout.addLayout(icon_lyt)
        self.main_layout.addWidget(dividers.Divider('Data Bind'))
        self.main_layout.addWidget(bind_cbx)
        self.main_layout.addWidget(lbl)
        self.main_layout.addWidget(btn)
        self.main_layout.addStretch()
コード例 #9
0
    def ui(self):
        super(SkinningWidget, self).ui()

        self._average_falloff_widget = QWidget()
        average_falloff_layout = layouts.VerticalLayout(spacing=2,
                                                        margins=(5, 5, 5, 5))
        self._average_falloff_widget.setLayout(average_falloff_layout)
        self._average_falloff_curve = fallofcurve.FallofCurveWidget(
            parent=self)
        average_falloff_layout.addWidget(self._average_falloff_curve)

        self._mirror_auto_assign_joints_labels_cbx = checkbox.BaseCheckBox(
            'Auto Assign Labels', self)
        self._copy_skin_weights_auto_assign_joints_labels_cbx = checkbox.BaseCheckBox(
            'Auto Assign Labels', self)
        self._transfer_skin_uvs_auto_assign_joints_labels_cbx = checkbox.BaseCheckBox(
            'Auto Assign Labels', self)
        self._clean_skin_mesh_auto_assign_joints_labels_cbx = checkbox.BaseCheckBox(
            'Auto Assign Labels', self)
        self._extract_skin_faces_auto_assign_joints_labels_cbx = checkbox.BaseCheckBox(
            'Auto Assign Labels', self)

        self._distance_widget = QWidget()
        distance_layout = layouts.VerticalLayout(spacing=2,
                                                 margins=(5, 5, 5, 5))
        self._distance_widget.setLayout(distance_layout)
        self._distance_average_cbx = checkbox.BaseCheckBox('On Distance', self)
        self._average_falloff_curve = fallofcurve.FallofCurveWidget(
            parent=self)
        distance_layout.addWidget(self._distance_average_cbx)
        distance_layout.addWidget(self._average_falloff_curve)
        self._fast_delete_cbx = checkbox.BaseCheckBox('Fast Delete', self)

        self._average_falloff_widget.setVisible(False)
        self._mirror_auto_assign_joints_labels_cbx.setVisible(False)
        self._copy_skin_weights_auto_assign_joints_labels_cbx.setVisible(False)
        self._transfer_skin_uvs_auto_assign_joints_labels_cbx.setVisible(False)
        self._clean_skin_mesh_auto_assign_joints_labels_cbx.setVisible(False)
        self._extract_skin_faces_auto_assign_joints_labels_cbx.setVisible(
            False)
        self._distance_widget.setVisible(False)
        self._fast_delete_cbx.setVisible(False)

        self.main_layout.addWidget(self._average_falloff_widget)
        self.main_layout.addWidget(self._mirror_auto_assign_joints_labels_cbx)
        self.main_layout.addWidget(
            self._copy_skin_weights_auto_assign_joints_labels_cbx)
        self.main_layout.addWidget(
            self._transfer_skin_uvs_auto_assign_joints_labels_cbx)
        self.main_layout.addWidget(
            self._clean_skin_mesh_auto_assign_joints_labels_cbx)
        self.main_layout.addWidget(
            self._extract_skin_faces_auto_assign_joints_labels_cbx)
        self.main_layout.addWidget(self._distance_widget)
        self.main_layout.addWidget(self._fast_delete_cbx)
コード例 #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)
コード例 #11
0
    def ui(self):
        super(SymmeshView, self).ui()

        top_layout = layouts.GridLayout()
        mirror_axis_lbl = label.BaseLabel('Mirror Axis: ', parent=self)
        self._axis_radio_grp = QButtonGroup()
        self._yz_radio = buttons.BaseRadioButton(consts.AXIS[0], parent=self)
        self._xz_radio = buttons.BaseRadioButton(consts.AXIS[1], parent=self)
        self._xy_radio = buttons.BaseRadioButton(consts.AXIS[2], parent=self)
        self._radios = [self._yz_radio, self._xz_radio, self._xy_radio]
        self._axis_radio_grp.addButton(self._yz_radio)
        self._axis_radio_grp.addButton(self._xz_radio)
        self._axis_radio_grp.addButton(self._xy_radio)
        axis_radio_layout = layouts.HorizontalLayout(spacing=2, margins=(2, 2, 2, 2))
        axis_radio_layout.addWidget(self._yz_radio)
        axis_radio_layout.addWidget(self._xz_radio)
        axis_radio_layout.addWidget(self._xy_radio)
        axis_radio_layout.addStretch()
        global_tolerance_lbl = label.BaseLabel('Global Tolerance: ', parent=self)
        self._global_tolerance_spn = spinbox.BaseDoubleSpinBox(parent=self)
        self._global_tolerance_spn.setDecimals(4)
        self._global_tolerance_spn.setValue(0.0010)
        top_layout.addWidget(mirror_axis_lbl, 0, 0, Qt.AlignRight)
        top_layout.addLayout(axis_radio_layout, 0, 1)
        top_layout.addWidget(global_tolerance_lbl, 1, 0)
        top_layout.addWidget(self._global_tolerance_spn, 1, 1)

        options_cbx_layout = layouts.HorizontalLayout(spacing=2, margins=(2, 2, 2, 2))
        self._neg_to_pos_cbx = checkbox.BaseCheckBox('Operate -X to +X', parent=self)
        self._use_pivot_as_origin_cbx = checkbox.BaseCheckBox('Use Pivot as Origin', parent=self)
        self._use_pivot_as_origin_cbx.setChecked(True)
        options_cbx_layout.addWidget(self._neg_to_pos_cbx)
        options_cbx_layout.addItem(QSpacerItem(10, 0, QSizePolicy.Fixed, QSizePolicy.Fixed))
        options_cbx_layout.addWidget(self._use_pivot_as_origin_cbx)
        options_cbx_layout.addStretch()

        select_geo_layout = layouts.HorizontalLayout(spacing=2, margins=(2, 2, 2, 2))
        self._select_geo_line = lineedit.BaseLineEdit(parent=self)
        self._select_geo_line.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred)
        self._select_geo_line.setReadOnly(True)
        self._select_base_geo_btn = buttons.BaseButton('Select Base Geo', parent=self)
        self._select_base_geo_btn.setIcon(resources.icon('cursor'))
        select_geo_layout.addWidget(self._select_geo_line)
        select_geo_layout.addWidget(self._select_base_geo_btn)
        self._symmetry_message = message.BaseMessage('', parent=self).small()

        selection_widget = QWidget(parent=self)
        selection_layout = layouts.FlowLayout()
        selection_widget.setLayout(selection_layout)
        mirror_flip_widget = QWidget(parent=self)
        mirror_flip_layout = layouts.FlowLayout()
        mirror_flip_widget.setLayout(mirror_flip_layout)
        revert_widget = QWidget(parent=self)
        revert_layout = layouts.FlowLayout()
        revert_widget.setLayout(revert_layout)

        self._check_symmetry_btn = buttons.BaseButton('Check Symmetry', parent=self)
        self._selection_mirror_btn = buttons.BaseButton('Selection Mirror', parent=self)
        self._select_moved_vertices_btn = buttons.BaseButton('Select Moved Vertices', parent=self)
        self._mirror_selected_btn = buttons.BaseButton('Mirror Selected', parent=self)
        self._flip_selected_btn = buttons.BaseButton('Flip Selected', parent=self)
        self._revert_selected_to_base = buttons.BaseButton('Revert Selected to Base', parent=self)
        self._revert_bias_slider = sliders.HoudiniDoubleSlider(parent=self, slider_range=[0.0, 1.0])

        # TODO: Implement this feature
        self._live_revert_bias_cbx = checkbox.BaseCheckBox('Live', parent=self)
        self._live_revert_bias_cbx.setVisible(False)

        self._check_symmetry_btn.setIcon(resources.icon('refresh'))
        self._selection_mirror_btn.setIcon(resources.icon('vertex'))
        self._select_moved_vertices_btn.setIcon(resources.icon('cursor'))
        self._mirror_selected_btn.setIcon(resources.icon('mirror'))
        self._flip_selected_btn.setIcon(resources.icon('flip_vertical'))
        self._revert_selected_to_base.setIcon(resources.icon('rollback'))

        selection_layout.addWidget(self._check_symmetry_btn)
        selection_layout.addWidget(self._selection_mirror_btn)
        selection_layout.addWidget(self._select_moved_vertices_btn)
        mirror_flip_layout.addWidget(self._mirror_selected_btn)
        mirror_flip_layout.addWidget(self._flip_selected_btn)
        revert_layout.addWidget(self._revert_selected_to_base)
        revert_layout.addWidget(self._revert_bias_slider)
        revert_layout.addWidget(self._live_revert_bias_cbx)

        self.main_layout.addLayout(top_layout)
        self.main_layout.addLayout(options_cbx_layout)
        self.main_layout.addWidget(dividers.Divider())
        self.main_layout.addLayout(select_geo_layout)
        self.main_layout.addWidget(dividers.Divider())
        self.main_layout.addWidget(self._symmetry_message)
        self.main_layout.addWidget(dividers.Divider())
        self.main_layout.addWidget(selection_widget)
        self.main_layout.addWidget(dividers.Divider())
        self.main_layout.addWidget(mirror_flip_widget)
        self.main_layout.addWidget(dividers.Divider())
        self.main_layout.addWidget(revert_widget)
        self.main_layout.addStretch()
コード例 #12
0
    def ui(self):
        super(InterpolatorWidget, self).ui()

        self.setFixedHeight(self.INTERP_HEIGHT)

        main_frame = base.BaseFrame(parent=self)
        main_frame.setFixedHeight(self.INTERP_HEIGHT)
        self.main_layout.addWidget(main_frame)

        main_widget = QWidget()
        main_widget.setLayout(
            layouts.VerticalLayout(spacing=5, margins=(5, 5, 5, 5)))
        main_widget.setFixedHeight(150)
        main_widget.setFixedWidth(400)
        graphics_scene = QGraphicsScene()
        graphics_view = QGraphicsView()
        graphics_view.setScene(graphics_scene)
        graphics_view.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        graphics_view.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        graphics_view.setFocusPolicy(Qt.NoFocus)
        graphics_view.setStyleSheet('QGraphicsView {border-style: none;}')
        graphics_view.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum)
        main_frame.main_layout.addWidget(graphics_view)
        self._main_widget_proxy = graphics_scene.addWidget(main_widget)
        main_widget.setParent(graphics_view)

        title_layout = layouts.HorizontalLayout()
        select_layout = layouts.HorizontalLayout()
        button_layout = layouts.HorizontalLayout()
        slider_layout = layouts.HorizontalLayout()
        check_layout = layouts.HorizontalLayout()

        self._title_line = lineedit.BaseLineEdit(parent=self)
        self._close_btn = buttons.CloseButton('X', parent=self)
        title_layout.addWidget(self._title_line)
        title_layout.addWidget(self._close_btn)

        self._store_items_btn = buttons.BaseButton('Store Items', parent=self)
        self._clear_items_btn = buttons.BaseButton('Clear Items', parent=self)
        select_layout.addStretch()
        select_layout.addWidget(self._store_items_btn)
        select_layout.addWidget(self._clear_items_btn)
        select_layout.addStretch()

        self._store_start_btn = buttons.BaseButton('Store Start', parent=self)
        self._reset_item_btn = buttons.BaseButton('Reset', parent=self)
        self._store_end_btn = buttons.BaseButton('Store End', parent=self)
        button_layout.addWidget(self._store_start_btn)
        button_layout.addWidget(self._reset_item_btn)
        button_layout.addWidget(self._store_end_btn)

        self._start_label = label.BaseLabel('Start', parent=self)
        self._slider = sliders.BaseSlider(parent=self)
        self._slider.setRange(0, 49)
        self._slider.setOrientation(Qt.Horizontal)
        self._end_label = label.BaseLabel('End', parent=self)
        slider_layout.addWidget(self._start_label)
        slider_layout.addWidget(self._slider)
        slider_layout.addWidget(self._end_label)

        self._transforms_cbx = checkbox.BaseCheckBox('Transform', parent=self)
        self._user_attributes_cbx = checkbox.BaseCheckBox('UD Attributes',
                                                          parent=self)
        check_layout.addStretch()
        check_layout.addWidget(self._transforms_cbx)
        check_layout.addWidget(self._user_attributes_cbx)
        check_layout.addStretch()

        main_widget.layout().addLayout(title_layout)
        main_widget.layout().addLayout(select_layout)
        main_widget.layout().addLayout(button_layout)
        main_widget.layout().addLayout(slider_layout)
        main_widget.layout().addLayout(check_layout)
コード例 #13
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)
コード例 #14
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])
コード例 #15
0
    def ui(self):
        super(BaseAlembicExporter, self).ui()

        self._stack = stack.SlidingStackedWidget()
        self.main_layout.addWidget(self._stack)

        exporter_widget = QWidget()
        exporter_layout = layouts.VerticalLayout(spacing=0,
                                                 margins=(0, 0, 0, 0))
        exporter_widget.setLayout(exporter_layout)
        self._stack.addWidget(exporter_widget)

        self._waiter = waiter.ArtellaWaiter(
            spinner_type=spinner.SpinnerType.Thumb)
        self._stack.addWidget(self._waiter)

        buttons_layout = layouts.GridLayout()
        exporter_layout.addLayout(buttons_layout)

        name_lbl = label.BaseLabel('Alembic Name: ', parent=self)
        self._name_line = lineedit.BaseLineEdit(parent=self)
        buttons_layout.addWidget(name_lbl, 0, 0, 1, 1, Qt.AlignRight)
        buttons_layout.addWidget(self._name_line, 0, 1)

        shot_name_lbl = label.BaseLabel('Shot Name: ', parent=self)
        self._shot_line = lineedit.BaseLineEdit(parent=self)
        buttons_layout.addWidget(shot_name_lbl, 1, 0, 1, 1, Qt.AlignRight)
        buttons_layout.addWidget(self._shot_line, 1, 1)

        frame_range_lbl = label.BaseLabel('Frame Range: ', parent=self)
        self._start = spinbox.BaseSpinBox(parent=self)
        self._start.setRange(-sys.maxint, sys.maxint)
        self._start.setFixedHeight(20)
        self._start.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
        self._end = spinbox.BaseSpinBox(parent=self)
        self._end.setRange(-sys.maxint, sys.maxint)
        self._end.setFixedHeight(20)
        self._end.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
        frame_range_widget = QWidget()
        frame_range_layout = layouts.HorizontalLayout(spacing=2,
                                                      margins=(2, 2, 2, 2))
        frame_range_widget.setLayout(frame_range_layout)
        for widget in [frame_range_lbl, self._start, self._end]:
            frame_range_layout.addWidget(widget)
        buttons_layout.addWidget(frame_range_lbl, 2, 0, 1, 1, Qt.AlignRight)
        buttons_layout.addWidget(frame_range_widget, 2, 1)

        folder_icon = resources.icon('folder')
        export_path_layout = layouts.HorizontalLayout(spacing=2,
                                                      margins=(2, 2, 2, 2))
        export_path_widget = QWidget()
        export_path_widget.setLayout(export_path_layout)
        export_path_lbl = label.BaseLabel('Export Path: ', parent=self)
        self._export_path_line = lineedit.BaseLineEdit(parent=self)
        self._export_path_line.setReadOnly(True)
        self._export_path_line.setText(self._project.get_path())
        self._export_path_btn = buttons.BaseButton(parent=self)
        self._export_path_btn.setIcon(folder_icon)
        self._export_path_btn.setIconSize(QSize(18, 18))
        self._export_path_btn.setStyleSheet(
            "background-color: rgba(255, 255, 255, 0); border: 0px solid rgba(255,255,255,0);"
        )
        export_path_layout.addWidget(self._export_path_line)
        export_path_layout.addWidget(self._export_path_btn)
        buttons_layout.addWidget(export_path_lbl, 3, 0, 1, 1, Qt.AlignRight)
        buttons_layout.addWidget(export_path_widget, 3, 1)

        exporter_layout.addLayout(dividers.DividerLayout())

        checkboxes_layout = layouts.VerticalLayout(spacing=2,
                                                   margins=(2, 2, 2, 2))
        exporter_layout.addLayout(checkboxes_layout)

        self._open_folder_after_export_cbx = checkbox.BaseCheckBox(
            'Open Folder After Export?', parent=self)
        self._open_folder_after_export_cbx.setChecked(True)
        checkboxes_layout.addWidget(self._open_folder_after_export_cbx)
        self._export_all_alembics_together_cbx = checkbox.BaseCheckBox(
            'Export All Selected Geometry in One Alembic?', parent=self)
        self._export_all_alembics_together_cbx.setChecked(True)
        checkboxes_layout.addWidget(self._export_all_alembics_together_cbx)

        exporter_layout.addLayout(dividers.DividerLayout())

        self._export_btn = buttons.BaseButton('Export', parent=self)
        self._export_btn.setIcon(resources.icon('export'))
        self._export_btn.setEnabled(False)
        self.main_layout.addWidget(self._export_btn)

        exporter_layout.addStretch()

        self.refresh()
コード例 #16
0
    def ui(self):
        super(CategoryWidget, self).ui()

        filter_layout = layouts.HorizontalLayout(spacing=2,
                                                 margins=(10, 0, 10, 0))
        self.main_layout.addLayout(filter_layout)
        refresh_icon = resources.icon('refresh')
        self._refresh_list_btn = buttons.IconButton(
            icon=refresh_icon,
            icon_padding=2,
            button_style=buttons.ButtonStyles.FlatStyle)
        self._names_filter = search.SearchFindWidget()
        self._search_lbl = QLabel('0 found')
        filter_layout.addWidget(self._refresh_list_btn)
        filter_layout.addWidget(self._names_filter)
        filter_layout.addWidget(self._search_lbl)

        self._types_layout = layouts.HorizontalLayout(spacing=2,
                                                      margins=(0, 0, 0, 0))
        self.main_layout.addLayout(self._types_layout)

        self._names_list = QTreeWidget(self)
        self._names_list.setHeaderHidden(True)
        self._names_list.setSortingEnabled(False)
        self._names_list.setRootIsDecorated(False)
        self._names_list.setSelectionMode(QAbstractItemView.ExtendedSelection)
        self._names_list.sortByColumn(0, Qt.AscendingOrder)
        self._names_list.setUniformRowHeights(True)
        self._names_list.setAlternatingRowColors(True)

        self.main_layout.addWidget(self._names_list)

        bottom_buttons_layout = layouts.HorizontalLayout(spacing=2,
                                                         margins=(2, 2, 2, 2))
        bottom_buttons_layout.setAlignment(Qt.AlignLeft)
        self.main_layout.addLayout(bottom_buttons_layout)

        preview_icon = resources.icon('preview')
        self._sort_btn = buttons.BaseButton('Sort', parent=self)
        self._sort_btn.setMinimumWidth(40)
        self._all_btn = buttons.BaseButton('All', parent=self)
        self._all_btn.setMinimumWidth(40)
        self._none_btn = buttons.BaseButton('None', parent=self)
        self._none_btn.setMinimumWidth(40)
        bottom_buttons_layout.addWidget(self._sort_btn)
        bottom_buttons_layout.addWidget(self._all_btn)
        bottom_buttons_layout.addWidget(self._none_btn)

        bottom_buttons_layout.addWidget(
            dividers.get_horizontal_separator_widget())
        self._hide_default_scene_nodes_cbx = checkbox.BaseCheckBox(
            'Hide Default Scene Objects', parent=self)
        self._hide_default_scene_nodes_cbx.setChecked(True)
        bottom_buttons_layout.addWidget(self._hide_default_scene_nodes_cbx)

        self.main_layout.addLayout(dividers.DividerLayout())

        preview_layout = layouts.HorizontalLayout(spacing=2,
                                                  margins=(0, 0, 0, 0))
        self.main_layout.addLayout(preview_layout)

        self._preview_btn = buttons.BaseButton('Preview', parent=self)
        self._preview_btn.setIcon(preview_icon)
        self._preview_btn.setCheckable(True)
        self._preview_btn.setChecked(True)
        self._preview_btn.setMinimumWidth(100)
        self._preview_btn.setMaximumWidth(100)
        self._rename_btn = buttons.BaseButton(
            'Select objects in the list to rename ...', parent=self)
        self._rename_btn.setEnabled(False)
        preview_layout.addWidget(self._preview_btn)
        preview_layout.addWidget(self._rename_btn)

        self._setup_types()
        self.refresh()
コード例 #17
0
    def ui(self):
        super(JointWidget, self).ui()

        self._joints_to_insert_widget = QWidget()
        joints_to_insert_layout = layouts.HorizontalLayout(spacing=0,
                                                           margins=(0, 0, 0,
                                                                    0))
        self._joints_to_insert_widget.setLayout(joints_to_insert_layout)
        joints_to_insert_lbl = label.BaseLabel('Num. Joints: ', parent=self)
        self._joints_to_insert_spn = spinbox.BaseSpinBox(parent=self)
        self._joints_to_insert_spn.setMinimum(1)
        self._joints_to_insert_spn.setMaximum(99999999)
        joints_to_insert_layout.addWidget(joints_to_insert_lbl)
        joints_to_insert_layout.addWidget(self._joints_to_insert_spn)

        self._create_joints_on_curve_widget = QWidget()
        create_joints_on_curve_layout = layouts.HorizontalLayout(spacing=0,
                                                                 margins=(0, 0,
                                                                          0,
                                                                          0))
        self._create_joints_on_curve_widget.setLayout(
            create_joints_on_curve_layout)
        create_joints_on_curve_lbl = label.BaseLabel('Num. Joints: ',
                                                     parent=self)
        self._create_joints_on_curve_spn = spinbox.BaseSpinBox(parent=self)
        self._create_joints_on_curve_spn.setMinimum(1)
        self._create_joints_on_curve_spn.setMaximum(99999999)
        create_joints_on_curve_layout.addWidget(create_joints_on_curve_lbl)
        create_joints_on_curve_layout.addWidget(
            self._create_joints_on_curve_spn)

        self._snap_joints_to_curve_widget = QWidget()
        snap_joints_to_curve_layout = layouts.HorizontalLayout(spacing=0,
                                                               margins=(0, 0,
                                                                        0, 0))
        self._snap_joints_to_curve_widget.setLayout(
            snap_joints_to_curve_layout)
        snap_joints_to_curve_lbl = label.BaseLabel('Num. Joints: ',
                                                   parent=self)
        self._snap_joints_to_curve_spn = spinbox.BaseSpinBox(parent=self)
        self._snap_joints_to_curve_spn.setMinimum(0)
        self._snap_joints_to_curve_spn.setMaximum(99999999)
        snap_joints_to_curve_layout.addWidget(snap_joints_to_curve_lbl)
        snap_joints_to_curve_layout.addWidget(self._snap_joints_to_curve_spn)

        self._joints_display_size_widget = QWidget()
        joint_display_size_layout = layouts.HorizontalLayout(spacing=0,
                                                             margins=(0, 0, 0,
                                                                      0))
        self._joints_display_size_widget.setLayout(joint_display_size_layout)
        joint_display_size_lbl = label.BaseLabel('Joints Size: ', parent=self)
        self._joints_display_size_spn = spinbox.BaseDoubleSpinBox(parent=self)
        self._joints_display_size_spn.setSingleStep(0.5)
        self._joints_display_size_spn.setMinimum(0.1)
        self._joints_display_size_spn.setMaximum(999)
        self._joints_display_live_cbx = checkbox.BaseCheckBox('Live',
                                                              parent=self)
        joint_display_size_layout.addWidget(joint_display_size_lbl)
        joint_display_size_layout.addWidget(self._joints_display_size_spn)
        joint_display_size_layout.addWidget(self._joints_display_live_cbx)

        self._joints_to_insert_widget.setVisible(False)
        self._create_joints_on_curve_widget.setVisible(False)
        self._snap_joints_to_curve_widget.setVisible(False)
        self._joints_display_size_widget.setVisible(False)

        self.main_layout.addWidget(self._joints_to_insert_widget)
        self.main_layout.addWidget(self._create_joints_on_curve_widget)
        self.main_layout.addWidget(self._snap_joints_to_curve_widget)
        self.main_layout.addWidget(self._joints_display_size_widget)
コード例 #18
0
    def ui(self):
        super(BaseAlembicImporter, self).ui()

        buttons_layout = layouts.GridLayout()
        self.main_layout.addLayout(buttons_layout)

        shot_name_lbl = label.BaseLabel('Shot Name: ', parent=self)
        self._shot_line = lineedit.BaseLineEdit(parent=self)
        buttons_layout.addWidget(shot_name_lbl, 1, 0, 1, 1, Qt.AlignRight)
        buttons_layout.addWidget(self._shot_line, 1, 1)
        shot_name_lbl.setVisible(False)
        self._shot_line.setVisible(False)

        folder_icon = resources.icon('folder')
        alembic_path_layout = layouts.HorizontalLayout(spacing=2,
                                                       margins=(2, 2, 2, 2))
        alembic_path_widget = QWidget()
        alembic_path_widget.setLayout(alembic_path_layout)
        alembic_path_lbl = label.BaseLabel('Alembic File: ', parent=self)
        self._alembic_path_line = lineedit.BaseLineEdit(parent=self)
        self._alembic_path_line.setReadOnly(True)
        self._alembic_path_btn = buttons.BaseButton(parent=self)
        self._alembic_path_btn.setIcon(folder_icon)
        self._alembic_path_btn.setIconSize(QSize(18, 18))
        self._alembic_path_btn.setStyleSheet(
            "background-color: rgba(255, 255, 255, 0); border: 0px solid rgba(255,255,255,0);"
        )
        alembic_path_layout.addWidget(self._alembic_path_line)
        alembic_path_layout.addWidget(self._alembic_path_btn)
        buttons_layout.addWidget(alembic_path_lbl, 2, 0, 1, 1, Qt.AlignRight)
        buttons_layout.addWidget(alembic_path_widget, 2, 1)

        import_mode_layout = layouts.HorizontalLayout(spacing=2,
                                                      margins=(2, 2, 2, 2))
        import_mode_layout.setContentsMargins(2, 2, 2, 2)
        import_mode_layout.setSpacing(2)
        import_mode_widget = QWidget()
        import_mode_widget.setLayout(import_mode_layout)
        import_mode_lbl = label.BaseLabel('Import mode: ', parent=self)
        self._create_radio = buttons.BaseRadioButton('Create', parent=self)
        self._add_radio = buttons.BaseRadioButton('Add', parent=self)
        self._merge_radio = buttons.BaseRadioButton('Merge', parent=self)
        self._create_radio.setChecked(True)
        import_mode_layout.addWidget(self._create_radio)
        import_mode_layout.addWidget(self._add_radio)
        import_mode_layout.addWidget(self._merge_radio)
        buttons_layout.addWidget(import_mode_lbl, 3, 0, 1, 1, Qt.AlignRight)
        buttons_layout.addWidget(import_mode_widget, 3, 1)
        import_mode_lbl.setVisible(False)
        import_mode_widget.setVisible(False)

        self._auto_display_lbl = label.BaseLabel('Auto Display Smooth?: ',
                                                 parent=self)
        self._auto_smooth_display = checkbox.BaseCheckBox(parent=self)
        self._auto_smooth_display.setChecked(True)
        buttons_layout.addWidget(self._auto_display_lbl, 4, 0, 1, 1,
                                 Qt.AlignRight)
        buttons_layout.addWidget(self._auto_smooth_display, 4, 1)

        if dcc.client().is_maya():
            maya_gpu_cache_lbl = label.BaseLabel(
                'Import Alembic as GPU Cache?', parent=self)
            self._maya_gpu_cache_cbx = checkbox.BaseCheckBox(parent=self)
            self._maya_gpu_cache_cbx.setChecked(True)
            buttons_layout.addWidget(maya_gpu_cache_lbl, 5, 0, 1, 1,
                                     Qt.AlignRight)
            buttons_layout.addWidget(self._maya_gpu_cache_cbx, 5, 1)
        elif dcc.client().is_houdini():
            hou_archive_abc_node_lbl = label.BaseLabel(
                'Import Alembic as Archive?', parent=self)
            self._hou_archive_abc_node_cbx = checkbox.BaseCheckBox(parent=self)
            buttons_layout.addWidget(hou_archive_abc_node_lbl, 5, 0, 1, 1,
                                     Qt.AlignRight)
            buttons_layout.addWidget(self._hou_archive_abc_node_cbx, 5, 1)

        self.main_layout.addStretch()
        self.main_layout.addLayout(dividers.DividerLayout())

        buttons_layout = layouts.HorizontalLayout(spacing=2,
                                                  margins=(2, 2, 2, 2))
        self.main_layout.addLayout(buttons_layout)
        self._import_btn = buttons.BaseButton('Import', parent=self)
        self._import_btn.setIcon(resources.icon('import'))
        self._import_btn.setSizePolicy(QSizePolicy.Expanding,
                                       QSizePolicy.Preferred)
        self._reference_btn = buttons.BaseButton('Reference', parent=self)
        self._reference_btn.setIcon(resources.icon('reference'))
        self._reference_btn.setSizePolicy(QSizePolicy.Expanding,
                                          QSizePolicy.Preferred)
        buttons_layout.addWidget(self._import_btn)
        buttons_layout.addWidget(self._reference_btn)

        if dcc.client().is_houdini():
            self._reference_btn.setEnabled(False)
コード例 #19
0
    def __init__(self, *args, **kwargs):
        super(BoolFieldWidget, self).__init__(*args, **kwargs)

        widget = checkbox.BaseCheckBox(parent=self)
        widget.stateChanged.connect(self._on_emit_value_changed)
        self.set_widget(widget)
コード例 #20
0
    def __init__(self,
                 name='messageBox',
                 width=None,
                 height=None,
                 enable_input_edit=False,
                 enable_dont_show_checkbox=False,
                 parent=None):

        super(MessageBox, self).__init__(parent=parent)

        self._frame = None
        self._animation = None
        self._dont_show_checkbox = False
        self._clicked_button = None
        self._clicked_standard_button = None

        self.setMinimumWidth(width or self.MAX_WIDTH)
        self.setMinimumHeight(height or self.MAX_HEIGHT)
        self.setObjectName(name)
        self.setWindowFlags(self.windowFlags() | Qt.FramelessWindowHint)
        self.setAttribute(Qt.WA_TranslucentBackground)
        # self.setStyleSheet('background-color: rgb(68, 68, 68, 255);')

        parent = self.parent()
        self._frame = None
        if parent and parent != dcc.get_main_window():
            parent.installEventFilter(self)
            self._frame = QFrame(parent)
            self._frame.setStyleSheet(
                'background-color: rgba(25, 25, 25, 150);')
            self._frame.setObjectName('messageBoxFrame')
            self._frame.show()
            self.setParent(self._frame)

        self.main_layout = layouts.VerticalLayout(spacing=0,
                                                  margins=(0, 0, 0, 0))
        self.setLayout(self.main_layout)

        self._header = QFrame(self)
        self._header.setFixedHeight(46)
        self._header.setObjectName('messageBoxHeaderFrame')
        self._header.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)

        self._icon = label.BaseLabel(parent=self._header)
        self._icon.hide()
        self._icon.setFixedHeight(32)
        self._icon.setFixedHeight(32)
        self._icon.setScaledContents(True)
        self._icon.setAlignment(Qt.AlignTop)
        self._icon.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)

        self._title = label.BaseLabel(parent=self._header)
        self._title.setObjectName('messageBoxHeaderLabel')
        self._title.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)

        hlayout = layouts.HorizontalLayout(spacing=10, margins=(15, 7, 15, 10))
        hlayout.addWidget(self._icon)
        hlayout.addWidget(self._title)
        self._header.setLayout(hlayout)

        body_layout = layouts.VerticalLayout()
        self._body = QFrame(self)
        self._body.setObjectName('messageBoxBody')
        self._body.setLayout(body_layout)

        self._message = label.BaseLabel(parent=self._body)
        self._message.setWordWrap(True)
        self._message.setMinimumHeight(15)
        self._message.setAlignment(Qt.AlignLeft)
        self._message.setTextInteractionFlags(Qt.TextSelectableByMouse)
        self._message.setSizePolicy(QSizePolicy.Expanding,
                                    QSizePolicy.Expanding)
        body_layout.addWidget(self._message)
        body_layout.setContentsMargins(15, 15, 15, 15)

        if enable_input_edit:
            self._input_edit = lineedit.BaseLineEdit(parent=self._body)
            self._input_edit.setObjectName('messageBoxInputEdit')
            self._input_edit.setMinimumHeight(32)
            self._input_edit.setFocus()
            body_layout.addStretch(1)
            body_layout.addWidget(self._input_edit)
            body_layout.addStretch(10)

        if enable_dont_show_checkbox:
            msg = 'Do not show this message again'
            self._dont_show_checkbox = checkbox.BaseCheckBox(msg,
                                                             parent=self._body)
            body_layout.addStretch(10)
            body_layout.addWidget(self._dont_show_checkbox)
            body_layout.addStretch(2)

        self._button_box = QDialogButtonBox(None, Qt.Horizontal, self)
        self._button_box.clicked.connect(self._on_clicked)
        self._button_box.accepted.connect(self._on_accept)
        self._button_box.rejected.connect(self._on_reject)

        self.main_layout.addWidget(self._header)
        self.main_layout.addWidget(self._body)
        body_layout.addWidget(self._button_box)

        self.updateGeometry()
コード例 #21
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)
コード例 #22
0
    def ui(self):
        super(JointOrientView, self).ui()

        aim_axis_box = group.BaseGroup(layout_orientation=Qt.Horizontal,
                                       layout_spacing=8,
                                       parent=self)
        aim_axis_box.setTitle('Aim Axis')
        self._aim_x_radio = buttons.BaseRadioButton(' X ', parent=self)
        self._aim_y_radio = buttons.BaseRadioButton(' Y ', parent=self)
        self._aim_z_radio = buttons.BaseRadioButton(' Z ', parent=self)
        self._aim_rev_cbx = checkbox.BaseCheckBox('Reverse', parent=self)
        aim_axis_box.addWidget(self._aim_x_radio)
        aim_axis_box.addWidget(self._aim_y_radio)
        aim_axis_box.addWidget(self._aim_z_radio)
        aim_axis_box.addWidget(self._aim_rev_cbx)
        self._aim_axis_boxes = [
            self._aim_x_radio, self._aim_y_radio, self._aim_z_radio
        ]

        up_axis_box = group.BaseGroup(layout_orientation=Qt.Horizontal,
                                      layout_spacing=8,
                                      parent=self)
        up_axis_box.setTitle('Up Axis')
        self._up_x_radio = buttons.BaseRadioButton(' X ', parent=self)
        self._up_y_radio = buttons.BaseRadioButton(' Y ', parent=self)
        self._up_z_radio = buttons.BaseRadioButton(' Z ', parent=self)
        self._up_rev_cbx = checkbox.BaseCheckBox('Reverse', parent=self)
        up_axis_box.addWidget(self._up_x_radio)
        up_axis_box.addWidget(self._up_y_radio)
        up_axis_box.addWidget(self._up_z_radio)
        up_axis_box.addWidget(self._up_rev_cbx)
        self._up_axis_boxes = [
            self._up_x_radio, self._up_y_radio, self._up_z_radio
        ]

        up_world_axis_box = group.BaseGroup(layout_orientation=Qt.Horizontal,
                                            layout_spacing=2,
                                            parent=self)
        up_world_axis_box.setTitle('Up World Axis')
        self._up_world_x_spin = spinbox.BaseDoubleSpinBox(parent=self)
        self._up_world_y_spin = spinbox.BaseDoubleSpinBox(parent=self)
        self._up_world_z_spin = spinbox.BaseDoubleSpinBox(parent=self)
        self._up_world_x_spin.setDecimals(3)
        self._up_world_y_spin.setDecimals(3)
        self._up_world_z_spin.setDecimals(3)
        self._up_world_x_spin.setRange(-360, 360)
        self._up_world_y_spin.setRange(-360, 360)
        self._up_world_z_spin.setRange(-360, 360)
        self._up_world_x_btn = buttons.get_axis_button('X',
                                                       parent=self,
                                                       as_tool_button=False)
        self._up_world_y_btn = buttons.get_axis_button('Y',
                                                       parent=self,
                                                       as_tool_button=False)
        self._up_world_z_btn = buttons.get_axis_button('Z',
                                                       parent=self,
                                                       as_tool_button=False)
        up_world_axis_box.addWidget(self._up_world_x_spin)
        up_world_axis_box.addWidget(self._up_world_y_spin)
        up_world_axis_box.addWidget(self._up_world_z_spin)
        up_world_axis_box.addWidget(self._up_world_x_btn)
        up_world_axis_box.addWidget(self._up_world_y_btn)
        up_world_axis_box.addWidget(self._up_world_z_btn)

        joint_orient_btn_layout = layouts.HorizontalLayout()
        joint_orient_btn_layout.addStretch()
        self._joint_orient_btn = buttons.BaseButton('Apply', parent=self)
        self._joint_orient_btn.setIcon(resources.icon('ok'))
        self._hierarchy_cbx = checkbox.BaseCheckBox('Hierarchy', parent=self)
        joint_orient_btn_layout.addWidget(self._joint_orient_btn)
        joint_orient_btn_layout.addWidget(self._hierarchy_cbx)
        joint_orient_btn_layout.addStretch()

        self.main_layout.addWidget(aim_axis_box)
        self.main_layout.addWidget(up_axis_box)
        self.main_layout.addWidget(up_world_axis_box)
        self.main_layout.addLayout(joint_orient_btn_layout)
コード例 #23
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)
コード例 #24
0
    def ui(self):
        super(ManualJointOrientView, self).ui()

        manual_joint_ori_layout = layouts.HorizontalLayout()
        self._manual_joint_ori_x_spin = spinbox.DoubleSpinBoxAxis(axis='x',
                                                                  min=-360,
                                                                  max=360,
                                                                  parent=self)
        self._manual_joint_ori_y_spin = spinbox.DoubleSpinBoxAxis(axis='y',
                                                                  min=-360,
                                                                  max=360,
                                                                  parent=self)
        self._manual_joint_ori_z_spin = spinbox.DoubleSpinBoxAxis(axis='z',
                                                                  min=-360,
                                                                  max=360,
                                                                  parent=self)
        self._manual_joint_ori_x_spin.setDecimals(3)
        self._manual_joint_ori_y_spin.setDecimals(3)
        self._manual_joint_ori_z_spin.setDecimals(3)
        self._manual_joint_ori_reset_btn = buttons.BaseButton('Reset',
                                                              parent=self)
        self._manual_joint_ori_reset_btn.setIcon(resources.icon('reset'))
        manual_joint_ori_layout.addWidget(self._manual_joint_ori_x_spin)
        manual_joint_ori_layout.addWidget(self._manual_joint_ori_y_spin)
        manual_joint_ori_layout.addWidget(self._manual_joint_ori_z_spin)
        manual_joint_ori_layout.addWidget(self._manual_joint_ori_reset_btn)

        manual_joint_splitter_layout = layouts.HorizontalLayout()
        manual_joint_splitter_layout.addStretch()
        self._degrees_checks = list()
        for degree in self._model.available_degrees:
            degree_radio = buttons.BaseRadioButton(str(degree), parent=self)
            manual_joint_splitter_layout.addWidget(degree_radio)
            self._degrees_checks.append(degree_radio)
        manual_joint_splitter_layout.addStretch()

        manual_joint_ori_buttons_layout = layouts.HorizontalLayout(
            spacing=5, margins=(2, 2, 2, 2))
        self._manual_joint_ori_add_btn = buttons.BaseButton('Add', parent=self)
        self._manual_joint_ori_subtract_btn = buttons.BaseButton('Subract',
                                                                 parent=self)
        self._manual_joint_ori_set_btn = buttons.BaseButton('Set', parent=self)
        self._manual_joint_ori_set_cbx = checkbox.BaseCheckBox(
            'Affect children', parent=self)
        self._manual_joint_ori_add_btn.setIcon(resources.icon('add'))
        self._manual_joint_ori_subtract_btn.setIcon(resources.icon('minus'))
        self._manual_joint_ori_set_btn.setIcon(resources.icon('equals'))
        manual_joint_ori_buttons_layout.addWidget(
            self._manual_joint_ori_add_btn)
        manual_joint_ori_buttons_layout.addWidget(
            self._manual_joint_ori_subtract_btn)
        manual_joint_ori_buttons_layout.addWidget(
            self._manual_joint_ori_set_btn)
        manual_joint_ori_buttons_layout.addWidget(
            self._manual_joint_ori_set_cbx)

        set_rot_axis_widget = QWidget()
        set_rot_axis_widget.setLayout(layouts.VerticalLayout())
        set_rot_axis_widget.setSizePolicy(QSizePolicy.Minimum,
                                          QSizePolicy.Fixed)
        set_rot_axis_widget.layout().setContentsMargins(5, 5, 5, 5)
        set_rot_axis_widget.layout().setSpacing(10)

        self.main_layout.addLayout(manual_joint_splitter_layout)
        self.main_layout.addLayout(manual_joint_ori_layout)
        self.main_layout.addWidget(dividers.Divider())
        self.main_layout.addLayout(manual_joint_ori_buttons_layout)
        self.main_layout.addWidget(set_rot_axis_widget)
コード例 #25
0
 def get_number_widget(self):
     return checkbox.BaseCheckBox()