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 »

Rinzwind wrote: Thu Sep 02, 2021 5:55 am Is it me, or is the (demo) designer itself not DPI aware? Things are fuzzy on my 125% 4K screen (Windows 10).
Can you share a screenshot to see how it looks on your 4K screen
I am also on windows 10 with 125% scaling by default. Windows 10 handles it as a zoom (DPIrate=1.0) and the display is good here, I don't get that blur!
Rinzwind wrote: Thu Sep 02, 2021 5:55 am I do not see a way to anchor a button to sides of the form or other control?
What do you really mean by anchoring a button to sides of the form or other control?
To have the possibility of docking them at the bottom and/or right of the window when resizing. They are by default docked at the top and left.
This would be for the code generation only with a "ResizeGadgetsWindow" procedure.
At Design time, you can possibly use the Lock property of each Gadget or use the Group button to group multiple gadgets and thus have them anchored to each other.
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 »

BarryG wrote: Thu Sep 02, 2021 12:43 am
ChrisR wrote: Tue Aug 31, 2021 1:35 pmI remove the special price for the first adopters, it is now at the final price of 16 €
You didn't wait very long, did you? Literally only one day. Too bad for those who didn't log in during the last 24 hours, right? I get paid fortnightly, and some people don't visit here every week. Why not give a more reasonable adoption time, like one month?
One day seemed good for an introductory price.
Also, the current price of 16€ seems more than reasonable compared to other similar products or for the number of hours of development.
But you're probably right, it's a bit short, people don't come here every day...

I will extend the period with the special introductory price of 10 €, until next Tuesday to let at least a WE pass.
And for those who paid the final price, I will give them a refund of the difference.

It's done for the special price of 10€ for new adopters with an offer valid until next Tuesday :)
And if anyone wishes to donate more (requested), it is always possible to do it on my paypal donation page.
normeus
Enthusiast
Enthusiast
Posts: 414
Joined: Fri Apr 20, 2012 8:09 pm
Contact:

Re: IceDesign (New) modern GUI designer

Post by normeus »

ChrisR,

I appreciate your effort. I am currently working on web apps, so the chance of me getting to use your GUI designer are very slim.
I'll get a license, and eventually I'll try your program.

Consider adding your PayPal link to the first post.

Thank you.
Norm.
google Translate;Makes my jokes fall flat- Fait mes blagues tombent à plat- Machte meine Witze verpuffen- Eh cumpari ci vo sunari
Bitblazer
Enthusiast
Enthusiast
Posts: 733
Joined: Mon Apr 10, 2017 6:17 pm
Location: Germany
Contact:

Re: IceDesign (New) modern GUI designer

Post by Bitblazer »

Caronte3D wrote: Thu Sep 02, 2021 9:39 am
Rinzwind wrote: Thu Sep 02, 2021 5:55 am Is it me, or is the (demo) designer itself not DPI aware? Things are fuzzy on my 125% 4K screen (Windows 10).
Coding to several DPIs is ever a pain :|
The old way would be to use a tool like texturepacker to create some kind of texture atlas or use a multi resolution ico. The modern and more universal way would be using resolution independant vector icons based on vector drawing like a svg image plugin.

ps: PureSVG might be a solution.
webpage - discord chat links -> purebasic GPT4All
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.0.4

New feature :
The version is now displayed in the settings next to the License button
3 new options added in the context menu: Align Center, Align Middle and Make Same Size

Image

As a reminder, the demo version is limited to 16 gadgets, without any other restrictions. It should allow you to test and evaluate it.
And if you wish, the special introductory price of 10 € is valid until next Tuesday (included) :wink:
Last edited by ChrisR on Thu Sep 09, 2021 2:19 pm, edited 1 time in total.
firace
Addict
Addict
Posts: 899
Joined: Wed Nov 09, 2011 8:58 am

Re: IceDesign (New) modern GUI designer

