-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathdialog.py
More file actions
61 lines (44 loc) · 2.1 KB
/
Copy pathdialog.py
File metadata and controls
61 lines (44 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
from .config import *
class DialogExample(PUIView):
def setup(self):
self.state = State()
self.state.directory = None
self.state.file = None
self.state.files = None
self.state.confirm = None
self.state.prompt = None
def content(self):
with VBox():
Label(f"Directory: {type(self.state.directory)}: {self.state.directory}")
Button("Open Directory").click(self.do_open_dir)
Label(f"File: {type(self.state.file)}: {self.state.file}")
Button("Open File").click(self.do_open_file)
Button("Open File with Filter").click(self.do_open_file_filter)
Button("Save File (default to model)").click(self.do_save_file)
Label(f"Files: {type(self.state.files)}: {self.state.files}")
Button("Open Files").click(self.do_open_files)
Label(f"Information:")
Button("Information").click(lambda event: Information("info message", title="info title"))
Label(f"Warning:")
Button("Warning").click(lambda event: Warning("warning message", title="warning title"))
Label(f"Critical:")
Button("Critical").click(lambda event: Critical("critical message", title="critical title"))
Label(f"Confirm: {self.state.confirm}")
Button("Confirm").click(self.do_confirm)
Label(f"Prompt: {self.state.prompt}")
Button("Prompt").click(self.do_prompt)
Spacer()
def do_open_dir(self, e):
self.state.directory = OpenDirectory()
def do_open_file_filter(self, e):
self.state.file = OpenFile(types="Text files (*.txt)")
def do_open_file(self, e):
self.state.file = OpenFile()
def do_save_file(self, e):
self.state.file = SaveFile(self.state.file)
def do_open_files(self, e):
self.state.files = OpenFiles()
def do_confirm(self, e):
self.state.confirm = Confirm("confirm message", title="confirm title")
def do_prompt(self, e):
self.state.prompt = Prompt("prompt message", title="prompt title", default="default")