Skip to content

Commit d8e542c

Browse files
author
MaximDude
committed
Set up basic GUI
1 parent 4a4c9cc commit d8e542c

File tree

1 file changed

+202
-0
lines changed

1 file changed

+202
-0
lines changed

cccp-bender-main.bmx

Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,202 @@
1+
Rem
2+
---------------------------------------------------------------
3+
CORTEX COMMAND COMMUNITY PROJECT BENDER v0.1 :
4+
---------------------------------------------------------------
5+
TBA
6+
EndRem
7+
8+
Strict
9+
10+
Import MaxGUI.Drivers
11+
Import BRL.FileSystem
12+
13+
AppTitle = "CCCP Bender v0.1"
14+
15+
'App quitting bool
16+
Global quitResult = False
17+
18+
'File I/O
19+
Global importedFile:String = Null
20+
Global fileFilers:String = "Image Files:png,jpg,bmp"
21+
22+
'Output Settings
23+
Global SCALE:String = "1"
24+
Global FRAMES:String = "7"
25+
Global BACKGROUND_RED:String = "255"
26+
Global BACKGROUND_GREEN:String = "200"
27+
Global BACKGROUND_BLUE:String = "255"
28+
29+
'GUI Elements
30+
Type TAppGUI
31+
'Main Window
32+
Global mainWindow:TGadget
33+
Global mainWindowButtonPanel:TGadget
34+
Global mainLoadButton:TGadget
35+
Global mainQuitButton:TGadget
36+
'Main Window About Panel
37+
Global mainAboutPanel:TGadget
38+
Global mainAboutTextbox:TGadget
39+
40+
'Main Window Label
41+
'Global mainWindowLabel:TGadget
42+
43+
'Workspace Window
44+
Global workWindow:TGadget
45+
Global workWindowButtonPanel:TGadget
46+
Global workLoadButton:TGadget
47+
Global workSaveButton:TGadget
48+
Global workQuitButton:TGadget
49+
'Workspace Window Settings Panel
50+
Global settingsPalel:TGadget
51+
Global settingsScaleTextbox:TGadget
52+
Global settingFramesTextbox:TGadget
53+
Global settingsColorRTextbox:TGadget
54+
Global settingsColorGTextbox:TGadget
55+
Global settingsColorBTextbox:TGadget
56+
Global settingsScaleLabel:TGadget
57+
Global settingsFramesLabel:TGadget
58+
Global settingsColorLabel:TGadget
59+
Global settingsColorRLabel:TGadget
60+
Global settingsColorGLabel:TGadget
61+
Global settingsColorBLabel:TGadget
62+
'Workspace Window Instructions Panel
63+
Global workHelpPanel:TGadget
64+
Global workHelpTextbox:TGadget
65+
66+
'Tansition between windows bool
67+
Global mainToWork = False
68+
69+
'Transition between windows
70+
Function FAppUpdate()
71+
If mainToWork = False
72+
If importedFile <> Null Then
73+
FAppWork()
74+
mainToWork = True
75+
EndIf
76+
EndIf
77+
EndFunction
78+
EndType
79+
80+
FAppMain()
81+
82+
Function FAppMain()
83+
'Create main app window
84+
TAppGUI.mainWindow = CreateWindow("CCCP Bender v0.1",DesktopWidth()/2-150,DesktopHeight()/2-180,300,360,Null,WINDOW_TITLEBAR)
85+
86+
'TAppGUI.mainWindowLabel = CreateLabel("",0,0,GadgetWidth(TAppGUI.mainWindow),100,TAppGUI.mainWindow,LABEL_LEFT)
87+
88+
TAppGUI.mainWindowButtonPanel = CreatePanel(GadgetWidth(TAppGUI.mainWindow)/2-80,10,150,97,TAppGUI.mainWindow,PANEL_GROUP)
89+
TAppGUI.mainLoadButton = CreateButton("Load Sprite",GadgetWidth(TAppGUI.mainWindowButtonPanel)/2-70,0,130,30,TAppGUI.mainWindowButtonPanel,BUTTON_PUSH)
90+
TAppGUI.mainQuitButton = CreateButton("Quit",GadgetWidth(TAppGUI.mainWindowButtonPanel)/2-70,40,130,30,TAppGUI.mainWindowButtonPanel,BUTTON_PUSH)
91+
TAppGUI.mainAboutPanel = CreatePanel(GadgetWidth(TAppGUI.mainWindow)/2-143,125,280,200,TAppGUI.mainWindow,PANEL_GROUP," About : ")
92+
TAppGUI.mainAboutTextbox = CreateTextArea(5,5,GadgetWidth(TAppGUI.mainAboutPanel)-20,GadgetHeight(TAppGUI.mainAboutPanel)-30,TAppGUI.mainAboutPanel,TEXTAREA_WORDWRAP|TEXTAREA_READONLY)
93+
'About textbox content
94+
SetGadgetText(TAppGUI.mainAboutTextbox,"Welcome to the CCCP Bender utility!~n~nIt's purpose is to make the life of modders easier by automagically generating bent limb frames.~n~nThe CC Bender was originally created by Arne Jansson (AndroidArts), the man behind all the Cortex Command artwork.~nThe CCCommunityProject Bender, however, is a brand new tool that allows more control and convenience For the modder (hopefully).~n~nThis tool utilizes Arne's original limb bend code, but also allows loading and saving sprites, along with other settings.~n~nCreated by MaximDude using BlitzMax MaxIDE 1.52~nCCCP Bender version 0.1 - 17 Aug 2019")
95+
EndFunction
96+
97+
Function FAppWork()
98+
'Create workspace window
99+
TAppGUI.workWindow = CreateWindow("CCCP Bender v0.1 - Editor",DesktopWidth()/2-152,DesktopHeight()/2-222,305,455,Null,WINDOW_TITLEBAR)
100+
TAppGUI.workWindowButtonPanel = CreatePanel(10,7,280,57,TAppGUI.workWindow,PANEL_GROUP)
101+
TAppGUI.workLoadButton = CreateButton("Load",5,0,80,30,TAppGUI.workWindowButtonPanel,BUTTON_PUSH)
102+
TAppGUI.workSaveButton = CreateButton("Save",95,0,80,30,TAppGUI.workWindowButtonPanel,BUTTON_PUSH)
103+
TAppGUI.workQuitButton = CreateButton("Quit",185,0,80,30,TAppGUI.workWindowButtonPanel,BUTTON_PUSH)
104+
'Create workspace settings panel
105+
TAppGUI.settingsPalel = CreatePanel(10,73,280,87,TAppGUI.workWindow,PANEL_GROUP," Settings : ")
106+
TAppGUI.settingsScaleTextbox = CreateTextField(80,12,30,20,TAppGUI.settingsPalel)
107+
TAppGUI.settingFramesTextbox = CreateTextField(190,12,30,20,TAppGUI.settingsPalel)
108+
TAppGUI.settingsColorRTextbox = CreateTextField(80,42,30,20,TAppGUI.settingsPalel)
109+
TAppGUI.settingsColorGTextbox = CreateTextField(135,42,30,20,TAppGUI.settingsPalel)
110+
TAppGUI.settingsColorBTextbox = CreateTextField(190,42,30,20,TAppGUI.settingsPalel)
111+
'Create workspace settings labels
112+
TAppGUI.settingsScaleLabel = CreateLabel("Scale:",10,15,50,20,TAppGUI.settingsPalel,LABEL_LEFT)
113+
TAppGUI.settingsFramesLabel = CreateLabel("Frames:",120,15,50,20,TAppGUI.settingsPalel,LABEL_LEFT)
114+
TAppGUI.settingsColorLabel = CreateLabel("BG Color:",10,45,50,20,TAppGUI.settingsPalel,LABEL_LEFT)
115+
TAppGUI.settingsColorRLabel = CreateLabel("R:",65,45,50,20,TAppGUI.settingsPalel,LABEL_LEFT)
116+
TAppGUI.settingsColorGLabel = CreateLabel("G:",120,45,50,20,TAppGUI.settingsPalel,LABEL_LEFT)
117+
TAppGUI.settingsColorBLabel = CreateLabel("B:",175,45,50,20,TAppGUI.settingsPalel,LABEL_LEFT)
118+
'Settings textboxes default values
119+
SetGadgetText(TAppGUI.settingsScaleTextbox,SCALE)
120+
SetGadgetText(TAppGUI.settingFramesTextbox,FRAMES)
121+
SetGadgetText(TAppGUI.settingsColorRTextbox,BACKGROUND_RED)
122+
SetGadgetText(TAppGUI.settingsColorGTextbox,BACKGROUND_GREEN)
123+
SetGadgetText(TAppGUI.settingsColorBTextbox,BACKGROUND_BLUE)
124+
125+
'Create instructions panel
126+
TAppGUI.workHelpPanel = CreatePanel(10,170,280,247,TAppGUI.workWindow,PANEL_GROUP," Instructions : ")
127+
TAppGUI.workHelpTextbox = CreateTextArea(5,5,GadgetWidth(TAppGUI.workHelpPanel)-20,GadgetHeight(TAppGUI.workHelpPanel)-30,TAppGUI.workHelpPanel,TEXTAREA_WORDWRAP|TEXTAREA_READONLY)
128+
'Instructions textbox content
129+
SetGadgetText(TAppGUI.workHelpTextbox,"TBA");
130+
131+
'Delete no longer used MainWindow
132+
FreeGadget(TAppGUI.mainWindow)
133+
EndFunction
134+
135+
While True
136+
TAppGUI.FAppUpdate()
137+
138+
'Print appState
139+
'Print SCALE
140+
'Print FRAMES
141+
'Print importedFile
142+
143+
WaitEvent
144+
'Print CurrentEvent.ToString()
145+
146+
'Event responses
147+
148+
If TAppGUI.mainToWork = False Then
149+
Select EventID()
150+
'Quitting
151+
Case EVENT_WINDOWCLOSE, EVENT_APPTERMINATE
152+
End
153+
Case EVENT_GADGETACTION
154+
Select EventSource()
155+
'Quitting
156+
Case TAppGUI.mainQuitButton
157+
End
158+
'Loading
159+
Case TAppGUI.mainLoadButton
160+
importedFile = RequestFile("Select graphic file to open",fileFilers)
161+
EndSelect
162+
EndSelect
163+
ElseIf TAppGUI.mainToWork = True Then
164+
165+
'Quitting
166+
If quitResult Then
167+
End
168+
EndIf
169+
170+
Select EventID()
171+
'Quitting confirm
172+
Case EVENT_WINDOWCLOSE, EVENT_APPTERMINATE
173+
quitResult = Confirm("Quit program?")
174+
175+
Case EVENT_GADGETACTION
176+
Select EventSource()
177+
'Quitting confirm
178+
Case TAppGUI.workQuitButton
179+
quitResult = Confirm("Quit program?")
180+
'Loading
181+
Case TAppGUI.workLoadButton
182+
importedFile = RequestFile("Select graphic file to open",fileFilers)
183+
184+
'Saving
185+
Case TAppGUI.workSaveButton
186+
RequestFile("Save graphic file",fileFilers,True)
187+
188+
'Settings textbox input
189+
Case TAppGUI.settingsScaleTextbox
190+
SCALE = GadgetText(TAppGUI.settingsScaleTextbox).ToInt()
191+
Case TAppGUI.settingFramesTextbox
192+
FRAMES = GadgetText(TAppGUI.settingFramesTextbox).ToInt()
193+
Case TAppGUI.settingsColorRTextbox
194+
BACKGROUND_RED = GadgetText(TAppGUI.settingsColorRTextbox).ToInt()
195+
Case TAppGUI.settingsColorGTextbox
196+
BACKGROUND_GREEN = GadgetText(TAppGUI.settingsColorGTextbox).ToInt()
197+
Case TAppGUI.settingsColorBTextbox
198+
BACKGROUND_BLUE = GadgetText(TAppGUI.settingsColorBTextbox).ToInt()
199+
EndSelect
200+
EndSelect
201+
EndIf
202+
Wend

0 commit comments

Comments
 (0)