IceDesign GUI designer

Applications, Games, Tools, User libs and useful stuff coded in PureBasic
User avatar
ChrisR
Addict
Addict
Posts: 1538
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: IceDesign GUI designer

Post by ChrisR »

Joe wrote: Sun Dec 07, 2025 6:44 pm Ahh, I've to include to get rid off :D
No worries, but that's not how you should look at it :wink:
In the previous example, if you Compile/Run YourForm.pb, it is the main file and #PB_Compiler_IsMainFile = 1
And if you compil MainFile.pb, YourForm.pb is not the the main file and #PB_Compiler_IsMainFile = 0. The code in YourForm.pb after CompilerIf #PB_Compiler_IsMainFile is not taken into account by the compiler in this case, it is not the the main file.
User avatar
ChrisR
Addict
Addict
Posts: 1538
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: IceDesign GUI designer

Post by ChrisR »

IceDesign has been updated in version 2.3.9
  • “Bind Events in an IncludeFile” works also now if the Bind Event property is enabled for one or more Gadgets and not just as a sub-option of "Bind All Gadgets Events"
  • Add the #SS_Notify control style for TextGadgets
Joe
New User
New User
Posts: 4
Joined: Thu Oct 04, 2018 10:57 am

Re: IceDesign GUI designer

Post by Joe »

First of all - thank you Chris for your quick help and the updates!

“Bind Events in an IncludeFile” Since these file gets overwritten each time the form code is generated, it's more or less useless (my understanding of handling the file:) ) These Procedures are also handled in the Mainfile.
If you can put
XIncludeFile "frmMain_Event.pb"
under the "CompilerIf #PB_Compiler_IsMainFile" section, then I don't have to edit the generated form anymore ...
... I've just to include the generated form file after the declarations in the main file.

Cheers, Joe
User avatar
ChrisR
Addict
Addict
Posts: 1538
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: IceDesign GUI designer

Post by ChrisR »

It's a very good idea Joe, Thanks :)
I'll do it by leaving the XIncludeFile at the same place, without moving it, that's where we normally expect to see it.

Code: Select all

CompilerIf #PB_Compiler_IsMainFile
  XIncludeFile "frmMain_Event.pb"
CompilerEndIf
User avatar
ChrisR
Addict
Addict
Posts: 1538
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: IceDesign GUI designer

Post by ChrisR »

ChrisR wrote: Mon Dec 08, 2025 11:14 am It's a very good idea Joe, Thanks :)
I'll do it by leaving the XIncludeFile at the same place, without moving it, that's where we normally expect to see it.
Actually, no, it wouldn't suit everyone
It would not be good for those who use frmMain_Event.pb and compile from a main file, as the event procedures would be missing
But I'll think about it, based on your idea :)
Clanzer
New User
New User
Posts: 8
Joined: Thu Sep 04, 2025 5:05 pm

Re: IceDesign GUI designer

Post by Clanzer »

Ah just realised the font re-size does not work for Cross Platform and only windows :(
User avatar
ChrisR
Addict
Addict
Posts: 1538
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: IceDesign GUI designer

Post by ChrisR »

Yes, sorry, but it's only developed for Windows :?
I only have an Ubuntu in virtual machine that I rarely use, and I don't know anything about Bash, sudo, or APIs. I also have an old Mac in a VM, but it's super super slow.
So I don't want to develop and test for those platforms.
And I'm not a big fan of using all macros to bypass the internal function, like LoadFont,.. also, I don't know how I could retrieve the default font from a Gadget without APIs.
In short, In ResizeHelper.pbi, I need the equivalent of GetGadgetFontInfo(Gadget, *GadgetFont.GadgetFonts) for Linux and Mac but I need the help of experts for this.

Perhaps you could try mk-soft's ScaleGadgets module with all those macros :wink: and see if it fits your needs.
User avatar
ChrisR
Addict
Addict
Posts: 1538
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: IceDesign GUI designer

Post by ChrisR »

IceDesign has been updated in version 2.4.0
  • Add the option “Keep Bind Procedures and EventLoop” in Settings

    Keep changes made in the source code for bind procedures and the event loop.

    To keep the changes made to the event loop, it is important to keep both flags: ";IceKeepEventLoop" and ";EndIceKeepEventLoop" in the source code. Otherwise, the event loop will be regenerated.

    This option is enabled when creating code for the "Save and Open in a New Tab" or "Save the Code As" options.
    The generated code for Preview, Editor, "Copy to Clipboard," and "Open a Temp File in a New Tab"
    is the default generated code, without taking into account any modifications made to the source file.

    This means you can modify the event loop, the Bind Gadget Event procedures, in the source file or in an included file, without worrying about losing your added code. Short demo

Image

Happy holiday season :)
User avatar
blueb
Addict
Addict
Posts: 1124
Joined: Sat Apr 26, 2003 2:15 pm
Location: Cuernavaca, Mexico

