IceDesign GUI designer

Applications, Games, Tools, User libs and useful stuff coded in PureBasic
camille
User
User
Posts: 66
Joined: Tue Nov 19, 2019 12:52 pm

Re: IceDesign (New) modern GUI designer

Post by camille »

Can this output dpi aware code (at least even in its simplest form)?

E.g. for a discussion look here: viewtopic.php?f=12&t=70344
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 »

AZJIO wrote: Tue Oct 05, 2021 6:41 am the source code can contain hidden elements located on top of each other, as well as elements from different windows that can be called from a function, that is, located anywhere in the code. It will not be clear which window they belong to.
I agree that importing from a .pb or .pbf source can be tricky and not really ideal.
But even if not really complete, I guess it would be the desired option.
Your idea is another option, it may be interesting
Instead of making the window, the ScrollArea,... transparent, an idea would be to add an application capture in transparency, with DrawAlphaImage, when drawing the grid.

To see, not much time for the moment I will let it run a little, as it is.
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 »

camille wrote: Tue Oct 05, 2021 11:55 am Can this output dpi aware code (at least even in its simplest form)?

E.g. for a discussion look here: viewtopic.php?f=12&t=70344
In the settings, there is an option "Enable DPI Aware Executable" to write this flag for the compilation options.
Enable DPI Aware Executable (Windows only)
This option enable DPI awareness when creating an executable. That means than GUI created in PureBasic will scale automatically if the DPI of the screen is above 100%. Most of the process is seemless, but some case needs to be worked out, like pixel based gadgets (ImageGadget, CanvasGadget etc.).
It's up to you to go further if you wish, it is not planned.
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 »

IceDesign has been updated in version 1.4.0

New features:
  • IceDesign is now compiled with the DpiAware manifest by default.
    The controls are scaled using the windows scaling parameter, it avoids blurred display due to the Windows auto-scaling.
    Except the form designer element which stays at 100% and which generates the same exact code for the controls positions/sizes.
  • If you still want to use the Windows auto-scaling, it is possible by using "DPI_Unaware" parameter.
    Run "IceDesign.exe DPI_Unaware" to create a new exe: IceDesign_DPI_Unaware.exe.
    It will use the automatic resizing of windows based on your scale factor setting.
  • The default height of gadgets is now based on their required sizes when using double left click or drag'n drop from the "Create Controls" list.
  • Code generation has been reviewed and improved to save processing time and some other elements have also been optimized.
  • The created code is now generated and displayed in real time using the great PBEdit - the PureBasic Canvas-based Texteditor.
    Please note that the code is not auto regenerated, at each change, when the Splitter is down.
    When moving or resizing, the code is only generated at the end when the mouse is released.

Image
ShadowStorm
Enthusiast
Enthusiast
Posts: 237
Joined: Tue Feb 14, 2017 12:07 pm

Re: IceDesign (New) modern GUI designer

Post by ShadowStorm »

Hello,

Thanks for the update.

I don't know if it's a good idea to update the code constantly, it slows down your program!

In fact, it's not something very important I think, the constant update, at least for me.

Maybe add an option to add or remove this?
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: 1127
Joined: Sun Jan 08, 2017 10:27 pm
Location: France

Re: IceDesign (New) modern GUI designer

Post by ChrisR »

ChrisR wrote: Fri Nov 12, 2021 6:50 pm Please note that the code is not auto regenerated, at each change, when the Splitter is down.
So there is no overload or slowdown, if you leave the splitter at the bottom :)
But otherwise, the code generation has been optimized and it is rather fast.
firace
Addict
Addict
Posts: 899
Joined: Wed Nov 09, 2011 8:58 am

Re: IceDesign (New) modern GUI designer

Post by firace »

Thank you, amazing update.
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 firace :)

IceDesign has been updated in version 1.4.1

The PBEdit - the canvas text editor module included has been updated to v1.0.10
The enumerations are folded, by default.
Mr.L
Enthusiast
Enthusiast
Posts: 104
Joined: Sun Oct 09, 2011 7:39 am

Re: IceDesign (New) modern GUI designer

Post by Mr.L »

Great job, ChrisR! Everything I tested so far worked well, only the vetical scrollbar in the PBEdit gadget is missing :D
Do you plan to implement an undo/redo function? I personally would find it quite important.
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 Mr.L! for taking the time to look and test.
I am quite proud of the result and very happy to have integrated your great text-editor,
A real bonus, even if I only use it at 10%, in reading mode only. It is better than that I hope it will have a good future in an IDE.

Otherwise, it is sure it would be nice to have an undo/redo function. To see, maybe in a future version, if I find the timeee, energy to do it.
And about the vertical Scrollbar, it's a small mistake, I thought I put it but it was only there for my tests.

Regards :)
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 »

I updated IceDesign, silently, on Gumroad and on Github for the demo.

I changed a parameter to see the PBEdit's vertical Scrollbar and when opening, the splitter is now positioned higher, to make the code more visible, at least in the first time.
(Re) To lighten the processing, if you wish, you can move the Splitter separator to the bottom of the page, so the code is not auto-generated at each change.
It's only 2 small parameters, I have not change the version number.
Mindphazer
Enthusiast
Enthusiast
Posts: 340
Joined: Mon Sep 10, 2012 10:41 am
Location: Savoie

Re: IceDesign (New) modern GUI designer

Post by Mindphazer »

ShadowStorm wrote: Fri Nov 12, 2021 6:57 pm I don't know if it's a good idea to update the code constantly, it slows down your program!
No overload nor slowdown here
IceDesign is a great piece of software, representing hours of coding !
There's only one bad point : on my knees, i want a MacOS version of IceDesign !!!
MacBook Pro 14" M1 Pro - 16 Gb - MacOS 14 - Iphone 15 Pro Max - iPad at home
...and unfortunately... Windows at work...
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 »

Mindphazer wrote: Wed Nov 17, 2021 10:01 am IceDesign is a great piece of software, representing hours of coding !
There's only one bad point : on my knees, i want a MacOS version of IceDesign !!!
Thanks Mindphazer, I appreciate 8)
And me, I'd like a Mac :wink:
Maybe one day when sales take off and with PB more used in professional or engineering school, it would deserve it, with good marketing, starting with the C compiler.
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 »

IceDesign has been updated in version 1.4.4

New features:
  • The title bar now respects the size of the window and the buttons, minimize, maximize and close are drawn according to the chosen constants, SystemMenu, SizeGadget, BorderLess...
  • Fix: when creating the code, preview, the constant #PB_Window_NoGadgets is written in comment, if the Window contains 1 or more Gadgets.
    And, to keep the hand, in Preview, the constants #PB_Window_Invisible, #PB_Window_Minimize and #PB_Window_NoActivate are not applied
  • Via the window context menu, you can choose the layout of the toolbar with small or large icons and with or without the text.

Image

  • In the settings, I added the possibility to add an image, a screenshot or a wallpaper, which will be displayed in the background depending on the chosen transparency.
    It can be used as a image to transfer. However, it does not seem very easy to do :?

Image
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 »

IceDesign has been updated in version 1.4.5

A small change, just after version 1.4.4, to better see the outline of the Gadgets when a transparent image is used in the background. The outlines are now drawn after, without any transparency.
Post Reply