Exemplo n.º 1
0
	def __init__(self):
		QWidgetSavePos.__init__(self,"dim_editor")

		self.setWindowTitle(_("xz dimension editor")+" https://www.gpvdm.com")
		self.setWindowIcon(icon_get("dimensions"))
		self.resize(400,200)

		self.cost_window=False

		self.main_vbox=QVBoxLayout()

		self.toolbar=QToolBar()
		self.toolbar.setToolButtonStyle( Qt.ToolButtonTextUnderIcon)
		self.toolbar.setIconSize(QSize(42, 42))

		spacer = QWidget()


		spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
		self.toolbar.addWidget(spacer)

		self.help = QAction(icon_get("internet-web-browser"), _("Help"), self)
		self.toolbar.addAction(self.help)
		
		self.main_vbox.addWidget(self.toolbar)
	
		self.widget0 = QWidget()
		self.widget0_hbox=QHBoxLayout()
		self.widget0.setLayout(self.widget0_hbox)

		self.widget0_label=QLabel("x size")
		self.widget0_hbox.addWidget(self.widget0_label)

		self.widget0_edit=QLineEdit()
		self.widget0_edit.setText(str(mesh_get_xlen()))
		self.widget0_edit.textChanged.connect(self.apply)
		self.widget0_hbox.addWidget(self.widget0_edit)
		self.widget0_label=QLabel("m")
		self.widget0_hbox.addWidget(self.widget0_label)

		self.main_vbox.addWidget(self.widget0)

		self.widget1 = QWidget()
		self.widget1_hbox=QHBoxLayout()
		self.widget1.setLayout(self.widget1_hbox)
		self.widget1_label=QLabel("z size")
		self.widget1_hbox.addWidget(self.widget1_label)
		self.widget1_edit=QLineEdit()
		self.widget1_edit.setText(str(mesh_get_zlen()))
		self.widget1_edit.textChanged.connect(self.apply)
		self.widget1_hbox.addWidget(self.widget1_edit)
		self.widget1_label=QLabel("m")
		self.widget1_hbox.addWidget(self.widget1_label)
		self.main_vbox.addWidget(self.widget1)

		
		#self.tab.itemSelectionChanged.connect(self.callback_tab_selection_changed)


		self.setLayout(self.main_vbox)
Exemplo n.º 2
0
    def __init__(self):
        QWidgetSavePos.__init__(self, "layer_widget")

        self.setWindowTitle(_("Layer editor") + " https://www.gpvdm.com")
        self.setWindowIcon(icon_get("layers"))
        self.resize(800, 500)

        self.cost_window = False

        self.main_vbox = QVBoxLayout()

        self.toolbar = QToolBar()

        self.tab = gpvdm_tab(toolbar=self.toolbar)

        self.tab.tb_add.triggered.connect(self.on_add_item_clicked)
        self.tab.user_remove_rows.connect(self.on_remove_item_clicked)
        self.tab.tb_down.triggered.connect(self.on_move_down)
        self.tab.tb_up.triggered.connect(self.on_move_up)

        self.main_vbox.addWidget(self.toolbar)

        #self.tab.resizeColumnsToContents()

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

        self.tab.cellChanged.connect(self.cell_changed)
        #self.tab.itemSelectionChanged.connect(self.callback_tab_selection_changed)
        self.main_vbox.addWidget(self.tab)

        self.setLayout(self.main_vbox)

        self.tab.itemSelectionChanged.connect(self.layer_selection_changed)
    def __init__(self):
        QWidgetSavePos.__init__(self, "electrical")
        self.setFixedSize(1000, 600)
        self.setWindowIcon(icon_get("preferences-system"))

        self.setWindowTitle(
            _("Electrical parameter editor") + " (https://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(icon_get("help"), _("Help"), self)
        self.undo.setStatusTip(_("Help"))
        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)

        widget = tab_class("device.inp")
        self.notebook.addTab(widget, _("Device"))

        self.setLayout(self.main_vbox)
