Exemplo n.º 1
0
    def pfopen(self):
        """ Load the parameter settings from a user-specified file.  Any
        changes here must be coordinated with the corresponding epar pfopen
        function. """

        flist = irafpar.getSpecialVersionFiles(self.taskName, self.pkgName)
        if len(flist) <= 0:
            msg = "No special-purpose parameter files found for " + self.taskName
            okdlg = urwutil.DialogDisplay(msg, 8, 0)
            okdlg.add_buttons([("OK", 0)])
            okdlg.main()
            return

        fname = None
        if len(flist) == 1:
            msg = "One special-purpose parameter file found.\n"+ \
                  "Load file?\n\n"+flist[0]
            yesnodlg = urwutil.DialogDisplay(msg, 12, 0)
            yesnodlg.add_buttons([("OK", 0), ("Cancel", 1)])
            rv, junk = yesnodlg.main()
            if rv == 0: fname = flist[0]  # if not, fname is still None
        else:  # >1 file, need a select dialog
            flist.sort()
            chcs = []  # ListDialogDisplay takes a 2-column tuple
            for i in range(len(flist)):
                chcs.append(str(i))  # need index as tag - it is the return val
                chcs.append(flist[i])

            def menuItemConstr(tag, state):
                return urwutil.MenuItem(tag)

            selectdlg = urwutil.ListDialogDisplay("Select from these:",
                                                  len(flist) + 7,
                                                  75, menuItemConstr,
                                                  tuple(chcs), False)
            selectdlg.add_buttons([
                ("Cancel", 1),
            ])
            rv, ans = selectdlg.main()
            if rv == 0: fname = flist[int(ans)]

        # check-point: if fname is not None, we load a file
        msg = "\n\nPress any key to continue..."

        if fname != None:
            newParList = irafpar.IrafParList(self.taskName, fname)  # load it
            self.set_all_entries_from_par_list(newParList)  # set GUI entries
            msg = "\n\nLoaded:\n\n     " + fname + msg

        # Notify them (also forces a screen redraw, which we need)
        try:
            self.ui.clear()  # fixes clear when next line calls draw_screen
        except AttributeError:
            self.ui._clear()  # older urwid vers use different method name
        self.info(msg, None)
Exemplo n.º 2
0
    def pfopen(self):
        """ Load the parameter settings from a user-specified file.  Any
        changes here must be coordinated with the corresponding epar pfopen
        function. """

        flist = irafpar.getSpecialVersionFiles(self.taskName, self.pkgName)
        if len(flist) <= 0:
            msg = "No special-purpose parameter files found for "+self.taskName
            okdlg = urwutil.DialogDisplay(msg, 8, 0)
            okdlg.add_buttons([ ("OK",0) ])
            okdlg.main()
            return

        fname = None
        if len(flist) == 1:
            msg = "One special-purpose parameter file found.\n"+ \
                  "Load file?\n\n"+flist[0]
            yesnodlg = urwutil.DialogDisplay(msg, 12, 0)
            yesnodlg.add_buttons([ ("OK", 0),  ("Cancel", 1) ])
            rv, junk = yesnodlg.main()
            if rv == 0: fname = flist[0] # if not, fname is still None
        else: # >1 file, need a select dialog
            flist.sort()
            chcs = [] # ListDialogDisplay takes a 2-column tuple
            for i in range(len(flist)):
                chcs.append(str(i)) # need index as tag - it is the return val
                chcs.append(flist[i])
            def menuItemConstr(tag, state):
                return urwutil.MenuItem(tag)
            selectdlg = urwutil.ListDialogDisplay("Select from these:",
                                len(flist)+7, 75,
                                menuItemConstr, tuple(chcs), False)
            selectdlg.add_buttons([ ("Cancel",1), ])
            rv, ans = selectdlg.main()
            if rv == 0: fname = flist[int(ans)]

        # check-point: if fname is not None, we load a file
        msg = "\n\nPress any key to continue..."

        if fname != None:
            newParList = irafpar.IrafParList(self.taskName, fname) # load it
            self.set_all_entries_from_par_list(newParList) # set GUI entries
            msg = "\n\nLoaded:\n\n     "+fname+msg

        # Notify them (also forces a screen redraw, which we need)
        try:
            self.ui.clear() # fixes clear when next line calls draw_screen
        except AttributeError:
            self.ui._clear() # older urwid vers use different method name
        self.info(msg, None)
Exemplo n.º 3
0
 def _getOpenChoices(self):
     return irafpar.getSpecialVersionFiles(self.taskName, self.pkgName)