class FamilyMainWindow(BaseSplitWindow, BasePaellaWindow): def __init__(self, parent): BaseSplitWindow.__init__(self, parent, FamilyView, name='FamilyMainWindow') self.initPaellaCommon() self.initActions() self.initMenus() self.initToolbar() self.cursor = self.conn.cursor(statement=True) self.family = Family(self.conn) self.refreshListView() self.resize(600, 800) self.splitter.setSizes([100, 500]) self.setCaption('Paella Families') self._new_family_dialog = None def initActions(self): collection = self.actionCollection() self.quitAction = KStdAction.quit(self.close, collection) self.newFamilyAction = KStdAction.openNew(self.newFamily, collection) self.importFamilyAction = KStdAction.open(self.slotImportFamily, collection) self.exportFamilyAction = KStdAction.saveAs(self.slotExportFamily, collection) def initMenus(self): mainmenu = KPopupMenu(self) menubar = self.menuBar() menubar.insertItem('&Main', mainmenu) menubar.insertItem('&Help', self.helpMenu('')) self.newFamilyAction.plug(mainmenu) self.importFamilyAction.plug(mainmenu) self.exportFamilyAction.plug(mainmenu) self.quitAction.plug(mainmenu) def initToolbar(self): toolbar = self.toolBar() self.newFamilyAction.plug(toolbar) self.importFamilyAction.plug(toolbar) self.exportFamilyAction.plug(toolbar) self.quitAction.plug(toolbar) def initlistView(self): self.listView.setRootIsDecorated(False) self.listView.addColumn('family') def refreshListView(self): self.listView.clear() for row in self.family.family_rows(): item = KListViewItem(self.listView, row.family) item.family = row.family def selectionChanged(self): item = self.listView.currentItem() self.mainView.set_family(item.family) def newFamily(self): win = NewFamilyDialog(self) win.frame.text_label.setText('Add a new family.') win.connect(win, SIGNAL('okClicked()'), self.insertNewFamily) win.show() self._new_family_dialog = win def insertNewFamily(self): win = self._new_family_dialog family = win.getRecordData()['name'] self.family.create_family(family) self.refreshListView() self._new_family_dialog = None def slotImportFamily(self): KMessageBox.information(self, 'Import unimplemented') def slotExportFamily(self): KMessageBox.information(self, 'Export unimplemented')
class FamilyMainWindow(SimpleSplitWindow): def __init__(self, app, parent): SimpleSplitWindow.__init__(self, app, parent, FamilyView, 'FamilyMainWindow') self.app = app self.initActions() self.initMenus() self.initToolbar() self.conn = app.conn self.cfg = app.cfg self.cursor = StatementCursor(self.conn) self.family = Family(self.conn) self.refreshListView() self.resize(600, 800) self.setCaption('paella families') def initActions(self): collection = self.actionCollection() self.quitAction = KStdAction.quit(self.close, collection) self.newFamilyAction = KStdAction.openNew(self.newFamily, collection) def initMenus(self): mainMenu = KPopupMenu(self) menus = [mainMenu] self.menuBar().insertItem('&Main', mainMenu) self.menuBar().insertItem('&Help', self.helpMenu('')) self.newFamilyAction.plug(mainMenu) self.quitAction.plug(mainMenu) def initToolbar(self): toolbar = self.toolBar() self.newFamilyAction.plug(toolbar) self.quitAction.plug(toolbar) def initlistView(self): self.listView.setRootIsDecorated(True) self.listView.addColumn('group') def refreshListView(self): self.listView.clear() for row in self.family.family_rows(): item = KListViewItem(self.listView, row.family) item.family = row.family def selectionChanged(self): current = self.listView.currentItem() if hasattr(current, 'family'): self.view.set_family(current.family) if hasattr(current, 'trait'): print 'trait is', current.trait self.view.set_trait(current.trait) if hasattr(current, 'suite'): print 'suite is', current.suite if hasattr(current, 'widget'): print 'widget is', current.widget def newFamily(self): dialog = SimpleRecordDialog(self, ['family']) dialog.connect(dialog, SIGNAL('okClicked()'), self.insertNewFamily) self._dialog = dialog def insertNewFamily(self): dialog = self._dialog data = dialog.getRecordData() family = data['family'] if family not in self.family.all_families(): self.family.create_family(family) else: KMessageBox.information(self, '%s already exists.' % family) self.refreshListView()