Page 5 of 49
Re: IceDesign (New) modern GUI designer
Posted: Thu Apr 22, 2021 10:13 am
by ChrisR
Mesa wrote: Thu Apr 22, 2021 9:05 am
On my windows 10 64b, i've got a lag when i create or move a gadget, at least 1 seconde.
Bonjour Mesa
I'm a little annoyed to see your message but thanks for reporting !
I am also on windows 10 x64, latest version 20H2, but I don't have that at all, it's quite fluid here
No idea at all yet why you get this 1 second lag
Do you have another PC to test and see the differences ?
Thanks for testing it.
Has anyone else noticed this too ?
An idea of what could cause this ?
Re: IceDesign (New) modern GUI designer
Posted: Thu Apr 22, 2021 11:23 am
by ChrisR
Mesa wrote: Thu Apr 22, 2021 9:05 am
On my windows 10 64b, i've got a lag when i create or move a gadget, at least 1 seconde.
@Mesa
Can you test this one
IceDesign_Test_Lag.exe
I have 3 modules, the engine, the property grid and the ToolBar.
I have disabled here the events of the main module, the engine, to see if it is better for your latency time
By disabling it the property grid module is not called and the properties are not up to date.
Also, to create a Gadget, you have to go through the "Create Controls" treeview, double-click or drag'n drop
Re: IceDesign (New) modern GUI designer
Posted: Thu Apr 22, 2021 12:18 pm
by devox
Hi @ChrisR,
Firstly what you are doing here is super awesome I look forward to seeing how this goes.
I think I may have found a bug with the code generation.
The steps to do it are
- Add a toolbar
- Add a PanelGadget
- Create code to clipboard
- paste and run into PureBasic
Upon compiling and running PureBasic says "Default without Case" compile error.
I have not noticed any UI lag whilst playing around with it so far.
Re: IceDesign (New) modern GUI designer
Posted: Thu Apr 22, 2021 1:34 pm
by ChrisR
Thanks devox for reporting
It is fixed now and uploaded on GitHub server. Same Link
Re: IceDesign (New) modern GUI designer
Posted: Thu Apr 22, 2021 2:04 pm
by devox
Thank @ChrisR that has sorted it.
One very minor pieces of feedback I can give is that opening and closing containers does not feel super smooth like it takes a bit of processing to do that. I'd expect it to to be instantaneous with opening and closing one.
In the list controls panel it would be nice if there was a context menu for cutting, and copying gadgets. It would also be useful if you could also paste them into container types from there without having to open and close the container.
Re: IceDesign (New) modern GUI designer
Posted: Thu Apr 22, 2021 3:24 pm
by ChrisR
Here, you touch at the concept chosen
With the opening and closing of containers that allows to have the tabs or the ScrollArea progressbar fully operational, using the real Gadgets.
But, in fact, it requires some processing:
. to deactivate the previous level, the container and its drawing area (Canvas Container),
. redraw the level with the active or inactive grid,
. calculate the new OffSet,
. then open the new level by activating the new container with its GadgetList
However, in real life (and not in testing) with an interface to create, you don't constantly change levels.
We will draw the current level, then go back to the previous one and then return if needed
In the other models I could see, as for example in PureForm,
The children's gadgets are directly selectable but with the drawback that it is then more difficult to select the container or to use the scrollbar
However, I will see if I can optimize a bit the process.
For your 2nd question, to copy and paste from the list controls panel.
I note it as an idea, but I'm not sure it's really useful to do it from this list.
When you paste an object or a group of objects, there is a strong chance that you will want to move them later.
Thus it seems better to do it from the drawing area : Paste and move, paste gadgets are selected by default
But it could be feasible, to see for later.
Thanks for your feedback