Exemplo n.º 4
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()
Exemplo n.º 5
0
	def __init__(self):
		QWidgetSavePos.__init__(self,"measure_window")
		resize_window_to_be_sane(self,0.5,0.7)

		self.setWindowIcon(icon_get("measure"))
		self.setWindowTitle(_("Measurment editor")+" (https://www.gpvdm.com)")

		self.vbox=QVBoxLayout()

		self.ribbon=measure_ribbon()
		self.ribbon.order_widget.added.connect(self.callback_add_page)


		self.vbox.addWidget(self.ribbon)

		self.notebook = QTabWidget()
		self.notebook.setTabBar(QHTabBar())
		self.notebook.setTabPosition(QTabWidget.West)
		self.notebook.setMovable(True)

		self.ribbon.order_widget.notebook_pointer=self.notebook
		self.ribbon.order_widget.load_tabs()

		self.vbox.addWidget(self.notebook)


		self.setLayout(self.vbox)
Exemplo n.º 6
0
    def __init__(self):
        QWidgetSavePos.__init__(self, "measure_window")
        resize_window_to_be_sane(self, 0.5, 0.7)

        self.setWindowIcon(QIcon_load("measure"))
        self.setWindowTitle(
            _("Measurment editor") + " (https://www.gpvdm.com)")

        self.vbox = QVBoxLayout()

        self.ribbon = measure_ribbon()
        self.ribbon.tb_new.triggered.connect(self.callback_add_page)
        self.ribbon.tb_rename.triggered.connect(self.callback_rename_page)
        self.ribbon.tb_clone.triggered.connect(self.callback_copy_page)
        self.ribbon.tb_delete.triggered.connect(self.callback_delete_page)

        self.vbox.addWidget(self.ribbon)

        self.notebook = QTabWidget()
        self.notebook.setTabBar(QHTabBar())
        self.notebook.setTabPosition(QTabWidget.West)
        self.notebook.setMovable(True)

        self.vbox.addWidget(self.notebook)

        self.load_tabs()

        self.setLayout(self.vbox)
    def __init__(self, parent):
        QWidgetSavePos.__init__(self, "cluster_window")
        self.ribbon = cluster_config_ribbon()
        self.ribbon.install.triggered.connect(self.install_to_cluster)
        self.ribbon.boot.triggered.connect(self.boot_cluster)
        self.ribbon.generate_keys.triggered.connect(self.generate_keys)

        self.ribbon.stop.triggered.connect(self.kill_cluster)
        self.ribbon.remove.triggered.connect(self.remove_from_cluster)

        self.setFixedSize(900, 600)
        self.setWindowIcon(icon_get("preferences-system"))

        self.setWindowTitle(_("Configure") + " (https://www.gpvdm.com)")

        self.main_vbox = QVBoxLayout()

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

        self.main_vbox.addWidget(self.ribbon)

        self.notebook = QTabWidget()
        css_apply(self.notebook, "tab_default.css")
        self.notebook.setMovable(True)

        self.main_vbox.addWidget(self.notebook)

        self.ribbon.order_widget.added.connect(self.callback_add_page)

        self.ribbon.order_widget.notebook_pointer = self.notebook
        self.ribbon.order_widget.show_enable()
        self.ribbon.order_widget.load_tabs()

        self.setLayout(self.main_vbox)
Exemplo n.º 8
0
 def __init__(self):
     QWidgetSavePos.__init__(self, "config_window")
     self.files = []
     self.description = []
     self.toolbar = QToolBar()
     self.toolbar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
     self.toolbar.setIconSize(QSize(48, 48))
