def __init__(self, model=None, parent=None): ''' :param model: Genus instance or None :param parent: None ''' # the view and presenter are created in self.start() self.view = None self.presenter = None if model is None: model = Genus() super(GenusEditor, self).__init__(model, parent) if not parent and bauble.gui: parent = bauble.gui.window self.parent = parent self._committed = [] view = GenusEditorView(parent=self.parent) self.presenter = GenusEditorPresenter(self.model, view) # add quick response keys self.attach_response(view.get_window(), gtk.RESPONSE_OK, 'Return', gtk.gdk.CONTROL_MASK) self.attach_response(view.get_window(), self.RESPONSE_OK_AND_ADD, 'k', gtk.gdk.CONTROL_MASK) self.attach_response(view.get_window(), self.RESPONSE_NEXT, 'n', gtk.gdk.CONTROL_MASK) # set default focus if self.model.family is None: view.widgets.gen_family_entry.grab_focus() else: view.widgets.gen_genus_entry.grab_focus()
def __init__(self, model=None, parent=None, branch_mode=False): ''' :param model: Plant instance or None :param parent: None :param branch_mode: ''' if branch_mode: if model is None: raise CheckConditionError(_("branch_mode requires a model")) elif object_session(model) and model in object_session(model).new: raise CheckConditionError(_("cannot branch a new plant")) # TODO: shouldn't allow branching plants with quantity < 2 # TODO: shouldn't allow changing the accession code in branch_mode if model is None: model = Plant() self.branched_plant = None if branch_mode: # duplicate the model so we can branch from it without # destroying the first self.branched_plant = model model = self.branched_plant.duplicate(code=None) super(PlantEditor, self).__init__(model, parent) if self.branched_plant: # make a copy of the branched plant for this session self.branched_plant = self.session.merge(self.branched_plant) if not parent and bauble.gui: parent = bauble.gui.window self.parent = parent self._committed = [] view = PlantEditorView(parent=self.parent) self.presenter = PlantEditorPresenter(self.model, view) # add quick response keys self.attach_response(view.get_window(), gtk.RESPONSE_OK, 'Return', gtk.gdk.CONTROL_MASK) self.attach_response(view.get_window(), self.RESPONSE_NEXT, 'n', gtk.gdk.CONTROL_MASK) # set default focus if self.model.accession is None: view.widgets.plant_acc_entry.grab_focus() else: view.widgets.plant_code_entry.grab_focus()
def __init__(self, model=None, parent=None): """ :param model: Family instance or None :param parent: the parent window or None """ if model is None: model = Family() super(FamilyEditor, self).__init__(model, parent) if not parent and bauble.gui: parent = bauble.gui.window self.parent = parent self._committed = [] view = FamilyEditorView(parent=self.parent) self.presenter = FamilyEditorPresenter(self.model, view) # add quick response keys self.attach_response(view.get_window(), gtk.RESPONSE_OK, "Return", gtk.gdk.CONTROL_MASK) self.attach_response(view.get_window(), self.RESPONSE_OK_AND_ADD, "k", gtk.gdk.CONTROL_MASK) self.attach_response(view.get_window(), self.RESPONSE_NEXT, "n", gtk.gdk.CONTROL_MASK)
def __init__(self, model=None, parent=None): ''' :param model: Family instance or None :param parent: the parent window or None ''' if model is None: model = Family() super(FamilyEditor, self).__init__(model, parent) if not parent and bauble.gui: parent = bauble.gui.window self.parent = parent self._committed = [] view = FamilyEditorView(parent=self.parent) self.presenter = FamilyEditorPresenter(self.model, view) # add quick response keys self.attach_response(view.get_window(), gtk.RESPONSE_OK, 'Return', gtk.gdk.CONTROL_MASK) self.attach_response(view.get_window(), self.RESPONSE_OK_AND_ADD, 'k', gtk.gdk.CONTROL_MASK) self.attach_response(view.get_window(), self.RESPONSE_NEXT, 'n', gtk.gdk.CONTROL_MASK)
def __init__(self, model=None, parent=None): """ :param model: Contact instance or None :param parent: the parent window """ if not model: model = SourceDetail() super(SourceDetailEditor, self).__init__(model, parent) self.parent = parent self._committed = [] view = SourceDetailEditorView(parent=self.parent) self.presenter = SourceDetailEditorPresenter(self.model, view) # add quick response keys self.attach_response(view.get_window(), gtk.RESPONSE_OK, "Return", gtk.gdk.CONTROL_MASK)
def __init__(self, model=None, parent=None): ''' :param model: Contact instance or None :param parent: the parent window ''' if not model: model = SourceDetail() super(SourceDetailEditor, self).__init__(model, parent) self.parent = parent self._committed = [] view = SourceDetailEditorView(parent=self.parent) self.presenter = SourceDetailEditorPresenter(self.model, view) # add quick response keys self.attach_response(view.get_window(), gtk.RESPONSE_OK, 'Return', gtk.gdk.CONTROL_MASK)