def __init__(self):
		QWidget.__init__(self)

		self.setMinimumSize(1000,500)
		self.html = QWebView()

		vbox=QVBoxLayout()

		toolbar=QToolBar()
		toolbar.setIconSize(QSize(48, 48))

		back = QAction(QIcon(os.path.join(get_image_file_path(),"left.png")),  _("back"), self)
		back.triggered.connect(self.html.back)
		toolbar.addAction(back)

		home = QAction(QIcon(os.path.join(get_image_file_path(),"home.png")),  _("home"), self)
		home.triggered.connect(self.home)
		toolbar.addAction(home)

		self.tb_url=QLineEdit()
		self.tb_url.returnPressed.connect(self.browse)
		toolbar.addWidget(self.tb_url)
		
		vbox.addWidget(toolbar)

		self.default_url = "http://www.gpvdm.com/welcome.html"
		self.tb_url.setText(self.default_url)
		self.browse()

		vbox.addWidget(self.html)

		self.setLayout(vbox)
		return
Esempio n. 2
0
	def __init__(self,index):
		QWidget.__init__(self)

		self.index=index
		
		self.vbox=QVBoxLayout()

		toolbar=QToolBar()
		toolbar.setIconSize(QSize(48, 48))

		self.tb_save = QAction(QIcon(os.path.join(get_image_file_path(),"add.png")), _("Add"), self)
		self.tb_save.triggered.connect(self.callback_add_item)
		toolbar.addAction(self.tb_save)

		self.tb_save = QAction(QIcon(os.path.join(get_image_file_path(),"minus.png")), _("Minus"), self)
		self.tb_save.triggered.connect(self.callback_delete_item)
		toolbar.addAction(self.tb_save)

		self.vbox.addWidget(toolbar)

		self.tab = QTableWidget()
		self.tab.resizeColumnsToContents()

		self.tab.verticalHeader().setVisible(False)
		self.create_model()

		self.tab.cellChanged.connect(self.tab_changed)

		self.vbox.addWidget(self.tab)


		self.setLayout(self.vbox)
Esempio n. 3
0
	def init(self):

		self.main_vbox = QVBoxLayout()

		toolbar=QToolBar()
		toolbar.setIconSize(QSize(32, 32))

		self.tb_save = QAction(QIcon(os.path.join(get_image_file_path(),"save.svg")), "Save image", self)
		self.tb_save.setStatusTip(_("Close"))
		self.tb_save.triggered.connect(self.callback_save_image)
		toolbar.addAction(self.tb_save)

		self.main_vbox.addWidget(toolbar)

		self.my_figure=Figure(figsize=(5,4), dpi=100)
		self.canvas = FigureCanvas(self.my_figure)
		self.canvas.mpl_connect('key_press_event', self.press)
		self.canvas.setFocusPolicy( Qt.ClickFocus )
		self.canvas.setFocus()
		self.canvas.figure.patch.set_facecolor('white')
		#self.canvas.set_size_request(600, 400)
		self.canvas.show()

		self.main_vbox.addWidget(self.canvas)

		#self.canvas.connect('key_press_event', self.on_key_press_event)


		self.setLayout(self.main_vbox)
Esempio n. 4
0
    def file_toolbar(self):
        toolbar = QToolBar()
        toolbar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        toolbar.setIconSize(QSize(42, 42))

        self.import_image = QAction_lock("import_image",
                                         wrap_text(_("Load new image"),
                                                   7), self,
                                         "ribbon_shape_import_import_image")
        toolbar.addAction(self.import_image)

        self.save_data = QAction_lock("document-save-as",
                                      wrap_text(_("Import data"), 4), self,
                                      "ribbon_shape_import_save")
        toolbar.addAction(self.save_data)

        #self.xy_triangles= QAction_lock("shape", wrap_text(_("xy triangles"),2), self,"ribbon_shape_xy_tri")
        #toolbar.addAction(self.xy_triangles)

        self.tb_script = QAction_lock("script",
                                      wrap_text(_("Generate\nImage"), 2), self,
                                      "ribbon_shape_script")
        toolbar.addAction(self.tb_script)

        spacer = QWidget()
        spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        toolbar.addWidget(spacer)

        self.tb_help = QAction(icon_get("help"), _("Help"), self)
        self.tb_help.setStatusTip(_("Help"))
        toolbar.addAction(self.tb_help)

        return toolbar
Esempio n. 5
0
    def __init__(self, name="", parent_dataset=None, ax=None):
        """
        **Constructor**
        
        Keyword Arguments:
            - name {[type]} -- [description] (default: {""})
            - parent_dataset {[type]} -- [description] (default: {None})
            - ax {[type]} -- [description] (default: {None})
        """
        super().__init__(name, parent_dataset, ax)

        # add widgets specific to the theory
        tb = QToolBar()
        tb.setIconSize(QSize(24, 24))
        self.spinbox = QSpinBox()
        self.spinbox.setRange(1, self.MAX_MODES)  # min and max number of modes
        self.spinbox.setSuffix(" modes")
        self.spinbox.setValue(self.parameters["nmodes"].value)  #initial value
        tb.addWidget(self.spinbox)
        self.modesaction = tb.addAction(
            QIcon(':/Icon8/Images/new_icons/icons8-visible.png'), 'View modes')
        self.modesaction.setCheckable(True)
        self.modesaction.setChecked(True)
        self.thToolsLayout.insertWidget(0, tb)

        connection_id = self.spinbox.valueChanged.connect(
            self.handle_spinboxValueChanged)
        connection_id = self.modesaction.triggered.connect(
            self.modesaction_change)
Esempio n. 6
0
    def __init__(self):
        super().__init__()
        self.mywidget = central_widget()
        self.setCentralWidget(self.mywidget)
        
        Toolbar = QToolBar()
        Toolbar.setIconSize(QSize(16, 16))
        self.addToolBar(Toolbar)

        parent_action = QAction(QIcon('images/toolbar/up.png'), 'Parent', self)
        home_action = QAction(QIcon('images/toolbar/home.png'), 'Home', self)
        copy_action = QAction(QIcon('images/toolbar/copy.png'), 'Copy', self)
        paste_action = QAction(QIcon('images/toolbar/paste.png'), 'Paste', self)
        cut_action = QAction(QIcon('images/toolbar/cut.png'), 'Cut', self)
        view_action = QAction(QIcon('images/toolbar/view.png'), 'View', self)
        info_action = QAction(QIcon('images/toolbar/info.png'), 'Info', self)
        setup_action = QAction(QIcon('images/toolbar/setup.png'), 'Setup', self)
        trash_action = QAction(QIcon('images/toolbar/trash.png'), 'Trash', self)
        # parent_action.setShortcut('Ctrl+Q')
        parent_action.triggered.connect(self.open_parent)
        home_action.triggered.connect(self.open_home)
        copy_action.triggered.connect(self.copy_file)
        info_action.triggered.connect(self.get_dir_size)

        Toolbar.addAction((parent_action))
        Toolbar.addAction((home_action))
        Toolbar.addAction((copy_action))
        Toolbar.addAction((paste_action))
        Toolbar.addAction((cut_action))
        Toolbar.addAction((view_action))
        Toolbar.addAction((info_action))
        Toolbar.addAction((setup_action))
        Toolbar.addAction((trash_action))
Esempio n. 7
0
    def setup(self):
        # icons
        self.homeIcon = Icon('home.svg', '#0A0').getIcon()
        self.csvIcon = Icon('file-csv.svg', '#D50').getIcon()
        self.dbIcon = Icon('database.svg', '#666').getIcon()

        # Setup ToolBar
        toolBar = QToolBar('Left Menu', self)
        toolBar.setFloatable(False)
        toolBar.setMovable(False)
        toolBar.setIconSize(QSize(64, 64))
        toolBar.setStyleSheet('background-color: #004; color: #FFF;')

        # Tabs Properties
        self.TabContainer.setTabsClosable(True)
        self.TabContainer.tabCloseRequested.connect(self.closeTab)

        # Home
        home = QAction(self.homeIcon, 'Home', self)
        home.triggered.connect(self.onHome)
        self.TabContainer.addTab(self.home, self.homeIcon, 'Home')

        # CSV
        loadCSV = QAction(self.csvIcon, 'Load CSV', self)
        loadCSV.triggered.connect(self.onLoadCSV)

        # DB
        loadDB = QAction(self.dbIcon, 'Load From DataBase', self)
        loadDB.triggered.connect(self.onLoadDB)

        # Add to ToolBar
        toolBar.addAction(home)
        toolBar.addAction(loadCSV)
        toolBar.addAction(loadDB)
        self.addToolBar(Qt.LeftToolBarArea, toolBar)
Esempio n. 8
0
 def initToolBar(self):
     """
     Public method to populate a toolbar with our actions.
     
     @return the populated toolBar (QToolBar)
     """
     toolBar = QToolBar(self.tr("Graphics"), self)
     toolBar.setIconSize(UI.Config.ToolBarIconSize)
     toolBar.addAction(self.deleteShapeAct)
     toolBar.addSeparator()
     toolBar.addAction(self.alignLeftAct)
     toolBar.addAction(self.alignHCenterAct)
     toolBar.addAction(self.alignRightAct)
     toolBar.addAction(self.alignTopAct)
     toolBar.addAction(self.alignVCenterAct)
     toolBar.addAction(self.alignBottomAct)
     toolBar.addSeparator()
     toolBar.addAction(self.incWidthAct)
     toolBar.addAction(self.incHeightAct)
     toolBar.addAction(self.decWidthAct)
     toolBar.addAction(self.decHeightAct)
     toolBar.addAction(self.setSizeAct)
     toolBar.addSeparator()
     toolBar.addAction(self.rescanAct)
     toolBar.addAction(self.relayoutAct)
     
     return toolBar
Esempio n. 9
0
    def __init__(self, index):
        QWidget.__init__(self)

        vbox = QVBoxLayout()

        self.index = index

        toolbar = QToolBar()
        toolbar.setIconSize(QSize(48, 48))

        self.load_type = tb_pulse_load_type(self.index)
        #self.load_type.connect("changed", self.draw_callback)

        toolbar.addWidget(self.load_type)
        vbox.addWidget(toolbar)

        self.diode = QPixmap(os.path.join(get_image_file_path(), "diode.png"))
        self.ideal_diode = QPixmap(
            os.path.join(get_image_file_path(), "ideal_diode.png"))
        self.load = QPixmap(os.path.join(get_image_file_path(), "load.png"))
        self.ideal_load = QPixmap(
            os.path.join(get_image_file_path(), "ideal_load.png"))
        self.voc = QPixmap(os.path.join(get_image_file_path(), "voc.png"))

        self.darea = QWidget()

        vbox.addWidget(self.darea)

        self.setLayout(vbox)
        self.load_type.changed.connect(self.repaint)
        return
