Beispiel #1
0
def launch():
    ds = pylax.Dynaset("SalesOrder", "SELECT OrderID, Customer, LE.Name AS CustomerName, OrderDate FROM SalesOrder JOIN le ON LeID=Customer;")
    ds.autoColumn = ds.add_column("OrderID", int, key=True)
    ds.add_column("Customer", int)
    ds.add_column("CustomerName", str, None)
    dt = ds.add_column("OrderDate", datetime.datetime, False, format="{:%Y-%m-%d}", default = datetime.datetime.now())

    dsOrderLine = pylax.Dynaset("OrderLine", "SELECT OrderLine.OrderID AS OrderID, Item, Quantity, Price, Quantity * Price AS Amount, OrderLine.rowid AS RowID FROM OrderLine JOIN SalesOrder ON SalesOrder.OrderID=OrderLine.OrderID WHERE OrderLine.OrderID=:OrderID;", parent=ds)
    dsOrderLine.add_column("RowID", int, key=True)
    dsOrderLine.add_column("OrderID", int, parent = "OrderID")
    dsOrderLine.add_column("Item", int)
    dsOrderLine.add_column("Quantity", float)
    dsOrderLine.add_column("Price", float)
    dsOrderLine.add_column("Amount", key=None)
    #dsOrderLine.on_parent_changed=dsOrderLine__on_parent_changed
    #print(dsOrderLine.parent)
    #dsOrderLine.autoExecute = False

    form = pylax.Form(None, 20, 30, 640, 480, "Order", ds)
    form.icon = pylax.Image("Order.ico")
    #form.minWidth, form.minHeight = 640, 400
    form.before_close=dsOrderLine__on_parent_changed

    tableSelect = pylax.Table(form, 20, 44, -20, 100, dynaset=ds)
    tableSelect.add_column("Customer", 150, "CustomerName") # title, width, Dynaset column name
    tableSelect.add_column("ID", 30, "OrderID")
    tableSelect.add_column("Date", 90, "OrderDate", format="{:%y-%m-%d}")


    entrySearch = pylax.Entry(form, 90, 20, 120, 20, "Search Name") #, label = pylax.Label(form, 20, 20, 70, 20, "Search"))
    #print(entrySearch.dataType)
    ds.buttonSearch = pylax.Button(form, 220, 20, 60, 20, "Search")
    ds.buttonSearch.on_click = searchButton__on_click;

    entryID = pylax.Entry(form, 100, 160, 120, 20, dynaset=ds, column="OrderID", dataType=int, label = pylax.Label(form, 20, 160, 70, 20, "ID"))
    entryDate = pylax.Entry(form, 100, 190, 120, 20, dynaset=ds, column="OrderDate", format="{:%Y-%m-%d %H:%M}", label = pylax.Label(form, 20, 190, 70, 20, "Date"))
    entryDate.editFormat = "{:%Y-%m-%d %H:%M:%S}"
    entryCustomer = pylax.Entry(form, 330, 160, 120, 20, dynaset=ds, column="CustomerName", format="{:%Y-%m-%d %H:%M}", label = pylax.Label(form, 240, 160, 90, 20, "Customer"))
    entryCustomer.verify = entryCustomer__verify

    tableOrderLine = pylax.Table(form, 20, 220, -20, -80, dynaset=dsOrderLine)
    tableOrderLine.add_column("Item ID", 50, "Item")
    tableOrderLine.add_column("Quantity", 50, "Quantity")

    entryQuantity = pylax.Entry(form, 120, -70, 120, 20, dynaset=dsOrderLine, column="Quantity", label = pylax.Label(form, 20, -70, 90, 20, "Quantity"))

    #print(entrySearch.alignHoriz)

    ds.buttonNew = pylax.Button(form, -370, -40, 60, 20, "New")
    ds.buttonEdit = pylax.Button(form, -300, -40, 60, 20, "Edit")
    ds.buttonUndo = pylax.Button(form, -230, -40, 60, 20, "Undo")
    ds.buttonSave = pylax.Button(form, -160, -40, 60, 20, "Save")
    ds.buttonDelete = pylax.Button(form, -90, -40, 60, 20, "Delete")

    labelFormCaption = pylax.Label(form, 2, 2, 20, 60, "FormCaption", dynaset=ds, column="CustomerName", visible = False)
    labelFormCaption.captionClient = form # passes any assigment to property 'data' on to property 'caption' of the captionClient
    r = ds.execute()
