ui: Group graph nodes by file or namespace (issues #171, #439, #522)

* added buttons to enable grouping by file or namespace
* last used group settings saved to ApplicationSettings
* made groups hoverable/clickable on label only
* improved node hatching and override edge colors
* group overview lists

fortune cookie message = Seen with the eyes of love, everything gets a new meaning.
This commit is contained in:
Eberhard Graether
2018-04-09 00:09:22 +02:00
parent 20106d5ce1
commit 5303187bea
40 changed files with 956 additions and 197 deletions
+40 -2
View File
@@ -344,6 +344,9 @@
<icon>
<normal>#FFFFFF</normal>
</icon>
<hatching>
<normal>#B05151</normal>
</hatching>
</namespace>
<package>
<like>namespace</like>
@@ -352,7 +355,7 @@
<file>
<fill>
<normal>#4E82F6</normal>
<focus>#7FA9F4</focus>
<focus>#6793F6</focus>
</fill>
<border>
<normal>#20FFFFFF</normal>
@@ -365,7 +368,7 @@
<normal>#FFFFFF</normal>
</icon>
<hatching>
<normal>#999999</normal>
<normal>#416CCC</normal>
</hatching>
</file>
<macro>
@@ -423,6 +426,41 @@
</text>
</text>
<group>
<default>
<fill>
<normal>transparent</normal>
</fill>
<text>
<normal>#FFFFFF</normal>
</text>
<border>
<normal>#807F80</normal>
</border>
</default>
<file>
<fill>
<normal>transparent</normal>
</fill>
<text>
<normal>#D4D4D4</normal>
</text>
<border>
<normal>#4E82F6</normal>
<focus>#6793F6</focus>
</border>
</file>
<namespace>
<fill>
<normal>transparent</normal>
</fill>
<text>
<normal>#D4D4D4</normal>
</text>
<border>
<normal>#873E3E</normal>
<focus>#944444</focus>
</border>
</namespace>
<inheritance>
<fill>
<normal>transparent</normal>
+39 -1
View File
@@ -333,6 +333,9 @@
<icon>
<normal>#3D3D3D</normal>
</icon>
<hatching>
<normal>#FFDEDE</normal>
</hatching>
</namespace>
<package>
<like>namespace</like>
@@ -347,6 +350,9 @@
<normal>#203C3C3C</normal>
<focus>#3C3C3C</focus>
</border>
<hatching>
<normal>#D7F7C8</normal>
</hatching>
</file>
<macro>
<like>file</like>
@@ -397,6 +403,38 @@
</text>
</text>
<group>
<default>
<fill>
<normal>transparent</normal>
</fill>
<border>
<normal>#D0D0D0</normal>
</border>
</default>
<file>
<fill>
<normal>transparent</normal>
</fill>
<text>
<normal>#5C5C5C</normal>
</text>
<border>
<normal>#BEE0AF</normal>
<focus>#A6D492</focus>
</border>
</file>
<namespace>
<fill>
<normal>transparent</normal>
</fill>
<text>
<normal>#5C5C5C</normal>
</text>
<border>
<normal>#EFC5C5</normal>
<focus>#EFB3B3</focus>
</border>
</namespace>
<inheritance>
<fill>
<normal>transparent</normal>
@@ -413,7 +451,7 @@
</default>
<override>
<normal>#955ECC</normal>
<normal>#A37ACC</normal>
</override>
<call>
+40 -2
View File
@@ -336,6 +336,9 @@
<icon>
<normal>#C3C3C3</normal>
</icon>
<hatching>
<normal>#521B1F</normal>
</hatching>
</namespace>
<package>
<like>namespace</like>
@@ -344,12 +347,15 @@
<file>
<fill>
<normal>#1B564E</normal>
<focus>#247368</focus>
<focus>#21695F</focus>
</fill>
<border>
<normal>#20C3C3C3</normal>
<focus>#C3C3C3</focus>
</border>
<hatching>
<normal>#123B35</normal>
</hatching>
</file>
<macro>
<like>file</like>
@@ -400,6 +406,38 @@
</text>
</text>
<group>
<default>
<fill>
<normal>transparent</normal>
</fill>
<border>
<normal>#5A5A5A</normal>
</border>
</default>
<file>
<fill>
<normal>transparent</normal>
</fill>
<text>
<normal>#C3C3C3</normal>
</text>
<border>
<normal>#1B564E</normal>
<focus>#1E6158</focus>
</border>
</file>
<namespace>
<fill>
<normal>transparent</normal>
</fill>
<text>
<normal>#C3C3C3</normal>
</text>
<border>
<normal>#78282D</normal>
<focus>#872D33</focus>
</border>
</namespace>
<inheritance>
<fill>
<normal>transparent</normal>
@@ -416,7 +454,7 @@
</default>
<override>
<normal>#B059C2</normal>
<normal>#8A5A94</normal>
</override>
<call>
+20 -1
View File
@@ -14,7 +14,7 @@ QPushButton:disabled {
background: <color:search/button/disabled>;
}
QPushButton:hover {
QPushButton:hover, QPushButton:checked {
background: <color:search/button/hover>;
}
@@ -25,6 +25,7 @@ QPushButton:pressed {
#expand_button {
max-width: 26px;
max-height: 26px;
border-radius: 9px;
}
#collapse_button {
@@ -82,3 +83,21 @@ QPushButton:pressed {
#depth_slider::groove:disabled, #depth_slider::handle:disabled {
background: <color:search/button/icon_disabled>;
}
#group_left_button {
border-radius: 0;
border-top-left-radius: 10px;
border-bottom-left-radius: 10px;
max-width: 26px;
max-height: 26px;
padding-left: 2px;
}
#group_right_button {
border-radius: 0;
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
max-width: 26px;
max-height: 26px;
padding-right: 2px;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB