def _fill_bus_boxes(self): kys = BusFactory().createable_objects() row = 0 col = 0 for ky in list(kys): # Information gathering name = self._load_gui_name(ky, BusFactory()) ico = self._load_gui_icon(ky, BusFactory()) # New Element per Object gb = GBuilder().groupbox(self, name, None, None) gb.setFont(QtGui.QFont('SansSerif', 7)) gb.setFixedHeight(70) gb.setFixedWidth(70) db = GBuilder().dragbutton(gb, '', self._add_component_boxes, ico, icon_x=45, icon_y=45, size_x=60, size_y=50, pos_x=5, pos_y=15) db.set_drop_func(self.core.add_bus_box_to_env) db.set_move_icon_context_acts(self.core.load_context_menu_actions(ky)) db.ecu_key = ky db.setCheckable(True) db.setStyleSheet('QPushButton {background-color: #F2F2F2; color: red;border: 0px solid gray;border-radius: 12px;}') # Add to Layout self.bus_box.addWidget(gb, row, col, Qt.AlignTop) col += 1 if col == 3: row += 1 col = 0 # Add Widget self.bus_box.addWidget(QWidget())
def create_widgets(self, parent, mapp=False): # Layout GBuilder().set_props(self, min_sz_x=500, min_sz_y=150) main_lo = QVBoxLayout() self.setLayout(main_lo) # Get Add Dialog try: # Read API Spec that I need cls = ECUFactory().get_class(self.ecu_type) self.processor = cls.get_add_plugin(parent) if mapp: self.processor.set_gui(mapp) main_lo.addWidget(self.processor) except: print(traceback.format_exc()) ECULogger().log_traceback() # Ok and Cancel main_lo.addWidget(GBuilder().hor_line(parent)) hl = QHBoxLayout() hl.addWidget(GBuilder().label(parent, "")) ok = GBuilder().pushbutton(parent, "OK", self._ok_hit) ok.setFixedWidth(100) hl.addWidget(ok) canc = GBuilder().pushbutton(parent, "Cancel", self._cancel_hit) canc.setFixedWidth(100) hl.addWidget(canc)
def _fill_environment_box(self): # Main Layout main_lo = QVBoxLayout() self.environment_gb.setLayout(main_lo) # Combobox lo, self.env_select_cb, lab = GBuilder().label_combobox(self, "Current Environment:", [], self._env_select_changed) hl = QHBoxLayout() hl.addLayout(lo) but = GBuilder().pushbutton(self, "New", self._new_env_hit) but.setFixedWidth(40) hl.addWidget(but) lab.setFixedWidth(140) self.env_select_cb.setFixedHeight(22) self.env_select_cb.setFixedWidth(350) main_lo.addLayout(hl) # Groupbox (to make it look nicer) self.content_gb = EnvironmentView(self.environment_gb) main_lo.addWidget(self.content_gb) self.content_gb.setFixedHeight(550) self.content_gb.setFixedWidth(1000) self.content_gb.setLayout(lo) # QStackedWidget with environments self.stacked_env = QStackedWidget() lo.addWidget(self.stacked_env)
def create_widgets(self, parent): # Layout and Label vbox = QtGui.QVBoxLayout() self.label = QtGui.QLabel() self.label.setText("Bus View") # Plot and Curves view = pg.GraphicsLayoutWidget(parent) self.plot = view.addPlot(title="Bus View") self.plot.showGrid(x=True, y=True) self.plot_1 = self.plot.plot(pen=(255, 0, 0), name="Red curve", fillLevel=0, fillBrush=(255, 255, 255, 30)) self.plot.setLabel('left', 'Datarate [KB/s]') self.plot.setLabel('bottom', 'Time [sec]') # Combobox self.bus_selection_cb = GBuilder().combobox( self, [], self._ecu_selection_changed) # Checkbuttons h_lay = QHBoxLayout() # Layout vbox.addWidget(self.label) vbox.addWidget(view) h_lay.addWidget(self.bus_selection_cb) vbox.addLayout(h_lay) self.setLayout(vbox)
def create_widgets(self, parent): # Layout GBuilder().set_props(self, min_sz_x=900, min_sz_y=700) self.setWindowTitle("Simulation Configuration") self.setFixedHeight(700) self.setFixedWidth(1350) main_lo = QVBoxLayout() self.setLayout(main_lo) # Label self.desc_label = GBuilder().label(self, "Create a new simulation. Create one or more environments and"\ " fill them with components. Then connect the components.", None, None) self.desc_label.setFixedHeight(20) main_lo.addWidget(self.desc_label) # Horizontal Layout hl_1 = QHBoxLayout() main_lo.addLayout(hl_1) # Groupboxes self.components_gb = GBuilder().hand_groupbox(self, "Components", None, None) self.components_gb.setFixedWidth(300) self.environment_gb = GBuilder().groupbox(self, "Environments", None, None) hl_1.addWidget(self.components_gb) hl_1.addWidget(self.environment_gb) # Components Boxes self.comps_layout = QVBoxLayout() self.components_gb.setLayout(self.comps_layout) self._add_component_boxes() # Buttons main_lo.addWidget(GBuilder().hor_line(self)) hl = QHBoxLayout() hl.addWidget(GBuilder().label(self, "")) ok_but = GBuilder().pushbutton(self, "OK", self._ok_hit) ok_but.setFixedWidth(150) ok_but.setFixedHeight(25) cancel_but = GBuilder().pushbutton(self, "Cancel", self._ok_hit) cancel_but.setFixedWidth(150) cancel_but.setFixedHeight(25) hl.addWidget(ok_but) hl.addWidget(cancel_but) main_lo.addLayout(hl) # Fill Components Boxes self._fill_ecu_boxes() self._fill_bus_boxes() self._fill_others_boxes() # Fill environment self._fill_environment_box() # Style self._set_stle()
def _connect(self): ''' connect two items''' # open Connect window, self._cur_selected_connection = None self.dia = QDialog(self.gui); main_lo = QVBoxLayout() GBuilder().set_props(self.dia, None, 250, 130, max_sz_x=400, max_sz_y=250) try: self.selected_env_elems = EnvironmentElement.icons_to_env_els(DragSelection().selected, self.env_map[self.selected_env]) self.clicked_elem = EnvironmentElement.icons_to_env_els([DragSelection().clicked], self.env_map[self.selected_env])[0] self.selected_env_elems.remove(self.clicked_elem) except: return # show possible connections if not self.selected_env_elems: return acts = self.clicked_elem.processor.get_actions() main_lo.addWidget(GBuilder().label(self.dia, "Select a connection to be executed between type %s and type %s" % (self.clicked_elem.comp_type, self.selected_env_elems[0].comp_type))) hl, self._con_cb, te = GBuilder().label_combobox(self.dia, "Select Connection ", list(acts.values()), self.dia.show) main_lo.addLayout(hl) # ok cancel main_lo.addWidget(GBuilder().hor_line(self.dia)) ok = GBuilder().pushbutton(self.dia, "Apply", self._ok_dia_hit); ok.setFixedWidth(100) canc = GBuilder().pushbutton(self.dia, "Cancel", self._cancel_dia_hit); canc.setFixedWidth(100) hl = QHBoxLayout() hl.addWidget(GBuilder().label(self.dia, "")) hl.addWidget(ok) hl.addWidget(canc) main_lo.addLayout(hl) self.dia.setLayout(main_lo)
def _draw_lines(self, prime_env_el, connected_env_els): try: DragSelection().connected[self.selected_env] except: DragSelection().connected[self.selected_env] = [] DragSelection().connected[self.selected_env].append(LineConnection(prime_env_el.move_icon, [o.move_icon for o in connected_env_els]))
def __init__(self, *args, **kwargs): QDialog.__init__(self, *args, **kwargs) self.builder = GBuilder() self.setWindowIcon(QtGui.QIcon( os.getcwd() +r'/icons/tumcreatelogo2.png')) self.setWindowTitle("Timing Set Manager") self.selected_tab_row = 0 self.create_widgets() self._load_variables()
def __init__(self, views, *args, **kwargs): QtGui.QMainWindow.__init__(self, *args, **kwargs) ''' 1. members ''' self.builder = GBuilder() ''' 2. initialize the gui factories ''' self.view_plugins = views ''' 3. actions ''' self.init_actions() self.create_widgets()
def __init__(self, parent): dockarea.DockArea.__init__(self) self.builder = GBuilder() self.widget_index = {} self.widget_text = {} self.dock_index = {} self._external_core = CheckpointInterpreterCore() self._information_box_items = ['Time', 'Associated Id', 'Monitor Tag', 'Message Id', 'Message', 'Size', 'Stream Id', 'Monitor Data', 'Description'] self._information_checked = {'Time': True, 'Associated Id': True, 'Monitor Tag': True, 'Message Id': True, 'Message': True, 'Size': True, 'Stream Id': False, 'Monitor Data': False, 'Description': True} self._info_widget_index = {} self.known = [] self.create_widgets(parent)
def __init__(self, condition, request, spec, q_tab_item): QWidget.__init__(self) self.builder = GBuilder() self.edited_item = q_tab_item self.condition = condition self.request = request self.spec_node = spec self._create_widget() self._fill_widgets() self.exec()
def create_widgets(self, parent): # Layout and Label vbox = QtGui.QVBoxLayout() self.label = QtGui.QLabel() self.label.setText("Buffer View") # Plot and Curves view = pg.GraphicsLayoutWidget(parent) self.plot = view.addPlot(title="Buffer View") self.plot.setLabel('left', 'Buffer Memory [B]') self.plot.setLabel('bottom', 'Time [sec]') self.plot.showGrid(x=True, y=True) self.plot_1 = self.plot.plot(pen=(255, 0, 0), name="Red curve", fillLevel=0, fillBrush=(255, 255, 255, 30)) self.plot_2 = self.plot.plot(pen=(0, 255, 0), name="Green curve", fillLevel=0, fillBrush=(255, 255, 255, 30)) # Combobox self.ecu_selection_cb = GBuilder().combobox( self, [], self._ecu_selection_changed) # Checkbuttons h_lay = QHBoxLayout() self.transmit_cb = QCheckBox("Transmit Buffer (red)") self.transmit_cb.setFixedWidth(150) self.transmit_cb.setFixedHeight(20) self.transmit_cb.setChecked(True) self.transmit_cb.stateChanged.connect(self._ecu_selection_changed) self.receive_cb = QCheckBox("Receive Buffer (green)") self.receive_cb.setFixedWidth(150) self.receive_cb.setChecked(True) self.receive_cb.setFixedHeight(20) self.receive_cb.stateChanged.connect(self._ecu_selection_changed) # Layout vbox.addWidget(self.label) vbox.addWidget(view) h_lay.addWidget(self.ecu_selection_cb) h_lay.addWidget(self.transmit_cb) h_lay.addWidget(self.receive_cb) vbox.addLayout(h_lay) self.setLayout(vbox)
def _show_env(self, selected_env, env_map): GBuilder().update_connected(self.content_gb, self.environment_gb.pos(), self.content_gb.pos(), self.content_gb.selected_env) # Mainwindow for chil in self.children(): if isinstance(chil, DragLabel): try: a = self._get_env_elem_by_icon(env_map[selected_env], chil) if a == None: chil.hide() else: chil.show() except: chil.hide()
def __init__(self, *args, **kwargs): QtGui.QMainWindow.__init__(self, *args, **kwargs) ''' 1. members ''' self.builder = GBuilder() self.monitor = Monitor() self.setWindowTitle('TUMCreate - Automotive Simulator') self.setWindowIcon(QtGui.QIcon(os.path.join(os.path.dirname(__file__), r'../icons/tumcreatelogo2.png'))) ''' 2. initialize the gui factories ''' ViewerPluginFactory().load_classes() SettingsPluginFactory().load_classes() ''' 3. actions ''' self.init_actions() self.create_widgets()
def __init__(self, parent): dockarea.DockArea.__init__(self) self.builder = GBuilder() self._bin = {} self.widget_index = {} self.widget_text = {} self.send_plot_text = {} self.rec_plot_text = {} self.dock_index = {} self._ecu_ids = [] self._information_box_items = ["a"] self._info_widget_index = {} self._init_tag_list() self.known = [] self.create_widgets(parent)
def create_widgets(self, parent): vbox = QtGui.QVBoxLayout() self.label = QtGui.QLabel() self.label.setText("Constellation") self.label.setFixedHeight(20) self.fc = Flowchart(terminals={'Connection': {'io': 'in'}}) self.fc._nodes['Input'].close() self.fc._nodes['Output'].close() self.view = self.fc.widget() wig = self.view.chartWidget self.view.chartWidget.hoverDock.hide() self.view.chartWidget.selectedTree.hide() self.view.chartWidget.selDock.label.setText("Selected Comp.") # add selection label self.selection_label = self.view.chartWidget.selDescLabel self.selection_label.setText("") self.selection_label.setFixedHeight(15) # add information table self.info_table = GBuilder().table(self.view.chartWidget.selDock, 1, 2, ["Settings", "Value"]) for r in range(self.info_table.rowCount()): self.info_table.setRowHeight(r, 20) self.info_table.horizontalHeader().hide() self.info_table.verticalHeader().hide() self.info_table.setSelectionBehavior(QAbstractItemView.SelectRows) self.info_table.setSortingEnabled(True) # self.view.chartWidget.selInfoLayout.addWidget(self.selection_label) self.view.chartWidget.selInfoLayout.addWidget(self.info_table) # override on selection self.view.chartWidget._scene.selectionChanged.connect( self._selection_changed) vbox.addWidget(self.label) vbox.addWidget(wig) self.setLayout(vbox)
def create_widgets(self, parent): # Main Layout vbox = QtGui.QVBoxLayout() self.setLayout(vbox) # Label vl_left = QVBoxLayout() self.top_label = GBuilder().label(parent, "Create a new Simulation or select a existing one from the list", None, None) vl_left.addWidget(self.top_label) hl_out = QHBoxLayout() vbox.addLayout(hl_out) # Buttons vl_right = QVBoxLayout() self.new_button = GBuilder().pushbutton(parent, "New", self._new_hit, os.getcwd() + r'/icons/new.png') vl_right.addWidget(self.new_button) self.import_button = GBuilder().pushbutton(parent, "Import", self._import_hit, os.getcwd() + r'/icons/import.png') vl_right.addWidget(self.import_button) self.save_button = GBuilder().pushbutton(parent, "Export", self._save_hit, os.getcwd() + r'/icons/save.png') vl_right.addWidget(self.save_button) self.build_button = GBuilder().pushbutton(parent, "Build Simulation", self._build_hit, os.getcwd() + r'/icons/build.png', 35, 35) self.build_button.setFixedHeight(40) vl_right.addWidget(self.build_button) # Table self.sims_table = GBuilder().table(parent, 5, 2, ["A"], False) self.sims_table.horizontalHeader().setResizeMode(1, QHeaderView.Fixed); self.sims_table.horizontalHeader().setResizeMode(0, QHeaderView.Stretch); self.sims_table.setColumnWidth(1, 32) # self.check_buts = GBuilder().add_checkbuttons(self.sims_table, 0, 1) self.sims_table.verticalHeader().setDefaultSectionSize(25) self.sims_table.verticalHeader().hide() self.sims_table.horizontalHeader().hide() self.sims_table.setFixedHeight(110) vl_left.addWidget(self.sims_table) hl_out.addLayout(vl_left) hl_out.addLayout(vl_right)
def create_widgets(self, parent): hbox = QHBoxLayout() # Left side # Layout and Label vbox_left = QtGui.QVBoxLayout() vbox_right = QtGui.QVBoxLayout() # Header up_hbox = QHBoxLayout() self._label = QtGui.QLabel(self) self._label.setText("Choose the communication partner") self._label.setFixedWidth(170) self._ecu_1_label = QtGui.QLabel(self) self._ecu_1_label.setText(" ECU 1:") self._ecu_1_label.setFixedWidth(50) self._ecu_2_label = QtGui.QLabel(self) self._ecu_2_label.setText(" ECU 2:") self._ecu_2_label.setFixedWidth(50) self._ecu_1_cb = GBuilder().combobox(self, [], self._on_ecu_selection_changed) self._ecu_1_cb.addItem("<< No Selection >>") self._ecu_1_cb.addItem("Unknown") self._ecu_2_cb = GBuilder().combobox(self, [], self._on_ecu_selection_changed) self._ecu_2_cb.addItem("<< No Selection >>") self._ecu_2_cb.addItem("Unknown") self._ass_cb = QCheckBox("Show only associated") self._ass_cb.setFixedWidth(130) self._ass_cb.stateChanged.connect(self._on_ecu_selection_changed) up_hbox.addWidget(self._label) up_hbox.addWidget(self._ecu_1_label) up_hbox.addWidget(self._ecu_1_cb) up_hbox.addWidget(self._ecu_2_label) up_hbox.addWidget(self._ecu_2_cb) up_hbox.addWidget(self._ass_cb) # Table self._time_table = GBuilder().table(self, 0, 3, ["Time", "ECU", 'Event'], False) self._time_table.setColumnWidth(0, 100) self._time_table.setColumnWidth(1, 170) self._time_table.setSortingEnabled(True) self._time_table.horizontalHeader().setResizeMode(0, QHeaderView.Fixed); self._time_table.horizontalHeader().setResizeMode(1, QHeaderView.Fixed); self._time_table.horizontalHeader().setResizeMode(2, QHeaderView.Stretch); # Layout vbox_left.addLayout(up_hbox) vbox_left.addWidget(self._time_table) # Right side v_lay = QVBoxLayout() self._times_gb = GBuilder().groupbox(self, "Times") self._times_gb.setFixedWidth(450) self._times_gb.setLayout(v_lay) vbox_right.addWidget(self._times_gb) self._up_info = GBuilder().label(self, self._label_up("-", "-", "-", "-", "-")) self._down_info = GBuilder().label(self, self._label_down("-")) v_lay.addWidget(self._up_info) v_lay.addWidget(self._down_info) hbox.addLayout(vbox_left) hbox.addLayout(vbox_right) self.setLayout(hbox)
def __init__(self, *args, **kwargs): QWidget.__init__(self, *args, **kwargs) self.builder = GBuilder() self.create_widgets()