Beispiel #2
0
def entryCustomer__on_click_button(self):
    def selectorSearchButton__on_click(data):
        if entrySearch.data == None:
            r = ds.execute(query="SELECT CustomerID, Name FROM Customer;")
        else:
            r = ds.execute(
                {"Name": entrySearch.data},
                "SELECT CustomerID, Name FROM Customer WHERE Name LIKE :Name;")

    def selectorOkButton__on_click(data):
        self.dynaset.set_data("Customer", ds.get_row_data()["CustomerID"])
        self.dynaset.set_data("CustomerName", ds.get_row_data()["Name"])
        selector.close()

    ds = pylax.Dynaset("LE", "SELECT CustomerID, Name FROM Customer;")
    ds.autoColumn = ds.add_column("CustomerID", int, key=True)
    ds.add_column("Name")
    selector = pylax.Window(None, 0, 0, 320, 220, "Select Customer", ds)

    entrySearch = pylax.Entry(selector, 20, 20, -70, 20, "Search Name")
    ds.buttonSearch = pylax.Button(selector, -60, 20, 20, 20, "⏎")
    ds.buttonSearch.on_click = selectorSearchButton__on_click

    table = pylax.Table(selector, 20, 60, -20, -70, dynaset=ds)
    table.add_column("Name", 150, "Name")
    table.add_column("ID", 30, "CustomerID")
    ds.buttonOK = pylax.Button(selector, -60, -50, 40, 20, "OK")
    ds.buttonOK.on_click = selectorOkButton__on_click
    #selector.buttonCancel = pylax.Button(selector, -60, -40, 50, 20, "Cancel")
    r = ds.execute()
Beispiel #3
0
    def dialog(self, data):
        self.window = pylax.Window(None, 0, 0, 320, 220, "Select Customer", self.dynaset)

        self.entrySearch= pylax.Entry(self.window, 20, 20, -70, 20, "Search Name")
        self.entrySearch.data = data + "%"
        buttonSearch = pylax.Button(self.window, -60, 20, 20, 20, "⏎")
        buttonSearch.on_click = self.buttonSearch__on_click

        table = pylax.Table(self.window, 20, 60, -20, -70, dynaset=self.dynaset)
        table.add_column("Name", 150, "Name")
        table.add_column("ID", 30, "CustomerID")
        self.dynaset.buttonOK = pylax.Button(self.window, -60, -50, 40, 20, "OK")
        self.dynaset.buttonOK.on_click = self.buttonOK__on_click;
        self.dynaset.execute({"Name": self.entrySearch.data}, self.query_browse)
        self.window.wait_for_close()
Beispiel #4
0
def create_selector_Customer():
    ds = pylax.Dynaset("LE", "SELECT LeID, Name FROM LE;")
    ds.autoColumn = ds.add_column("LeID", int, key=True)
    ds.add_column("Name")
    selector = pylax.Window(None,  30, 20, 480, 280, "Select Customer", ds)

    entrySearch= pylax.Entry(selector, 90, 20, 120, 20, "Search Name")
    ds.buttonSearch = pylax.Button(selector, 220, 20, 60, 20, "Search")
    ds.buttonSearch.on_click = selectorSearchButton__on_click;

    table = pylax.Table(selector, 20, 44, -20, 100, dynaset=ds)
    table.add_column("Name", 150, "Name")
    table.add_column("ID", 30, "LeID")
    ds.buttonOK = pylax.Button(selector, -120, -40, 50, 20, "OK")
    selector.buttonCancel = pylax.Button(selector, -60, -40, 50, 20, "Cancel")
    r=ds.execute()
    return selector