Post by firace »

Please could you summarize the main benefits of IceDesign over the standard PureBasic form designer?
I have stopped using the form designer a long time ago but can't remember why :)

This looks really nice, great job!
User avatar
the.weavster
Addict
Addict
Posts: 1537
Joined: Thu Jul 03, 2003 6:53 pm
Location: England

Re: IceDesign (New) modern GUI designer

Post by the.weavster »

ChrisR wrote: Thu Sep 02, 2021 2:56 pm
Rinzwind wrote: Thu Sep 02, 2021 5:55 am I do not see a way to anchor a button to sides of the form or other control?
What do you really mean by anchoring a button to sides of the form or other control?
I also think anchoring is the big missing feature. Top, Left, Bottom & Right checkboxes to denote which edges are fixed and in which directions each gadget should stretch on a resize event.

Apart from that I really like it :D
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 »

firace wrote: Sat Sep 04, 2021 6:27 am Please could you summarize the main benefits of IceDesign over the standard PureBasic form designer?
I have stopped using the form designer a long time ago but can't remember why :)
I don't really want to denigrate Pureform or congratulate myself and send me flowers for IceDesign.
I am too humble for that and I know better now how much work it takes, not to blacken one or highlight the other.
But well, a little anyway.
Pureform is really old now with clearly needed improvements...

The main feature is that Pureform draws the controls while IceDesign captures the real Gadgets.
This allows one to be cross platform but a bit far from reality and the other have the true control representation with fonts, colors, constants (WYSIWYG) but for Windows only.
Containers are fully operational in IceDesign to change tabs or use ScrollBars, and it is easy to select and move them without going through the 1 or 2px border.
The generated code is fully operational in IceDesign, without the need to add code to call the OpenWindow or the event loop. A real bonus for beginners.
There are also many layout options directly available without the need to go through the preferences.
There is a lot more that could be written about ergonomics, ease of use, but also missing features...
firace wrote: Sat Sep 04, 2021 6:27 am This looks really nice, great job!
Thanks :)
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 »

the.weavster wrote: Sat Sep 04, 2021 8:01 am I also think anchoring is the big missing feature. Top, Left, Bottom & Right checkboxes to denote which edges are fixed and in which directions each gadget should stretch on a resize event.
OK, It's noted in my Todo.
Do we agree, it is for the Window resize events only and for the generated code, not at the Design time ?

About my Todo, I already have quite a lot of things written.
It will depend on its success but mainly from my free time, mainly during my inter-contracts (as currently).
So sometimes, you have to be a little patient, me too :wink:
the.weavster wrote: Sat Sep 04, 2021 8:01 am Apart from that I really like it :D
Thanks, glad you like it :)


Again: the demo version is limited to 16 gadgets, without any other restrictions. It should allow you to test and evaluate it.
And if you wish, the special introductory price of 10 € is valid until next Tuesday (included) :wink:
User avatar
the.weavster
Addict
Addict
Posts: 1537
Joined: Thu Jul 03, 2003 6:53 pm
Location: England

Re: IceDesign (New) modern GUI designer

Post by the.weavster »

ChrisR wrote: Sat Sep 04, 2021 9:51 am
the.weavster wrote: Sat Sep 04, 2021 8:01 am I also think anchoring is the big missing feature. Top, Left, Bottom & Right checkboxes to denote which edges are fixed and in which directions each gadget should stretch on a resize event.
Do we agree, it is for the Window resize events only and for the generated code, not at the Design time ?
Sure. Just automating the task of creating the resize procedure would be great.
ChrisR wrote: Sat Sep 04, 2021 9:51 amOK, It's noted in my Todo.
Thanks :D
dcr3
Enthusiast
Enthusiast
Posts: 165
Joined: Fri Aug 04, 2017 11:03 pm

Re: IceDesign (New) modern GUI designer

Post by dcr3 »

Your Icedesign is getting better. 8)

