Idea for the main window

A forum for research and development of the user interface of FreeCAD
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
grd
Posts: 328
Joined: Wed Apr 13, 2022 5:13 am
Location: Eindhoven, The Netherlands

Re: Idea for the main window

Post by grd »

obelisk79 wrote: Sat Feb 04, 2023 3:27 pm @grd my suggestion would be to create some mockups of what this would actually look like in FreeCAD to include various workbenches and switching between them so that others can get a better feel for your idea.
Yes, I agree totally. I don't know when but I am gonna show it later on.
About Nim. Latest Release 2.0.2. Here is Nim in 100 seconds and a Nim package. There are Qt and OCCT packages.
Hologram
Posts: 201
Joined: Thu Nov 03, 2022 3:05 pm

Re: Idea for the main window

Post by Hologram »

obelisk79 wrote: Sat Feb 04, 2023 3:27 pm @grd my suggestion would be to create some mockups of what this would actually look like in FreeCAD to include various workbenches and switching between them so that others can get a better feel for your idea.
This.

Mockups usually help for UI overhauls. For instance, consider making it so that switching tabs also makes you switch workspaces. There can also be Global tabs that are always accessible (view) or Edit tabs, which appear in specific contexts when modifying something.

E: They also help create a meaningful discussion about what you changed from the default UI to your proposal and people can ask why. :)
User avatar
onekk
Veteran
Posts: 6144
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: Idea for the main window

Post by onekk »

obelisk79 wrote: Sat Feb 04, 2023 3:27 pm @grd my suggestion would be to create some mockups of what this would actually look like in FreeCAD to include various workbenches and switching between them so that others can get a better feel for your idea.
But a mockup is not taking in considerations, "how things are done".

I could think of permitting as example to start an "operation" and permitting to select things, but if the API is blocking some part of the interface as it is expecting an input field to be completed, as it happens very often, you could mockup what you want, but it is only a mockup.

It is not a drawing where you could superimpose the new things, and hide what is present.

It is about:

- how UI is interacting with the user
- what Widget you are using
- how Widget are implemented
- What Widget the Extension you want to integrate is using.

As example there are many problem with "measure units" other than mm (even meters could create problems) and some controls as the input field is no aware about how the units has to be "managed".

Another example if you multiply two cells with numbers and one of the has an unit, chances are that some mechanics, that will assign to unitless number the default unit will came into the game.

You intend to multiply 10mm x 10 and FreeCAD will interpreter it as 10mm x 10mm obtaining "correctly" a result of 100mm2.

Sadly this "correct" result is wrong as if you try to use this quantity as a length you will have an error as 100mm2 is an area and not a length, so an edge could not be 100mm2 long.

This sort of things have a difficult solution as there will be for sure some user that will complains that it is obvious that you intend to have this quantity be 100mm but computer are "stupid" and need correct rules, if you tell them that a unitless quantity has to be intended as it have the "default unit" added, computer is behaving as you have programmed it, no more, no less.

This is another "meaning" of the cited phrase of jregel, if you start coding something that is obvious, seen from a "computer" perspective it is not as obvious as you may think with an user perspective.

Kind Regards

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
Hologram
Posts: 201
Joined: Thu Nov 03, 2022 3:05 pm

Re: Idea for the main window

Post by Hologram »

Consider the mockup as a vision, something to work towards, rather than a fixed end goal. Then it'll be easier to see how the 'possible' relates to the 'desirable'.
Of course there needs to be the note that it does not guarantee that FreeCAD will become the mockup. It will be more of a discussion document 😉
User avatar
obelisk79
Veteran
Posts: 1061
Joined: Thu Sep 24, 2020 9:01 pm

Re: Idea for the main window

Post by obelisk79 »

onekk wrote: Sat Feb 04, 2023 3:59 pm Opensource is not about consensus, it is not paid software on which you have some "right" to ask things, and to have "something in exchange", it is usually true the other way, developers "have the right" to ask for some "reward" being moral or more concrete (not in the sense of receiving concrete blocks on head :lol: ).
I am not criticizing the work of the maintainers. When I suggest consensus, I mean, 'general agreement' that a change of this nature is considered desirable by those who are in charge of the direction of development. While we can argue semantics, even if no one is 'officially' in charge, there are people who have opinions that count more than others.

Additionally, grd is proposing adding a new library dependency to FreeCAD which is another consideration.

I'd also like to close my response with this:
https://github.com/grd/FreePDM