Beispiel #5
0
def launch():

    form = pylax.Form(None, 20, 30, 680, 500, "Item")
    #form.minWidth, form.minHeight = 640, 480

    ds = pylax.Dynaset(
        "Item",
        "SELECT ItemID, Name, Description, Picture, Parent FROM Item ORDER BY Name DESC LIMIT 100;"
    )
    ds.autoColumn = ds.add_column("ItemID", int, format="{:,}", key=True)
    ds.add_column("Name")
    ds.add_column("Description", str)
    ds.add_column("Picture", bytes)
    ds.add_column("Parent", int)

    selectionTable = pylax.Table(form,
                                 12,
                                 88,
                                 -344,
                                 -170,
                                 dynaset=ds,
                                 label=pylax.Label(form, 12, 60, 90, 24,
                                                   "Select"))
    selectionTable.add_column("Name", 70, "Name")
    selectionTable.add_column("Description", 100, "Description")
    selectionTable.showRowIndicator = True

    imagePicture = pylax.Image(form,
                               -330,
                               20,
                               320,
                               320,
                               dynaset=ds,
                               column="Picture")

    ds.buttonEdit = pylax.Button(form, -328, -36, 60, 24, "Edit")
    ds.buttonNew = pylax.Button(form, -264, -36, 60, 24, "New")
    ds.buttonDelete = pylax.Button(form, -200, -36, 60, 24, "Delete")
    ds.buttonUndo = pylax.Button(form, -136, -36, 60, 24, "Undo")
    ds.buttonSave = pylax.Button(form, -72, -36, 60, 24, "Save")

    r = ds.execute()
Beispiel #6
0
def entryCustomer__validate(widget, data):

    def buttonSearch__on_click(data):
        if entrySearch.data == None:
            r = ds.execute(query = "SELECT LeID, Name FROM LE LIMIT 100;")
        else:
            r = ds.execute({"Name": entrySearch.data}, "SELECT LeID, Name FROM LE WHERE Name LIKE :Name LIMIT 100;")

    def buttonOK__on_click(data):
        widget.dynaset.set_data("Customer", ds.get_row_data()["LeID"])
        widget.dynaset.set_data("CustomerName", ds.get_row_data()["Name"])
        window.close()

    ds = pylax.Dynaset("LE", "SELECT LeID, Name FROM LE WHERE Name = :Name LIMIT 100;")
    ds.autoColumn = ds.add_column("LeID", int, key=True)
    ds.add_column("Name")
    rows = ds.execute({"Name": data})
    if rows == 1:
        ds.row = 0
        widget.dynaset.set_data("Customer", ds.get_row_data()["LeID"])
        widget.dynaset.set_data("CustomerName", ds.get_row_data()["Name"])
        return True
    else:
        window = pylax.Window(None, 0, 0, 320, 220, "Select Customer", ds)

        entrySearch= pylax.Entry(window, 20, 20, -70, 24, "Search Name")
        entrySearch.data = data + "%"
        buttonSearch = pylax.Button(window, -60, 20, 20, 24, "⏎")
        buttonSearch.on_click = buttonSearch__on_click;

        table = pylax.Table(window, 20, 60, -20, -70, dynaset=ds)
        table.add_column("Name", 150, "Name")
        table.add_column("ID", 30, "LeID")
        ds.buttonOK = pylax.Button(window, -60, -50, 40, 24, "OK")
        ds.buttonOK.on_click = buttonOK__on_click;
        r = ds.execute({"Name": entrySearch.data}, "SELECT LeID, Name FROM LE WHERE Name LIKE :Name;")
        return False
Beispiel #7
0
def create_selector_LegalEntity():
    global selectorEntrySearch
    ds = pylax.Dynaset(
        "LE",
        "SELECT LeID, Name, Description FROM LE WHERE Name LIKE :Name OR LeID = :Name ORDER BY Name DESC LIMIT 100;"
    )
    ds.autoColumn = ds.add_column("LeID", int, key=True)
    ds.add_column("Name")
    ds.add_column("Description")
    selector = pylax.Dialog(None, 30, 20, 480, 280, "Select Legal Entity", ds)

    selectorEntrySearch = pylax.Entry(selector, 20, 20, -90, 20)
    selectorEntrySearch.data = "%"
    ds.buttonSearch = pylax.Button(selector, -80, 20, 60, 20, "Sea&rch")
    ds.buttonSearch.on_click = selectorSearchButton__on_click

    table = pylax.Table(selector, 20, 48, -20, -60, dynaset=ds)
    table.add_column("Name", 150, "Name")
    table.add_column("ID", 30, "LeID")
    table.showRowIndicator = False
    #selector.buttonOK = ds.buttonOK = pylax.Button(selector, -130, -40, 50, 20, "OK")
    #selector.buttonCancel = pylax.Button(selector, -70, -40, 50, 20, "Cancel")
    r = ds.execute({"Name": "%"})
    return selector
Beispiel #8
0
ds.autoColumn = ds.add_column("itemid", int, format="{:,}", key=True)
ds.add_column("name")

