Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/cderoove/exapus.git
Browse files Browse the repository at this point in the history
  • Loading branch information
cderoove committed Mar 12, 2013
2 parents 7f9fa73 + 8950c0e commit 1e1466e
Show file tree
Hide file tree
Showing 6 changed files with 108 additions and 68 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,12 @@ public class ViewDefinitionEditor extends EditorPart implements IViewEditorPage{
private ComboViewer comboVWPerspective;
private Button checkRenderable;
private TableViewer tableVWAPI;
private TableViewer tableVWProjects;
private ViewEditor viewEditor;
private ComboViewer comboMetrics;
private ComboViewer comboGraphDetails;
private ComboViewer comboVWAPISource;
private TableViewer tableVWProjects;
private ViewEditor viewEditor;
private ComboViewer comboMetrics;
private ComboViewer comboGraphDetails;
private Button checkGraphDetailsWithUsage;
private ComboViewer comboVWAPISource;
private ToolBar toolbarAPI;
private ToolBar toolbarProjects;
private ComboViewer comboVWProjectSource;
Expand Down Expand Up @@ -221,10 +222,27 @@ public void selectionChanged(SelectionChangedEvent event) {
}
});

Label lblGraphWithUsage = new Label(parent, SWT.NONE);
GridData gd_lblEmpty = new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1);
lblGraphWithUsage.setLayoutData(gd_lblEmpty);

checkGraphDetailsWithUsage = new Button(parent, SWT.CHECK);
checkGraphDetailsWithUsage.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));
checkGraphDetailsWithUsage.setText("Only with usage");
checkGraphDetailsWithUsage.addSelectionListener(new SelectionListener() {
@Override
public void widgetSelected(SelectionEvent selectionEvent) {
getView().setGraphDetailsOnlyWithUsage(checkGraphDetailsWithUsage.getSelection());
}

@Override
public void widgetDefaultSelected(SelectionEvent selectionEvent) {
}
});

//Renderable
Label lblRenderable = new Label(parent, SWT.NONE);
GridData gd_lblRenderable = new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1);
lblRenderable.setLayoutData(gd_lblRenderable);
lblRenderable.setLayoutData(gd_lblEmpty);

