Search in sources :

Example 6 with Group

use of net.parostroj.timetable.model.Group in project grafikon by jub77.

the class NodeDelegateGroupImpl method isNode.

@Override
public boolean isNode(TrainTreeNode trainTreeNode, Train train) {
    Group trainGroup = train.getAttributes().get(Train.ATTR_GROUP, Group.class);
    Group nodeGroup = (Group) trainTreeNode.getUserObject();
    return trainGroup == nodeGroup;
}
Also used : Group(net.parostroj.timetable.model.Group)

Example 7 with Group

use of net.parostroj.timetable.model.Group in project grafikon by jub77.

the class ImportAction method actionPerformed.

@Override
public void actionPerformed(ActionEvent event) {
    final Component parent = GuiComponentUtils.getTopLevelComponent(event.getSource());
    ActionContext context = new ActionContext(parent);
    ActionHandler handler = ActionHandler.getInstance();
    context.setAttribute("fileType", supportLibrary ? FileChooserFactory.Type.GTM_GTML : FileChooserFactory.Type.GTM);
    context.setAttribute("diagramImport", model.getDiagram());
    handler.execute(new OpenFileModelAction(context));
    handler.execute(new SelectLoadAction(context));
    handler.execute(new LoadDiagramModelAction(context));
    handler.execute(new LoadLibraryModelAction(context));
    handler.execute(new EventDispatchModelAction(context) {

        @Override
        protected void eventDispatchAction() {
            TrainDiagram diagram = (TrainDiagram) context.getAttribute("diagram");
            boolean cancelled = false;
            Predicate<ObjectWithId> filter = null;
            if (trainImport) {
                groupDialog.setLocationRelativeTo(parent);
                groupDialog.showDialog(diagram, null, model.getDiagram(), null);
                if (groupDialog.isSelected()) {
                    final Group group = groupDialog.getSelectedFrom();
                    filter = new TrainGroupFilter(group);
                } else {
                    cancelled = !groupDialog.isSelected();
                }
            }
            context.setAttribute("trainFilter", filter);
            context.setCancelled(cancelled);
            if (trainImport) {
                context.setAttribute("trainImport", new ImportModelAction.TrainImportConfig(groupDialog.isRemoveExistingTrains(), groupDialog.getSelectedFrom(), groupDialog.getSelectedTo()));
            }
        }
    });
    handler.execute(new ImportSelectionModelAction(context));
    handler.execute(new ImportModelAction(context));
}
Also used : Group(net.parostroj.timetable.model.Group) TrainGroupFilter(net.parostroj.timetable.gui.actions.impl.ImportSelectionModelAction.TrainGroupFilter) LoadDiagramModelAction(net.parostroj.timetable.gui.actions.impl.LoadDiagramModelAction) ImportSelectionModelAction(net.parostroj.timetable.gui.actions.impl.ImportSelectionModelAction) ActionContext(net.parostroj.timetable.gui.actions.execution.ActionContext) OpenFileModelAction(net.parostroj.timetable.gui.actions.impl.OpenFileModelAction) TrainDiagram(net.parostroj.timetable.model.TrainDiagram) Predicate(com.google.common.base.Predicate) ImportModelAction(net.parostroj.timetable.gui.actions.execution.ImportModelAction) EventDispatchModelAction(net.parostroj.timetable.gui.actions.execution.EventDispatchModelAction) SelectLoadAction(net.parostroj.timetable.gui.actions.impl.SelectLoadAction) LoadLibraryModelAction(net.parostroj.timetable.gui.actions.impl.LoadLibraryModelAction) Component(java.awt.Component) ActionHandler(net.parostroj.timetable.gui.actions.execution.ActionHandler)

Example 8 with Group

use of net.parostroj.timetable.model.Group in project grafikon by jub77.

the class GroupImport method importObjectImpl.

@Override
protected ObjectWithId importObjectImpl(ObjectWithId o) {
    // check class
    if (!(o instanceof Group))
        return null;
    Group importedGroup = (Group) o;
    // check existence
    Group checkedGroup = this.getGroup(importedGroup);
    if (checkedGroup != null) {
        String message = "group already exists";
        this.addError(importedGroup, message);
        log.debug("{}: {}", message, checkedGroup);
        return null;
    }
    // create new group
    Group group = getDiagram().getPartFactory().createGroup(this.getId(importedGroup));
    group.getAttributes().add(this.importAttributes(importedGroup.getAttributes()));
    // add to diagram
    this.getDiagram().getGroups().add(group);
    this.addImportedObject(group);
    log.trace("Successfully imported group: {}", group);
    return group;
}
Also used : Group(net.parostroj.timetable.model.Group)

Aggregations

Group (net.parostroj.timetable.model.Group)8 Train (net.parostroj.timetable.model.Train)2 TrainDiagram (net.parostroj.timetable.model.TrainDiagram)2 Predicate (com.google.common.base.Predicate)1 Iterables (com.google.common.collect.Iterables)1 Component (java.awt.Component)1 Collection (java.util.Collection)1 LinkedList (java.util.LinkedList)1 List (java.util.List)1 Map (java.util.Map)1 CyclicBarrier (java.util.concurrent.CyclicBarrier)1 Consumer (java.util.function.Consumer)1 Collectors (java.util.stream.Collectors)1 JOptionPane (javax.swing.JOptionPane)1 ModelPredicates (net.parostroj.timetable.filters.ModelPredicates)1 ActionContext (net.parostroj.timetable.gui.actions.execution.ActionContext)1 ActionHandler (net.parostroj.timetable.gui.actions.execution.ActionHandler)1 EventDispatchModelAction (net.parostroj.timetable.gui.actions.execution.EventDispatchModelAction)1 ImportModelAction (net.parostroj.timetable.gui.actions.execution.ImportModelAction)1 ImportSelectionModelAction (net.parostroj.timetable.gui.actions.impl.ImportSelectionModelAction)1