form = pylax.Form(None, 20, 10, 680, 480, "Item from PostgreSQL", ds)

ds.buttonEdit = pylax.Button(form, -328, -36, 60, 24, "Edit")
ds.buttonNew = pylax.Button(form, -264, -36, 60, 24, "New")
ds.buttonDelete = pylax.Button(form, -200, -36, 60, 24, "Delete")
ds.buttonUndo = pylax.Button(form, -136, -36, 60, 24, "Undo")
ds.buttonSave = pylax.Button(form, -72, -36, 60, 24, "Save")

entrySearch = pylax.Entry(form, 62, 12, -389, 24, label = pylax.Label(form, 12, 12, 40, 24, "Search"))
entrySearch.data = "%"
buttonSearch = pylax.Button(form, -379, 12, 24, 24, "⏎")
buttonSearch.on_click = buttonSearch__on_click
buttonSearch.defaultEnter = True

selectionTable = pylax.Table(form, 12, 88, -344, -170, dynaset=ds, label = pylax.Label(form, 12, 60, 90, 24, "Select"))
selectionTable.add_column("Name", 70, "Name")
selectionTable.add_column("Description", 100, "Description")
selectionTable.showRowIndicator = True

entryID = pylax.Entry(form, -200, 60, 40, 24, dynaset=ds, column="ItemID", dataType=int, label = pylax.Label(form, -300, 60, 70, 24, "ID"))
entryID.editFormat="{:,}"
entryID.alignHoriz = pylax.Align.left
entryName = pylax.Entry(form, -200, 90, -110, 24, dynaset=ds, column="Name", dataType=str, label = pylax.Label(form, -300, 90, 70, 24, "Name"))


def on_load():      # this function gets called after the script has been loaded
    r = ds.execute({"Name": "%"})
Beispiel #9
0
def launch():
    global ds, entrySearch

    ds = pylax.Dynaset(
        "LE",
        "SELECT le.LeID, le.Name, le.Description, le.Logo, le.Parent, p.Name AS ParentName FROM LE LEFT JOIN LE AS p ON le.Parent=p.LeID WHERE le.Name LIKE :Name OR le.LeID = :Name ORDER BY le.Name DESC LIMIT 100;"
    )
    ds.autoColumn = ds.add_column("LeID", int, format="{:,}", key=True)
    ds.add_column("Name")
    ds.add_column("Description")
    ds.add_column("Logo", bytes)
    ds.add_column("Parent", int)
    ds.add_column("ParentName")
    ds.before_save = ds__before_save

    # GUI
    form = pylax.Form(None, pylax.Widget.defaultCoordinate, 10, 640, 480,
                      "Legal Entity", ds)
    form.minWidth, form.minHeight = 480, 360
    labelFormCaption = pylax.Label(form,
                                   1,
                                   1,
                                   40,
                                   20,
                                   dynaset=ds,
                                   column="Name",
                                   visible=False)
    labelFormCaption.captionClient = form  # passes any assigment to property 'data' on to property 'caption' of the captionClient

    entrySearch = pylax.Entry(form,
                              70,
                              20,
                              160,
                              20,
                              label=pylax.Label(form, 20, 20, 40, 20,
                                                "Search"))
    entrySearch.data = "%"
    #entrySearch.focus_in()
    #entrySearch.verify= entryS__verify
    #print(form.focus)
    ds.buttonSearch = pylax.Button(form, 240, 20, 60, 20, "Sea&rch")
    ds.buttonSearch.on_click = buttonSearch__on_click
    ds.buttonSearch.defaultEnter = True

    selectionTable = pylax.Table(form,
                                 20,
                                 70,
                                 -240,
                                 -55,
                                 dynaset=ds,
                                 label=pylax.Label(form, 20, 50, 90, 20,
                                                   "Select:"))
    selectionTable.add_column("ID", 60, "LeID")  # title, width, dataset
    selectionTable.add_column("Name", 130, "Name")
    selectionTable.add_column("Parent",
                              130,
                              "ParentName",
                              widget=pylax.Entry(None))
    #print(selectionTable.columns[2].widget)

    imagePicture = pylax.ImageView(form,
                                   -140,
                                   20,
                                   90,
                                   80,
                                   dynaset=ds,
                                   column="Logo",
                                   dataType=bytes)

    entryID = pylax.Entry(form,
                          -160,
                          120,
                          60,
                          20,
                          dynaset=ds,
                          column="LeID",
                          dataType=int,
                          label=pylax.Label(form, -230, 120, 60, 20, "ID"))
    entryID.editFormat = "{:,}"
    entryID.alignHoriz = pylax.Align.left

    entryName = pylax.Entry(form,
                            -160,
                            150,
                            140,
                            20,
                            dynaset=ds,
                            column="Name",
                            label=pylax.Label(form, -230, 150, 60, 20, "Name"))
    entryParent = pylax.Entry(form,
                              -160,
                              180,
                              140,
                              20,
                              dynaset=ds,
                              column="ParentName",
                              label=pylax.Label(form, -230, 180, 60, 20,
                                                "Parent"))
    #entryParent.alignHoriz = pylax.Align.left
    #entryParentName = pylax.Entry(form, -160, 210, 100, 20, dynaset=ds, column="ParentName")
    entryParent.verify = entryParent__verify
    entryParent.on_click_button = entryParent__on_click_button

    ds.buttonNew = pylax.Button(form, -360, -40, 60, 20, "&New")
    ds.buttonEdit = pylax.Button(form, -290, -40, 60, 20, "&Edit")
    ds.buttonUndo = pylax.Button(form, -220, -40, 60, 20, "&Undo")
    ds.buttonSave = pylax.Button(form, -150, -40, 60, 20, "&Save")
    ds.buttonDelete = pylax.Button(form, -80, -40, 60, 20, "&Delete")

    r = ds.execute({"Name": entrySearch.data})
