import org.eclipse.e4.ui.model.application.ui.menu.MHandledToolItem;
import org.eclipse.e4.ui.model.application.ui.menu.MMenuFactory;
import org.eclipse.e4.ui.model.application.ui.menu.MToolBar;
+import org.eclipse.e4.ui.model.application.ui.menu.MToolBarElement;
import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
import org.eclipse.swt.widgets.Composite;
-import org.simantics.Simantics;
import org.simantics.db.Resource;
import org.simantics.db.common.NamedResource;
-import org.simantics.db.common.procedure.adapter.TransientCacheListener;
import org.simantics.db.exception.DatabaseException;
-import org.simantics.db.layer0.request.PossibleActiveModel;
-import org.simantics.db.layer0.request.PossibleResource;
import org.simantics.district.network.DistrictNetworkUtil;
-import org.simantics.district.network.ui.techtype.requests.PossibleTechTypeTableData;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
MToolBar toolBar = MMenuFactory.INSTANCE.createToolBar();
toolBar.setToBeRendered(true);
toolBar.getChildren().add(createImportCSVDataToolItem(app));
+ toolBar.getChildren().add(createValidateTableToolItem(app));
+ toolBar.getChildren().add(createResetComponentsItem(app));
part.setToolbar(toolBar);
}
+ private MHandledToolItem createValidateTableToolItem(MApplication app) {
+ MHandledToolItem createHandledToolItem = MMenuFactory.INSTANCE.createHandledToolItem();
+ // Command is contributed via fragment
+ MCommand command = app.getCommand("org.simantics.district.network.ui.command.validatetechtypetable");
+ createHandledToolItem.setCommand(command); //$NON-NLS-1$
+ createHandledToolItem.setLabel("Validate Tech Type Table");
+ createHandledToolItem.setIconURI("platform:/plugin/com.famfamfam.silk/icons/accept.png"); //$NON-NLS-1$
+ return createHandledToolItem;
+ }
+
private MHandledToolItem createImportCSVDataToolItem(MApplication app) {
MHandledToolItem createHandledToolItem = MMenuFactory.INSTANCE.createHandledToolItem();
// Command is contributed via fragment
return createHandledToolItem;
}
+ private MToolBarElement createResetComponentsItem(MApplication app) {
+ MHandledToolItem createHandledToolItem = MMenuFactory.INSTANCE.createHandledToolItem();
+ // Command is contributed via fragment
+ MCommand command = app.getCommand("org.simantics.district.network.ui.command.resetcomponentproperties");
+ createHandledToolItem.setCommand(command); //$NON-NLS-1$
+ createHandledToolItem.setLabel("Reset Component Properties");
+ createHandledToolItem.setIconURI("platform:/plugin/com.famfamfam.silk/icons/database_go.png"); //$NON-NLS-1$
+ return createHandledToolItem;
+ }
+
@PostConstruct
public void postConstruct(Composite parent) {
Resource pipe = null;
.filter(r -> r.getName().toLowerCase().contains("pipe"))
.map(r -> r.getResource())
.findFirst().orElse(null);
-
- if (pipe == null) {
- pipe = Simantics.getSession().syncRequest(new PossibleResource("http://DistrictComponents@C/dh_pipe@1"));
- }
} catch (DatabaseException e) {
LOGGER.error("Failed to read district component types for active model", e);
}
LOGGER.debug("Pipe component type is {}", pipe);
- String data = null;
- try {
- Resource model = Simantics.getSession().syncRequest(new PossibleActiveModel(Simantics.getProjectResource()));
- if (model != null)
- data = Simantics.getSession().syncRequest(new PossibleTechTypeTableData(model, pipe), TransientCacheListener.instance());
- } catch (DatabaseException e) {
- LOGGER.error("Failed to read tech type table data for {}", pipe, e);
- }
-
- table = new TechTypeTable(parent, 0, pipe, data);
+ table = new TechTypeTable(parent, 0, pipe);
}
@PreDestroy