IceDesign GUI designer
Re: IceDesign GUI designer
It's just frustrating to see these false alarms and unfortunately not much I (we) can do.
On VirusTotal, it's not too bad for the x64 version, I only have 2, 3 or 4 (already too much) false positives for minor AV with each new version, but a lot more false alarms for the x86 version since PB6.10, it's a real problem!
It looks good for Panda on VirusTotal! maybe you can submit IceDesign for malware analysis to https://www.pandasecurity.com/en/support/contact?
It needs a customer number, I don't have
On VirusTotal, it's not too bad for the x64 version, I only have 2, 3 or 4 (already too much) false positives for minor AV with each new version, but a lot more false alarms for the x86 version since PB6.10, it's a real problem!
It looks good for Panda on VirusTotal! maybe you can submit IceDesign for malware analysis to https://www.pandasecurity.com/en/support/contact?
It needs a customer number, I don't have
- Distorted Pixel
- Enthusiast
- Posts: 303
- Joined: Sun Aug 29, 2021 4:34 am
Re: IceDesign GUI designer
I will definitely submit it to Panda today after work.ChrisR wrote: Tue Jun 18, 2024 2:45 pm It's just frustrating to see these false alarms and unfortunately not much I (we) can do.
On VirusTotal, it's not too bad for the x64 version, I only have 2, 3 or 4 (already too much) false positives for minor AV with each new version, but a lot more false alarms for the x86 version since PB6.10, it's a real problem!
It looks good for Panda on VirusTotal! maybe you can submit IceDesign for malware analysis to https://www.pandasecurity.com/en/support/contact?
It needs a customer number, I don't have
To be popular is way to much work. I just want to be me, myself and I. Oh no, does that mean I'm bipolar? 
No one cares how much you know until they know how much you care

No one cares how much you know until they know how much you care
- Distorted Pixel
- Enthusiast
- Posts: 303
- Joined: Sun Aug 29, 2021 4:34 am
Re: IceDesign GUI designer
@Chris
I submitted the file and am now awaiting a response. I will let you know what they say.
I submitted the file and am now awaiting a response. I will let you know what they say.
To be popular is way to much work. I just want to be me, myself and I. Oh no, does that mean I'm bipolar? 
No one cares how much you know until they know how much you care

No one cares how much you know until they know how much you care
Re: IceDesign GUI designer
Hi @Chris, please consider to add option for create temporary preview executable in the source directory, this would save me from having to go crazy with the antivirus every time 


Re: IceDesign GUI designer
Yes, I'll take it into consideration. would only be available if the form has already been saved to have the path.
Quickly, it would only be available if the form has already been saved, to have the path to create the temporary files (~xxx123.pb and exe) for the preview.
Quickly, it would only be available if the form has already been saved, to have the path to create the temporary files (~xxx123.pb and exe) for the preview.
Re: IceDesign GUI designer
Perfect thank's ChrisChrisR wrote: Wed Sep 11, 2024 5:58 pm Yes, I'll take it into consideration. would only be available if the form has already been saved to have the path.
Quickly, it would only be available if the form has already been saved, to have the path to create the temporary files (~xxx123.pb and exe) for the preview.