Beispiel #10
0
ds.buttonNew = pylax.Button(form, -264, -36, 60, 24, "New")
ds.buttonDelete = pylax.Button(form, -200, -36, 60, 24, "Delete")
ds.buttonUndo = pylax.Button(form, -136, -36, 60, 24, "Undo")
ds.buttonSave = pylax.Button(form, -72, -36, 60, 24, "Save")

tab = pylax.Tab(form, 2, 2, -2, -55)
tabPageMain = pylax.TabPage(tab, 0, 0, 0, 0, "Main")
tabPagePicture = pylax.TabPage(tab, 0, 0, 0, 0, "Picture")

entrySearch = pylax.Entry(tabPageMain, 62, 12, -389, 24, label = pylax.Label(tabPageMain, 12, 12, 40, 24, "Search"))
entrySearch.data = "%"
buttonSearch = pylax.Button(tabPageMain, -379, 12, 24, 24, "⏎")
buttonSearch.on_click = buttonSearch__on_click
buttonSearch.defaultEnter = True

selectionTable = pylax.Table(tabPageMain, 12, 88, -344, -170, dynaset=ds, label = pylax.Label(tabPageMain, 12, 60, 90, 24, "Select"))
selectionTable.add_column("Name", 70, "Name") # title, width, Dynaset column name
selectionTable.add_column("Description", 100, "Description")
selectionTable.showRowIndicator = True


entryID = pylax.Entry(tabPageMain, 82, -160, 80, 24, dynaset=ds, column="ItemID", dataType=int, label = pylax.Label(tabPageMain, 12, -160, 70, 24, "ID"))
entryID.editFormat="{:,}"
entryID.alignHoriz = pylax.Align.left
entryName = pylax.Entry(tabPageMain, 82, -132, 180, 24, dynaset=ds, column="Name", dataType=str, label = pylax.Label(tabPageMain, 12, -132, 70, 24, "Name"))
#entryDescription.plain = True
entryPrice = pylax.Entry(tabPageMain, 82, -104, 180, 24, dynaset=ds, column="Price", dataType=float, label = pylax.Label(tabPageMain, 12, -104, 70, 24, "Price"))
entryPrice.format="{0:,.2f}"

