Skip to content
Snippets Groups Projects
Commit 156d21fe authored by Nils Christian Ehmke's avatar Nils Christian Ehmke
Browse files

Moved more logic from the main view to the main controller.

parent d4b7a2f2
No related branches found
No related tags found
No related merge requests found
......@@ -16,9 +16,11 @@
package kieker.gui.mainview;
import java.util.HashMap;
import java.util.Map;
import kieker.gui.common.model.DataModel;
import kieker.gui.common.model.PropertiesModel;
import kieker.gui.mainview.Model.SubView;
import kieker.gui.subview.ISubController;
import kieker.gui.subview.ISubView;
......@@ -53,17 +55,18 @@ public final class Controller implements SelectionListener {
final ISubController subViewController7 = new kieker.gui.subview.aggregatedtraces.FailureController(this.dataModel, this.propertiesModel);
// Get the sub-views from the controllers
final ISubView subView1 = subViewController1.getView();
final ISubView subView2 = subViewController2.getView();
final ISubView subView3 = subViewController3.getView();
final ISubView subView4 = subViewController4.getView();
final ISubView subView5 = subViewController5.getView();
final ISubView subView6 = subViewController6.getView();
final ISubView subView7 = subViewController7.getView();
final Map<String, ISubView> subViews = new HashMap<>();
subViews.put(SubView.RECORDS_SUB_VIEW.name(), subViewController1.getView());
subViews.put(SubView.AGGREGATED_TRACES_SUB_VIEW.name(), subViewController2.getView());
subViews.put(SubView.FAILED_TRACES_SUB_VIEW.name(), subViewController3.getView());
subViews.put(SubView.TRACES_SUB_VIEW.name(), subViewController4.getView());
subViews.put(SubView.FAILURE_CONTAINING_TRACES_SUB_VIEW.name(), subViewController5.getView());
subViews.put(SubView.FAILED_AGGREGATED_TRACES_SUB_VIEW.name(), subViewController6.getView());
subViews.put(SubView.FAILURE_CONTAINING_AGGREGATED_TRACES_SUB_VIEW.name(), subViewController7.getView());
// Create the main model and the main view
this.mainViewModel = new Model();
this.mainView = new View(this.dataModel, this.mainViewModel, this, subView1, subView2, subView3, subView4, subView5, subView6, subView7);
this.mainView = new View(this.dataModel, this.mainViewModel, this, subViews);
}
public void showView() {
......@@ -108,28 +111,28 @@ public final class Controller implements SelectionListener {
private void handlePotentialTreeSelection(final SelectionEvent e) {
if (e.item == this.mainView.getTrtmExplorer()) {
this.mainViewModel.setCurrentActiveSubView(SubView.NONE);
this.mainViewModel.setCurrentActiveSubView(SubView.NONE.name());
}
if (e.item == this.mainView.getTrtmRecords()) {
this.mainViewModel.setCurrentActiveSubView(SubView.RECORDS_SUB_VIEW);
this.mainViewModel.setCurrentActiveSubView(SubView.RECORDS_SUB_VIEW.name());
}
if (e.item == this.mainView.getTrtmTraces()) {
this.mainViewModel.setCurrentActiveSubView(SubView.TRACES_SUB_VIEW);
this.mainViewModel.setCurrentActiveSubView(SubView.TRACES_SUB_VIEW.name());
}
if (e.item == this.mainView.getTrtmAggregatedTraces()) {
this.mainViewModel.setCurrentActiveSubView(SubView.AGGREGATED_TRACES_SUB_VIEW);
this.mainViewModel.setCurrentActiveSubView(SubView.AGGREGATED_TRACES_SUB_VIEW.name());
}
if (e.item == this.mainView.getTrtmJustFailedTraces()) {
this.mainViewModel.setCurrentActiveSubView(SubView.FAILED_TRACES_SUB_VIEW);
this.mainViewModel.setCurrentActiveSubView(SubView.FAILED_TRACES_SUB_VIEW.name());
}
if (e.item == this.mainView.getTrtmJustTracesContaining()) {
this.mainViewModel.setCurrentActiveSubView(SubView.FAILURE_CONTAINING_TRACES_SUB_VIEW);
this.mainViewModel.setCurrentActiveSubView(SubView.FAILURE_CONTAINING_TRACES_SUB_VIEW.name());
}
if (e.item == this.mainView.getTrtmJustFailedAggTraces()) {
this.mainViewModel.setCurrentActiveSubView(SubView.FAILED_AGGREGATED_TRACES_SUB_VIEW);
this.mainViewModel.setCurrentActiveSubView(SubView.FAILED_AGGREGATED_TRACES_SUB_VIEW.name());
}
if (e.item == this.mainView.getTrtmJustAggTracesContaining()) {
this.mainViewModel.setCurrentActiveSubView(SubView.FAILURE_CONTAINING_AGGREGATED_TRACES_SUB_VIEW);
this.mainViewModel.setCurrentActiveSubView(SubView.FAILURE_CONTAINING_AGGREGATED_TRACES_SUB_VIEW.name());
}
}
......@@ -138,4 +141,8 @@ public final class Controller implements SelectionListener {
// Nothing to do here. This method is just required by the interface.
}
public enum SubView {
RECORDS_SUB_VIEW, TRACES_SUB_VIEW, FAILED_TRACES_SUB_VIEW, AGGREGATED_TRACES_SUB_VIEW, NONE, FAILURE_CONTAINING_TRACES_SUB_VIEW, FAILED_AGGREGATED_TRACES_SUB_VIEW, FAILURE_CONTAINING_AGGREGATED_TRACES_SUB_VIEW
}
}
......@@ -20,21 +20,17 @@ import java.util.Observable;
public final class Model extends Observable {
private SubView currentActiveSubView = SubView.NONE;
private String currentActiveSubViewKey = "";
public SubView getCurrentActiveSubView() {
return this.currentActiveSubView;
public String getCurrentActiveSubViewKey() {
return this.currentActiveSubViewKey;
}
public void setCurrentActiveSubView(final SubView currentActiveSubView) {
this.currentActiveSubView = currentActiveSubView;
public void setCurrentActiveSubView(final String currentActiveSubViewKey) {
this.currentActiveSubViewKey = currentActiveSubViewKey;
this.setChanged();
this.notifyObservers();
}
public enum SubView {
RECORDS_SUB_VIEW, TRACES_SUB_VIEW, FAILED_TRACES_SUB_VIEW, AGGREGATED_TRACES_SUB_VIEW, NONE, FAILURE_CONTAINING_TRACES_SUB_VIEW, FAILED_AGGREGATED_TRACES_SUB_VIEW, FAILURE_CONTAINING_AGGREGATED_TRACES_SUB_VIEW
}
}
......@@ -16,6 +16,7 @@
package kieker.gui.mainview;
import java.util.Map;
import java.util.Observable;
import java.util.Observer;
......@@ -39,14 +40,8 @@ public class View implements Observer {
private final DataModel dataModel;
private final Model mainViewModel;
private final ISubView recordsSubView;
private final ISubView tracesSubView;
private final ISubView failedTracesSubView;
private final ISubView aggregatedTracesSubView;
private final ISubView failureContainingTracesSubView;
private final ISubView subView6;
private final ISubView subView7;
private final Controller controller;
private final Map<String, ISubView> subViews;
private Shell shell;
private Composite subViewComposite;
......@@ -69,18 +64,10 @@ public class View implements Observer {
private TreeItem trtmJustFailedAggTraces;
private TreeItem trtmJustAggTracesContaining;
public View(final DataModel dataModel, final Model mainViewModel, final Controller controller, final ISubView recordsSubView, final ISubView tracesSubView,
final ISubView failedTracesSubView, final ISubView aggregatedTracesSubView, final ISubView failureContainingTracesSubView, final ISubView subView6,
final ISubView subView7) {
public View(final DataModel dataModel, final Model mainViewModel, final Controller controller, final Map<String, ISubView> subViews) {
this.dataModel = dataModel;
this.mainViewModel = mainViewModel;
this.recordsSubView = recordsSubView;
this.tracesSubView = tracesSubView;
this.failureContainingTracesSubView = failureContainingTracesSubView;
this.failedTracesSubView = failedTracesSubView;
this.aggregatedTracesSubView = aggregatedTracesSubView;
this.subView6 = subView6;
this.subView7 = subView7;
this.subViews = subViews;
this.controller = controller;
}
......@@ -214,13 +201,9 @@ public class View implements Observer {
this.subViewComposite.setLayout(this.subViewLayout);
sashForm.setWeights(new int[] { 1, 4 });
this.recordsSubView.createComposite(this.subViewComposite);
this.tracesSubView.createComposite(this.subViewComposite);
this.failedTracesSubView.createComposite(this.subViewComposite);
this.aggregatedTracesSubView.createComposite(this.subViewComposite);
this.failureContainingTracesSubView.createComposite(this.subViewComposite);
this.subView6.createComposite(this.subViewComposite);
this.subView7.createComposite(this.subViewComposite);
for (final ISubView subview : this.subViews.values()) {
subview.createComposite(this.subViewComposite);
}
final Menu menu = new Menu(this.shell, SWT.BAR);
this.shell.setMenuBar(menu);
......@@ -288,38 +271,12 @@ public class View implements Observer {
}
private void handleChangedSubView() {
final Composite subViewToShow;
switch (this.mainViewModel.getCurrentActiveSubView()) {
case NONE:
subViewToShow = null;
break;
case RECORDS_SUB_VIEW:
subViewToShow = this.recordsSubView.getComposite();
break;
case TRACES_SUB_VIEW:
subViewToShow = this.tracesSubView.getComposite();
break;
case AGGREGATED_TRACES_SUB_VIEW:
subViewToShow = this.aggregatedTracesSubView.getComposite();
break;
case FAILED_TRACES_SUB_VIEW:
subViewToShow = this.failedTracesSubView.getComposite();
break;
case FAILURE_CONTAINING_TRACES_SUB_VIEW:
subViewToShow = this.failureContainingTracesSubView.getComposite();
break;
case FAILED_AGGREGATED_TRACES_SUB_VIEW:
subViewToShow = this.subView6.getComposite();
break;
case FAILURE_CONTAINING_AGGREGATED_TRACES_SUB_VIEW:
subViewToShow = this.subView7.getComposite();
break;
default:
subViewToShow = null;
break;
}
final String subViewKey = this.mainViewModel.getCurrentActiveSubViewKey();
final ISubView subViewToShow = this.subViews.get(subViewKey);
final Composite compositeToShow = (subViewToShow != null) ? subViewToShow.getComposite() : null;
this.subViewLayout.topControl = subViewToShow;
this.subViewLayout.topControl = compositeToShow;
this.subViewComposite.layout();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment