def __init__(self,
                 primarytable=QTableWidget(),
                 headername="Test",
                 numberofcolumn=1):
        QTableWidget.__init__(self)
        self.table = primarytable
        self.table.setColumnCount(numberofcolumn)
        self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
        self.table.setHorizontalScrollMode(QAbstractItemView.ScrollPerPixel)
        self.table.setHorizontalScrollBarPolicy(Qt.ScrollBarAsNeeded)
        self.column0 = QTableWidgetItem(headername)
        self.column0.setTextAlignment(Qt.AlignCenter)
        self.table.setHorizontalHeaderItem(0, self.column0)

        self.tableHeader = TableWidgetNoSelection()
        self.column1 = QTableWidgetItem(headername)
        self.column1.setTextAlignment(Qt.AlignCenter)
        self.tableHeader.setColumnCount(numberofcolumn)
        self.tableHeader.setHorizontalHeaderItem(0, self.column1)
        self.tableHeader.horizontalHeader().setSectionResizeMode(
            QHeaderView.Stretch)
        self.tableHeader.setHorizontalScrollMode(
            QAbstractItemView.ScrollPerPixel)
        self.tableHeader.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.tableHeader.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.tableHeader.horizontalHeader().setHighlightSections(False)

        self.tableLayout = QGridLayout(self)
        self.tableLayout.addWidget(self.table, 0, 0, -1, 1)
        self.tableLayout.addWidget(self.tableHeader, 0, 0, -1, 1)
        self.tableLayout.setContentsMargins(0, 0, 0, 0)
        self.tableLayout.setSpacing(0)
Beispiel #2
0
 def CheckApi(self):
     j = "https://api.shodan.io/api-info?key=" + self.API
     response = requests.get(j)
     response = response.json()
     query_credits = ''
     plan = ''
     scan_credits = ''
     for i in response:
         if i == "query_credits":
             query_credits = response[i]
         if i == "plan":
             plan = response[i]
         if i == "scan_credits":
             scan_credits = response[i]
     self.tableWidgetSmall = QTableWidget(self)
     self.tableWidgetSmall.setColumnCount(1)
     self.tableWidgetSmall.setRowCount(3)
     self.tableWidgetSmall.move(1074, 217)
     self.tableWidgetSmall.setMinimumHeight(115)
     self.tableWidgetSmall.setMinimumWidth(180)
     self.tableWidgetSmall.setMaximumHeight(115)
     self.tableWidgetSmall.setMaximumWidth(180)
     self.tableWidgetSmall.setVerticalHeaderLabels(
         ["Plan", "query_credits", "scan_credits"])
     self.tableWidgetSmall.setItem(0, 0, QTableWidgetItem(plan))
     self.tableWidgetSmall.setItem(0, 1,
                                   QTableWidgetItem(str(query_credits)))
     self.tableWidgetSmall.setItem(0, 2,
                                   QTableWidgetItem(str(scan_credits)))
Beispiel #3
0
    def __init__(self, parent, name, data):
        QWidget.__init__(self, parent)
        DockContextHandler.__init__(self, self, name)

        self.parent = parent
        self.arch = None
        self.current_state = None
        self.symb_idx = 0
        self.reg_to_index = dict()
        self.index_to_reg = dict()
        self.reg_cache = dict()
        self.data = data
        self.tab_name = None

        self.actionHandler = UIActionHandler()
        self.actionHandler.setupActionHandler(self)

        self._layout = QVBoxLayout()

        # Set up register table
        self._table = QTableWidget()
        self._table.setColumnCount(2)
        self._table.setHorizontalHeaderLabels(['Register', 'Value'])
        self._table.horizontalHeader().setStretchLastSection(True)
        self._table.verticalHeader().setVisible(False)

        self._table.setContextMenuPolicy(Qt.CustomContextMenu)
        self._table.customContextMenuRequested.connect(
            self.on_customContextMenuRequested)
        self._table.doubleClicked.connect(self.on_doubleClick)

        self._layout.addWidget(self._table)

        self.setLayout(self._layout)
Beispiel #4
0
    def __init__(self, parent=None):
        super().__init__(parent, 'synthetic curve')
        self.gen_curve: Optional[WdGeneratedValues] = None
        self.segments_edit_semaphore = Lock()

        layout = QVBoxLayout()
        group_segments = QGroupBox('Segments')
        layout_segments = QVBoxLayout()
        layout_segments_hdr = QHBoxLayout()
        layout_segments_hdr_labels = QVBoxLayout()
        layout_segments_hdr_labels.addWidget(
            QLabel('Segments are calculated in parallel'))
        layout_segments_hdr_labels.addWidget(
            QLabel('and may have different density (PHIN)'))
        layout_segments_hdr.addLayout(layout_segments_hdr_labels)
        layout_segments_hdr.addStretch()
        self.add_segment_button = QToolButton()
        self.add_segment_button.setText('+')
        self.del_segment_button = QToolButton()
        self.del_segment_button.setText('-')
        layout_segments_hdr.addWidget(self.add_segment_button)
        layout_segments_hdr.addWidget(self.del_segment_button)
        layout_segments.addLayout(layout_segments_hdr)
        self.table_segments = QTableWidget(1, 3)
        self.table_segments.setHorizontalHeaderLabels(
            ['phase from', 'phase to', 'PHIN phase incr'])
        layout_segments.addWidget(self.table_segments)
        group_segments.setLayout(layout_segments)
        layout.addWidget(group_segments)
        self.setLayout(layout)

        self.table_segments.itemActivated.connect(self._on_segment_activated)
        self.table_segments.itemChanged.connect(self._on_segment_item_changed)
        self.add_segment_button.clicked.connect(self._on_segment_add_clicked)
        self.del_segment_button.clicked.connect(self._on_segment_del_clicked)
    def __init__(self, node):
        super().__init__()

        self.node: NetworkNode = node

        self.delete_popup = None

        self.layout = QGridLayout()

        self.table = QTableWidget(0, 3)
        self.table.setHorizontalHeaderLabels(['Id', 'Key', 'Value'])

        self.table.setColumnHidden(0, True)

        self.node.configuration.configuration_changed.connect(
            self.handle_configuration_change
        )

        self.table.cellChanged.connect(self.handle_cell_change)

        self.layout.addWidget(self.table, 0, 0, 1, 2)

        self.deleteButton = QPushButton('Remove Selected Row')
        self.deleteButton.clicked.connect(
            self.handle_delete_action
        )
        self.layout.addWidget(self.deleteButton, 1, 0)

        self.addButton = QPushButton('Add Configuration')
        self.addButton.clicked.connect(
            self.handle_add_action
        )
        self.layout.addWidget(self.addButton, 1, 1)

        self.setLayout(self.layout)
    def __init__(self, columns, parent=None, callback=None):
        super().__init__(parent)
        self.callback = callback
        self.table = QTableWidget(0, len(columns), self)
        self.columns = columns
        self.table.setMinimumSize(400, 300)
        self.table.setShowGrid(True)

        self.hh = self.table.horizontalHeader()
        self.hh.setStretchLastSection(False)

        self.vh = self.table.verticalHeader()

        layout = QBoxLayout(
            QBoxLayout.Direction(QBoxLayout.LeftToRight
                                 | QBoxLayout.TopToBottom), self)
        layout.addWidget(self.table)
        self.setLayout(layout)
        # self.setSizePolicy(QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum, QSizePolicy.DefaultType))

        self.callback = callback
        if self.callback:
            #self.table.cellEntered.connect(self.enterProcessor)
            #self.vh.activated.connect(self.enterProcessor)
            #self.vh.selected.connect(self.enterProcessor)
            #self.table.clicked.connect(self.enterProcessor)
            self.table.itemSelectionChanged.connect(self.enterProcessor)
 def __init__(self, parent):
     super().__init__(parent)
     self.setWindowTitle("Select position parameters")
     button_box = QDialogButtonBox(self)
     button_box.setStandardButtons(QDialogButtonBox.Cancel
                                   | QDialogButtonBox.Ok)
     layout = QVBoxLayout(self)
     self._table_widget = QTableWidget(1, 2, self)
     self._table_widget.setHorizontalHeaderLabels(
         ["Position x", "Position y"])
     self._table_widget.setItem(0, 0,
                                QTableWidgetItem(parent._pos_x_parameter))
     self._table_widget.setItem(0, 1,
                                QTableWidgetItem(parent._pos_y_parameter))
     self._table_widget.horizontalHeader().setStretchLastSection(True)
     self._table_widget.verticalHeader().hide()
     self._table_widget.verticalHeader().setDefaultSectionSize(
         parent.default_row_height)
     self._delegate = ParameterNameDelegate(self, parent.db_mngr,
                                            *parent.db_maps)
     self._table_widget.setItemDelegate(self._delegate)
     layout.addWidget(self._table_widget)
     layout.addWidget(button_box)
     button_box.accepted.connect(self.accept)
     button_box.rejected.connect(self.reject)
Beispiel #8
0
    def __init__(self):
        QWidget.__init__(self)
        self.setWindowTitle('SQL Client')
        self.setMinimumSize(600, 400)

        self.main_layout = QVBoxLayout()
        self.setLayout(self.main_layout)

        self.buttons_panel = ButtonsPanel()
        self.main_layout.addWidget(self.buttons_panel)

        self.notification_panel = QTextEdit()
        self.main_layout.addWidget(self.notification_panel)

        self.result_table = QTableWidget()
        self.result_table.setShowGrid(True)

        self.result_table = QTableWidget(5, 3)
        self.result_table.horizontalHeader().setSectionResizeMode(
            QHeaderView.Stretch)
        self.main_layout.addWidget(self.result_table)

        self.configuration_dialog = part_2.ConfigurationDialog()
        self.show()
        self.configuration_dialog.show()
Beispiel #9
0
 def __init__(self):
     super().__init__()
     self.id = 1
     self.TASKID = 0
     self.FILENAME = 1
     self.PROGRESSBAR = 2
     self.SPEED = 3
     self.STATUS = 4
     self.URL = 5
     self.FILEPATH = 6
     self.CANCEL = 7
     self.RETRY = 8
     self.DELETE = 9
     self.signals = FileDownloaderSignals()
     self.tableWidget = QTableWidget()
     self.startDownloadButton = QPushButton('Start Download')
     self.clearListButton = QPushButton('Clear Download List')
     self.hideFinishedCheckBox = QCheckBox('Hide Finished')
     self.startDownloadButton.clicked.connect(self.startDownload)
     self.clearListButton.clicked.connect(self.clearDownloadList)
     self.hideFinishedCheckBox.clicked.connect(self.hideFinished)
     self.createTable()
     layout = QGridLayout()
     layout.addWidget(self.tableWidget, 0, 0, 1, 2)
     layout.addWidget(self.hideFinishedCheckBox, 1, 0, 1, 1)
     layout.addWidget(self.startDownloadButton, 2, 0, 1, 1)
     layout.addWidget(self.clearListButton, 2, 1, 1, 1)
     layout.setMargin(0)
     self.setLayout(layout)
     self.resize(1920, 1080)
Beispiel #10
0
 def clean(self):
     self.layout.removeWidget(self.tableWidget)
     self.tableWidget = QTableWidget(6, 3)
     self.tableWidget.setHorizontalHeaderLabels(["参数", "值", "单位"])
     self.tableWidget.horizontalHeader().setSectionResizeMode(
         QHeaderView.Stretch)
     self.line = 0
Beispiel #11
0
 def __init__(self, subtitleDict, index, styles, styleNameList):
     super().__init__()
     self.subtitleDict = subtitleDict
     self.index = index
     self.styles = styles
     self.resize(950, 800)
     self.setWindowTitle('检查字幕')
     layout = QGridLayout()
     self.setLayout(layout)
     layout.addWidget(QLabel('选择字幕轨道:'), 0, 0, 1, 1)
     layout.addWidget(QLabel(''), 0, 1, 1, 1)
     self.subCombox = QComboBox()
     self.subCombox.addItems(styleNameList)
     self.subCombox.setCurrentIndex(index)
     self.subCombox.currentIndexChanged.connect(self.selectChange)
     layout.addWidget(self.subCombox, 0, 2, 1, 1)
     self.subTable = QTableWidget()
     self.subTable.setSelectionBehavior(QAbstractItemView.SelectRows)
     self.subTable.doubleClicked.connect(self.clickTable)
     self.subTable.setEditTriggers(QAbstractItemView.NoEditTriggers)
     layout.addWidget(self.subTable, 1, 0, 6, 3)
     self.refresh = QPushButton('刷新')
     self.refresh.clicked.connect(self.refreshSub)
     layout.addWidget(self.refresh, 7, 0, 1, 1)
     self.cancel = QPushButton('确定')
     self.cancel.clicked.connect(self.hide)
     layout.addWidget(self.cancel, 7, 2, 1, 1)
     self.refreshTable()
    def __init__(self, game_model: GameModel) -> None:
        super().__init__()
        self.game_model = game_model

        self.only_unallocated = False
        self.enemy_info = False

        layout = QVBoxLayout()
        self.setLayout(layout)

        checkbox_row = QHBoxLayout()
        layout.addLayout(checkbox_row)

        self.only_unallocated_cb = QCheckBox("Unallocated only")
        self.only_unallocated_cb.toggled.connect(self.set_only_unallocated)
        checkbox_row.addWidget(self.only_unallocated_cb)

        self.enemy_info_cb = QCheckBox("Show enemy info")
        self.enemy_info_cb.toggled.connect(self.set_enemy_info)
        checkbox_row.addWidget(self.enemy_info_cb)

        checkbox_row.addStretch()

        self.table = QTableWidget()
        layout.addWidget(self.table)

        self.table.setEditTriggers(QAbstractItemView.NoEditTriggers)
        self.table.verticalHeader().setVisible(False)
        self.set_only_unallocated(False)
Beispiel #13
0
    def __init__(self):
        super().__init__()

        self.setWindowTitle("The Carlton 2.0")
        self.setCentralWidget(QWidget())
        grid = QGridLayout()
        self.centralWidget().setLayout(grid)
        self.start_date = None
        self.end_date = None

        grid.addWidget(QLabel("Calendar"), 0, 0)
        self.calendar_view = QTableWidget()
        grid.addWidget(self.calendar_view, 1, 0, 1, 4)
        self.start_button = QPushButton("Start Date")
        self.start_button.clicked.connect(lambda: self.get_date(True))
        self.end_button = QPushButton("End Date")
        self.end_button.clicked.connect(lambda: self.get_date(False))
        grid.addWidget(self.start_button, 0, 2)
        grid.addWidget(self.end_button, 0, 3)

        self.create_panels()
        toolbar = self.addToolBar("Toolbar")
        toolbar.addAction("New Show", self.create_new_show)

        self.shows = []
Beispiel #14
0
    def __init__(self):
        QWidget.__init__(self)

        self.toolbar = QToolBar()
        self.toolbar.setMovable(False)

        btn_ac_adduser = QAction(QIcon("resources/icon/add-user.png"),
                                 "Add Patient", self)
        btn_ac_adduser.triggered.connect(self.addPatientForm)
        btn_ac_adduser.setStatusTip("Add Student")
        self.toolbar.addAction(btn_ac_adduser)

        btn_ac_delete = QAction(QIcon("resources/icon/remove-user.png"),
                                "Delete Patient", self)
        btn_ac_delete.triggered.connect(self.deleteCurrentPatient)
        btn_ac_delete.setStatusTip("Delete User")
        self.toolbar.addAction(btn_ac_delete)

        self.table = QTableWidget()
        self.table.setSelectionBehavior(QAbstractItemView.SelectRows)
        self.table.setColumnCount(len(self.columns))
        self.table.verticalHeader().setVisible(False)

        self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
        self.table.setHorizontalHeaderLabels(self.columns)

        self.reload()

        layout = QHBoxLayout(self)
        layout.setMenuBar(self.toolbar)
        layout.addWidget(self.table)
Beispiel #15
0
    def setupLayout(self):
        self.table = QTableWidget()
        self.table.setMinimumHeight(725)
        self.refresh_table()
        self.layout = QVBoxLayout()
        self.layout.addWidget(self.table)
        inputLayout = QHBoxLayout()
        self.newName = QLineEdit()
        self.newCost = QLineEdit()
        self.newLink = QLineEdit()
        self.newNote = QLineEdit()
        self.addButton = QPushButton()
        self.addButton.pressed.connect(self.onAddButton)
        self.addButton.setText("add")
        inputLayout.addWidget(self.newName)
        inputLayout.addWidget(self.newCost)
        inputLayout.addWidget(self.newLink)
        inputLayout.addWidget(self.newNote)
        inputLayout.addWidget(self.addButton)
        self.layout.addLayout(inputLayout)

        self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum,
                                          QSizePolicy.Expanding)
        self.layout.addItem(self.verticalSpacer)

        self.deleteButton = QPushButton()
        self.deleteButton.setText("delete")
        self.deleteButton.pressed.connect(self.onDeleteButton)
        self.layout.addWidget(self.deleteButton)

        self.setLayout(self.layout)
Beispiel #16
0
    def __init__(self):
        super().__init__()
        self.items = 0

        # Example data
        self._data = {"Water": 24.5, "Electricity": 55.1, "Rent": 850.0,
                      "Supermarket": 230.4, "Internet": 29.99, "Bars": 21.85,
                      "Public transportation": 60.0, "Coffee": 22.45, "Restaurants": 120}

        # Left
        self.table = QTableWidget()
        self.table.setColumnCount(2)
        self.table.setHorizontalHeaderLabels(['Description', 'Price'])
        self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)

        # Chart
        self.chart_view = QtCharts.QChartView()
        self.chart_view.setRenderHint(QPainter.Antialiasing)

        # Right
        self.description = QLineEdit()
        self.price = QLineEdit()
        self.btn_add = QPushButton('Add')
        self.btn_clear = QPushButton('Clear')
        self.btn_quit = QPushButton('Quit')
        self.btn_plot = QPushButton('Plot')

        # Disabling 'Add' button
        self.btn_add.setEnabled(False)

        self.side_right = QVBoxLayout()
        self.side_right.setMargin(10)
        self.side_right.addWidget(QLabel('Description'))
        self.side_right.addWidget(self.description)
        self.side_right.addWidget(QLabel('Price'))
        self.side_right.addWidget(self.price)
        self.side_right.addWidget(self.btn_add)
        self.side_right.addWidget(self.btn_plot)
        self.side_right.addWidget(self.chart_view)
        self.side_right.addWidget(self.btn_clear)
        self.side_right.addWidget(self.btn_quit)

        # Widget Layout
        self.layout = QHBoxLayout()

        self.layout.addWidget(self.table)
        self.layout.addLayout(self.side_right)

        # Set Layout to Widget
        self.setLayout(self.layout)

        # Signals
        self.btn_add.clicked.connect(self.add_element)
        self.btn_quit.clicked.connect(self.close_application)
        self.btn_clear.clicked.connect(self.clear_table)
        self.btn_plot.clicked.connect(self.plot_data)
        self.description.textChanged[str].connect(self.check_disable)
        self.price.textChanged[str].connect(self.check_disable)

        self.fill_table()
Beispiel #17
0
    def initUI(self):
        self.layout = QGridLayout(self)
        self.setLayout(self.layout)

        self.back = QPushButton("Back")
        self.back.clicked.connect(self.chooseotherentity)
        self.layout.addWidget(self.back, 0, 0)

        self.pullb = QPushButton("Reload from Shotgun")
        self.pullb.clicked.connect(self.pull)
        self.layout.addWidget(self.pullb, 2, 0)

        self.savePage = QPushButton("Save Page")
        self.savePage.clicked.connect(self.setPageSettings)
        self.layout.addWidget(self.savePage, 3, 0)

        self.grid = QTableWidget(self)
        self.layout.addWidget(self.grid, 1, 0)
        self.grid.cellDoubleClicked.connect(self.edit)
        self.grid.cellClicked.connect(self.unedit)
        self.activeCell = None
        self.initData()
        self.grid.horizontalHeader().setSectionsMovable(True)
        self.grid.horizontalHeader().setContextMenuPolicy(Qt.CustomContextMenu)

        self.grid.horizontalHeader().customContextMenuRequested.connect(
            self.hideF)
Beispiel #18
0
    def __init__(self, parent, action):
        """Initializes the widget gui."""
        super(YaraDockWidget, self).__init__(parent, action)
        self.setObjectName('Yara')
        self.setWindowTitle('Yara')

        self.table = QTableWidget(self)
        self.table.setShowGrid(False)
        self.table.verticalHeader().hide()

        self.table.setColumnCount(4)

        self.table.setHorizontalHeaderLabels(
            ['File Offset', 'String Content', 'Rule', 'Filename'])
        self.table.resizeColumnsToContents()
        self.table.setEditTriggers(QAbstractItemView.NoEditTriggers)
        self.table.setSelectionBehavior(QAbstractItemView.SelectRows)

        self.table.horizontalHeader().setSectionResizeMode(
            2, QHeaderView.Stretch)

        self.setWidget(self.table)

        cutter.core().seekChanged.connect(self.update_contents)
        self.update_contents()
Beispiel #19
0
    def __init__(self, patient):
        QWidget.__init__(self)
        self.patient = patient

        self.toolbar = QToolBar()
        self.toolbar.setMovable(False)

        add_treatment = QAction(
            QIcon("resources/icon/plus.png"), "Podaj lekarstwo", self
        )
        add_treatment.triggered.connect(self.addTreatmentForm)
        add_treatment.setStatusTip("Dodaj pomiary")
        self.toolbar.addAction(add_treatment)

        delete_treatment = QAction(
            QIcon("resources/icon/trash-bin.png"), "Usuń podanie lekarstwa", self
        )
        delete_treatment.triggered.connect(self.deleteCurrentTreatment)
        delete_treatment.setStatusTip("Usuń pomiar")
        self.toolbar.addAction(delete_treatment)

        self.table = QTableWidget()
        self.table.setColumnCount(2)

        self.table.setHorizontalHeaderLabels(["Data", "Zawartość lekarstwa"])

        self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
        self.fillTable(patient.treatments)

        main_layout = QHBoxLayout(self)
        main_layout.setMenuBar(self.toolbar)
        main_layout.addWidget(self.table)
Beispiel #20
0
    def __init__(self):
        QWidget.__init__(self)
        self.setWindowTitle("Algorytm DNF")
        """Inicjlizacja zmiennych, na których będą dokynowane obliczenia oraz utworzenie obiektów
        (tabela,pola edycyjne,przyciski)"""
        self.table = QTableWidget()
        self.features = 0
        self.examples = 0
        self.file_name = QLineEdit()
        self.from_file = QPushButton("Wprowadź dane z pliku")
        self.solve = QPushButton("Rozwiąż")
        self.result = QLabel()
        self.error_info = QMessageBox()
        """Tworzenie layoutów a następnie dodawanie do nich widgetów"""
        self.left = QVBoxLayout()
        self.left.addWidget(self.from_file)
        self.left.addWidget(self.solve)
        self.left.addWidget(self.result)
        self.solve.setEnabled(False)
        self.center = QVBoxLayout()
        """Tworzenie  głównego layoutu a następnie dodawanie do nich trzech utworzonych wcześniej"""
        self.layout = QHBoxLayout()
        self.layout.addLayout(self.left)
        self.layout.addLayout(self.center)
        self.setLayout(self.layout)
        """Komunikacja pomiędzy obiektami"""
        self.from_file.clicked.connect(self.create_table)

        self.solve.clicked.connect(self.DNF)
Beispiel #21
0
    def __init__(self, parent=None):                                        # + parent=None
        super().__init__(parent)                                            # + parent
        self.setLayout(QFormLayout())
        self.inputs = dict()
        self.inputs['Customer Name'] = QLineEdit()
        self.inputs['Customer Address'] = QPlainTextEdit()
        self.inputs['Invoice Date'] = QDateEdit(date=QDate.currentDate(), calendarPopup=True)
        self.inputs['Days until Due'] = QSpinBox()
        for label, widget in self.inputs.items():
            self.layout().addRow(label, widget)

        self.line_items = QTableWidget(rowCount=10, columnCount=3)
        self.line_items.setHorizontalHeaderLabels(['Job', 'Rate', 'Hours'])
        self.line_items.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
        self.layout().addRow(self.line_items)
        for row in range(self.line_items.rowCount()):
            for col in range(self.line_items.columnCount()):
                if col > 0:
                    w = QSpinBox()
                    self.line_items.setCellWidget(row, col, w)

        submit = QPushButton('Create Invoice', clicked=self.on_submit)
        
# +     vvvvvv                                        vvvvvvvvvvvvv 
        _print = QPushButton('Print Invoice', clicked=self.window().printpreviewDialog)  # + _print, + self.window()
        self.layout().addRow(submit, _print)                                             # + _print
    def __init__(self):
        '''
        # TODO
        '''
        super().__init__()

        # Data
        self.values = []
        self.values_view = []
        self.labels = []

        # Search bar
        self.search_label = QLabel('Cerca')
        self.search_bar = QLineEdit()
        self.search_bar.setSizePolicy(QSizePolicy.MinimumExpanding,
                                      QSizePolicy.Minimum)
        self.search_bar.textChanged[str].connect(self.update_table)
        self.search_layout = QHBoxLayout()
        self.search_layout.addWidget(self.search_label)
        self.search_layout.addWidget(self.search_bar)

        # Table
        self.table = QTableWidget()
        self.item_count = 0

        # Layout
        self.layout = QtWidgets.QVBoxLayout()
        self.layout.addLayout(self.search_layout)
        self.layout.addWidget(self.table)
        self.setLayout(self.layout)
Beispiel #23
0
    def __init__(self):
        QWidget.__init__(self)

        # create table
        self.table_widget = QTableWidget(0, 7)
        self.table_widget.setHorizontalHeaderLabels(
            ["ID", "Name", "Level", "Difficulty", "Mode", "Players", "IP"])
        self.table_widget.verticalHeader().setVisible(False)
        self.table_widget.setEditTriggers(QAbstractItemView.NoEditTriggers)
        self.table_widget.setSelectionBehavior(QAbstractItemView.SelectRows)
        self.table_widget.setSortingEnabled(True)
        # adjust width of IP column
        self.table_widget.setColumnWidth(6, 170)

        # password field
        self.search_label = QLabel("Password:"******"Refresh")
        self.search_button.clicked.connect(self.search)

        # search form
        self.search_form = QHBoxLayout()
        self.search_form.addWidget(self.search_label)
        self.search_form.addWidget(self.search_edit)

        # create main layout
        self.main_layout = QGridLayout()
        self.main_layout.addWidget(self.table_widget, 0, 0)
        self.main_layout.addLayout(self.search_form, 1, 0)
        self.main_layout.addWidget(self.search_button, 2, 0)
        self.setLayout(self.main_layout)
Beispiel #24
0
    def __init__(self):
        QWidget.__init__(self)
        self.items = 0

        # Example data
        self._data = {"Water": 24.5, "Electricity": 55.1, "Rent": 850.0,
                      "Supermarket": 230.4, "Internet": 29.99, "Bars": 21.85,
                      "Public transportation": 60.0, "Coffee": 22.45, "Restaurants": 120}

        # Left
        self.table = QTableWidget()
        self.table.setColumnCount(2)
        self.table.setHorizontalHeaderLabels(["Description", "Price"])
        self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)

        # QWidget Layout
        self.layout = QHBoxLayout()

        #self.table_view.setSizePolicy(size)
        self.layout.addWidget(self.table)

        # Set the layout to the QWidget
        self.setLayout(self.layout)

        # Fill example data
        self.fill_table()
Beispiel #25
0
	def _load_screen(self):
		box=QVBoxLayout()
		info=QWidget()
		infoBox=QHBoxLayout()
		lbl_txt=QLabel(_("Manage extra repositories"))
		lbl_txt.setAlignment(Qt.AlignTop)
		infoBox.addWidget(lbl_txt,1)
		icn_add=QtGui.QIcon().fromTheme('document-new')
		btn_add=QPushButton()
		btn_add.clicked.connect(self._addRepo)
		btn_add.setIcon(icn_add)
		btn_add.setToolTip(_("Add new repository"))
		infoBox.addWidget(btn_add,0)
		info.setLayout(infoBox)
		box.addWidget(info,0)
		self.table=QTableWidget(1,2)
		Hheader=self.table.horizontalHeader()
		Vheader=self.table.verticalHeader()
		Hheader.setSectionResizeMode(0,QHeaderView.Stretch)
		Vheader.setSectionResizeMode(QHeaderView.ResizeToContents)
		self.table.setShowGrid(False)
		self.table.setSelectionBehavior(QTableWidget.SelectRows)
		self.table.setSelectionMode(QTableWidget.NoSelection)
		self.table.setEditTriggers(QTableWidget.NoEditTriggers)
		self.table.horizontalHeader().hide()
		self.table.verticalHeader().hide()
		box.addWidget(self.table)
		self.setLayout(box)
		self.updateScreen()