Esempio n. 10
0
    def main_toolbar(self):
        toolbar = QToolBar()
        toolbar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        toolbar.setIconSize(QSize(42, 42))

        self.cost = QAction(icon_get("cost"), _("Cost"), self)
        self.cost.setStatusTip(_("Cost of material"))
        #self.cost.triggered.connect(self.callback_cost)
        toolbar.addAction(self.cost)

        self.folder_open = QAction(icon_get("folder"),
                                   _("Material\ndirectory"), self)
        toolbar.addAction(self.folder_open)

        self.tb_ref = QAction(icon_get("ref"),
                              wrap_text(_("Insert reference information"), 8),
                              self)
        toolbar.addAction(self.tb_ref)

        spacer = QWidget()
        spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        toolbar.addWidget(spacer)

        self.help = QAction(icon_get("internet-web-browser"), _("Help"), self)
        toolbar.addAction(self.help)

        return toolbar
Esempio n. 11
0
	def initUI(self):
		icon = QIcon("bitbug_favicon.ico");
		exitAction = QAction(icon, "Exit", self);
		exitAction.setShortcut("Ctrl+Q");
		exitAction.setStatusTip("退出");
		exitAction.triggered.connect(qApp.quit);
		
		self.statusBar().showMessage("Ready");
		
		menuBar = self.menuBar();
		fileMenu = menuBar.addMenu("&File");
		fileMenu.addAction(exitAction);
		
		menuBar.addMenu("&Edit");
		
		menuBar.addMenu("&Search");
		
		menuBar.addMenu("&View");
		
		toolBar = QToolBar("E");
		self.addToolBar(toolBar);
		toolBar.addAction(exitAction);
		toolBar.setIconSize(QSize(40, 40));
		
		self.setGeometry(300, 300, 500, 300);
		self.setWindowTitle("俄式");
		
		self.show();
Esempio n. 12
0
    def initToolBar(self):
        """
        Public method to populate a toolbar with our actions.
        
        @return the populated toolBar (QToolBar)
        """
        toolBar = QToolBar(self.tr("Graphics"), self)
        toolBar.setIconSize(UI.Config.ToolBarIconSize)
        toolBar.addAction(self.deleteShapeAct)
        toolBar.addSeparator()
        toolBar.addAction(self.alignLeftAct)
        toolBar.addAction(self.alignHCenterAct)
        toolBar.addAction(self.alignRightAct)
        toolBar.addAction(self.alignTopAct)
        toolBar.addAction(self.alignVCenterAct)
        toolBar.addAction(self.alignBottomAct)
        toolBar.addSeparator()
        toolBar.addAction(self.incWidthAct)
        toolBar.addAction(self.incHeightAct)
        toolBar.addAction(self.decWidthAct)
        toolBar.addAction(self.decHeightAct)
        toolBar.addAction(self.setSizeAct)
        toolBar.addSeparator()
        toolBar.addAction(self.rescanAct)
        toolBar.addAction(self.relayoutAct)

        return toolBar
Esempio n. 13
0
 def createToolBar(self, title, name=""):
     """
     Public method to create a custom toolbar.
     
     @param title title to be used for the toolbar (string)
     @param name optional name for the new toolbar (string)
     @return reference to the created toolbar (QToolBar)
     """
     if self.__mainWindow is None:
         return None
     
     toolBar = QToolBar(title, self.__mainWindow)
     toolBar.setToolTip(title)
     if not name:
         index = 1
         customPrefix = "__CustomPrefix__"
         name = "{0}{1:d}".format(customPrefix, index)
         while self.__toolBarByName(name) is not None:
             index += 1
             name = "{0}{1:d}".format(customPrefix, index)
     toolBar.setObjectName(name)
     self.__mainWindow.addToolBar(toolBar)
     
     tbID = id(toolBar)
     self.__customToolBars.append(toolBar)
     self.__allToolBars[tbID] = toolBar
     self.__toolBars[tbID] = []
     self.__toolBarsWithSeparators[tbID] = []
     
     if self.__ui is not None:
         toolBar.setIconSize(self.__ui.getToolBarIconSize())
         self.__ui.registerToolbar(name, title, toolBar)
     
     return toolBar
Esempio n. 14
0
    def clusters(self):
        toolbar = QToolBar()
        toolbar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        toolbar.setIconSize(QSize(42, 42))

        self.order_widget = order_widget()
        self.order_widget.new_text = _("New cluster configuration")
        self.order_widget.delete_text = _("Delete configuration")
        self.order_widget.clone_text = _("Clone configuration")
        self.order_widget.rename_text = _("Rename configuration")
        self.order_widget.new_dlg_text = _("New cluster configuration:")
        self.order_widget.base_file_name = "cluster"
        self.order_widget.new_tab_name = _("Cluster")
        self.order_widget.clone_dlg_text = _(
            "Clone the current cluster configuration to a cluster configuration called:"
        )
        self.order_widget.rename_dlg_text = _(
            "Rename the cluster configuration to be called:")
        self.order_widget.delete_dlg_text = _(
            "Should I remove the cluster configuration ")
        self.order_widget.init()

        toolbar.addWidget(self.order_widget)

        return toolbar
Esempio n. 15
0
	def __init__(self,index):
		QWidget.__init__(self)

		vbox=QVBoxLayout()


		self.index=index

		toolbar=QToolBar()
		toolbar.setIconSize(QSize(48, 48))


		self.load_type=tb_pulse_load_type(self.index)
		#self.load_type.connect("changed", self.draw_callback)

		toolbar.addWidget(self.load_type)
		vbox.addWidget(toolbar)

		self.diode = QPixmap(os.path.join(get_image_file_path(),"diode.png"))
		self.ideal_diode = QPixmap(os.path.join(get_image_file_path(),"ideal_diode.png"))
		self.load = QPixmap(os.path.join(get_image_file_path(),"load.png"))
		self.ideal_load = QPixmap(os.path.join(get_image_file_path(),"ideal_load.png"))
		self.voc = QPixmap(os.path.join(get_image_file_path(),"voc.png"))

		self.darea = QWidget()

		vbox.addWidget(self.darea)

		self.setLayout(vbox)
		self.load_type.changed.connect(self.repaint)
		return
Esempio n. 16
0
    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)

        self.setWindowTitle("Jayone's Awesome App")

        label = QLabel('THIS IS AWESOME!!!')
        label.setAlignment(Qt.AlignCenter)

        self.setCentralWidget(label)

        toolbar = QToolBar('My main toolbar')
        toolbar.setIconSize(QSize(16, 16))
        self.addToolBar(toolbar)

        button_action = QAction(QIcon('bug.png'), 'Your button', self)
        button_action.setStatusTip('This is your button')
        button_action.triggered.connect(self.onMyToolBarButtonClick)
        button_action.setCheckable(True)
        toolbar.addAction(button_action)
        toolbar.addSeparator()

        button_action2 = QAction(QIcon('bug.png'), 'Your button2', self)
        button_action2.setStatusTip('This is your button2')
        button_action2.triggered.connect(self.onMyToolBarButtonClick)
        button_action2.setCheckable(False)
        toolbar.addAction(button_action2)
        toolbar.addSeparator()

        toolbar.addWidget(QLabel('Hello'))
        toolbar.addSeparator()

        toolbar.addWidget(QCheckBox())

        self.setStatusBar(QStatusBar(self))
Esempio n. 17
0
    def __init__(self, name='', parent_dataset=None, axarr=None):
        """
        **Constructor**
        
        Keyword Arguments:
            - name {[type]} -- [description] (default: {''})
            - parent_dataset {[type]} -- [description] (default: {None})
            - ax {[type]} -- [description] (default: {None})
        """
        super().__init__(name, parent_dataset, axarr)

        # add widgets specific to the theory here:
        tb = QToolBar()
        tb.setIconSize(QSize(24, 24))
        self.tbutstretched = tb.addAction(
            QIcon(':/Icon8/Images/new_icons/icons8-socks.png'), 'Stretched')
        self.tbutstretched.setCheckable(True)
        self.tbutstretched.setChecked(False)
        self.tbutnonideal = tb.addAction(
            QIcon(':/Images/Images/new_icons/icons8-broom.png'),
            'Non-Ideal Mix')
        self.tbutnonideal.setCheckable(True)
        self.tbutnonideal.setChecked(False)
        self.thToolsLayout.insertWidget(0, tb)

        #connections signal and slots
        connection_id = self.tbutstretched.triggered.connect(
            self.handle_tbutstretched_triggered)
        connection_id = self.tbutnonideal.triggered.connect(
            self.handle_tbutnonideal_triggered)
Esempio n. 18
0
    def __init__(self):
        QWidgetSavePos.__init__(self, "cost")
        self.setFixedSize(900, 600)
        self.setWindowIcon(icon_get("jv"))

        self.setWindowTitle(_("Cost and energy payback calculator"))

        self.main_vbox = QVBoxLayout()

        toolbar = QToolBar()
        toolbar.setIconSize(QSize(48, 48))

        self.play = QAction(icon_get("media-playback-start"),
                            _("Re-calcualte"), self)
        self.play.triggered.connect(self.update)
        toolbar.addAction(self.play)

        spacer = QWidget()
        spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        toolbar.addWidget(spacer)

        self.help = QAction(icon_get("help"), _("Help"), self)
        self.help.triggered.connect(self.callback_help)
        toolbar.addAction(self.help)

        self.main_vbox.addWidget(toolbar)

        self.tab = QTableWidget()

        self.main_vbox.addWidget(self.tab)

        self.setLayout(self.main_vbox)

        self.update()
Esempio n. 19
0
    def invoke(self):
        """
        the real setup function to show someting.
        """
        self.setupUi(self)

        # make sure the first col show full
        self.yeahdoclisttree.header().setResizeMode(0, QHeaderView.ResizeToContents)

        self.__initAction()

        # toolbar .
        classToolbar = QToolBar()
        classToolbar.setIconSize(QSize(16, 16))
        classToolbar.setMovable(False)
        self.rightsplitter.insertWidget(0, classToolbar)

        classToolbar.addAction(self.__actions["__yeahdoc_c_new__"])
        classToolbar.addAction(self.__actions["__yeahdoc_c_edit__"])
        classToolbar.addAction(self.__actions["__yeahdoc_c_rename__"])
        classToolbar.addAction(self.__actions["__yeahdoc_c_delete__"])
        classToolbar.addWidget(self.__evt_category_view())

        # More useful gadgets
        self.togglebtn.setIcon(QIcon(getPath("iconDir", "yeahdoc/right.png")))

        # read datas from db .
        self.__setupYeahdocCategoryDatas()
        self.__setupyeahdoclisttreeDatas()
