extend tracing to have style info output
diff --git a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/TraceService.java b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/TraceService.java
index 9dcc883..04eb5df 100644
--- a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/TraceService.java
+++ b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/TraceService.java
@@ -22,9 +22,11 @@
import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.Label;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.gef.EditPart;
import org.eclipse.graphiti.datatypes.IDimension;
import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
+import org.eclipse.graphiti.mm.algorithms.styles.Style;
import org.eclipse.graphiti.mm.pictograms.PictogramElement;
import org.eclipse.graphiti.services.Graphiti;
import org.eclipse.graphiti.ui.internal.figures.GFMultilineText;
@@ -39,6 +41,7 @@
private final boolean FULL_QUALIFIED = false;
private final boolean ADD_OBJECT_INFO = false;
+ private final boolean ADD_STYLE_INFO = false;
public String getStacktrace(Throwable t) {
if (t == null)
@@ -143,19 +146,54 @@
String additional = ""; //$NON-NLS-1$
IDimension size = Graphiti.getGaService().calculateSize(ga);
- additional = additional + " (" + ga.getX() + ", " + ga.getY() + ", " + size.getWidth() + ", " + size.getHeight() + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
+ additional = additional
+ + " (" + ga.getX() + ", " + ga.getY() + ", " + size.getWidth() + ", " + size.getHeight() + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
if (ADD_OBJECT_INFO) {
additional = additional + " (" + getObjectInfo(ga) + ")"; //$NON-NLS-1$ //$NON-NLS-2$
}
System.out.println(indentString + getClassName(ga, FULL_QUALIFIED) + additional);
+ if (ADD_STYLE_INFO) {
+ if (ga.getStyle() != null) {
+ Style style = ga.getStyle();
+ dumpStyleTree(style, indent + 2);
+ }
+ }
+
List<GraphicsAlgorithm> gaChildren = ga.getGraphicsAlgorithmChildren();
for (GraphicsAlgorithm gaChild : gaChildren) {
dumpGATree(gaChild, indent + 2);
}
}
+ public void dumpStyleTree(Style style) {
+ dumpStyleTree(style, 0);
+ }
+
+ public void dumpStyleTree(Style style, int indent) {
+ String indentString = createIndentString(indent);
+ if (style == null) {
+ return;
+ }
+ String additional = ""; //$NON-NLS-1$
+ String styleId = style.getId();
+ if (styleId != null) {
+ additional = additional + " (" + styleId + ")";
+ }
+ if (ADD_OBJECT_INFO) {
+ additional = additional + " (" + getObjectInfo(style) + ")"; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ System.out.println(indentString + getClassName(style, FULL_QUALIFIED) + additional);
+
+ EObject eC = style.eContainer();
+ if (eC instanceof Style) {
+ Style parentStyle = (Style) eC;
+ dumpStyleTree(parentStyle, indent + 2);
+ }
+ }
+
private String getClassName(Object o, boolean fullQualified) {
if (fullQualified) {
return o.getClass().getName();