def __init__(self, attributes, attribute=None): super(AttributeEditor, self).__init__() self.set_margin(10) self.attributes = attributes self.attribute = attribute self._name_edit_text = ControlText() self._type_combo = ControlCombo() self._description_edit_text = ControlText('Opis') self._is_key_checkbox = ControlCheckBox('Czy kluczowy') self._is_obligatory_checkbox = ControlCheckBox( u'Atrybut obligatoryjny (brak zaznaczenia - opcjonalny)') self._is_unique_checkbox = IsUniqueCheckBox(self._is_key_checkbox) self._save_attribute_button = ControlButton('Zapisz') self._save_attribute_button.value = self.__save_attribute_action self.formset = [('Nazwa: ', '_name_edit_text'), ('Typ: ', '_type_combo'), '_description_edit_text', '_is_key_checkbox', '_is_obligatory_checkbox', '_is_unique_checkbox', '_save_attribute_button'] self._type_combo.add_item(Types.INT.name, Types.INT) self._type_combo.add_item(Types.INT_POSITIVE.name, Types.INT_POSITIVE) self._type_combo.add_item(Types.INT_NEGATIVE.name, Types.INT_NEGATIVE) self._type_combo.add_item(Types.DATE.name, Types.DATE) self._type_combo.add_item(Types.STRING.name, Types.STRING) self.populate()
def __init__(self, erd, transactions, transaction=None): super(TransactionEditor, self).__init__() self.set_margin(10) self.transactions = transactions self.erd = erd self._name_edit_text = ControlText('Nazwa transakcji') self._entity_combo = ControlCombo() self._type_combo = TypeCombo(self._entity_combo) self._description_edit_text = ControlText('Opis transakcji') self._conditions_edit_text = ControlText('Uwarunkowania transakcji') self._save_button = ControlButton('Zapisz transakcję') self._save_button.value = self.__save_action self._type_combo.add_item(Transaction.OTHER) self._type_combo.add_item(Transaction.ADD) self._type_combo.add_item(Transaction.EDIT) self._type_combo.add_item(Transaction.REMOVE) for entity in self.erd.entities: self._entity_combo.add_item(entity.name_singular) self._entity_combo.setVisible(False) self.formset = [ '_name_edit_text', '_type_combo', '_entity_combo', '_description_edit_text', '_conditions_edit_text', '_save_button' ] if transaction is not None: self.transaction = transaction else: self.transaction = Transaction('', '', '') self.populate()
def __init__(self, erd, relationship=None): super(RelationshipEditor, self).__init__() self.set_margin(10) self.erd = erd self._left_entity_combo = ControlCombo() self._left_multiplicity_combo = ControlCombo() self._relationship_name_edit_text = ControlText() self._right_multiplicity_combo = ControlCombo() self._right_entity_combo = ControlCombo() self._save_button = ControlButton(u'Zapisz') self._save_button.value = self.__save_relationship_action for entity in erd.entities: self._left_entity_combo.add_item(entity.name_singular) self._right_entity_combo.add_item(entity.name_singular) multiplicities = ['0,1', '1,1', '0,N', '1,N'] for mul in multiplicities: self._left_multiplicity_combo.add_item(mul) self._right_multiplicity_combo.add_item(mul) self.formset = [('_left_entity_combo', '_left_multiplicity_combo', '_relationship_name_edit_text', '_right_multiplicity_combo', '_right_entity_combo'), '_save_button'] if relationship is not None: self.relationship = relationship else: self.relationship = Relationship('', '', '', '', '') self.populate()
class RelationshipEditor(pyforms.BaseWidget): def __init__(self, erd, relationship=None): super(RelationshipEditor, self).__init__() self.set_margin(10) self.erd = erd self._left_entity_combo = ControlCombo() self._left_multiplicity_combo = ControlCombo() self._relationship_name_edit_text = ControlText() self._right_multiplicity_combo = ControlCombo() self._right_entity_combo = ControlCombo() self._save_button = ControlButton(u'Zapisz') self._save_button.value = self.__save_relationship_action for entity in erd.entities: self._left_entity_combo.add_item(entity.name_singular) self._right_entity_combo.add_item(entity.name_singular) multiplicities = ['0,1', '1,1', '0,N', '1,N'] for mul in multiplicities: self._left_multiplicity_combo.add_item(mul) self._right_multiplicity_combo.add_item(mul) self.formset = [('_left_entity_combo', '_left_multiplicity_combo', '_relationship_name_edit_text', '_right_multiplicity_combo', '_right_entity_combo'), '_save_button'] if relationship is not None: self.relationship = relationship else: self.relationship = Relationship('', '', '', '', '') self.populate() def populate(self): self._left_entity_combo.value = self.relationship.left_entity self._left_multiplicity_combo.value = self.relationship.left_quantity self._relationship_name_edit_text.value = self.relationship.name self._right_entity_combo.value = self.relationship.right_entity self._right_multiplicity_combo.value = self.relationship.right_quantity def __save_relationship_action(self): if self._relationship_name_edit_text.value == '': popup = Popup('Nazwa związku nie może być pusta') popup.show() else: self.relationship.name = self._relationship_name_edit_text.value self.relationship.left_entity = self._left_entity_combo.value self.relationship.left_quantity = self._left_multiplicity_combo.value self.relationship.right_entity = self._right_entity_combo.value self.relationship.right_quantity = self._right_multiplicity_combo.value if self.relationship not in self.erd.relationships: self.erd.relationships.append(self.relationship) self.parent._populate() Saver.get_saver().save() self.close()
class AttributeEditor(pyforms.BaseWidget): def __init__(self, attributes, attribute=None): super(AttributeEditor, self).__init__() self.set_margin(10) self.attributes = attributes self.attribute = attribute self._name_edit_text = ControlText() self._type_combo = ControlCombo() self._description_edit_text = ControlText('Opis') self._is_key_checkbox = ControlCheckBox('Czy kluczowy') self._is_obligatory_checkbox = ControlCheckBox( u'Atrybut obligatoryjny (brak zaznaczenia - opcjonalny)') self._is_unique_checkbox = IsUniqueCheckBox(self._is_key_checkbox) self._save_attribute_button = ControlButton('Zapisz') self._save_attribute_button.value = self.__save_attribute_action self.formset = [('Nazwa: ', '_name_edit_text'), ('Typ: ', '_type_combo'), '_description_edit_text', '_is_key_checkbox', '_is_obligatory_checkbox', '_is_unique_checkbox', '_save_attribute_button'] self._type_combo.add_item(Types.INT.name, Types.INT) self._type_combo.add_item(Types.INT_POSITIVE.name, Types.INT_POSITIVE) self._type_combo.add_item(Types.INT_NEGATIVE.name, Types.INT_NEGATIVE) self._type_combo.add_item(Types.DATE.name, Types.DATE) self._type_combo.add_item(Types.STRING.name, Types.STRING) self.populate() def populate(self): if self.attribute is not None: self._name_edit_text.value = self.attribute.name self._type_combo.value = self.attribute.type self._description_edit_text.value = self.attribute.description self._is_key_checkbox.value = self.attribute.is_key self._is_obligatory_checkbox.value = self.attribute.is_obligatory self._is_unique_checkbox.value = self.attribute.unique else: self.attribute = Attribute('', '') def __save_attribute_action(self): self.attribute.name = self._name_edit_text.value self.attribute.type = self._type_combo.value self.attribute.description = self._description_edit_text.value self.attribute.is_key = self._is_key_checkbox.value self.attribute.is_obligatory = self._is_obligatory_checkbox.value self.attribute.unique = self._is_unique_checkbox.value or self._is_key_checkbox.value if self.attribute not in self.attributes: self.attributes.append(self.attribute) self.parent.populate() Saver.get_saver().save() self.close()