Beispiel #26
0
    def _init_widgets(self):
        self.view = QTabWidget()  # QGraphicsView()

        self.traceTab = QWidget()
        tracelayout = QVBoxLayout()

        self.traceView = QGraphicsView()
        self.traceScene = QGraphicsScene()
        self.traceView.setScene(self.traceScene)

        self.listView = QTableWidget(0, 2)  # row, col
        self.listView.setHorizontalHeaderItem(0, QTableWidgetItem("Trace ID"))
        self.listView.setHorizontalHeaderItem(1, QTableWidgetItem("Input ID"))
        self.listView.setSelectionMode(QAbstractItemView.SingleSelection)
        self.listView.setSelectionBehavior(QAbstractItemView.SelectRows)
        # self.listView.horizontalHeader().setStretchLastSection(True)
        # self.listView.horizontalHeader().setSectionResizeModel(0, QHeaderView.Stretch)
        self.listView.cellClicked.connect(self._switch_current_trace)

        self.traceSeedButton = QPushButton("View Input Seed")
        self.traceSeedButton.clicked.connect(self._view_input_seed)

        tracelayout.addWidget(self.traceView)
        tracelayout.addWidget(self.listView)
        tracelayout.addWidget(self.traceSeedButton)
        self.traceTab.setLayout(tracelayout)

        self.multiView = QWidget()
        multiLayout = QVBoxLayout()
        self.multiTraceList = QTableWidget(0, 2)  # row, col
        self.multiTraceList.setSelectionMode(QAbstractItemView.MultiSelection)
        self.multiTraceList.setSelectionBehavior(QAbstractItemView.SelectRows)
        self.multiTraceList.setHorizontalScrollMode(
            self.multiTraceList.ScrollPerPixel)
        self.multiTraceList.setHorizontalHeaderItem(
            0, QTableWidgetItem("Trace ID"))
        self.multiTraceList.setHorizontalHeaderItem(
            1, QTableWidgetItem("Input ID"))
        self.selectMultiTrace = QPushButton("Refresh Heatmap")
        self.selectMultiTrace.clicked.connect(self._refresh_heatmap)
        multiLayout.addWidget(self.multiTraceList)
        multiLayout.addWidget(self.selectMultiTrace)
        self.multiView.setLayout(multiLayout)

        self.view.addTab(self.traceTab, "SingleTrace")
        self.view.addTab(self.multiView, "MultiTrace HeatMap")
        self.SINGLE_TRACE = 0
        self.MULTI_TRACE = 1

        self.view.currentChanged.connect(self._on_tab_change)

        self._reset()

        layout = QVBoxLayout()
        layout.addWidget(self.view)
        layout.setContentsMargins(0, 0, 0, 0)
        layout.setAlignment(self.view, Qt.AlignLeft)

        self.setLayout(layout)
Beispiel #27
0
 def __init__(self, layout):
     # 6行3列
     self.tableWidget = QTableWidget(6, 3)
     self.tableWidget.setHorizontalHeaderLabels(["参数", "值", "单位"])
     self.tableWidget.horizontalHeader().setSectionResizeMode(
         QHeaderView.Stretch)
     self.line = 0
     self.layout = layout
Beispiel #28
0
    def __init__(self, controller):
        QWidget.__init__(self)
        self.controller = controller

        self.view_table = QTableWidget(0, 3)

        self.init()
        self.update_list()
Beispiel #29
0
    def initUI(self):
        # Create Layouts
        grid = QGridLayout()  # for frame_input
        vbox = QVBoxLayout()  # for MainForm
        hbox_frame_btn = QHBoxLayout()  # for frame_button
        hbox_title = QHBoxLayout()  # for frame_title

        # Create controls
        frame_title = QFrame()
        frame_input = QFrame()
        frame_button = QFrame()
        self.tbl = QTableWidget(50, n)
        self.tbl.setHorizontalHeaderLabels(FIELDS2ZH)
        self.tbl.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)

        self.tbl.setEditTriggers(QAbstractItemView.NoEditTriggers)

        # Binding layout for MainForm and subFrame
        self.setLayout(vbox)
        frame_title.setLayout(hbox_title)
        frame_input.setLayout(grid)
        frame_button.setLayout(hbox_frame_btn)

        # Add widgets for each layout,
        # then it can show widgets in the form which binding the matched layout
        # # set Main Form's layout
        vbox.addWidget(frame_title)
        vbox.addWidget(frame_input)
        vbox.addWidget(frame_button)
        vbox.addWidget(self.tbl)

        # # set sub frame's layout
        zh_en_btn = {
            '生成条目': self.gen_items,
            '清空': self.clear,
            '打印程序': self.print
        }
        for btn_name in zh_en_btn.keys():
            btn = QPushButton(btn_name)
            btn.clicked.connect(zh_en_btn[btn_name])
            hbox_frame_btn.addWidget(btn)
        hbox_frame_btn.addStretch(1)

        positions = [(i, j) for i in range(2) for j in range(n)]
        for control_name, pos in zip(FIELDS2ZH * 2, positions):
            if pos[0] == 0:
                control = QLabel(control_name)
            else:
                control = QLineEdit(control_name, text='100')
            grid.addWidget(control, *pos)  # main add Widget method

        hbox_title.addWidget(self.lbl_ico_title)
        hbox_title.addWidget(self.lbl_title)
        hbox_title.addStretch(1)

        self.move(300, 150)  # (top, left) is the start position
        self.setWindowIcon(self.app_icon)
        self.show()
