コード例 #1
0
    def generate_item(self, track_list):
        """
        Generate an QListWidgetItem, enable checkboxes and append it to a QListWidget
        :param track_list:
        :param list_widget:
        :return:
        """
        self._single_track_list.extend(track_list)

        for track in track_list:

            track_name = "N/A"
            track_type = track._track_type

            if track.track_name is not None:
                track_name = track.track_name

            track_item = QListWidgetItem("Track Name: " + track_name + " | " +
                                         "Type: " + track_type)
            track_item.setFlags(
                track_item.flags()
                | PySide2.QtCore.Qt.ItemFlag.ItemIsUserCheckable)
            track_item.setFlags(track_item.flags()
                                | PySide2.QtCore.Qt.ItemFlag.ItemIsEnabled)
            track_item.setCheckState(PySide2.QtCore.Qt.CheckState.Unchecked)

            self.events.single_track_item_generated(track_item)
コード例 #2
0
 def add_todo_btn_clicked(self):
     item = QListWidgetItem(f"Todo {self.todo_list_widget.count() + 1}")
     item.setFlags(item.flags() | Qt.ItemIsUserCheckable
                   | Qt.ItemIsEditable)
     item.setCheckState(Qt.Unchecked)
     self.todo_list_widget.addItem(item)
     self.todo_list_widget.edit(self.todo_list_widget.indexFromItem(item))
コード例 #3
0
    def update_tables(self, tables):
        """
        Update list of tables
        """
        # create and delete mappings for tables
        if isinstance(tables, list):
            tables = {t: None for t in tables}
        for t_name, t_mapping in tables.items():
            if t_name not in self.table_mappings:
                if t_mapping is None:
                    t_mapping = ObjectClassMapping()
                else:
                    # add table to selected if connector gave a mapping object
                    # for the table
                    self.selected_source_tables.add(t_name)
                self.table_mappings[t_name] = MappingListModel([t_mapping])
        for k in list(self.table_mappings.keys()):
            if k not in tables:
                self.table_mappings.pop(k)

        if not tables:
            self._ui.source_list.clear()
            self._ui.source_list.clearSelection()
            return

        # current selected table
        selected = self._ui.source_list.selectedItems()
        self.selected_source_tables = set(tables.keys()).intersection(
            self.selected_source_tables)

        # empty tables list and add new tables
        self._ui.source_list.blockSignals(True)
        self._ui.source_list.currentItemChanged.disconnect(self.select_table)
        self._ui.source_list.clear()
        self._ui.source_list.clearSelection()
        for t in tables:
            item = QListWidgetItem()
            item.setText(t)
            item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
            if t in self.selected_source_tables:
                item.setCheckState(Qt.Checked)
            else:
                item.setCheckState(Qt.Unchecked)
            self._ui.source_list.addItem(item)
        self._ui.source_list.currentItemChanged.connect(self.select_table)
        self._ui.source_list.blockSignals(False)

        # reselect table if existing otherwise select first table
        if selected and selected[0].text() in tables:
            table = selected[0].text()
            self._ui.source_list.setCurrentRow(
                tables.index(table), QItemSelectionModel.SelectCurrent)
        elif tables:
            # select first item
            self._ui.source_list.setCurrentRow(
                0, QItemSelectionModel.SelectCurrent)
        if self._ui.source_list.selectedItems():
            self.select_table(self._ui.source_list.selectedItems()[0])
        self.tableChecked.emit()