Re: IceDesign GUI designer
IceDesign has been updated in version 2.2.1
- New option to create the preview (~xxx123.pb and exe) in the source directory.
It is only available if the form has already been saved, to get the path to the source directory.
Temporary source ~xxx123.pb and executable files are automatically deleted.
- Gadget images are now loaded from the DataSection. SilkTheme_Light.zip is no longer included as Scintilla.dll (x64/x86), which are no longer used since PB6.10.
- If IceDesign is placed in a write-protected folder (e.g. C:\Program Files\PureBasic\Tools\IceDesign.exe), the IceDesign.ini settings file is created and used from the %\AppData%\IceDesign folder.
As it's completely portable, here's a short demo to add it to the PureBasic IDE toolbar Demo_Tool_ToolBar
Last edited by ChrisR on Mon Sep 16, 2024 11:24 am, edited 1 time in total.
Re: IceDesign GUI designer
Bug using object theme?
Hi @Cris in this piece of code generated by IceDesign,i add only button event and hidewindow() command, if setobjectTheme() is present and i close windows clicking on "X", debug is executed and this is not normal, if i not use objecttheme program close correct:
Hi @Cris in this piece of code generated by IceDesign,i add only button event and hidewindow() command, if setobjectTheme() is present and i close windows clicking on "X", debug is executed and this is not normal, if i not use objecttheme program close correct:
Code: Select all
CompilerIf #PB_Compiler_IsMainFile
;- Main Program
SetObjectTheme(#ObjectTheme_LightBlue)
If Open_Window_Main()
HideWindow(#Window_Main,0)
;- Event Loop
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Quit = #True
;-> Event Gadget
Case #PB_Event_Gadget
Select EventGadget()
Case #Btn_Extract
Debug "EXECUTED"
EndSelect
EndSelect
Until Quit
EndIf
CompilerEndIf

Re: IceDesign GUI designer
A bug indeed, well seen and thank you for pointing it out.
It is linked to Close a minimized window (Win) for PB versions before 6.10 but the Postevent() was wrong, I fixed it.
IceDesign has been updated in version 2.2.2
It is linked to Close a minimized window (Win) for PB versions before 6.10 but the Postevent() was wrong, I fixed it.
IceDesign has been updated in version 2.2.2
Re: IceDesign GUI designer
Thank's ChrisChrisR wrote: Mon Sep 16, 2024 11:25 am A bug indeed, well seen and thank you for pointing it out.
It is linked to Close a minimized window (Win) for PB versions before 6.10 but the Postevent() was wrong, I fixed it.
IceDesign has been updated in version 2.2.2


- Distorted Pixel
- Enthusiast
- Posts: 303
- Joined: Sun Aug 29, 2021 4:34 am
Re: IceDesign GUI designer
Hi,
Using ObjectTheme enabled in IceDesign.
Is there a way to put a background image behind ObjectTheme buttons? Every time I try, no matter what I try, the background is black even though I put a background image in a gadget or in the window.
I have tried editing the ObjectTheme.pbi file, disabling the ImageGadget, putting image in the window and maybe other things I just can't remember because I'm at work at the moment lol
Using ObjectTheme enabled in IceDesign.
Is there a way to put a background image behind ObjectTheme buttons? Every time I try, no matter what I try, the background is black even though I put a background image in a gadget or in the window.
I have tried editing the ObjectTheme.pbi file, disabling the ImageGadget, putting image in the window and maybe other things I just can't remember because I'm at work at the moment lol
To be popular is way to much work. I just want to be me, myself and I. Oh no, does that mean I'm bipolar? 
No one cares how much you know until they know how much you care

No one cares how much you know until they know how much you care
Re: IceDesign GUI designer
Hi,
I don't know how you put a background image behind a Gadget.
For the Window, You can do it by adding a disabled image, eg:
if you have a PanelGadget, you need to remove the style to display it over the disabled image:
#
Otherwise, if you use the "Background Image" option in IceDesign:
It doesn't work with ObjectTheme, because of SetWindowColor() which overwrites the background image (it probably also uses GCL_HBRBACKGROUND!).
However, it should work by commenting on lines 1399 and 1524 ;_PB(SetWindowColor)...
I don't know how you put a background image behind a Gadget.
For the Window, You can do it by adding a disabled image, eg:
Code: Select all
If OpenWindow(#Window_0, X, Y, Width, Height, "Title", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_ScreenCentered)
ImageGadget(#Img_1, 0, 0, Width, Height, ImageID(#Imag_Background))
DisableGadget(#Img_1, #True)
Code: Select all
PanelGadget(#Panel_1, 10, 10, 300, 200)
SetWindowLongPtr_(GadgetID(#Panel_1), #GWL_STYLE, GetWindowLongPtr_(GadgetID(#Panel_1), #GWL_STYLE) &~ #WS_CLIPSIBLINGS)
#
Otherwise, if you use the "Background Image" option in IceDesign:
Code: Select all
Brush_Background = CreatePatternBrush_(ImageID(#Imag_Background))
If Brush_Background
SetClassLongPtr_(WindowID(#Window_0), #GCL_HBRBACKGROUND, Brush_Background)
InvalidateRect_(WindowID(#Window_0), #Null, #True)
EndIf
However, it should work by commenting on lines 1399 and 1524 ;_PB(SetWindowColor)...
- Distorted Pixel
- Enthusiast
- Posts: 303
- Joined: Sun Aug 29, 2021 4:34 am
Re: IceDesign GUI designer
I'm sorry, maybe I explained it bad.ChrisR wrote: Tue Sep 17, 2024 10:46 pm Hi,
I don't know how you put a background image behind a Gadget.
I have tried putting an image in a ImageGadget and disabling it. I wasn't meaning I put an image behind a gadget. So yes, I have tried the image in a ImageGadget and disabling it. Also, in the settings tab of IceDesign near the bottom it has the option to add an image to the window, is the other way I added the image.
I believe I also tried the commenting of the SetWindowColor.
I will give it another try. I will post back results. Thank you Chris for your examples. They will probably help
To be popular is way to much work. I just want to be me, myself and I. Oh no, does that mean I'm bipolar? 
No one cares how much you know until they know how much you care

No one cares how much you know until they know how much you care
- Distorted Pixel
- Enthusiast
- Posts: 303
- Joined: Sun Aug 29, 2021 4:34 am
Re: IceDesign GUI designer
@ChrisR
Explain this one LOL. All I did was load a previously made icef file into the latest version of IceDesign, add a ButtonGadget and ran it with and without the CompilerIf option and both showed the added blue button that is showing out of place to see if it would work and it did. why it works now I have no clue. I didn't have to do anything you suggested

Generated Code:
Explain this one LOL. All I did was load a previously made icef file into the latest version of IceDesign, add a ButtonGadget and ran it with and without the CompilerIf option and both showed the added blue button that is showing out of place to see if it would work and it did. why it works now I have no clue. I didn't have to do anything you suggested

Generated Code:
Code: Select all
;- Top
; -----------------------------------------------------------------------------
; Name:
; Description:
; Author:
; Date: 2024-09-18
; Version:
; PB-Version:
; OS:
; Credit:
; Forum:
; Created by: IceDesign
; -----------------------------------------------------------------------------
CompilerIf #PB_Compiler_IsMainFile
EnableExplicit
CompilerEndIf
;- Enumerations
Enumeration Window
#Window_EFS_Settings
EndEnumeration
Enumeration Gadgets
#Btn_1
#Btn_Autosave
#Btn_Full_Screen
#Btn_Music
#Btn_Sound_Effects
#Btn_Text_Commentary
#Btn_Voice_Commentary
#Btn_Weather_Conditions
#Btn_Window_1200_x_800
#Frame_AutoSaveSettings
#Frame_CommSettings
#Frame_SoundSettings
#Frame_WeathCondSettings
#Frame_WindowSettings
#Img_EFF_Settings
#Txt_AutoSave
#Txt_CommSettings
#Txt_EFS_Settings_Title
#Txt_SoundSettings
#Txt_WeatherConditions
#Txt_WindowSettings
EndEnumeration
Enumeration Images
#Imag_EFS_Preferences
EndEnumeration
Enumeration Fonts
#Font_Mx437_HP_100LX_6x8_8
#Font_Mx437_HP_100LX_6x8_10
#Font_Mx437_HP_100LX_6x8_18
EndEnumeration
CompilerIf Not Defined(GadgetImages, #PB_Structure)
Structure GadgetImages
Image.i
PressedImage.i
Width.i
Height.i
EndStructure
CompilerEndIf
;- Load Images
UsePNGImageDecoder()
CatchImage(#Imag_EFS_Preferences, ?Imag_EFS_Preferences)
;- Load Fonts
LoadFont(#Font_Mx437_HP_100LX_6x8_8, "@Mx437 HP 100LX 6x8", 8)
LoadFont(#Font_Mx437_HP_100LX_6x8_10, "@Mx437 HP 100LX 6x8", 10)
LoadFont(#Font_Mx437_HP_100LX_6x8_18, "@Mx437 HP 100LX 6x8", 18)
Global Quit
;- Declare
Declare Event_Img_EFF_Settings()
Declare Event_Btn_1()
Declare Event_Btn_Voice_Commentary()
Declare Event_Btn_Window_1200_x_800()
Declare Event_Btn_Text_Commentary()
Declare Event_Btn_Full_Screen()
Declare Event_Btn_Autosave()
Declare Event_Btn_Weather_Conditions()
Declare Event_Btn_Sound_Effects()
Declare Event_Btn_Music()
CompilerIf Not Defined(GadgetImages, #PB_Structure)
Declare ResizeGadgetImage(Gadget, OriginalImage, OriginalPressedImage = #PB_Ignore)
CompilerEndIf
Declare Resize_Window_EFS_Settings()
Declare Event_Close_Window_EFS_Settings()
Declare Open_Window_EFS_Settings(X = 0, Y = 0, Width = 1200, Height = 800)
XIncludeFile "ObjectTheme.pbi"
UseModule ObjectTheme
XIncludeFile "JellyButtons.pbi"
Procedure Event_Img_EFF_Settings()
Select EventType()
Case #PB_EventType_LeftClick
EndSelect
EndProcedure
Procedure Event_Btn_1()
Select EventType()
Case #PB_EventType_LeftClick
MessageRequester("Information", "Button Name : #Btn_1" +#CRLF$+#CRLF$+ "Text : " + GetGadgetText(EventGadget()))
EndSelect
EndProcedure
Procedure Event_Btn_Voice_Commentary()
Select EventType()
Case #PB_EventType_LeftClick
MessageRequester("Information", "Button Name : #Btn_Voice_Commentary" +#CRLF$+#CRLF$+ "Text : " + GetGadgetText(EventGadget()))
EndSelect
EndProcedure
Procedure Event_Btn_Window_1200_x_800()
Select EventType()
Case #PB_EventType_LeftClick
MessageRequester("Information", "Button Name : #Btn_Window_1200_x_800" +#CRLF$+#CRLF$+ "Text : " + GetGadgetText(EventGadget()))
EndSelect
EndProcedure
Procedure Event_Btn_Text_Commentary()
Select EventType()
Case #PB_EventType_LeftClick
MessageRequester("Information", "Button Name : #Btn_Text_Commentary" +#CRLF$+#CRLF$+ "Text : " + GetGadgetText(EventGadget()))
EndSelect
EndProcedure
Procedure Event_Btn_Full_Screen()
Select EventType()
Case #PB_EventType_LeftClick
MessageRequester("Information", "Button Name : #Btn_Full_Screen" +#CRLF$+#CRLF$+ "Text : " + GetGadgetText(EventGadget()))
EndSelect
EndProcedure
Procedure Event_Btn_Autosave()
Select EventType()
Case #PB_EventType_LeftClick
MessageRequester("Information", "Button Name : #Btn_Autosave" +#CRLF$+#CRLF$+ "Text : " + GetGadgetText(EventGadget()))
EndSelect
EndProcedure
Procedure Event_Btn_Weather_Conditions()
Select EventType()
Case #PB_EventType_LeftClick
MessageRequester("Information", "Button Name : #Btn_Weather_Conditions" +#CRLF$+#CRLF$+ "Text : " + GetGadgetText(EventGadget()))
EndSelect
EndProcedure
Procedure Event_Btn_Sound_Effects()
Select EventType()
Case #PB_EventType_LeftClick
MessageRequester("Information", "Button Name : #Btn_Sound_Effects" +#CRLF$+#CRLF$+ "Text : " + GetGadgetText(EventGadget()))
EndSelect
EndProcedure
Procedure Event_Btn_Music()
Select EventType()
Case #PB_EventType_LeftClick
MessageRequester("Information", "Button Name : #Btn_Music" +#CRLF$+#CRLF$+ "Text : " + GetGadgetText(EventGadget()))
EndSelect
EndProcedure
CompilerIf Not Defined(ResizeGadgetImage, #PB_Procedure)
Procedure ResizeGadgetImage(Gadget, OriginalImage, OriginalPressedImage = #PB_Ignore)
Protected Image, Width, Height
Static NewMap GadgetImage.GadgetImages()
If IsGadget(Gadget) And IsImage(OriginalImage)
Width = DesktopScaledX(GadgetWidth(Gadget)) : Height = DesktopScaledY(GadgetHeight(Gadget))
If Width > 0 And Height > 0
If GadgetImage(Str(Gadget))\Width <> Width Or GadgetImage(Str(Gadget))\Height <> Height
GadgetImage()\Width = Width : GadgetImage()\Height = Height
Image = CopyImage(OriginalImage, #PB_Any)
If Image
ResizeImage(Image, Width, Height)
Select GadgetType(Gadget)
Case #PB_GadgetType_ButtonImage
SetGadgetAttribute(Gadget, #PB_Button_Image, ImageID(Image))
Case #PB_GadgetType_Image
SetGadgetState(Gadget, ImageID(Image))
EndSelect
If GadgetImage()\Image And IsImage(GadgetImage()\Image)
FreeImage(GadgetImage()\Image)
EndIf
GadgetImage()\Image = Image
EndIf
If GadgetType(Gadget) = #PB_GadgetType_ButtonImage And IsImage(OriginalPressedImage)
Image = CopyImage(OriginalPressedImage, #PB_Any)
If Image
ResizeImage(Image, Width, Height)
SetGadgetAttribute(Gadget, #PB_Button_PressedImage, ImageID(Image))
If GadgetImage()\PressedImage And IsImage(GadgetImage()\PressedImage)
FreeImage(GadgetImage()\PressedImage)
EndIf
GadgetImage()\PressedImage = Image
EndIf
EndIf
EndIf ; If GadgetImage(Str(Gadget))\Width <> Width Or GadgetImage(Str(Gadget))\Height <> Height
EndIf ; If Width > 0 And Height > 0
EndIf ; If IsGadget(Gadget) And IsImage(OriginalImage)
EndProcedure
CompilerEndIf
Procedure Resize_Window_EFS_Settings()
Protected Window_EFS_Settings_WidthIni = 1200, Window_EFS_Settings_HeightIni = 800
Protected ScaleX.f, ScaleY.f
ScaleX = WindowWidth(#Window_EFS_Settings) / Window_EFS_Settings_WidthIni : ScaleY = WindowHeight(#Window_EFS_Settings) / Window_EFS_Settings_HeightIni
ResizeGadget(#Img_EFF_Settings, ScaleX * 0, ScaleY * 0, ScaleX * 1200, ScaleY * 800)
ResizeGadgetImage(#Img_EFF_Settings, #Imag_EFS_Preferences)
ResizeGadget(#Txt_EFS_Settings_Title, ScaleX * 478, ScaleY * 20, ScaleX * 244, ScaleY * 28)
ResizeGadget(#Btn_1, ScaleX * 386, ScaleY * 154, ScaleX * 100, ScaleY * 35)
ResizeGadget(#Frame_WindowSettings, ScaleX * 203, ScaleY * 245, ScaleX * 266, ScaleY * 106)
ResizeGadget(#Frame_CommSettings, ScaleX * 728, ScaleY * 245, ScaleX * 267, ScaleY * 106)
ResizeGadget(#Txt_CommSettings, ScaleX * 761, ScaleY * 257, ScaleX * 205, ScaleY * 17)
ResizeGadget(#Txt_WindowSettings, ScaleX * 231, ScaleY * 258, ScaleX * 210, ScaleY * 17)
ResizeGadget(#Btn_Voice_Commentary, ScaleX * 736, ScaleY * 282, ScaleX * 251, ScaleY * 25)
ResizeGadget(#Btn_Window_1200_x_800, ScaleX * 211, ScaleY * 283, ScaleX * 250, ScaleY * 25)
ResizeGadget(#Btn_Text_Commentary, ScaleX * 736, ScaleY * 317, ScaleX * 251, ScaleY * 25)
ResizeGadget(#Btn_Full_Screen, ScaleX * 211, ScaleY * 318, ScaleX * 250, ScaleY * 25)
ResizeGadget(#Frame_AutoSaveSettings, ScaleX * 467, ScaleY * 365, ScaleX * 267, ScaleY * 73)
ResizeGadget(#Txt_AutoSave, ScaleX * 510, ScaleY * 378, ScaleX * 181, ScaleY * 17)
ResizeGadget(#Btn_Autosave, ScaleX * 475, ScaleY * 403, ScaleX * 251, ScaleY * 25)
ResizeGadget(#Frame_SoundSettings, ScaleX * 203, ScaleY * 451, ScaleX * 266, ScaleY * 106)
ResizeGadget(#Frame_WeathCondSettings, ScaleX * 728, ScaleY * 451, ScaleX * 267, ScaleY * 73)
ResizeGadget(#Txt_WeatherConditions, ScaleX * 761, ScaleY * 463, ScaleX * 205, ScaleY * 17)
ResizeGadget(#Txt_SoundSettings, ScaleX * 257, ScaleY * 464, ScaleX * 160, ScaleY * 17)
ResizeGadget(#Btn_Weather_Conditions, ScaleX * 736, ScaleY * 488, ScaleX * 251, ScaleY * 25)
ResizeGadget(#Btn_Sound_Effects, ScaleX * 211, ScaleY * 489, ScaleX * 250, ScaleY * 25)
ResizeGadget(#Btn_Music, ScaleX * 211, ScaleY * 524, ScaleX * 250, ScaleY * 25)
EndProcedure
Procedure Event_Close_Window_EFS_Settings()
Quit = #True
EndProcedure
Procedure Open_Window_EFS_Settings(X = 0, Y = 0, Width = 1200, Height = 800)
If OpenWindow(#Window_EFS_Settings, X, Y, Width, Height, "European Football Simulator", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_ScreenCentered)
ImageGadget(#Img_EFF_Settings, 0, 0, 1200, 800, ImageID(#Imag_EFS_Preferences))
DisableGadget(#Img_EFF_Settings, #True)
TextGadget(#Txt_EFS_Settings_Title, 478, 20, 244, 28, "Game Settings", #PB_Text_Center | #SS_CenterImage)
SetGadgetColor(#Txt_EFS_Settings_Title, #PB_Gadget_BackColor, RGB(0, 0, 0))
SetGadgetColor(#Txt_EFS_Settings_Title, #PB_Gadget_FrontColor, RGB(255, 255, 0))
SetGadgetFont(#Txt_EFS_Settings_Title, FontID(#Font_Mx437_HP_100LX_6x8_18))
ButtonGadget(#Btn_1, 386, 154, 100, 35, "Button_1")
FrameGadget(#Frame_WindowSettings, 203, 245, 266, 106, "", #PB_Frame_Double)
SetGadgetFont(#Frame_WindowSettings, FontID(#Font_Mx437_HP_100LX_6x8_8))
FrameGadget(#Frame_CommSettings, 728, 245, 267, 106, "", #PB_Frame_Double)
SetGadgetFont(#Frame_CommSettings, FontID(#Font_Mx437_HP_100LX_6x8_8))
TextGadget(#Txt_CommSettings, 761, 257, 205, 17, "Commentary Settings:", #SS_CenterImage)
SetGadgetColor(#Txt_CommSettings, #PB_Gadget_BackColor, RGB(0, 0, 0))
SetGadgetColor(#Txt_CommSettings, #PB_Gadget_FrontColor, RGB(255, 255, 0))
SetGadgetFont(#Txt_CommSettings, FontID(#Font_Mx437_HP_100LX_6x8_10))
TextGadget(#Txt_WindowSettings, 231, 258, 210, 17, "Window Mode Settings:", #SS_CenterImage)
SetGadgetColor(#Txt_WindowSettings, #PB_Gadget_BackColor, RGB(0, 0, 0))
SetGadgetColor(#Txt_WindowSettings, #PB_Gadget_FrontColor, RGB(255, 255, 0))
SetGadgetFont(#Txt_WindowSettings, FontID(#Font_Mx437_HP_100LX_6x8_10))
JellyButton(#Btn_Voice_Commentary, 736, 282, 251, 25, "Voice Commentary On", RGB(0, 128, 0), RGB(255, 255, 0), #PB_Button_Toggle)
SetGadgetFont(#Btn_Voice_Commentary, FontID(#Font_Mx437_HP_100LX_6x8_10))
JellyButton(#Btn_Window_1200_x_800, 211, 283, 250, 25, "Window 1200 x 800 Off", RGB(255, 0, 0), RGB(255, 255, 0), #PB_Button_Toggle)
SetGadgetFont(#Btn_Window_1200_x_800, FontID(#Font_Mx437_HP_100LX_6x8_10))
JellyButton(#Btn_Text_Commentary, 736, 317, 251, 25, "Text Commentary Off", RGB(255, 0, 0), RGB(255, 255, 0), #PB_Button_Toggle)
SetGadgetFont(#Btn_Text_Commentary, FontID(#Font_Mx437_HP_100LX_6x8_10))
JellyButton(#Btn_Full_Screen, 211, 318, 250, 25, "Full Screen On", RGB(0, 128, 0), RGB(255, 255, 0), #PB_Button_Toggle)
SetGadgetFont(#Btn_Full_Screen, FontID(#Font_Mx437_HP_100LX_6x8_10))
FrameGadget(#Frame_AutoSaveSettings, 467, 365, 267, 73, "", #PB_Frame_Double)
SetGadgetFont(#Frame_AutoSaveSettings, FontID(#Font_Mx437_HP_100LX_6x8_8))
TextGadget(#Txt_AutoSave, 510, 378, 181, 17, "Autosave Settings:", #SS_CenterImage)
SetGadgetColor(#Txt_AutoSave, #PB_Gadget_BackColor, RGB(0, 0, 0))
SetGadgetColor(#Txt_AutoSave, #PB_Gadget_FrontColor, RGB(255, 255, 0))
SetGadgetFont(#Txt_AutoSave, FontID(#Font_Mx437_HP_100LX_6x8_10))
JellyButton(#Btn_Autosave, 475, 403, 251, 25, "Autosave On", RGB(0, 128, 0), RGB(255, 255, 0), #PB_Button_Toggle)
SetGadgetFont(#Btn_Autosave, FontID(#Font_Mx437_HP_100LX_6x8_10))
FrameGadget(#Frame_SoundSettings, 203, 451, 266, 106, "", #PB_Frame_Double)
SetGadgetFont(#Frame_SoundSettings, FontID(#Font_Mx437_HP_100LX_6x8_8))
FrameGadget(#Frame_WeathCondSettings, 728, 451, 267, 73, "", #PB_Frame_Double)
SetGadgetFont(#Frame_WeathCondSettings, FontID(#Font_Mx437_HP_100LX_6x8_8))
TextGadget(#Txt_WeatherConditions, 761, 463, 205, 17, "Weather Conditions:", #SS_CenterImage)
SetGadgetColor(#Txt_WeatherConditions, #PB_Gadget_BackColor, RGB(0, 0, 0))
SetGadgetColor(#Txt_WeatherConditions, #PB_Gadget_FrontColor, RGB(255, 255, 0))
SetGadgetFont(#Txt_WeatherConditions, FontID(#Font_Mx437_HP_100LX_6x8_10))
TextGadget(#Txt_SoundSettings, 257, 464, 160, 17, "Sound Settings:", #SS_CenterImage)
SetGadgetColor(#Txt_SoundSettings, #PB_Gadget_BackColor, RGB(0, 0, 0))
SetGadgetColor(#Txt_SoundSettings, #PB_Gadget_FrontColor, RGB(255, 255, 0))
SetGadgetFont(#Txt_SoundSettings, FontID(#Font_Mx437_HP_100LX_6x8_10))
JellyButton(#Btn_Weather_Conditions, 736, 488, 251, 25, "Weather Conditions On", RGB(0, 128, 0), RGB(255, 255, 0), #PB_Button_Toggle)
SetGadgetFont(#Btn_Weather_Conditions, FontID(#Font_Mx437_HP_100LX_6x8_10))
JellyButton(#Btn_Sound_Effects, 211, 489, 250, 25, "Sound Effects On", RGB(0, 128, 0), RGB(255, 255, 0), #PB_Button_Toggle)
SetGadgetFont(#Btn_Sound_Effects, FontID(#Font_Mx437_HP_100LX_6x8_10))
JellyButton(#Btn_Music, 211, 524, 250, 25, "Music On", RGB(0, 128, 0), RGB(255, 255, 0), #PB_Button_Toggle)
SetGadgetFont(#Btn_Music, FontID(#Font_Mx437_HP_100LX_6x8_10))
BindGadgetEvent(#Img_EFF_Settings, @Event_Img_EFF_Settings())
BindGadgetEvent(#Btn_1, @Event_Btn_1())
BindGadgetEvent(#Btn_Voice_Commentary, @Event_Btn_Voice_Commentary())
BindGadgetEvent(#Btn_Window_1200_x_800, @Event_Btn_Window_1200_x_800())
BindGadgetEvent(#Btn_Text_Commentary, @Event_Btn_Text_Commentary())
BindGadgetEvent(#Btn_Full_Screen, @Event_Btn_Full_Screen())
BindGadgetEvent(#Btn_Autosave, @Event_Btn_Autosave())
BindGadgetEvent(#Btn_Weather_Conditions, @Event_Btn_Weather_Conditions())
BindGadgetEvent(#Btn_Sound_Effects, @Event_Btn_Sound_Effects())
BindGadgetEvent(#Btn_Music, @Event_Btn_Music())
BindEvent(#PB_Event_SizeWindow, @Resize_Window_EFS_Settings(), #Window_EFS_Settings)
PostEvent(#PB_Event_SizeWindow, #Window_EFS_Settings, 0)
BindEvent(#PB_Event_CloseWindow, @Event_Close_Window_EFS_Settings(), #Window_EFS_Settings)
ProcedureReturn #True
EndIf
EndProcedure
CompilerIf #PB_Compiler_IsMainFile
;- Main Program
SetObjectTheme(#ObjectTheme_DarkBlue)
If Open_Window_EFS_Settings()
;- Event Loop
Repeat
Select WaitWindowEvent()
EndSelect
Until Quit
EndIf
CompilerEndIf
;- DataSection
DataSection
Imag_EFS_Preferences: : IncludeBinary "C:\Users\manua\Documents\IceDesign Projects\EFS\Images\EFS_Preferences.png"
EndDataSection
To be popular is way to much work. I just want to be me, myself and I. Oh no, does that mean I'm bipolar? 
No one cares how much you know until they know how much you care

No one cares how much you know until they know how much you care