Beispiel #30
0
    def __init__(self):
        QWidget.__init__(self)
        self.items = 0

        # Example data
        self._data = {
            "Water": 24.5,
            "Electricity": 55.1,
            "Rent": 850.0,
            "Supermarket": 230.4,
            "Internet": 29.99,
            "Bars": 21.85,
            "Public transportation": 60.0,
            "Coffee": 22.45,
            "Restaurants": 120
        }

        # Left
        self.table = QTableWidget()
        self.table.setColumnCount(2)
        self.table.setHorizontalHeaderLabels(["Description", "Price"])
        self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)

        # Right
        self.description = QLineEdit()
        self.price = QLineEdit()
        self.add = QPushButton("Add")
        self.clear = QPushButton("Clear")
        self.quit = QPushButton("Quit")

        self.right = QVBoxLayout()
        self.right.setMargin(10)
        self.right.addWidget(QLabel("Description"))
        self.right.addWidget(self.description)
        self.right.addWidget(QLabel("Price"))
        self.right.addWidget(self.price)
        self.right.addWidget(self.add)
        self.right.addStretch()
        self.right.addWidget(self.quit)

        # QWidget Layout
        self.layout = QHBoxLayout()

        #self.table_view.setSizePolicy(size)
        self.layout.addWidget(self.table)
        self.layout.addLayout(self.right)

        # Set the layout to the QWidget
        self.setLayout(self.layout)

        # Signals and Slots
        self.add.clicked.connect(self.add_element)
        self.quit.clicked.connect(self.quit_application)
        self.clear.clicked.connect(self.clear_table)

        # Fill example data
        self.fill_table()
    def __init__(self, messages, hiddenLifelines, parent = None):
        super(HiddenMessageDialog, self).__init__(parent)

        self.lifelineList = hiddenLifelines
        self.msgList = messages
        layout = QVBoxLayout(self)

        listTitle = QLabel('Hidden Messages')
        layout.addWidget(listTitle)

        self.listHiddenMessages = QTableWidget(len(self.msgList),4)
        self.listHiddenMessages.setHorizontalHeaderLabels(['Index','Name','Departure','Destination'])
        self.listHiddenMessages.setFixedWidth(400)
        #self.listHiddenMessages.setSelectionMode(QtGui.QAbstractItemView.MultiSelection)
        self.listHiddenMessages.setSelectionBehavior(QAbstractItemView.SelectRows)

        for idx, msg in enumerate(self.msgList):
            self.listHiddenMessages.setItem(idx,0,QTableWidgetItem("%d" % msg['messageindex']))
            self.listHiddenMessages.setItem(idx,1,QTableWidgetItem(msg['message']))
            item = QTableWidgetItem(msg['departure']['class'])
            item.setTextAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
            if msg['departure']['class'] in self.lifelineList:
                item.setForeground(QColor(200,200,200)) 
            self.listHiddenMessages.setItem(idx,2,item)

            item = QTableWidgetItem(msg['dest'])
            item.setTextAlignment(QtCore.Qt.AlignmentFlag.AlignRight)
            if msg['dest'] in self.lifelineList:
                item.setForeground(QColor(200,200,200)) 
            self.listHiddenMessages.setItem(idx,3,item)

        layout.addWidget(self.listHiddenMessages)

        buttons = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel, QtCore.Qt.Horizontal, self)
        buttons.button(QDialogButtonBox.Ok).setText('Show')
        buttons.accepted.connect(self.accept)
        buttons.rejected.connect(self.reject)
        layout.addWidget(buttons)