コード例 #4
0
    def _create_c_list_item_widget(self, colleague):
        widget = QWidget(parent=self._colleagues_list)
        widget.colleague = colleague

        main_layout = QHBoxLayout(widget)
        main_layout.setSpacing(2)

        icon_label = QLabel(widget)
        icon_label.setPixmap(
            QIcon(":images/account.svg").pixmap(
                QSize(self.COLLEAGUES_LIST_WIDGET_HEIGHT - 17,
                      self.COLLEAGUES_LIST_WIDGET_HEIGHT - 17)))
        main_layout.addWidget(icon_label)

        vertical_layout = QVBoxLayout()
        main_layout.addLayout(vertical_layout)

        text_label = QLabel(widget)
        widget.text_label = text_label
        text_label.setFont(QFont('Noto Sans', 10 * self._dp))
        text_label.setAlignment(Qt.AlignTop | Qt.AlignLeft)
        text_label.setText(colleague.get_mail_text())
        vertical_layout.addWidget(text_label)

        status_label = QLabel(widget)
        widget.status_label = status_label
        status_label.setFont(QFont('Noto Sans', 10 * self._dp))
        status_label.setAlignment(Qt.AlignTop | Qt.AlignLeft)
        status_label.setText(colleague.get_status_text())
        vertical_layout.addWidget(status_label)

        main_layout.addStretch()
        access_label = QLabel(widget)
        widget.access_label = access_label
        access_label.setFont(QFont('Noto Sans', 10 * self._dp))
        access_label.setAlignment(Qt.AlignCenter | Qt.AlignLeft)
        access_label.setText(colleague.get_access_text())
        main_layout.addWidget(access_label)

        def clicked(event, control):
            self._show_menu(widget.colleague, control.mapToGlobal(event.pos()))

        widget.mouseReleaseEvent = lambda e: clicked(e, widget)
        widget.text_label.mouseReleaseEvent = lambda e: clicked(
            e, widget.text_label)
        widget.status_label.mouseReleaseEvent = lambda e: clicked(
            e, widget.status_label)
        widget.access_label.mouseReleaseEvent = lambda e: clicked(
            e, widget.access_label)

        item = QListWidgetItem()
        item.setFlags(item.flags() & ~Qt.ItemIsSelectable)
        item.setSizeHint(
            QSize(self._colleagues_list.width(),
                  self.COLLEAGUES_LIST_WIDGET_HEIGHT))

        self._colleagues_list.addItem(item)
        self._items.append(widget)
        self._colleagues_list.setItemWidget(item, widget)
コード例 #5
0
    def addSpot(self, spot):
        self.spots.append(spot)

        item = QListWidgetItem("Spot " + str(self.count))
        item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
        item.setCheckState(Qt.Checked)
        self.addItem(item)
        self.count += 1
コード例 #6
0
 def add_to_list(self, file):
     if (self.list_items.get(file)):
         return False
     list_item = QListWidgetItem(file)
     list_item.setFlags(list_item.flags() | Qt.ItemIsUserCheckable)
     list_item.setCheckState(Qt.Checked)
     self.file_list.addItem(list_item)
     self.list_items[file] = list_item
     return True
コード例 #7
0
    def AddItem(self, name):
        item = QListWidgetItem(name)
        item.setTextAlignment(Qt.AlignCenter)
        # item.setBackground(QColor(87, 195, 194))
        item.setBackground(QColor(0, 0, 0, 0))
        item.setSizeHint(QSize(90, 30))
        item.setFlags(item.flags() & (~Qt.ItemIsSelectable))

        self.addItem(item)
コード例 #8
0
ファイル: board.py プロジェクト: NiccolasR/xBan
    def add_item(self, text):
        """add editable text item

        need to use item widget to make it editable
        :param text str: content of the item
        """
        item = QListWidgetItem(text)
        item.setFlags(item.flags() | Qt.ItemIsEditable | Qt.ItemIsSelectable)
        self.addItem(item)
コード例 #9
0
ファイル: mainplate.py プロジェクト: yenru0/tanswer
    def go_select(self):
        self.ui.list_select.clear()
        for name, path in futil.get_name_path_from_dataset():
            item = QListWidgetItem(f"{name}")
            item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled | Qt.ItemIsUserCheckable)
            item.setCheckState(Qt.Unchecked)
            item.setData(Qt.UserRole, path)
            self.ui.list_select.addItem(item)

        self.ui.front.setCurrentIndex(2)
