IceDesign GUI designer

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

Re: IceDesign (New) modern GUI designer

Post 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 ?
User avatar
ChrisR
Addict
Addict
Posts: 1127
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: IceDesign (New) modern GUI designer

Post 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
devox
User
User
Posts: 32
Joined: Thu Apr 01, 2021 7:25 pm

Re: IceDesign (New) modern GUI designer

Post 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
  1. Add a toolbar
  2. Add a PanelGadget
  3. Create code to clipboard
  4. 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.
User avatar
ChrisR
Addict
Addict
Posts: 1127
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: IceDesign (New) modern GUI designer

Post by ChrisR »

Thanks devox for reporting
It is fixed now and uploaded on GitHub server. Same Link
devox
User
User
Posts: 32
Joined: Thu Apr 01, 2021 7:25 pm

Re: IceDesign (New) modern GUI designer

Post 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.
User avatar
ChrisR
Addict
Addict
Posts: 1127
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: IceDesign (New) modern GUI designer

Post by ChrisR »

Here, you touch at the concept chosen :wink:
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 :)
Mesa
Enthusiast
Enthusiast
Posts: 345
Joined: Fri Feb 24, 2012 10:19 am

Re: IceDesign (New) modern GUI designer

Post 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. :D

Closing icedesign is very slow, closing IceDesign_Test_Lag.exe is pretty fast.

M.
User avatar
ChrisR
Addict
Addict
Posts: 1127
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: IceDesign (New) modern GUI designer

Post 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...
Mindphazer
Enthusiast
Enthusiast
Posts: 340
Joined: Mon Sep 10, 2012 10:41 am
Location: Savoie

Re: IceDesign (New) modern GUI designer

Post 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 :mrgreen:

Anyways, congratulations for this piece of software !
MacBook Pro 14" M1 Pro - 16 Gb - MacOS 14 - Iphone 15 Pro Max - iPad at home
...and unfortunately... Windows at work...
loulou2522
Enthusiast
Enthusiast
Posts: 495
Joined: Tue Oct 14, 2014 12:09 pm

Re: IceDesign (New) modern GUI designer

Post 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
Marc56us
Addict
Addict
Posts: 1477
Joined: Sat Feb 08, 2014 3:26 pm

Re: IceDesign (New) modern GUI designer

Post 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.

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

Re: IceDesign (New) modern GUI designer

Post 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
User avatar
ChrisR
Addict
Addict
Posts: 1127
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: IceDesign (New) modern GUI designer

Post 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
User avatar
ChrisR
Addict
Addict
Posts: 1127
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: IceDesign (New) modern GUI designer

Post 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.
Marc56us
Addict
Addict
Posts: 1477
Joined: Sat Feb 08, 2014 3:26 pm

Re: IceDesign (New) modern GUI designer

Post 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. :wink:
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, :wink:
These were just suggestions for functions. But if nobody uses them, there is no need to develop them.
Post Reply