Beispiel #32
0
class ToolBox(QVBoxLayout):

    sig = QtCore.Signal(object)
    listThread = None
    groupBoxThreadInfo = None
    threadvbox = None
    mode = None

    def __init__(self, mode, parentQWidget = None):
        QVBoxLayout.__init__(self)

        self.sig.connect(self.addThreadList)
        self.mode = mode

        self.sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Expanding)

        self.groupBoxSearch = QGroupBox()
        self.groupBoxSearch.setStyleSheet("QGroupBox {border: 1px solid gray; border-radius: 4px; };")
        vboxSearch = QVBoxLayout()
        self.searchTitle = QLabel("Search Messages")
        vboxSearch.addWidget(self.searchTitle)
        self.searchHLayout = QHBoxLayout()
        self.editTextSearch = QTextEdit('')
        self.editTextSearch.setFixedSize(200,30)
        self.buttonSearch = QPushButton('Search')
        self.buttonSearch.setFixedSize(100,30)
        self.buttonSearch.clicked.connect(self.searchMsg)
        vboxSearch.addWidget(self.editTextSearch)
        self.searchHLayout.addWidget(self.buttonSearch)
        self.searchCursor = QLabel()
        self.searchHLayout.addWidget(self.searchCursor)
        vboxSearch.addLayout(self.searchHLayout)
        self.browseHLayout = QHBoxLayout()
        self.buttonLookUp = QPushButton('\u21e7')  #Arrow up
        self.buttonLookUp.setFixedWidth(100)
        self.buttonLookUp.clicked.connect(self.moveToPrev)
        self.buttonLookDown = QPushButton('\u21e9') #Arrow down
        self.buttonLookDown.setFixedWidth(100)
        self.buttonLookDown.clicked.connect(self.moveToNext)
        self.browseHLayout.addWidget(self.buttonLookUp)
        self.browseHLayout.addWidget(self.buttonLookDown)
        vboxSearch.addLayout(self.browseHLayout)
        self.groupBoxSearch.setLayout(vboxSearch)
        self.addWidget(self.groupBoxSearch)
        self.groupBoxSearch.setSizePolicy(QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed))

        self.buttonHiddenLifelines = QPushButton('Show hidden life-lines')
        self.buttonHiddenLifelines.setFixedWidth(200)
        self.buttonHiddenLifelines.clicked.connect(self.showHiddenLifelines)
        self.addWidget(self.buttonHiddenLifelines)

        self.buttonHiddenMessages = QPushButton('Show hidden Messages')
        self.buttonHiddenMessages.setFixedWidth(200)
        self.buttonHiddenMessages.clicked.connect(self.showHiddenMessages)
        self.addWidget(self.buttonHiddenMessages)

        if const.mode_interactive == mode:
            self.buttonCapture = QPushButton('Capture')
            self.buttonCapture.setFixedWidth(200)
            self.buttonCapture.clicked.connect(self.notifyCapture)
            self.addWidget(self.buttonCapture)
        self.msgRcv = []
        self.msgInfo = QLabel("Message Info.")
        self.groupBoxMessageInfo = QGroupBox()
        self.groupBoxMessageInfo.setStyleSheet("QGroupBox {border: 1px solid gray; border-radius: 9px; margin-top: 0.5em} QGroupBox::title {subcontrol-origin: margin; left: 10px; padding: 0 3px 0 3px;")
        vbox = QVBoxLayout()
        vbox.addWidget(self.msgInfo)
        self.tableTime = QTableWidget(3,2)
        self.tableTime.setHorizontalHeaderLabels(['-','time'])
        self.tableTime.setColumnWidth(0,80)
        self.tableTime.setColumnWidth(1,150)
        vwidth = self.tableTime.verticalHeader().length()
        hwidth = self.tableTime.horizontalHeader().height()
        fwidth = self.tableTime.frameWidth() * 2
        self.tableTime.setFixedHeight(vwidth + hwidth + fwidth)
        self.tableTime.horizontalHeader().setStretchLastSection(True)
        self.tableTime.setItem(0,0,QTableWidgetItem('begin'))
        self.tableTime.setItem(0,1,QTableWidgetItem(' - '))
        self.tableTime.setItem(1,0,QTableWidgetItem('end'))
        self.tableTime.setItem(1,1,QTableWidgetItem(' - '))
        self.tableTime.setItem(2,0,QTableWidgetItem('duration'))
        self.tableTime.setItem(2,1,QTableWidgetItem(' - '))
        vbox.addWidget(self.tableTime)

        self.titleArg = QLabel('Argument List')
        vbox.addWidget(self.titleArg)

        max_arg_num = 10
        self.tableArgs = QTableWidget(max_arg_num,2)
        self.tableArgs.setHorizontalHeaderLabels(['type','value'])
        for idx in range(0,max_arg_num):
            self.tableArgs.setItem(idx,0,QTableWidgetItem())
            self.tableArgs.setItem(idx,1,QTableWidgetItem())
        self.tableArgs.horizontalHeader().setStretchLastSection(True)
        vbox.addWidget(self.tableArgs)

        self.titleArg = QLabel('Return Value List')
        vbox.addWidget(self.titleArg)

        max_ret_num = 4
        self.tableRet = QTableWidget(max_ret_num,2)
        self.tableRet.setHorizontalHeaderLabels(['type','value'])
        for idx in range(0,max_ret_num):
            self.tableRet.setItem(idx,0,QTableWidgetItem())
            self.tableRet.setItem(idx,1,QTableWidgetItem())
        self.tableRet.horizontalHeader().setStretchLastSection(True)
        vwidth = self.tableRet.verticalHeader().length()
        hwidth = self.tableRet.horizontalHeader().height()
        fwidth = self.tableRet.frameWidth() * 2
        self.tableRet.setFixedHeight(vwidth + hwidth + fwidth)
        vbox.addWidget(self.tableRet)

        self.buttonSrcView = QPushButton('view code')
        self.buttonSrcView.setFixedWidth(200)
        self.buttonSrcView.clicked.connect(self.openSourceViewer)
        self.buttonHide = QPushButton('Hide')
        self.buttonHide.setFixedWidth(200)
        self.buttonHide.clicked.connect(self.notifyHide)
        self.buttonHideAllMsg = QPushButton('Hide All')
        self.buttonHideAllMsg.setFixedWidth(200)
        self.buttonHideAllMsg.clicked.connect(self.hideAllMsgNamedAsSelected)
        self.groupBoxMessageInfo.setLayout(vbox)
        self.checkHideCircular = QCheckBox('Hide Circular Messages')
        self.checkHideCircular.setCheckState(QtCore.Qt.Unchecked)
        self.checkHideCircular.stateChanged.connect(self.changeHideCircularMessage)
        self.addWidget(self.checkHideCircular)
        self.addWidget(self.groupBoxMessageInfo)
        self.groupBoxMessageInfo.setSizePolicy(self.sizePolicy)

    def reset(self):
        for idx in reversed(range(0,self.listThread.count())):
            self.listThread.takeItem(idx)

    def setMsgInfoMessage(self,msg):
        self.strMessage = msg

    def changeHideCircularMessage(self,state):
        if state == QtCore.Qt.Unchecked:
            self.diagramView.hideCircularChanged(False)
        elif state == QtCore.Qt.Checked:
            self.diagramView.hideCircularChanged(True)
    
    def setMsgInfoModule(self,module):
        self.strModule = module

    def updateSearchStatus(self,curr,number):
        self.searchCursor.setText("%d/%d" % (curr,number))

    def connectSourceViewer(self,viewer):
        self.srcViewer = viewer

    def openSourceViewer(self):
        self.srcViewer.openViewer(self.strModule,self.strMessage)

    def setMessageInfoTime(self,begin,end,duration):
        self.tableTime.item(0,1).setText(begin)
        self.tableTime.item(1,1).setText(end)
        self.tableTime.item(2,1).setText(duration + ' msec')

    def setMessageInfoArg(self,listParam,listArg):
        # Clear the contents in the table
        max_arg_num = 10
        for idx in range(0,max_arg_num):
            self.tableArgs.item(idx,0).setText('')
            self.tableArgs.item(idx,1).setText('')

        if listArg:
            for idx, text in enumerate(listArg):
                self.tableArgs.item(idx,1).setText(text)
            for idx, text in enumerate(listParam):
                self.tableArgs.item(idx,0).setText(text)
        else:
            for idx in range(0,self.tableArgs.rowCount()):
                self.tableArgs.item(idx,1).setText('')
                self.tableArgs.item(idx,0).setText('')

    def setMessageInfoRet(self,listRet):
        if listRet:
            for idx, text in enumerate(listRet):
                self.tableRet.item(idx,1).setText(text)
        else:
            for idx in range(0,self.tableRet.rowCount()):
                self.tableRet.item(idx,1).setText('')
                self.tableRet.item(idx,0).setText('')

    def notifyInteractiveStateChanged(self,state):
        if const.mode_interactive != self.mode:
            return

        if const.STATE_INTERACTIVE_CAPTURING == state:
            self.buttonCapture.setEnabled(True)
            self.buttonCapture.setText('Stop Capture')
        if const.STATE_INTERACTIVE_PROCESSING == state:
            self.buttonCapture.setEnabled(False)
        if const.STATE_INTERACTIVE_IDLE == state:
            self.buttonCapture.setEnabled(True)
            self.buttonCapture.setText('Capture')
        if const.STATE_INTERACTIVE_RESET == state:
            self.buttonCapture.setEnabled(True)
            self.buttonCapture.setText('Capture')
        elif const.STATE_INTERACTIVE_ACTIVE == state:
            self.buttonCapture.setEnabled(True)
            self.buttonCapture.setText('Capture')

    def setMessageInfo(self,info):
        self.msgInfo.setText(info)

    def setAvailable(self,threads):
        self.sig.emit(threads)

    def toggleThreadDisplay(self,item):
        print(self.listThread.currentRow())
        #if item.isSelected():
        #    print(item.text() + "  is selected")
        #else:
        #    print(item.text() + "  is not selected")
        self.diagramView.showThread(self.listThread.currentRow(),item.isSelected())

    def hideAllMsgNamedAsSelected(self):
        self.diagramView.hideAllMessageSelected()

    def addThreadList(self,threads):

        if not self.groupBoxThreadInfo:
            self.groupBoxThreadInfo = QGroupBox()
            self.threadInfo = QLabel("Thread Info.")
            self.groupBoxThreadInfo.setStyleSheet("QGroupBox {border: 1px solid gray; border-radius: 9px; margin-top: 0.5em} QGroupBox::title {subcontrol-origin: margin; left: 10px; padding: 0 3px 0 3px;")

        if not self.threadvbox:
            self.threadvbox = QVBoxLayout()

        if not self.listThread:
            self.listThread = QListWidget()
            
        self.listThread.setFixedWidth(200)
        self.listThread.setSelectionMode(QAbstractItemView.MultiSelection)
        QtCore.QObject.connect(self.listThread, QtCore.SIGNAL("itemClicked(QListWidgetItem *)"), self.toggleThreadDisplay)
        self.threadvbox.addWidget(self.threadInfo)
        self.threadvbox.addWidget(self.listThread)
        self.groupBoxThreadInfo.setLayout(self.threadvbox)
        self.addWidget(self.groupBoxThreadInfo)
        self.groupBoxThreadInfo.setSizePolicy(self.sizePolicy)

        for id in threads:
            item = QListWidgetItem(id)
            self.listThread.addItem(item)

    def connectController(self,controller):
        self.controller = controller
        self.connect(controller,QtCore.SIGNAL('setAvailable()'),self.setAvailable)
       
    def connectDiagramView(self,view):
        self.diagramView = view
 
    def disconnectMsgRcv(self,receiver):
        print("Implement this method !!! disconnectMsgRcv")

    def connectMsgRcv(self,receiver):
        self.msgRcv.append(receiver)

    def notifyHide(self):
        for rcv in self.msgRcv:
            rcv.activateHide(True)

    def showHiddenLifelines(self):
        response, selected_items = HiddenDialog.HiddenDialog.getSelectedItems(self.diagramView.getHiddenLifeLines())
        if response:
            self.diagramView.showLifelines(selected_items)

    def showHiddenMessages(self):
        response, selected_items = HiddenMessageDialog.HiddenMessageDialog.getSelectedItems(self.diagramView.getHiddenMessages(),self.diagramView.getHiddenLifeLines())
        if response:
            if selected_items[3] in self.diagramView.getHiddenLifeLines():
                confirmation = ShowLifeLineDialog.ShowLifeLineDialog.confirmToShowLifeLine(selected_items[3])
                if confirmation:
                    self.diagramView.showLifelines([selected_items[3]])
                    self.diagramView.showMessages(selected_items)
            else:
                self.diagramView.showMessages(selected_items)

    def notifyCapture(self):
        for rcv in self.msgRcv:
            rcv.activateCapture(True)
    
    def moveToPrev(self):
        for rcv in self.msgRcv:
            rcv.moveToPrev()
        
    def moveToNext(self):
        for rcv in self.msgRcv:
            rcv.moveToNext()

    def searchMsg(self):
        str = self.editTextSearch.toPlainText()
        for rcv in self.msgRcv:
            rcv.searchMessage(str)
Beispiel #33
0
    def __init__(self, mode, parentQWidget = None):
        QVBoxLayout.__init__(self)

        self.sig.connect(self.addThreadList)
        self.mode = mode

        self.sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Expanding)

        self.groupBoxSearch = QGroupBox()
        self.groupBoxSearch.setStyleSheet("QGroupBox {border: 1px solid gray; border-radius: 4px; };")
        vboxSearch = QVBoxLayout()
        self.searchTitle = QLabel("Search Messages")
        vboxSearch.addWidget(self.searchTitle)
        self.searchHLayout = QHBoxLayout()
        self.editTextSearch = QTextEdit('')
        self.editTextSearch.setFixedSize(200,30)
        self.buttonSearch = QPushButton('Search')
        self.buttonSearch.setFixedSize(100,30)
        self.buttonSearch.clicked.connect(self.searchMsg)
        vboxSearch.addWidget(self.editTextSearch)
        self.searchHLayout.addWidget(self.buttonSearch)
        self.searchCursor = QLabel()
        self.searchHLayout.addWidget(self.searchCursor)
        vboxSearch.addLayout(self.searchHLayout)
        self.browseHLayout = QHBoxLayout()
        self.buttonLookUp = QPushButton('\u21e7')  #Arrow up
        self.buttonLookUp.setFixedWidth(100)
        self.buttonLookUp.clicked.connect(self.moveToPrev)
        self.buttonLookDown = QPushButton('\u21e9') #Arrow down
        self.buttonLookDown.setFixedWidth(100)
        self.buttonLookDown.clicked.connect(self.moveToNext)
        self.browseHLayout.addWidget(self.buttonLookUp)
        self.browseHLayout.addWidget(self.buttonLookDown)
        vboxSearch.addLayout(self.browseHLayout)
        self.groupBoxSearch.setLayout(vboxSearch)
        self.addWidget(self.groupBoxSearch)
        self.groupBoxSearch.setSizePolicy(QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed))

        self.buttonHiddenLifelines = QPushButton('Show hidden life-lines')
        self.buttonHiddenLifelines.setFixedWidth(200)
        self.buttonHiddenLifelines.clicked.connect(self.showHiddenLifelines)
        self.addWidget(self.buttonHiddenLifelines)

        self.buttonHiddenMessages = QPushButton('Show hidden Messages')
        self.buttonHiddenMessages.setFixedWidth(200)
        self.buttonHiddenMessages.clicked.connect(self.showHiddenMessages)
        self.addWidget(self.buttonHiddenMessages)

        if const.mode_interactive == mode:
            self.buttonCapture = QPushButton('Capture')
            self.buttonCapture.setFixedWidth(200)
            self.buttonCapture.clicked.connect(self.notifyCapture)
            self.addWidget(self.buttonCapture)
        self.msgRcv = []
        self.msgInfo = QLabel("Message Info.")
        self.groupBoxMessageInfo = QGroupBox()
        self.groupBoxMessageInfo.setStyleSheet("QGroupBox {border: 1px solid gray; border-radius: 9px; margin-top: 0.5em} QGroupBox::title {subcontrol-origin: margin; left: 10px; padding: 0 3px 0 3px;")
        vbox = QVBoxLayout()
        vbox.addWidget(self.msgInfo)
        self.tableTime = QTableWidget(3,2)
        self.tableTime.setHorizontalHeaderLabels(['-','time'])
        self.tableTime.setColumnWidth(0,80)
        self.tableTime.setColumnWidth(1,150)
        vwidth = self.tableTime.verticalHeader().length()
        hwidth = self.tableTime.horizontalHeader().height()
        fwidth = self.tableTime.frameWidth() * 2
        self.tableTime.setFixedHeight(vwidth + hwidth + fwidth)
        self.tableTime.horizontalHeader().setStretchLastSection(True)
        self.tableTime.setItem(0,0,QTableWidgetItem('begin'))
        self.tableTime.setItem(0,1,QTableWidgetItem(' - '))
        self.tableTime.setItem(1,0,QTableWidgetItem('end'))
        self.tableTime.setItem(1,1,QTableWidgetItem(' - '))
        self.tableTime.setItem(2,0,QTableWidgetItem('duration'))
        self.tableTime.setItem(2,1,QTableWidgetItem(' - '))
        vbox.addWidget(self.tableTime)

        self.titleArg = QLabel('Argument List')
        vbox.addWidget(self.titleArg)

        max_arg_num = 10
        self.tableArgs = QTableWidget(max_arg_num,2)
        self.tableArgs.setHorizontalHeaderLabels(['type','value'])
        for idx in range(0,max_arg_num):
            self.tableArgs.setItem(idx,0,QTableWidgetItem())
            self.tableArgs.setItem(idx,1,QTableWidgetItem())
        self.tableArgs.horizontalHeader().setStretchLastSection(True)
        vbox.addWidget(self.tableArgs)

        self.titleArg = QLabel('Return Value List')
        vbox.addWidget(self.titleArg)

        max_ret_num = 4
        self.tableRet = QTableWidget(max_ret_num,2)
        self.tableRet.setHorizontalHeaderLabels(['type','value'])
        for idx in range(0,max_ret_num):
            self.tableRet.setItem(idx,0,QTableWidgetItem())
            self.tableRet.setItem(idx,1,QTableWidgetItem())
        self.tableRet.horizontalHeader().setStretchLastSection(True)
        vwidth = self.tableRet.verticalHeader().length()
        hwidth = self.tableRet.horizontalHeader().height()
        fwidth = self.tableRet.frameWidth() * 2
        self.tableRet.setFixedHeight(vwidth + hwidth + fwidth)
        vbox.addWidget(self.tableRet)

        self.buttonSrcView = QPushButton('view code')
        self.buttonSrcView.setFixedWidth(200)
        self.buttonSrcView.clicked.connect(self.openSourceViewer)
        self.buttonHide = QPushButton('Hide')
        self.buttonHide.setFixedWidth(200)
        self.buttonHide.clicked.connect(self.notifyHide)
        self.buttonHideAllMsg = QPushButton('Hide All')
        self.buttonHideAllMsg.setFixedWidth(200)
        self.buttonHideAllMsg.clicked.connect(self.hideAllMsgNamedAsSelected)
        self.groupBoxMessageInfo.setLayout(vbox)
        self.checkHideCircular = QCheckBox('Hide Circular Messages')
        self.checkHideCircular.setCheckState(QtCore.Qt.Unchecked)
        self.checkHideCircular.stateChanged.connect(self.changeHideCircularMessage)
        self.addWidget(self.checkHideCircular)
        self.addWidget(self.groupBoxMessageInfo)
        self.groupBoxMessageInfo.setSizePolicy(self.sizePolicy)
Beispiel #34
0
    def testItemModel(self):
        tv = QTableWidget()

        self.assertEqual(type(tv.model()), QAbstractTableModel)