コード例 #10
0
ファイル: snapApp.py プロジェクト: Jonny137/signal_monitor
    def fill_list(self, list_items):
        self.list_widget.clear()

        for column in list_items:
            item = QListWidgetItem(column)
            item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable)
            item.setCheckState(Qt.Unchecked)
            self.list_widget.addItem(item)

        self.show()
コード例 #11
0
    def create_project(self,
                       project_name: str,
                       visualization: bool = False,
                       stimulus: bool = False,
                       analysis: bool = False) -> None:
        """Create a new project with a template and open it."""
        icon = QIcon()
        icon_name = 'icon_sti'

        if visualization:
            icon_name = 'icon_viz'
            item = QListWidgetItem(
                self.parent_frame.listWidget_projects_visualizations)
            default_project = '_default_visualization'
            self.mode = 'visualization'
        elif stimulus:
            icon_name = 'icon_sti'
            item = QListWidgetItem(
                self.parent_frame.listWidget_projects_delivery)
            default_project = '_default_stimuli_delivery'
            self.mode = 'delivery'
        elif analysis:
            icon_name = 'icon_ana'
            item = QListWidgetItem(
                self.parent_frame.listWidget_projects_analysis)
            default_project = '_default_data_analysis'
            self.mode = 'analysis'

        item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEditable
                      | Qt.ItemIsDragEnabled | Qt.ItemIsUserCheckable
                      | Qt.ItemIsEnabled)
        item.setText(project_name)
        item.previous_name = project_name
        item.path = self.normalize_path(project_name)

        ext = 0
        while item.path in os.listdir(self.projects_dir):
            ext += 1
            item.path = f"{self.normalize_path(project_name)}{ext}"

        icon.addFile(f"bci:primary/{icon_name}.svg", QSize(), QIcon.Normal,
                     QIcon.Off)
        item.setIcon(icon)
        item.icon_name = icon_name

        source = os.path.join(os.getenv('BCISTREAM_ROOT'),
                              'default_extensions', default_project)
        target = os.path.join(self.projects_dir, item.path)
        shutil.copytree(source, target)

        pickle.dump({
            'name': project_name,
            'files': []
        }, open(os.path.join(self.projects_dir, item.path, BCIFR_FILE), 'wb'))
        self.open_project(item.path)
コード例 #12
0
ファイル: mainplate.py プロジェクト: yenru0/tanswer
    def go_tanswermenu(self):
        self._weight = None
        self.ui.list_tanswermenu_stages.clear()
        for i, stg in enumerate(self._tds.stage_list):
            item = QListWidgetItem(f"{stg}")
            item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
            item.setCheckState(Qt.Checked)
            item.setData(Qt.UserRole, i)
            self.ui.list_tanswermenu_stages.addItem(item)

        self.ui.front.setCurrentIndex(6)
コード例 #13
0
 def create_current_item(self, flags):
     if self.active_stack.index() == 0:
         txt = _('  0: Geladener Zustand des Dokuments')
     else:
         txt = _('  0: Aktueller Zustand des Dokuments')
     current_item = QListWidgetItem(txt)
     current_item.setForeground(self.fg_black)
     current_item.setBackground(self.bg_grey)
     current_item.setFlags(flags)
     current_item.setIcon(IconRsc.get_icon('options'))
     return current_item
コード例 #14
0
 def _updateGroupList(self):
     newGroup = self.gSelector.currentItem().text()
     sStruct = self.chartData[newGroup].getColStructure()
     self.sSelector.clear()
     for ws in sStruct:
         firstChannel = sStruct[ws][0]
         isOneSignal = self.chartData[newGroup][firstChannel][ws][0]
         if isOneSignal:
             item = QListWidgetItem(ws, self.sSelector)
             item.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled)
             item.setCheckState(Qt.Unchecked)
コード例 #15
0
 def update_watcherlist(self):
     self.watcherlist.clear()
     for n in range(0, len(self.workspace.cartprograph.watchers)):
         label = (", ".join(
             [str(r) for r in self.workspace.cartprograph.watchers[n][1]]) +
                  " @ " + hex(self.workspace.cartprograph.watchers[n][0]))
         item = QListWidgetItem(label)
         item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable)
         if self.workspace.cartprograph.watchers[n][2]:
             item.setCheckState(QtCore.Qt.Checked)
         else:
             item.setCheckState(QtCore.Qt.Unchecked)
         self.watcherlist.addItem(item)
コード例 #16
0
 def notify(self, updateType):
     self.itemSelectionChanged.disconnect(self.selectionSlot)
     if updateType == UpdateType.MATERIAL_SELECTION:
         self.clearSelection()
     else:
         self.itemChanged.disconnect(self.itemEditSlot)
         self.clear()
         for o in self.scene.getObjectIterator():
             item = QListWidgetItem(o.name, self)
             item.setFlags(item.flags() | Qt.ItemIsEditable)
             item.setData(QtCore.Qt.UserRole, o)
         self.itemChanged.connect(self.itemEditSlot)
     self.itemSelectionChanged.connect(self.selectionSlot)
コード例 #17
0
ファイル: import_editor.py プロジェクト: eexxyy/Spine-Toolbox
    def update_tables(self, tables):
        """
        Update list of tables
        """
        new_tables = list()
        for t_name, t_mapping in tables.items():
            if t_name not in self.table_mappings:
                if t_mapping is None:
                    t_mapping = ObjectClassMapping()
                self.table_mappings[t_name] = MappingListModel([t_mapping],
                                                               t_name)
                new_tables.append(t_name)
        for k in list(self.table_mappings.keys()):
            if k not in tables:
                self.table_mappings.pop(k)

        if not tables:
            self._ui.source_list.clear()
            self._ui.source_list.clearSelection()
            return

        # current selected table
        selected = self._ui.source_list.selectedItems()

        # empty tables list and add new tables
        tables_to_select = set(self.checked_tables + new_tables)
        self._ui.source_list.blockSignals(True)
        self._ui.source_list.clear()
        self._ui.source_list.clearSelection()
        for t in tables:
            item = QListWidgetItem()
            item.setText(t)
            item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
            if t in tables_to_select:
                item.setCheckState(Qt.Checked)
            else:
                item.setCheckState(Qt.Unchecked)
            self._ui.source_list.addItem(item)
        self._ui.source_list.blockSignals(False)

        # reselect table if existing otherwise select first table
        if selected and selected[0].text() in tables:
            table = selected[0].text()
            self._ui.source_list.setCurrentRow(
                tables.index(table), QItemSelectionModel.SelectCurrent)
        elif tables:
            # select first item
            self._ui.source_list.setCurrentRow(
                0, QItemSelectionModel.SelectCurrent)
        self.tableChecked.emit()
コード例 #18
0
 def add_component_controller(
         self, component_controller: ComponentController) -> None:
     label = component_controller.get_q_svg_component_widget()
     controller_item = QListWidgetItem()
     controller_item.parent = component_controller
     controller_item.setText("Testtest")
     pixmap = component_controller.pixmap
     controller_item.setIcon(pixmap)
     controller_item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable
                              | Qt.ItemIsDragEnabled)
     controller_item.component_controller = component_controller
     self.setItemWidget(controller_item, label)
     self.addItem(controller_item)
     logger.debug("Component added")
コード例 #19
0
    def create_history_item(self, c: int, txt: str, icon, redo_idx):
        num = c - redo_idx
        if num >= 0:
            num += 1

        item = QListWidgetItem(f'{txt} [{num: 3d}]', self.viewList)
        item.setData(Qt.UserRole, c)
        item.setFlags(self.enabled_flags)
        item.setIcon(icon)

        if num > 0:
            item.setForeground(self.fg_grey)
            item.setFont(FontRsc.italic)

        return item