Esempio n. 20
0
def initialise_tool_bar(parent_theory):
    """Add icons in theory toolbar"""
    #disable buttons
    parent_theory.parent_dataset.actionMinimize_Error.setDisabled(True)
    # parent_theory.parent_dataset.actionCalculate_Theory.setDisabled(True)
    # parent_theory.parent_dataset.actionShow_Limits.setDisabled(True)
    # parent_theory.parent_dataset.actionVertical_Limits.setDisabled(True)
    parent_theory.parent_dataset.actionHorizontal_Limits.setDisabled(True)

    ######toolbar
    tb = QToolBar()
    tb.setIconSize(QSize(24, 24))
    parent_theory.thToolsLayout.insertWidget(0, tb)

    #BOB settings buttons
    parent_theory.bob_settings_button = tb.addAction(
        QIcon(':/Icon8/Images/new_icons/icons8-BoB-settings.png'),
        'Edit BoB Binning Settings')
    parent_theory.save_bob_configuration_button = tb.addAction(
        QIcon(':/Icon8/Images/new_icons/icons8-save-BoB.png'),
        'Save Polymer Configuration for BoB')

    # seniority priority
    parent_theory.btn_prio_senio = tb.addAction(QIcon(':/Icon8/Images/new_icons/priority_seniority.png'), 'Calculate Priority and Seniority (can take some time)')
    parent_theory.btn_prio_senio.setCheckable(True)
    parent_theory.btn_prio_senio.setChecked(parent_theory.do_priority_seniority)
    parent_theory.old_views = []

    #signals
    connection_id = parent_theory.bob_settings_button.triggered.connect(
        parent_theory.handle_edit_bob_settings)
    connection_id = parent_theory.save_bob_configuration_button.triggered.connect(
        parent_theory.handle_save_bob_configuration)
    parent_theory.btn_prio_senio.triggered.connect(parent_theory.handle_btn_prio_senio)
Esempio n. 21
0
    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)
        self.setWindowTitle('My Awesome App !!!!!!')

        label = QLabel('This is a PyQt5 window !')
        label.setAlignment(Qt.AlignCenter)
        self.setCentralWidget(label)

        toolbar = QToolBar('My main toolbar')
        toolbar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        toolbar.setIconSize(QSize(16, 16))
        self.addToolBar(toolbar)

        button_action = QAction(QIcon('.\\bug.png'), "Your button", self)
        button_action.setStatusTip('This is your button')
        button_action.triggered.connect(self.onMyToolbarButtonClick)
        button_action.setCheckable(True)
        toolbar.addAction(button_action)

        toolbar.addSeparator()

        button_action2 = QAction(QIcon('.\\bug.png'), "Your button 2", self)
        button_action2.setStatusTip('This is your button 2')
        button_action2.triggered.connect(self.onMyToolbarButtonClick)
        button_action2.setCheckable(True)
        toolbar.addAction(button_action2)

        toolbar.addWidget(QLabel('Hello'))
        toolbar.addWidget(QCheckBox())

        self.setStatusBar(QStatusBar(self))
Esempio n. 22
0
	def advanced(self):
		toolbar = QToolBar()
		toolbar.setToolButtonStyle( Qt.ToolButtonTextUnderIcon)
		toolbar.setIconSize(QSize(42, 42))

		self.menu_plot_fits = QAction(icon_get("scan2"), wrap_text(_("Plot fits"),5), self)
		toolbar.addAction(self.menu_plot_fits)

		self.sim_no_gen = QAction(icon_get("forward"), wrap_text(_("Run simulation no generation"),5), self)
		toolbar.addAction(self.sim_no_gen)

		self.single_fit = QAction(icon_get("forward"), wrap_text(_("Run single fit"),5), self)
		toolbar.addAction(self.single_fit)

		self.clean_unconverged = QAction(icon_get("clean"), wrap_text(_("Clean unconverged simulation"),5), self)
		toolbar.addAction(self.clean_unconverged)

		self.clean_sim_output = QAction(icon_get("forward"), wrap_text(_("Clean simulation output"),5), self)
		toolbar.addAction(self.clean_sim_output)

		self.push_unconverged_to_hpc = QAction(icon_get("forward"), wrap_text(_("Push unconverged to hpc"),5), self)
		toolbar.addAction(self.push_unconverged_to_hpc)

		self.change_dir = QAction(icon_get("forward"), wrap_text(_("Change dir"),5), self)
		toolbar.addAction(self.change_dir)

		self.report = QAction(icon_get("office-calendar"), wrap_text(_("Report"),5), self)
		toolbar.addAction(self.report)

		return toolbar
Esempio n. 23
0
	def scan(self):
		toolbar = QToolBar()
		toolbar.setToolButtonStyle( Qt.ToolButtonTextUnderIcon)
		toolbar.setIconSize(QSize(42, 42))

		self.tb_new = QAction(icon_get("document-new"), wrap_text(_("New scan"),2), self)
		toolbar.addAction(self.tb_new)

		self.tb_delete = QAction(icon_get("edit-delete"), wrap_text(_("Delete scan"),3), self)
		toolbar.addAction(self.tb_delete)

		self.tb_clone = QAction(icon_get("clone"), wrap_text(_("Clone scan"),3), self)
		toolbar.addAction(self.tb_clone)

		self.tb_rename = QAction(icon_get("rename"), wrap_text(_("Rename scan"),3), self)
		toolbar.addAction(self.tb_rename)

		spacer = QWidget()
		spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
		toolbar.addWidget(spacer)

		self.home_help = QAction(icon_get("internet-web-browser"), _("Help"), self)
		toolbar.addAction(self.home_help)

		return toolbar
Esempio n. 24
0
	def __init__(self):
		QWidget.__init__(self)
		self.win_list=windows()
		self.setFixedSize(900, 600)
		self.setWindowIcon(QIcon(os.path.join(get_image_file_path(),"doping.png")))
		self.setWindowTitle(_("Doping profile editor (www.gpvdm.com)")) 

		self.win_list.set_window(self,"doping")
		self.main_vbox=QVBoxLayout()

		toolbar=QToolBar()
		toolbar.setIconSize(QSize(48, 48))

		self.save = QAction(QIcon(os.path.join(get_image_file_path(),"save.png")), _("Save"), self)
		self.save.triggered.connect(self.callback_save)
		toolbar.addAction(self.save)

		spacer = QWidget()
		spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
		toolbar.addWidget(spacer)


		self.help = QAction(QIcon(os.path.join(get_image_file_path(),"help.png")), _("Help"), self)
		self.help.triggered.connect(self.callback_help)
		toolbar.addAction(self.help)

		self.main_vbox.addWidget(toolbar)

		self.fig = Figure(figsize=(5,4), dpi=100)
		self.ax1=None
		self.show_key=True
		canvas = FigureCanvas(self.fig)
		#canvas.set_background('white')
		#canvas.set_facecolor('white')
		canvas.figure.patch.set_facecolor('white')
		canvas.show()

		self.main_vbox.addWidget(canvas)

		self.tab = QTableWidget()
		self.tab.resizeColumnsToContents()

		self.tab.verticalHeader().setVisible(False)

		self.tab.clear()
		self.tab.setColumnCount(4)
		self.tab.setSelectionBehavior(QAbstractItemView.SelectRows)

		self.load()
		self.build_mesh()

		self.tab.cellChanged.connect(self.tab_changed)

		self.main_vbox.addWidget(self.tab)


		self.draw_graph()

		self.setLayout(self.main_vbox)
		return
Esempio n. 25
0
    def createToolBar(self, title, name=""):
        """
        Public method to create a custom toolbar.
        
        @param title title to be used for the toolbar (string)
        @param name optional name for the new toolbar (string)
        @return reference to the created toolbar (QToolBar)
        """
        if self.__mainWindow is None:
            return None

        toolBar = QToolBar(title, self.__mainWindow)
        toolBar.setToolTip(title)
        if not name:
            index = 1
            customPrefix = "__CustomPrefix__"
            name = "{0}{1:d}".format(customPrefix, index)
            while self.__toolBarByName(name) is not None:
                index += 1
                name = "{0}{1:d}".format(customPrefix, index)
        toolBar.setObjectName(name)
        self.__mainWindow.addToolBar(toolBar)

        tbID = id(toolBar)
        self.__customToolBars.append(toolBar)
        self.__allToolBars[tbID] = toolBar
        self.__toolBars[tbID] = []
        self.__toolBarsWithSeparators[tbID] = []

        if self.__ui is not None:
            toolBar.setIconSize(self.__ui.getToolBarIconSize())
            self.__ui.registerToolbar(name, title, toolBar)

        return toolBar
Esempio n. 26
0
 def __init__(self, name="", parent_dataset=None, ax=None):
     """
     **Constructor**
     
     Keyword Arguments:
         - name {[type]} -- [description] (default: {""})
         - parent_dataset {[type]} -- [description] (default: {None})
         - ax {[type]} -- [description] (default: {None})
     """
     super().__init__(name, parent_dataset, ax)
     # add widgets specific to the theory
     tb = QToolBar()
     tb.setIconSize(QSize(24, 24))
     self.linkMeGeaction = tb.addAction(
         QIcon(':/Icon8/Images/new_icons/linkGeMe.png'), 'Link Me-Ge')
     self.linkMeGeaction.setCheckable(True)
     self.linkMeGeaction.setChecked(False)
     lbl = QLabel("<P><b>rho</b> (g/cm<sup>3</sup>)</P></br>", self)
     tb.addWidget(lbl)
     self.txtrho = QLineEdit("%.4g"%self.parameters["rho0"].value)
     self.txtrho.setReadOnly(True)
     self.txtrho.setDisabled(True)
     dvalidator = QDoubleValidator()  #prevent letters etc.
     dvalidator.setBottom(0)  #minimum allowed value
     dvalidator.setTop(10)  #maximum allowed value
     self.txtrho.setValidator(dvalidator)
     tb.addWidget(self.txtrho)
     self.thToolsLayout.insertWidget(0, tb)
     
     connection_id = self.linkMeGeaction.triggered.connect(self.linkMeGeaction_change)
     connection_id = self.txtrho.textEdited.connect(self.handle_txtrho_edited)
Esempio n. 27
0
    def math(self):
        toolbar = QToolBar()
        toolbar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        toolbar.setIconSize(QSize(42, 42))

        self.math_subtract_first_point = QAction(icon_get("plot_log_x"),
                                                 _("Subtract first point"),
                                                 self)
        toolbar.addAction(self.math_subtract_first_point)

        self.math_add_min_point = QAction(icon_get("plot_log_x"),
                                          _("Add min point"), self)
        toolbar.addAction(self.math_add_min_point)

        self.math_invert_y_axis = QAction(icon_get("plot_invert_y"),
                                          _("Invert y-axis"), self)
        toolbar.addAction(self.math_invert_y_axis)

        self.math_norm_y_to_one = QAction(icon_get("plot_log_x"),
                                          _("Norm to 1.0 y"), self)
        toolbar.addAction(self.math_norm_y_to_one)

        self.math_norm_to_peak_of_all_data = QAction(
            icon_get("plot_log_x"), _("Norm to peak of all data"), self)
        toolbar.addAction(self.math_norm_to_peak_of_all_data)

        self.math_heat_map = QAction(icon_get("plot_log_x"), _("Heat map"),
                                     self)
        toolbar.addAction(self.math_heat_map)

        self.math_heat_map_edit = QAction(icon_get("plot_log_x"),
                                          _("Heat map edit"), self)
        toolbar.addAction(self.math_heat_map_edit)

        return toolbar
Esempio n. 28
0
	def __init__(self):
		QWidget.__init__(self)

		self.setMinimumSize(1000,500)
		self.html = QWebView()

		vbox=QVBoxLayout()

		toolbar=QToolBar()
		toolbar.setIconSize(QSize(48, 48))

		back = QAction(icon_get("go-previous.png"),  _("back"), self)
		back.triggered.connect(self.html.back)
		toolbar.addAction(back)

		home = QAction(icon_get("user-home.png"),  _("home"), self)
		home.triggered.connect(self.home)
		toolbar.addAction(home)

		self.tb_url=QLineEdit()
		self.tb_url.returnPressed.connect(self.browse)
		toolbar.addWidget(self.tb_url)
		
		vbox.addWidget(toolbar)

		self.default_url = "http://www.gpvdm.com/welcome.html"
		self.tb_url.setText(self.default_url)
		self.browse()

		vbox.addWidget(self.html)

		self.setLayout(vbox)
		return
Esempio n. 29
0
 def add_folder(self, path, status_data=0):
     basename = os.path.basename(os.path.normpath(path))
     if self.findItems(basename):
         logging.warning("Tried to add a folder (%s) that already exists",
                         basename)
         return
     composite_pixmap = CompositePixmap(self.icon_folder.pixmap(256, 256))
     name = QStandardItem(QIcon(composite_pixmap), basename)
     name.setToolTip(path)
     status = QStandardItem()
     mtime = QStandardItem()
     size = QStandardItem()
     action = QStandardItem()
     self.appendRow([name, status, mtime, size, action])
     action_bar = QToolBar()
     action_bar.setIconSize(QSize(16, 16))
     if sys.platform == 'darwin':
         # See: https://bugreports.qt.io/browse/QTBUG-12717
         action_bar.setStyleSheet(
             'background-color: white; border: 0px white')
     action_bar_action = QAction(self.icon_action, "Action...", self)
     action_bar_action.setStatusTip("Action...")
     action_bar_action.triggered.connect(self.view.on_right_click)
     action_bar.addAction(action_bar_action)
     self.view.setIndexWidget(action.index(), action_bar)
     self.view.hide_drop_label()
     self.set_status(basename, status_data)
Esempio n. 30
0
    def __createToolbar(self):
        self.buttons = {}

        toolbar = QToolBar("bottom toolbar")
        toolbar.setOrientation(Qt.Horizontal)
        toolbar.setAllowedAreas(Qt.BottomToolBarArea)
        toolbar.setIconSize(QSize(32, 32))

        button1 = QPushButton("Show All")
        toolbar.addWidget(button1)
        toolbar.addSeparator()

        button2 = QPushButton("Play")
        toolbar.addWidget(button2)
        toolbar.addSeparator()

        button3 = QPushButton("Stop")
        toolbar.addWidget(button3)
        toolbar.addSeparator()

        button4 = QPushButton("Record")
        toolbar.addWidget(button4)
        toolbar.addSeparator()

        self.addToolBar(Qt.BottomToolBarArea, toolbar)
Esempio n. 31
0
 def init_tool_bar(self):
     toolbar = QToolBar()
     toolbar.setIconSize(QSize(30, 30))
     toolbar.setToolButtonStyle(Qt.ToolButtonTextBesideIcon
                                | Qt.AlignLeading)  # <= Toolbuttonstyle
     self.addToolBar(Qt.LeftToolBarArea, toolbar)
     self.toolbar = toolbar
     self.toolbar.addAction(self.logon_action)
     self.toolbar.addSeparator()
     self.toolbar.addAction(self.join_chat_action)
     self.toolbar.addSeparator()
     self.toolbar.addAction(self.contact_user_action)
     self.toolbar.addSeparator()
     self.toolbar.addAction(self.edit_profile_action)
     self.toolbar.addSeparator()
     self.toolbar.addAction(self.save_action)
     self.toolbar.addSeparator()
     self.toolbar.addAction(self.send_action)
     self.toolbar.addAction(self.random_action)
     self.toolbar.addSeparator()
     self.toolbar.addAction(self.bold_action)
     self.toolbar.addAction(self.italic_action)
     self.toolbar.addAction(self.underline_action)
     self.toolbar.addAction(self.smile_action)
     self.toolbar.addAction(self.exit_action)
     self.toolbar.addSeparator()
     self.toolbar.addSeparator()
     self.toolbar.addSeparator()
     self.toolbar.addAction(self.debug_action)
     self.toolbar.setMovable(False)
Esempio n. 32
0
    def measurement(self):
        toolbar = QToolBar()
        toolbar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        toolbar.setIconSize(QSize(42, 42))

        self.order_widget = order_widget()
        self.order_widget.new_text = _("New measurement")
        self.order_widget.delete_text = _("Delete measurement")
        self.order_widget.clone_text = _("Clone measurement")
        self.order_widget.rename_text = _("Rename measurement")
        self.order_widget.new_dlg_text = _("New measurement name")
        self.order_widget.base_file_name = "measure"
        self.order_widget.new_tab_name = _("measurement")
        self.order_widget.clone_dlg_text = _(
            "Clone the current measurement to a new measurement called:")
        self.order_widget.rename_dlg_text = _(
            "Rename the measurement to be called")
        self.order_widget.delete_dlg_text = _(
            "Should I remove the measurment file ")
        self.order_widget.init()

        toolbar.addWidget(self.order_widget)

        spacer = QWidget()
        spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        toolbar.addWidget(spacer)

        self.home_help = QAction(icon_get("internet-web-browser"), _("Help"),
                                 self)
        toolbar.addAction(self.home_help)

        return toolbar
Esempio n. 33
0
	def optics(self):
		toolbar = QToolBar()
		toolbar.setToolButtonStyle( Qt.ToolButtonTextUnderIcon)
		toolbar.setIconSize(QSize(42, 42))
		
		self.run = QAction(QIcon_load("media-playback-start"), wrap_text(_("Run optical simulation"),5), self)
		toolbar.addAction(self.run)
		
		self.tb_save = QAction(QIcon_load("document-save-as"), _("Save graph"), self)
		#self.tb_save.triggered.connect(self.save_image)
		toolbar.addAction(self.tb_save)

		self.fx_box=fx_selector()
		self.fx_box.show_all=True
		self.fx_box.file_name_set_start("light_1d_") 
		self.fx_box.file_name_set_end("_photons_abs.dat")
		self.fx_box.update()
		toolbar.addWidget(self.fx_box)
		
		self.optial_model=tb_optical_model()
		toolbar.addWidget(self.optial_model)

		self.spectrum=tb_spectrum()
		toolbar.addWidget(self.spectrum)

		spacer = QWidget()
		spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
		toolbar.addWidget(spacer)


		self.help = QAction(QIcon_load("help"), _("Help"), self)
		toolbar.addAction(self.help)
		return toolbar
Esempio n. 34
0
    def __init__(self, name='', parent_dataset=None, axarr=None):
        """
        **Constructor**
        
        Keyword Arguments:
            - name {[type]} -- [description] (default: {''})
            - parent_dataset {[type]} -- [description] (default: {None})
            - ax {[type]} -- [description] (default: {None})
        """
        super().__init__(name, parent_dataset, axarr)
        # temp_dir = os.path.join('theories', 'temp')
        # #create temp folder if does not exist
        # if not os.path.exists(temp_dir):
        #     os.makedirs(temp_dir)
        self.selected_file = None
        self.setup_dialog()
        tb = QToolBar()
        tb.setIconSize(QSize(24, 24))
        self.btn_prio_senio = tb.addAction(
            QIcon(':/Icon8/Images/new_icons/priority_seniority.png'),
            'Calculate Priority and Seniority (can take some time)')
        self.btn_prio_senio.setCheckable(True)
        self.btn_prio_senio.setChecked(self.do_priority_seniority)

        # BoB LVE do not calculate priority & seniority (leave it to React)
        # uncomment below for the possiblity to calculate priority & seniority in BoB LVE

        # self.thToolsLayout.insertWidget(0, tb)
        self.btn_prio_senio.triggered.connect(self.handle_btn_prio_senio)
Esempio n. 35
0
    def __init__(self, scene, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)
        # self.windowTitleChanged.connect(self.onWindowTitleChange)
        self.setWindowTitle("timeline0")

        toolbar = QToolBar("och")
        toolbar.setIconSize(QSize(20, 20))
        self.addToolBar(toolbar)

        button_action = QAction(QIcon("balance.png"), "ochtuse", self)
        button_action.setStatusTip("och, just do something")
        button_action.triggered.connect(self.onMyToolBarButtonClick)
        button_action.setCheckable(True)
        # button_action.setShortcut(QKeySequence("Ctrl+p"))
        # button_action.setShortcut(QKeySequence(Qt.CTRL + Qt.Key_P))
        button_action.setShortcut(QKeySequence.Print)
        toolbar.addAction(button_action)
        toolbar.addWidget(QLabel("OCH"))
        toolbar.addWidget(QCheckBox())

        self.setStatusBar(QStatusBar(self))

        menu = self.menuBar()

        file_menu = menu.addMenu("&File")
        file_menu.addAction(button_action)
        file_menu.addSeparator()
        file_menu.addMenu("Do not push")
        #        file_menu.addAction()

        self._scene = scene
        gfx = self._gfx = QGraphicsView(self)
        # label = QLabel("och!")
        # label.setAlignment(Qt.AlignCenter)

        # ref https://doc.qt.io/archives/qq/qq26-openglcanvas.html
        self.setCentralWidget(gfx)
        fmt = QGLFormat(QGL.SampleBuffers)
        wdgt = QGLWidget(fmt)
        assert (wdgt.isValid())
        gfx.setViewport(wdgt)
        gfx.setViewportUpdateMode(QGraphicsView.FullViewportUpdate)
        gfx.setScene(scene)

        # populate fills the scene with interesting stuff.
        self.populate()

        # Make it bigger
        self.setWindowState(Qt.WindowMaximized)

        # Well... it's going to have an animation, ok?

        # So, I set a timer to 1 second
        self.animator = QTimer()

        # And when it triggers, it calls the animate method
        self.animator.timeout.connect(self.animate)

        # And I animate it once manually.
        self.animate()
Esempio n. 36
0
class ribbon_shape(ribbon_base):
	def main_toolbar(self):
		self.main_toolbar = QToolBar()
		self.main_toolbar.setToolButtonStyle( Qt.ToolButtonTextUnderIcon)
		self.main_toolbar.setIconSize(QSize(42, 42))

		self.tb_import = QAction(icon_get("import_image"), wrap_text("Import image",3), self)
		self.main_toolbar.addAction(self.tb_import)

		spacer = QWidget()
		spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
		self.main_toolbar.addWidget(spacer)

		self.help = QAction(icon_get("internet-web-browser"), _("Help"), self)
		self.main_toolbar.addAction(self.help)


		return self.main_toolbar


	def __init__(self):
		ribbon_base.__init__(self)

		w=self.main_toolbar()
		self.addTab(w,_("File"))

		#w=self.import_toolbar()
		#self.addTab(w,_("Import data"))

		sheet=self.readStyleSheet(os.path.join(get_css_path(),"style.css"))
		if sheet!=None:
			sheet=str(sheet,'utf-8')
			self.setStyleSheet(sheet)
