コード例 #1
0
ファイル: TCMessage.py プロジェクト: kalnajslab/TeleCommands
def pick_an_instrument():
    ''' Select the instrument to generate TC files for'''

    instruments = ['LPC', 'RACHuTS', 'FLOATS']

    instrument_layout = [[
        sg.InputCombo(values=instruments, key='_inst_', font=Font)
    ]]
    layout_pick_instrument = [[
        sg.Frame('Select Instrument: ', instrument_layout, font=Font)
    ], [sg.Submit(font=Font), sg.Cancel(font=Font)]]

    instrument_window = sg.Window('Select Instrument', layout_pick_instrument)
    event, values = instrument_window.Read()
    instrument_window.Close()

    if event is None or event == 'Cancel':
        return None
    if event == 'Submit':
        print(values['_inst_'])
        return values['_inst_']
コード例 #2
0
         title='Options',
         title_color='red',
         relief=sg.RELIEF_SUNKEN,
         tooltip='Use these to set flags',
     ),
     sg.Stretch()
 ],
 [
     sg.Multiline(
         default_text=
         'This is the default Text should you decide not to type anything',
         size=(220, 80)),
     sg.Multiline(default_text='A second multi-line', size=(220, 80))
 ],
 [
     sg.InputCombo(('Combobox 1', 'Combobox 2'), size=(150, 22)),
     sg.Stretch(),
     sg.Slider(range=(1, 100),
               orientation='h',
               size=(300, 22),
               default_value=85)
 ],
 [sg.InputOptionMenu(('Menu Option 1', 'Menu Option 2', 'Menu Option 3'))],
 [
     sg.Listbox(values=('Listbox 1', 'Listbox 2', 'Listbox 3'),
                size=(200, 100),
                select_mode=sg.LISTBOX_SELECT_MODE_EXTENDED),
     sg.Stretch(),
     sg.Frame('Labelled Group', [[
         sg.Slider(range=(1, 100),
                   orientation='v',
コード例 #3
0
    def __init__(self):
        self.WINDOW_TITLE = "MobilePayAlerts"

        self.event_combiner = {"_BTN_GENQR_": qr.generate}

        tab_1 = sg.Tab(text["tab_1"]["text"], [[
            sg.HorizontalSeparator()
        ], [
            sg.Button("Start", key="_BTN_START_", size=(250, 40), visible=True)
        ], [
            sg.HorizontalSeparator()
        ], [
            sg.Button("Stop", key="_BTN_STOP_", size=(250, 40), visible=False)
        ], [
            sg.HorizontalSeparator()
        ], [sg.Button("Test", key="_BTN_TEST_", size=(250, 40), visible=True)],
                                               [sg.HorizontalSeparator()]])

        tab_2 = sg.Tab(text["tab_2"]["text"], [
            [
                sg.Text(text["label_settings"]["text"],
                        font=("def", "def", "bold"))
            ],
            [
                sg.Text(text["label_name"]["text"], size=(11, 0.6)),
                sg.InputText(default_text=cfg["default_name"],
                             key=text["input_name"]["key"],
                             do_not_clear=True,
                             tooltip=text["input_name"]["tt"])
            ],
            [
                sg.Text(text["label_msg"]["text"], size=(11, 0.6)),
                sg.InputText(default_text=cfg["default_msg"],
                             key=text["input_msg"]["key"],
                             do_not_clear=True,
                             tooltip=text["input_msg"]["tt"])
            ],
            [
                sg.Text(text["label_lang"]["text"], size=(11, 0.6)),
                sg.InputCombo(text["languages"],
                              key=text["combobox"]["key"],
                              default_value=cfg["language"].capitalize())
            ],
            [
                sg.Button(text["btn_save"]["text"],
                          key=text["btn_save"]["key"],
                          tooltip=text["btn_save"]["tt"])
            ],
            [sg.HorizontalSeparator()],
            [
                sg.Button(text["btn_generate"]["text"],
                          key=text["btn_generate"]["key"],
                          tooltip=text["btn_generate"]["tt"])
            ],
            [sg.HorizontalSeparator()],
            [
                sg.Text(text["label_other_settings"]["text"],
                        font=("def", "def", "bold"))
            ],
            [
                sg.Button(text["btn_reset"]["text"],
                          key=text["btn_reset"]["key"]),
                sg.Button(text["btn_setup"]["text"],
                          key=text["btn_setup"]["text"])
            ],
        ])

        self.layout = [[sg.TabGroup([[tab_1, tab_2]])]]
コード例 #4
0
def behavior_window_handler(behavior_type: str, select: list):
    listbox_unit = sg.Listbox(list(UNIT.keys()),
                              size=LISTBOX_SIZE,
                              key='unit',
                              enable_events=True)
    widgets = [
        create_frame('Unit', [listbox_unit]),
        create_frame('Attributes', [
            sg.Listbox([], key='attrs', enable_events=True, size=LISTBOX_SIZE)
        ]),
        create_frame(
            'Operations',
            [sg.Listbox([], key='ops', enable_events=True, size=LISTBOX_SIZE)
             ]),
        create_frame('Attribute value', [
            sg.InputCombo(
                [""], disabled=True, key="attr_value", size=(100, 20))
        ]),
        create_frame('Actions', [
            sg.Listbox(
                [], key='actions', enable_events=True, size=LISTBOX_SIZE)
        ]),
        create_frame('Action value',
                     [sg.InputText("0", disabled=True, key='action_value')]),
        create_frame('Action duration',
                     [sg.InputText("0", disabled=True, key='action_duration')])
    ]

    behavior_window = sg.Window("Add behavior",
                                layout=[
                                    widgets,
                                    [
                                        sg.Button('Add',
                                                  key='+_behavior',
                                                  size=BUTTON_SIZE),
                                        sg.CloseButton('Close',
                                                       key='Close_behavior',
                                                       size=BUTTON_SIZE)
                                    ]
                                ])
    behavior_window.Finalize()
    while True:
        event, values = behavior_window.Read()
        if event == '+_behavior':
            key = all_behavior[behavior_type]['counter']
            tree = all_behavior[behavior_type]['tree_data']
            behavior_tree = all_behavior[behavior_type]['tree']
            storage = all_behavior[behavior_type]['storage']
            selected = all_behavior[behavior_type]['select']

            key.increment()
            new_values = {
                k: v[0] if not isinstance(v, str) else v
                for k, v in values.items() if v
            }

            if select:
                for i in select:
                    tree.Insert(i, str(key.count),
                                convert_text(str(key.count), new_values),
                                values)
            else:
                tree.Insert(select, str(key.count),
                            convert_text(str(key.count), new_values), values)
            behavior_tree.Update(tree)

            parents = selected.Values
            parents.append(str(key.count))
            selected.Update(values=parents, disabled=False)

            storage.insert(select, str(key.count), new_values)
        elif event == 'Close_behavior':
            break
        elif event == 'unit':
            vals = list(ATTRIBUTES[values['unit'][0]].keys())
            widgets[1].Rows[0][0].Update(vals)
        elif event == 'attrs':
            attrs = values.get('attrs', None)
            if attrs:
                widgets[3].Rows[0][0].Update(values=ATTR_VALUES[attrs[0]],
                                             disabled=False)
                widgets[2].Rows[0][0].Update(list(OPERATORS[attrs[0]].keys()))

                widgets[4].Rows[0][0].Update(list(ACTIONS.keys()))
        elif event == 'actions':
            if values.get('actions', []):
                if values.get('actions', [''])[0] != 'do nothing':
                    widgets[5].Rows[0][0].Update(disabled=False)
                    widgets[6].Rows[0][0].Update(disabled=False)
                else:
                    widgets[5].Rows[0][0].Update(disabled=True)

    return
コード例 #5
0
ファイル: waypoints.py プロジェクト: 9uapaw/bombshell
import json
from typing import Iterable

from gui.general import BUTTON_SIZE
import PySimpleGUIQt as sg

WAYPOINT_META = ['grind', 'vendor', 'ghost']
WAYPOINT_FORMAT = ['circle', 'line']

waypoint_selector_frame = [
    sg.Frame('Waypoint', [[
        sg.Text('Waypoint type: '),
        sg.InputCombo(WAYPOINT_META,
                      key='waypoint_meta',
                      enable_events=True,
                      size=(150, 30))
    ],
                          [
                              sg.Text('Waypoint format: '),
                              sg.InputCombo(WAYPOINT_FORMAT,
                                            key='waypoint_format',
                                            enable_events=True,
                                            size=(150, 30))
                          ]])
]

waypoint_frame = [
    sg.Frame('Waypoint', [
        [
            sg.Text('Waypoint path: ', pad=(20, 20)),
            sg.InputText(key='save_waypoint'),