@grd does not seem opposed, or potentially incapable of implementing and coding this himself. Here is the evidence: https://github.com/grd/FreePDM
User avatar
obelisk79
Veteran
Posts: 1061
Joined: Thu Sep 24, 2020 9:01 pm

Re: Idea for the main window

Post by obelisk79 »

onekk wrote: Sat Feb 04, 2023 5:15 pm But a mockup is not taking in considerations, "how things are done".

I could think of permitting as example to start an "operation" and permitting to select things, but if the API is blocking some part of the interface as it is expecting an input field to be completed, as it happens very often, you could mockup what you want, but it is only a mockup.

It is not a drawing where you could superimpose the new things, and hide what is present.

It is about:

- how UI is interacting with the user
- what Widget you are using
- how Widget are implemented
- What Widget the Extension you want to integrate is using.
Carlo,

I think we are not thinking about the same thing. What was suggested is merely a change in how toolbars are constructed, organized and presented to the user. This isn't a rebirth of panels, input fields or other buggy behavior, nor have any of those items been presented here for discussion.

I think maybe this is a misunderstanding of language?

Kind Regards,
Joe
User avatar
onekk
Veteran
Posts: 6144
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: Idea for the main window

Post by onekk »

obelisk79 wrote: Sat Feb 04, 2023 9:00 pm
Carlo,

I think we are not thinking about the same thing. What was suggested is merely a change in how toolbars are constructed, organized and presented to the user. This isn't a rebirth of panels, input fields or other buggy behavior, nor have any of those items been presented here for discussion.

I think maybe this is a misunderstanding of language?

Kind Regards,
Joe
It was only slightly different point of view, usually when something is not implemented in the toolkit, the behaviour is achieved using hacks, so these hacks will be working with Qt6?

And FreeCAD has to work at least on three flavour of OS and is not infrequently that something that work on Linux will not work on Windows or MacOS or the opposite way.

This could complicate the simple change of marginal part of the interface.

Improvements are welcomed, but some coordination with actual developers should be done, if not probably the work done will be vanished when things will change.

If you see in this thread among old posts there have been similar projects that have stalled and not developed anymore due to the difficult to adapt the code to changes in codebase and the lack of interest of the developer.

Prior to start coding, probably a preliminary work is to see how Qt6 will impact the library that will make this more modern behaviour.

If not the project will be "one of the many" good try.

But better try to make thing than only criticize.

Regards.

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
User avatar
obelisk79
Veteran
Posts: 1061
Joined: Thu Sep 24, 2020 9:01 pm

Re: Idea for the main window

Post by obelisk79 »

He proposed using a new widget library extending Qt that is 5.3+ compatible. So Qt6 should not be a problem and this would not constitute a hack.
user1234
Veteran
Posts: 3319
Joined: Mon Jul 11, 2016 5:08 pm

Re: Idea for the main window

Post by user1234 »

grd wrote: Sat Feb 04, 2023 12:42 pm Most commercial CAD software nowadays use a Ribbon Bar and to be honest I don't see many issues with that, but FreeCAD use still today an outdated (in my opinion) icon bar GUI. So I looked into a Ribbon Bar GUI and I found this https://github.com/Qt-Widgets/Best-Ribbon-Tab-Toolbar
I also worked with ribbons in CAD before and to be honest, the word pita is still too mild. When you try grouping the operation in functions, you can not group it in a good way. Example, dress up features in PartDesign, they are 4 function, now when you group it, you get 2 empty spaces, because they automatic stack over 3, which is odd, especially for sorting the functions. (And when making a big icon with drop down, every time extra click for a often used function?)

Besides the ribbon bar is way too high and takes too much space. I normal toolbar is 1 icon high, when you have too many, then 2 icons. But with ribbon you need minimum 4 icons (without tab bar, with tab bar 5 icons), that independent how much you have, and that in a direction, what the screen is already lowered, because mst screens are broader then high.


If it is optional, it does not care, but forcing, hell no!


Greetings
user1234
grd
Posts: 328
Joined: Wed Apr 13, 2022 5:13 am
Location: Eindhoven, The Netherlands

Re: Idea for the main window

Post by grd »

user1234 wrote: Sun Feb 05, 2023 1:02 am If it is optional, it does not care, but forcing, hell no!
It's an idea and that is it, there is nothing more. You are right, but I am sure that before implementing this idea a lot of talk needs to be done.

Gerard
About Nim. Latest Release 2.0.2. Here is Nim in 100 seconds and a Nim package. There are Qt and OCCT packages.
Post Reply