DAGView

Discussion about the development of the Assembly workbench.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: DAGView

Post by triplus »

tanderson69 wrote:The default selection mode of the dag view is single. I am guessing you changed the selectionMode parameter and forgot about it?
At least now i know what that parameter does! ;)
tanderson69 wrote:I have decided to try and build concessis among the community that the dagview is a good way forward before I spend a lot of time on this difficult problem.
I can only speak for myself. I think it will complement new Part Design workbench in a way it could become default view instead of Tree View but it is not there yet. Mainly due to some things that are in my opinion a bit harder to grasp by end users ATM. Based on everything that was said and decided i would say we are getting there.
Just because english is my native tongue doesn't mean I understand it. ;) I know what you mean, the partdesign::body feature is busy because it has a connector to every feature. At some point each object type might have some control over how it is rendered in the dag view, but that is for later. Right now I am working on the idea of filters, where features can be hidden. Of course connectors that connect to a hidden feature will be hidden also. I am cautious about walking down this road as I don't like stuff hidden from me.
I am guessing hiding connectors that connect to a hidden features might end up making sense. But i guess some sort of indicator telling the user what is happening needs to be there. To indicate hidden features exists and are related to selected object. And there might be an issue of users confusing current show/hide feature in 3D View with show/hide feature in DAGView. But i am guessing once you implement something and get more feedback it will be easier to discuss this further.
User avatar
jriegel
Founder
Posts: 3369
Joined: Sun Feb 15, 2009 5:29 pm
Location: Ulm, Germany
Contact:

Re: DAGView

Post by jriegel »

Actually system font is only half of the truth. Since W$ 7 there is this zoom factor which is used on high DPI Laptops. As you see the system font is rather small but the whole gui is zoomed (besides our tool-baar icons). I'm not quit sure where to grab that zoom factor, since qt seams to do it right...
Attachments
Display.png
Display.png (55.77 KiB) Viewed 3042 times
DAG.png
DAG.png (72.9 KiB) Viewed 3042 times
Stop whining - start coding!
User avatar
tanderson69
Veteran
Posts: 1626
Joined: Thu Feb 18, 2010 1:07 am

Re: DAGView

Post by tanderson69 »

jriegel wrote:Actually system font is only half of the truth. Since W$ 7 there is this zoom factor which is used on high DPI Laptops. As you see the system font is rather small but the whole gui is zoomed (besides our tool-baar icons). I'm not quit sure where to grab that zoom factor, since qt seams to do it right...
Thanks for the info, I have something to search for now.
User avatar
tanderson69
Veteran
Posts: 1626
Joined: Thu Feb 18, 2010 1:07 am

Re: DAGView

Post by tanderson69 »

here on linux I can't get the the dagview and treeview sizes out of sync. As far as I can tell, Whatever the treeview is doing to compensate for the DPI, it is only doing it on windows. I looked through some qt source but didn't see anything. So I have 2 ideas forward.

1)somebody on windows look at this. First thing I would look at is. QGraphicsView::logicalDpiY vs QGraphicsView::physicalDpiY.

2)put a scaling factor as a freecad parameter. User would have to adjust to get desired results. Yes it is a hack.

either way we could simply add a scaling factor the view constructor. If I don't here anything from anybody, I will go with 2 as I can do all that from here on linux.
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: DAGView

Post by triplus »

Don't let this put you on the wrong track but as you are probably already aware Linux, OS X and Windows do High-DPI scaling a bit differently. If we focus on the image above Tree View and DAGView font sizes respond differently to scaling factor therefore i would say font size unit used could be the culprit.
DPI-based scaling – Win32 GDI and KDE. In approach the application works in the full physical device resolution and is provided with a DPI setting or scaling factor, which should be used to scale layouts. Fonts are automatically scaled by the OS (as long as you specify the font sizes in points and not pixels)
http://blog.qt.io/blog/2013/04/25/retin ... s-and-x11/

If you specify font size in pixels scaling factor should not affect the font size.
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: DAGView

Post by sgrogan »

Build failure on Windows:

Code: Select all

Error	2	error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "PreCompiled.h"' to your source?	C:\Users\sim\Documents\SW_Projects\assymerge\src\Gui\DAGView\DAGModelGraph.cpp	107	1	FreeCADGui
"fight the good fight"
User avatar
tanderson69
Veteran
Posts: 1626
Joined: Thu Feb 18, 2010 1:07 am

Re: DAGView

Post by tanderson69 »

sgrogan wrote:Build failure on Windows:

Code: Select all

...Did you forget to add '#include "PreCompiled.h"' to your source?...
Yes :D
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: DAGView

Post by triplus »

Adding optional layout direction
Looking good.
Basic filter framework.
I am guessing ATM user can't use this to actually filter objects?
Column logic beyond just parent.
Back-end or should something in UX behave differently because of this change?

Other:
Factor out graph and graphLink to separate source files
Factor out rectitem to separate source files
Rename custom rect item
Font size hack for windows DPI workaround

I did get it to crash with mouse right click button. But as using mouse right click button doesn't crash it every time i have to find more narrowed down procedure to get it to crash before report. Or if somebody else finds the procedure before...
User avatar
tanderson69
Veteran
Posts: 1626
Joined: Thu Feb 18, 2010 1:07 am

Re: DAGView

Post by tanderson69 »

triplus wrote:
Basic filter framework.
I am guessing ATM user can't use this to actually filter objects?
There are some filters made, but there is no interface to turn them on and off so I just disabled them for now.
triplus wrote:
Column logic beyond just parent.
Back-end or should something in UX behave differently because of this change?
This should utilize the space more efficiently. I think you posted a while back about a second part object had some children pushed over farther than needed? This should fix that problem and more.
triplus wrote:I did get it to crash with mouse right click button. But as using mouse right click button doesn't crash it every time i have to find more narrowed down procedure to get it to crash before report. Or if somebody else finds the procedure before...
I haven't experienced this lately. Keep working at it and let me know.
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: DAGView

Post by triplus »

tanderson69 wrote:
triplus wrote:
Basic filter framework.
I am guessing ATM user can't use this to actually filter objects?
There are some filters made, but there is no interface to turn them on and off so I just disabled them for now.
OK.
tanderson69 wrote:This should utilize the space more efficiently. I think you posted a while back about a second part object had some children pushed over farther than needed? This should fix that problem and more.
Yes i noticed if i add new Part it isn't indented anymore. As for space efficiency i noticed that but will have to use it for a while to make further comment. ATM i am thinking it is nice to have more efficient space management and more condensed graph nodes but i am not sure yet if this makes it more hard to read. I don't want to make any fast conclusions therefore i just made some observations and first thoughts for now.
Post Reply