Diff of /app/GuiControl.py [000000] .. [4de1c7]

Switch to unified view

a b/app/GuiControl.py
1
from pywinauto.application import Application
2
3
4
class GuiControl:
5
    def __init__(self):
6
        self.visualizer = None
7
        self.visualizer_dlg = None
8
9
        self.recorder = None
10
        self.recorder_dlg = None
11
12
    def set_windows_record(self):
13
        self.visualizer = Application().start(r"C:\Program Files\Ultraleap\TrackingVisualizer\TrackingVisualizer.exe")
14
        self.visualizer_dlg = self.visualizer.window()
15
        self.recorder = Application().connect(class_name="wxWindowNR")
16
        self.recorder_dlg = self.recorder.window()
17
        visualizer_dlg = self.visualizer_dlg
18
        recorder_dlg = self.recorder_dlg
19
20
        # toggle off the help menu
21
        visualizer_dlg.set_keyboard_focus().send_keystrokes("h---f")
22
23
        # get maximum screen size
24
        visualizer_dlg.maximize()
25
        max_size = visualizer_dlg.rectangle()
26
        visualizer_dlg.restore()
27
28
        size = GuiControl.position_record(max_size, main=True)
29
        visualizer_dlg.move_window(x=-size['x'], y=size['y'], width=size['width'], height=size['height'], repaint=True)
30
        # visualizer_dlg.set_transparency(alpha=120)
31
32
        size = GuiControl.position_record(max_size, main=False)
33
        recorder_dlg.set_focus()
34
        recorder_dlg.move_window(x=-size['x'], y=size['y'], width=size['width'], height=size['height'], repaint=True)
35
        recorder_dlg.Stop.set_focus()
36
37
    def end_record(self):
38
        self.visualizer.kill()
39
        self.recorder_dlg.restore()
40
        self.recorder_dlg.maximize()
41
42
    @staticmethod
43
    def position_record(max_size, main):
44
        max_width = max_size.right - max_size.left - 20
45
        max_height = max_size.bottom - max_size.top - 20
46
        if main:
47
            return {'x': -int(max_width / 3),
48
                    'y': 0,
49
                    'width': int(max_width / 3 * 2),
50
                    'height': int(max_height)}
51
        return {'x': 0,
52
                'y': 0,
53
                'width': int(max_width / 3),
54
                'height': int(max_height)}