def build_gui(self, container): widget = QtGui.QWidget() vbox = QtGui.QVBoxLayout() vbox.setContentsMargins(2, 2, 2, 2) widget.setLayout(vbox) # create the table #table = QtGui.QTableWidget() #table.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) #table.setDragEnabled(True) table = DragTable(plugin=self) table.setShowGrid(False) table.verticalHeader().hide() table.setColumnCount(len(self.columns)) col = 0 for hdr, kwd in self.columns: item = QtGui.QTableWidgetItem(hdr) table.setHorizontalHeaderItem(col, item) col += 1 vbox.addWidget(table, stretch=1) table.itemDoubleClicked.connect(self.itemclicked_cb) self.treeview = table self.entry = QtGui.QLineEdit() vbox.addWidget(self.entry, stretch=0, alignment=QtCore.Qt.AlignTop) self.entry.returnPressed.connect(self.browse_cb) hbox = QtHelp.HBox() btn = QtGui.QPushButton("Load") btn.clicked.connect(lambda w: self.load_cb()) hbox.addWidget(btn, stretch=0) btn = QtGui.QPushButton("Save Image As") hbox.addWidget(btn, stretch=0) self.entry2 = QtGui.QLineEdit() hbox.addWidget(self.entry2, stretch=1) vbox.addWidget(hbox, stretch=0, alignment=QtCore.Qt.AlignTop) self.entry2.returnPressed.connect(self.save_as_cb) btn.clicked.connect(lambda w: self.save_as_cb()) btns = QtHelp.HBox() layout = btns.layout() layout.setSpacing(3) btn = QtGui.QPushButton("Close") btn.clicked.connect(self.close) layout.addWidget(btn, stretch=0, alignment=QtCore.Qt.AlignLeft) btn = QtGui.QPushButton("Refresh") btn.clicked.connect(self.refresh) layout.addWidget(btn, stretch=0, alignment=QtCore.Qt.AlignLeft) btn = QtGui.QPushButton("Make Thumbs") btn.clicked.connect(self.make_thumbs) layout.addWidget(btn, stretch=0, alignment=QtCore.Qt.AlignLeft) vbox.addWidget(btns, stretch=0, alignment=QtCore.Qt.AlignLeft) cw = container.get_widget() cw.addWidget(widget, stretch=1)
def build_gui(self, container): if not has_webkit: self.browser = QtGui.QLabel("Please install the python-webkit package to enable this plugin") else: self.browser = QWebView() sw = QtGui.QScrollArea() sw.setWidgetResizable(True) #sw.set_border_width(2) sw.setWidget(self.browser) cw = container.get_widget() cw.layout().addWidget(sw, stretch=1) sw.show() self.entry = QtGui.QLineEdit() cw.layout().addWidget(self.entry, stretch=0) self.entry.returnPressed.connect(self.browse_cb) btns = QtHelp.HBox() layout = btns.layout() layout.setSpacing(3) btn = QtGui.QPushButton("Close") btn.clicked.connect(self.close) layout.addWidget(btn, stretch=0, alignment=QtCore.Qt.AlignLeft) cw.layout().addWidget(btns, stretch=0, alignment=QtCore.Qt.AlignLeft) if has_webkit: helpfile = os.path.abspath(os.path.join(packageHome, "doc", "help.html")) helpurl = "file://%s" % (helpfile) self.browse(helpurl)
def build_gui(self, container): rvbox = container self.msgFont = QtGui.QFont("Fixed", 14) tw = QtGui.QTextEdit() #tw.setLineWrapMode(??) ## tw.set_left_margin(4) ## tw.set_right_margin(4) tw.setReadOnly(True) ## tw.set_left_margin(4) ## tw.set_right_margin(4) tw.setCurrentFont(self.msgFont) self.tw = tw self.history = [] self.histmax = 10 sw = QtGui.QScrollArea() sw.setWidgetResizable(True) #sw.set_border_width(2) sw.setWidget(self.tw) rvbox.addWidget(sw, stretch=1) sw.show() self.entry = QtGui.QLineEdit() rvbox.addWidget(self.entry, stretch=0) self.entry.returnPressed.connect(self.command_cb)
def gui_add_channel(self, chname=None): if not chname: self.chncnt += 1 chname = "Image%d" % self.chncnt lbl = QtGui.QLabel('New channel name:') ent = QtGui.QLineEdit() ent.setText(chname) lbl2 = QtGui.QLabel('Workspace:') cbox = QtHelp.ComboBox() names = self.ds.get_wsnames() try: idx = names.index(self._lastwsname) except: idx = 0 for name in names: cbox.append_text(name) cbox.setCurrentIndex(idx) dialog = QtHelp.Dialog( "Add Channel", 0, [['Cancel', 0], ['Ok', 1]], lambda w, rsp: self.add_channel_cb(w, rsp, ent, cbox, names)) box = dialog.get_content_area() layout = QtGui.QVBoxLayout() box.setLayout(layout) layout.addWidget(lbl, stretch=0) layout.addWidget(ent, stretch=0) layout.addWidget(lbl2, stretch=0) layout.addWidget(cbox, stretch=0) dialog.show()
def build_gui(self, container): rvbox = container if not has_webkit: self.browser = QtGui.QLabel("Please install the python-webkit package to enable this plugin") else: self.browser = webkit.QWebView() sw = QtGui.QScrollArea() sw.setWidgetResizable(True) #sw.set_border_width(2) sw.setWidget(self.browser) rvbox.addWidget(sw, stretch=1) sw.show() self.entry = QtGui.QLineEdit() rvbox.addWidget(self.entry, stretch=0) self.entry.returnPressed.connect(self.browse_cb) if has_webkit: helpfile = os.path.abspath(os.path.join(moduleHome, "..", "..", "doc", "manual", "quickref.html")) helpurl = "file://%s" % (helpfile) self.entry.setText(helpurl) self.browse(helpurl)
def view_database(self, selected_entries=None): ''' Logic for creating and viewing of a tab with the database table ''' print "Viewing" table_headers = [ 'id', 'File', 'Observation Time Start', 'Observation Time End', 'Instrument', 'Min Wavelength', 'Max Wavelength', 'Starred' ] self.table_headers = table_headers vbox = QtHelp.VBox() filter_label = QtGui.QLabel("Filter") self.filter_label = filter_label filter_select = QtGui.QComboBox() search_box = QtGui.QLineEdit() search_box.textChanged.connect(self.query) self.search_box = search_box if selected_entries == None: selected_entries = database queries = self.get_data_from_selected_entries(selected_entries) wtable = QtGui.QTableWidget(len(queries), len(table_headers)) for i, row in enumerate(queries): for j, col in enumerate(row): item = QtGui.QTableWidgetItem(str(col)) wtable.setItem(i, j, item) wtable.itemClicked.connect(self.on_table_row_click) wtable.setHorizontalHeaderLabels(table_headers) wtable.horizontalHeader().setResizeMode( QtGui.QHeaderView.ResizeToContents) self.wtable = wtable if 'sunpydb' in self.fv.ds.get_tabnames(): self.fv.ds.remove_tab("sunpydb") filter_select.addItems(self.table_headers[:-1]) self.filter_select = filter_select vbox.addWidget(filter_label, stretch=0) vbox.addWidget(filter_select, stretch=0) vbox.addWidget(search_box) vbox.addWidget(wtable, stretch=0) starred_entries_box = QtGui.QCheckBox("Show starred entries only") self.starred_entries_box = starred_entries_box starred_entries_box.stateChanged.connect(self.starred_entries_only) vbox.addWidget(starred_entries_box) self.fv.ds.add_tab("right", vbox, 1, "SunPyDB", tabname="sunpydb") self.fv.ds.raise_tab("sunpydb")
def __init__(self, text=''): super(TextEntry, self).__init__() self.widget = QtGui.QLineEdit() self.widget.setText(text) self.widget.returnPressed.connect(self._cb_redirect) self.enable_callback('activated')
def gui_add_channel(self, chname=None): if not chname: self.chncnt += 1 chname = "Image%d" % self.chncnt lbl = QtGui.QLabel('New channel name:') ent = QtGui.QLineEdit() ent.setText(chname) #ent.set_activates_default(True) dialog = QtHelp.Dialog("New Channel", 0, [['Cancel', 0], ['Ok', 1]], lambda w, rsp: self.new_channel_cb(w, rsp, ent)) box = dialog.get_content_area() layout = QtGui.QVBoxLayout() box.setLayout(layout) layout.addWidget(lbl, stretch=0) layout.addWidget(ent, stretch=0) dialog.show()
def build_gui(self, container): widget = QtGui.QWidget() vbox = QtGui.QVBoxLayout() vbox.setContentsMargins(2, 2, 2, 2) widget.setLayout(vbox) # create the table table = QtGui.QTableWidget() table.setShowGrid(False) table.verticalHeader().hide() table.setColumnCount(len(self.columns)) col = 0 for hdr, kwd in self.columns: item = QtGui.QTableWidgetItem(hdr) table.setHorizontalHeaderItem(col, item) col += 1 vbox.addWidget(table, stretch=1) table.itemDoubleClicked.connect(self.itemclicked_cb) self.treeview = table self.entry = QtGui.QLineEdit() vbox.addWidget(self.entry, stretch=0, alignment=QtCore.Qt.AlignTop) self.entry.returnPressed.connect(self.browse_cb) btns = QtHelp.HBox() layout = btns.layout() layout.setSpacing(3) btn = QtGui.QPushButton("Close") btn.clicked.connect(self.close) layout.addWidget(btn, stretch=0, alignment=QtCore.Qt.AlignLeft) btn = QtGui.QPushButton("Refresh") btn.clicked.connect(self.refresh) layout.addWidget(btn, stretch=0, alignment=QtCore.Qt.AlignLeft) btn = QtGui.QPushButton("Make Thumbs") btn.clicked.connect(self.make_thumbs) layout.addWidget(btn, stretch=0, alignment=QtCore.Qt.AlignLeft) vbox.addWidget(btns, stretch=0, alignment=QtCore.Qt.AlignLeft) container.addWidget(widget, stretch=1)