Is there any change of having an option for either one of two below.

You currently using this one routine.

Code: Select all

Repeat
  iEvent = WaitWindowEvent()
  Select iEvent
  
    Case #PB_Event_Menu
      Select EventMenu()
      EndSelect

    Case #PB_Event_Gadget
      Select EventGadget()
        
      EndSelect

    Case #PB_Event_CloseWindow
      End
  EndSelect
ForEver
Either one.
1.

Code: Select all

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      AppQuit = 1
    Case #PB_Event_Menu
      Select EventMenu()

      EndSelect

    Case #PB_Event_Gadget
      Select EventGadget()
      EndSelect

  EndSelect
Until AppQuit
2.

Code: Select all

Repeat
     Event = WaitWindowEvent()
     Select Event
     
       Case #PB_Event_Gadget
         Select EventGadget()
          
         EndSelect
       
       Case #PB_Event_Menu
         Select EventMenu()
          
         EndSelect
     
     EndSelect
   Until Event = #PB_Event_CloseWindow

Also get rid of. MessageRequester.

Let me play with at least one Gadget. Please ;)
User avatar
jacdelad
Addict
Addict
Posts: 1431
Joined: Wed Feb 03, 2021 12:46 pm
Location: Planet Riesa
Contact:

Re: IceDesign (New) modern GUI designer

Post by jacdelad »

I, for one, am using the the first suggestion. This includes the option to "remap" #PB_Event_CloseWindow. I also close the loop with "ForEver" and leave it via "Break", when needed.
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
User avatar
Caronte3D
Addict
Addict
Posts: 1027
Joined: Fri Jan 22, 2016 5:33 pm
Location: Some Universe

Re: IceDesign (New) modern GUI designer

Post by Caronte3D »

An huge improvement would be a grid like system to get a functionallity similar to Dialogs where all the gadgets scale, spread fiting it when the window is scaled. I know It's more code than design , but... would be very nice :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 »

dcr3 wrote: Sat Sep 04, 2021 5:34 pm Is there any change of having an option for either one of two below.......
OK to take another look, I don't normally use iEvent in addition !
I've looked at some examples saved from here to see.

The basic line without EventGadget(), EventMenu() is by far the most used, no worries here

Code: Select all

Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow

Otherwise, there are all types of cases. Sorted by use, I have:
For WaitWindowEvent()
1. Select WaitWindowEvent()
2. Event = WaitWindowEvent() : Select Event

For CloseWindow
1. Case #PB_Event_CloseWindow : Break -> ForEver
2. Case #PB_Event_CloseWindow : Quit = #True -> Until Quit
3 Until #PB_Event_CloseWindow
4. Case #PB_Event_CloseWindow : End -> ForEver

By taking the 2 most used (as jacdelad suggests), it also allows to avoid variables, not really required here, in a designer. It sounds good to me, too.

Code: Select all

;- Event Loop
Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      Break

      ;-> Event Menu
    Case #PB_Event_Menu
      Select EventMenu()
        Case #Menu_Quit
          Break
      EndSelect

      ;-> Event Gadget
    Case #PB_Event_Gadget
      Select EventGadget()
      EndSelect

  EndSelect
ForEver

dcr3 wrote: Sat Sep 04, 2021 5:34 pm Also get rid of. MessageRequester.

Let me play with at least one Gadget. Please ;)
:lol: Done
Last edited by ChrisR on Sun Sep 05, 2021 2:21 am, edited 1 time in total.
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 »

Caronte3D wrote: Sat Sep 04, 2021 9:11 pm An huge improvement would be a grid like system to get a functionallity similar to Dialogs where all the gadgets scale, spread fiting it when the window is scaled. I know It's more code than design , but... would be very nice :wink:
Nice, certainly, I note the idea but I guess it will be quite far down in the queue.
It's probably best to use DialogDesigner for this :wink:
Post Reply