コード例 #20
0
 def addLayerListItem(self, layer_name, z_level):
     layer_key_name = self.getLayerKeyName(layer_name)
     layer_item = QListWidgetItem(layer_name)
     layer_item.setFlags(layer_item.flags() | Qt.ItemIsUserCheckable)
     if self._tiles._layers[layer_key_name][LayerKeys.VISIBLE]:
         layer_item.setCheckState(Qt.Checked)
     else:
         layer_item.setCheckState(Qt.Unchecked)
     self._layers[layer_key_name][LayerKeys.LIST_ITEM] = layer_item
     self._tiles._layers[layer_key_name][LayerKeys.Z_LEVEL] = z_level
     self._tiles._layers[layer_key_name][LayerKeys.ITEM_GROUP].setZValue(
         z_level)
     if layer_name == self._layers[self._active_layer][LayerKeys.NAME]:
         layer_item.setText(layer_name + " (Selected)")
     self._layers_widget.addItem(layer_item)
コード例 #21
0
    def generate_track_item(self, ref_num: int):
        """
        Generate the track list for the two input directories with the first file in the list
        :return:
        """

        if len(self._source_1_list) != 0 and ref_num == 1:

            self._tracks_1 = PymkvWrapper.process_file(self._source_1_list[0])

            #TODO turn item generate into GUI helper
            for track in self._tracks_1:

                track_name = "N/A"
                track_type = track._track_type

                if track.track_name is not None:
                    track_name = track.track_name

                track_item_1 = QListWidgetItem("Track Name: " + track_name +
                                               " | " + "Type: " + track_type)
                track_item_1.setFlags(
                    track_item_1.flags()
                    | PySide2.QtCore.Qt.ItemFlag.ItemIsUserCheckable)
                track_item_1.setFlags(
                    track_item_1.flags()
                    | PySide2.QtCore.Qt.ItemFlag.ItemIsEnabled)
                track_item_1.setCheckState(
                    PySide2.QtCore.Qt.CheckState.Unchecked)

                self.events.ref_tracks_generated(self._source_1_list[0],
                                                 track_item_1, 1)

        if len(self._source_2_list) != 0 and ref_num == 2:

            self._tracks_2 = PymkvWrapper.process_file(self._source_2_list[0])
            # TODO turn item generate into GUI helper
            for track in self._tracks_2:

                track_name = "N/A"
                track_type = track._track_type

                if track.track_name is not None:
                    track_name = track.track_name

                track_item_2 = QListWidgetItem("Track Name: " + track_name +
                                               " | " + "Type: " + track_type)
                track_item_2.setFlags(
                    track_item_2.flags()
                    | PySide2.QtCore.Qt.ItemFlag.ItemIsUserCheckable)
                track_item_2.setFlags(
                    track_item_2.flags()
                    | PySide2.QtCore.Qt.ItemFlag.ItemIsEnabled)
                track_item_2.setCheckState(
                    PySide2.QtCore.Qt.CheckState.Unchecked)

                self.events.ref_tracks_generated(self._source_2_list[0],
                                                 track_item_2, 2)
コード例 #22
0
ファイル: main.py プロジェクト: KirillRya/AlexProject
    def set_item(self, item, status):
        # Пока просто выставляет пустой элемент, переписать под заполнение
        # из класса InputDBClass

        # Каким образом - смотреть, что выбрано в категориях и делать срез
        # с пандаса и вставлять его поэлементно
        # Подумать на тему того, чтобы изначально был пункт "Все",
        # и как это красиво можно связать со структурами
        # (в плане редактирования, чтобы не удалить случайно)
        checkbox_item = QListWidgetItem(item)
        checkbox_item.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled)
        if status:
            checkbox_item.setCheckState(Qt.Checked)
        else:
            checkbox_item.setCheckState(Qt.Unchecked)
        self.listWidget.addItem(checkbox_item)
コード例 #23
0
ファイル: main_window.py プロジェクト: zghkm/pyside_tutorial
    def create_item(self, name, icon, parent):
        """Create a standard list widget item, for option panel.

        Args:
          name: Name of option button
          icon: Icon name of option button
          parent: The QListWidget
        Returns:
          item: created option button
        """
        item = QListWidgetItem(parent)
        item.setText(name)
        item.setIcon(QIcon(icon))
        item.setStatusTip(name)
        item.setTextAlignment(Qt.AlignLeft)
        item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
