-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtools_menu.py
143 lines (135 loc) · 5.03 KB
/
tools_menu.py
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
import pygame,sys,os
import core
import textutil
import gui
class msg(gui.pane):
def __init__(self,m,assets):
gui.pane.__init__(self)
self.width = gui.SCREEN_WIDTH
self.height = 100
self.pri = -1001
self.z = 11001
self.rpos = [0,100]
self.align = "vert"
for line in textutil.wrap_text([m],assets.get_image_font("block_arial"),300):
text = gui.label(line.fulltext())
self.children.append(text)
def click_down_over(self,*args):
self.delete()
def delete(self):
self.kill = 1
super(msg,self).delete()
class tools_menu(gui.pane):
def __init__(self,*args,**kwargs):
self.sw=kwargs["sw"]
self.sh=kwargs["sh"]
self.assets=assets=kwargs["assets"]
gui.widget.__init__(self)
self.width = 1000
self.height = 1000
self.pri = -1001
self.z = 11001
self.align = False
self.sheight = assets.sheight
self.swidth = assets.swidth
self.base()
def make_button(self,text,pos):
b = gui.button(self,text,pos)
self.children.append(b)
return b
def base(self):
assets = self.assets
sw,sh = self.sw,self.sh
sh = assets.sh*assets.num_screens
self.children[:] = []
self.make_button("gif2strip",[0,10])
#self.make_button("aao2pywright",[0,30])
self.make_button("close tools",[0,40])
def gif2strip(self):
assets = self.assets
sw,sh = self.sw,self.sh
self.files_dir = gui.directory([0,0])
self.files_dir.populate(core.assets.tool_path,self,"giffile",lambda x: x.endswith(".gif"),False)
self.children.append(self.files_dir)
def aao2pywright(self):
assets = self.assets
sw,sh = self.sw,self.sh
settings_menu.firstpane = "saves"
self.base()
line = gui.pane([0,30],[sw,20])
line.align = "horiz"
self.children.append(line)
line.children.append(gui.label("Autosave?"))
class myb(gui.checkbox):
def click_down_over(self,*args):
super(myb,self).click_down_over(*args)
if self.checked:
assets.autosave = 1
else:
assets.autosave = 0
wini(assets)
line.children.append(myb("autosave"))
cb = line.children[-1]
if assets.autosave: cb.checked = True
line = gui.pane([0,50],[sw,20])
line.align = "horiz"
self.children.append(line)
line.children.append(gui.label("Minutes between autosave"))
class mymin(gui.editbox):
def insert(self,val):
if val not in u"0123456789":
return
super(mymin,self).insert(val)
def set(self,val):
super(mymin,self).set(val)
if not val:
val = 0
assets.autosave_interval = int(val)
wini(assets)
self.autosave_interval = str(assets.autosave_interval)
line.children.append(mymin(self,"autosave_interval"))
line = gui.pane([0,70],[sw,20])
line.align = "horiz"
self.children.append(line)
line.children.append(gui.label("Autosave backups"))
class mye(gui.editbox):
def insert(self,val):
if val not in u"0123456789":
return
super(mye,self).insert(val)
def set(self,val):
super(mye,self).set(val)
if not val:
val = 0
assets.autosave_keep = int(val)
wini(assets)
self.autosave_keep = str(assets.autosave_keep)
line.children.append(mye(self,"autosave_keep"))
def update(self,*args):
assets = self.assets
self.rpos = [0,0]
self.pos = self.rpos
self.children[:] = [x for x in self.children if not getattr(x,"kill",0)]
for x in self.children:
x.update()
if getattr(self,"giffile",""):
sys.path.append("tools")
import gif2strip
try:
path = gif2strip.go(self.giffile)
m = msg("Converted "+path.rsplit("/",1)[1]+".png",self.assets)
self.children.append(m)
graphic = pygame.transform.rotozoom(pygame.image.load(path+".png"),0,0.25)
m.children.append(gui.button(None,"x"))
m.children[-1].graphic = graphic
setattr(m.children[-1],"x",m.click_down_over)
except Exception:
import traceback
traceback.print_exc()
self.children.append(msg("File could not be converted.",self.assets))
self.giffile = ""
return True
def close_tools(self):
self.delete()
def delete(self):
self.kill = 1