IceDesign GUI designer

Applications, Games, Tools, User libs and useful stuff coded in PureBasic
The Gost
User
User
Posts: 11
Joined: Fri Jan 03, 2025 5:35 pm

Re: IceDesign GUI designer

Post by The Gost »

Wow, that's great! Did you do all the coding ? :shock:
It's amazing, you're really good !

What did you use, a special module or did you do it all yourself ?
How did you manage to make such a program ?

In any case, hats off to you, I'm impressed, and even septic (without being mean, eh :wink: )
such a level of programming isn't given to everyone to create this kind of thing. :|

Didn't you use the Editors Factory module to make this ?
Because I think the guy, Shadow Storm, says you can do that with his module.

In any case, your software is cool and it's well done and pretty, thanks. :D
User avatar
ChrisR
Addict
Addict
Posts: 1466
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: IceDesign GUI designer

Post by ChrisR »

Wow, thank you so much for this wonderful comment!
I'm pretty proud of the result and I think it's really very complete now, it's been a long long road going step by step.
But I'll try to remain humble, I don't come from a micro-computer development environment and I still have so much to learn.
Sometimes I feel very small when I see beautiful codes written by some experts around...

Otherwise, I did it all myself, without using the great Editors Factory.
But, on the other hand, using some others very nice modules written and shared by other guys: Property Gadget, ToolBarEx, PBEdit,...
with only a few adaptations and optimizations for my needs. See the license for acknowledgements :)
User avatar
ChrisR
Addict
Addict
Posts: 1466
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.2

  • Add “Enable CrossPatform Support” option to the settings, in the general section.
    With the option enabled, the additional features reserved for Windows only are removed, hidden:
    - Windows Constants, String Tip, Tab Order, ObjectTheme, Keep Window Size and Position, Window Transparency and Background Image.

    Note: With CrossPlatform option enabled, if you open an .icef form saved with CrossPatform disabled and containing Windows constants, string tip or tab order, these properties will be reset for the Design and will be overwritten if you save the form again.

    Note2: With CrossPlatform disabled (default), so, with the additional Windows features:
    - Properties or settings options using Windows Apis (Not CrossPlatform) have the suffix * (ex: String Tip*, ObjectTheme*)
    - And Windows Constants are well marked in the properties constants list. They are at the bottom and they start with a # (ex for buttons: #BS_Bottom, #BS_Top).
 
  • The procedures for binded Gadget events have been rewritten to use the EventType() set according to the Gadget type , e.g.

    Code: Select all

    Procedure Event_String_1()
      Select EventType()
        Case #PB_EventType_Focus
        Case #PB_EventType_Change
        Case #PB_EventType_LostFocus
      EndSelect
    EndProcedure
The Gost
User
User
Posts: 11
Joined: Fri Jan 03, 2025 5:35 pm

Re: IceDesign GUI designer

Post by The Gost »

Hello dear ChrisR,
Thank you for your message.

Your message touches me, and to me, you are a great programmer. I’d like to remind you that not everyone can do what you’ve done, even if it was with the help of the amazing Editors Factory module, and you did it without it!

I really like Editors Factory because it makes certain things easier, especially, but not only, managing objects on a canvas, knowing everything that happens on them, etc. But it doesn’t do everything. Anyway.

Creating the kind of editor you made requires considerable energy and also a level of rigor that some people simply cannot maintain!

I’m a fan.

You can be very proud of yourself—you deserve it!
Good luck to you, goodbye.
PBJim
Enthusiast
Enthusiast
Posts: 294
Joined: Fri Jan 19, 2024 11:56 pm

Re: IceDesign GUI designer

Post by PBJim »

In view of the glowing comments, would it be possible to see an example or obtain a quick demo of ChrisR's editor without needing to obtain the software? Unfortunately, being commercial developers as we are, we're not in a position to use the tools, but nevertheless it's still of interest to know what's available.
Last edited by PBJim on Thu Jan 16, 2025 9:17 pm, edited 1 time in total.
wro
User
User
Posts: 14
Joined: Tue Mar 23, 2021 1:19 pm

Re: IceDesign GUI designer

Post by wro »

Hello Chris,