Esempio n. 37
0
    def file(self):
        toolbar = QToolBar()
        toolbar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        toolbar.setIconSize(QSize(42, 42))

        self.home_new = QAction(QIcon_load("document-new"),
                                _("New simulation").replace(" ", "\n"), self)
        #self.home_new.setText(_("New\nsimulation"))
        toolbar.addAction(self.home_new)

        self.home_open = QAction(QIcon_load("document-open"),
                                 _("Open\nsimulation"), self)
        toolbar.addAction(self.home_open)

        self.home_export = QAction(QIcon_load("document-export"),
                                   _("Export\ndata"), self)
        toolbar.addAction(self.home_export)

        spacer = QWidget()
        spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        toolbar.addWidget(spacer)

        self.home_help = QAction(QIcon_load("internet-web-browser"), _("Help"),
                                 self)
        toolbar.addAction(self.home_help)

        return toolbar
Esempio n. 38
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.setWindowTitle("My GUI App")

        label = QLabel("This is a PyQt5 window")
        label.setAlignment(Qt.AlignCenter)

        self.setCentralWidget(label)

        toolbar = QToolBar("My Main Toolbar")
        toolbar.setIconSize(QSize(16, 16))
        self.addToolBar(toolbar)

        buttonAction = QAction(QIcon(path.join(iconsPath, "bug.png")),
                               "Your button", self)
        buttonAction.setStatusTip("This is your button")
        buttonAction.triggered.connect(self.onMyToolBarButtonClick)
        buttonAction.setCheckable(True)
        toolbar.addAction(buttonAction)

        toolbar.addSeparator()

        buttonAction2 = QAction(QIcon(path.join(iconsPath, "bug.png")),
                                "Your button 2", self)
        buttonAction2.setStatusTip("This is your second button")
        buttonAction2.triggered.connect(self.onMyToolBarButtonClick)
        buttonAction2.setCheckable(True)
        toolbar.addAction(buttonAction2)

        toolbar.addWidget(QLabel("Hello"))
        toolbar.addWidget(QCheckBox())

        self.setStatusBar(QStatusBar(self))
Esempio n. 39
0
    def init(self):
        self.fig = Figure(figsize=(5, 4), dpi=100)
        self.canvas = FigureCanvas(self.fig)
        self.canvas.figure.patch.set_facecolor("white")

        self.main_vbox = QVBoxLayout()

        toolbar = QToolBar()
        toolbar.setIconSize(QSize(48, 48))

        self.tb_save = QAction(QIcon(os.path.join(get_image_file_path(), "32_save.png")), _("Save image"), self)
        self.tb_save.triggered.connect(self.callback_save)
        toolbar.addAction(self.tb_save)

        self.tb_ref = QAction(
            QIcon(os.path.join(get_image_file_path(), "32_ref.png")), _("Insert reference information"), self
        )
        self.tb_ref.triggered.connect(self.callback_ref)
        toolbar.addAction(self.tb_ref)

        self.main_vbox.addWidget(toolbar)

        self.main_vbox.addWidget(self.canvas)

        # toolbar 2

        toolbar2 = QToolBar()
        toolbar2.setIconSize(QSize(48, 48))

        self.tb_add = QAction(QIcon(os.path.join(get_image_file_path(), "add.png")), _("Add section"), self)
        self.tb_add.triggered.connect(self.callback_add_section)
        toolbar2.addAction(self.tb_add)

        self.tb_remove = QAction(QIcon(os.path.join(get_image_file_path(), "minus.png")), _("Delete section"), self)
        self.tb_remove.triggered.connect(self.callback_remove_item)
        toolbar2.addAction(self.tb_remove)

        self.tb_move = QAction(QIcon(os.path.join(get_image_file_path(), "down.png")), _("Move down"), self)
        self.tb_move.triggered.connect(self.callback_move_down)
        toolbar2.addAction(self.tb_move)

        self.main_vbox.addWidget(toolbar2)

        self.tab = QTableWidget()
        self.tab.resizeColumnsToContents()

        self.tab.verticalHeader().setVisible(False)

        self.main_vbox.addWidget(self.tab)

        self.setLayout(self.main_vbox)

        self.load_data()

        self.build_mesh()

        self.draw_graph()

        self.tab.cellChanged.connect(self.on_cell_edited)
Esempio n. 40
0
	def __init__(self):
		QWidget.__init__(self)
		self.complex_display=False

		self.hbox=QVBoxLayout()
		self.gl_cmp=gl_cmp(os.path.join(os.getcwd(),"snapshots"))
		
		toolbar=QToolBar()
		toolbar.setIconSize(QSize(42, 42))

		self.tb_rotate = QAction(QIcon(os.path.join(get_image_file_path(),"rotate.png")), _("Rotate"), self)
		self.tb_rotate.triggered.connect(self.tb_rotate_click)
		toolbar.addAction(self.tb_rotate)
		self.tb_rotate.setEnabled(True)
		
		self.tb_contact = QAction(QIcon(os.path.join(get_image_file_path(),"contact.png")), _("Contacts"), self)
		self.tb_contact.triggered.connect(self.callback_contacts)
		toolbar.addAction(self.tb_contact)

		self.tb_mesh = QAction(QIcon(os.path.join(get_image_file_path(),"mesh.png")), _("Edit the electrical mesh"), self)
		self.tb_mesh.triggered.connect(self.callback_edit_mesh)
		toolbar.addAction(self.tb_mesh)


		self.tb_config = QAction(QIcon(os.path.join(get_image_file_path(),"cog.png")), _("Configuration"), self)
		self.tb_config.triggered.connect(self.callback_configure)
		toolbar.addAction(self.tb_config)
		
		self.hbox.addWidget(toolbar)
		
		enable_3d=inp_get_token_value(os.path.join(os.getcwd(),"config.inp") , "#gui_config_3d_enabled")
		if enable_3d==None:
			enable_3d="True"
		enable_3d=str2bool(enable_3d)
		
		if enable_3d==True:
			self.display=glWidget(self)
			self.hbox.addWidget(self.display)
			self.display.setMinimumSize(800, 600)

			self.timer=QTimer()
			self.timer.setSingleShot(True)
			self.timer.timeout.connect(self.timer_update)
			self.timer.start(2000)
		else:
			self.add_fallback()
			
		self.setLayout(self.hbox)

		self.electrical_mesh=tab_electrical_mesh()
		self.electrical_mesh.changed.connect(self.recalculate)

		self.contacts_window=contacts_window()
		self.contacts_window.changed.connect(self.recalculate)

		self.gl_cmp.slider.changed.connect(self.recalculate)
Esempio n. 41
0
	def __init__(self):
		QWidget.__init__(self)
		self.setFixedSize(600, 400)

		self.win_list=windows()
		self.win_list.set_window(self,"contacts")

		self.setWindowIcon(QIcon(os.path.join(get_image_file_path(),"contact.png")))

		self.setWindowTitle(_("Edit contacts (www.gpvdm.com)")) 
		
		self.main_vbox = QVBoxLayout()

		toolbar=QToolBar()
		toolbar.setIconSize(QSize(48, 48))

		add = QAction(QIcon(os.path.join(get_image_file_path(),"add.png")),  _("Add contact"), self)
		add.triggered.connect(self.on_add_clicked)
		toolbar.addAction(add)

		remove = QAction(QIcon(os.path.join(get_image_file_path(),"minus.png")),  _("Remove contacts"), self)
		remove.triggered.connect(self.on_remove_clicked)
		toolbar.addAction(remove)

		spacer = QWidget()
		spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
		toolbar.addWidget(spacer)


		self.help = QAction(QIcon(os.path.join(get_image_file_path(),"help.png")), 'Hide', self)
		self.help.setStatusTip(_("Close"))
		self.help.triggered.connect(self.callback_help)
		toolbar.addAction(self.help)

		self.main_vbox.addWidget(toolbar)

		self.tab = QTableWidget()
		self.tab.resizeColumnsToContents()

		self.tab.verticalHeader().setVisible(False)

		self.tab.clear()
		self.tab.setColumnCount(5)
		self.tab.setSelectionBehavior(QAbstractItemView.SelectRows)

		self.load()

		self.tab.cellChanged.connect(self.tab_changed)

		self.main_vbox.addWidget(self.tab)


		self.setLayout(self.main_vbox)
Esempio n. 42
0
    def __init__(self, parent = None):
        super().__init__(parent)
        self.mOpacityLabel = QLabel()
        self.mOpacitySlider = QSlider(Qt.Horizontal)
        self.mLayerView = LayerView()
        self.mMapDocument = None
        self.mUpdatingSlider = False
        self.mChangingLayerOpacity = False
        self.mUpdatingSlider = False

        self.setObjectName("layerDock")
        widget = QWidget(self)
        layout = QVBoxLayout(widget)
        layout.setContentsMargins(5, 5, 5, 5)
        opacityLayout = QHBoxLayout()
        self.mOpacitySlider.setRange(0, 100)
        self.mOpacitySlider.setEnabled(False)
        opacityLayout.addWidget(self.mOpacityLabel)
        opacityLayout.addWidget(self.mOpacitySlider)
        self.mOpacityLabel.setBuddy(self.mOpacitySlider)
        handler = MapDocumentActionHandler.instance()
        newLayerMenu = QMenu(self)
        newLayerMenu.addAction(handler.actionAddTileLayer())
        newLayerMenu.addAction(handler.actionAddObjectGroup())
        newLayerMenu.addAction(handler.actionAddImageLayer())
        newIcon = QIcon(":/images/16x16/document-new.png")
        newLayerButton = QToolButton()
        newLayerButton.setPopupMode(QToolButton.InstantPopup)
        newLayerButton.setMenu(newLayerMenu)
        newLayerButton.setIcon(newIcon)
        Utils.setThemeIcon(newLayerButton, "document-new")
        buttonContainer = QToolBar()
        buttonContainer.setFloatable(False)
        buttonContainer.setMovable(False)
        buttonContainer.setIconSize(QSize(16, 16))
        buttonContainer.addWidget(newLayerButton)
        buttonContainer.addAction(handler.actionMoveLayerUp())
        buttonContainer.addAction(handler.actionMoveLayerDown())
        buttonContainer.addAction(handler.actionDuplicateLayer())
        buttonContainer.addAction(handler.actionRemoveLayer())
        buttonContainer.addSeparator()
        buttonContainer.addAction(handler.actionToggleOtherLayers())
        listAndToolBar = QVBoxLayout()
        listAndToolBar.setSpacing(0)
        listAndToolBar.addWidget(self.mLayerView)
        listAndToolBar.addWidget(buttonContainer)
        layout.addLayout(opacityLayout)
        layout.addLayout(listAndToolBar)
        self.setWidget(widget)
        self.retranslateUi()
        self.mOpacitySlider.valueChanged.connect(self.sliderValueChanged)
        self.updateOpacitySlider()
