Exemplo n.º 1
0
    def __init__(self):
        """Sets up the window and the widgets."""
        EasyFrame.__init__(self, title="Song Browser", width=300, height=150)

        # Create a model
        self.database = SongDatabase()
        self.selectedTitle = None

        # Set up the menus
        menuBar = self.addMenuBar(row=0, column=0, columnspan=2)
        fileMenu = menuBar.addMenu("File")
        fileMenu.addMenuItem("Open", self.openFile)
        fileMenu.addMenuItem("Save", self.saveFile)
        fileMenu.addMenuItem("Save As...", self.saveFileAs)

        self.editMenu = menuBar.addMenu("Edit", state=DISABLED)
        self.editMenu.addMenuItem("Find", self.findSong)
        self.editMenu.addMenuItem("Delete", self.deleteSong)

        # Set up the list box
        self.listBox = self.addListbox(row=1,
                                       column=0,
                                       width=20,
                                       listItemSelected=self.listItemSelected)

        # Set the text area
        self.outputArea = self.addTextArea("",
                                           row=1,
                                           column=1,
                                           width=30,
                                           height=4)
Exemplo n.º 2
0
 def openFile(self):
     """Pops up an open file dialog.  Updates the view if
     a file is opened."""
     filetypes = [("Database files", "*.dat")]
     fileName = tkinter.filedialog.askopenfilename(parent=self,
                                                   filetypes=filetypes)
     if fileName == "": return
     self.database = SongDatabase(fileName)
     self.listBox.clear()
     for title in self.database.getTitles():
         self.listBox.insert(END, title)
     self.listBox.setSelectedIndex(0)
     self.listItemSelected(0)
     if self.listBox.size() > 0:
         self.editMenu["state"] = NORMAL
     else:
         self.editMenu["state"] = DISABLED