def __init__(self, parent, table, fields, idcol, groupfields, mainview, name='PaellaRecordSelector'): #PaellaManagerWidget.__init__(self, parent, mainview, name=name) QSplitter.__init__(self, parent, name) BasePaellaWidget.initPaellaCommon(self) self.current = currentobject() self.table = table self.fields = fields self.idcol = idcol self.groupfields = groupfields self.listView = KListView(self) self.vsplit = QSplitter(self) self.vsplit.setOrientation(self.Vertical) self.mainView = mainview(self.vsplit) self.recordForm = EditableRecordFrame(self, fields) self.connect(self.listView, SIGNAL('selectionChanged()'), self.groupChanged) self.connect(self.recordForm.insButton, SIGNAL('clicked()'), self.insertRecord) self.connect(self.recordForm.updButton, SIGNAL('clicked()'), self.updateRecord) self.initlistView() self.setSource(self.handleURL)
class PaellaRecordSelector(QSplitter, BasePaellaWidget): def __init__(self, parent, table, fields, idcol, groupfields, mainview, name='PaellaRecordSelector'): #PaellaManagerWidget.__init__(self, parent, mainview, name=name) QSplitter.__init__(self, parent, name) BasePaellaWidget.initPaellaCommon(self) self.current = currentobject() self.table = table self.fields = fields self.idcol = idcol self.groupfields = groupfields self.listView = KListView(self) self.vsplit = QSplitter(self) self.vsplit.setOrientation(self.Vertical) self.mainView = mainview(self.vsplit) self.recordForm = EditableRecordFrame(self, fields) self.connect(self.listView, SIGNAL('selectionChanged()'), self.groupChanged) self.connect(self.recordForm.insButton, SIGNAL('clicked()'), self.insertRecord) self.connect(self.recordForm.updButton, SIGNAL('clicked()'), self.updateRecord) self.initlistView() self.setSource(self.handleURL) def initlistView(self): self.listView.addColumn('group') self.listView.setRootIsDecorated(True)
class ImportsMainWindow(BaseMainWindow): def __init__(self, parent, name='ImportsMainWindow'): BaseMainWindow.__init__(self, parent, name=name) self.handler = AbandonGamesHandler(self.app) self.splitView = QSplitter(self) self.listView = KListView(self.splitView) self.connect(self.listView, SIGNAL('selectionChanged()'), self.selectionChanged) self.initlistView() self.textView = MainAbandoniaPart(self.splitView) self.setCentralWidget(self.splitView) def initlistView(self): self.listView.addColumn('games', -1) self.refreshListView() def refreshListView(self): self.listView.clear() gameids = self.handler.get_all_html_ids() print 'in initlistView', gameids for gameid in gameids: #item = KListViewItem(self.listView, str(gameid)) #item.gameid = gameid self.handler.get_game_data(gameid) item = KListViewItem(self.listView, self.handler.parser.title) item.gameid = gameid def selectionChanged(self): item = self.listView.currentItem() self.handler.get_game_data(item.gameid) print 'in selectionChanged', self.handler.parser.gameid self.textView.set_game_info(self.handler)
def __init__(self, app, parent, name='FamilyList'): KListView.__init__(self, parent, name) dbwidget(self, app) self.family = Family(self.conn) self.setRootIsDecorated(True) self.addColumn('family') self.refreshlistView()
def __init__(self, app, parent): KDialogBase.__init__(self, parent, 'SuiteSelector') dbwidget(self, app) self.suites = Suites(self.conn) self.listView = KListView(self) self.listView.addColumn('suite') self.setMainWidget(self.listView) self.refreshlistView() self.show()
def __init__(self, parent, name='FamilyList'): KListView.__init__(self, parent, name) self.app = get_application_pointer() self.conn = self.app.conn self.family = Family(self.conn) self.setRootIsDecorated(True) self.addColumn('family') self.refreshlistView()
def __init__(self, app, parent, clientid): KListView.__init__(self, parent) self.app = app self.manager = ClientManager(self.app) self.clientid = clientid self.addColumn('tag') self.addColumn('value') self.setRootIsDecorated(True) self.connect(self, SIGNAL('rightButtonClicked()'), self.popupmymenu) self.refreshlistView()
def __init__(self, app, parent, etype='default', name='EnvironmentList'): KListView.__init__(self, parent, name) dbwidget(self, app) self.etype = etype self.environ = ETYPE[self.etype](self.conn) self.cursor = StatementCursor(self.conn) self.cursor.set_table('%s_environment' % self.etype) self.setRootIsDecorated(True) for field in ['section', 'option', 'value']: self.addColumn(field)
def __init__(self, app, parent, ftype='template', name='TraitList'): KListView.__init__(self, parent, name) dbwidget(self, app) self.ftype = ftype self.scripts = None self.templates = None self.traits = None self.setRootIsDecorated(True) self.addColumn('trait/file') self.addColumn('name') self.addColumn('package')
def __init__(self, parent, etype='default', name='EnvironmentList'): KListView.__init__(self, parent, name) self.app = get_application_pointer() self.conn = self.app.conn self.etype = etype self.environ = ETYPE[self.etype](self.conn) self.cursor = self.conn.cursor(statement=True) self.cursor.set_table('%s_environment' % self.etype) self.setRootIsDecorated(True) for field in ['section', 'option', 'value']: self.addColumn(field)
def __init__(self, parent): BasePaellaWindow.__init__(self, parent, name='ClientsMainWindow') self.initPaellaCommon() self.initActions() self.initMenus() self.initToolbar() self.cursor = self.conn.cursor(statement=True) self.listView = KListView(self) self.setCentralWidget(self.listView) self.refreshListView() self.resize(600, 800) self.setCaption('Paella Profiles')
def __init__(self, parent, file_type='template', name='TraitListView'): KListView.__init__(self, parent, name) self.app = get_application_pointer() self.conn = self.app.conn self.file_type = file_type self.scripts = None self.templates = None self.traits = None self.trait = None self.setRootIsDecorated(True) self.addColumn('trait/file') self.addColumn('name') self.addColumn('package')
def __init__(self, parent, name='EntityTypeWindow'): BaseMainWindow.__init__(self, parent, name=name) self.splitView = QSplitter(self, 'splitView') self.etypeView = KListView(self.splitView, 'etypes_view') self.extfieldsView = KListView(self.splitView, 'extfields_view') self.initActions() self.initMenus() self.initToolbar() self.setCentralWidget(self.splitView) self.connect(self.etypeView, SIGNAL('selectionChanged()'), self.selectionChanged) self.initlistView() self.current_etype = None
def __init__(self, parent=None, name='PaellaMainWindowSmall'): print 'using window', name BasePaellaMainWindow.__init__(self, parent, name) # In this window, we use a listbox to select the other # parts of the application self.listView = KListView(self) self.listView.setRootIsDecorated(True) self.listView.addColumn('widget') self.setCentralWidget(self.listView) if self.app.conn is not None: self.refreshListView() self.setCaption('Main Menu') self.connect(self.listView, SIGNAL('selectionChanged()'), self.selectionChanged)
def slotManagekernels(self): self._killmainView() self._managing = 'kernels' table = 'kernels' rows = self.cursor.select(table='kernels') self.mainView = KListView(self) self.mainView.setRootIsDecorated(True) self.setCentralWidget(self.mainView) self.mainView.addColumn('kernel') self.connect(self.mainView, SIGNAL('rightButtonClicked(QListViewItem *, const QPoint &, int )'), self.slotMouseIsPressed) for row in rows: KListViewItem(self.mainView, row.kernel) self.mainView.show()
class SimpleSplitWindow(KMainWindow): def __init__(self, app, parent, view, name): KMainWindow.__init__(self, parent, name) self.app = app self.conn = app.conn self.mainView = QSplitter(self, 'mainView') self.listView = KListView(self.mainView) self.listView.setRootIsDecorated(True) self.view = view(self.app, self.mainView) self.setCentralWidget(self.mainView) if hasattr(self, 'initlistView'): self.initlistView() self.connect(self.listView, SIGNAL('selectionChanged()'), self.selectionChanged) self.show()
class ProfileSelectorDialog(BaseDialogWindow): def __init__(self, parent, name='ProfileSelectorDialog'): BaseDialogWindow.__init__(self, parent, name=name) self.dbox = self.app.make_new_dosbox_object() profiles = self.dbox.get_profile_list() self.listView = KListView(self) self.listView.addColumn('profile') self.setMainWidget(self.listView) for profile in profiles: item = KListViewItem(self.listView, profile) item.profile = profile def get_selected_profile(self): item = self.listView.currentItem() return item.profile
class SuiteSelector(KDialogBase): def __init__(self, app, parent): KDialogBase.__init__(self, parent, 'SuiteSelector') dbwidget(self, app) self.suites = Suites(self.conn) self.listView = KListView(self) self.listView.addColumn('suite') self.setMainWidget(self.listView) self.refreshlistView() self.show() def refreshlistView(self): self.listView.clear() for suite in self.suites.list(): item = KListViewItem(self.listView, suite) item.suite = suite
class BaseSplitWindow(BaseMainWindow): def __init__(self, parent, view, listview=None, name='BaseSplitWIndow'): BaseMainWindow.__init__(self, parent, name=name) self.splitter = QSplitter(self, 'mainView') if listview is None: self.listView = KListView(self.splitter) else: self.listView = listview(self.splitter) self.mainView = view(self.splitter) self.setCentralWidget(self.splitter) if hasattr(self, 'initlistView'): self.initlistView() elif hasattr(self.listView, 'initlistView'): self.listView.initlistView() self.connect(self.listView, SIGNAL('selectionChanged()'), self.selectionChanged)
def __init__(self, parent, name='MainEntityWindow'): BaseToolboxWindow.__init__(self, parent, name=name) self.splitView = QSplitter(self, 'splitView') self.listView = KListView(self.splitView, 'entities_view') self.textView = RtorrentInfoPart(self.splitView) self.initActions() self.initMenus() self.initToolbar() self.app.rtserver = Server(url="http://roujin/RPC2") self.app.rtorrent = Rtorrent(self.app.rtserver) #self._sortby = 'name' self.initlistView() self.connect(self.listView, SIGNAL('selectionChanged()'), self.selectionChanged) self.connect(self.textView, PYSIGNAL('EntityInfoUpdated'), self.refreshDisplay) self.setCentralWidget(self.splitView) # dialogs self._new_entity_dlg = None # resize window self.resize(400, 500) self.splitView.setSizes([75, 325]) self.setAcceptDrops(True)
def __init__(self, parent): KMainWindow.__init__(self, parent, 'Uncover Truth Frontend') self.app = get_application_pointer() self.splitView = QSplitter(self, 'splitView') self.listView = KListView(self.splitView, 'guests_view') self.textView = InfoPart(self.splitView) self.initlistView() self.connect(self.listView, SIGNAL('selectionChanged()'), self.selectionChanged) self.connect(self.textView, PYSIGNAL('GuestInfoUpdated'), self.refreshDisplay) self.setCentralWidget(self.splitView) collection = self.actionCollection() self.quitAction = KStdAction.quit(self.close, collection) self.newGuestAction = KStdAction.openNew(self.slotNewGuest, collection) self.selectAllAction = KStdAction.selectAll(self.slotSelectAll, collection) mainmenu = KPopupMenu(self) self.newGuestAction.plug(mainmenu) self.selectAllAction.plug(mainmenu) self.quitAction.plug(mainmenu) menubar = self.menuBar() menubar.insertItem('&Main', mainmenu) toolbar = self.toolBar() self.newGuestAction.plug(toolbar) self.quitAction.plug(toolbar) self.new_guest_dialog = None # resize window self.resize(400, 500) self.splitView.setSizes([75, 325])
def slotManagefilesystem(self): self._killmainView() self._managing = 'filesystems' self.mainView = FilesystemManager(self.app, self) self.setCentralWidget(self.mainView) self.mainView.show() print 'manage filesystems'
def __init__(self, app, parent): KMainWindow.__init__(self, parent, 'AdminWidget') self.app = app self.db = app.db self.manager = AdminDb(self.app) self.mainView = QSplitter(self, 'main view') self.listView = KListView(self.mainView) self.groupView = KListView(self.mainView) self.setCentralWidget(self.mainView) self.initActions() self.initMenus() self.initToolbar() self.initlistView() self.connect(self.listView, SIGNAL('selectionChanged()'), self.selectionChanged) self.dialogs = {} self.show()
def __init__(self, app, *args): KMainWindow.__init__(self, *args) self.app = app self.icons = KIconLoader() self.initActions() self.initMenus() self.initToolbar() self.conn = app.conn self.cfg = app.cfg self.cursor = StatementCursor(self.conn) self.listView = KListView(self) self.listView.setRootIsDecorated(True) self.listView.addColumn('widget') self.setCentralWidget(self.listView) self.refreshListView() self.connect(self.listView, SIGNAL('selectionChanged()'), self.selectionChanged)
def __init__(self, app, parent, view, name): QSplitter.__init__(self, parent, name) self.app = app self.listView = KListView(self) self.view = view(self.app, self) self.initlistView() self.connect(self.listView, SIGNAL('selectionChanged()'), self.selectionChanged) self.show()
class BaseTagDialogFrame(QFrame): def __init__(self, parent, name='BaseEntityDataFrame'): QFrame.__init__(self, parent, name) self.entityid = None numrows = 5 numcols = 1 margin = 0 space = 1 self.grid = QGridLayout(self, numrows, numcols, margin, space, 'BaseEntityDataLayout') self.app = get_application_pointer() self.lbl = QLabel('Select the tags', self) self.grid.addWidget(self.lbl, 0, 0) self.listView = KListView(self) self.listView.addColumn('tagname', -1) self.listView.clear() self.grid.addMultiCellWidget(self.listView, 1, 4, 0, 0)
def slotManagemachine_type(self): self._killmainView() self._managing = 'machine_types' self.mainView = MachineTypeManager(self.app, self) self.setCentralWidget(self.mainView) self.connect(self.mainView.listView, SIGNAL('rightButtonClicked(QListViewItem *, const QPoint &, int )'), self.slotMouseIsPressed) self.mainView.show() print 'manage machine_types'
def __init__(self, parent, name='ImportsMainWindow'): BaseMainWindow.__init__(self, parent, name=name) self.handler = AbandonGamesHandler(self.app) self.splitView = QSplitter(self) self.listView = KListView(self.splitView) self.connect(self.listView, SIGNAL('selectionChanged()'), self.selectionChanged) self.initlistView() self.textView = MainAbandoniaPart(self.splitView) self.setCentralWidget(self.splitView)
def __init__(self, app, *args): KMainWindow.__init__(self, *args) self.app = app self.icons = KIconLoader() self._environ_types = ['default', 'current'] self._differ_types = ['trait', 'family'] self.conn = app.conn self.cfg = app.cfg self.cursor = StatementCursor(self.conn) self._suites = [x.suite for x in self.cursor.select(table='suites')] self.initActions() self.initMenus() self.initToolbar() self.listView = KListView(self) self.listView.setRootIsDecorated(True) self.listView.addColumn('widget') self.setCentralWidget(self.listView) self.refreshListView() self.setCaption('Main Menu') self.connect(self.listView, SIGNAL('selectionChanged()'), self.selectionChanged)
def __init__(self, parent=None, name="PaellaMainWindowSmall"): print "using window", name BasePaellaMainWindow.__init__(self, parent, name) # In this window, we use a listbox to select the other # parts of the application self.listView = KListView(self) self.listView.setRootIsDecorated(True) self.listView.addColumn("widget") self.setCentralWidget(self.listView) if self.app.conn is not None: self.refreshListView() self.setCaption("Main Menu") self.connect(self.listView, SIGNAL("selectionChanged()"), self.selectionChanged)
def slotManagemachine(self): self._killmainView() self._managing = 'machines' table='machines' rows = self.cursor.select(table='machines') columns = ['machine', 'machine_type', 'kernel', 'profile', 'filesystem'] self.mainView = MachineManager(self.app, self) self.setCentralWidget(self.mainView) self.connect(self.mainView.listView, SIGNAL('rightButtonClicked(QListViewItem *, const QPoint &, int )'), self.slotMouseIsPressed) self.mainView.show() print 'manage machines' print '%d machines' % len(rows)
class ClientsMainWindow(BasePaellaWindow): def __init__(self, parent): BasePaellaWindow.__init__(self, parent, name='ClientsMainWindow') self.initPaellaCommon() self.initActions() self.initMenus() self.initToolbar() self.cursor = self.conn.cursor(statement=True) self.listView = KListView(self) self.setCentralWidget(self.listView) self.refreshListView() self.resize(600, 800) self.setCaption('Paella Profiles') def initActions(self): collection = self.actionCollection() self.quitAction = KStdAction.quit(self.close, collection) self.newClientAction = KStdAction.openNew(self.slotNewClient, collection) def initMenus(self): mainmenu = KPopupMenu(self) menubar = self.menuBar() menubar.insertItem('&Main', mainmenu) menubar.insertItem('&Help', self.helpMenu('')) self.newClientAction.plug(mainmenu) self.quitAction.plug(mainmenu) def initToolbar(self): toolbar = self.toolBar() self.newClientAction.plug(toolbar) self.quitAction.plug(toolbar) def initlistView(self): self.listView.setRootIsDecorated(False) self.listView.addColumn('profile') def refreshListView(self): self.listView.clear() for row in self.profile.select(fields=['profile', 'suite'], order=['profile']): item = KListViewItem(self.listView, row.profile) item.profile = row.profile def slotNewClient(self): KMessageBox.information(self, 'New Client not ready yet.') def selectionChanged(self): item = self.listView.currentItem() self.mainView.set_profile(item.profile)
def __init__(self, parent): KMainWindow.__init__(self, parent, 'PyKDE Dosbox Frontend') # setup app pointer self.app = get_application_pointer() self._init_common() self.setAcceptDrops(True) # place a splitter in the window self.splitView = QSplitter(self, 'splitView') # place a listview in the splitter (on the left) self.listView = KListView(self.splitView, 'games_view') # fill listview self.initlistView() # try to resize splitter # this is a kind of ugly hack, but seems to work ok x, y = self.myconfig.get_xy('mainwindow', 'mainwindow_size') self.splitView.setSizes([int(.1*x), int(.9*x)]) # setup signals self.connect(self.listView, SIGNAL('selectionChanged()'), self.selectionChanged) # place text browser in splitter #self.textView = InfoBrowser(self.splitView) # i may eventually use the KHTMLPart instead # of the KTextBrowser if self.app.myconfig.getboolean('mainwindow', 'use_khtml_part'): self.textView = InfoPart(self.splitView) else: self.textView = InfoBrowser(self.splitView) self.connect(self.textView, PYSIGNAL('GameInfoSet'), self.selectGame) self.statusbar = KStatusBar(self) self._set_current_profile(self.app.dosbox.current_profile) # set main widget self.setCentralWidget(self.splitView) # setup dialog pointers # it would be nice if I knew a better way to get # information from dialogs self.new_game_dir_dialog = None self.add_new_game_dlg = None self.set_profile_dlg = None # here we add some methods to the dcop object self.app.dcop.addMethod('void selectGame (QString)', self.selectGame) self.app.dcop.addMethod('void launchSelectedGame()', self.slotLaunchDosbox)
def __init__(self, parent, db, table, fields, idcol, groupfields, view, name='RecordSelector'): QSplitter.__init__(self, parent, name) self.current = currentobject() self.db = db self.table = table self.fields = fields self.idcol = idcol self.groupfields = groupfields self.listView = KListView(self) self.vsplit = QSplitter(self) self.vsplit.setOrientation(Qt.Vertical) self.recView = view(db, self.vsplit) frame = QFrame(self.vsplit) self.recForm = EditableRecord(frame, fields) self.connect(self.listView, SIGNAL('selectionChanged()'), self.groupChanged) self.connect(self.recForm.insButton, SIGNAL('clicked()'), self.insertRecord) self.connect(self.recForm.updButton, SIGNAL('clicked()'), self.updateRecord) self.initlistView() self.setSource(self.handleURL)
class MachineMainWindow(KMainWindow): def __init__(self, app, parent): KMainWindow.__init__(self, parent) self.app = app self.icons = KIconLoader() self.initActions() self.initMenus() self.initToolbar() self.conn = app.conn self.cfg = app.cfg self.cursor = StatementCursor(self.conn) self.mainView = None self.resize(400, 300) self.show() def _killmainView(self): if self.mainView is not None: print 'need to kill mainView here' del self.mainView self.mainView = None def initActions(self): collection = self.actionCollection() self.quitAction = KStdAction.quit(self.app.quit, collection) self._manage_actions = {} for k, v in ManageActions.items(): att = 'slotManage%s' % k self._manage_actions[k] = v(getattr(self, att), collection) def initMenus(self): mainMenu = KPopupMenu(self) actions = self._manage_actions.values() actions += [self.quitAction] self.menuBar().insertItem('&Main', mainMenu) self.menuBar().insertItem('&Help', self.helpMenu('')) for action in actions: action.plug(mainMenu) def initToolbar(self): toolbar = self.toolBar() actions = self._manage_actions.values() actions += [self.quitAction] for action in actions: action.plug(toolbar) def refreshListView(self): machine_folder = KListViewItem(self.listView, 'machines') def selectionChanged(self): current = self.listView.currentItem() print current, dir(current) def slotManagemachine(self): self._killmainView() self._managing = 'machines' table = 'machines' rows = self.cursor.select(table='machines') columns = [ 'machine', 'machine_type', 'kernel', 'profile', 'filesystem' ] self.mainView = MachineManager(self.app, self) self.setCentralWidget(self.mainView) self.connect( self.mainView.listView, SIGNAL( 'rightButtonClicked(QListViewItem *, const QPoint &, int )'), self.slotMouseIsPressed) self.mainView.show() print 'manage machines' print '%d machines' % len(rows) def slotManagemachine_type(self): self._killmainView() self._managing = 'machine_types' self.mainView = MachineTypeManager(self.app, self) self.setCentralWidget(self.mainView) self.connect( self.mainView.listView, SIGNAL( 'rightButtonClicked(QListViewItem *, const QPoint &, int )'), self.slotMouseIsPressed) self.mainView.show() print 'manage machine_types' def slotManagefilesystem(self): self._killmainView() self._managing = 'filesystems' self.mainView = FilesystemManager(self.app, self) self.setCentralWidget(self.mainView) self.mainView.show() print 'manage filesystems' def slotManagekernels(self): self._killmainView() self._managing = 'kernels' table = 'kernels' rows = self.cursor.select(table='kernels') self.mainView = KListView(self) self.mainView.setRootIsDecorated(True) self.setCentralWidget(self.mainView) self.mainView.addColumn('kernel') self.connect( self.mainView, SIGNAL( 'rightButtonClicked(QListViewItem *, const QPoint &, int )'), self.slotMouseIsPressed) for row in rows: KListViewItem(self.mainView, row.kernel) self.mainView.show() def slotManagedisk(self): self._killmainView() print 'manage disks' def slotManagemount(self): self._killmainView() print 'manage mounts' def slotMouseIsPressed(self): print 'mouse press' KMessageBox.information(self, 'Managing %s' % self._managing)
class PaellaMainWindow(KMainWindow): def __init__(self, app, *args): KMainWindow.__init__(self, *args) self.app = app self.icons = KIconLoader() self.initActions() self.initMenus() self.initToolbar() self.conn = app.conn self.cfg = app.cfg self.cursor = StatementCursor(self.conn) self.listView = KListView(self) self.listView.setRootIsDecorated(True) self.listView.addColumn('widget') self.setCentralWidget(self.listView) self.refreshListView() self.connect(self.listView, SIGNAL('selectionChanged()'), self.selectionChanged) def initActions(self): collection = self.actionCollection() self.manageFamiliesAction = ManageFamilies(self.slotManageFamilies, collection) self.editTemplatesAction = EditTemplateAction(self.slotEditTemplates, collection) self.quitAction = KStdAction.quit(self.app.quit, collection) def initMenus(self): mainMenu = KPopupMenu(self) actions = [ self.manageFamiliesAction, self.editTemplatesAction, self.quitAction ] self.menuBar().insertItem('&Main', mainMenu) self.menuBar().insertItem('&Help', self.helpMenu('')) for action in actions: action.plug(mainMenu) def initToolbar(self): toolbar = self.toolBar() actions = [ self.manageFamiliesAction, self.editTemplatesAction, self.quitAction ] for action in actions: action.plug(toolbar) def refreshListView(self): suite_folder = KListViewItem(self.listView, 'suites') for row in self.cursor.select(table='suites'): item = KListViewItem(suite_folder, row.suite) item.suite = row.suite profile_folder = KListViewItem(self.listView, 'profiles') profile_folder.profiles = True family_folder = KListViewItem(self.listView, 'families') family_folder.families = True machine_folder = KListViewItem(self.listView, 'machines') machine_folder.machines = True differ_folder = KListViewItem(self.listView, 'differs') differ_folder.differs = True for dtype in ['trait', 'family']: item = KListViewItem(differ_folder, dtype) item.dtype = dtype environ_folder = KListViewItem(self.listView, 'environ') environ_folder.environ = True for etype in ['default', 'current']: item = KListViewItem(environ_folder, etype) item.etype = etype def selectionChanged(self): current = self.listView.currentItem() if hasattr(current, 'suite'): print 'suite is', current.suite TraitMainWindow(self.app, self, current.suite) elif hasattr(current, 'profiles'): ProfileMainWindow(self.app, self) elif hasattr(current, 'families'): self.slotManageFamilies() elif hasattr(current, 'machines'): MachineMainWindow(self.app, self) elif hasattr(current, 'dtype'): print 'differ', current.dtype DifferWin(self.app, self, current.dtype) elif hasattr(current, 'etype'): DefEnvWin(self.app, self, current.etype) def slotManageFamilies(self): print 'running families' FamilyMainWindow(self.app, self) def slotEditTemplates(self): print 'edit templates'
class PaellaMainWindowSmall(BasePaellaMainWindow): def __init__(self, parent=None, name='PaellaMainWindowSmall'): print 'using window', name BasePaellaMainWindow.__init__(self, parent, name) # In this window, we use a listbox to select the other # parts of the application self.listView = KListView(self) self.listView.setRootIsDecorated(True) self.listView.addColumn('widget') self.setCentralWidget(self.listView) if self.app.conn is not None: self.refreshListView() self.setCaption('Main Menu') self.connect(self.listView, SIGNAL('selectionChanged()'), self.selectionChanged) def _import_export_directory_selected(self): BasePaellaMainWindow._import_export_directory_selected(self) self.refreshListView() def refreshListView(self): self.listView.clear() self._refresh_suites() suite_folder = KListViewItem(self.listView, 'suites') suite_folder.folder = True for suite in self._suites: item = KListViewItem(suite_folder, suite) item.suite = suite profile_folder = KListViewItem(self.listView, 'profiles') profile_folder.profiles = True family_folder = KListViewItem(self.listView, 'families') family_folder.families = True machine_folder = KListViewItem(self.listView, 'machines') machine_folder.machines = True differ_folder = KListViewItem(self.listView, 'differs') differ_folder.differs = True differ_folder.folder = True for dtype in ['trait', 'family']: item = KListViewItem(differ_folder, dtype) item.dtype = dtype environ_folder = KListViewItem(self.listView, 'environ') environ_folder.environ = True environ_folder.folder = True for etype in ['default', 'current']: item = KListViewItem(environ_folder, etype) item.etype = etype # installer widget is still unimplemented if False: installer_folder = KListViewItem(self.listView, 'installer') installer_folder.installer = True if self.app.cfg.getboolean('management_gui', 'client_widget'): clients_folder = KListViewItem(self.listView, 'clients') clients_folder.clients = True def selectionChanged(self): current = self.listView.currentItem() win = None if hasattr(current, 'suite'): print 'suite is', current.suite if not self._suites: KMessageBox.information(self, "No suites are present.") else: win = TraitMainWindow(self, current.suite) elif hasattr(current, 'profiles'): win = ProfileMainWindow(self) elif hasattr(current, 'families'): self.slotManageFamilies() elif hasattr(current, 'machines'): win = MachineMainWindow(self) elif hasattr(current, 'dtype'): print 'differ', current.dtype win = DifferWindow(self, current.dtype) elif hasattr(current, 'etype'): win = EnvironmentWindow(self, current.etype) elif hasattr(current, 'installer'): #win = InstallerMainWin(self) KMessageBox.information(self, 'Not Implemented') elif hasattr(current, 'clients'): win = ClientsMainWindow(self) elif hasattr(current, 'folder'): # nothing important selected, do nothing pass else: KMessageBox.error(self, 'something bad happened in the list selection') if win is not None: win.show() self._all_my_children.append(win) def slotManageFamilies(self): print 'running families' #FamilyMainWindow(self.app, self) #KMessageBox.error(self, 'Managing families unimplemented') win = FamilyMainWindow(self) win.show() self._all_my_children.append(win) def slotManageSuite(self, wid=-1): print 'in slotManageSuite suite is', wid #TraitMainWindow(self.app, self, current.suite) KMessageBox.error(self, 'Managing suites unimplemented') def slotDbConnected(self, dsn): BasePaellaMainWindow.slotDbConnected(self, dsn) self.conn = self.app.conn self.refreshListView() def slotDisconnectDatabase(self): try: BasePaellaMainWindow.slotDisconnectDatabase(self) except NotConnectedError: pass self.conn = None self.listView.clear() while self._all_my_children: child = self._all_my_children.pop() try: child.close() except RuntimeError, inst: if inst.args[0] != 'underlying C/C++ object has been deleted': raise inst