Ejemplo n.º 1
0
class _EnvironmentEditor(ListNoteBook):
    def __init__(self, conn, name='_EnvironmentEditor'):
        ListNoteBook.__init__(self, name=name)
        self.conn = conn
        self.main = StatementCursor(self.conn, name=name)
        self.append_page(RecordBox({}), 'Environment')
        self.menu = SimpleMenu()
        self.delimiters = DELIMITERS['out-arrows']
        self.dialogs = {}.fromkeys(['create', 'remove'])

    def box_pressed(self, widget, event=None):
        if right_click_pressed(event):
            self.menu.popup(None, None, None, event.button, event.time)

    def populate_menu(self, widget, mainmenu, itementry, tmenu):
        self.current_entry = itementry
        self._current_entry_widget_ = widget
        populate_menu(mainmenu, '_define_', ['_create_', '_remove_'],
                      self.make_new_tag)
        for section, vars in self.sections.items():
            populate_menu(mainmenu, section, vars, self.make_tag)

    def make_new_tag(self, menuitem, name, pmenu):
        if name == '_create_':
            self.ask_new_entry()
        elif name == '_remove_':
            self.ask_remove_key()

    def ask_new_entry(self):
        if self.dialogs['create'] is None:
            data = dict(name='', value='')
            self.dialogs['create'] = dialogs.RecordEntry(
                'enter a new variable', data, 'create')
            self.dialogs['create'].set_cancel(self.destroy_dialog)
            self.dialogs['create'].set_ok(self.make_new_variable)

    def ask_remove_key(self):
        if self.dialogs['remove'] is None:
            self.dialogs['remove'] = dialogs.CList('remove which item',
                                                   name='remove')
            d = self.dialogs['remove']
            d.set_rows(self.record.keys(), ['name'])
            self.dialogs['remove'].set_cancel(self.destroy_dialog)
            self.dialogs['remove'].set_ok(self.remove_item)

    def make_tag(self, menuitem, name, parent):
        trait = parent.get_name()
        print trait, name
        self.pages['Environment']
        self._current_entry_widget_.set_text('$' + trait + '_' + name)
Ejemplo n.º 2
0
class _EnvironmentEditor(ListNoteBook):
    def __init__(self, conn, name='_EnvironmentEditor'):
        ListNoteBook.__init__(self, name=name)
        self.conn = conn
        self.main = StatementCursor(self.conn, name=name)
        self.append_page(RecordBox({}), 'Environment')
        self.menu = SimpleMenu()
        self.delimiters = DELIMITERS['out-arrows']
        self.dialogs = {}.fromkeys(['create', 'remove'])
        
    def box_pressed(self, widget, event=None):
        if right_click_pressed(event):
            self.menu.popup(None, None, None, event.button, event.time)
        
    def populate_menu(self, widget, mainmenu, itementry, tmenu):
        self.current_entry = itementry
        self._current_entry_widget_ = widget
        populate_menu(mainmenu, '_define_', ['_create_', '_remove_'], self.make_new_tag)
        for section, vars in self.sections.items():
            populate_menu(mainmenu, section, vars, self.make_tag)


    def make_new_tag(self, menuitem, name, pmenu):
        if name == '_create_':
            self.ask_new_entry()
        elif name == '_remove_':
            self.ask_remove_key()

    def ask_new_entry(self):
        if self.dialogs['create'] is None:
            data = dict(name='', value='')
            self.dialogs['create'] = dialogs.RecordEntry('enter a new variable',
                                                         data, 'create')
            self.dialogs['create'].set_cancel(self.destroy_dialog)
            self.dialogs['create'].set_ok(self.make_new_variable)

    def ask_remove_key(self):
        if self.dialogs['remove'] is None:
            self.dialogs['remove'] = dialogs.CList('remove which item', name='remove')
            d = self.dialogs['remove']
            d.set_rows(self.record.keys(), ['name'])
            self.dialogs['remove'].set_cancel(self.destroy_dialog)
            self.dialogs['remove'].set_ok(self.remove_item)

    def make_tag(self, menuitem, name, parent):
        trait = parent.get_name()
        print trait, name
        self.pages['Environment']
        self._current_entry_widget_.set_text('$' + trait + '_' + name)