many, many thanks for Your extraordinary speed and effort. I took the chance to download and install the most resent version, installed it and started to edit a critical part of my mot recent project.
I used the new option and it was a miracle. I won with no win additions.
So, IceDesign is now absolutely perfect and a real must when using purebasic.

I transferred the project to Linux and it really did not required any post editing. So I could concentrate on combining the new abilities to the existing part. I really consider, to rework the project based on the new version IceDesign.

By the way, the main advantage of the competition vanished.

I think, IceDesign would have the potential to be "The Designer" not only for purebasic but also for the C- world. A closer look reveals that based on the purebasic switch to C a combination of C- parts of purebasic combined with IceDesign would generate PureC- you see...

Sometimes dreams get true. One dream got already true. Thank You Chris.

My best regards to Chris

wolf
User avatar
ChrisR
Addict
Addict
Posts: 1466
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: IceDesign GUI designer

Post by ChrisR »

Wow, it's my party today, thank you so much 8)

I'm glad you were able to transfer your project to Linux without having to do too much reworking.
I guess there are still some small adjustments to be made if you want to align a text with a String or a text with a comboBox...

For PureC, it's already there, thanks to Fred's magic fingers ♫♫♪ 🤩

Otherwise, for sure, with a little (a lot) of work, it could be adapted to other languages where a good designer is lacking and which is not a niche to pay for job done. But that's another story, you made me smile :)

@PBJim
There are some small gif videos on post #2 and a bit more on Github: https://github.com/ChrisRfr/IceDesign/t ... r/gif_demo
Otherwise, the best way to get an idea is to test the demo version on Github IceDesign_Demo.exe
Again, I repeat, everything works the same as for the paid version, it's just limited to 16 Gadgets and it's really enough for many, many interfaces.
Or to create a quick interface to post on the forum.
ShadowStorm
Enthusiast
Enthusiast
Posts: 303
Joined: Tue Feb 14, 2017 12:07 pm

Re: IceDesign GUI designer

Post by ShadowStorm »

I really like this publisher, who frankly is far superior to all those I know for PB, that's saying something ! :wink:

So, a few things:

- Some checkbox gadgets are missing tooltips, need to be checked.

- Bug found that causes program compilation to crash if a certain option is selected, see image.
https://drive.google.com/file/d/1ytdrtP ... sp=sharing

- For image buttons, if the option ask not to resize the gadget to the image size, then the image is not resized to the gadget size, when testing the code, this is what is done though.

That's it for now :)

I'd love to have an option to include my images directly in my source code as Data, it's not very complicated to do that, you already have a code that does it, see: Bin2Data.

Thanks :)
I am French, I do not speak English.
My apologies for the mistakes.

I have sometimes problems of expression
I am sometimes quite clumsy, please excuse me and let me know.
User avatar
ChrisR
Addict
Addict
Posts: 1466
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: IceDesign GUI designer

Post by ChrisR »

Hello Shadow,
Thanks and thanks for your feedback :)
It is fixed for the bug found on InitWindowSize(), it is updated on Gumroad and GitHub, same version number.

I tried but couldn't reproduce the tooltips that are sometimes missing for checkboxes.
I don't see what's wrong, do you have any indications on how to reproduce the problem?

For resized images in ButtonImageGadget, it's probably because you have the option "Proportional Size for All Gadgets" enabled in setting, is this it ?
ShadowStorm wrote: Fri Jan 17, 2025 6:24 pm I'd love to have an option to include my images directly in my source code as Data, it's not very complicated to do that, you already have a code that does it, see: Bin2Data.
I note the option to add images other than those used in the Design, but I'm not sure I'll do it with Bin2Data,
If I do it later it will probably be as it is currently done with the LoadImage or CatchImage option
ShadowStorm
Enthusiast
Enthusiast
Posts: 303
Joined: Tue Feb 14, 2017 12:07 pm

Re: IceDesign GUI designer

Post by ShadowStorm »

Hi ChrisR,

Look at the checkboxes in the settings, some of them don't have a bubble info!

For the image on the button, yes that's it, but the behavior is a bit weird it seems.

Maybe add an “Adaptive image” option for the button?
If checked, the image will adapt to the size of the button, otherwise it'll be normal, but that's not really important, there's more urgent things to do.

Hum, for the images I'm talking about including them directly in the source with Data, no loadimage, you have a Data block that contains a series of numbers that represent the image, it's very practical to share the code with the images directly inside, the program I showed you does it and you can include it in your software because it's free I think!

I also see that you can't customize the menue, nor the button bar at the top, nor the status bar, it would be really useful though but I know it's not necessarily very easy to do.

Thanks a lot.
I am French, I do not speak English.
My apologies for the mistakes.

I have sometimes problems of expression
I am sometimes quite clumsy, please excuse me and let me know.
User avatar
ChrisR
Addict
Addict
Posts: 1466
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.4

  • In default of documentation, tooltips with examples have been added to most of the options in the settings.
  • Preserve State of Button, ButtonImage, CheckBox and Option gadgets while copying.
  • Images use #PB_Compiler_Home in their paths for images used from a subfolder of the PureBasic home directory,
    in addition to relative paths, already done.

    Code: Select all

    LoadImage(#Imag_Geebee2, #PB_Compiler_Home + "Examples\Sources\Data\Geebee2.bmp")
    Or
    CatchImage(#Imag_Geebee2, ?Imag_Geebee2)
    
    DataSection
      Imag_Geebee2: : IncludeBinary #PB_Compiler_Home + "Examples\Sources\Data\Geebee2.bmp"
    EndDataSection
  • For Gadget identification, in addition to #Constants or Variables (#PB_Any), “Number” is added to number (0,1,2,...) windows, Gadgets, Images and Fonts.
    It can be useful, for example, to share a simple code snippet on the forum, without enumerations or global variables, perfect if combined with images from PureBasic home folder, ex:

    Code: Select all

    LoadImage(0, #PB_Compiler_Home + "Examples\Sources\Data\Geebee2.bmp")
    LoadImage(1, #PB_Compiler_Home + "Examples\Sources\Data\PureBasic.bmp")
    
    LoadFont(0, "Broadway", 9, #PB_Font_Italic)
    LoadFont(1, "Broadway", 12, #PB_Font_Bold)
    
    Procedure Open_Window(X = 0, Y = 0, Width = 210, Height = 290)
      If OpenWindow(0, X, Y, Width, Height, "Title", #PB_Window_SystemMenu | #PB_Window_Invisible | #PB_Window_ScreenCentered)
        ImageGadget(0, 40, 20, 128, 128, ImageID(0))
        TextGadget(1, 20, 170, 100, 20, "Text_1")
          SetGadgetFont(1, FontID(0))
        StringGadget(2, 20, 190, 160, 30, "String_1")
          SetGadgetFont(2, FontID(1))
        ButtonImageGadget(3, 20, 240, 168, 35, ImageID(1))
        ProcedureReturn #True
      EndIf
    EndProcedure
    
    If Open_Window()
      HideWindow(0, #False)
      Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
    EndIf
User avatar
le_magn
Enthusiast
Enthusiast
Posts: 277
Joined: Wed Aug 24, 2005 12:11 pm
Location: Italia

Re: IceDesign GUI designer

Post by le_magn »

Thank's Chris for the update
Image
williamvanhoecke
User
User
Posts: 65
Joined: Wed Jun 07, 2017 10:13 pm

Re: IceDesign GUI designer

Post by williamvanhoecke »

Hi chris
Version 2.3.4 always set Container_Raised = checked
You can uncheck it but after saving and reloading it is checked again

I updated about 23 designs and all the ones having a container now are raised ??
Last edited by williamvanhoecke on Tue Jan 28, 2025 9:23 pm, edited 1 time in total.
User avatar
le_magn
Enthusiast
Enthusiast
Posts: 277
Joined: Wed Aug 24, 2005 12:11 pm
Location: Italia

Re: IceDesign GUI designer

Post by le_magn »

williamvanhoecke wrote: Tue Jan 28, 2025 6:17 pm Hi chris
Version 2.3.4 always set Container_Raised = checked
You can uncheck it but after saving and reloading it is checked again

I updated about 23 designs and all the ones having a container now are raised ??
I also tried it and confirm that the bug is present
Image
User avatar
ChrisR
Addict
Addict
Posts: 1466
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: IceDesign GUI designer

Post by ChrisR »

Yes, sorry for this bug, introduced with the CrossPlatform option, it should be fixed now.

IceDesign has been updated in version 2.3.5
Post Reply