Esempio n. 43
0
	def __init__(self):
		QWidget.__init__(self)
		self.setFixedSize(900, 600)
		self.setWindowIcon(QIcon(os.path.join(get_image_file_path(),"jv.png")))

		self.setWindowTitle(_("Steady state simulation (www.gpvdm.com)")) 
		

		self.main_vbox = QVBoxLayout()

		toolbar=QToolBar()
		toolbar.setIconSize(QSize(48, 48))

		spacer = QWidget()
		spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
		toolbar.addWidget(spacer)


		self.help = QAction(QIcon(os.path.join(get_image_file_path(),"help.png")), 'Hide', self)
		self.help.setStatusTip(_("Close"))
		self.help.triggered.connect(self.callback_help)
		toolbar.addAction(self.help)

		self.main_vbox.addWidget(toolbar)


		self.notebook = QTabWidget()

		self.notebook.setTabsClosable(True)
		self.notebook.setMovable(True)

		self.main_vbox.addWidget(self.notebook)


		files=["jv.inp","jv_simple.inp","sun_voc.inp"]
		description=["JV simulation","Diode equation","Suns v.s. Voc"]


		for i in range(0,len(files)):
			tab=tab_class()
			tab.init(files[i],description[i])
			self.notebook.addTab(tab,description[i])


		self.setLayout(self.main_vbox)
		self.win_list=windows()
		self.win_list.load()
		self.win_list.set_window(self,"jv_window")
		
		self.notebook.currentChanged.connect(self.changed_click)
Esempio n. 44
0
	def __init__(self,file_name):
		QWidget.__init__(self)
		self.setFixedSize(900, 600)
		self.setWindowIcon(QIcon(os.path.join(get_image_file_path(),"jv.png")))

		self.setWindowTitle(_("Simulation information (www.gpvdm.com)")) 
		

		self.main_vbox = QVBoxLayout()

		toolbar=QToolBar()
		toolbar.setIconSize(QSize(48, 48))

		spacer = QWidget()
		spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
		toolbar.addWidget(spacer)


		self.help = QAction(QIcon(os.path.join(get_image_file_path(),"help.png")), 'Hide', self)
		self.help.setStatusTip(_("Close"))
		self.help.triggered.connect(self.callback_help)
		toolbar.addAction(self.help)

		self.main_vbox.addWidget(toolbar)


		self.notebook = QTabWidget()

		self.notebook.setMovable(True)

		self.main_vbox.addWidget(self.notebook)


		files=[file_name]
		description=["Simulation Information"]


		for i in range(0,len(files)):
			tab=tab_class()
			tab.set_edit(False)
			tab.init(files[i],description[i])
			self.notebook.addTab(tab,description[i])


		self.setLayout(self.main_vbox)
		self.win_list=windows()
		self.win_list.load()
		self.win_list.set_window(self,"sim_info_window")
Esempio n. 45
0
	def init(self):
		self.setFixedSize(900, 600)
		self.setWindowIcon(QIcon(os.path.join(get_image_file_path(),"cog.png")))

		self.setWindowTitle(_("Configure (www.gpvdm.com)")) 
		

		self.main_vbox = QVBoxLayout()

		toolbar=QToolBar()
		toolbar.setIconSize(QSize(48, 48))

		spacer = QWidget()
		spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
		toolbar.addWidget(spacer)


		self.undo = QAction(QIcon(os.path.join(get_image_file_path(),"help.png")), 'Hide', self)
		self.undo.setStatusTip(_("Close"))
		self.undo.triggered.connect(self.callback_help)
		toolbar.addAction(self.undo)

		self.main_vbox.addWidget(toolbar)

		

		self.notebook = QTabWidget()

		self.notebook.setMovable(True)

		self.main_vbox.addWidget(self.notebook)

		files=["math.inp","dump.inp","thermal.inp","led.inp","config.inp"]
		description=["Math","Dump","Thermal","LED","GUI  config"]

		for i in range(0,len(files)):
			tab=tab_class()
			tab.init(files[i],description[i])
			self.notebook.addTab(tab,description[i])


		self.setLayout(self.main_vbox)
		self.win_list=windows()
		self.win_list.load()
		self.win_list.set_window(self,"config_window")
Esempio n. 46
0
class ToolBarAction(QWidgetAction):
    def __init__(self, *args, **kwargs):
        super(ToolBarAction, self).__init__(*args, **kwargs)
        self._toolBar = QToolBar(styleSheet="QToolBar {background: transparent; border: 0;}")
        self._toolBar.setIconSize(QSize(16, 16))
        self.setDefaultWidget(self._toolBar)
    def toolBar(self):
        return self._toolBar
    def addAction(self, action):
        self._toolBar.addAction(action)
        if action.shortcut().toString() > "":
            action.setToolTip(action.text().replace("&", "") + "<br>" + action.shortcut().toString())
    def widgetForAction(self, *args, **kwargs):
        return self._toolBar.widgetForAction(*args, **kwargs)
    def addWidget(self, *args, **kwargs):
        self._toolBar.addWidget(*args, **kwargs)
    def addSeparator(self):
        self._toolBar.addSeparator()
Esempio n. 47
0
	def make_tool_box1(self):
		toolbar=QToolBar()
		toolbar.setIconSize(QSize(42, 42))
		if enable_betafeatures()==True:
			self.qe_button = QAction(QIcon(os.path.join(get_image_file_path(),"qe.png")), _("Quantum efficiency"), self)
			self.qe_button.triggered.connect(self.callback_qe_window)
			toolbar.addAction(self.qe_button)
			self.qe_button.setEnabled(False)

		self.sim_mode_button=tb_item_sim_mode()
		toolbar.addWidget(self.sim_mode_button)
		self.sim_mode_button.setEnabled(False)


		self.light_button=tb_item_sun()
		toolbar.addWidget(self.light_button)
		self.light_button.setEnabled(False)

		return toolbar
Esempio n. 48
0
	def __init__(self):
		QWidget.__init__(self)
		edit_boxes=QWidget()
		vbox=QVBoxLayout()

		self.lumo=equation_editor("lumo0.inp","LUMO")
		vbox.addWidget(self.lumo)
		
		self.h**o=equation_editor("homo0.inp","H**O")
		vbox.addWidget(self.h**o)
		
		
		edit_boxes.setLayout(vbox)

		hbox=QHBoxLayout()

		toolbar=QToolBar()
		toolbar.setIconSize(QSize(48, 48))
		toolbar.setOrientation(Qt.Vertical)
		add = QAction(QIcon(os.path.join(get_image_file_path(),"save.png")),  _("Save"), self)
		add.triggered.connect(self.callback_save)
		toolbar.addAction(add)

		hbox.addWidget(toolbar)

		self.LUMO_fig = Figure(figsize=(5,4), dpi=100)


		self.draw_graph_lumo()
		self.canvas_lumo = FigureCanvas(self.LUMO_fig)
		self.canvas_lumo.figure.patch.set_facecolor('white')

		self.LUMO_fig.tight_layout(pad=0.5)

		hbox.addWidget(self.canvas_lumo)


		hbox.addWidget(edit_boxes)
		
		self.setLayout(hbox)
		
		self.lumo.changed.connect(self.update_graph)
		self.h**o.changed.connect(self.update_graph)
	def __init__(self,index):
		QWidget.__init__(self)

		self.index=index
		self.fig = Figure(figsize=(5,4), dpi=100)
		self.ax1=None
		self.show_key=True
		
		self.hbox=QVBoxLayout()
		self.edit_list=[]
		self.line_number=[]

		self.list=[]
		print("index=",index)


		canvas = FigureCanvas(self.fig)  # a gtk.DrawingArea
		#canvas.set_background('white')
		#canvas.set_facecolor('white')
		canvas.figure.patch.set_facecolor('white')
		#canvas.set_size_request(500, 150)

		#canvas.set_size_request(700,400)

		self.draw_graph()

		toolbar=QToolBar()
		toolbar.setIconSize(QSize(48, 48))


		self.tb_save = QAction(QIcon(os.path.join(get_image_file_path(),"save.png")), _("Save graph"), self)
		self.tb_save.triggered.connect(self.callback_save)
		toolbar.addAction(self.tb_save)


		nav_bar=NavigationToolbar(canvas,self)
		toolbar.addWidget(nav_bar)

		self.hbox.addWidget(toolbar)
		
		self.hbox.addWidget(canvas)

		self.setLayout(self.hbox)
Esempio n. 50
0
    def __init__(self, parent = None):
        super().__init__(parent)
        self.mExpandedGroups = QMapList()
        self.mObjectsView = ObjectsView()
        self.mMapDocument = None

        self.setObjectName("ObjectsDock")
        self.mActionObjectProperties = QAction(self)
        self.mActionObjectProperties.setIcon(QIcon(":/images/16x16/document-properties.png"))
        Utils.setThemeIcon(self.mActionObjectProperties, "document-properties")
        self.mActionObjectProperties.triggered.connect(self.objectProperties)
        handler = MapDocumentActionHandler.instance()
        widget = QWidget(self)
        layout = QVBoxLayout(widget)
        layout.setContentsMargins(5, 5, 5, 5)
        layout.setSpacing(0)
        layout.addWidget(self.mObjectsView)
        self.mActionNewLayer = QAction(self)
        self.mActionNewLayer.setIcon(QIcon(":/images/16x16/document-new.png"))
        self.mActionNewLayer.triggered.connect(handler.actionAddObjectGroup().triggered)
        self.mActionMoveToGroup = QAction(self)
        self.mActionMoveToGroup.setIcon(QIcon(":/images/16x16/layer-object.png"))
        toolBar = QToolBar()
        toolBar.setFloatable(False)
        toolBar.setMovable(False)
        toolBar.setIconSize(QSize(16, 16))
        toolBar.addAction(self.mActionNewLayer)
        toolBar.addAction(handler.actionDuplicateObjects())
        toolBar.addAction(handler.actionRemoveObjects())
        toolBar.addAction(self.mActionMoveToGroup)
        button = toolBar.widgetForAction(self.mActionMoveToGroup)
        self.mMoveToMenu = QMenu(self)
        button.setPopupMode(QToolButton.InstantPopup)
        button.setMenu(self.mMoveToMenu)
        self.mMoveToMenu.aboutToShow.connect(self.aboutToShowMoveToMenu)
        self.mMoveToMenu.triggered.connect(self.triggeredMoveToMenu)
        toolBar.addAction(self.mActionObjectProperties)
        layout.addWidget(toolBar)
        self.setWidget(widget)
        self.retranslateUi()
        DocumentManager.instance().documentAboutToClose.connect(self.documentAboutToClose)
Esempio n. 51
0
	def __init__(self):
		QWidget.__init__(self)
		self.setFixedSize(900, 600)
		self.setWindowIcon(QIcon(os.path.join(get_image_file_path(),"jv.png")))

		self.setWindowTitle(_("Cost and energy payback calculator (BETA - missing realistic data at the moment!!!)")) 
		

		self.main_vbox = QVBoxLayout()

		toolbar=QToolBar()
		toolbar.setIconSize(QSize(48, 48))

		self.play = QAction(QIcon(os.path.join(get_image_file_path(),"play.png")), "Re-calcualte", self)
		self.play.triggered.connect(self.update)
		toolbar.addAction(self.play)
		
		spacer = QWidget()
		spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
		toolbar.addWidget(spacer)


		self.help = QAction(QIcon(os.path.join(get_image_file_path(),"help.png")), "Help", self)
		self.help.triggered.connect(self.callback_help)
		toolbar.addAction(self.help)

		self.main_vbox.addWidget(toolbar)


		self.tab= QTableWidget()

		self.main_vbox.addWidget(self.tab)



		self.setLayout(self.main_vbox)
		self.win_list=windows()
		self.win_list.load()
		self.win_list.set_window(self,"costs_window")

		self.update()
Esempio n. 52
0
    def toolbarWidget(self):
        self.brushSizeWidget = BrushSizeWidget(self.brush_size, max_size=70)
        self.clearAction = QAction(QIcon("assets/clear.png"), "Clear", self)
        self.saveAction = QAction(QIcon("assets/save.png"), "Save", self)
        self.removeAction = QAction(QIcon("assets/remove.png"), "Remove", self)
        self.previewAction = QAction(QIcon("assets/preview.png"), "Preview", self)

        toolbar = QToolBar()
        toolbar.setIconSize(QSize(30, 30))
        toolbar.addWidget(self.brushSizeWidget)
        toolbar.addSeparator()
        toolbar.addAction(self.clearAction)
        toolbar.addAction(self.saveAction)
        toolbar.addAction(self.removeAction)
        toolbar.addAction(self.removeAction)
        toolbar.addAction(self.previewAction)
        toolbar.addSeparator()
        toolbar.addWidget(self.sizeWidget())
        toolbar.addWidget(self.prefixWidget())
        toolbar.addWidget(self.toolbarSpacer())
        return toolbar
Esempio n. 53
0
    def __init__(self, parent = None):
        super().__init__(parent)
        self.mMapDocument = None
        self.mPropertyBrowser = PropertyBrowser()

        self.setObjectName("propertiesDock")
        self.mActionAddProperty = QAction(self)
        self.mActionAddProperty.setEnabled(False)
        self.mActionAddProperty.setIcon(QIcon(":/images/16x16/add.png"))
        self.mActionAddProperty.triggered.connect(self.addProperty)
        self.mActionRemoveProperty = QAction(self)
        self.mActionRemoveProperty.setEnabled(False)
        self.mActionRemoveProperty.setIcon(QIcon(":/images/16x16/remove.png"))
        self.mActionRemoveProperty.triggered.connect(self.removeProperty)
        self.mActionRenameProperty = QAction(self)
        self.mActionRenameProperty.setEnabled(False)
        self.mActionRenameProperty.setIcon(QIcon(":/images/16x16/rename.png"))
        self.mActionRenameProperty.triggered.connect(self.renameProperty)
        Utils.setThemeIcon(self.mActionAddProperty, "add")
        Utils.setThemeIcon(self.mActionRemoveProperty, "remove")
        Utils.setThemeIcon(self.mActionRenameProperty, "rename")
        toolBar = QToolBar()
        toolBar.setFloatable(False)
        toolBar.setMovable(False)
        toolBar.setIconSize(QSize(16, 16))
        toolBar.addAction(self.mActionAddProperty)
        toolBar.addAction(self.mActionRemoveProperty)
        toolBar.addAction(self.mActionRenameProperty)
        widget = QWidget(self)
        layout = QVBoxLayout(widget)
        layout.setContentsMargins(5, 5, 5, 5)
        layout.setSpacing(0)
        layout.addWidget(self.mPropertyBrowser)
        layout.addWidget(toolBar)
        widget.setLayout(layout)
        self.setWidget(widget)
        manager = DocumentManager.instance()
        manager.currentDocumentChanged.connect(self.mapDocumentChanged)
        self.mPropertyBrowser.currentItemChangedSignal.connect(self.currentItemChanged)
        self.retranslateUi()
Esempio n. 54
0
 def initBasicToolbar(self, ui, toolbarManager):
     """
     Public slot to initialize the basic VCS toolbar.
     
     @param ui reference to the main window (UserInterface)
     @param toolbarManager reference to a toolbar manager object
         (E5ToolBarManager)
     @return the toolbar generated (QToolBar)
     """
     tb = QToolBar(self.tr("VCS"), ui)
     tb.setIconSize(UI.Config.ToolBarIconSize)
     tb.setObjectName("VersionControlToolbar")
     tb.setToolTip(self.tr('VCS'))
     
     tb.addAction(self.vcsNewAct)
     tb.addAction(self.vcsExportAct)
     tb.addSeparator()
     tb.addAction(self.vcsAddAct)
     
     toolbarManager.addToolBar(tb, tb.windowTitle())
     
     return tb
Esempio n. 55
0
	def __init__(self):
		QWidget.__init__(self)
		self.setWindowTitle("Quantum Efficiency calculator - (www.gpvdm.com)")
		self.setWindowIcon(QIcon(os.path.join(get_image_file_path(),"qe.jpg")))

		self.fig = Figure(figsize=(5,4), dpi=100)
		self.ax1=None
		self.show_key=True

		self.draw_graph()
		canvas = FigureCanvas(self.fig)
		#canvas.set_background('white')
		#canvas.set_facecolor('white')
		canvas.figure.patch.set_facecolor('white')
		#canvas.set_size_request(500, 150)
		#canvas.show()

		toolbar=QToolBar()
		toolbar.setIconSize(QSize(48, 48))

		self.tb_save = QAction(QIcon(os.path.join(get_image_file_path(),"save.png")), _("Save graph"), self)
		self.tb_save.triggered.connect(self.callback_save)
		toolbar.addAction(self.tb_save)

		self.tb_refresh = QAction(QIcon(os.path.join(get_image_file_path(),"play.png")), _("Run"), self)
		self.tb_refresh .triggered.connect(self.callback_refresh)
		toolbar.addAction(self.tb_refresh )

		nav_bar=NavigationToolbar(canvas,self)
		toolbar.addWidget(nav_bar)

		
		window_main_vbox=QVBoxLayout()
		window_main_vbox.addWidget(toolbar)
		window_main_vbox.addWidget(canvas)

		self.setLayout(window_main_vbox)
Esempio n. 56
0
	def __init__(self,file_name,name):
		QGroupBox.__init__(self)
		self.file_name=file_name
		self.name=name
		self.setTitle(name)
		self.setStyleSheet("QGroupBox {  border: 1px solid gray;}")
		vbox=QVBoxLayout()
		self.setLayout(vbox)

		toolbar=QToolBar()
		toolbar.setIconSize(QSize(48, 48))

		add = QAction(QIcon(os.path.join(get_image_file_path(),"16_add.png")),  _("Add "+self.name+" mesh layer"), self)
		add.triggered.connect(self.add_item_clicked)
		toolbar.addAction(add)

		remove = QAction(QIcon(os.path.join(get_image_file_path(),"16_minus.png")),  _("Remove "+self.name+" mesh layer"), self)
		remove.triggered.connect(self.on_remove_click)
		toolbar.addAction(remove)

		vbox.addWidget(toolbar)

		self.tab = QTableWidget()

		self.tab.resizeColumnsToContents()

		self.tab.verticalHeader().setVisible(False)

		self.tab.clear()
		self.tab.setColumnCount(5)
		self.tab.setSelectionBehavior(QAbstractItemView.SelectRows)

		self.load()

		self.tab.cellChanged.connect(self.tab_changed)

		vbox.addWidget(self.tab)
Esempio n. 57
0
 def initToolbar(self, toolbarManager):
     """
     Public slot to initialize the multi project toolbar.
     
     @param toolbarManager reference to a toolbar manager object
         (E5ToolBarManager)
     @return the toolbar generated (QToolBar)
     """
     tb = QToolBar(self.tr("Multiproject"), self.ui)
     tb.setIconSize(UI.Config.ToolBarIconSize)
     tb.setObjectName("MultiProjectToolbar")
     tb.setToolTip(self.tr('Multiproject'))
     
     tb.addActions(self.actGrp1.actions())
     tb.addAction(self.closeAct)
     tb.addSeparator()
     tb.addAction(self.saveAct)
     tb.addAction(self.saveasAct)
     
     toolbarManager.addToolBar(tb, tb.windowTitle())
     toolbarManager.addAction(self.addProjectAct, tb.windowTitle())
     toolbarManager.addAction(self.propsAct, tb.windowTitle())
     
     return tb