Re: IceDesign GUI designer

Post by blueb »

Thanks Chris, this is a nice gift.

Have a happy holiday season! :D
- It was too lonely at the top.

System : PB 6.21(x64) and Win 11 Pro (x64)
Hardware: AMD Ryzen 9 5900X w/64 gigs Ram, AMD RX 6950 XT Graphics w/16gigs Mem
User avatar
ChrisR
Addict
Addict
Posts: 1538
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: IceDesign GUI designer

Post by ChrisR »

IceDesign has been updated in version 2.4.2
  • Add the FrameGadget #PB_Frame_Container.
    For IceDesign, it is seen as a new Container Gadget, distinct from the Frame Gadget.
    In the list of controls, we have both FrameGadget and FrameContainerGadget. Once created, it is not possible to switch between them.
    As it is done for the CanvasGadget and the CanvasContainerGadget
  • ObjectTheme updated to version 1.6.2, add StartPanel Theme for the Listicon and ExplorerList Gadget header.
User avatar
le_magn
Enthusiast
Enthusiast
Posts: 297
Joined: Wed Aug 24, 2005 12:11 pm
Location: Italia

Re: IceDesign GUI designer

Post by le_magn »

Thank you Chris for the update!!!!
Image
BarryG
Addict
Addict
Posts: 4305
Joined: Thu Apr 18, 2019 8:17 am

Re: IceDesign GUI designer

Post by BarryG »

ChrisR wrote: Thu Dec 18, 2025 1:33 pm
  • Add the option “Keep Bind Procedures and EventLoop” in Settings

    Keep changes made in the source code for bind procedures and the event loop.
Thanks, ChrisR. I finally bought a license (and also tipped you) due to this. :)
User avatar
ChrisR
Addict
Addict
Posts: 1538
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: IceDesign GUI designer

Post by ChrisR »

Thank you BarryG, it's generous and really appreciated :)
I already had the idea for ​​“Keep Bind Procedures and EventLoop” without going any further, but I thought about it again following your request.
User avatar
blueb
Addict
Addict
Posts: 1124
Joined: Sat Apr 26, 2003 2:15 pm
Location: Cuernavaca, Mexico

Re: IceDesign GUI designer

Post by blueb »

I downloaded the new version, and to see that it actually updated, I ran the program and looked for the version number. I expected to see v2.4.2 in the settings. EMPTY. I happened to have a JPG (to remember my default settings) and I found: v2.2.2 beside the license area! I thought i was going insane (more than usual. haha)
Could we get this back.. it's useful. Thanks
- It was too lonely at the top.

System : PB 6.21(x64) and Win 11 Pro (x64)
Hardware: AMD Ryzen 9 5900X w/64 gigs Ram, AMD RX 6950 XT Graphics w/16gigs Mem
User avatar
ChrisR
Addict
Addict
Posts: 1538
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: IceDesign GUI designer

Post by ChrisR »

Hi blueb,
That's strange, the version number is displayed correctly here v2.4.2, and I haven't made any changes to it since it was set up.
It is retrieved from the exe properties, file version.
Does anyone else have this?
Post Reply