detailTable = pylax.Table(tabPageMain, -320, 88, -12, -196, dynaset=dsDetail, label = pylax.Label(tabPageMain, -320, 60, 90, 24, "Sold To"))
detailTable.showRowIndicator = True
Beispiel #11
0
def launch():
    global ds, entrySearch, comboBoxSearch

    ds = pylax.Dynaset(
        "Person",
        "SELECT PersonID, FirstName, LastName, Picture FROM Person ORDER BY LastName DESC LIMIT 100;"
    )
    ds.autoColumn = ds.add_column("PersonID", int, format="{:,}", key=True)
    ds.add_column("LastName", str, False)
    ds.add_column("FirstName", str, False, default="One")
    ds.add_column("Picture", bytes)

    # GUI
    form = pylax.Form(None, 10, 10, 680, 450, "Person", ds)
    form.minWidth, form.minHeight = 640, 480

    labelFormCaption = pylax.Label(form,
                                   1,
                                   1,
                                   40,
                                   20,
                                   dynaset=ds,
                                   column="LastName",
                                   visible=False)
    labelFormCaption.captionClient = form  # passes any assigment to property 'data' on to property 'caption' of the captionClient

    comboBoxSearch = pylax.ComboBox(form,
                                    82,
                                    12,
                                    50,
                                    20,
                                    label=pylax.Label(form, 12, 12, 70, 20,
                                                      "Search by"))
    comboBoxSearch.append("ID")
    comboBoxSearch.append("Name")
    comboBoxSearch.data = "Name"

    entrySearch = pylax.Entry(form, 160, 20, -410, 20)
    buttonSearch = pylax.Button(form, -400, 20, 20, 20, "⏎")
    buttonSearch.on_click = buttonSearch__on_click
    buttonSearch.defaultEnter = True

    selectionTable = pylax.Table(form,
                                 12,
                                 88,
                                 -344,
                                 -170,
                                 dynaset=ds,
                                 label=pylax.Label(form, 12, 60, 90, 24,
                                                   "Select"))
    selectionTable.add_column("First Name", 70, "FirstName")
    selectionTable.add_column("Last Name", 150, "LastName")
    selectionTable.showRowIndicator = True

    imagePicture = pylax.Image(form,
                               -260,
                               10,
                               150,
                               150,
                               dynaset=ds,
                               column="Picture")

    entryID = pylax.Entry(form,
                          -260,
                          180,
                          60,
                          20,
                          dynaset=ds,
                          column="PersonID",
                          dataType=int,
                          label=pylax.Label(form, -340, 180, 70, 20, "ID"))
    entryID.editFormat = "{:,}"
    entryID.alignHoriz = pylax.Align.left
    entryID.readOnly = True

    entryFirstName = pylax.Entry(form,
                                 -260,
                                 210,
                                 60,
                                 20,
                                 dynaset=ds,
                                 column="FirstName",
                                 dataType=str,
                                 label=pylax.Label(form, -340, 210, 70, 20,
                                                   "First Name"))
    entryLastName = pylax.Entry(form,
                                -260,
                                240,
                                60,
                                20,
                                dynaset=ds,
                                column="LastName",
                                dataType=str,
                                label=pylax.Label(form, -340, 240, 70, 20,
                                                  "Last Name"))
    #comboBox = pylax.ComboBox(form, -260, 270, 60, 20, dynaset=ds, column="PersonID", label = pylax.Label(form, -340, 270, 70, 20, "PersonID"))
    #comboBox.append("Zero", 0)
    #comboBox.append("One", 1)
    #comboBox.append("Two", 2)

    ds.buttonEdit = pylax.Button(form, -328, -36, 60, 24, "Edit")
    ds.buttonNew = pylax.Button(form, -264, -36, 60, 24, "New")
    ds.buttonDelete = pylax.Button(form, -200, -36, 60, 24, "Delete")
    ds.buttonUndo = pylax.Button(form, -136, -36, 60, 24, "Undo")
    ds.buttonSave = pylax.Button(form, -72, -36, 60, 24, "Save")

    r = ds.execute()