Exemplo n.º 9
0
    def __init__(self, path="", api_callback=None):
        if path == "":
            self.path = get_scripts_path()
        else:
            self.path = path

        QWidgetSavePos.__init__(self, "scripts")

        self.setWindowIcon(icon_get("script"))

        self.setMinimumSize(1000, 600)
        self.setWindowTitle(_("Script editor") + " (https://www.gpvdm.com)")

        self.ribbon = script_ribbon()

        self.setWindowIcon(icon_get("script"))

        self.main_vbox = QVBoxLayout()

        self.ribbon.run.start_sim.connect(self.callback_run)

        self.ribbon.help.triggered.connect(self.callback_help)

        self.ribbon.tb_save.clicked.connect(self.callback_save)
        self.ribbon.tb_new.clicked.connect(self.callback_add_page)
        #self.ribbon.tb_rename.clicked.connect(self.callback_rename_page)

        self.ribbon.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum)

        self.main_vbox.addWidget(self.ribbon)
        self.api_callback = api_callback

        self.notebook = QTabWidget()
        css_apply(self.notebook, "tab_default.css")
        self.notebook.setMovable(True)

        added = 0
        for f in listdir(self.path):
            if f.endswith(".py"):
                file_name = os.path.join(self.path, f)
                a = script_editor()
                a.api_callback = self.api_callback
                a.load(file_name)
                a.status_changed.connect(self.callback_tab_changed)
                self.notebook.addTab(a, f)
                added = added + 1
        if added == 0:
            file_name = os.path.join(self.path, "example.py")
            self.new_script(file_name)
            a = script_editor()
            a.api_callback = self.api_callback
            a.load(file_name)
            a.status_changed.connect(self.callback_tab_changed)
            self.notebook.addTab(a, "example.py")

        self.notebook.setSizePolicy(QSizePolicy.Expanding,
                                    QSizePolicy.Expanding)
        self.main_vbox.addWidget(self.notebook)

        self.setLayout(self.main_vbox)
Exemplo n.º 10
0
    def __init__(self):
        QWidgetSavePos.__init__(self, "contacts")
        self.epi = get_epi()

        self.setMinimumSize(1000, 400)

        self.setWindowIcon(icon_get("contact"))

        self.setWindowTitle(_("Edit contacts") + " (www.gpvdm.com)")

        self.main_vbox = QVBoxLayout()

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

        #add = QAction(icon_get("list-add"),  _("Add contact"), self)

        #toolbar.addAction(add)

        #remove = QAction(icon_get("list-remove"),  _("Remove contacts"), self)

        #toolbar.addAction(remove)

        self.main_vbox.addWidget(self.toolbar)

        self.tab = gpvdm_tab(toolbar=self.toolbar)
        self.tab.resizeColumnsToContents()

        self.tab.tb_add.triggered.connect(self.on_add_clicked)
        self.tab.user_remove_rows.connect(self.on_remove_clicked)
        self.tab.tb_down.triggered.connect(self.on_move_down)
        self.tab.tb_up.triggered.connect(self.on_move_up)

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

        #self.charge_density = QAction(icon_get("preferences-system"), _("Charge density"), self)
        #self.charge_density.triggered.connect(self.callback_contacts_boundary)
        #toolbar.addAction(self.charge_density)

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

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

        self.tab.clear()
        self.tab.setColumnCount(13)
        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)
Exemplo n.º 11
0
    def __init__(self):
        QWidgetSavePos.__init__(self, "lasers")

        self.main_vbox = QVBoxLayout()

        self.setFixedSize(900, 500)
        self.setWindowTitle(
            _("Laser configuration window") + " https://www.gpvdm.com")
        self.setWindowIcon(QIcon_load("lasers"))

        toolbar = QToolBar()
        toolbar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        toolbar.setIconSize(QSize(48, 48))

        self.new = QAction(QIcon_load("document-new"),
                           wrap_text(_("New laser"), 2), self)
        self.new.triggered.connect(self.callback_add_page)
        toolbar.addAction(self.new)

        self.new = QAction(QIcon_load("edit-delete"),
                           wrap_text(_("Delete laser"), 3), self)
        self.new.triggered.connect(self.callback_delete_page)
        toolbar.addAction(self.new)

        self.clone = QAction(QIcon_load("clone.png"),
                             wrap_text(_("Clone laser"), 3), self)
        self.clone.triggered.connect(self.callback_copy_page)
        toolbar.addAction(self.clone)

        self.clone = QAction(QIcon_load("rename"),
                             wrap_text(_("Rename laser"), 3), self)
        self.clone.triggered.connect(self.callback_rename_page)
        toolbar.addAction(self.clone)

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

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

        self.main_vbox.addWidget(toolbar)

        self.notebook = QTabWidget()
        css_apply(self.notebook, "tab_default.css")
        self.notebook.setMovable(True)

        self.load_tabs()

        self.main_vbox.addWidget(self.notebook)

        self.status_bar = QStatusBar()
        self.main_vbox.addWidget(self.status_bar)

        self.setLayout(self.main_vbox)