checkRenderable = new Button(parent, SWT.CHECK);
checkRenderable.setSelection(getView().getRenderable());
Expand All @@ -238,6 +256,8 @@ public void selectionChanged(SelectionChangedEvent event) {
public void widgetSelected(SelectionEvent e) {
getView().setRenderable(checkRenderable.getSelection());
updateComboMetrics();
comboGraphDetails.getCombo().setEnabled(checkRenderable.getSelection());
checkGraphDetailsWithUsage.setEnabled(checkRenderable.getSelection());
}

@Override
Expand All @@ -249,7 +269,10 @@ public void widgetDefaultSelected(SelectionEvent e) {
comboVWPerspective.setInput(Perspective.supportedPerspectives());
comboGraphDetails.setInput(GraphDetails.supportedDetails());

updateComboMetrics();
comboGraphDetails.getCombo().setEnabled(checkRenderable.getSelection());
checkGraphDetailsWithUsage.setEnabled(checkRenderable.getSelection());

updateComboMetrics();
}

private void configureSelectionTableAndToolBar(final TableViewer tableVW, ToolBar toolbar, final Perspective perspective) {
Expand Down Expand Up @@ -384,7 +407,7 @@ private void enableControls(boolean enabled) {
tableVWAPI.getControl().setEnabled(enabled);
tableVWProjects.getControl().setEnabled(enabled);
comboMetrics.getControl().setEnabled(enabled);
comboGraphDetails.getControl().setEnabled(enabled);
//comboGraphDetails.getControl().setEnabled(enabled);
toolbarProjects.setEnabled(enabled);
toolbarAPI.setEnabled(enabled);
}
Expand Down
2 changes: 1 addition & 1 deletion ExapusRAP/src/exapus/model/details/GraphDetails.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package exapus.model.details;

public enum GraphDetails {
GROUPED_PACKAGES, TOP_LEVEL_TYPES_WITH_USAGE, TOP_LEVEL_TYPES;
GROUPED_PACKAGES, TOP_LEVEL_TYPES;

public static GraphDetails defaultValue() {
return GROUPED_PACKAGES;
Expand Down
12 changes: 12 additions & 0 deletions ExapusRAP/src/exapus/model/view/View.java
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ public View(String n, Perspective p) {
private boolean renderable;

private GraphDetails graphDetails;
private boolean graphDetailsOnlyWithUsage;

private Perspective perspective;

Expand Down Expand Up @@ -284,6 +285,17 @@ public void setGraphDetails(GraphDetails graphDetails) {
}
}

public boolean isGraphDetailsOnlyWithUsage() {
return graphDetailsOnlyWithUsage;
}

public void setGraphDetailsOnlyWithUsage(boolean graphDetailsOnlyWithUsage) {
if (this.graphDetailsOnlyWithUsage != graphDetailsOnlyWithUsage) {
this.graphDetailsOnlyWithUsage = graphDetailsOnlyWithUsage;
makeDirty();
}
}

public String toString() {
return name;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@ public static GraphBuilder forView(View v) {
switch (v.getGraphDetails()) {
case GROUPED_PACKAGES:
return new GroupedPackagesGraphBuilder(v);
case TOP_LEVEL_TYPES_WITH_USAGE:
return new TopLevelTypesWithUsageGraphBuilder(v);
case TOP_LEVEL_TYPES:
return new TopLevelTypesGraphBuilder(v);
default:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,15 @@ public boolean visitPackageTree(PackageTree packageTree) {

@Override
public boolean visitPackageLayer(PackageLayer packageLayer) {
graph.add(packageLayer);
graph.add(new Edge(packageLayer.getParent(), packageLayer));
if (getView().isGraphDetailsOnlyWithUsage()) {
if (packageLayer.getMetric(getView().getMetricType()).getValue(false) > 0) {
graph.add(packageLayer);
graph.add(new Edge(packageLayer.getParent(), packageLayer));
}
} else {
graph.add(packageLayer);
graph.add(new Edge(packageLayer.getParent(), packageLayer));
}
return true;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,69 +1,69 @@
package exapus.model.view.graphbuilder;

import exapus.gui.editors.forest.graph.Edge;
import exapus.model.forest.FactForest;
import exapus.model.forest.InboundFactForest;
import exapus.model.forest.InboundRef;
import exapus.model.forest.Member;
import exapus.model.forest.OutboundFactForest;
import exapus.model.forest.OutboundRef;
import exapus.model.forest.PackageLayer;
import exapus.model.forest.PackageTree;
import exapus.model.forest.*;
import exapus.model.view.View;
import exapus.model.visitors.IForestVisitor;

public class TopLevelTypesGraphBuilder extends GraphBuilder {

TopLevelTypesGraphBuilder(View v) {
super(v);
}

protected IForestVisitor newVisitor() {
return new IForestVisitor() {
@Override
public boolean visitInboundFactForest(InboundFactForest forest) {
return true;
}

@Override
public boolean visitOutboundFactForest(OutboundFactForest forest) {
return true;
}
TopLevelTypesGraphBuilder(View v) {
super(v);
}

@Override
public boolean visitPackageTree(PackageTree packageTree) {
graph.add(packageTree);
return true;
}
protected IForestVisitor newVisitor() {
return new IForestVisitor() {
@Override
public boolean visitInboundFactForest(InboundFactForest forest) {
return true;
}

@Override
public boolean visitPackageLayer(PackageLayer packageLayer) {
graph.add(packageLayer);
graph.add(new Edge(packageLayer.getParent(),packageLayer));
return true;
}
@Override
public boolean visitOutboundFactForest(OutboundFactForest forest) {
return true;
}

@Override
public boolean visitMember(Member member) {
if(member.isTopLevel()) {
graph.add(member);
graph.add(new Edge(member.getParent(),member));
}
return false;
}
@Override
public boolean visitPackageTree(PackageTree packageTree) {
graph.add(packageTree);
return true;
}

@Override
public boolean visitInboundReference(InboundRef inboundRef) {
return false;
}
@Override
public boolean visitPackageLayer(PackageLayer packageLayer) {
graph.add(packageLayer);
graph.add(new Edge(packageLayer.getParent(), packageLayer));
return true;
}

@Override
public boolean visitOutboundReference(OutboundRef outboundRef) {
return false;
}

};

}
@Override
public boolean visitMember(Member member) {
if (member.isTopLevel()) {
if (getView().isGraphDetailsOnlyWithUsage()) {
if (member.getMetric(getView().getMetricType()).getValue(true) > 0) {
graph.add(member);
graph.add(new Edge(member.getParent(), member));
}
} else {
graph.add(member);
graph.add(new Edge(member.getParent(), member));
}
}
return false;
}

@Override
public boolean visitInboundReference(InboundRef inboundRef) {
return false;
}

@Override
public boolean visitOutboundReference(OutboundRef outboundRef) {
return false;
}

};

}

}

0 comments on commit 1e1466e

Please sign in to comment.