Exemplo n.º 1
0
from formify.layout import *
from formify.controls import *
import formify


def change_langauge(sender, language):
    formify.app.translator.language = language


ui = Form(
    Col(
        ControlCombo("Mode",
                     items=[("de", "Deutsch"), ("en", "English")],
                     variable_name="language",
                     on_change=change_langauge),
        ControlFile(),
    ))

main_window = formify.MainWindow(ui, margin=8)
Exemplo n.º 2
0
from formify.controls import ControlBase, ControlTree
from PySide2 import QtWidgets, QtCore
import typing
import formify

table = formify.controls.ControlTable(columns=["H", "B"],
                                      column_types=[int, float])

window = formify.MainWindow(formify.layout.Col(
    table, formify.controls.ControlButton("Print",
                                          lambda: print(table.value))),
                            margin=8)
Exemplo n.º 3
0
import formify
from formify import controls, layout

_boop = controls.ControlText(variable_name="Boop", value="boop")


def boop():
    print(_boop.value)


sub_content = layout.Segment(
    controls.ControlCheckbox(variable_name="Box"),
    controls.ControlRadio(variable_name="Box2"),
    controls.ControlRadio(variable_name="Box3", on_change=print),
)

content = layout.Segment(
    layout.h1("Segment"),
    controls.ControlCheckbox(variable_name="Checkbox"),
    controls.ControlText(variable_name="Text"),
    controls.ControlTextarea("Bla", variable_name="TextArea", on_change=print),
    _boop,
    controls.ControlButton("Make Boop", on_click=boop),
    controls.ControlButton("Show Sub Window",
                           on_click=lambda: sub_content.show()),
)

menu = {"Playground": {"Boop": (boop, "ctrl+b")}}

formify.MainWindow(content, menu=menu, margin=8)
Exemplo n.º 4
0
sidebar = SidebarContentView(
    {
        "General":
        SplitterCol(
            voltage,
            voltage_str,
            ControlFloat("Image Width",
                         on_change=lambda _, w: set_image_width(w)),
            image,
            Row(
                ControlList("Drag'n drop",
                            items=["A", "B", "C", "D", "E", "F", "G"]),
                ControlList("2nd List", items=["A", "B"]),
            ),
        ),
        "Material":
        material_form,
        "List":
        ListForm(Form(ControlText(variable_name="blaa")))
    },
    bottom_widget=logo)
sidebar.sidebar.bottom_layout.setContentsMargins(7, 7, 7, 7)

formify.app.allow_multiple_instances = False

window = formify.MainWindow(sidebar,
                            allowed_file_extensions=["txt", "json"],
                            auto_run=False)
window.show()
formify.run()
Exemplo n.º 5
0
    controls.ControlCheckbox(variable_name="Checkbox"),
    controls.ControlText(variable_name="Text"),
    some_control,
    controls.ControlButton("Make Boop"),
    controls.ControlButton("Show Inspector",
                           on_click=lambda: inspector.show()),
    controls.ControlButton("Hide Some Control",
                           on_click=lambda: highlight_control(some_control)),
)
content = controls.Form(content)
inspector = Inspector(content)

#window = formify.MainWindow(content, margin=8)

master_dict = {
    "Top": "level",
    "Top 2": {
        "Child 1": "boop",
        "Child 2": {
            "Child Child": "boop child child"
        },
    },
}

tree = ControlTree(tree_data=master_dict)
tree.value = ["Top 2", "Child 1"]
tree.value = ["Top"]
print(tree.value)

window = formify.MainWindow(tree, margin=8)
Exemplo n.º 6
0
list_form = ListForm(
    form,
    display_name_callback=lambda x: f'{x["type"]} ({x["color"]})',
    variable_name="list_form")


def _draw():
    # setup
    plot.fig.clear()
    ax = plot.fig.subplots()
    ax.set_aspect('equal')

    # plotting
    for data in copy.deepcopy(list_form.value):
        func = getattr(shapes, data.pop("type"))
        func(ax, **data)

    # show
    ax.plot()
    plot.draw()


draw = formify.tools.BackgroundMethod(_draw, lazy=True)
list_form.change.subscribe(draw)
formify.tools.maximize(list_form)

formify.MainWindow(Row(Segment(
    h2("Shapes"),
    list_form,
), plot), margin=8)
Exemplo n.º 7
0
from formify.controls import *
import formify


def print_text():
    text = ui.value["text"]
    if ui.value["print_mode"] == "Dialog":
        formify.tools.ok_dialog("Text:", text)
    else:
        print(text)


def set_value():
    ui.value = {'text': 'Moin GUI Runde ', 'print_mode': 'Dialog'}


ui = Form(
    Col(
        Row(
            ControlText(variable_name="text", value="Print this text"),
            ControlCombo("Mode",
                         items=["Dialog", "Print"],
                         variable_name="print_mode"),
        ),
        ControlButton("print or show dialog", on_click=print_text),
    ))

menu = {"Print Menu": {"print / show dialog": (print_text, "ctrl+p")}}

formify.MainWindow(ui, menu=menu, margin=8)
import formify
from formify import controls, layout

from PySide2 import QtWidgets, QtCore
qt_form_test = QtWidgets.QFormLayout()
qt_form_test.setLabelAlignment(QtCore.Qt.AlignLeft)
qt_form_test.setFormAlignment(QtCore.Qt.AlignLeft)
qt_form_test.setFieldGrowthPolicy(QtWidgets.QFormLayout.ExpandingFieldsGrow)
qt_form_test.setRowWrapPolicy(QtWidgets.QFormLayout.WrapAllRows)
qt_form_test.setMargin(0)

qt_form_test.addRow("From Checkbox",
                    controls.ControlCheckbox(variable_name="FormCheckbox"))
qt_form_test.addWidget(controls.ControlRadio(variable_name="Form Radio 1"))
qt_form_test.addWidget(controls.ControlRadio(variable_name="Form Radio 2"))
qt_form_test.addRow("Another Form Label",
                    controls.ControlText(variable_name="Text"))
qt_form_test.addRow("Button", controls.ControlButton("Boop"))
#qt_form_test.addItem("Button", controls.ControlText(variable_name="Button"))

formify.MainWindow(layout.Segment(
    layout.h2("Qt From Test"),
    qt_form_test,
),
                   margin=8)
Exemplo n.º 9
0
from formify.controls import *
from formify.layout import *
import formify

machine = Form(
    Col(
        ControlText(variable_name="machine_name"),
        Row(
            Col(
                ControlText(variable_name="material_name"),
                ControlFloat(variable_name="conductivity"),
                ControlFloat(variable_name="temperature"),
            ),
            ControlTable(variable_name="bh", columns=["H", "B"]),
        ),
    ))

command = ControlText(value="machine.value")
ui = Col(
    Segment(h2("Machine"), machine),
    Row(command,
        ControlButton("Evaluate",
                      on_click=lambda: print(eval(command.value)))))

machine.change.subscribe(print)

formify.MainWindow(ui, margin=8)