Exemplo n.º 12
0
    def __init__(self):
        QWidgetSavePos.__init__(self, "doping")
        self.setFixedSize(900, 600)
        self.setWindowIcon(QIcon_load("doping"))
        self.setWindowTitle(
            _("Doping profile editor") + " (https://www.gpvdm.com)")

        self.main_vbox = QVBoxLayout()

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

        self.save = QAction(QIcon_load("document-save-as"), _("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_load("help"), _("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
Exemplo n.º 13
0
    def __init__(self):
        QWidgetSavePos.__init__(self, "lasers")

        self.main_vbox = QVBoxLayout()

        self.setFixedSize(900, 500)
        self.setWindowTitle(
            _("Laser configuration window") + " https://www.gpvdm.com")
        self.setWindowIcon(icon_get("lasers"))

        toolbar = QToolBar()
        toolbar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        toolbar.setIconSize(QSize(48, 48))

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

        self.order_widget.added.connect(self.callback_add_page)

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

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

        self.main_vbox.addWidget(toolbar)

        self.notebook = QTabWidget()
        css_apply(self.notebook, "tab_default.css")
        self.notebook.setMovable(True)

        self.order_widget.notebook_pointer = self.notebook
        self.order_widget.load_tabs()

        self.main_vbox.addWidget(self.notebook)

        self.status_bar = QStatusBar()
        self.main_vbox.addWidget(self.status_bar)

        self.setLayout(self.main_vbox)
Exemplo n.º 14
0
    def __init__(self, bib_file, token):
        """Pass this the file name of the file you want referenced."""
        QWidgetSavePos.__init__(self, "ref_window")
        resize_window_to_be_sane(self, 0.5, 0.5)
        self.bib_file = bib_file
        self.token = token
        self.setWindowIcon(icon_get("ref"))
        self.setWindowTitle(
            _("Reference manager") + " (https://www.gpvdm.com)")

        self.vbox = QVBoxLayout()

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

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

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

        self.vbox.addWidget(self.toolbar)
        self.tab = inp_viewer()
        self.tab.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        self.vbox.addWidget(self.tab)

        self.button_widget = QWidget()
        self.button_hbox = QHBoxLayout()
        self.button_widget.setLayout(self.button_hbox)

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

        self.button_close = QPushButton(_("Save"))
        self.button_close.clicked.connect(self.callback_save)
        self.button_hbox.addWidget(self.button_close)
        self.vbox.addWidget(self.button_widget)
        self.setLayout(self.vbox)
        self.b = bibtex()
        self.b.load(self.bib_file)
        self.item = self.b.get_ref(self.token)
        if self.item == False:
            self.item = self.b.new()
            self.item.token = token

        lines = []
        for var in self.item.vars:
            lines.append("#ref_" + var)
            lines.append(getattr(self.item, var))
        lines.append("#end")
        self.tab.populate(lines)
Exemplo n.º 15
0
	def __init__(self):
		QWidgetSavePos.__init__(self,"electrical")
		self.setFixedSize(1000, 600)
		self.setWindowIcon(QIcon_load("preferences-system"))

		self.setWindowTitle(_("Electrical parameter editor")+" (https://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_load("help"), _("Help"), self)
		self.undo.setStatusTip(_("Help"))
		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)

		widget=tab_class()
		widget.init("device.inp",_("Device"))
		self.notebook.addTab(widget,_("Device"))

		widget=dos_main()
		widget.update()
		self.notebook.addTab(widget,_("Electrical parameters"))

		if enable_betafeatures()==True:
			widget=tab_bands()
			widget.update()
			self.notebook.addTab(widget,_("Complex DoS"))
		
		widget=pl_main()
		widget.update()
		self.notebook.addTab(widget,_("Luminescence"))



						
		self.setLayout(self.main_vbox)

		#self.connect("delete-event", self.callback_close_window) 
		self.notebook.currentChanged.connect(self.changed_click)
Exemplo n.º 16
0
    def __init__(self):
        QWidgetSavePos.__init__(self, "experiment")
        self.main_vbox = QVBoxLayout()

        self.setMinimumSize(1200, 700)
        self.setWindowTitle(
            _("Time domain experiment window") + " (https://www.gpvdm.com)")
        self.setWindowIcon(icon_get("icon"))

        #toolbar=QToolBar()
        #toolbar.setToolButtonStyle( Qt.ToolButtonTextUnderIcon)
        #toolbar.setIconSize(QSize(48, 48))

        self.ribbon = timedomain_ribbon()

        self.ribbon.new.triggered.connect(self.callback_add_page)
        self.ribbon.delete.triggered.connect(self.callback_delete_page)
        self.ribbon.clone.triggered.connect(self.callback_copy_page)
        self.ribbon.rename.triggered.connect(self.callback_rename_page)
        self.ribbon.tb_save.triggered.connect(self.callback_save)

        self.ribbon.tb_laser_start_time.triggered.connect(
            self.callback_laser_start_time)

        self.ribbon.tb_start.triggered.connect(self.callback_start_time)

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

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

        self.main_vbox.addWidget(self.ribbon)

        self.notebook = QTabWidget()
        css_apply(self.notebook, "style_h.css")

        self.notebook.setTabBar(QHTabBar())
        self.notebook.setTabPosition(QTabWidget.West)
        self.notebook.setMovable(True)

        self.load_tabs()

        self.main_vbox.addWidget(self.notebook)

        self.status_bar = QStatusBar()
        self.main_vbox.addWidget(self.status_bar)

        self.setLayout(self.main_vbox)

        self.notebook.currentChanged.connect(self.switch_page)
        self.switch_page()
Exemplo n.º 17
0
    def __init__(self):
        QWidgetSavePos.__init__(self, "cmpclass")
        self.setWindowTitle(_("Examine simulation results in time domain"))

        self.snapshots_hbox = QHBoxLayout()
        self.snapshots_label = QLabel("Snapshots")
        self.snapshots_hbox.addWidget(self.snapshots_label)
        self.snapshots_combobox = QComboBox()
        self.snapshots_hbox.addWidget(self.snapshots_combobox)
        self.snapshots_widget = QWidget()
        self.snapshot_dirs = self.find_snapshots()
        for i in range(0, len(self.snapshot_dirs)):
            self.snapshots_combobox.addItem(self.snapshot_dirs[i])

        self.snapshots_combobox.currentIndexChanged.connect(
            self.callback_snapshots_combobox)

        self.snapshots_widget.setLayout(self.snapshots_hbox)

        self.main_vbox = QVBoxLayout()

        self.slider = snapshot_slider()
        print(self.snapshot_dirs)
        if len(self.snapshot_dirs) != 0:
            self.slider.set_path(
                os.path.join(get_sim_path(), self.snapshot_dirs[0]))
        self.slider.changed.connect(self.update)
        self.plot = plot_widget()
        self.plot.init()

        self.tb_video = QAction(icon_get("video"), _("Save video"), self)
        self.tb_video.triggered.connect(self.callback_save)
        self.plot.plot_ribbon.file_toolbar.addAction(self.tb_video)
        self.plot.plot_ribbon.plot_toolbar.addAction(self.slider.tb_play)

        self.main_vbox.addWidget(self.plot)

        self.main_vbox.addWidget(self.snapshots_widget)

        self.main_vbox.addWidget(self.slider)

        self.setLayout(self.main_vbox)

        if os.path.isfile(
                os.path.join(get_sim_path(), "snapshots", "0",
                             "Ec.dat")) == False:
            help_window().help_append([
                "warning.png",
                _("No electrical slice data has been stored in the snapshots directory.  To turn this on set Simulation->Configure->Dump->Dump 1D Slices to on.  This will dump a lot of data and slow down your simulations."
                  )
            ])

        #self.light.currentIndexChanged.connect(self.call_back_light_changed)
        self.update()
Exemplo n.º 18
0
    def __init__(self, title=_("Configure"), icon="preferences-system"):
        QWidgetSavePos.__init__(self, "config_window")
        self.files = []
        self.description = []
        self.toolbar = QToolBar()
        self.toolbar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
        self.toolbar.setIconSize(QSize(48, 48))

        self.setFixedSize(900, 600)
        self.setWindowIcon(icon_get(icon))

        self.setWindowTitle(title + " (https://www.gpvdm.com)")
Exemplo n.º 19
0
    def __init__(self, path):
        QWidgetSavePos.__init__(self, "spectra_main")
        self.path = path
        self.setMinimumSize(900, 600)
        self.setWindowIcon(icon_get("shape"))

        self.setWindowTitle(
            os.path.basename(self.path) + " " + _("Shape editor"))

        self.main_vbox = QVBoxLayout()

        self.ribbon = ribbon_shape()

        #self.ribbon.import_data.clicked.connect(self.callback_import)
        #self.ribbon.tb_ref.triggered.connect(self.callback_ref)
        self.ribbon.tb_import.triggered.connect(self.callback_import_image)

        self.ribbon.help.triggered.connect(self.callback_help)

        self.main_vbox.addWidget(self.ribbon)

        self.notebook = QTabWidget()

        self.notebook.setMovable(True)

        self.main_vbox.addWidget(self.notebook)

        self.three_d_shape = glWidget(self)
        self.three_d_shape.triangle_file = ""

        self.three_d_shape.draw_electrical_mesh = False
        self.three_d_shape.view.draw_device = False
        self.three_d_shape.enable_draw_ray_mesh = True
        self.three_d_shape.enable_draw_light_source = False
        self.three_d_shape.enable_draw_rays = False
        self.three_d_shape.view.render_photons = False

        self.load_data()

        self.notebook.setSizePolicy(QSizePolicy.Expanding,
                                    QSizePolicy.Expanding)
        self.ribbon.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum)
        #self.alpha.init(enable_toolbar=False)
        #self.alpha.set_labels([_("Spectra")])
        #self.alpha.load_data([fname])

        #self.alpha.do_plot()
        self.notebook.addTab(self.three_d_shape, _("Shape"))

        self.setLayout(self.main_vbox)

        self.notebook.currentChanged.connect(self.changed_click)
Exemplo n.º 20
0
    def __init__(self, path):
        QWidgetSavePos.__init__(self, "spectra_main")
        self.path = path
        self.setFixedSize(900, 600)
        self.setWindowIcon(icon_get("spectra_file"))

        self.setWindowTitle(
            _("Optical spectrum editor") + " (https://www.gpvdm.com)" + " " +
            os.path.basename(self.path))

        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(icon_get("help"), 'Hide', self)
        self.help.setStatusTip(_("Help"))
        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 = ["mat.inp"]
        description = [_("Parameters")]

        eq = equation(self.path, "spectra_eq.inp", "spectra_gen.inp",
                      "spectra.inp", "#spectra_equation_or_data")
        eq.show_solar_spectra = True
        eq.set_default_value("3")
        eq.set_ylabel(_("Intensity") + " (au)")
        eq.init()
        self.notebook.addTab(eq, _("Intensity"))

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

        self.setLayout(self.main_vbox)

        self.notebook.currentChanged.connect(self.changed_click)
Exemplo n.º 21
0
	def __init__(self,name):
		QWidgetSavePos.__init__(self,name)
		self.setMinimumSize(900, 600)
		self.setWindowIcon(QIcon_load("preferences-system"))

		self.setWindowTitle(_("Fit configure")+" (https://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_load("help"), _("Help"), 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=[os.path.join(get_sim_path(),"fit.inp")]
		description=[_("Configure minimizer")]

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

		self.duplicate_window=duplicate()
		self.notebook.addTab(self.duplicate_window,_("Duplicate window"))

		self.fit_vars_window=fit_vars()
		self.notebook.addTab(self.fit_vars_window,_("Fit variable window"))

		self.constraints_window=constraints()
		self.notebook.addTab(self.constraints_window,_("Fit constraints"))
		
		self.setLayout(self.main_vbox)
Exemplo n.º 22
0
	def __init__(self):
		QWidgetSavePos.__init__(self,"contacts")
		self.setFixedSize(750, 400)

		self.setWindowIcon(icon_get("contact"))

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

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

		add = QAction(icon_get("list-add"),  _("Add contact"), self)
		add.triggered.connect(self.on_add_clicked)
		toolbar.addAction(add)

		remove = QAction(icon_get("list-remove"),  _("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(icon_get("help"), _("Help"), 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(7)
		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)
Exemplo n.º 23
0
    def __init__(self):
        QWidgetSavePos.__init__(self, "layer_widget")

        self.setWindowTitle(_("Layer editor") + " https://www.gpvdm.com")
        self.setWindowIcon(icon_get("layers"))
        self.resize(800, 500)

        self.cost_window = False

        self.main_vbox = QVBoxLayout()

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

        self.tb_add = QAction(icon_get("list-add"), _("Add device layer"),
                              self)
        self.tb_add.triggered.connect(self.on_add_item_clicked)
        self.toolbar.addAction(self.tb_add)

        self.tb_remove = QAction(icon_get("list-remove"),
                                 _("Delete device layer"), self)
        self.tb_remove.triggered.connect(self.on_remove_item_clicked)
        self.toolbar.addAction(self.tb_remove)

        self.tb_down = QAction(icon_get("go-down"), _("Move device layer"),
                               self)
        self.tb_down.triggered.connect(self.on_move_down)
        self.toolbar.addAction(self.tb_down)

        self.tb_up = QAction(icon_get("go-up"), _("Move device layer"), self)
        self.tb_up.triggered.connect(self.on_move_up)
        self.toolbar.addAction(self.tb_up)

        self.main_vbox.addWidget(self.toolbar)

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

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

        self.tab.cellChanged.connect(self.tab_changed)
        self.tab.itemSelectionChanged.connect(
            self.callback_tab_selection_changed)
        self.main_vbox.addWidget(self.tab)

        self.setLayout(self.main_vbox)

        self.tab.itemSelectionChanged.connect(self.layer_selection_changed)
Exemplo n.º 24
0
    def __init__(self, path):
        QWidgetSavePos.__init__(self, "emission_main")
        self.path = path
        self.setFixedSize(900, 600)
        self.setWindowIcon(icon_get("emission"))

        self.setWindowTitle(
            _("Emission editor") + " (https://www.gpvdm.com)" + " " +
            os.path.basename(self.path))

        self.main_vbox = QVBoxLayout()

        self.ribbon = ribbon_emission_db()

        self.ribbon.import_data.clicked.connect(self.import_data)
        self.ribbon.equation.clicked.connect(self.callback_equation_editor)

        self.ribbon.tb_ref.triggered.connect(self.callback_ref)

        self.ribbon.help.triggered.connect(self.callback_help)

        self.main_vbox.addWidget(self.ribbon)

        self.notebook = QTabWidget()

        self.notebook.setMovable(True)

        self.main_vbox.addWidget(self.notebook)

        fname = os.path.join(self.path, "spectra.inp")
        self.emission = plot_widget(enable_toolbar=False)
        self.emission.set_labels([_("Emission")])
        self.emission.load_data([fname])

        self.emission.do_plot()
        self.notebook.addTab(self.emission, _("Emission"))

        files = ["mat.inp"]
        description = [_("Basic")]

        for i in range(0, len(files)):
            full_path = os.path.join(self.path, files[i])
            if os.path.isfile(full_path) == True:
                tab = tab_class(os.path.join(self.path, files[i]))
                self.notebook.addTab(tab, description[i])
        self.setLayout(self.main_vbox)

        self.notebook.currentChanged.connect(self.changed_click)
Exemplo n.º 25
0
	def __init__(self):
		QWidgetSavePos.__init__(self,"sunsvoc")
		self.setFixedSize(900, 600)
		self.setWindowIcon(icon_get("sunsvoc"))

		self.setWindowTitle(_("Steady state simulation")+"  (https://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(icon_get("help"), _("Help"), self)
		self.help.setStatusTip(_("Close"))
		self.help.triggered.connect(self.callback_help)
		toolbar.addAction(self.help)

		self.main_vbox.addWidget(toolbar)


		self.notebook = QTabWidget()
		css_apply(self.notebook,"tab_default.css")
		self.notebook.setMovable(True)

		self.main_vbox.addWidget(self.notebook)


		files=["sun_voc.inp"]
		description=[_("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.notebook.currentChanged.connect(self.changed_click)
Exemplo n.º 26
0
    def __init__(self):
        QWidgetSavePos.__init__(self, "experiment")
        self.main_vbox = QVBoxLayout()

        self.setMinimumSize(1200, 700)
        self.setWindowTitle(
            _("Time domain experiment window") + " (https://www.gpvdm.com)")
        self.setWindowIcon(icon_get("icon"))

        self.ribbon = timedomain_ribbon()

        self.ribbon.tb_save.triggered.connect(self.callback_save)

        self.ribbon.order_widget.changed.connect(self.callback_changed)
        self.ribbon.order_widget.added.connect(self.callback_add_page)

        self.ribbon.tb_laser_start_time.triggered.connect(
            self.callback_laser_start_time)

        self.ribbon.tb_start.triggered.connect(self.callback_start_time)

        self.main_vbox.addWidget(self.ribbon)

        self.notebook = QTabWidget()
        css_apply(self.notebook, "style_h.css")

        self.notebook.setTabBar(QHTabBar())
        self.notebook.setTabPosition(QTabWidget.West)
        self.notebook.setMovable(True)
        self.ribbon.order_widget.notebook_pointer = self.notebook

        self.ribbon.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum)
        self.notebook.setSizePolicy(QSizePolicy.Expanding,
                                    QSizePolicy.Expanding)

        self.load_tabs()

        self.main_vbox.addWidget(self.notebook)

        self.status_bar = QStatusBar()
        self.main_vbox.addWidget(self.status_bar)

        self.setLayout(self.main_vbox)

        self.notebook.currentChanged.connect(self.switch_page)
        self.switch_page()
Exemplo n.º 27
0
    def __init__(self, path):
        QWidgetSavePos.__init__(self, "spectra_main")
        self.path = path
        self.setMinimumSize(900, 600)
        self.setWindowIcon(icon_get("spectra_file"))

        self.setWindowTitle(
            _("Optical spectrum editor") + " (https://www.gpvdm.com)" + " " +
            os.path.basename(self.path))

        self.main_vbox = QVBoxLayout()

        self.ribbon = ribbon_spectra()

        self.ribbon.import_data.clicked.connect(self.callback_import)
        self.ribbon.tb_ref.triggered.connect(self.callback_ref)

        self.ribbon.help.triggered.connect(self.callback_help)

        self.main_vbox.addWidget(self.ribbon)

        self.notebook = QTabWidget()

        self.notebook.setMovable(True)

        self.main_vbox.addWidget(self.notebook)

        files = ["mat.inp"]
        description = [_("Parameters")]

        fname = os.path.join(self.path, "spectra.inp")
        self.alpha = plot_widget(enable_toolbar=False)
        self.alpha.set_labels([_("Spectra")])
        self.alpha.load_data([fname])

        self.alpha.do_plot()
        self.notebook.addTab(self.alpha, _("Absorption"))

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

        self.setLayout(self.main_vbox)

        self.notebook.currentChanged.connect(self.changed_click)
	def __init__(self):
		QWidgetSavePos.__init__(self,"generation_rate_editor")

		self.setWindowTitle(_("Generaton rate editor")+" https://www.gpvdm.com")
		self.setWindowIcon(icon_get("layers"))
		self.resize(400,250)

		self.main_vbox=QVBoxLayout()

		self.tab = gpvdm_tab()

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

		self.tab.cellChanged.connect(self.cell_changed)
		self.main_vbox.addWidget(self.tab)

		self.setLayout(self.main_vbox)
Exemplo n.º 29
0
	def __init__(self):
		QWidgetSavePos.__init__(self,"parasitic")
		self.setFixedSize(900, 600)
		self.setWindowIcon(icon_get("parasitic"))

		self.setWindowTitle(_("Edit parasitic components")+"  (https://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(icon_get("help"), _("Help"), 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=["parasitic.inp"]
		description=[_("Parasitic components")]


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


		self.setLayout(self.main_vbox)
Exemplo n.º 30
0
	def __init__(self):
		QWidgetSavePos.__init__(self,"eqe")
		self.setFixedSize(900, 600)
		self.setWindowIcon(icon_get("qe"))

		self.setWindowTitle(_("Quantum efficiency editor")+"  (https://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(icon_get("help"), _("Help"), self)
		self.help.setStatusTip(_("Close"))
		self.help.triggered.connect(self.callback_help)
		toolbar.addAction(self.help)

		self.main_vbox.addWidget(toolbar)


		self.notebook = QTabWidget()
		css_apply(self.notebook,"tab_default.css")
		self.notebook.setMovable(True)

		self.main_vbox.addWidget(self.notebook)


		files=["eqe.inp"]
		description=[_("EQE")]


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


		self.setLayout(self.main_vbox)