Beispiel #12
0
def launch():
    global ds, entrySearch

    def nameColumn__default():
        pylax.message("Default", "Gratuliere")
        return "Hallo"

    ds = pylax.Dynaset(
        "Person",
        "SELECT PersonID, FirstName, LastName, Picture FROM Person ORDER BY LastName DESC LIMIT 100;"
    )
    ds.autoColumn = ds.add_column("PersonID", int, format="{:,}", key=True)
    ds.add_column("FirstName", str, defaultFunction=nameColumn__default)
    ds.add_column("LastName", str, False, default="Geschafft")
    ds.add_column("Picture", bytes)

    # GUI
    form = pylax.Form(None, pylax.Widget.defaultCoordinate, 10, 680, 450,
                      "Person", ds)
    form.minWidth, form.minHeight = 640, 480

    def entryFirstName__verify(widget, data):
        pylax.message("Nicht Geklückt! 品", "Gratuliere")
        return False

    labelFormCaption = pylax.Label(form,
                                   1,
                                   1,
                                   40,
                                   20,
                                   dynaset=ds,
                                   column="LastName",
                                   visible=False)
    labelFormCaption.captionClient = form  # passes any assigment to property 'data' on to property 'caption' of the captionClient

    entrySearch = pylax.Entry(form,
                              70,
                              20,
                              160,
                              20,
                              label=pylax.Label(form, 20, 20, 40, 20,
                                                "Search"))
    ds.buttonSearch = pylax.Button(form, 240, 20, 60, 20, "Search")
    ds.buttonSearch.on_click = buttonSearch__on_click
    ds.buttonSearch.defaultEnter = True

    selectionTable = pylax.Table(form,
                                 20,
                                 70,
                                 -240,
                                 -55,
                                 dynaset=ds,
                                 label=pylax.Label(form, 20, 50, 90, 20,
                                                   "Select:"))
    selectionTable.add_column("First Name", 70,
                              "FirstName")  # title, width, dataset
    selectionTable.add_column("Last Name", 150,
                              "LastName")  # title, width, dataset
    selectionTable.add_column("ID", 130, "PersonID")  # title, width, dataset

    imagePicture = pylax.ImageView(form,
                                   -130,
                                   20,
                                   90,
                                   80,
                                   dynaset=ds,
                                   column="Picture",
                                   dataType=bytes)

    entryID = pylax.Entry(form,
                          -130,
                          120,
                          120,
                          20,
                          dynaset=ds,
                          column="PersonID",
                          dataType=int,
                          label=pylax.Label(form, -230, 120, 90, 20, "ID"))
    entryID.editFormat = "{:,}"
    entryID.alignHoriz = pylax.Align.left

    entryFirstName = pylax.Entry(form,
                                 -130,
                                 150,
                                 120,
                                 20,
                                 dynaset=ds,
                                 column="FirstName",
                                 dataType=str,
                                 label=pylax.Label(form, -230, 150, 90, 20,
                                                   "First Name"))
    entryFirstName.verify = entryFirstName__verify
    entryLastName = pylax.Entry(form,
                                -130,
                                180,
                                120,
                                20,
                                dynaset=ds,
                                column="LastName",
                                dataType=str,
                                label=pylax.Label(form, -230, 180, 90, 20,
                                                  "Last Name"))
    comboBox = pylax.ComboBox(form,
                              -130,
                              220,
                              120,
                              20,
                              dynaset=ds,
                              column="PersonID",
                              label=pylax.Label(form, -230, 220, 90, 20,
                                                "PersonID"))
    comboBox.append("Zero", 0)
    comboBox.append("One", 1)
    comboBox.append("Two", 2)
    entryLastName.readOnly = True

    ds.buttonNew = pylax.Button(form, -370, -40, 60, 20, "New")
    ds.buttonEdit = pylax.Button(form, -300, -40, 60, 20, "Edit")
    ds.buttonUndo = pylax.Button(form, -230, -40, 60, 20, "Undo")
    ds.buttonSave = pylax.Button(form, -160, -40, 60, 20, "Save")
    ds.buttonDelete = pylax.Button(form, -90, -40, 60, 20, "Delete")
Beispiel #13
0
entrySearch = pylax.Entry(tabPageMain,
                          70,
                          20,
                          -420,
                          20,
                          label=pylax.Label(tabPageMain, 20, 22, 40, 20,
                                            "Search"))
entrySearch.data = "%"
ds.buttonSearch = pylax.Button(tabPageMain, -410, 20, 20, 20, "⏎")
ds.buttonSearch.on_click = buttonSearch__on_click
ds.buttonSearch.defaultEnter = True

selectionTable = pylax.Table(tabPageMain,
                             20,
                             80,
                             -360,
                             -130,
                             dynaset=ds,
                             label=pylax.Label(tabPageMain, 20, 60, 90, 20,
                                               "Select"))
selectionTable.add_column("Name", 70, "Name")
selectionTable.add_column("Description", 100, "Description")
selectionTable.showRowIndicator = True

image = pylax.Image(tabPagePicture,
                    20,
                    40,
                    -20,
                    320,
                    dynaset=ds,
                    column="Picture",
                    label=pylax.Label(tabPagePicture, 20, 20, 70, 20,