コード例 #24
0
    def _add_file_to_file_list(self,
                               index,
                               file_list,
                               items_dict,
                               obj_id,
                               rel_path,
                               created_time,
                               was_updated,
                               is_deleted,
                               transfered,
                               size=0,
                               state=None,
                               is_file=True):
        item = file_list.item(index)
        if item:
            item.setData(Qt.UserRole, [
                rel_path, created_time, size, was_updated, is_deleted,
                transfered, state, is_file, obj_id
            ])
            self._update_file_list_item_widget(file_list, item)
            items_dict[obj_id].append(item)
            return

        item = QListWidgetItem()
        item.setFlags(item.flags() & ~Qt.ItemIsSelectable)
        item.setSizeHint(QSize(file_list.width(), self.FILE_LIST_ITEM_SIZE))
        item.setData(Qt.UserRole, [
            rel_path, created_time, size, was_updated, is_deleted, transfered,
            state, is_file, obj_id
        ])

        file_list.addItem(item)
        rect = file_list.viewport().contentsRect()
        top = file_list.indexAt(rect.topLeft())
        if top.isValid():
            bottom = file_list.indexAt(rect.bottomLeft())
            if not bottom.isValid():
                bottom = file_list.model().index(file_list.count() - 1)
            if top.row() <= file_list.row(item) <= bottom.row() + 1:
                widget = self._create_file_list_item_widget(
                    file_list, [
                        rel_path, created_time, size, was_updated, is_deleted,
                        transfered, state, is_file, obj_id
                    ])
                file_list.setItemWidget(item, widget)
        if item not in items_dict[obj_id]:
            items_dict[obj_id].append(item)
コード例 #25
0
ファイル: main_window.py プロジェクト: zghkm/pyside_tutorial
    def create_item(self, name, icon):
        """Create a standard list widget item, for option panel.

        Args:
          name: Name of option button
          icon: Icon name of option button
        Returns:
          item: created option button
        """
        item = QListWidgetItem(self)
        item.setText(name)
        item.setIcon(QIcon(icon))
        item.setStatusTip(name)
        item.setSizeHint(QSize(75, 70))
        item.setTextAlignment(Qt.AlignCenter)
        item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)

        return item
コード例 #26
0
    def _add_file_to_file_list(self, index, rel_path,
                               created_time, was_updated, icon_info):
        item = self._ui.file_list.item(index)
        if not item:
            item = QListWidgetItem()
            item.setFlags(item.flags() & ~Qt.ItemIsSelectable)
            item.setSizeHint(QSize(
                self.FILE_LIST_ITEM_SIZE, self.FILE_LIST_ITEM_SIZE))
            self._ui.file_list.insertItem(index, item)

        widget = self._ui.file_list.itemWidget(item)
        if not widget:
            widget = self._create_file_list_item_widget(
                rel_path, created_time, was_updated, icon_info)
            self._ui.file_list.setItemWidget(item, widget)
        else:
            self._update_file_list_item_widget(
                widget, rel_path, created_time, was_updated, icon_info)
        self._files[FilePath(rel_path)] = icon_info
