def __init__(self, attributes=None, label='', store=None, **kwargs): from fvl.cimarron.skin import VBox, HBox, Button, Label, Entry super(Editor, self).__init__(**kwargs) if attributes is None: attributes = [] # main containers # self.vbox = VBox(parent=self) self.vbox = VBox() self._outerWidget = self.vbox._outerWidget hbox = HBox(parent=self.vbox) self.labels = VBox(parent=hbox) self.entries = VBox(parent=hbox) self.store = store self.label = label for attr in attributes: Label(parent=self.labels, text=attr) # FIX: make if more flexible Entry(parent=self.entries, attribute=attr) # save/discard buttons hbox = HBox(parent=self.vbox, expand=False) save = Button(parent=hbox, label='Save', onAction=self.save) self.mainWidget = save discard = Button(parent=hbox, label='Discard', onAction=self.discard)
def __init__(self, **kw): super(StockAdjustmentWindow, self).__init__(**kw) self.window.title = "Stock Adjustment" self.trans = Transaction() v = VBox(parent=self.window) columns = (Column(name="Code", attribute="product.code", readOnly=True), Column(name="Name", attribute="product.name", readOnly=True)) self.searcher = Search(parent=v, columns=columns, cls=Stock, searcher=self.trans, onAction=self.listValues) columns = (Column(name="Code", attribute="product.code", readOnly=True), Column(name="Name", attribute="product.name", readOnly=True), Column(name="Level", attribute="level")) self.stockEditor = Grid(parent=v, columns=columns) actionContainer = HBox(parent=v, expand=False) save = Button(parent=actionContainer, label="Save", onAction=self.save) discard = Button(parent=actionContainer, label="Discard", onAction=self.discard)
def buildUI(self): self.window.title = 'Generacion de Recibo' v1 = VBox(parent=self.window, expand=True, fill=True) h0 = HBox(parent=v1, expand=False, fill=True) v0left = VBox(parent=h0, expand=False, fill=True) v0right = VBox(parent=h0, expand=False, fill=True) v2 = VBox(parent=v1) actionContainer = HBox(parent=v1, expand=False, fill=True) Label(parent=v0left, text='Cuenta Contable:') columns= (Column(name='Cod', attribute='code'), Column(name='Nombre', attribute='name', operator=Qualifier.like),) self.category = SearchEntry(parent=v0right, columns=columns, searcher=self.trans, cls=MovementAccount) Label(parent=v0left, text='Cliente:') columns = (Column(name='Nombre', attribute='person.name', operator=Qualifier.like), Column(name='Apellido', attribute='person.surname', operator=Qualifier.like),) self.otherParty = SearchEntry(parent=v0right, cls=Client, searcher=self.trans, columns=columns) Label(parent=v0left, text='Numero:') self.docNumber = Entry(parent=v0right) Label(parent=v0left, text='Fecha:') self.actualDate = Entry(parent=v0right,emptyValue=now()) self.actualDate.commitValue(self.actualDate.value) Label(parent=v0left, text='Monto:') self.amount = Entry(parent=v0right) Label(parent=v2, text='Concepto:', expand=False, fill=False) self.concept = MultiLine(parent=v2) save = Button(parent=actionContainer, label='Guardar', onAction=self.save) discard = Button(parent=actionContainer, label='Descartar', onAction=self.discard)
def __init__(self, cls=None, searchColumns=None, editorClass=None, filename=None, store=None, **kwargs): from fvl.cimarron.skin import Notebook, VBox, Button self.editors = [] super(CRUDController, self).__init__(**kwargs) self.note = Notebook(parent=self.window) # why this fails so miserably? # self._innerWidget = self.note._innerWidget if not '_concreteWidget' in self.__dict__: self._concreteWidget = self.window # first tab self.firstTab = VBox(label='Search') self.firstTab.parent = self.note self.new = Button(parent=self.firstTab, label='New', expand=False) self.cls = cls if searchColumns is not None: # add the Search thing self.search = Search(parent=self.firstTab, columns=searchColumns, onAction=self.changeModel) if store is not None: self.store = store # second tab if editorClass is not None: if filename is not None: modelEditor = editorClass.fromXmlFile(filename) else: # let's hope the editorClass knows what to do modelEditor = editorClass() modelEditor.parent = self.note self.editors.append(modelEditor) self.mainWidget = modelEditor
def buildUI(self): self.window.title = 'Caja chica - Carga' v = VBox(parent=self.window) f0 = Frame(parent=v, label='Cuenta') h0 = HBox(parent=f0) right0 = VBox(parent=h0) columns = (Column(name='Nombre', attribute='name', operator=Qualifier.like), ) self.account = SearchEntry(parent=right0, columns=columns, searcher=self.trans, cls=CustomerAccount) f1 = Frame(parent=v, label='Operacion') h1 = HBox(parent=f1) left1 = VBox(parent=h1) right1 = VBox(parent=h1) # Label(parent=left1, text='Fecha') # fecha = Entry(parent=right1) Label(parent=left1, text='Categoria') columns = ( Column(name='Cod', attribute='code'), Column(name='Nombre', attribute='name', operator=Qualifier.like), ) self.category = SearchEntry(parent=right1, columns=columns, searcher=self.trans, cls=MovementAccount) f2 = Frame(parent=v, label='Comprobante') h2 = HBox(parent=f2) left2 = VBox(parent=h2) right2 = VBox(parent=h2) Label(parent=left2, text='Tipo') columns = (Column(name='Nombre', attribute='name', operator=Qualifier.like), ) self.docType = SearchEntry(parent=right2, columns=columns, searcher=DocumentType, onAction=self.setThirdLabel) Label(parent=left2, text='Numero') self.docNumber = Entry(parent=right2) Label(parent=left2, text='Fecha') self.docDate = Entry(parent=right2, emptyValue=now()) self.docDate.commitValue(self.docDate.value) self.thirdLabel = Label(parent=left2) columns = (Column(name='Apellido', attribute='person.surname', operator=Qualifier.like), ) self.otherParty = SearchEntry(parent=right2, columns=columns, searcher=self.trans) self.otherParty.disable() # f3 = Frame(parent=v, label='Montos') h3 = HBox(parent=v) # Label(parent=h3, text='Ingreso') # self.moneyIn = Entry(parent=h3) # Label(parent=h3, text='Egreso') # self.moneyOut = Entry(parent=h3) Label(parent=h3, text='Monto') self.amount = Entry(parent=h3) Label(parent=h3, text='Descripcion') self.description = Entry(parent=h3) h4 = HBox(parent=v) Button(parent=h4, label='Guardar', onAction=self.save) Button(parent=h4, label='Descartar')