Re: IceDesign (New) modern GUI designer
Posted: Fri Apr 23, 2021 9:09 am
by Mesa
I tried on an other laptop win10 64b, i've got the same problem but with a smaller lag.
With IceDesign_Test_Lag.exe, everything is fine, no lag, and it's hyperfast on my 2 laptops.
Closing icedesign is very slow, closing IceDesign_Test_Lag.exe is pretty fast.
M.
Re: IceDesign (New) modern GUI designer
Posted: Fri Apr 23, 2021 11:27 am
by ChrisR
Thanks for your tests Mesa,
I have a little trouble understanding what could cause this lag
At closing, there is not much done, just saving the form (if requested) and saving the settings in IceDesign.ini
Can you reconfirm this delay at closing, I am very surprised here !!!
For the commented events in IceDesign_Test_Lag.exe, there are only 3, Create, select, MoveResize
These events call, the property grid witch is based on a model nicely developed by Kenmo.
With lots of additions but not on the core, its functioning.
This is to say that for the moment, I don't see much and I do not reproduce (tested on 3 Laptops, one of which is a bit old).
But I will investigate with some step by step debugging and, i don't know yet...
Re: IceDesign (New) modern GUI designer
Posted: Fri Apr 23, 2021 1:50 pm
by Mindphazer
Hi,
i've played a little with IceDesign
It looks very good, and i can imagine the amount of work it has demanded !
I haven't noticed any lag during my tests
I was just wondering (even if i have an idea about your answer) if there will be a MacOS and/or a Linux version of IceDesign ?
Remember, the first versions of SweetyVD used to work on MacOS
Anyways, congratulations for this piece of software !
Re: IceDesign (New) modern GUI designer
Posted: Fri Apr 23, 2021 3:50 pm
by loulou2522
A good program to replace the default PureBasic editor. It's a pity that your editor doesn't generate XML compatible code which seems to me to be the standard of the future, but maybe you have considered it for future developments. Nevertheless it has much more quality than what we have now, so I congratulate you. Fred should include it in the next version of Purebasic, it is well worth it?
Thanks for this development
Re: IceDesign (New) modern GUI designer
Posted: Fri Apr 23, 2021 5:40 pm
by Marc56us
I just tested it and I may not have seen everything, but before proposing to use it to replace the current FD, it should do at least the same functions:
- Anchor the objects according to the user's wish so that they follow the resizing of the window
- Create the automatic resizing procedure (on the FD, as soon as an element is anchored differently from top/left, this procedure is created automatically for the whole form)
- Edit menus (with images) (FD: right click on menu)
- Edit the columns of a Listicon (FD: right click on gadget)
- Edit the elements of a list and listicon (FD: right click on gadget)
- Edit the fields of a statusbar (FD: right click on the statusbar)
- Manage images inside code (FD create the CatchImage code: Form > Image manager)
For now, as far as I can see, it is a GUI editor, but not yet a Form Code editor. But I haven't read the 5 pages of this topic.
That said, congratulations for the work done.

Re: IceDesign (New) modern GUI designer
Posted: Fri Apr 23, 2021 6:47 pm
by ChrisR
Hi Mindphazer,
It's been a while, yes I remember well my tests of MacOS under VMware, it was difficult, very very slow, a bit like the 56k modem days.
Unfortunately, it is only for Windows, it is mainly based on WM_PRINT message, I do not know any equivalent under MacOS or Linux.
I confirm that it is a lot of work, it requires patience and perseverance not to stop in the middle.
I know better now with much respect for those who develop this kind of tools, including Polo of course.
Thanks for your feedback on the lag time
Re: IceDesign (New) modern GUI designer
Posted: Fri Apr 23, 2021 6:52 pm
by ChrisR
Thanks loulou2522 for your kind words
I don't think it can be an option for Fred, it is only for Windows and it is not compatible with the 3 platforms
And on the other hand, I would like to finance the time spent and the work done. It won't be free
The demo version should remain open for simple interfaces
For now, it is only a beta, especially since I just saw a good bug. I do not know how to solve it yet
Re: IceDesign (New) modern GUI designer
Posted: Fri Apr 23, 2021 7:01 pm
by ChrisR
Hi Marc56,
56 for the Morbihan that I love or for your still young age ?
Thank you for your complete feedback, I'm not sure it's good to compare with FD
For the moment it's only a beta 1 and I'm sure you can find, also and already, some advantages to IceDesign
Do you really use Edit menu, Edit statusbar fields, Listicon columns..
Currently and personally, I don't really like the layout and I prefer to do it by hand in the source but I am open
The continuation or future features will depend on the success it can have and if I can finance the work.
Re: IceDesign (New) modern GUI designer
Posted: Fri Apr 23, 2021 8:47 pm
by Marc56us
I'm not sure it's good to compare with FD
I understood him well, It was just a remark to those who would like it to replace the FD in the next version of PB: it does not (yet) do everything that the current FD does. This does not call into question your extraordinary work.
Do you really use Edit menu, Edit statusbar fields, Listicon columns..
Yes, very often. My main project has 23 forms that contain 10 to 50 gadgets each. Most of these forms are resizable, contains icons, menus and it is unimaginable to do all the resize procedures by hands every time I change position, ordier, size.
One other main function I appreciate is the auto creation of include code.
I just check [X] Catch image and [Relative Path] and PB write au code
Code: Select all
CatchImage(#Img_Window_0_0,?Img_Window_0_0)
...
DataSection
Img_Window_0_0: : IncludeBinary "icon.bmp"
EndDataSection
But the FD is not perfect either.
- It manages menus, but not popups
- It can only manage one Statusbar for all windows because it sets the id #0 and refuses a variable
- It does not manage the new toolbar size (24px)
But it seems to me that only few of us use more than the basic functions (many of us were put off by some crashing bugs that don't exist anymore). I have never lost a single code by switching code/design like before.
That's it,
These were just suggestions for functions. But if nobody uses them, there is no need to develop them.