コード例 #27
0
ファイル: import_editor.py プロジェクト: eexxyy/Spine-Toolbox
    def use_settings(self, settings):
        try:
            self.table_mappings = {
                table: MappingListModel([dict_to_map(m) for m in mappings],
                                        table)
                for table, mappings in settings.get("table_mappings",
                                                    {}).items()
            }
        except ValueError as error:
            self._ui_error.showMessage(f"{error}")
            return

        table_types = {
            tn: {
                int(col): value_to_convert_spec(spec)
                for col, spec in cols.items()
            }
            for tn, cols in settings.get("table_types", {}).items()
        }
        table_row_types = {
            tn: {
                int(col): value_to_convert_spec(spec)
                for col, spec in cols.items()
            }
            for tn, cols in settings.get("table_row_types", {}).items()
        }
        self.connector.set_table_options(settings.get("table_options", {}))
        self.connector.set_table_types(table_types)
        self.connector.set_table_row_types(table_row_types)
        self._ui.source_list.blockSignals(True)
        self._ui.source_list.clear()
        selected_tables = settings.get("selected_tables")
        if selected_tables is None:
            selected_tables = set(self.table_mappings.keys())
        for table_name in self.table_mappings:
            item = QListWidgetItem()
            item.setText(table_name)
            item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
            item.setCheckState(Qt.Checked if table_name in
                               selected_tables else Qt.Unchecked)
            self._ui.source_list.addItem(item)
        self._ui.source_list.blockSignals(False)
コード例 #28
0
ファイル: main.py プロジェクト: basepipe/thecarlton
 def add_crew_member(self):
     w = QDialog()
     w.setWindowTitle("Add New Crew Member")
     w.setLayout(QFormLayout())
     crew_name = QLineEdit("New Crew Member")
     w.layout().addRow(QLabel("Crew Member Name:"), crew_name)
     specialization = QComboBox()
     specialization.addItems([
         "Directing", "Cinematography", "Producing", "Production Design",
         "Editing", "Visual Effects"
     ])
     w.layout().addRow(QLabel("Specialization:"), specialization)
     accept = QPushButton("Create")
     accept.clicked.connect(w.accept)
     reject = QPushButton("Cancel")
     reject.clicked.connect(w.reject)
     w.layout().addRow(accept, reject)
     if w.exec_() == QDialog.Accepted:
         new_crew_item = QListWidgetItem(crew_name.text())
         new_crew_item.setFlags(new_crew_item.flags() | Qt.ItemIsEditable)
         self.crew_list_widget.addItem(new_crew_item)
コード例 #29
0
    def addNewLayerTab(self):
        if not self._list_change:
            self._add_tab_index = self.getNewTabIndex()
            layer_name = " ".join(["Layer", str(self._add_tab_index)])
            layer_item = QListWidgetItem(layer_name)
            layer_item.setFlags(layer_item.flags() | Qt.ItemIsUserCheckable)
            layer_item.setCheckState(Qt.Checked)
            self._layers_widget.addItem(layer_item)
            self._layers[layer_name] = {
                LayerKeys.NAME: layer_name,
                LayerKeys.LIST_ITEM: layer_item,
                LayerKeys.REMOVABLE: True,
                LayerKeys.TAB_COLOR: self.DEFAULT_TAB_COLOR
            }

            # ADD LAYER TO TILES
            self._tiles.createNewLayer(layer_name)

            # ADD LAYER TAB INDEX TO TAB NAME KEYS
            tab_index = self._layer_tabs.addTab(layer_name)

            self.lockTabs()
コード例 #30
0
ファイル: main.py プロジェクト: basepipe/thecarlton
 def add_position(self):
     w = QDialog()
     w.setWindowTitle("Create New Position")
     w.setLayout(QFormLayout())
     pos_name = QLineEdit("New Position")
     w.layout().addRow(QLabel("Position Name:"), pos_name)
     pre_pro_days = QSpinBox()
     post_pro_days = QSpinBox()
     w.layout().addRow(QLabel("Days of pre-production:"), pre_pro_days)
     w.layout().addRow(QLabel("Days of immediate post-production:"),
                       post_pro_days)
     accept = QPushButton("Create")
     accept.clicked.connect(w.accept)
     reject = QPushButton("Cancel")
     reject.clicked.connect(w.reject)
     w.layout().addRow(accept, reject)
     if w.exec_() == QDialog.Accepted:
         print("Days of pre-production", pre_pro_days.value(),
               "Days of post-productions", post_pro_days.value())
         new_pos_item = QListWidgetItem(pos_name.text())
         new_pos_item.setFlags(new_pos_item.flags() | Qt.ItemIsEditable)
         self.pos_list_widget.addItem(new_pos_item)