Esempio n. 58
0
class PostProcessor(QMainWindow):

    sim_results_changed = pyqtSignal()
    post_results_changed = pyqtSignal()

    figures_changed = pyqtSignal(list, str)

    def __init__(self, parent=None):
        QMainWindow.__init__(self, parent)
        self._settings = QSettings()
        self._logger = logging.getLogger(self.__class__.__name__)

        self.setWindowTitle("Processing")
        self.setWindowIcon(QIcon(get_resource("processing.png")))
        self.mainFrame = QWidget(self)
        self.resize(1000, 600)

        # toolbar
        self.toolBar = QToolBar("file control")
        self.toolBar.setIconSize(QSize(24, 24))
        self.addToolBar(self.toolBar)

        self.actLoad = QAction(self)
        self.actLoad.setText("load result file")
        self.actLoad.setIcon(QIcon(get_resource("load.png")))
        self.actLoad.setDisabled(False)
        self.actLoad.triggered.connect(self.load_result_files)

        self.actPostLoad = QAction(self)
        self.actPostLoad.setText("load post-result file")
        self.actPostLoad.setIcon(QIcon(get_resource("load.png")))
        self.actPostLoad.setDisabled(False)
        self.actPostLoad.triggered.connect(self.load_post_result_files)

        self.actSwitch = QAction(self)
        self.actSwitch.setText("switch display mode")
        self.actSwitch.setIcon(QIcon(get_resource("left_mode.png")))
        self.actSwitch.setDisabled(False)
        self.actSwitch.triggered.connect(self.switch_sides)
        self.displayLeft = True

        self.spacer1 = QWidget()
        self.spacer2 = QWidget()
        self.spacer1.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        self.spacer2.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)

        self.actReloadMethods = QAction(self)
        self.actReloadMethods.setText("reload methods")
        self.actReloadMethods.setIcon(QIcon(get_resource("reload.png")))
        self.actReloadMethods.setDisabled(False)
        self.actReloadMethods.triggered.connect(self.update_post_method_list)

        self.actReloadMetaMethods = QAction(self)
        self.actReloadMetaMethods.setText("reload meta methods")
        self.actReloadMetaMethods.setIcon(QIcon(get_resource("reload.png")))
        self.actReloadMetaMethods.setDisabled(False)
        self.actReloadMetaMethods.triggered.connect(
            self.update_meta_method_list)
        
        self.toolBar.addAction(self.actLoad)
        self.toolBar.addAction(self.actReloadMethods)
        
        self.toolBar.addWidget(self.spacer1)
        self.toolBar.addAction(self.actSwitch)
        self.toolBar.addWidget(self.spacer2)

        self.toolBar.addAction(self.actReloadMetaMethods)
        self.toolBar.addAction(self.actPostLoad)

        # main window
        self.grid = QGridLayout(self.mainFrame)
        self.grid.setColumnMinimumWidth(0, 70)
        self.grid.setColumnStretch(0, 0)
        self.grid.setColumnStretch(1, 1)

        self.methodList = QListWidget(self)
        self.methodList.itemDoubleClicked.connect(
            self.post_processor_clicked)
        self.update_post_method_list()
        self.metaMethodList = QListWidget(self)
        self.metaMethodList.itemDoubleClicked.connect(
            self.meta_processor_clicked)
        self.update_meta_method_list()

        self.sim_result_list = QListWidget(self)
        self.sim_results_changed.connect(self.update_result_list)
        self.results = []

        self.delShort = QShortcut(QKeySequence(Qt.Key_Delete),
                                  self.sim_result_list)
        self.delShort.activated.connect(self.remove_result_item)

        # figures
        self._figure_dict = {}
        self.figures_changed.connect(self.update_figure_lists)

        self.post_figure_list = QListWidget(self)
        self.post_figure_list.currentItemChanged.connect(
            self.current_figure_changed)
        self.meta_figure_list = QListWidget(self)
        self.meta_figure_list.currentItemChanged.connect(
            self.current_figure_changed)

        self.plotView = QWidget()
        self.lastFigure = None

        self.post_result_list = QListWidget(self)
        self.post_results_changed.connect(self.update_post_result_list)
        self.post_results = []
        self.delShortPost = QShortcut(QKeySequence(Qt.Key_Backspace),
                                      self.post_result_list)
        self.delShortPost.activated.connect(self.remove_post_result_item)

        # log dock
        self.logBox = QPlainTextEdit(self)
        self.logBox.setReadOnly(True)

        # init logger for logging box
        self.textLogger = PlainTextLogger(logging.INFO)
        self.textLogger.set_target_cb(self.logBox.appendPlainText)
        logging.getLogger().addHandler(self.textLogger)

        self.grid.addWidget(QLabel("Result Files:"), 0, 0)
        self.grid.addWidget(self.sim_result_list, 1, 0)
        self.grid.addWidget(QLabel("Postprocessors:"), 2, 0)
        self.grid.addWidget(self.methodList, 3, 0)
        self.grid.addWidget(QLabel("Figures:"), 4, 0)
        self.grid.addWidget(self.post_figure_list, 5, 0)
        self.grid.addWidget(QLabel("Selected Figure:"), 0, 1)
        self.grid.addWidget(QLabel("Postprocessor Files:"), 0, 2)
        self.grid.addWidget(self.post_result_list, 1, 2)
        self.grid.addWidget(QLabel("Metaprocessors:"), 2, 2)
        self.grid.addWidget(self.metaMethodList, 3, 2)
        self.grid.addWidget(QLabel("Figures:"), 4, 2)
        self.grid.addWidget(self.meta_figure_list, 5, 2)
        self.grid.addWidget(self.logBox, 6, 0, 1, 3)

        self.mainFrame.setLayout(self.grid)
        self.setCentralWidget(self.mainFrame)

        # status bar
        self.statusBar = QStatusBar(self)
        self.setStatusBar(self.statusBar)

    def load_result_files(self):
        path = self._settings.value("path/simulation_results")

        dialog = QFileDialog(self)
        dialog.setFileMode(QFileDialog.ExistingFiles)
        dialog.setDirectory(path)
        dialog.setNameFilter("PyMoskito Result files (*.pmr)")

        if dialog.exec_():
            files = dialog.selectedFiles()
            for single_file in files:
                if single_file:
                    self._load_result_file(single_file)

    def _load_result_file(self, file_name):
        """
        loads a result file
        """
        self._logger.info("loading result file {}".format(file_name))
        with open(file_name.encode(), "rb") as f:
            self.results.append(pickle.load(f))

        self.sim_results_changed.emit()

    def update_result_list(self):
        self.sim_result_list.clear()
        for res in self.results:
            name = res["regime name"]
            self.sim_result_list.addItem(name)

    def remove_result_item(self):
        if self.sim_result_list.currentRow() >= 0:
            del self.results[self.sim_result_list.currentRow()]
            self.sim_result_list.takeItem(self.sim_result_list.currentRow())

    def load_post_result_files(self):
        path = self._settings.value("path/processing_results")

        dialog = QFileDialog(self)
        dialog.setFileMode(QFileDialog.ExistingFiles)
        dialog.setDirectory(path)
        dialog.setNameFilter("Postprocessing Output files (*.pof)")

        if dialog.exec_():
            files = dialog.selectedFiles()
            for single_file in files:
                if single_file:
                    self._load_post_result_file(single_file)

    def _load_post_result_file(self, file_name):
        """
        loads a post-result file (.pof)
        """
        name = os.path.split(file_name)[-1][:-4]
        self._logger.info("loading result file {}".format(file_name))
        with open(file_name.encode(), "rb") as f:
            results = pickle.load(f)
            results.update({"name": name})
            self.post_results.append(results)

        self.post_results_changed.emit()

    def update_post_result_list(self):
        self.post_result_list.clear()
        for res in self.post_results:
            name = res["name"]
            self.post_result_list.addItem(name)

    def remove_post_result_item(self):
        if self.post_result_list.currentRow() >= 0:
            del self.post_results[self.post_result_list.currentRow()]
            self.post_result_list.takeItem(self.post_result_list.currentRow())

    def update_post_method_list(self):
        self.methodList.clear()
        modules = pm.get_registered_processing_modules(PostProcessingModule)
        for mod in modules:
            self.methodList.addItem(mod[1])

    def update_meta_method_list(self):
        self.metaMethodList.clear()
        modules = pm.get_registered_processing_modules(MetaProcessingModule)
        for mod in modules:
            self.metaMethodList.addItem(mod[1])

    def post_processor_clicked(self, item):
        self.run_processor(str(item.text()), "post")

    def meta_processor_clicked(self, item):
        self.run_processor(str(item.text()), "meta")

    def run_processor(self, name, processor_type):
        if processor_type == "post":
            result_files = self.results
            base_cls = PostProcessingModule
        elif processor_type == "meta":
            result_files = self.post_results
            base_cls = MetaProcessingModule
        else:
            self._logger.error("unknown processor type {0}".format(
                processor_type))
            raise ValueError("unknown processor type {0}".format(
                processor_type))

        if not result_files:
            self._logger.warning("run_processor() Error: no result file loaded")
            return

        processor_cls = pm.get_processing_module_class_by_name(base_cls, name)
        processor = processor_cls()

        figs = []
        try:
            self._logger.info("executing processor '{0}'".format(name))
            figs = processor.process(result_files)
        except Exception as err:
            self._logger.exception("Error in processor")

        self.figures_changed.emit(figs, processor_type)
        self._logger.info("finished postprocessing")

    def update_figure_lists(self, figures, target_type):
        # remove no longer needed elements
        for item, fig in [(key, val[0])
                          for key, val in self._figure_dict.items()
                          if val[1] == target_type]:
            if fig not in [new_fig["figure"] for new_fig in figures]:
                if target_type == "post":
                    old_item = self.post_figure_list.takeItem(
                        self.post_figure_list.row(item))
                    del old_item
                elif target_type == "meta":
                    old_item = self.meta_figure_list.takeItem(
                        self.meta_figure_list.row(item))
                    del old_item

                del self._figure_dict[item]

        # add new ones to internal storage
        for fig in figures:
            if fig["figure"] not in self._figure_dict.values():
                new_entry = [(fig["name"],
                              (QListWidgetItem(fig["name"]),
                               fig["figure"], target_type)
                              )]
                self._figure_dict.update(new_entry)

        # add to display
        for key, val in self._figure_dict.items():
            if val[2] == "post":
                self.post_figure_list.addItem(val[0])
            elif val[2] == "meta":
                self.meta_figure_list.addItem(val[0])

        self.post_figure_list.setCurrentItem(self.post_figure_list.item(0))
        self.meta_figure_list.setCurrentItem(self.meta_figure_list.item(0))

    def current_figure_changed(self, current_item, last_item=None):
        if current_item is None:
            return

        figures = self._figure_dict

        if self.lastFigure:
            self.grid.removeWidget(self.lastFigure)
            self.lastFigure.setVisible(False)

        if current_item.text() in figures:
            figure_widget = figures[current_item.text()][1]
            self.grid.addWidget(figure_widget, 1, 1, 5, 1)
            figure_widget.setVisible(True)
            self.lastFigure = figure_widget
        
    def switch_sides(self):
        self.displayLeft = not self.displayLeft
        if self.displayLeft:
            self.actSwitch.setIcon(QIcon(get_resource("left_mode.png")))
            self.post_figure_list.setFocus()
            self.current_figure_changed(self.post_figure_list.currentItem())
        else:
            self.actSwitch.setIcon(QIcon(get_resource("right_mode.png")))
            self.meta_figure_list.setFocus()
            self.current_figure_changed(self.meta_figure_list.currentItem())
Esempio n. 59
0
	def __init__(self,index):
		QWidget.__init__(self)

		self.index=index
		self.ax1=None
		self.show_key=True
		self.edit_list=[]
		self.line_number=[]
		self.list=[]

		self.fig = Figure(figsize=(5,4), dpi=100)
		self.canvas = FigureCanvas(self.fig)
		self.canvas.figure.patch.set_facecolor('white')

		gui_pos=0

		print("index=",index)

		self.main_vbox = QVBoxLayout()

		toolbar=QToolBar()
		toolbar.setIconSize(QSize(48, 48))

		self.tb_save = QAction(QIcon(os.path.join(get_image_file_path(),"32_save.png")), _("Save image"), self)
		self.tb_save.triggered.connect(self.callback_save)
		toolbar.addAction(self.tb_save)

		self.tb_startfx = QAction(QIcon(os.path.join(get_image_file_path(),"start.png")), _("Simulation start frequency"), self)
		self.tb_startfx.triggered.connect(self.callback_start_fx)
		toolbar.addAction(self.tb_startfx)


		self.main_vbox.addWidget(toolbar)


		self.main_vbox.addWidget(self.canvas)




		#toolbar 2

		toolbar2=QToolBar()
		toolbar2.setIconSize(QSize(48, 48))

		self.tb_add = QAction(QIcon(os.path.join(get_image_file_path(),"add.png")), _("Add section"), self)
		self.tb_add.triggered.connect(self.callback_add_section)
		toolbar2.addAction(self.tb_add)

		self.tb_remove = QAction(QIcon(os.path.join(get_image_file_path(),"minus.png")), _("Delete section"), self)
		self.tb_remove.triggered.connect(self.callback_remove_item)
		toolbar2.addAction(self.tb_remove)

		self.tb_move = QAction(QIcon(os.path.join(get_image_file_path(),"down.png")), _("Move down"), self)
		self.tb_move.triggered.connect(self.callback_move_down)
		toolbar2.addAction(self.tb_move)

		self.main_vbox.addWidget(toolbar2)

		self.tab = QTableWidget()
		self.tab.resizeColumnsToContents()

		self.tab.verticalHeader().setVisible(False)

		self.load_data()
		self.build_mesh()
		self.draw_graph()

		self.update_scan_tokens()

		self.tab.cellChanged.connect(self.on_cell_edited)

		self.main_vbox.addWidget(self.tab)

		self.setLayout(self.main_vbox)

		return