Exemple #1
0
 def __init__(self, **kw):
     guicfg = AvnParser.getGuiCfg()
     if not guicfg:
         raise SystemExit
     Globals.Colors = guicfg['colors']
     AppShell.AppShell.__init__(self, **kw)
     ErrorRedirect.fixlogging(_Logger, self.interior())
Exemple #2
0
    def __init__(self, **kw):
        self.root = Tk()
        self.root.withdraw()
        self.get_option_db()
        Pmw.initialise(self.root, useTkOptionDb=1)
        self.root.title(self.AppName)
        Pmw.MegaWidget.__init__(self, parent=self.root)
        self.root.resizable(0, 0)
        ErrorRedirect.fixlogging(_Logger, self.interior())

        interior = self.interior()
        Busy.instantiate(interior)

        self._img1 = PhotoImage(file=Image1)
        self.slist = Pmw.ScrolledListBox(interior,
            labelpos='n',
            label_image=self._img1,
            listbox_exportselection=0,
            )
        self.slist.pack(side='top', expand='yes', fill='x')
        f = Frame(interior)
        self._img2 = PhotoImage(file=Image2)
        cfg = AvnParser.getGuiCfg()
        self.servers = Pmw.ScrolledListBox(f,
            labelpos='n',
            label_image=self._img2,
            items=cfg['ns'],
            listbox_height=max(4, len(cfg['ns'])),
            listbox_exportselection=0,
            )
        self.servers.pack(side='left', expand='yes', fill='x')
        self.servers.selection_set(0)

        self.bbox = Pmw.ButtonBox(f,
            orient='vertical',
            labelpos='w',
            frame_borderwidth=2,
            frame_relief='groove',
        )
        self.bbox.pack(side='left', expand='yes', fill='x')
        self.bbox.add('TAFs', command=Avn.curry(self.ok, 'TAFs'))
        self.bbox.add('Climate', command=Avn.curry(self.ok, 'Climate'))
        self.bbox.add('Cancel', command=self.cancel)
        self.bbox.setdefault('TAFs')
        self.bbox.alignbuttons()
        f.pack(side='top')

        self.loadForecasters()
        self.prods = 0
        self.pid = 0
        signal.signal(signal.SIGUSR1, self.handler)
        signal.signal(signal.SIGCHLD, self.handler)
Exemple #3
0
    def __init__(self, parent, **kw):
        AvnDialog.Dialog.__init__(self, parent, **kw)
        self.title(Avn.Name + ' Monitoring Criteria')

        self._editor = dict.fromkeys(_Monitors)
        # for each page
        self.slist = {}
        self.methods = {}
        self.active_rules = {}
        self.current_rule = None
        self.label = {}
        self.severity = {}
        self.type = {}
        self.tkUnique = {}
        self.msg = {}
        self.arg = {}
        self.doc = {}
        try:
            self.color = AvnParser.getGuiCfg()['colors']
        except Exception:
            # use default values
            self.color = ['green3', 'grey', 'pale green', \
                'yellow', 'orange', 'red', 'purple']
            _Logger.error('Cannot access etc/gui.cfg')

        # from AvnDialog
        self.createMessageBar(self.interior(), True)

        interior = self.interior()
        frame = Frame(interior, relief='ridge', bd=2)
        self.siteentry = Pmw.EntryField(frame,
            labelpos='w',
            label_text='Site Id',
            entry_width=4,
            validate={'validator': 'alphabetic',
                'min': 0, 'max': 4},
            command=self.load,
            )
        self.siteentry.pack(side='left', expand='no', padx=5)
        bbox = Pmw.ButtonBox(frame)
        btn = bbox.add('Load', command=self.load)
        Balloon().bind(btn, 'Retrieves rule set for selected site')
        btn = bbox.add('Save', command=self.__save)
        Balloon().bind(btn, 'Saves rule set to a file')
        btn = bbox.add('Close', command=self.close)
        Balloon().bind(btn, 'Closes this dialog')
        btn = bbox.add('Delete', command=self.__delete)
        Balloon().bind(btn, 'Deletes site-specific rules')
        btn = bbox.add('Help', command=Avn.curry(self.showHelp, _Help))
        Balloon().bind(btn, 'Shows help')
        bbox.alignbuttons()
        bbox.pack(side='right', expand='no')
        frame.pack(side='top', expand='yes', fill='both')
        self.editpager = Pmw.NoteBook(interior,
            raisecommand=self.load,
            )
        self.editpager.pack(side='top', fill='both', expand='yes')
        for name in _Monitors:
            self.__createPage(name)
        self.editpager.setnaturalsize()

        self.initialiseoptions(Editor)
        self.setGeometry()
        self._ready = True