GP-737 new graph layout branch - fixed help anchor issues and finished

review suggestions.
This commit is contained in:
ghidra007 2021-05-07 21:06:42 +00:00
parent bdcf82e3e1
commit 43b940e0a9
3 changed files with 21 additions and 21 deletions

View file

@ -111,7 +111,7 @@
<BLOCKQUOTE>
<BLOCKQUOTE>
<UL>
<LI><A name="Compact_Hierarchical"/>
<LI><A name="Compact Hierarchical"/>
<B>Compact Hierarchical</B> is the <B>TidierTree Layout Algorithm</B>. It builds a tree
structure and attempts to reduce horizontal space.</LI>
@ -133,32 +133,28 @@
line up those favored edges so they are vertical in the presentation. There are four layering
algorithms:</LI>
<LI style="list-style: none"/>
<UL>
<LI><A name="Hierarchical_MinCross_Top_Down"/>
<B>Top Down</B> - Biases the vertices to the top. Sources on the top row.</LI>
<LI><B>Top Down</B> - Biases the vertices to the top. Sources on the top row.</LI>
<LI><A name="Hierarchical_MinCross_Longest_Path"/>
<B>Longest Path</B> - Biases the vertices to the bottom. Sinks are on the bottom row.</LI>
<LI><B>Longest Path</B> - Biases the vertices to the bottom. Sinks are on the bottom row.</LI>
<LI><A name="Hierarchical_MinCross_Network_Simplex"/>
<B>Network Simplex</B> - Layers after finding an 'optimal tree' by not considering longer edges.</LI>
<LI><B>Network Simplex</B> - Layers after finding an 'optimal tree' by not considering longer edges.</LI>
<LI><A name="Hierarchical_MinCross_Coffman_Graham"/>
<B>Coffman Graham</B> - Biases the vertices using a scheduling algorithm to minimize
<LI><B>Coffman Graham</B> - Biases the vertices using a scheduling algorithm to minimize
length. Tends to balance the graph around the middle.</LI>
</UL>
</LI>
<LI><A name="Circle"/>
<B>Circle</B> will arrange vertices in a Circle. </LI>
<LI><A name="Force_Balanced"/>
<LI><A name="Force Balanced"/>
<B>Force Balanced</B> is a <B>Force Directed Layout Algorithm</B> using the the <B>Kamada
Kawai</B> algorithm. It attempts to balance the graph by considering vertices and edge
connections.</LI>
<LI><A name="Force_Directed"/>
<LI><A name="Force Directed"/>
<B>Force Directed</B> is a <B>Force Directed Layout Algorithm</B> using the
<B>Fructermann Reingold</B> approach. It pushes unconnected vertices apart and draws
connected vertices together.</LI>
@ -171,8 +167,8 @@
<B>Balloon</B> is a Tree structure with the root(s) at the centers of circles in a radial
pattern</LI>
<LI><A name="GEM__Graph_Embedder_"/>
<B>GEM</B> is a Force Directed layout with locally separated components</LI>
<LI><A name="GEM"/>
<B>GEM (Graph Embedder)</B> is a Force Directed layout with locally separated components</LI>
</UL>
</BLOCKQUOTE>
</BLOCKQUOTE>

View file

@ -755,14 +755,16 @@ public class DefaultGraphDisplay implements GraphDisplay {
ActionState<String> state = new ActionState<>(layoutName,
DefaultDisplayGraphIcons.LAYOUT_ALGORITHM_ICON, layoutName);
if (layoutName.contains("Vertical Hierarchical MinCross")) {
layoutName = "Vertical Hierarchical MinCross";
// condense hierarchical action help to the top-level help description
String anchor = layoutName;
if (layoutName.contains(LayoutFunction.VERT_MIN_CROSS)) {
anchor = LayoutFunction.VERT_MIN_CROSS;
}
else if (layoutName.contains("Hierarchical MinCross")) {
layoutName = "Hierarchical MinCross";
else if (layoutName.contains(LayoutFunction.MIN_CROSS)) {
anchor = LayoutFunction.MIN_CROSS;
}
state.setHelpLocation(new HelpLocation(ACTION_OWNER, layoutName));
state.setHelpLocation(new HelpLocation(ACTION_OWNER, anchor));
actionStates.add(state);
}
return actionStates;

View file

@ -41,10 +41,12 @@ class LayoutFunction
static final String CIRCLE = "Circle";
static final String TIDIER_TREE = "Compact Hierarchical";
static final String TIDIER_RADIAL_TREE = "Compact Radial";
static final String MIN_CROSS = "Hierarchical MinCross"; //not an alg, just a parent category
static final String MIN_CROSS_TOP_DOWN = "Hierarchical MinCross Top Down";
static final String MIN_CROSS_LONGEST_PATH = "Hierarchical MinCross Longest Path";
static final String MIN_CROSS_NETWORK_SIMPLEX = "Hierarchical MinCross Network Simplex";
static final String MIN_CROSS_COFFMAN_GRAHAM = "Hierarchical MinCross Coffman Graham";
static final String VERT_MIN_CROSS = "Vertical Hierarchical MinCross"; //not an alg, just a parent category
static final String VERT_MIN_CROSS_TOP_DOWN = "Vertical Hierarchical MinCross Top Down";
static final String VERT_MIN_CROSS_LONGEST_PATH = "Vertical Hierarchical MinCross Longest Path";
static final String VERT_MIN_CROSS_NETWORK_SIMPLEX = "Vertical Hierarchical MinCross Network Simplex";
@ -52,7 +54,7 @@ class LayoutFunction
static final String TREE = "Hierarchical";
static final String RADIAL = "Radial";
static final String BALLOON = "Balloon";
static final String GEM = "Gem (Graph Embedder)";
static final String GEM = "GEM";
Predicate<AttributedEdge> favoredEdgePredicate;
Comparator<AttributedEdge> edgeTypeComparator;