View | Details | Raw Unified | Return to bug 129417 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/editparts/LEDEditPart.java (-4 / +4 lines)
Lines 26-35 Link Here
26
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.figures.LEDFigure;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.figures.LEDFigure;
27
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.figures.TerminalFigure;
27
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.figures.TerminalFigure;
28
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.figures.TopTerminalFigure;
28
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.figures.TopTerminalFigure;
29
import org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal;
29
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputTerminal;
30
import org.eclipse.gmf.examples.runtime.diagram.logic.model.LED;
30
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED;
31
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
31
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
32
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal;
32
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal;
33
import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
33
import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
34
import org.eclipse.gmf.runtime.diagram.ui.editpolicies.NonResizableEditPolicyEx;
34
import org.eclipse.gmf.runtime.diagram.ui.editpolicies.NonResizableEditPolicyEx;
35
import org.eclipse.gmf.runtime.draw2d.ui.mapmode.IMapMode;
35
import org.eclipse.gmf.runtime.draw2d.ui.mapmode.IMapMode;
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/editparts/CircuitEditPart.java (-2 / +2 lines)
Lines 23-30 Link Here
23
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.figures.CircuitFigure;
23
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.figures.CircuitFigure;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.figures.TerminalFigure;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.figures.TerminalFigure;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.figures.TopTerminalFigure;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.figures.TopTerminalFigure;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputTerminal;
27
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal;
27
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal;
28
import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
28
import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
29
import org.eclipse.gmf.runtime.draw2d.ui.figures.ConstrainedToolbarLayout;
29
import org.eclipse.gmf.runtime.draw2d.ui.figures.ConstrainedToolbarLayout;
30
import org.eclipse.gmf.runtime.draw2d.ui.mapmode.IMapMode;
30
import org.eclipse.gmf.runtime.draw2d.ui.mapmode.IMapMode;
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/editparts/LogicGateEditPart.java (-4 / +4 lines)
Lines 28-37 Link Here
28
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.figures.OrGateTerminalFigure;
28
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.figures.OrGateTerminalFigure;
29
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.figures.OutputTerminalFigure;
29
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.figures.OutputTerminalFigure;
30
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.figures.XOrGateFigure;
30
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.figures.XOrGateFigure;
31
import org.eclipse.gmf.examples.runtime.diagram.logic.model.AndGate;
31
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.AndGate;
32
import org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal;
32
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputTerminal;
33
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
33
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
34
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal;
34
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal;
35
import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
35
import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
36
import org.eclipse.gmf.runtime.diagram.ui.editpolicies.NonResizableEditPolicyEx;
36
import org.eclipse.gmf.runtime.diagram.ui.editpolicies.NonResizableEditPolicyEx;
37
import org.eclipse.gmf.runtime.diagram.ui.figures.BorderItemLocator;
37
import org.eclipse.gmf.runtime.diagram.ui.figures.BorderItemLocator;
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/edithelpers/TerminalEditHelper.java (-1 / +1 lines)
Lines 14-20 Link Here
14
import java.util.Collection;
14
import java.util.Collection;
15
15
16
import org.eclipse.emf.ecore.EReference;
16
import org.eclipse.emf.ecore.EReference;
17
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
17
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
18
import org.eclipse.gmf.runtime.common.core.command.ICommand;
18
import org.eclipse.gmf.runtime.common.core.command.ICommand;
19
import org.eclipse.gmf.runtime.emf.core.util.EMFCoreUtil;
19
import org.eclipse.gmf.runtime.emf.core.util.EMFCoreUtil;
20
import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyDependentsRequest;
20
import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyDependentsRequest;
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/edithelpers/HalfAdderAdvice.java (-8 / +8 lines)
Lines 13-28 Link Here
13
import java.util.List;
13
import java.util.List;
14
14
15
import org.eclipse.core.commands.ExecutionException;
15
import org.eclipse.core.commands.ExecutionException;
16
import org.eclipse.core.runtime.IProgressMonitor;
17
import org.eclipse.core.runtime.IAdaptable;
16
import org.eclipse.core.runtime.IAdaptable;
17
import org.eclipse.core.runtime.IProgressMonitor;
18
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.commands.ConfigureLogicElementCommand;
18
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.commands.ConfigureLogicElementCommand;
19
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Circuit;
19
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Circuit;
20
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Gate;
20
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Gate;
21
import org.eclipse.gmf.examples.runtime.diagram.logic.model.InputOutputTerminal;
21
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputOutputTerminal;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputTerminal;
23
import org.eclipse.gmf.examples.runtime.diagram.logic.model.OutputTerminal;
23
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OutputTerminal;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.model.util.LogicSemanticType;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.util.LogicSemanticType;
26
import org.eclipse.gmf.runtime.common.core.command.CommandResult;
26
import org.eclipse.gmf.runtime.common.core.command.CommandResult;
27
import org.eclipse.gmf.runtime.common.core.command.ICommand;
27
import org.eclipse.gmf.runtime.common.core.command.ICommand;
28
import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
28
import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/edithelpers/WireEditHelper.java (-3 / +3 lines)
Lines 12-20 Link Here
12
12
13
import org.eclipse.emf.ecore.EObject;
13
import org.eclipse.emf.ecore.EObject;
14
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.commands.ReorientWireCommand;
14
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.commands.ReorientWireCommand;
15
import org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal;
15
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputTerminal;
16
import org.eclipse.gmf.examples.runtime.diagram.logic.model.OutputTerminal;
16
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OutputTerminal;
17
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
17
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
18
import org.eclipse.gmf.runtime.common.core.command.ICommand;
18
import org.eclipse.gmf.runtime.common.core.command.ICommand;
19
import org.eclipse.gmf.runtime.emf.core.util.EMFCoreUtil;
19
import org.eclipse.gmf.runtime.emf.core.util.EMFCoreUtil;
20
import org.eclipse.gmf.runtime.emf.type.core.commands.GetEditContextCommand;
20
import org.eclipse.gmf.runtime.emf.type.core.commands.GetEditContextCommand;
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/edithelpers/LEDEditHelper.java (-5 / +4 lines)
Lines 12-25 Link Here
12
package org.eclipse.gmf.examples.runtime.diagram.logic.internal.edithelpers;
12
package org.eclipse.gmf.examples.runtime.diagram.logic.internal.edithelpers;
13
13
14
import org.eclipse.core.commands.ExecutionException;
14
import org.eclipse.core.commands.ExecutionException;
15
import org.eclipse.core.runtime.IProgressMonitor;
16
import org.eclipse.core.runtime.IAdaptable;
15
import org.eclipse.core.runtime.IAdaptable;
17
16
import org.eclipse.core.runtime.IProgressMonitor;
17
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.commands.ConfigureLogicElementCommand;
18
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED;
19
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
18
import org.eclipse.gmf.runtime.common.core.command.CommandResult;
20
import org.eclipse.gmf.runtime.common.core.command.CommandResult;
19
import org.eclipse.gmf.runtime.common.core.command.ICommand;
21
import org.eclipse.gmf.runtime.common.core.command.ICommand;
20
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.commands.ConfigureLogicElementCommand;
21
import org.eclipse.gmf.examples.runtime.diagram.logic.model.LED;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
23
import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
22
import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
24
23
25
/**
24
/**
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/edithelpers/GateEditHelper.java (-5 / +4 lines)
Lines 12-25 Link Here
12
package org.eclipse.gmf.examples.runtime.diagram.logic.internal.edithelpers;
12
package org.eclipse.gmf.examples.runtime.diagram.logic.internal.edithelpers;
13
13
14
import org.eclipse.core.commands.ExecutionException;
14
import org.eclipse.core.commands.ExecutionException;
15
import org.eclipse.core.runtime.IProgressMonitor;
16
import org.eclipse.core.runtime.IAdaptable;
15
import org.eclipse.core.runtime.IAdaptable;
17
16
import org.eclipse.core.runtime.IProgressMonitor;
17
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.commands.ConfigureLogicElementCommand;
18
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Gate;
19
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
18
import org.eclipse.gmf.runtime.common.core.command.CommandResult;
20
import org.eclipse.gmf.runtime.common.core.command.CommandResult;
19
import org.eclipse.gmf.runtime.common.core.command.ICommand;
21
import org.eclipse.gmf.runtime.common.core.command.ICommand;
20
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.commands.ConfigureLogicElementCommand;
21
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Gate;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
23
import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
22
import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
24
23
25
/**
24
/**
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/edithelpers/ContainerElementEditHelper.java (-4 / +4 lines)
Lines 12-21 Link Here
12
package org.eclipse.gmf.examples.runtime.diagram.logic.internal.edithelpers;
12
package org.eclipse.gmf.examples.runtime.diagram.logic.internal.edithelpers;
13
13
14
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.commands.CreateWireCommand;
14
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.commands.CreateWireCommand;
15
import org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal;
15
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputTerminal;
16
import org.eclipse.gmf.examples.runtime.diagram.logic.model.OutputTerminal;
16
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OutputTerminal;
17
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
17
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
18
import org.eclipse.gmf.examples.runtime.diagram.logic.model.util.LogicSemanticType;
18
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.util.LogicSemanticType;
19
import org.eclipse.gmf.runtime.common.core.command.ICommand;
19
import org.eclipse.gmf.runtime.common.core.command.ICommand;
20
import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
20
import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
21
import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
21
import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/edithelpers/CircuitEditHelper.java (-5 / +4 lines)
Lines 12-25 Link Here
12
package org.eclipse.gmf.examples.runtime.diagram.logic.internal.edithelpers;
12
package org.eclipse.gmf.examples.runtime.diagram.logic.internal.edithelpers;
13
13
14
import org.eclipse.core.commands.ExecutionException;
14
import org.eclipse.core.commands.ExecutionException;
15
import org.eclipse.core.runtime.IProgressMonitor;
16
import org.eclipse.core.runtime.IAdaptable;
15
import org.eclipse.core.runtime.IAdaptable;
17
16
import org.eclipse.core.runtime.IProgressMonitor;
17
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.commands.ConfigureLogicElementCommand;
18
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Circuit;
19
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
18
import org.eclipse.gmf.runtime.common.core.command.CommandResult;
20
import org.eclipse.gmf.runtime.common.core.command.CommandResult;
19
import org.eclipse.gmf.runtime.common.core.command.ICommand;
21
import org.eclipse.gmf.runtime.common.core.command.ICommand;
20
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.commands.ConfigureLogicElementCommand;
21
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Circuit;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
23
import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
22
import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
24
23
25
/**
24
/**
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/commands/ReorientWireCommand.java (-5 / +4 lines)
Lines 12-25 Link Here
12
package org.eclipse.gmf.examples.runtime.diagram.logic.internal.commands;
12
package org.eclipse.gmf.examples.runtime.diagram.logic.internal.commands;
13
13
14
import org.eclipse.core.commands.ExecutionException;
14
import org.eclipse.core.commands.ExecutionException;
15
import org.eclipse.core.runtime.IProgressMonitor;
16
import org.eclipse.core.runtime.IAdaptable;
15
import org.eclipse.core.runtime.IAdaptable;
16
import org.eclipse.core.runtime.IProgressMonitor;
17
import org.eclipse.emf.ecore.EObject;
17
import org.eclipse.emf.ecore.EObject;
18
18
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputTerminal;
19
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OutputTerminal;
20
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire;
19
import org.eclipse.gmf.runtime.common.core.command.CommandResult;
21
import org.eclipse.gmf.runtime.common.core.command.CommandResult;
20
import org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal;
21
import org.eclipse.gmf.examples.runtime.diagram.logic.model.OutputTerminal;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire;
23
import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
22
import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
24
import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
23
import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
25
24
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/commands/CreateWireCommand.java (-4 / +4 lines)
Lines 12-21 Link Here
12
package org.eclipse.gmf.examples.runtime.diagram.logic.internal.commands;
12
package org.eclipse.gmf.examples.runtime.diagram.logic.internal.commands;
13
13
14
import org.eclipse.emf.ecore.EObject;
14
import org.eclipse.emf.ecore.EObject;
15
import org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal;
15
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputTerminal;
16
import org.eclipse.gmf.examples.runtime.diagram.logic.model.OutputTerminal;
16
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OutputTerminal;
17
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
17
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
18
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire;
18
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire;
19
import org.eclipse.gmf.runtime.emf.core.util.EMFCoreUtil;
19
import org.eclipse.gmf.runtime.emf.core.util.EMFCoreUtil;
20
import org.eclipse.gmf.runtime.emf.type.core.commands.CreateRelationshipCommand;
20
import org.eclipse.gmf.runtime.emf.type.core.commands.CreateRelationshipCommand;
21
import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
21
import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/commands/ConfigureLogicElementCommand.java (-10 / +10 lines)
Lines 18-33 Link Here
18
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.LogicDiagramDebugOptions;
18
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.LogicDiagramDebugOptions;
19
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.LogicDiagramPlugin;
19
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.LogicDiagramPlugin;
20
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.LogicDiagramStatusCodes;
20
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.LogicDiagramStatusCodes;
21
import org.eclipse.gmf.examples.runtime.diagram.logic.model.ContainerElement;
21
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.ContainerElement;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Element;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element;
23
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Gate;
23
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Gate;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.model.InputOutputTerminal;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputOutputTerminal;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputTerminal;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.model.OutputTerminal;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OutputTerminal;
27
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
27
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
28
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal;
28
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal;
29
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire;
29
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire;
30
import org.eclipse.gmf.examples.runtime.diagram.logic.model.util.LogicSemanticType;
30
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.util.LogicSemanticType;
31
import org.eclipse.gmf.runtime.common.core.command.CommandResult;
31
import org.eclipse.gmf.runtime.common.core.command.CommandResult;
32
import org.eclipse.gmf.runtime.common.core.command.ICommand;
32
import org.eclipse.gmf.runtime.common.core.command.ICommand;
33
import org.eclipse.gmf.runtime.common.core.util.Log;
33
import org.eclipse.gmf.runtime.common.core.util.Log;
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/providers/LogicEditPartProvider.java (-3 / +2 lines)
Lines 15-30 Link Here
15
import java.util.Map;
15
import java.util.Map;
16
16
17
import org.eclipse.emf.ecore.EClass;
17
import org.eclipse.emf.ecore.EClass;
18
19
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.CircuitEditPart;
18
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.CircuitEditPart;
20
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.TerminalEditPart;
21
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.LEDEditPart;
19
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.LEDEditPart;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.LogicFlowCompartmentEditPart;
20
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.LogicFlowCompartmentEditPart;
23
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.LogicFlowContainerEditPart;
21
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.LogicFlowContainerEditPart;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.LogicGateEditPart;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.LogicGateEditPart;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.LogicShapeCompartmentEditPart;
23
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.LogicShapeCompartmentEditPart;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.TerminalEditPart;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.WireEditPart;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.WireEditPart;
27
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
28
import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
27
import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
29
import org.eclipse.gmf.runtime.diagram.ui.services.editpart.AbstractEditPartProvider;
28
import org.eclipse.gmf.runtime.diagram.ui.services.editpart.AbstractEditPartProvider;
30
import org.eclipse.gmf.runtime.notation.View;
29
import org.eclipse.gmf.runtime.notation.View;
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/providers/LogicViewProvider.java (-1 / +1 lines)
Lines 25-31 Link Here
25
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.views.factories.LogicShapeCompartmentViewFactory;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.views.factories.LogicShapeCompartmentViewFactory;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.views.factories.OrGateViewFactory;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.views.factories.OrGateViewFactory;
27
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.views.factories.XORGateViewFactory;
27
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.views.factories.XORGateViewFactory;
28
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
28
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
29
import org.eclipse.gmf.runtime.diagram.core.providers.AbstractViewProvider;
29
import org.eclipse.gmf.runtime.diagram.core.providers.AbstractViewProvider;
30
import org.eclipse.gmf.runtime.diagram.ui.view.factories.ConnectionViewFactory;
30
import org.eclipse.gmf.runtime.diagram.ui.view.factories.ConnectionViewFactory;
31
import org.eclipse.gmf.runtime.diagram.ui.view.factories.DiagramViewFactory;
31
import org.eclipse.gmf.runtime.diagram.ui.view.factories.DiagramViewFactory;
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/providers/LogicPaletteFactory.java (-2 / +1 lines)
Lines 15-22 Link Here
15
import java.util.Map;
15
import java.util.Map;
16
16
17
import org.eclipse.gef.Tool;
17
import org.eclipse.gef.Tool;
18
18
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.util.LogicSemanticType;
19
import org.eclipse.gmf.examples.runtime.diagram.logic.model.util.LogicSemanticType;
20
import org.eclipse.gmf.runtime.diagram.ui.services.palette.PaletteFactory;
19
import org.eclipse.gmf.runtime.diagram.ui.services.palette.PaletteFactory;
21
import org.eclipse.gmf.runtime.diagram.ui.tools.ConnectionCreationTool;
20
import org.eclipse.gmf.runtime.diagram.ui.tools.ConnectionCreationTool;
22
import org.eclipse.gmf.runtime.diagram.ui.tools.CreationTool;
21
import org.eclipse.gmf.runtime.diagram.ui.tools.CreationTool;
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/providers/LogicModelingAssistantProvider.java (-3 / +2 lines)
Lines 16-29 Link Here
16
import java.util.List;
16
import java.util.List;
17
17
18
import org.eclipse.core.runtime.IAdaptable;
18
import org.eclipse.core.runtime.IAdaptable;
19
20
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.ITerminalOwnerEditPart;
19
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.ITerminalOwnerEditPart;
21
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.LogicFlowCompartmentEditPart;
20
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.LogicFlowCompartmentEditPart;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.LogicShapeCompartmentEditPart;
21
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.LogicShapeCompartmentEditPart;
23
import org.eclipse.gmf.examples.runtime.diagram.logic.model.util.LogicSemanticType;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.util.LogicSemanticType;
24
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
23
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
25
import org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.ModelingAssistantProvider;
26
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
24
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
25
import org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.ModelingAssistantProvider;
27
26
28
/**
27
/**
29
 * Provides modeling assistant services for logic diagrams.
28
 * Provides modeling assistant services for logic diagrams.
(-)META-INF/MANIFEST.MF (-1 / +3 lines)
Lines 43-48 Link Here
43
 org.eclipse.gmf.examples.runtime.diagram.logic.model.edit,
43
 org.eclipse.gmf.examples.runtime.diagram.logic.model.edit,
44
 org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide,
44
 org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide,
45
 org.eclipse.gmf.runtime.diagram.ui.providers.ide,
45
 org.eclipse.gmf.runtime.diagram.ui.providers.ide,
46
 org.eclipse.gmf.runtime.diagram.ui.render
46
 org.eclipse.gmf.runtime.diagram.ui.render,
47
 org.eclipse.gmf.runtime.common.ui.services.dnd,
48
 org.eclipse.emf.edit.ui
47
Eclipse-LazyStart: true
49
Eclipse-LazyStart: true
48
50
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/editpolicies/LEDEditPolicy.java (-1 / +1 lines)
Lines 19-25 Link Here
19
import org.eclipse.gef.EditPart;
19
import org.eclipse.gef.EditPart;
20
import org.eclipse.gef.Request;
20
import org.eclipse.gef.Request;
21
import org.eclipse.gef.commands.Command;
21
import org.eclipse.gef.commands.Command;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.model.LED;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED;
23
import org.eclipse.gmf.runtime.common.core.command.CommandResult;
23
import org.eclipse.gmf.runtime.common.core.command.CommandResult;
24
import org.eclipse.gmf.runtime.diagram.ui.commands.EtoolsProxyCommand;
24
import org.eclipse.gmf.runtime.diagram.ui.commands.EtoolsProxyCommand;
25
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
25
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/editpolicies/TerminalCanonicalEditPolicy.java (-12 / +5 lines)
Lines 17-29 Link Here
17
17
18
import org.eclipse.core.runtime.IAdaptable;
18
import org.eclipse.core.runtime.IAdaptable;
19
import org.eclipse.draw2d.geometry.Point;
19
import org.eclipse.draw2d.geometry.Point;
20
import org.eclipse.emf.common.notify.Notification;
20
import org.eclipse.emf.transaction.TransactionalEditingDomain;
21
import org.eclipse.emf.transaction.TransactionalEditingDomain;
21
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.ITerminalOwnerEditPart;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.ITerminalOwnerEditPart;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.l10n.ExampleDiagramLogicMessages;
23
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.l10n.ExampleDiagramLogicMessages;
23
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.providers.LogicConstants;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.providers.LogicConstants;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Circuit;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Circuit;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Element;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal;
27
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal;
27
import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
28
import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
28
import org.eclipse.gmf.runtime.common.core.command.ICommand;
29
import org.eclipse.gmf.runtime.common.core.command.ICommand;
29
import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
30
import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
Lines 59-72 Link Here
59
			List theInput = logicElement.getInputTerminals();
60
			List theInput = logicElement.getInputTerminals();
60
			List theOutput = logicElement.getOutputTerminals();
61
			List theOutput = logicElement.getOutputTerminals();
61
		
62
		
62
			int icnt = theInput.size();
63
			int ocnt = theOutput.size();
64
		
65
			if(icnt < 1 || ocnt < 1)
66
			{
67
				return Collections.EMPTY_LIST;
68
			}
69
		
70
			theElements.addAll(theInput);
63
			theElements.addAll(theInput);
71
			theElements.addAll(theOutput);
64
			theElements.addAll(theOutput);
72
		}
65
		}
Lines 116-120 Link Here
116
		cc.compose(boundsCommand);
109
		cc.compose(boundsCommand);
117
		
110
		
118
		return cc;
111
		return cc;
119
	}	
112
	}
120
}
113
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/editpolicies/CircuitCompartmentCanonicalEditPolicy.java (-3 / +3 lines)
Lines 18-26 Link Here
18
import org.eclipse.emf.common.util.UniqueEList;
18
import org.eclipse.emf.common.util.UniqueEList;
19
import org.eclipse.emf.ecore.EObject;
19
import org.eclipse.emf.ecore.EObject;
20
import org.eclipse.emf.ecore.util.EcoreUtil;
20
import org.eclipse.emf.ecore.util.EcoreUtil;
21
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Circuit;
21
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Circuit;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Element;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element;
23
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire;
23
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire;
24
import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CanonicalConnectionEditPolicy;
24
import org.eclipse.gmf.runtime.diagram.ui.editpolicies.CanonicalConnectionEditPolicy;
25
import org.eclipse.gmf.runtime.notation.View;
25
import org.eclipse.gmf.runtime.notation.View;
26
26
(-)plugin.xml (-3 / +48 lines)
Lines 12-18 Link Here
12
12
13
   <extension point="org.eclipse.ui.editors">   
13
   <extension point="org.eclipse.ui.editors">   
14
      <editor
14
      <editor
15
            class="org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide.editor.FileDiagramEditorWithFlyoutPalette"
15
            class="org.eclipse.gmf.examples.runtime.diagram.logic.internal.ui.parts.LogicNotationEditor"
16
            contributorClass="org.eclipse.gmf.examples.runtime.diagram.logic.internal.ui.parts.LogicDiagramActionBarContributor"
16
            contributorClass="org.eclipse.gmf.examples.runtime.diagram.logic.internal.ui.parts.LogicDiagramActionBarContributor"
17
            default="true"
17
            default="true"
18
            extensions="logic2"
18
            extensions="logic2"
Lines 38-47 Link Here
38
         </Priority>
38
         </Priority>
39
         <context viewClass="org.eclipse.gmf.runtime.notation.Diagram" semanticHints="">
39
         <context viewClass="org.eclipse.gmf.runtime.notation.Diagram" semanticHints="">
40
         </context>
40
         </context>
41
         <context viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="FlowContainer, circuit, LED, LogicCompartment, LogicFlowCompartment, OrGate, AndGate, XORGate">
41
         <context
42
               semanticHints="FlowContainer, circuit, LED, LogicCompartment, LogicFlowCompartment, OrGate, AndGate, XORGate"
43
               viewClass="org.eclipse.gmf.runtime.notation.Node">
42
         </context>
44
         </context>
43
         <context viewClass="org.eclipse.gmf.runtime.notation.Edge" semanticHints="wire">
45
         <context viewClass="org.eclipse.gmf.runtime.notation.Edge" semanticHints="wire">
44
         </context>
46
         </context>
47
         <object class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)" id="LED">
48
            <method name="getProxyClassID()" value="semantic.LED">
49
            </method>
50
         </object>  
51
         <object class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)" id="AndGate">
52
            <method name="getProxyClassID()" value="semantic.AndGate">
53
            </method>
54
         </object>
55
         <object class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)" id="OrGate">
56
            <method name="getProxyClassID()" value="semantic.OrGate">
57
            </method>
58
         </object>
59
         <object class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)" id="XORGate">
60
            <method name="getProxyClassID()" value="semantic.XORGate">
61
            </method>
62
         </object>
63
         <object class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)" id="Circuit">
64
            <method name="getProxyClassID()" value="semantic.Circuit">
65
            </method>
66
         </object> 
67
         <object class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)" id="FlowContainer">
68
            <method name="getProxyClassID()" value="semantic.FlowContainer">
69
            </method>
70
         </object> 
71
         <object class="org.eclipse.gmf.runtime.emf.core.util.IProxyEObject(org.eclipse.gmf.runtime.emf.core)" id="Wire">
72
            <method name="getProxyClassID()" value="semantic.Wire">
73
            </method>
74
         </object> 
75
         <object
76
               class="org.eclipse.gmf.examples.runtime.diagram.logic.semantic.ContainerElement"
77
               id="ContainerElement"/>
78
         <context
79
               elements="LED,FlowContainer,Circuit,XORGate,OrGate,AndGate"
80
               viewClass="org.eclipse.gmf.runtime.notation.Node"/>
81
         <context
82
               elements="Wire"
83
               viewClass="org.eclipse.gmf.runtime.notation.Edge"/>
45
      </viewProvider>
84
      </viewProvider>
46
  </extension>
85
  </extension>
47
  
86
  
Lines 204-210 Link Here
204
  
243
  
205
  
244
  
206
  <extension point="org.eclipse.emf.ecore.extension_parser">
245
  <extension point="org.eclipse.emf.ecore.extension_parser">
207
      <parser type="logic2" class="org.eclipse.gmf.runtime.emf.core.resources.MResourceFactory">
246
      <parser type="logic2" class="org.eclipse.gmf.runtime.emf.core.resources.GMFResourceFactory">
208
      </parser>
247
      </parser>
209
   </extension>
248
   </extension>
210
  
249
  
Lines 407-410 Link Here
407
         <Priority name="Medium"/>
446
         <Priority name="Medium"/>
408
      </layoutProvider>
447
      </layoutProvider>
409
   </extension>
448
   </extension>
449
   <extension
450
         point="org.eclipse.emf.transaction.editingDomains">
451
      <editingDomain
452
            factory="org.eclipse.gmf.runtime.diagram.core.DiagramEditingDomainFactory"
453
            id="org.eclipse.gmf.examples.runtime.diagram.logicEditingDomain"/>
454
   </extension>
410
</plugin>
455
</plugin>
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/l10n/ExampleDiagramLogicMessages.properties (+3 lines)
Lines 26-31 Link Here
26
CreationWizard_New_Logic_Diagram=New Logic Diagram
26
CreationWizard_New_Logic_Diagram=New Logic Diagram
27
LogicWizardPage_Title=Create Logic Diagram
27
LogicWizardPage_Title=Create Logic Diagram
28
LogicWizardPage_Description=Create a new logic diagram.
28
LogicWizardPage_Description=Create a new logic diagram.
29
LogicWizardPage_StoreSemanticsSeparately=Store semantics in a separate semantic resource
30
LogicWizardPage_BrowseSemanticResource=Browse...
31
LogicWizardPage_BrowseSemanticDialogTitle=Semantic Resource Selection
29
32
30
# --- Topic Diagram ---
33
# --- Topic Diagram ---
31
LogicTopicDiagramEditor_Unable_To_Save_Viz_Diagram_Title=Unable to Save Diagram.
34
LogicTopicDiagramEditor_Unable_To_Save_Viz_Diagram_Title=Unable to Save Diagram.
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/l10n/ExampleDiagramLogicMessages.java (+3 lines)
Lines 56-61 Link Here
56
	public static String logic_FullAdderTool_Description;
56
	public static String logic_FullAdderTool_Description;
57
	public static String logic_Shape_Label;
57
	public static String logic_Shape_Label;
58
	public static String SetLocationCommand_Label_Resize;
58
	public static String SetLocationCommand_Label_Resize;
59
	public static String LogicWizardPage_StoreSemanticsSeparately;
60
	public static String LogicWizardPage_BrowseSemanticResource;
61
	public static String LogicWizardPage_BrowseSemanticDialogTitle;
59
	
62
	
60
	static {
63
	static {
61
		NLS.initializeMessages(BUNDLE_NAME, ExampleDiagramLogicMessages.class);
64
		NLS.initializeMessages(BUNDLE_NAME, ExampleDiagramLogicMessages.class);
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/util/LogicEditorUtil.java (-15 / +59 lines)
Lines 11-16 Link Here
11
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.internal.util;
12
package org.eclipse.gmf.examples.runtime.diagram.logic.internal.util;
13
13
14
import java.io.ByteArrayInputStream;
14
import java.io.IOException;
15
import java.io.IOException;
15
import java.io.InputStream;
16
import java.io.InputStream;
16
import java.lang.reflect.InvocationTargetException;
17
import java.lang.reflect.InvocationTargetException;
Lines 18-34 Link Here
18
19
19
import org.eclipse.core.resources.IFile;
20
import org.eclipse.core.resources.IFile;
20
import org.eclipse.core.resources.IResource;
21
import org.eclipse.core.resources.IResource;
22
import org.eclipse.core.resources.ResourcesPlugin;
23
import org.eclipse.core.runtime.CoreException;
21
import org.eclipse.core.runtime.IPath;
24
import org.eclipse.core.runtime.IPath;
22
import org.eclipse.core.runtime.IProgressMonitor;
25
import org.eclipse.core.runtime.IProgressMonitor;
26
import org.eclipse.core.runtime.IStatus;
27
import org.eclipse.core.runtime.Path;
23
import org.eclipse.emf.common.util.URI;
28
import org.eclipse.emf.common.util.URI;
24
import org.eclipse.emf.ecore.EObject;
25
import org.eclipse.emf.ecore.resource.Resource;
29
import org.eclipse.emf.ecore.resource.Resource;
26
import org.eclipse.emf.ecore.resource.ResourceSet;
30
import org.eclipse.emf.ecore.resource.ResourceSet;
27
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
31
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
28
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.LogicDiagramDebugOptions;
32
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.LogicDiagramDebugOptions;
29
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.LogicDiagramPlugin;
33
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.LogicDiagramPlugin;
30
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.LogicDiagramStatusCodes;
34
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.LogicDiagramStatusCodes;
31
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
35
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Model;
36
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticFactory;
32
import org.eclipse.gmf.runtime.common.core.util.Log;
37
import org.eclipse.gmf.runtime.common.core.util.Log;
33
import org.eclipse.gmf.runtime.common.core.util.Trace;
38
import org.eclipse.gmf.runtime.common.core.util.Trace;
34
import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
39
import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
Lines 56-66 Link Here
56
			DiagramFileCreator diagramFileCreator, IPath containerPath,
61
			DiagramFileCreator diagramFileCreator, IPath containerPath,
57
			String fileName, InputStream initialContents, String kind,
62
			String fileName, InputStream initialContents, String kind,
58
			IWorkbenchWindow dWindow, IProgressMonitor progressMonitor,
63
			IWorkbenchWindow dWindow, IProgressMonitor progressMonitor,
59
			boolean openEditor, boolean saveDiagram) {
64
			boolean openEditor, boolean saveDiagram, String semanticResourcePath) {
60
65
61
		IFile newFile = LogicEditorUtil.createNewDiagramFile(
66
		IFile newFile = createNewDiagramFile(
62
            diagramFileCreator, containerPath, fileName, initialContents, kind,
67
            diagramFileCreator, containerPath, fileName, initialContents, kind,
63
            dWindow.getShell(), progressMonitor);
68
            dWindow.getShell(), progressMonitor, semanticResourcePath);
64
69
65
		if (newFile != null && openEditor) {
70
		if (newFile != null && openEditor) {
66
			// Since the file resource was created fine, open it for editing
71
			// Since the file resource was created fine, open it for editing
Lines 97-103 Link Here
97
	public static final IFile createNewDiagramFile(
102
	public static final IFile createNewDiagramFile(
98
			DiagramFileCreator diagramFileCreator, IPath containerFullPath,
103
			DiagramFileCreator diagramFileCreator, IPath containerFullPath,
99
			String fileName, InputStream initialContents, final String kind,
104
			String fileName, InputStream initialContents, final String kind,
100
			Shell shell, final IProgressMonitor progressMonitor) {
105
			Shell shell, final IProgressMonitor progressMonitor, String semanticResourcePath) {
106
		
101
		/** cache of newly-created file */
107
		/** cache of newly-created file */
102
		final IFile newDiagramFile = diagramFileCreator.createNewFile(
108
		final IFile newDiagramFile = diagramFileCreator.createNewFile(
103
			containerFullPath, fileName, initialContents, shell,
109
			containerFullPath, fileName, initialContents, shell,
Lines 109-127 Link Here
109
					runnable.run(progressMonitor);
115
					runnable.run(progressMonitor);
110
				}
116
				}
111
			});
117
			});
118
		
119
		IFile semanticFile = null;
120
		boolean semanticFileIsNew = false;
121
		if (semanticResourcePath != null && semanticResourcePath.length() > 0) {
122
			semanticFile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(semanticResourcePath));
123
			if (!semanticFile.exists()) {
124
				semanticFileIsNew = true;
125
				try {
126
					semanticFile.create(new ByteArrayInputStream(new byte[0]), false, progressMonitor);
127
				} catch (CoreException e) {
128
					Log.error(LogicDiagramPlugin.getInstance(), IStatus.ERROR, e.getMessage(), e);
129
					return null;
130
				}
131
			}
132
		}
112
133
113
		// Fill the contents of the file dynamically
134
		// Fill the contents of the file dynamically
114
		Resource notationModel = null;
135
		Resource notationModel = null;
136
		Model semanticModel = null;
137
115
		try {
138
		try {
116
			newDiagramFile.refreshLocal(IResource.DEPTH_ZERO, null); //RATLC00514368
139
			newDiagramFile.refreshLocal(IResource.DEPTH_ZERO, null); //RATLC00514368
140
			if (semanticFile != null) {
141
				semanticFile.refreshLocal(IResource.DEPTH_ZERO, null);
142
			}
143
			
117
			InputStream stream = newDiagramFile.getContents();
144
			InputStream stream = newDiagramFile.getContents();
118
			String completeFileName = newDiagramFile.getLocation().toOSString();
145
			String completeFileName = newDiagramFile.getLocation().toOSString();
119
146
120
			try {
147
			try {
148
149
				ResourceSet resourceSet = new ResourceSetImpl();
150
				//resourceSet.eAdapters().add(new PathmapManager());
151
				
121
				// Empty file....
152
				// Empty file....
122
                ResourceSet resourceSet = new ResourceSetImpl();
123
                notationModel = resourceSet.createResource(URI
153
                notationModel = resourceSet.createResource(URI
124
                    .createFileURI(completeFileName)); 
154
                    .createFileURI(completeFileName));
155
                
156
                if (semanticFileIsNew) {
157
                	semanticModel = SemanticFactory.eINSTANCE.createModel();
158
                	Resource semanticResource = resourceSet.createResource(URI.createPlatformResourceURI(semanticResourcePath,true));
159
                	
160
					semanticResource.getContents().add(semanticModel);
161
                } else if (semanticFile != null){
162
                	semanticModel = (Model) resourceSet.getResource(URI.createPlatformResourceURI(semanticResourcePath,true),true).getContents().get(0);
163
                }
164
125
			} finally {
165
			} finally {
126
				stream.close();
166
				stream.close();
127
			}
167
			}
Lines 133-153 Link Here
133
				e);
173
				e);
134
		}
174
		}
135
175
176
136
		if (notationModel != null) {
177
		if (notationModel != null) {
137
            // create model semantic element and hook it up with diagram view
178
			if (semanticModel == null) {
138
            EObject model = SemanticPackage.eINSTANCE.getModel().getEPackage()
179
				semanticModel = SemanticFactory.eINSTANCE.createModel();
139
                .getEFactoryInstance().create(
180
				notationModel.getContents().add(semanticModel);
140
                    SemanticPackage.eINSTANCE.getModel());
181
			}
141
            Diagram view = ViewService.createDiagram(model, kind,
182
183
            Diagram view = ViewService.createDiagram(semanticModel, kind,
142
                new PreferencesHint(LogicDiagramPlugin.EDITOR_ID));
184
                new PreferencesHint(LogicDiagramPlugin.EDITOR_ID));
185
            
143
            if (view != null) {
186
            if (view != null) {
144
                notationModel.getContents().add(view);
187
                notationModel.getContents().add(0,view);
145
                notationModel.getContents().add(model);
146
                view.getDiagram().setName(newDiagramFile.getName());
188
                view.getDiagram().setName(newDiagramFile.getName());
147
            }
189
            }
148
190
149
            try {
191
            try {
150
                notationModel.save(Collections.EMPTY_MAP);
192
                notationModel.save(Collections.EMPTY_MAP);
193
                semanticModel.eResource().save(Collections.EMPTY_MAP);
151
            } catch (IOException e) {
194
            } catch (IOException e) {
152
                Trace.catching(LogicDiagramPlugin.getInstance(),
195
                Trace.catching(LogicDiagramPlugin.getInstance(),
153
                    LogicDiagramDebugOptions.EXCEPTIONS_CATCHING,
196
                    LogicDiagramDebugOptions.EXCEPTIONS_CATCHING,
Lines 158-163 Link Here
158
            }
201
            }
159
		}
202
		}
160
203
204
161
		return newDiagramFile;
205
		return newDiagramFile;
162
	}
206
	}
163
207
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/wizards/LogicWizardPage.java (-1 / +85 lines)
Lines 15-20 Link Here
15
import java.io.InputStream;
15
import java.io.InputStream;
16
16
17
import org.eclipse.core.resources.IFile;
17
import org.eclipse.core.resources.IFile;
18
import org.eclipse.core.resources.IResource;
19
import org.eclipse.core.resources.ResourcesPlugin;
18
import org.eclipse.core.runtime.IPath;
20
import org.eclipse.core.runtime.IPath;
19
import org.eclipse.core.runtime.IProgressMonitor;
21
import org.eclipse.core.runtime.IProgressMonitor;
20
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.l10n.ExampleDiagramLogicMessages;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.l10n.ExampleDiagramLogicMessages;
Lines 22-30 Link Here
22
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.util.LogicEditorUtil;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.util.LogicEditorUtil;
23
import org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide.wizards.EditorWizardPage;
25
import org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide.wizards.EditorWizardPage;
24
import org.eclipse.gmf.runtime.diagram.ui.resources.editor.util.DiagramFileCreator;
26
import org.eclipse.gmf.runtime.diagram.ui.resources.editor.util.DiagramFileCreator;
27
import org.eclipse.jface.dialogs.IDialogConstants;
25
import org.eclipse.jface.viewers.IStructuredSelection;
28
import org.eclipse.jface.viewers.IStructuredSelection;
29
import org.eclipse.swt.SWT;
30
import org.eclipse.swt.events.SelectionAdapter;
31
import org.eclipse.swt.events.SelectionEvent;
32
import org.eclipse.swt.events.SelectionListener;
33
import org.eclipse.swt.layout.GridData;
34
import org.eclipse.swt.layout.GridLayout;
35
import org.eclipse.swt.widgets.Button;
36
import org.eclipse.swt.widgets.Composite;
37
import org.eclipse.swt.widgets.Text;
26
import org.eclipse.ui.IWorkbench;
38
import org.eclipse.ui.IWorkbench;
27
import org.eclipse.ui.IWorkbenchWindow;
39
import org.eclipse.ui.IWorkbenchWindow;
40
import org.eclipse.ui.dialogs.ResourceSelectionDialog;
28
41
29
42
30
/**
43
/**
Lines 35-40 Link Here
35
 */
48
 */
36
public class LogicWizardPage extends EditorWizardPage{
49
public class LogicWizardPage extends EditorWizardPage{
37
50
51
	private Button separateSemantics;
52
	private Text semanticResource;
53
38
	/**
54
	/**
39
	 * LogicDiagramWizardPage constructor
55
	 * LogicDiagramWizardPage constructor
40
	 *
56
	 *
Lines 58-63 Link Here
58
			IWorkbenchWindow dWindow,
74
			IWorkbenchWindow dWindow,
59
			IProgressMonitor progressMonitor,
75
			IProgressMonitor progressMonitor,
60
			boolean saveDiagram) {
76
			boolean saveDiagram) {
77
		
78
		String semanticResourcePath = null;
79
		
80
		if (separateSemantics.getSelection()
81
				&& semanticResource.getText().length() > 0) {
82
			
83
			semanticResourcePath = semanticResource.getText();
84
		}
85
		
61
		return LogicEditorUtil.createAndOpenDiagram(
86
		return LogicEditorUtil.createAndOpenDiagram(
62
				getDiagramFileCreator(),
87
				getDiagramFileCreator(),
63
				containerPath,
88
				containerPath,
Lines 67-73 Link Here
67
				dWindow,
92
				dWindow,
68
				progressMonitor,
93
				progressMonitor,
69
				isOpenNewlyCreatedDiagramEditor(),
94
				isOpenNewlyCreatedDiagramEditor(),
70
				saveDiagram);
95
				saveDiagram,
96
				semanticResourcePath);
71
	}
97
	}
72
	
98
	
73
99
Lines 91-95 Link Here
91
	protected String getDiagramKind() {
117
	protected String getDiagramKind() {
92
		return "logic"; //$NON-NLS-1$
118
		return "logic"; //$NON-NLS-1$
93
	}
119
	}
120
	
121
	protected void createAdvancedControls(Composite parent) {
122
		super.createAdvancedControls(parent);
123
		
124
		separateSemantics = new Button(parent,SWT.CHECK);
125
		separateSemantics.setText(ExampleDiagramLogicMessages.LogicWizardPage_StoreSemanticsSeparately);
126
		separateSemantics.setSelection(false);
127
		
128
        Composite separateSemanticsGroup = new Composite(parent, SWT.NONE);
129
        GridLayout layout = new GridLayout();
130
        layout.numColumns = 4;
131
        layout.marginHeight = 0;
132
        layout.marginWidth = 0;
133
        separateSemanticsGroup.setLayout(layout);
134
        GridData data = new GridData(GridData.FILL_HORIZONTAL);
135
        separateSemanticsGroup.setLayoutData(data);
136
		
137
        semanticResource = new Text(separateSemanticsGroup, SWT.BORDER);
138
		data = new GridData(GridData.FILL_HORIZONTAL);
139
        data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
140
        data.horizontalSpan = 2;
141
        semanticResource.setLayoutData(data);
142
        semanticResource.setEnabled(false);
143
        
144
        // browse button
145
        final Button browseButton = new Button(separateSemanticsGroup, SWT.PUSH);      
146
        browseButton.setText(ExampleDiagramLogicMessages.LogicWizardPage_BrowseSemanticResource);
147
        browseButton.addSelectionListener(new SelectionAdapter() {
148
            public void widgetSelected(SelectionEvent event) {
149
                handleBrowseButtonPressed();
150
            }
151
        });
152
        browseButton.setEnabled(false);
153
        setButtonLayoutData(browseButton);
154
        
155
		separateSemantics.addSelectionListener(new SelectionListener() {
156
			public void widgetSelected(SelectionEvent e) {
157
				semanticResource.setEnabled(!semanticResource.getEnabled());
158
				browseButton.setEnabled(!browseButton.getEnabled());
159
				semanticResource.setText(getContainerFullPath().append(getFileName()).removeFileExtension().addFileExtension("logic2semantic").toString()); //$NON-NLS-1$
160
			}
94
161
162
			public void widgetDefaultSelected(SelectionEvent e) {
163
				// Do nothing
164
			}
165
		});
166
	}
167
168
	protected void handleBrowseButtonPressed() {
169
		ResourceSelectionDialog dialog = new ResourceSelectionDialog(getShell(),ResourcesPlugin.getWorkspace().getRoot(), ExampleDiagramLogicMessages.LogicWizardPage_BrowseSemanticDialogTitle);
170
		
171
		if (dialog.open() == ResourceSelectionDialog.OK) {
172
			if (dialog.getResult().length == 0)
173
				return;
174
			
175
			IResource r = (IResource)dialog.getResult()[0];
176
			semanticResource.setText(r.getFullPath().toString());
177
		}
178
	}
95
}
179
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/actions/LogicActionFilterProvider.java (-1 / +1 lines)
Lines 12-18 Link Here
12
package org.eclipse.gmf.examples.runtime.diagram.logic.internal.actions;
12
package org.eclipse.gmf.examples.runtime.diagram.logic.internal.actions;
13
13
14
import org.eclipse.core.runtime.IAdaptable;
14
import org.eclipse.core.runtime.IAdaptable;
15
import org.eclipse.gmf.examples.runtime.diagram.logic.model.ContainerElement;
15
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.ContainerElement;
16
import org.eclipse.gmf.runtime.common.core.service.IOperation;
16
import org.eclipse.gmf.runtime.common.core.service.IOperation;
17
import org.eclipse.gmf.runtime.common.ui.services.action.filter.AbstractActionFilterProvider;
17
import org.eclipse.gmf.runtime.common.ui.services.action.filter.AbstractActionFilterProvider;
18
18
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/LogicDiagramPlugin.java (-1 / +1 lines)
Lines 11-17 Link Here
11
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.internal;
12
package org.eclipse.gmf.examples.runtime.diagram.logic.internal;
13
13
14
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
14
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
15
import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
15
import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
16
import org.eclipse.gmf.runtime.emf.core.internal.util.MetamodelManager;
16
import org.eclipse.gmf.runtime.emf.core.internal.util.MetamodelManager;
17
import org.eclipse.ui.plugin.AbstractUIPlugin;
17
import org.eclipse.ui.plugin.AbstractUIPlugin;
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/internal/ui/parts/LogicNotationEditor.java (+56 lines)
Added Link Here
1
package org.eclipse.gmf.examples.runtime.diagram.logic.internal.ui.parts;
2
3
import java.util.ArrayList;
4
import java.util.List;
5
6
import org.eclipse.emf.ecore.EObject;
7
import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
8
import org.eclipse.emf.transaction.TransactionalEditingDomain;
9
import org.eclipse.gmf.runtime.diagram.ui.parts.DiagramDropTargetListener;
10
import org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide.editor.FileDiagramEditorWithFlyoutPalette;
11
import org.eclipse.jface.util.TransferDropTargetListener;
12
import org.eclipse.jface.viewers.IStructuredSelection;
13
import org.eclipse.swt.dnd.DropTargetEvent;
14
import org.eclipse.swt.dnd.TransferData;
15
16
17
public class LogicNotationEditor
18
	extends FileDiagramEditorWithFlyoutPalette {
19
20
	private static final String EDITING_DOMAIN_ID = "org.eclipse.gmf.examples.runtime.diagram.logicEditingDomain"; //$NON-NLS-1$
21
	
22
	protected TransactionalEditingDomain createEditingDomain() {
23
		return TransactionalEditingDomain.Registry.INSTANCE.getEditingDomain(EDITING_DOMAIN_ID);
24
	}
25
	
26
	protected void initializeGraphicalViewer() {
27
		super.initializeGraphicalViewer();
28
		
29
		getDiagramGraphicalViewer().addDropTargetListener(
30
			(TransferDropTargetListener) new DiagramDropTargetListener(getDiagramGraphicalViewer(), LocalTransfer.getInstance()) {
31
			protected List getObjectsBeingDropped() {
32
				TransferData[] data = getCurrentEvent().dataTypes;
33
				List eObjects = new ArrayList();
34
				
35
				for (int i=0; i<data.length; i++) {
36
					if (LocalTransfer.getInstance().isSupportedType(data[i])) {
37
						IStructuredSelection selection = (IStructuredSelection)LocalTransfer.getInstance().nativeToJava(data[i]);
38
						eObjects.addAll(selection.toList());
39
					}
40
				}
41
				return eObjects;
42
			}
43
			
44
			public boolean isEnabled(DropTargetEvent event) {
45
				if (super.isEnabled(event)) {
46
					Object modelObj = getViewer().getContents().getModel();
47
					if (modelObj instanceof EObject) {
48
						return getDropObjectsRequest().getObjects() != null;
49
					}
50
				}
51
52
				return false;
53
			}
54
		});
55
	}
56
}
(-)src/org/eclipse/gmf/tests/runtime/diagram/ui/logic/LogicCanonicalTests.java (-4 / +4 lines)
Lines 23-32 Link Here
23
import org.eclipse.gef.ConnectionEditPart;
23
import org.eclipse.gef.ConnectionEditPart;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.LEDEditPart;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.LEDEditPart;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.TerminalEditPart;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.TerminalEditPart;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Circuit;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Circuit;
27
import org.eclipse.gmf.examples.runtime.diagram.logic.model.LED;
27
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED;
28
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal;
28
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal;
29
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire;
29
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire;
30
import org.eclipse.gmf.runtime.common.core.command.ICommand;
30
import org.eclipse.gmf.runtime.common.core.command.ICommand;
31
import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
31
import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
32
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
32
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
(-)src/org/eclipse/gmf/tests/runtime/diagram/ui/logic/LogicTransientViewsTests.java (-3 / +3 lines)
Lines 34-42 Link Here
34
import org.eclipse.emf.transaction.TransactionalEditingDomain;
34
import org.eclipse.emf.transaction.TransactionalEditingDomain;
35
import org.eclipse.emf.workspace.AbstractEMFOperation;
35
import org.eclipse.emf.workspace.AbstractEMFOperation;
36
import org.eclipse.gef.ConnectionEditPart;
36
import org.eclipse.gef.ConnectionEditPart;
37
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Circuit;
37
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Circuit;
38
import org.eclipse.gmf.examples.runtime.diagram.logic.model.LED;
38
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED;
39
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal;
39
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal;
40
import org.eclipse.gmf.runtime.common.core.command.ICommand;
40
import org.eclipse.gmf.runtime.common.core.command.ICommand;
41
import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
41
import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
42
import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
42
import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
(-)src/org/eclipse/gmf/tests/runtime/diagram/ui/logic/LogicViewRefactorTests.java (-8 / +8 lines)
Lines 26-39 Link Here
26
import org.eclipse.gef.commands.Command;
26
import org.eclipse.gef.commands.Command;
27
import org.eclipse.gef.requests.CreateConnectionRequest;
27
import org.eclipse.gef.requests.CreateConnectionRequest;
28
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.providers.LogicConstants;
28
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.providers.LogicConstants;
29
import org.eclipse.gmf.examples.runtime.diagram.logic.model.AndGate;
29
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.AndGate;
30
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Circuit;
30
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Circuit;
31
import org.eclipse.gmf.examples.runtime.diagram.logic.model.FlowContainer;
31
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.FlowContainer;
32
import org.eclipse.gmf.examples.runtime.diagram.logic.model.LED;
32
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED;
33
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Model;
33
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Model;
34
import org.eclipse.gmf.examples.runtime.diagram.logic.model.OrGate;
34
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OrGate;
35
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal;
35
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal;
36
import org.eclipse.gmf.examples.runtime.diagram.logic.model.XORGate;
36
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.XORGate;
37
import org.eclipse.gmf.runtime.common.core.command.CommandResult;
37
import org.eclipse.gmf.runtime.common.core.command.CommandResult;
38
import org.eclipse.gmf.runtime.common.core.command.ICommand;
38
import org.eclipse.gmf.runtime.common.core.command.ICommand;
39
import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
39
import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
(-)src/org/eclipse/gmf/tests/runtime/diagram/ui/logic/LogicTestFixture.java (-4 / +4 lines)
Lines 28-36 Link Here
28
import org.eclipse.gef.commands.CompoundCommand;
28
import org.eclipse.gef.commands.CompoundCommand;
29
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.util.LogicDiagramFileCreator;
29
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.util.LogicDiagramFileCreator;
30
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.util.LogicEditorUtil;
30
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.util.LogicEditorUtil;
31
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Circuit;
31
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Circuit;
32
import org.eclipse.gmf.examples.runtime.diagram.logic.model.LED;
32
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED;
33
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
33
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
34
import org.eclipse.gmf.runtime.common.core.command.ICommand;
34
import org.eclipse.gmf.runtime.common.core.command.ICommand;
35
import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
35
import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
36
import org.eclipse.gmf.runtime.diagram.ui.commands.EtoolsProxyCommand;
36
import org.eclipse.gmf.runtime.diagram.ui.commands.EtoolsProxyCommand;
Lines 78-84 Link Here
78
			LogicEditorUtil.getInitialContents(),
78
			LogicEditorUtil.getInitialContents(),
79
			"logic", //$NON-NLS-1$
79
			"logic", //$NON-NLS-1$
80
			PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
80
			PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
81
			new NullProgressMonitor());
81
			new NullProgressMonitor(), (String)null);
82
		setDiagramFile(diagramFile);
82
		setDiagramFile(diagramFile);
83
		
83
		
84
		openDiagram();
84
		openDiagram();
(-)src/org/eclipse/gmf/tests/runtime/diagram/ui/logic/CanonicalTestFixture.java (-1 / +1 lines)
Lines 22-28 Link Here
22
import org.eclipse.emf.ecore.EObject;
22
import org.eclipse.emf.ecore.EObject;
23
import org.eclipse.gef.EditPart;
23
import org.eclipse.gef.EditPart;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.providers.LogicConstants;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.providers.LogicConstants;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
26
import org.eclipse.gmf.runtime.diagram.core.commands.SetPropertyCommand;
26
import org.eclipse.gmf.runtime.diagram.core.commands.SetPropertyCommand;
27
import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
27
import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
28
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
28
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
(-)src/org/eclipse/gmf/tests/runtime/diagram/ui/logic/DiagramGraphicalViewerTests.java (-1 / +1 lines)
Lines 10-16 Link Here
10
import org.eclipse.gef.ConnectionEditPart;
10
import org.eclipse.gef.ConnectionEditPart;
11
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.LEDEditPart;
11
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.LEDEditPart;
12
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.TerminalEditPart;
12
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.TerminalEditPart;
13
import org.eclipse.gmf.examples.runtime.diagram.logic.model.LED;
13
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED;
14
import org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand;
14
import org.eclipse.gmf.runtime.diagram.core.commands.DeleteCommand;
15
import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
15
import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
16
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
16
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
(-)src/org/eclipse/gmf/tests/runtime/diagram/ui/logic/LogicDiagramTests.java (-3 / +3 lines)
Lines 32-40 Link Here
32
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.LEDEditPart;
32
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.LEDEditPart;
33
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.TerminalEditPart;
33
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.editparts.TerminalEditPart;
34
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.providers.LogicConstants;
34
import org.eclipse.gmf.examples.runtime.diagram.logic.internal.providers.LogicConstants;
35
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Circuit;
35
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Circuit;
36
import org.eclipse.gmf.examples.runtime.diagram.logic.model.LED;
36
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED;
37
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal;
37
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal;
38
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
38
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
39
import org.eclipse.gmf.runtime.diagram.ui.internal.actions.ZoomContributionItem;
39
import org.eclipse.gmf.runtime.diagram.ui.internal.actions.ZoomContributionItem;
40
import org.eclipse.gmf.runtime.diagram.ui.preferences.IPreferenceConstants;
40
import org.eclipse.gmf.runtime.diagram.ui.preferences.IPreferenceConstants;
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/provider/FlowContainerItemProvider.java (-118 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.provider;
13
14
15
import java.util.Collection;
16
import java.util.List;
17
18
import org.eclipse.emf.common.notify.AdapterFactory;
19
import org.eclipse.emf.common.notify.Notification;
20
import org.eclipse.emf.common.util.ResourceLocator;
21
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
22
import org.eclipse.emf.edit.provider.IItemLabelProvider;
23
import org.eclipse.emf.edit.provider.IItemPropertySource;
24
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
25
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
26
27
/**
28
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.FlowContainer} object.
29
 * <!-- begin-user-doc -->
30
 * <!-- end-user-doc -->
31
 * @generated
32
 */
33
public class FlowContainerItemProvider
34
	extends ContainerElementItemProvider
35
	implements
36
		IEditingDomainItemProvider,
37
		IStructuredItemContentProvider,
38
		ITreeItemContentProvider,
39
		IItemLabelProvider,
40
		IItemPropertySource {
41
	/**
42
	 * This constructs an instance from a factory and a notifier.
43
	 * <!-- begin-user-doc -->
44
	 * <!-- end-user-doc -->
45
	 * @generated
46
	 */
47
	public FlowContainerItemProvider(AdapterFactory adapterFactory) {
48
		super(adapterFactory);
49
	}
50
51
	/**
52
	 * This returns the property descriptors for the adapted class.
53
	 * <!-- begin-user-doc -->
54
	 * <!-- end-user-doc -->
55
	 * @generated
56
	 */
57
	public List getPropertyDescriptors(Object object) {
58
		if (itemPropertyDescriptors == null) {
59
			super.getPropertyDescriptors(object);
60
61
		}
62
		return itemPropertyDescriptors;
63
	}
64
65
	/**
66
	 * This returns FlowContainer.gif.
67
	 * <!-- begin-user-doc -->
68
	 * <!-- end-user-doc -->
69
	 * @generated
70
	 */
71
	public Object getImage(Object object) {
72
		return getResourceLocator().getImage("full/obj16/FlowContainer");//$NON-NLS-1$
73
	}
74
75
	/**
76
	 * This returns the label text for the adapted class.
77
	 * <!-- begin-user-doc -->
78
	 * <!-- end-user-doc -->
79
	 * @generated
80
	 */
81
	public String getText(Object object) {
82
		return getString("_UI_FlowContainer_type");//$NON-NLS-1$
83
	}
84
85
	/**
86
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
87
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
88
	 * <!-- begin-user-doc -->
89
	 * <!-- end-user-doc -->
90
	 * @generated
91
	 */
92
	public void notifyChanged(Notification notification) {
93
		updateChildren(notification);
94
		super.notifyChanged(notification);
95
	}
96
97
	/**
98
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
99
	 * describing all of the children that can be created under this object.
100
	 * <!-- begin-user-doc -->
101
	 * <!-- end-user-doc -->
102
	 * @generated
103
	 */
104
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
105
		super.collectNewChildDescriptors(newChildDescriptors, object);
106
	}
107
108
	/**
109
	 * Return the resource locator for this item provider's resources.
110
	 * <!-- begin-user-doc -->
111
	 * <!-- end-user-doc -->
112
	 * @generated
113
	 */
114
	public ResourceLocator getResourceLocator() {
115
		return LogicsemanticEditPlugin.INSTANCE;
116
	}
117
118
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/provider/ElementItemProvider.java (-188 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.provider;
13
14
15
import java.util.Collection;
16
import java.util.List;
17
18
import org.eclipse.emf.common.notify.AdapterFactory;
19
import org.eclipse.emf.common.notify.Notification;
20
import org.eclipse.emf.common.util.ResourceLocator;
21
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
22
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
23
import org.eclipse.emf.edit.provider.IItemLabelProvider;
24
import org.eclipse.emf.edit.provider.IItemPropertySource;
25
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
26
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
27
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
28
import org.eclipse.emf.edit.provider.ViewerNotification;
29
30
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Element;
31
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
32
33
/**
34
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Element} object.
35
 * <!-- begin-user-doc -->
36
 * <!-- end-user-doc -->
37
 * @generated
38
 */
39
public class ElementItemProvider
40
	extends ItemProviderAdapter
41
	implements
42
		IEditingDomainItemProvider,
43
		IStructuredItemContentProvider,
44
		ITreeItemContentProvider,
45
		IItemLabelProvider,
46
		IItemPropertySource {
47
	/**
48
	 * This constructs an instance from a factory and a notifier.
49
	 * <!-- begin-user-doc -->
50
	 * <!-- end-user-doc -->
51
	 * @generated
52
	 */
53
	public ElementItemProvider(AdapterFactory adapterFactory) {
54
		super(adapterFactory);
55
	}
56
57
	/**
58
	 * This returns the property descriptors for the adapted class.
59
	 * <!-- begin-user-doc -->
60
	 * <!-- end-user-doc -->
61
	 * @generated
62
	 */
63
	public List getPropertyDescriptors(Object object) {
64
		if (itemPropertyDescriptors == null) {
65
			super.getPropertyDescriptors(object);
66
67
			addOutputTerminalsPropertyDescriptor(object);
68
			addInputTerminalsPropertyDescriptor(object);
69
		}
70
		return itemPropertyDescriptors;
71
	}
72
73
	/**
74
	 * This adds a property descriptor for the Output Terminals feature.
75
	 * <!-- begin-user-doc -->
76
	 * <!-- end-user-doc -->
77
	 * @generated
78
	 */
79
	protected void addOutputTerminalsPropertyDescriptor(Object object) {
80
		itemPropertyDescriptors.add
81
			(createItemPropertyDescriptor
82
				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
83
				 getResourceLocator(),
84
				 getString("_UI_Element_outputTerminals_feature"),//$NON-NLS-1$
85
				 getString("_UI_PropertyDescriptor_description", "_UI_Element_outputTerminals_feature", "_UI_Element_type"),//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
86
				 SemanticPackage.eINSTANCE.getElement_OutputTerminals(),
87
				 false,
88
				 null,
89
				 null,
90
				 null));
91
	}
92
93
	/**
94
	 * This adds a property descriptor for the Input Terminals feature.
95
	 * <!-- begin-user-doc -->
96
	 * <!-- end-user-doc -->
97
	 * @generated
98
	 */
99
	protected void addInputTerminalsPropertyDescriptor(Object object) {
100
		itemPropertyDescriptors.add
101
			(createItemPropertyDescriptor
102
				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
103
				 getResourceLocator(),
104
				 getString("_UI_Element_inputTerminals_feature"),//$NON-NLS-1$
105
				 getString("_UI_PropertyDescriptor_description", "_UI_Element_inputTerminals_feature", "_UI_Element_type"),//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
106
				 SemanticPackage.eINSTANCE.getElement_InputTerminals(),
107
				 false,
108
				 null,
109
				 null,
110
				 null));
111
	}
112
113
	/**
114
	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
115
	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
116
	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
117
	 * <!-- begin-user-doc -->
118
	 * <!-- end-user-doc -->
119
	 * @generated
120
	 */
121
	public Collection getChildrenFeatures(Object object) {
122
		if (childrenFeatures == null) {
123
			super.getChildrenFeatures(object);
124
			childrenFeatures.add(SemanticPackage.eINSTANCE.getElement_Terminals());
125
		}
126
		return childrenFeatures;
127
	}
128
129
	/**
130
	 * This returns Element.gif.
131
	 * <!-- begin-user-doc -->
132
	 * <!-- end-user-doc -->
133
	 * @generated
134
	 */
135
	public Object getImage(Object object) {
136
		return getResourceLocator().getImage("full/obj16/Element");//$NON-NLS-1$
137
	}
138
139
	/**
140
	 * This returns the label text for the adapted class.
141
	 * <!-- begin-user-doc -->
142
	 * <!-- end-user-doc -->
143
	 * @generated
144
	 */
145
	public String getText(Object object) {
146
		return getString("_UI_Element_type");//$NON-NLS-1$
147
	}
148
149
	/**
150
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
151
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
152
	 * <!-- begin-user-doc -->
153
	 * <!-- end-user-doc -->
154
	 * @generated
155
	 */
156
	public void notifyChanged(Notification notification) {
157
		updateChildren(notification);
158
159
		switch (notification.getFeatureID(Element.class)) {
160
			case SemanticPackage.ELEMENT__TERMINALS:
161
				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
162
				return;
163
		}
164
		super.notifyChanged(notification);
165
	}
166
167
	/**
168
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
169
	 * describing all of the children that can be created under this object.
170
	 * <!-- begin-user-doc -->
171
	 * <!-- end-user-doc -->
172
	 * @generated
173
	 */
174
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
175
		super.collectNewChildDescriptors(newChildDescriptors, object);
176
	}
177
178
	/**
179
	 * Return the resource locator for this item provider's resources.
180
	 * <!-- begin-user-doc -->
181
	 * <!-- end-user-doc -->
182
	 * @generated
183
	 */
184
	public ResourceLocator getResourceLocator() {
185
		return LogicsemanticEditPlugin.INSTANCE;
186
	}
187
188
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/provider/LEDItemProvider.java (-152 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.provider;
13
14
15
import java.util.Collection;
16
import java.util.List;
17
18
import org.eclipse.emf.common.notify.AdapterFactory;
19
import org.eclipse.emf.common.notify.Notification;
20
import org.eclipse.emf.common.util.ResourceLocator;
21
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
22
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
23
import org.eclipse.emf.edit.provider.IItemLabelProvider;
24
import org.eclipse.emf.edit.provider.IItemPropertySource;
25
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
26
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
27
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
28
import org.eclipse.emf.edit.provider.ViewerNotification;
29
30
import org.eclipse.gmf.examples.runtime.diagram.logic.model.LED;
31
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
32
33
/**
34
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.LED} object.
35
 * <!-- begin-user-doc -->
36
 * <!-- end-user-doc -->
37
 * @generated
38
 */
39
public class LEDItemProvider
40
	extends ElementItemProvider
41
	implements
42
		IEditingDomainItemProvider,
43
		IStructuredItemContentProvider,
44
		ITreeItemContentProvider,
45
		IItemLabelProvider,
46
		IItemPropertySource {
47
	/**
48
	 * This constructs an instance from a factory and a notifier.
49
	 * <!-- begin-user-doc -->
50
	 * <!-- end-user-doc -->
51
	 * @generated
52
	 */
53
	public LEDItemProvider(AdapterFactory adapterFactory) {
54
		super(adapterFactory);
55
	}
56
57
	/**
58
	 * This returns the property descriptors for the adapted class.
59
	 * <!-- begin-user-doc -->
60
	 * <!-- end-user-doc -->
61
	 * @generated
62
	 */
63
	public List getPropertyDescriptors(Object object) {
64
		if (itemPropertyDescriptors == null) {
65
			super.getPropertyDescriptors(object);
66
67
			addValuePropertyDescriptor(object);
68
		}
69
		return itemPropertyDescriptors;
70
	}
71
72
	/**
73
	 * This adds a property descriptor for the Value feature.
74
	 * <!-- begin-user-doc -->
75
	 * <!-- end-user-doc -->
76
	 * @generated
77
	 */
78
	protected void addValuePropertyDescriptor(Object object) {
79
		itemPropertyDescriptors.add
80
			(createItemPropertyDescriptor
81
				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
82
				 getResourceLocator(),
83
				 getString("_UI_LED_value_feature"),//$NON-NLS-1$
84
				 getString("_UI_PropertyDescriptor_description", "_UI_LED_value_feature", "_UI_LED_type"),//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
85
				 SemanticPackage.eINSTANCE.getLED_Value(),
86
				 true,
87
				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
88
				 null,
89
				 null));
90
	}
91
92
	/**
93
	 * This returns LED.gif.
94
	 * <!-- begin-user-doc -->
95
	 * <!-- end-user-doc -->
96
	 * @generated
97
	 */
98
	public Object getImage(Object object) {
99
		return getResourceLocator().getImage("full/obj16/LED");//$NON-NLS-1$
100
	}
101
102
	/**
103
	 * This returns the label text for the adapted class.
104
	 * <!-- begin-user-doc -->
105
	 * <!-- end-user-doc -->
106
	 * @generated
107
	 */
108
	public String getText(Object object) {
109
		LED led = (LED)object;
110
		return getString("_UI_LED_type") + " " + led.getValue();//$NON-NLS-2$//$NON-NLS-1$
111
	}
112
113
	/**
114
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
115
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
116
	 * <!-- begin-user-doc -->
117
	 * <!-- end-user-doc -->
118
	 * @generated
119
	 */
120
	public void notifyChanged(Notification notification) {
121
		updateChildren(notification);
122
123
		switch (notification.getFeatureID(LED.class)) {
124
			case SemanticPackage.LED__VALUE:
125
				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
126
				return;
127
		}
128
		super.notifyChanged(notification);
129
	}
130
131
	/**
132
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
133
	 * describing all of the children that can be created under this object.
134
	 * <!-- begin-user-doc -->
135
	 * <!-- end-user-doc -->
136
	 * @generated
137
	 */
138
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
139
		super.collectNewChildDescriptors(newChildDescriptors, object);
140
	}
141
142
	/**
143
	 * Return the resource locator for this item provider's resources.
144
	 * <!-- begin-user-doc -->
145
	 * <!-- end-user-doc -->
146
	 * @generated
147
	 */
148
	public ResourceLocator getResourceLocator() {
149
		return LogicsemanticEditPlugin.INSTANCE;
150
	}
151
152
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/provider/GateItemProvider.java (-118 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.provider;
13
14
15
import java.util.Collection;
16
import java.util.List;
17
18
import org.eclipse.emf.common.notify.AdapterFactory;
19
import org.eclipse.emf.common.notify.Notification;
20
import org.eclipse.emf.common.util.ResourceLocator;
21
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
22
import org.eclipse.emf.edit.provider.IItemLabelProvider;
23
import org.eclipse.emf.edit.provider.IItemPropertySource;
24
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
25
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
26
27
/**
28
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Gate} object.
29
 * <!-- begin-user-doc -->
30
 * <!-- end-user-doc -->
31
 * @generated
32
 */
33
public class GateItemProvider
34
	extends ElementItemProvider
35
	implements
36
		IEditingDomainItemProvider,
37
		IStructuredItemContentProvider,
38
		ITreeItemContentProvider,
39
		IItemLabelProvider,
40
		IItemPropertySource {
41
	/**
42
	 * This constructs an instance from a factory and a notifier.
43
	 * <!-- begin-user-doc -->
44
	 * <!-- end-user-doc -->
45
	 * @generated
46
	 */
47
	public GateItemProvider(AdapterFactory adapterFactory) {
48
		super(adapterFactory);
49
	}
50
51
	/**
52
	 * This returns the property descriptors for the adapted class.
53
	 * <!-- begin-user-doc -->
54
	 * <!-- end-user-doc -->
55
	 * @generated
56
	 */
57
	public List getPropertyDescriptors(Object object) {
58
		if (itemPropertyDescriptors == null) {
59
			super.getPropertyDescriptors(object);
60
61
		}
62
		return itemPropertyDescriptors;
63
	}
64
65
	/**
66
	 * This returns Gate.gif.
67
	 * <!-- begin-user-doc -->
68
	 * <!-- end-user-doc -->
69
	 * @generated
70
	 */
71
	public Object getImage(Object object) {
72
		return getResourceLocator().getImage("full/obj16/Gate");//$NON-NLS-1$
73
	}
74
75
	/**
76
	 * This returns the label text for the adapted class.
77
	 * <!-- begin-user-doc -->
78
	 * <!-- end-user-doc -->
79
	 * @generated
80
	 */
81
	public String getText(Object object) {
82
		return getString("_UI_Gate_type");//$NON-NLS-1$
83
	}
84
85
	/**
86
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
87
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
88
	 * <!-- begin-user-doc -->
89
	 * <!-- end-user-doc -->
90
	 * @generated
91
	 */
92
	public void notifyChanged(Notification notification) {
93
		updateChildren(notification);
94
		super.notifyChanged(notification);
95
	}
96
97
	/**
98
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
99
	 * describing all of the children that can be created under this object.
100
	 * <!-- begin-user-doc -->
101
	 * <!-- end-user-doc -->
102
	 * @generated
103
	 */
104
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
105
		super.collectNewChildDescriptors(newChildDescriptors, object);
106
	}
107
108
	/**
109
	 * Return the resource locator for this item provider's resources.
110
	 * <!-- begin-user-doc -->
111
	 * <!-- end-user-doc -->
112
	 * @generated
113
	 */
114
	public ResourceLocator getResourceLocator() {
115
		return LogicsemanticEditPlugin.INSTANCE;
116
	}
117
118
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/provider/InputTerminalItemProvider.java (-123 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.provider;
13
14
15
import java.util.Collection;
16
import java.util.List;
17
18
import org.eclipse.emf.common.notify.AdapterFactory;
19
import org.eclipse.emf.common.notify.Notification;
20
import org.eclipse.emf.common.util.ResourceLocator;
21
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
22
import org.eclipse.emf.edit.provider.IItemLabelProvider;
23
import org.eclipse.emf.edit.provider.IItemPropertySource;
24
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
25
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
26
27
import org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal;
28
29
/**
30
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal} object.
31
 * <!-- begin-user-doc -->
32
 * <!-- end-user-doc -->
33
 * @generated
34
 */
35
public class InputTerminalItemProvider
36
	extends TerminalItemProvider
37
	implements
38
		IEditingDomainItemProvider,
39
		IStructuredItemContentProvider,
40
		ITreeItemContentProvider,
41
		IItemLabelProvider,
42
		IItemPropertySource {
43
	/**
44
	 * This constructs an instance from a factory and a notifier.
45
	 * <!-- begin-user-doc -->
46
	 * <!-- end-user-doc -->
47
	 * @generated
48
	 */
49
	public InputTerminalItemProvider(AdapterFactory adapterFactory) {
50
		super(adapterFactory);
51
	}
52
53
	/**
54
	 * This returns the property descriptors for the adapted class.
55
	 * <!-- begin-user-doc -->
56
	 * <!-- end-user-doc -->
57
	 * @generated
58
	 */
59
	public List getPropertyDescriptors(Object object) {
60
		if (itemPropertyDescriptors == null) {
61
			super.getPropertyDescriptors(object);
62
63
		}
64
		return itemPropertyDescriptors;
65
	}
66
67
	/**
68
	 * This returns InputTerminal.gif.
69
	 * <!-- begin-user-doc -->
70
	 * <!-- end-user-doc -->
71
	 * @generated
72
	 */
73
	public Object getImage(Object object) {
74
		return getResourceLocator().getImage("full/obj16/InputTerminal");//$NON-NLS-1$
75
	}
76
77
	/**
78
	 * This returns the label text for the adapted class.
79
	 * <!-- begin-user-doc -->
80
	 * <!-- end-user-doc -->
81
	 * @generated
82
	 */
83
	public String getText(Object object) {
84
		String label = ((InputTerminal)object).getId();
85
		return label == null || label.length() == 0 ?
86
			getString("_UI_InputTerminal_type") ://$NON-NLS-1$
87
			getString("_UI_InputTerminal_type") + " " + label;//$NON-NLS-2$//$NON-NLS-1$
88
	}
89
90
	/**
91
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
92
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
93
	 * <!-- begin-user-doc -->
94
	 * <!-- end-user-doc -->
95
	 * @generated
96
	 */
97
	public void notifyChanged(Notification notification) {
98
		updateChildren(notification);
99
		super.notifyChanged(notification);
100
	}
101
102
	/**
103
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
104
	 * describing all of the children that can be created under this object.
105
	 * <!-- begin-user-doc -->
106
	 * <!-- end-user-doc -->
107
	 * @generated
108
	 */
109
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
110
		super.collectNewChildDescriptors(newChildDescriptors, object);
111
	}
112
113
	/**
114
	 * Return the resource locator for this item provider's resources.
115
	 * <!-- begin-user-doc -->
116
	 * <!-- end-user-doc -->
117
	 * @generated
118
	 */
119
	public ResourceLocator getResourceLocator() {
120
		return LogicsemanticEditPlugin.INSTANCE;
121
	}
122
123
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/provider/InputOutputTerminalItemProvider.java (-123 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.provider;
13
14
15
import java.util.Collection;
16
import java.util.List;
17
18
import org.eclipse.emf.common.notify.AdapterFactory;
19
import org.eclipse.emf.common.notify.Notification;
20
import org.eclipse.emf.common.util.ResourceLocator;
21
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
22
import org.eclipse.emf.edit.provider.IItemLabelProvider;
23
import org.eclipse.emf.edit.provider.IItemPropertySource;
24
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
25
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
26
27
import org.eclipse.gmf.examples.runtime.diagram.logic.model.InputOutputTerminal;
28
29
/**
30
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.InputOutputTerminal} object.
31
 * <!-- begin-user-doc -->
32
 * <!-- end-user-doc -->
33
 * @generated
34
 */
35
public class InputOutputTerminalItemProvider
36
	extends OutputTerminalItemProvider
37
	implements
38
		IEditingDomainItemProvider,
39
		IStructuredItemContentProvider,
40
		ITreeItemContentProvider,
41
		IItemLabelProvider,
42
		IItemPropertySource {
43
	/**
44
	 * This constructs an instance from a factory and a notifier.
45
	 * <!-- begin-user-doc -->
46
	 * <!-- end-user-doc -->
47
	 * @generated
48
	 */
49
	public InputOutputTerminalItemProvider(AdapterFactory adapterFactory) {
50
		super(adapterFactory);
51
	}
52
53
	/**
54
	 * This returns the property descriptors for the adapted class.
55
	 * <!-- begin-user-doc -->
56
	 * <!-- end-user-doc -->
57
	 * @generated
58
	 */
59
	public List getPropertyDescriptors(Object object) {
60
		if (itemPropertyDescriptors == null) {
61
			super.getPropertyDescriptors(object);
62
63
		}
64
		return itemPropertyDescriptors;
65
	}
66
67
	/**
68
	 * This returns InputOutputTerminal.gif.
69
	 * <!-- begin-user-doc -->
70
	 * <!-- end-user-doc -->
71
	 * @generated
72
	 */
73
	public Object getImage(Object object) {
74
		return getResourceLocator().getImage("full/obj16/InputOutputTerminal");//$NON-NLS-1$
75
	}
76
77
	/**
78
	 * This returns the label text for the adapted class.
79
	 * <!-- begin-user-doc -->
80
	 * <!-- end-user-doc -->
81
	 * @generated
82
	 */
83
	public String getText(Object object) {
84
		String label = ((InputOutputTerminal)object).getId();
85
		return label == null || label.length() == 0 ?
86
			getString("_UI_InputOutputTerminal_type") ://$NON-NLS-1$
87
			getString("_UI_InputOutputTerminal_type") + " " + label;//$NON-NLS-2$//$NON-NLS-1$
88
	}
89
90
	/**
91
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
92
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
93
	 * <!-- begin-user-doc -->
94
	 * <!-- end-user-doc -->
95
	 * @generated
96
	 */
97
	public void notifyChanged(Notification notification) {
98
		updateChildren(notification);
99
		super.notifyChanged(notification);
100
	}
101
102
	/**
103
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
104
	 * describing all of the children that can be created under this object.
105
	 * <!-- begin-user-doc -->
106
	 * <!-- end-user-doc -->
107
	 * @generated
108
	 */
109
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
110
		super.collectNewChildDescriptors(newChildDescriptors, object);
111
	}
112
113
	/**
114
	 * Return the resource locator for this item provider's resources.
115
	 * <!-- begin-user-doc -->
116
	 * <!-- end-user-doc -->
117
	 * @generated
118
	 */
119
	public ResourceLocator getResourceLocator() {
120
		return LogicsemanticEditPlugin.INSTANCE;
121
	}
122
123
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/provider/TerminalItemProvider.java (-154 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.provider;
13
14
15
import java.util.Collection;
16
import java.util.List;
17
18
import org.eclipse.emf.common.notify.AdapterFactory;
19
import org.eclipse.emf.common.notify.Notification;
20
import org.eclipse.emf.common.util.ResourceLocator;
21
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
22
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
23
import org.eclipse.emf.edit.provider.IItemLabelProvider;
24
import org.eclipse.emf.edit.provider.IItemPropertySource;
25
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
26
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
27
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
28
import org.eclipse.emf.edit.provider.ViewerNotification;
29
30
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
31
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal;
32
33
/**
34
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal} object.
35
 * <!-- begin-user-doc -->
36
 * <!-- end-user-doc -->
37
 * @generated
38
 */
39
public class TerminalItemProvider
40
	extends ElementItemProvider
41
	implements
42
		IEditingDomainItemProvider,
43
		IStructuredItemContentProvider,
44
		ITreeItemContentProvider,
45
		IItemLabelProvider,
46
		IItemPropertySource {
47
	/**
48
	 * This constructs an instance from a factory and a notifier.
49
	 * <!-- begin-user-doc -->
50
	 * <!-- end-user-doc -->
51
	 * @generated
52
	 */
53
	public TerminalItemProvider(AdapterFactory adapterFactory) {
54
		super(adapterFactory);
55
	}
56
57
	/**
58
	 * This returns the property descriptors for the adapted class.
59
	 * <!-- begin-user-doc -->
60
	 * <!-- end-user-doc -->
61
	 * @generated
62
	 */
63
	public List getPropertyDescriptors(Object object) {
64
		if (itemPropertyDescriptors == null) {
65
			super.getPropertyDescriptors(object);
66
67
			addIdPropertyDescriptor(object);
68
		}
69
		return itemPropertyDescriptors;
70
	}
71
72
	/**
73
	 * This adds a property descriptor for the Id feature.
74
	 * <!-- begin-user-doc -->
75
	 * <!-- end-user-doc -->
76
	 * @generated
77
	 */
78
	protected void addIdPropertyDescriptor(Object object) {
79
		itemPropertyDescriptors.add
80
			(createItemPropertyDescriptor
81
				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
82
				 getResourceLocator(),
83
				 getString("_UI_Terminal_id_feature"),//$NON-NLS-1$
84
				 getString("_UI_PropertyDescriptor_description", "_UI_Terminal_id_feature", "_UI_Terminal_type"),//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
85
				 SemanticPackage.eINSTANCE.getTerminal_Id(),
86
				 true,
87
				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
88
				 null,
89
				 null));
90
	}
91
92
	/**
93
	 * This returns Terminal.gif.
94
	 * <!-- begin-user-doc -->
95
	 * <!-- end-user-doc -->
96
	 * @generated
97
	 */
98
	public Object getImage(Object object) {
99
		return getResourceLocator().getImage("full/obj16/Terminal");//$NON-NLS-1$
100
	}
101
102
	/**
103
	 * This returns the label text for the adapted class.
104
	 * <!-- begin-user-doc -->
105
	 * <!-- end-user-doc -->
106
	 * @generated
107
	 */
108
	public String getText(Object object) {
109
		String label = ((Terminal)object).getId();
110
		return label == null || label.length() == 0 ?
111
			getString("_UI_Terminal_type") ://$NON-NLS-1$
112
			getString("_UI_Terminal_type") + " " + label;//$NON-NLS-2$//$NON-NLS-1$
113
	}
114
115
	/**
116
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
117
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
118
	 * <!-- begin-user-doc -->
119
	 * <!-- end-user-doc -->
120
	 * @generated
121
	 */
122
	public void notifyChanged(Notification notification) {
123
		updateChildren(notification);
124
125
		switch (notification.getFeatureID(Terminal.class)) {
126
			case SemanticPackage.TERMINAL__ID:
127
				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
128
				return;
129
		}
130
		super.notifyChanged(notification);
131
	}
132
133
	/**
134
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
135
	 * describing all of the children that can be created under this object.
136
	 * <!-- begin-user-doc -->
137
	 * <!-- end-user-doc -->
138
	 * @generated
139
	 */
140
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
141
		super.collectNewChildDescriptors(newChildDescriptors, object);
142
	}
143
144
	/**
145
	 * Return the resource locator for this item provider's resources.
146
	 * <!-- begin-user-doc -->
147
	 * <!-- end-user-doc -->
148
	 * @generated
149
	 */
150
	public ResourceLocator getResourceLocator() {
151
		return LogicsemanticEditPlugin.INSTANCE;
152
	}
153
154
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/provider/ContainerElementItemProvider.java (-214 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.provider;
13
14
15
import java.util.Collection;
16
import java.util.List;
17
18
import org.eclipse.emf.common.notify.AdapterFactory;
19
import org.eclipse.emf.common.notify.Notification;
20
import org.eclipse.emf.common.util.ResourceLocator;
21
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
22
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
23
import org.eclipse.emf.edit.provider.IItemLabelProvider;
24
import org.eclipse.emf.edit.provider.IItemPropertySource;
25
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
26
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
27
28
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticFactory;
29
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
30
31
/**
32
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.ContainerElement} object.
33
 * <!-- begin-user-doc -->
34
 * <!-- end-user-doc -->
35
 * @generated
36
 */
37
public class ContainerElementItemProvider
38
	extends ElementItemProvider
39
	implements
40
		IEditingDomainItemProvider,
41
		IStructuredItemContentProvider,
42
		ITreeItemContentProvider,
43
		IItemLabelProvider,
44
		IItemPropertySource {
45
	/**
46
	 * This constructs an instance from a factory and a notifier.
47
	 * <!-- begin-user-doc -->
48
	 * <!-- end-user-doc -->
49
	 * @generated
50
	 */
51
	public ContainerElementItemProvider(AdapterFactory adapterFactory) {
52
		super(adapterFactory);
53
	}
54
55
	/**
56
	 * This returns the property descriptors for the adapted class.
57
	 * <!-- begin-user-doc -->
58
	 * <!-- end-user-doc -->
59
	 * @generated
60
	 */
61
	public List getPropertyDescriptors(Object object) {
62
		if (itemPropertyDescriptors == null) {
63
			super.getPropertyDescriptors(object);
64
65
			addChildrenPropertyDescriptor(object);
66
		}
67
		return itemPropertyDescriptors;
68
	}
69
70
	/**
71
	 * This adds a property descriptor for the Children feature.
72
	 * <!-- begin-user-doc -->
73
	 * <!-- end-user-doc -->
74
	 * @generated
75
	 */
76
	protected void addChildrenPropertyDescriptor(Object object) {
77
		itemPropertyDescriptors.add
78
			(createItemPropertyDescriptor
79
				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
80
				 getResourceLocator(),
81
				 getString("_UI_ContainerElement_children_feature"),//$NON-NLS-1$
82
				 getString("_UI_PropertyDescriptor_description", "_UI_ContainerElement_children_feature", "_UI_ContainerElement_type"),//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
83
				 SemanticPackage.eINSTANCE.getContainerElement_Children(),
84
				 true,
85
				 null,
86
				 null,
87
				 null));
88
	}
89
90
	/**
91
	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
92
	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
93
	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
94
	 * <!-- begin-user-doc -->
95
	 * <!-- end-user-doc -->
96
	 * @generated
97
	 */
98
	public Collection getChildrenFeatures(Object object) {
99
		if (childrenFeatures == null) {
100
			super.getChildrenFeatures(object);
101
			childrenFeatures.add(SemanticPackage.eINSTANCE.getContainerElement_Children());
102
		}
103
		return childrenFeatures;
104
	}
105
106
	/**
107
	 * This returns ContainerElement.gif.
108
	 * <!-- begin-user-doc -->
109
	 * <!-- end-user-doc -->
110
	 * @generated
111
	 */
112
	public Object getImage(Object object) {
113
		return getResourceLocator().getImage("full/obj16/ContainerElement");//$NON-NLS-1$
114
	}
115
116
	/**
117
	 * This returns the label text for the adapted class.
118
	 * <!-- begin-user-doc -->
119
	 * <!-- end-user-doc -->
120
	 * @generated
121
	 */
122
	public String getText(Object object) {
123
		return getString("_UI_ContainerElement_type");//$NON-NLS-1$
124
	}
125
126
	/**
127
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
128
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
129
	 * <!-- begin-user-doc -->
130
	 * <!-- end-user-doc -->
131
	 * @generated
132
	 */
133
	public void notifyChanged(Notification notification) {
134
		updateChildren(notification);
135
		super.notifyChanged(notification);
136
	}
137
138
	/**
139
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
140
	 * describing all of the children that can be created under this object.
141
	 * <!-- begin-user-doc -->
142
	 * <!-- end-user-doc -->
143
	 * @generated
144
	 */
145
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
146
		super.collectNewChildDescriptors(newChildDescriptors, object);
147
148
		newChildDescriptors.add
149
			(createChildParameter
150
				(SemanticPackage.eINSTANCE.getContainerElement_Children(),
151
				 SemanticFactory.eINSTANCE.createLED()));
152
153
		newChildDescriptors.add
154
			(createChildParameter
155
				(SemanticPackage.eINSTANCE.getContainerElement_Children(),
156
				 SemanticFactory.eINSTANCE.createWire()));
157
158
		newChildDescriptors.add
159
			(createChildParameter
160
				(SemanticPackage.eINSTANCE.getContainerElement_Children(),
161
				 SemanticFactory.eINSTANCE.createCircuit()));
162
163
		newChildDescriptors.add
164
			(createChildParameter
165
				(SemanticPackage.eINSTANCE.getContainerElement_Children(),
166
				 SemanticFactory.eINSTANCE.createFlowContainer()));
167
168
		newChildDescriptors.add
169
			(createChildParameter
170
				(SemanticPackage.eINSTANCE.getContainerElement_Children(),
171
				 SemanticFactory.eINSTANCE.createAndGate()));
172
173
		newChildDescriptors.add
174
			(createChildParameter
175
				(SemanticPackage.eINSTANCE.getContainerElement_Children(),
176
				 SemanticFactory.eINSTANCE.createOrGate()));
177
178
		newChildDescriptors.add
179
			(createChildParameter
180
				(SemanticPackage.eINSTANCE.getContainerElement_Children(),
181
				 SemanticFactory.eINSTANCE.createXORGate()));
182
183
		newChildDescriptors.add
184
			(createChildParameter
185
				(SemanticPackage.eINSTANCE.getContainerElement_Children(),
186
				 SemanticFactory.eINSTANCE.createModel()));
187
188
		newChildDescriptors.add
189
			(createChildParameter
190
				(SemanticPackage.eINSTANCE.getContainerElement_Children(),
191
				 SemanticFactory.eINSTANCE.createOutputTerminal()));
192
193
		newChildDescriptors.add
194
			(createChildParameter
195
				(SemanticPackage.eINSTANCE.getContainerElement_Children(),
196
				 SemanticFactory.eINSTANCE.createInputTerminal()));
197
198
		newChildDescriptors.add
199
			(createChildParameter
200
				(SemanticPackage.eINSTANCE.getContainerElement_Children(),
201
				 SemanticFactory.eINSTANCE.createInputOutputTerminal()));
202
	}
203
204
	/**
205
	 * Return the resource locator for this item provider's resources.
206
	 * <!-- begin-user-doc -->
207
	 * <!-- end-user-doc -->
208
	 * @generated
209
	 */
210
	public ResourceLocator getResourceLocator() {
211
		return LogicsemanticEditPlugin.INSTANCE;
212
	}
213
214
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/provider/WireItemProvider.java (-236 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.provider;
13
14
15
import java.util.Collection;
16
import java.util.List;
17
18
import org.eclipse.emf.common.notify.AdapterFactory;
19
import org.eclipse.emf.common.notify.Notification;
20
import org.eclipse.emf.common.util.ResourceLocator;
21
import org.eclipse.emf.ecore.EStructuralFeature;
22
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
23
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
24
import org.eclipse.emf.edit.provider.IItemLabelProvider;
25
import org.eclipse.emf.edit.provider.IItemPropertySource;
26
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
27
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
28
29
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticFactory;
30
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
31
32
/**
33
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire} object.
34
 * <!-- begin-user-doc -->
35
 * <!-- end-user-doc -->
36
 * @generated
37
 */
38
public class WireItemProvider
39
	extends ElementItemProvider
40
	implements
41
		IEditingDomainItemProvider,
42
		IStructuredItemContentProvider,
43
		ITreeItemContentProvider,
44
		IItemLabelProvider,
45
		IItemPropertySource {
46
	/**
47
	 * This constructs an instance from a factory and a notifier.
48
	 * <!-- begin-user-doc -->
49
	 * <!-- end-user-doc -->
50
	 * @generated
51
	 */
52
	public WireItemProvider(AdapterFactory adapterFactory) {
53
		super(adapterFactory);
54
	}
55
56
	/**
57
	 * This returns the property descriptors for the adapted class.
58
	 * <!-- begin-user-doc -->
59
	 * <!-- end-user-doc -->
60
	 * @generated
61
	 */
62
	public List getPropertyDescriptors(Object object) {
63
		if (itemPropertyDescriptors == null) {
64
			super.getPropertyDescriptors(object);
65
66
			addSourcePropertyDescriptor(object);
67
			addTargetPropertyDescriptor(object);
68
		}
69
		return itemPropertyDescriptors;
70
	}
71
72
	/**
73
	 * This adds a property descriptor for the Source feature.
74
	 * <!-- begin-user-doc -->
75
	 * <!-- end-user-doc -->
76
	 * @generated
77
	 */
78
	protected void addSourcePropertyDescriptor(Object object) {
79
		itemPropertyDescriptors.add
80
			(createItemPropertyDescriptor
81
				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
82
				 getResourceLocator(),
83
				 getString("_UI_Wire_source_feature"),//$NON-NLS-1$
84
				 getString("_UI_PropertyDescriptor_description", "_UI_Wire_source_feature", "_UI_Wire_type"),//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
85
				 SemanticPackage.eINSTANCE.getWire_Source(),
86
				 true,
87
				 null,
88
				 null,
89
				 null));
90
	}
91
92
	/**
93
	 * This adds a property descriptor for the Target feature.
94
	 * <!-- begin-user-doc -->
95
	 * <!-- end-user-doc -->
96
	 * @generated
97
	 */
98
	protected void addTargetPropertyDescriptor(Object object) {
99
		itemPropertyDescriptors.add
100
			(createItemPropertyDescriptor
101
				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
102
				 getResourceLocator(),
103
				 getString("_UI_Wire_target_feature"),//$NON-NLS-1$
104
				 getString("_UI_PropertyDescriptor_description", "_UI_Wire_target_feature", "_UI_Wire_type"),//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
105
				 SemanticPackage.eINSTANCE.getWire_Target(),
106
				 true,
107
				 null,
108
				 null,
109
				 null));
110
	}
111
112
	/**
113
	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
114
	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
115
	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
116
	 * <!-- begin-user-doc -->
117
	 * <!-- end-user-doc -->
118
	 * @generated
119
	 */
120
	public Collection getChildrenFeatures(Object object) {
121
		if (childrenFeatures == null) {
122
			super.getChildrenFeatures(object);
123
			childrenFeatures.add(SemanticPackage.eINSTANCE.getWire_Source());
124
			childrenFeatures.add(SemanticPackage.eINSTANCE.getWire_Target());
125
		}
126
		return childrenFeatures;
127
	}
128
129
	/**
130
	 * <!-- begin-user-doc -->
131
	 * <!-- end-user-doc -->
132
	 * @generated
133
	 */
134
	protected EStructuralFeature getChildFeature(Object object, Object child) {
135
		// Check the type of the specified child object and return the proper feature to use for
136
		// adding (see {@link AddCommand}) it as a child.
137
138
		return super.getChildFeature(object, child);
139
	}
140
141
	/**
142
	 * This returns Wire.gif.
143
	 * <!-- begin-user-doc -->
144
	 * <!-- end-user-doc -->
145
	 * @generated
146
	 */
147
	public Object getImage(Object object) {
148
		return getResourceLocator().getImage("full/obj16/Wire");//$NON-NLS-1$
149
	}
150
151
	/**
152
	 * This returns the label text for the adapted class.
153
	 * <!-- begin-user-doc -->
154
	 * <!-- end-user-doc -->
155
	 * @generated
156
	 */
157
	public String getText(Object object) {
158
		return getString("_UI_Wire_type");//$NON-NLS-1$
159
	}
160
161
	/**
162
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
163
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
164
	 * <!-- begin-user-doc -->
165
	 * <!-- end-user-doc -->
166
	 * @generated
167
	 */
168
	public void notifyChanged(Notification notification) {
169
		updateChildren(notification);
170
		super.notifyChanged(notification);
171
	}
172
173
	/**
174
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
175
	 * describing all of the children that can be created under this object.
176
	 * <!-- begin-user-doc -->
177
	 * <!-- end-user-doc -->
178
	 * @generated
179
	 */
180
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
181
		super.collectNewChildDescriptors(newChildDescriptors, object);
182
183
		newChildDescriptors.add
184
			(createChildParameter
185
				(SemanticPackage.eINSTANCE.getWire_Source(),
186
				 SemanticFactory.eINSTANCE.createOutputTerminal()));
187
188
		newChildDescriptors.add
189
			(createChildParameter
190
				(SemanticPackage.eINSTANCE.getWire_Source(),
191
				 SemanticFactory.eINSTANCE.createInputOutputTerminal()));
192
193
		newChildDescriptors.add
194
			(createChildParameter
195
				(SemanticPackage.eINSTANCE.getWire_Target(),
196
				 SemanticFactory.eINSTANCE.createInputTerminal()));
197
198
		newChildDescriptors.add
199
			(createChildParameter
200
				(SemanticPackage.eINSTANCE.getWire_Target(),
201
				 SemanticFactory.eINSTANCE.createInputOutputTerminal()));
202
	}
203
204
	/**
205
	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
206
	 * <!-- begin-user-doc -->
207
	 * <!-- end-user-doc -->
208
	 * @generated
209
	 */
210
	public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) {
211
		Object childFeature = feature;
212
		Object childObject = child;
213
214
		boolean qualify =
215
			childFeature == SemanticPackage.eINSTANCE.getWire_Source() ||
216
			childFeature == SemanticPackage.eINSTANCE.getWire_Target();
217
218
		if (qualify) {
219
			return getString
220
				("_UI_CreateChild_text2",//$NON-NLS-1$
221
				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
222
		}
223
		return super.getCreateChildText(owner, feature, child, selection);
224
	}
225
226
	/**
227
	 * Return the resource locator for this item provider's resources.
228
	 * <!-- begin-user-doc -->
229
	 * <!-- end-user-doc -->
230
	 * @generated
231
	 */
232
	public ResourceLocator getResourceLocator() {
233
		return LogicsemanticEditPlugin.INSTANCE;
234
	}
235
236
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/provider/LogicsemanticEditPlugin.java (-10 / +5 lines)
Lines 1-14 Link Here
1
/******************************************************************************
1
/**
2
 * Copyright (c) 2005 IBM Corporation and others.
2
 * <copyright>
3
 * All rights reserved. This program and the accompanying materials
3
 * </copyright>
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
4
 *
8
 * Contributors:
5
 * $Id$
9
 *    IBM Corporation - initial API and implementation 
6
 */
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.provider;
7
package org.eclipse.gmf.examples.runtime.diagram.logic.model.provider;
13
8
14
import org.eclipse.emf.common.EMFPlugin;
9
import org.eclipse.emf.common.EMFPlugin;
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/provider/ModelItemProvider.java (-118 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.provider;
13
14
15
import java.util.Collection;
16
import java.util.List;
17
18
import org.eclipse.emf.common.notify.AdapterFactory;
19
import org.eclipse.emf.common.notify.Notification;
20
import org.eclipse.emf.common.util.ResourceLocator;
21
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
22
import org.eclipse.emf.edit.provider.IItemLabelProvider;
23
import org.eclipse.emf.edit.provider.IItemPropertySource;
24
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
25
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
26
27
/**
28
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Model} object.
29
 * <!-- begin-user-doc -->
30
 * <!-- end-user-doc -->
31
 * @generated
32
 */
33
public class ModelItemProvider
34
	extends ContainerElementItemProvider
35
	implements
36
		IEditingDomainItemProvider,
37
		IStructuredItemContentProvider,
38
		ITreeItemContentProvider,
39
		IItemLabelProvider,
40
		IItemPropertySource {
41
	/**
42
	 * This constructs an instance from a factory and a notifier.
43
	 * <!-- begin-user-doc -->
44
	 * <!-- end-user-doc -->
45
	 * @generated
46
	 */
47
	public ModelItemProvider(AdapterFactory adapterFactory) {
48
		super(adapterFactory);
49
	}
50
51
	/**
52
	 * This returns the property descriptors for the adapted class.
53
	 * <!-- begin-user-doc -->
54
	 * <!-- end-user-doc -->
55
	 * @generated
56
	 */
57
	public List getPropertyDescriptors(Object object) {
58
		if (itemPropertyDescriptors == null) {
59
			super.getPropertyDescriptors(object);
60
61
		}
62
		return itemPropertyDescriptors;
63
	}
64
65
	/**
66
	 * This returns Model.gif.
67
	 * <!-- begin-user-doc -->
68
	 * <!-- end-user-doc -->
69
	 * @generated
70
	 */
71
	public Object getImage(Object object) {
72
		return getResourceLocator().getImage("full/obj16/Model");//$NON-NLS-1$
73
	}
74
75
	/**
76
	 * This returns the label text for the adapted class.
77
	 * <!-- begin-user-doc -->
78
	 * <!-- end-user-doc -->
79
	 * @generated
80
	 */
81
	public String getText(Object object) {
82
		return getString("_UI_Model_type");//$NON-NLS-1$
83
	}
84
85
	/**
86
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
87
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
88
	 * <!-- begin-user-doc -->
89
	 * <!-- end-user-doc -->
90
	 * @generated
91
	 */
92
	public void notifyChanged(Notification notification) {
93
		updateChildren(notification);
94
		super.notifyChanged(notification);
95
	}
96
97
	/**
98
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
99
	 * describing all of the children that can be created under this object.
100
	 * <!-- begin-user-doc -->
101
	 * <!-- end-user-doc -->
102
	 * @generated
103
	 */
104
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
105
		super.collectNewChildDescriptors(newChildDescriptors, object);
106
	}
107
108
	/**
109
	 * Return the resource locator for this item provider's resources.
110
	 * <!-- begin-user-doc -->
111
	 * <!-- end-user-doc -->
112
	 * @generated
113
	 */
114
	public ResourceLocator getResourceLocator() {
115
		return LogicsemanticEditPlugin.INSTANCE;
116
	}
117
118
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/provider/AndGateItemProvider.java (-118 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.provider;
13
14
15
import java.util.Collection;
16
import java.util.List;
17
18
import org.eclipse.emf.common.notify.AdapterFactory;
19
import org.eclipse.emf.common.notify.Notification;
20
import org.eclipse.emf.common.util.ResourceLocator;
21
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
22
import org.eclipse.emf.edit.provider.IItemLabelProvider;
23
import org.eclipse.emf.edit.provider.IItemPropertySource;
24
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
25
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
26
27
/**
28
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.AndGate} object.
29
 * <!-- begin-user-doc -->
30
 * <!-- end-user-doc -->
31
 * @generated
32
 */
33
public class AndGateItemProvider
34
	extends GateItemProvider
35
	implements
36
		IEditingDomainItemProvider,
37
		IStructuredItemContentProvider,
38
		ITreeItemContentProvider,
39
		IItemLabelProvider,
40
		IItemPropertySource {
41
	/**
42
	 * This constructs an instance from a factory and a notifier.
43
	 * <!-- begin-user-doc -->
44
	 * <!-- end-user-doc -->
45
	 * @generated
46
	 */
47
	public AndGateItemProvider(AdapterFactory adapterFactory) {
48
		super(adapterFactory);
49
	}
50
51
	/**
52
	 * This returns the property descriptors for the adapted class.
53
	 * <!-- begin-user-doc -->
54
	 * <!-- end-user-doc -->
55
	 * @generated
56
	 */
57
	public List getPropertyDescriptors(Object object) {
58
		if (itemPropertyDescriptors == null) {
59
			super.getPropertyDescriptors(object);
60
61
		}
62
		return itemPropertyDescriptors;
63
	}
64
65
	/**
66
	 * This returns AndGate.gif.
67
	 * <!-- begin-user-doc -->
68
	 * <!-- end-user-doc -->
69
	 * @generated
70
	 */
71
	public Object getImage(Object object) {
72
		return getResourceLocator().getImage("full/obj16/AndGate");//$NON-NLS-1$
73
	}
74
75
	/**
76
	 * This returns the label text for the adapted class.
77
	 * <!-- begin-user-doc -->
78
	 * <!-- end-user-doc -->
79
	 * @generated
80
	 */
81
	public String getText(Object object) {
82
		return getString("_UI_AndGate_type");//$NON-NLS-1$
83
	}
84
85
	/**
86
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
87
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
88
	 * <!-- begin-user-doc -->
89
	 * <!-- end-user-doc -->
90
	 * @generated
91
	 */
92
	public void notifyChanged(Notification notification) {
93
		updateChildren(notification);
94
		super.notifyChanged(notification);
95
	}
96
97
	/**
98
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
99
	 * describing all of the children that can be created under this object.
100
	 * <!-- begin-user-doc -->
101
	 * <!-- end-user-doc -->
102
	 * @generated
103
	 */
104
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
105
		super.collectNewChildDescriptors(newChildDescriptors, object);
106
	}
107
108
	/**
109
	 * Return the resource locator for this item provider's resources.
110
	 * <!-- begin-user-doc -->
111
	 * <!-- end-user-doc -->
112
	 * @generated
113
	 */
114
	public ResourceLocator getResourceLocator() {
115
		return LogicsemanticEditPlugin.INSTANCE;
116
	}
117
118
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/provider/SemanticItemProviderAdapterFactory.java (-413 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.provider;
13
14
import org.eclipse.gmf.examples.runtime.diagram.logic.model.util.SemanticAdapterFactory;
15
16
import java.util.ArrayList;
17
import java.util.Collection;
18
19
import org.eclipse.emf.common.notify.Adapter;
20
import org.eclipse.emf.common.notify.Notification;
21
import org.eclipse.emf.common.notify.Notifier;
22
23
import org.eclipse.emf.edit.provider.ChangeNotifier;
24
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
25
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
26
import org.eclipse.emf.edit.provider.IChangeNotifier;
27
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
28
import org.eclipse.emf.edit.provider.IItemLabelProvider;
29
import org.eclipse.emf.edit.provider.IItemPropertySource;
30
import org.eclipse.emf.edit.provider.INotifyChangedListener;
31
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
32
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
33
34
/**
35
 * This is the factory that is used to provide the interfaces needed to support Viewers.
36
 * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
37
 * The adapters also support Eclipse property sheets.
38
 * Note that most of the adapters are shared among multiple instances.
39
 * <!-- begin-user-doc -->
40
 * <!-- end-user-doc -->
41
 * @generated
42
 */
43
public class SemanticItemProviderAdapterFactory extends SemanticAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier {
44
	/**
45
	 * This keeps track of the root adapter factory that delegates to this adapter factory.
46
	 * <!-- begin-user-doc -->
47
	 * <!-- end-user-doc -->
48
	 * @generated
49
	 */
50
	protected ComposedAdapterFactory parentAdapterFactory;
51
52
	/**
53
	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
54
	 * <!-- begin-user-doc -->
55
	 * <!-- end-user-doc -->
56
	 * @generated
57
	 */
58
	protected IChangeNotifier changeNotifier = new ChangeNotifier();
59
60
	/**
61
	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
62
	 * <!-- begin-user-doc -->
63
	 * <!-- end-user-doc -->
64
	 * @generated
65
	 */
66
	protected Collection supportedTypes = new ArrayList();
67
68
	/**
69
	 * This constructs an instance.
70
	 * <!-- begin-user-doc -->
71
	 * <!-- end-user-doc -->
72
	 * @generated
73
	 */
74
	public SemanticItemProviderAdapterFactory() {
75
		supportedTypes.add(IEditingDomainItemProvider.class);
76
		supportedTypes.add(IStructuredItemContentProvider.class);
77
		supportedTypes.add(ITreeItemContentProvider.class);
78
		supportedTypes.add(IItemLabelProvider.class);
79
		supportedTypes.add(IItemPropertySource.class);		
80
	}
81
82
	/**
83
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.LED} instances.
84
	 * <!-- begin-user-doc -->
85
	 * <!-- end-user-doc -->
86
	 * @generated
87
	 */
88
	protected LEDItemProvider ledItemProvider;
89
90
	/**
91
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.LED}.
92
	 * <!-- begin-user-doc -->
93
	 * <!-- end-user-doc -->
94
	 * @generated
95
	 */
96
	public Adapter createLEDAdapter() {
97
		if (ledItemProvider == null) {
98
			ledItemProvider = new LEDItemProvider(this);
99
		}
100
101
		return ledItemProvider;
102
	}
103
104
	/**
105
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire} instances.
106
	 * <!-- begin-user-doc -->
107
	 * <!-- end-user-doc -->
108
	 * @generated
109
	 */
110
	protected WireItemProvider wireItemProvider;
111
112
	/**
113
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire}.
114
	 * <!-- begin-user-doc -->
115
	 * <!-- end-user-doc -->
116
	 * @generated
117
	 */
118
	public Adapter createWireAdapter() {
119
		if (wireItemProvider == null) {
120
			wireItemProvider = new WireItemProvider(this);
121
		}
122
123
		return wireItemProvider;
124
	}
125
126
	/**
127
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Circuit} instances.
128
	 * <!-- begin-user-doc -->
129
	 * <!-- end-user-doc -->
130
	 * @generated
131
	 */
132
	protected CircuitItemProvider circuitItemProvider;
133
134
	/**
135
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Circuit}.
136
	 * <!-- begin-user-doc -->
137
	 * <!-- end-user-doc -->
138
	 * @generated
139
	 */
140
	public Adapter createCircuitAdapter() {
141
		if (circuitItemProvider == null) {
142
			circuitItemProvider = new CircuitItemProvider(this);
143
		}
144
145
		return circuitItemProvider;
146
	}
147
148
	/**
149
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.FlowContainer} instances.
150
	 * <!-- begin-user-doc -->
151
	 * <!-- end-user-doc -->
152
	 * @generated
153
	 */
154
	protected FlowContainerItemProvider flowContainerItemProvider;
155
156
	/**
157
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.FlowContainer}.
158
	 * <!-- begin-user-doc -->
159
	 * <!-- end-user-doc -->
160
	 * @generated
161
	 */
162
	public Adapter createFlowContainerAdapter() {
163
		if (flowContainerItemProvider == null) {
164
			flowContainerItemProvider = new FlowContainerItemProvider(this);
165
		}
166
167
		return flowContainerItemProvider;
168
	}
169
170
	/**
171
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.AndGate} instances.
172
	 * <!-- begin-user-doc -->
173
	 * <!-- end-user-doc -->
174
	 * @generated
175
	 */
176
	protected AndGateItemProvider andGateItemProvider;
177
178
	/**
179
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.AndGate}.
180
	 * <!-- begin-user-doc -->
181
	 * <!-- end-user-doc -->
182
	 * @generated
183
	 */
184
	public Adapter createAndGateAdapter() {
185
		if (andGateItemProvider == null) {
186
			andGateItemProvider = new AndGateItemProvider(this);
187
		}
188
189
		return andGateItemProvider;
190
	}
191
192
	/**
193
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.OrGate} instances.
194
	 * <!-- begin-user-doc -->
195
	 * <!-- end-user-doc -->
196
	 * @generated
197
	 */
198
	protected OrGateItemProvider orGateItemProvider;
199
200
	/**
201
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.OrGate}.
202
	 * <!-- begin-user-doc -->
203
	 * <!-- end-user-doc -->
204
	 * @generated
205
	 */
206
	public Adapter createOrGateAdapter() {
207
		if (orGateItemProvider == null) {
208
			orGateItemProvider = new OrGateItemProvider(this);
209
		}
210
211
		return orGateItemProvider;
212
	}
213
214
	/**
215
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.XORGate} instances.
216
	 * <!-- begin-user-doc -->
217
	 * <!-- end-user-doc -->
218
	 * @generated
219
	 */
220
	protected XORGateItemProvider xorGateItemProvider;
221
222
	/**
223
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.XORGate}.
224
	 * <!-- begin-user-doc -->
225
	 * <!-- end-user-doc -->
226
	 * @generated
227
	 */
228
	public Adapter createXORGateAdapter() {
229
		if (xorGateItemProvider == null) {
230
			xorGateItemProvider = new XORGateItemProvider(this);
231
		}
232
233
		return xorGateItemProvider;
234
	}
235
236
	/**
237
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Model} instances.
238
	 * <!-- begin-user-doc -->
239
	 * <!-- end-user-doc -->
240
	 * @generated
241
	 */
242
	protected ModelItemProvider modelItemProvider;
243
244
	/**
245
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Model}.
246
	 * <!-- begin-user-doc -->
247
	 * <!-- end-user-doc -->
248
	 * @generated
249
	 */
250
	public Adapter createModelAdapter() {
251
		if (modelItemProvider == null) {
252
			modelItemProvider = new ModelItemProvider(this);
253
		}
254
255
		return modelItemProvider;
256
	}
257
258
	/**
259
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.OutputTerminal} instances.
260
	 * <!-- begin-user-doc -->
261
	 * <!-- end-user-doc -->
262
	 * @generated
263
	 */
264
	protected OutputTerminalItemProvider outputTerminalItemProvider;
265
266
	/**
267
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.OutputTerminal}.
268
	 * <!-- begin-user-doc -->
269
	 * <!-- end-user-doc -->
270
	 * @generated
271
	 */
272
	public Adapter createOutputTerminalAdapter() {
273
		if (outputTerminalItemProvider == null) {
274
			outputTerminalItemProvider = new OutputTerminalItemProvider(this);
275
		}
276
277
		return outputTerminalItemProvider;
278
	}
279
280
	/**
281
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal} instances.
282
	 * <!-- begin-user-doc -->
283
	 * <!-- end-user-doc -->
284
	 * @generated
285
	 */
286
	protected InputTerminalItemProvider inputTerminalItemProvider;
287
288
	/**
289
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal}.
290
	 * <!-- begin-user-doc -->
291
	 * <!-- end-user-doc -->
292
	 * @generated
293
	 */
294
	public Adapter createInputTerminalAdapter() {
295
		if (inputTerminalItemProvider == null) {
296
			inputTerminalItemProvider = new InputTerminalItemProvider(this);
297
		}
298
299
		return inputTerminalItemProvider;
300
	}
301
302
	/**
303
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.InputOutputTerminal} instances.
304
	 * <!-- begin-user-doc -->
305
	 * <!-- end-user-doc -->
306
	 * @generated
307
	 */
308
	protected InputOutputTerminalItemProvider inputOutputTerminalItemProvider;
309
310
	/**
311
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.InputOutputTerminal}.
312
	 * <!-- begin-user-doc -->
313
	 * <!-- end-user-doc -->
314
	 * @generated
315
	 */
316
	public Adapter createInputOutputTerminalAdapter() {
317
		if (inputOutputTerminalItemProvider == null) {
318
			inputOutputTerminalItemProvider = new InputOutputTerminalItemProvider(this);
319
		}
320
321
		return inputOutputTerminalItemProvider;
322
	}
323
324
	/**
325
	 * This returns the root adapter factory that contains this factory.
326
	 * <!-- begin-user-doc -->
327
	 * <!-- end-user-doc -->
328
	 * @generated
329
	 */
330
	public ComposeableAdapterFactory getRootAdapterFactory() {
331
		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
332
	}
333
334
	/**
335
	 * This sets the composed adapter factory that contains this factory.
336
	 * <!-- begin-user-doc -->
337
	 * <!-- end-user-doc -->
338
	 * @generated
339
	 */
340
	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
341
		this.parentAdapterFactory = parentAdapterFactory;
342
	}
343
344
	/**
345
	 * <!-- begin-user-doc -->
346
	 * <!-- end-user-doc -->
347
	 * @generated
348
	 */
349
	public boolean isFactoryForType(Object type) {
350
		return supportedTypes.contains(type) || super.isFactoryForType(type);
351
	}
352
353
	/**
354
	 * This implementation substitutes the factory itself as the key for the adapter.
355
	 * <!-- begin-user-doc -->
356
	 * <!-- end-user-doc -->
357
	 * @generated
358
	 */
359
	public Adapter adapt(Notifier notifier, Object type) {
360
		return super.adapt(notifier, this);
361
	}
362
363
	/**
364
	 * <!-- begin-user-doc -->
365
	 * <!-- end-user-doc -->
366
	 * @generated
367
	 */
368
	public Object adapt(Object object, Object type) {
369
		if (isFactoryForType(type)) {
370
			Object adapter = super.adapt(object, type);
371
			if (!(type instanceof Class) || (((Class)type).isInstance(adapter))) {
372
				return adapter;
373
			}
374
		}
375
376
		return null;
377
	}
378
379
	/**
380
	 * This adds a listener.
381
	 * <!-- begin-user-doc -->
382
	 * <!-- end-user-doc -->
383
	 * @generated
384
	 */
385
	public void addListener(INotifyChangedListener notifyChangedListener) {
386
		changeNotifier.addListener(notifyChangedListener);
387
	}
388
389
	/**
390
	 * This removes a listener.
391
	 * <!-- begin-user-doc -->
392
	 * <!-- end-user-doc -->
393
	 * @generated
394
	 */
395
	public void removeListener(INotifyChangedListener notifyChangedListener) {
396
		changeNotifier.removeListener(notifyChangedListener);
397
	}
398
399
	/**
400
	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
401
	 * <!-- begin-user-doc -->
402
	 * <!-- end-user-doc -->
403
	 * @generated
404
	 */
405
	public void fireNotifyChanged(Notification notification) {
406
		changeNotifier.fireNotifyChanged(notification);
407
408
		if (parentAdapterFactory != null) {
409
			parentAdapterFactory.fireNotifyChanged(notification);
410
		}
411
	}
412
413
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/provider/CircuitItemProvider.java (-118 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.provider;
13
14
15
import java.util.Collection;
16
import java.util.List;
17
18
import org.eclipse.emf.common.notify.AdapterFactory;
19
import org.eclipse.emf.common.notify.Notification;
20
import org.eclipse.emf.common.util.ResourceLocator;
21
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
22
import org.eclipse.emf.edit.provider.IItemLabelProvider;
23
import org.eclipse.emf.edit.provider.IItemPropertySource;
24
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
25
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
26
27
/**
28
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Circuit} object.
29
 * <!-- begin-user-doc -->
30
 * <!-- end-user-doc -->
31
 * @generated
32
 */
33
public class CircuitItemProvider
34
	extends ContainerElementItemProvider
35
	implements
36
		IEditingDomainItemProvider,
37
		IStructuredItemContentProvider,
38
		ITreeItemContentProvider,
39
		IItemLabelProvider,
40
		IItemPropertySource {
41
	/**
42
	 * This constructs an instance from a factory and a notifier.
43
	 * <!-- begin-user-doc -->
44
	 * <!-- end-user-doc -->
45
	 * @generated
46
	 */
47
	public CircuitItemProvider(AdapterFactory adapterFactory) {
48
		super(adapterFactory);
49
	}
50
51
	/**
52
	 * This returns the property descriptors for the adapted class.
53
	 * <!-- begin-user-doc -->
54
	 * <!-- end-user-doc -->
55
	 * @generated
56
	 */
57
	public List getPropertyDescriptors(Object object) {
58
		if (itemPropertyDescriptors == null) {
59
			super.getPropertyDescriptors(object);
60
61
		}
62
		return itemPropertyDescriptors;
63
	}
64
65
	/**
66
	 * This returns Circuit.gif.
67
	 * <!-- begin-user-doc -->
68
	 * <!-- end-user-doc -->
69
	 * @generated
70
	 */
71
	public Object getImage(Object object) {
72
		return getResourceLocator().getImage("full/obj16/Circuit");//$NON-NLS-1$
73
	}
74
75
	/**
76
	 * This returns the label text for the adapted class.
77
	 * <!-- begin-user-doc -->
78
	 * <!-- end-user-doc -->
79
	 * @generated
80
	 */
81
	public String getText(Object object) {
82
		return getString("_UI_Circuit_type");//$NON-NLS-1$
83
	}
84
85
	/**
86
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
87
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
88
	 * <!-- begin-user-doc -->
89
	 * <!-- end-user-doc -->
90
	 * @generated
91
	 */
92
	public void notifyChanged(Notification notification) {
93
		updateChildren(notification);
94
		super.notifyChanged(notification);
95
	}
96
97
	/**
98
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
99
	 * describing all of the children that can be created under this object.
100
	 * <!-- begin-user-doc -->
101
	 * <!-- end-user-doc -->
102
	 * @generated
103
	 */
104
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
105
		super.collectNewChildDescriptors(newChildDescriptors, object);
106
	}
107
108
	/**
109
	 * Return the resource locator for this item provider's resources.
110
	 * <!-- begin-user-doc -->
111
	 * <!-- end-user-doc -->
112
	 * @generated
113
	 */
114
	public ResourceLocator getResourceLocator() {
115
		return LogicsemanticEditPlugin.INSTANCE;
116
	}
117
118
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/provider/XORGateItemProvider.java (-118 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.provider;
13
14
15
import java.util.Collection;
16
import java.util.List;
17
18
import org.eclipse.emf.common.notify.AdapterFactory;
19
import org.eclipse.emf.common.notify.Notification;
20
import org.eclipse.emf.common.util.ResourceLocator;
21
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
22
import org.eclipse.emf.edit.provider.IItemLabelProvider;
23
import org.eclipse.emf.edit.provider.IItemPropertySource;
24
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
25
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
26
27
/**
28
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.XORGate} object.
29
 * <!-- begin-user-doc -->
30
 * <!-- end-user-doc -->
31
 * @generated
32
 */
33
public class XORGateItemProvider
34
	extends GateItemProvider
35
	implements
36
		IEditingDomainItemProvider,
37
		IStructuredItemContentProvider,
38
		ITreeItemContentProvider,
39
		IItemLabelProvider,
40
		IItemPropertySource {
41
	/**
42
	 * This constructs an instance from a factory and a notifier.
43
	 * <!-- begin-user-doc -->
44
	 * <!-- end-user-doc -->
45
	 * @generated
46
	 */
47
	public XORGateItemProvider(AdapterFactory adapterFactory) {
48
		super(adapterFactory);
49
	}
50
51
	/**
52
	 * This returns the property descriptors for the adapted class.
53
	 * <!-- begin-user-doc -->
54
	 * <!-- end-user-doc -->
55
	 * @generated
56
	 */
57
	public List getPropertyDescriptors(Object object) {
58
		if (itemPropertyDescriptors == null) {
59
			super.getPropertyDescriptors(object);
60
61
		}
62
		return itemPropertyDescriptors;
63
	}
64
65
	/**
66
	 * This returns XORGate.gif.
67
	 * <!-- begin-user-doc -->
68
	 * <!-- end-user-doc -->
69
	 * @generated
70
	 */
71
	public Object getImage(Object object) {
72
		return getResourceLocator().getImage("full/obj16/XORGate");//$NON-NLS-1$
73
	}
74
75
	/**
76
	 * This returns the label text for the adapted class.
77
	 * <!-- begin-user-doc -->
78
	 * <!-- end-user-doc -->
79
	 * @generated
80
	 */
81
	public String getText(Object object) {
82
		return getString("_UI_XORGate_type");//$NON-NLS-1$
83
	}
84
85
	/**
86
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
87
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
88
	 * <!-- begin-user-doc -->
89
	 * <!-- end-user-doc -->
90
	 * @generated
91
	 */
92
	public void notifyChanged(Notification notification) {
93
		updateChildren(notification);
94
		super.notifyChanged(notification);
95
	}
96
97
	/**
98
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
99
	 * describing all of the children that can be created under this object.
100
	 * <!-- begin-user-doc -->
101
	 * <!-- end-user-doc -->
102
	 * @generated
103
	 */
104
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
105
		super.collectNewChildDescriptors(newChildDescriptors, object);
106
	}
107
108
	/**
109
	 * Return the resource locator for this item provider's resources.
110
	 * <!-- begin-user-doc -->
111
	 * <!-- end-user-doc -->
112
	 * @generated
113
	 */
114
	public ResourceLocator getResourceLocator() {
115
		return LogicsemanticEditPlugin.INSTANCE;
116
	}
117
118
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/provider/OrGateItemProvider.java (-118 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.provider;
13
14
15
import java.util.Collection;
16
import java.util.List;
17
18
import org.eclipse.emf.common.notify.AdapterFactory;
19
import org.eclipse.emf.common.notify.Notification;
20
import org.eclipse.emf.common.util.ResourceLocator;
21
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
22
import org.eclipse.emf.edit.provider.IItemLabelProvider;
23
import org.eclipse.emf.edit.provider.IItemPropertySource;
24
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
25
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
26
27
/**
28
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.OrGate} object.
29
 * <!-- begin-user-doc -->
30
 * <!-- end-user-doc -->
31
 * @generated
32
 */
33
public class OrGateItemProvider
34
	extends GateItemProvider
35
	implements
36
		IEditingDomainItemProvider,
37
		IStructuredItemContentProvider,
38
		ITreeItemContentProvider,
39
		IItemLabelProvider,
40
		IItemPropertySource {
41
	/**
42
	 * This constructs an instance from a factory and a notifier.
43
	 * <!-- begin-user-doc -->
44
	 * <!-- end-user-doc -->
45
	 * @generated
46
	 */
47
	public OrGateItemProvider(AdapterFactory adapterFactory) {
48
		super(adapterFactory);
49
	}
50
51
	/**
52
	 * This returns the property descriptors for the adapted class.
53
	 * <!-- begin-user-doc -->
54
	 * <!-- end-user-doc -->
55
	 * @generated
56
	 */
57
	public List getPropertyDescriptors(Object object) {
58
		if (itemPropertyDescriptors == null) {
59
			super.getPropertyDescriptors(object);
60
61
		}
62
		return itemPropertyDescriptors;
63
	}
64
65
	/**
66
	 * This returns OrGate.gif.
67
	 * <!-- begin-user-doc -->
68
	 * <!-- end-user-doc -->
69
	 * @generated
70
	 */
71
	public Object getImage(Object object) {
72
		return getResourceLocator().getImage("full/obj16/OrGate");//$NON-NLS-1$
73
	}
74
75
	/**
76
	 * This returns the label text for the adapted class.
77
	 * <!-- begin-user-doc -->
78
	 * <!-- end-user-doc -->
79
	 * @generated
80
	 */
81
	public String getText(Object object) {
82
		return getString("_UI_OrGate_type");//$NON-NLS-1$
83
	}
84
85
	/**
86
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
87
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
88
	 * <!-- begin-user-doc -->
89
	 * <!-- end-user-doc -->
90
	 * @generated
91
	 */
92
	public void notifyChanged(Notification notification) {
93
		updateChildren(notification);
94
		super.notifyChanged(notification);
95
	}
96
97
	/**
98
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
99
	 * describing all of the children that can be created under this object.
100
	 * <!-- begin-user-doc -->
101
	 * <!-- end-user-doc -->
102
	 * @generated
103
	 */
104
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
105
		super.collectNewChildDescriptors(newChildDescriptors, object);
106
	}
107
108
	/**
109
	 * Return the resource locator for this item provider's resources.
110
	 * <!-- begin-user-doc -->
111
	 * <!-- end-user-doc -->
112
	 * @generated
113
	 */
114
	public ResourceLocator getResourceLocator() {
115
		return LogicsemanticEditPlugin.INSTANCE;
116
	}
117
118
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/provider/OutputTerminalItemProvider.java (-123 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.provider;
13
14
15
import java.util.Collection;
16
import java.util.List;
17
18
import org.eclipse.emf.common.notify.AdapterFactory;
19
import org.eclipse.emf.common.notify.Notification;
20
import org.eclipse.emf.common.util.ResourceLocator;
21
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
22
import org.eclipse.emf.edit.provider.IItemLabelProvider;
23
import org.eclipse.emf.edit.provider.IItemPropertySource;
24
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
25
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
26
27
import org.eclipse.gmf.examples.runtime.diagram.logic.model.OutputTerminal;
28
29
/**
30
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.OutputTerminal} object.
31
 * <!-- begin-user-doc -->
32
 * <!-- end-user-doc -->
33
 * @generated
34
 */
35
public class OutputTerminalItemProvider
36
	extends TerminalItemProvider
37
	implements
38
		IEditingDomainItemProvider,
39
		IStructuredItemContentProvider,
40
		ITreeItemContentProvider,
41
		IItemLabelProvider,
42
		IItemPropertySource {
43
	/**
44
	 * This constructs an instance from a factory and a notifier.
45
	 * <!-- begin-user-doc -->
46
	 * <!-- end-user-doc -->
47
	 * @generated
48
	 */
49
	public OutputTerminalItemProvider(AdapterFactory adapterFactory) {
50
		super(adapterFactory);
51
	}
52
53
	/**
54
	 * This returns the property descriptors for the adapted class.
55
	 * <!-- begin-user-doc -->
56
	 * <!-- end-user-doc -->
57
	 * @generated
58
	 */
59
	public List getPropertyDescriptors(Object object) {
60
		if (itemPropertyDescriptors == null) {
61
			super.getPropertyDescriptors(object);
62
63
		}
64
		return itemPropertyDescriptors;
65
	}
66
67
	/**
68
	 * This returns OutputTerminal.gif.
69
	 * <!-- begin-user-doc -->
70
	 * <!-- end-user-doc -->
71
	 * @generated
72
	 */
73
	public Object getImage(Object object) {
74
		return getResourceLocator().getImage("full/obj16/OutputTerminal");//$NON-NLS-1$
75
	}
76
77
	/**
78
	 * This returns the label text for the adapted class.
79
	 * <!-- begin-user-doc -->
80
	 * <!-- end-user-doc -->
81
	 * @generated
82
	 */
83
	public String getText(Object object) {
84
		String label = ((OutputTerminal)object).getId();
85
		return label == null || label.length() == 0 ?
86
			getString("_UI_OutputTerminal_type") ://$NON-NLS-1$
87
			getString("_UI_OutputTerminal_type") + " " + label;//$NON-NLS-2$//$NON-NLS-1$
88
	}
89
90
	/**
91
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
92
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
93
	 * <!-- begin-user-doc -->
94
	 * <!-- end-user-doc -->
95
	 * @generated
96
	 */
97
	public void notifyChanged(Notification notification) {
98
		updateChildren(notification);
99
		super.notifyChanged(notification);
100
	}
101
102
	/**
103
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
104
	 * describing all of the children that can be created under this object.
105
	 * <!-- begin-user-doc -->
106
	 * <!-- end-user-doc -->
107
	 * @generated
108
	 */
109
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
110
		super.collectNewChildDescriptors(newChildDescriptors, object);
111
	}
112
113
	/**
114
	 * Return the resource locator for this item provider's resources.
115
	 * <!-- begin-user-doc -->
116
	 * <!-- end-user-doc -->
117
	 * @generated
118
	 */
119
	public ResourceLocator getResourceLocator() {
120
		return LogicsemanticEditPlugin.INSTANCE;
121
	}
122
123
}
(-)META-INF/MANIFEST.MF (-2 / +3 lines)
Lines 1-12 Link Here
1
Manifest-Version: 1.0
1
Manifest-Version: 1.0
2
Bundle-ManifestVersion: 2
2
Bundle-ManifestVersion: 2
3
Bundle-Name: %pluginName
3
Bundle-Name: %pluginName
4
Bundle-SymbolicName: org.eclipse.gmf.examples.runtime.diagram.logic.model.edit
4
Bundle-SymbolicName: org.eclipse.gmf.examples.runtime.diagram.logic.model.edit;singleton:=true
5
Bundle-Version: 1.0.0.qualifier
5
Bundle-Version: 1.0.0.qualifier
6
Bundle-Activator: org.eclipse.gmf.examples.runtime.diagram.logic.model.provider.LogicsemanticEditPlugin$Implementation
6
Bundle-Activator: org.eclipse.gmf.examples.runtime.diagram.logic.model.provider.LogicsemanticEditPlugin$Implementation
7
Bundle-Vendor: %providerName
7
Bundle-Vendor: %providerName
8
Bundle-Localization: plugin
8
Bundle-Localization: plugin
9
Export-Package: org.eclipse.gmf.examples.runtime.diagram.logic.model.provider
9
Export-Package: org.eclipse.gmf.examples.runtime.diagram.logic.model.provider,
10
 org.eclipse.gmf.examples.runtime.diagram.logic.semantic.provider
10
Require-Bundle: org.eclipse.core.runtime,
11
Require-Bundle: org.eclipse.core.runtime,
11
 org.eclipse.gmf.examples.runtime.diagram.logic.model;visibility:=reexport,
12
 org.eclipse.gmf.examples.runtime.diagram.logic.model;visibility:=reexport,
12
 org.eclipse.emf.edit;visibility:=reexport
13
 org.eclipse.emf.edit;visibility:=reexport
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/provider/ElementItemProvider.java (+187 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.provider;
8
9
10
import java.util.Collection;
11
import java.util.List;
12
13
import org.eclipse.emf.common.notify.AdapterFactory;
14
import org.eclipse.emf.common.notify.Notification;
15
import org.eclipse.emf.common.util.ResourceLocator;
16
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
17
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
18
import org.eclipse.emf.edit.provider.IItemLabelProvider;
19
import org.eclipse.emf.edit.provider.IItemPropertySource;
20
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
21
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
22
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
23
import org.eclipse.emf.edit.provider.ViewerNotification;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.model.provider.LogicsemanticEditPlugin;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
27
28
/**
29
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element} object.
30
 * <!-- begin-user-doc -->
31
 * <!-- end-user-doc -->
32
 * @generated
33
 */
34
public class ElementItemProvider
35
	extends ItemProviderAdapter
36
	implements	
37
		IEditingDomainItemProvider,	
38
		IStructuredItemContentProvider,	
39
		ITreeItemContentProvider,	
40
		IItemLabelProvider,	
41
		IItemPropertySource {
42
	/**
43
	 * This constructs an instance from a factory and a notifier.
44
	 * <!-- begin-user-doc -->
45
	 * <!-- end-user-doc -->
46
	 * @generated
47
	 */
48
	public ElementItemProvider(AdapterFactory adapterFactory) {
49
		super(adapterFactory);
50
	}
51
52
	/**
53
	 * This returns the property descriptors for the adapted class.
54
	 * <!-- begin-user-doc -->
55
	 * <!-- end-user-doc -->
56
	 * @generated
57
	 */
58
	public List getPropertyDescriptors(Object object) {
59
		if (itemPropertyDescriptors == null) {
60
			super.getPropertyDescriptors(object);
61
62
			addOutputTerminalsPropertyDescriptor(object);
63
			addInputTerminalsPropertyDescriptor(object);
64
		}
65
		return itemPropertyDescriptors;
66
	}
67
68
	/**
69
	 * This adds a property descriptor for the Output Terminals feature.
70
	 * <!-- begin-user-doc -->
71
	 * <!-- end-user-doc -->
72
	 * @generated
73
	 */
74
	protected void addOutputTerminalsPropertyDescriptor(Object object) {
75
		itemPropertyDescriptors.add
76
			(createItemPropertyDescriptor
77
				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
78
				 getResourceLocator(),
79
				 getString("_UI_Element_outputTerminals_feature"),
80
				 getString("_UI_PropertyDescriptor_description", "_UI_Element_outputTerminals_feature", "_UI_Element_type"),
81
				 SemanticPackage.Literals.ELEMENT__OUTPUT_TERMINALS,
82
				 false,
83
				 null,
84
				 null,
85
				 null));
86
	}
87
88
	/**
89
	 * This adds a property descriptor for the Input Terminals feature.
90
	 * <!-- begin-user-doc -->
91
	 * <!-- end-user-doc -->
92
	 * @generated
93
	 */
94
	protected void addInputTerminalsPropertyDescriptor(Object object) {
95
		itemPropertyDescriptors.add
96
			(createItemPropertyDescriptor
97
				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
98
				 getResourceLocator(),
99
				 getString("_UI_Element_inputTerminals_feature"),
100
				 getString("_UI_PropertyDescriptor_description", "_UI_Element_inputTerminals_feature", "_UI_Element_type"),
101
				 SemanticPackage.Literals.ELEMENT__INPUT_TERMINALS,
102
				 false,
103
				 null,
104
				 null,
105
				 null));
106
	}
107
108
	/**
109
	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
110
	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
111
	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
112
	 * <!-- begin-user-doc -->
113
	 * <!-- end-user-doc -->
114
	 * @generated
115
	 */
116
	public Collection getChildrenFeatures(Object object) {
117
		if (childrenFeatures == null) {
118
			super.getChildrenFeatures(object);
119
			childrenFeatures.add(SemanticPackage.Literals.ELEMENT__TERMINALS);
120
		}
121
		return childrenFeatures;
122
	}
123
124
	/**
125
	 * This returns Element.gif.
126
	 * <!-- begin-user-doc -->
127
	 * <!-- end-user-doc -->
128
	 * @generated
129
	 */
130
	public Object getImage(Object object) {
131
		return overlayImage(object, getResourceLocator().getImage("full/obj16/Element"));
132
	}
133
134
	/**
135
	 * This returns the label text for the adapted class.
136
	 * <!-- begin-user-doc -->
137
	 * <!-- end-user-doc -->
138
	 * @generated
139
	 */
140
	public String getText(Object object) {
141
		return getString("_UI_Element_type");
142
	}
143
144
	/**
145
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
146
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
147
	 * <!-- begin-user-doc -->
148
	 * <!-- end-user-doc -->
149
	 * @generated
150
	 */
151
	public void notifyChanged(Notification notification) {
152
		updateChildren(notification);
153
154
		switch (notification.getFeatureID(Element.class)) {
155
			case SemanticPackage.ELEMENT__OUTPUT_TERMINALS:
156
			case SemanticPackage.ELEMENT__INPUT_TERMINALS:
157
				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
158
				return;
159
			case SemanticPackage.ELEMENT__TERMINALS:
160
				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
161
				return;
162
		}
163
		super.notifyChanged(notification);
164
	}
165
166
	/**
167
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
168
	 * describing all of the children that can be created under this object.
169
	 * <!-- begin-user-doc -->
170
	 * <!-- end-user-doc -->
171
	 * @generated
172
	 */
173
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
174
		super.collectNewChildDescriptors(newChildDescriptors, object);
175
	}
176
177
	/**
178
	 * Return the resource locator for this item provider's resources.
179
	 * <!-- begin-user-doc -->
180
	 * <!-- end-user-doc -->
181
	 * @generated
182
	 */
183
	public ResourceLocator getResourceLocator() {
184
		return LogicsemanticEditPlugin.INSTANCE;
185
	}
186
187
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/provider/AndGateItemProvider.java (+115 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.provider;
8
9
10
import java.util.Collection;
11
import java.util.List;
12
13
import org.eclipse.emf.common.notify.AdapterFactory;
14
import org.eclipse.emf.common.notify.Notification;
15
import org.eclipse.emf.common.util.ResourceLocator;
16
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
17
import org.eclipse.emf.edit.provider.IItemLabelProvider;
18
import org.eclipse.emf.edit.provider.IItemPropertySource;
19
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
20
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
21
22
import org.eclipse.gmf.examples.runtime.diagram.logic.model.provider.LogicsemanticEditPlugin;
23
24
/**
25
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.AndGate} object.
26
 * <!-- begin-user-doc -->
27
 * <!-- end-user-doc -->
28
 * @generated
29
 */
30
public class AndGateItemProvider
31
	extends GateItemProvider
32
	implements	
33
		IEditingDomainItemProvider,	
34
		IStructuredItemContentProvider,	
35
		ITreeItemContentProvider,	
36
		IItemLabelProvider,	
37
		IItemPropertySource {
38
	/**
39
	 * This constructs an instance from a factory and a notifier.
40
	 * <!-- begin-user-doc -->
41
	 * <!-- end-user-doc -->
42
	 * @generated
43
	 */
44
	public AndGateItemProvider(AdapterFactory adapterFactory) {
45
		super(adapterFactory);
46
	}
47
48
	/**
49
	 * This returns the property descriptors for the adapted class.
50
	 * <!-- begin-user-doc -->
51
	 * <!-- end-user-doc -->
52
	 * @generated
53
	 */
54
	public List getPropertyDescriptors(Object object) {
55
		if (itemPropertyDescriptors == null) {
56
			super.getPropertyDescriptors(object);
57
58
		}
59
		return itemPropertyDescriptors;
60
	}
61
62
	/**
63
	 * This returns AndGate.gif.
64
	 * <!-- begin-user-doc -->
65
	 * <!-- end-user-doc -->
66
	 * @generated
67
	 */
68
	public Object getImage(Object object) {
69
		return overlayImage(object, getResourceLocator().getImage("full/obj16/AndGate"));
70
	}
71
72
	/**
73
	 * This returns the label text for the adapted class.
74
	 * <!-- begin-user-doc -->
75
	 * <!-- end-user-doc -->
76
	 * @generated
77
	 */
78
	public String getText(Object object) {
79
		return getString("_UI_AndGate_type");
80
	}
81
82
	/**
83
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
84
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
85
	 * <!-- begin-user-doc -->
86
	 * <!-- end-user-doc -->
87
	 * @generated
88
	 */
89
	public void notifyChanged(Notification notification) {
90
		updateChildren(notification);
91
		super.notifyChanged(notification);
92
	}
93
94
	/**
95
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
96
	 * describing all of the children that can be created under this object.
97
	 * <!-- begin-user-doc -->
98
	 * <!-- end-user-doc -->
99
	 * @generated
100
	 */
101
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
102
		super.collectNewChildDescriptors(newChildDescriptors, object);
103
	}
104
105
	/**
106
	 * Return the resource locator for this item provider's resources.
107
	 * <!-- begin-user-doc -->
108
	 * <!-- end-user-doc -->
109
	 * @generated
110
	 */
111
	public ResourceLocator getResourceLocator() {
112
		return LogicsemanticEditPlugin.INSTANCE;
113
	}
114
115
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/provider/FlowContainerItemProvider.java (+117 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.provider;
8
9
10
import java.util.Collection;
11
import java.util.List;
12
13
import org.eclipse.emf.common.notify.AdapterFactory;
14
import org.eclipse.emf.common.notify.Notification;
15
16
import org.eclipse.emf.common.util.ResourceLocator;
17
18
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
19
import org.eclipse.emf.edit.provider.IItemLabelProvider;
20
import org.eclipse.emf.edit.provider.IItemPropertySource;
21
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
22
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
23
24
import org.eclipse.gmf.examples.runtime.diagram.logic.model.provider.LogicsemanticEditPlugin;
25
26
/**
27
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.FlowContainer} object.
28
 * <!-- begin-user-doc -->
29
 * <!-- end-user-doc -->
30
 * @generated
31
 */
32
public class FlowContainerItemProvider
33
	extends ContainerElementItemProvider
34
	implements	
35
		IEditingDomainItemProvider,	
36
		IStructuredItemContentProvider,	
37
		ITreeItemContentProvider,	
38
		IItemLabelProvider,	
39
		IItemPropertySource {
40
	/**
41
	 * This constructs an instance from a factory and a notifier.
42
	 * <!-- begin-user-doc -->
43
	 * <!-- end-user-doc -->
44
	 * @generated
45
	 */
46
	public FlowContainerItemProvider(AdapterFactory adapterFactory) {
47
		super(adapterFactory);
48
	}
49
50
	/**
51
	 * This returns the property descriptors for the adapted class.
52
	 * <!-- begin-user-doc -->
53
	 * <!-- end-user-doc -->
54
	 * @generated
55
	 */
56
	public List getPropertyDescriptors(Object object) {
57
		if (itemPropertyDescriptors == null) {
58
			super.getPropertyDescriptors(object);
59
60
		}
61
		return itemPropertyDescriptors;
62
	}
63
64
	/**
65
	 * This returns FlowContainer.gif.
66
	 * <!-- begin-user-doc -->
67
	 * <!-- end-user-doc -->
68
	 * @generated
69
	 */
70
	public Object getImage(Object object) {
71
		return overlayImage(object, getResourceLocator().getImage("full/obj16/FlowContainer"));
72
	}
73
74
	/**
75
	 * This returns the label text for the adapted class.
76
	 * <!-- begin-user-doc -->
77
	 * <!-- end-user-doc -->
78
	 * @generated
79
	 */
80
	public String getText(Object object) {
81
		return getString("_UI_FlowContainer_type");
82
	}
83
84
	/**
85
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
86
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
87
	 * <!-- begin-user-doc -->
88
	 * <!-- end-user-doc -->
89
	 * @generated
90
	 */
91
	public void notifyChanged(Notification notification) {
92
		updateChildren(notification);
93
		super.notifyChanged(notification);
94
	}
95
96
	/**
97
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
98
	 * describing all of the children that can be created under this object.
99
	 * <!-- begin-user-doc -->
100
	 * <!-- end-user-doc -->
101
	 * @generated
102
	 */
103
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
104
		super.collectNewChildDescriptors(newChildDescriptors, object);
105
	}
106
107
	/**
108
	 * Return the resource locator for this item provider's resources.
109
	 * <!-- begin-user-doc -->
110
	 * <!-- end-user-doc -->
111
	 * @generated
112
	 */
113
	public ResourceLocator getResourceLocator() {
114
		return LogicsemanticEditPlugin.INSTANCE;
115
	}
116
117
}
(-)plugin.xml (+26 lines)
Added Link Here
1
<?xml version="1.0" encoding="UTF-8"?>
2
<?eclipse version="3.0"?>
3
4
<!--
5
 <copyright>
6
 </copyright>
7
8
 $Id$
9
-->
10
11
<plugin>
12
    
13
  <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
14
    <factory 
15
       uri = "http://www.eclipse.org/gmf/examples/runtime/1.0.0/logicsemantic" 
16
       class = "org.eclipse.gmf.examples.runtime.diagram.logic.semantic.provider.SemanticItemProviderAdapterFactory" 
17
       supportedTypes = 
18
         "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
19
          org.eclipse.emf.edit.provider.IStructuredItemContentProvider
20
          org.eclipse.emf.edit.provider.ITreeItemContentProvider
21
          org.eclipse.emf.edit.provider.IItemLabelProvider
22
          org.eclipse.emf.edit.provider.IItemPropertySource" />
23
  </extension>
24
25
</plugin>
26
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/provider/OutputTerminalItemProvider.java (+118 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.provider;
8
9
10
import java.util.Collection;
11
import java.util.List;
12
13
import org.eclipse.emf.common.notify.AdapterFactory;
14
import org.eclipse.emf.common.notify.Notification;
15
import org.eclipse.emf.common.util.ResourceLocator;
16
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
17
import org.eclipse.emf.edit.provider.IItemLabelProvider;
18
import org.eclipse.emf.edit.provider.IItemPropertySource;
19
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
20
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
21
import org.eclipse.gmf.examples.runtime.diagram.logic.model.provider.LogicsemanticEditPlugin;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OutputTerminal;
23
24
/**
25
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OutputTerminal} object.
26
 * <!-- begin-user-doc -->
27
 * <!-- end-user-doc -->
28
 * @generated
29
 */
30
public class OutputTerminalItemProvider
31
	extends TerminalItemProvider
32
	implements	
33
		IEditingDomainItemProvider,	
34
		IStructuredItemContentProvider,	
35
		ITreeItemContentProvider,	
36
		IItemLabelProvider,	
37
		IItemPropertySource {
38
	/**
39
	 * This constructs an instance from a factory and a notifier.
40
	 * <!-- begin-user-doc -->
41
	 * <!-- end-user-doc -->
42
	 * @generated
43
	 */
44
	public OutputTerminalItemProvider(AdapterFactory adapterFactory) {
45
		super(adapterFactory);
46
	}
47
48
	/**
49
	 * This returns the property descriptors for the adapted class.
50
	 * <!-- begin-user-doc -->
51
	 * <!-- end-user-doc -->
52
	 * @generated
53
	 */
54
	public List getPropertyDescriptors(Object object) {
55
		if (itemPropertyDescriptors == null) {
56
			super.getPropertyDescriptors(object);
57
58
		}
59
		return itemPropertyDescriptors;
60
	}
61
62
	/**
63
	 * This returns OutputTerminal.gif.
64
	 * <!-- begin-user-doc -->
65
	 * <!-- end-user-doc -->
66
	 * @generated
67
	 */
68
	public Object getImage(Object object) {
69
		return overlayImage(object, getResourceLocator().getImage("full/obj16/OutputTerminal"));
70
	}
71
72
	/**
73
	 * This returns the label text for the adapted class.
74
	 * <!-- begin-user-doc -->
75
	 * <!-- end-user-doc -->
76
	 * @generated
77
	 */
78
	public String getText(Object object) {
79
		String label = ((OutputTerminal)object).getId();
80
		return label == null || label.length() == 0 ?
81
			getString("_UI_OutputTerminal_type") :
82
			getString("_UI_OutputTerminal_type") + " " + label;
83
	}
84
85
	/**
86
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
87
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
88
	 * <!-- begin-user-doc -->
89
	 * <!-- end-user-doc -->
90
	 * @generated
91
	 */
92
	public void notifyChanged(Notification notification) {
93
		updateChildren(notification);
94
		super.notifyChanged(notification);
95
	}
96
97
	/**
98
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
99
	 * describing all of the children that can be created under this object.
100
	 * <!-- begin-user-doc -->
101
	 * <!-- end-user-doc -->
102
	 * @generated
103
	 */
104
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
105
		super.collectNewChildDescriptors(newChildDescriptors, object);
106
	}
107
108
	/**
109
	 * Return the resource locator for this item provider's resources.
110
	 * <!-- begin-user-doc -->
111
	 * <!-- end-user-doc -->
112
	 * @generated
113
	 */
114
	public ResourceLocator getResourceLocator() {
115
		return LogicsemanticEditPlugin.INSTANCE;
116
	}
117
118
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/provider/TerminalItemProvider.java (+149 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.provider;
8
9
10
import java.util.Collection;
11
import java.util.List;
12
13
import org.eclipse.emf.common.notify.AdapterFactory;
14
import org.eclipse.emf.common.notify.Notification;
15
import org.eclipse.emf.common.util.ResourceLocator;
16
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
17
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
18
import org.eclipse.emf.edit.provider.IItemLabelProvider;
19
import org.eclipse.emf.edit.provider.IItemPropertySource;
20
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
21
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
22
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
23
import org.eclipse.emf.edit.provider.ViewerNotification;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.model.provider.LogicsemanticEditPlugin;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal;
27
28
/**
29
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal} object.
30
 * <!-- begin-user-doc -->
31
 * <!-- end-user-doc -->
32
 * @generated
33
 */
34
public class TerminalItemProvider
35
	extends ElementItemProvider
36
	implements	
37
		IEditingDomainItemProvider,	
38
		IStructuredItemContentProvider,	
39
		ITreeItemContentProvider,	
40
		IItemLabelProvider,	
41
		IItemPropertySource {
42
	/**
43
	 * This constructs an instance from a factory and a notifier.
44
	 * <!-- begin-user-doc -->
45
	 * <!-- end-user-doc -->
46
	 * @generated
47
	 */
48
	public TerminalItemProvider(AdapterFactory adapterFactory) {
49
		super(adapterFactory);
50
	}
51
52
	/**
53
	 * This returns the property descriptors for the adapted class.
54
	 * <!-- begin-user-doc -->
55
	 * <!-- end-user-doc -->
56
	 * @generated
57
	 */
58
	public List getPropertyDescriptors(Object object) {
59
		if (itemPropertyDescriptors == null) {
60
			super.getPropertyDescriptors(object);
61
62
			addIdPropertyDescriptor(object);
63
		}
64
		return itemPropertyDescriptors;
65
	}
66
67
	/**
68
	 * This adds a property descriptor for the Id feature.
69
	 * <!-- begin-user-doc -->
70
	 * <!-- end-user-doc -->
71
	 * @generated
72
	 */
73
	protected void addIdPropertyDescriptor(Object object) {
74
		itemPropertyDescriptors.add
75
			(createItemPropertyDescriptor
76
				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
77
				 getResourceLocator(),
78
				 getString("_UI_Terminal_id_feature"),
79
				 getString("_UI_PropertyDescriptor_description", "_UI_Terminal_id_feature", "_UI_Terminal_type"),
80
				 SemanticPackage.Literals.TERMINAL__ID,
81
				 true,
82
				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
83
				 null,
84
				 null));
85
	}
86
87
	/**
88
	 * This returns Terminal.gif.
89
	 * <!-- begin-user-doc -->
90
	 * <!-- end-user-doc -->
91
	 * @generated
92
	 */
93
	public Object getImage(Object object) {
94
		return overlayImage(object, getResourceLocator().getImage("full/obj16/Terminal"));
95
	}
96
97
	/**
98
	 * This returns the label text for the adapted class.
99
	 * <!-- begin-user-doc -->
100
	 * <!-- end-user-doc -->
101
	 * @generated
102
	 */
103
	public String getText(Object object) {
104
		String label = ((Terminal)object).getId();
105
		return label == null || label.length() == 0 ?
106
			getString("_UI_Terminal_type") :
107
			getString("_UI_Terminal_type") + " " + label;
108
	}
109
110
	/**
111
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
112
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
113
	 * <!-- begin-user-doc -->
114
	 * <!-- end-user-doc -->
115
	 * @generated
116
	 */
117
	public void notifyChanged(Notification notification) {
118
		updateChildren(notification);
119
120
		switch (notification.getFeatureID(Terminal.class)) {
121
			case SemanticPackage.TERMINAL__ID:
122
				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
123
				return;
124
		}
125
		super.notifyChanged(notification);
126
	}
127
128
	/**
129
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
130
	 * describing all of the children that can be created under this object.
131
	 * <!-- begin-user-doc -->
132
	 * <!-- end-user-doc -->
133
	 * @generated
134
	 */
135
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
136
		super.collectNewChildDescriptors(newChildDescriptors, object);
137
	}
138
139
	/**
140
	 * Return the resource locator for this item provider's resources.
141
	 * <!-- begin-user-doc -->
142
	 * <!-- end-user-doc -->
143
	 * @generated
144
	 */
145
	public ResourceLocator getResourceLocator() {
146
		return LogicsemanticEditPlugin.INSTANCE;
147
	}
148
149
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/provider/OrGateItemProvider.java (+117 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.provider;
8
9
10
import java.util.Collection;
11
import java.util.List;
12
13
import org.eclipse.emf.common.notify.AdapterFactory;
14
import org.eclipse.emf.common.notify.Notification;
15
16
import org.eclipse.emf.common.util.ResourceLocator;
17
18
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
19
import org.eclipse.emf.edit.provider.IItemLabelProvider;
20
import org.eclipse.emf.edit.provider.IItemPropertySource;
21
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
22
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
23
24
import org.eclipse.gmf.examples.runtime.diagram.logic.model.provider.LogicsemanticEditPlugin;
25
26
/**
27
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OrGate} object.
28
 * <!-- begin-user-doc -->
29
 * <!-- end-user-doc -->
30
 * @generated
31
 */
32
public class OrGateItemProvider
33
	extends GateItemProvider
34
	implements	
35
		IEditingDomainItemProvider,	
36
		IStructuredItemContentProvider,	
37
		ITreeItemContentProvider,	
38
		IItemLabelProvider,	
39
		IItemPropertySource {
40
	/**
41
	 * This constructs an instance from a factory and a notifier.
42
	 * <!-- begin-user-doc -->
43
	 * <!-- end-user-doc -->
44
	 * @generated
45
	 */
46
	public OrGateItemProvider(AdapterFactory adapterFactory) {
47
		super(adapterFactory);
48
	}
49
50
	/**
51
	 * This returns the property descriptors for the adapted class.
52
	 * <!-- begin-user-doc -->
53
	 * <!-- end-user-doc -->
54
	 * @generated
55
	 */
56
	public List getPropertyDescriptors(Object object) {
57
		if (itemPropertyDescriptors == null) {
58
			super.getPropertyDescriptors(object);
59
60
		}
61
		return itemPropertyDescriptors;
62
	}
63
64
	/**
65
	 * This returns OrGate.gif.
66
	 * <!-- begin-user-doc -->
67
	 * <!-- end-user-doc -->
68
	 * @generated
69
	 */
70
	public Object getImage(Object object) {
71
		return overlayImage(object, getResourceLocator().getImage("full/obj16/OrGate"));
72
	}
73
74
	/**
75
	 * This returns the label text for the adapted class.
76
	 * <!-- begin-user-doc -->
77
	 * <!-- end-user-doc -->
78
	 * @generated
79
	 */
80
	public String getText(Object object) {
81
		return getString("_UI_OrGate_type");
82
	}
83
84
	/**
85
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
86
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
87
	 * <!-- begin-user-doc -->
88
	 * <!-- end-user-doc -->
89
	 * @generated
90
	 */
91
	public void notifyChanged(Notification notification) {
92
		updateChildren(notification);
93
		super.notifyChanged(notification);
94
	}
95
96
	/**
97
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
98
	 * describing all of the children that can be created under this object.
99
	 * <!-- begin-user-doc -->
100
	 * <!-- end-user-doc -->
101
	 * @generated
102
	 */
103
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
104
		super.collectNewChildDescriptors(newChildDescriptors, object);
105
	}
106
107
	/**
108
	 * Return the resource locator for this item provider's resources.
109
	 * <!-- begin-user-doc -->
110
	 * <!-- end-user-doc -->
111
	 * @generated
112
	 */
113
	public ResourceLocator getResourceLocator() {
114
		return LogicsemanticEditPlugin.INSTANCE;
115
	}
116
117
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/provider/ContainerElementItemProvider.java (+217 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.provider;
8
9
10
import java.util.Collection;
11
import java.util.List;
12
13
import org.eclipse.emf.common.notify.AdapterFactory;
14
import org.eclipse.emf.common.notify.Notification;
15
import org.eclipse.emf.common.util.ResourceLocator;
16
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
17
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
18
import org.eclipse.emf.edit.provider.IItemLabelProvider;
19
import org.eclipse.emf.edit.provider.IItemPropertySource;
20
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
21
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
22
import org.eclipse.emf.edit.provider.ViewerNotification;
23
import org.eclipse.gmf.examples.runtime.diagram.logic.model.provider.LogicsemanticEditPlugin;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.ContainerElement;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticFactory;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
27
28
/**
29
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.ContainerElement} object.
30
 * <!-- begin-user-doc -->
31
 * <!-- end-user-doc -->
32
 * @generated
33
 */
34
public class ContainerElementItemProvider
35
	extends ElementItemProvider
36
	implements	
37
		IEditingDomainItemProvider,	
38
		IStructuredItemContentProvider,	
39
		ITreeItemContentProvider,	
40
		IItemLabelProvider,	
41
		IItemPropertySource {
42
	/**
43
	 * This constructs an instance from a factory and a notifier.
44
	 * <!-- begin-user-doc -->
45
	 * <!-- end-user-doc -->
46
	 * @generated
47
	 */
48
	public ContainerElementItemProvider(AdapterFactory adapterFactory) {
49
		super(adapterFactory);
50
	}
51
52
	/**
53
	 * This returns the property descriptors for the adapted class.
54
	 * <!-- begin-user-doc -->
55
	 * <!-- end-user-doc -->
56
	 * @generated
57
	 */
58
	public List getPropertyDescriptors(Object object) {
59
		if (itemPropertyDescriptors == null) {
60
			super.getPropertyDescriptors(object);
61
62
			addChildrenPropertyDescriptor(object);
63
		}
64
		return itemPropertyDescriptors;
65
	}
66
67
	/**
68
	 * This adds a property descriptor for the Children feature.
69
	 * <!-- begin-user-doc -->
70
	 * <!-- end-user-doc -->
71
	 * @generated
72
	 */
73
	protected void addChildrenPropertyDescriptor(Object object) {
74
		itemPropertyDescriptors.add
75
			(createItemPropertyDescriptor
76
				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
77
				 getResourceLocator(),
78
				 getString("_UI_ContainerElement_children_feature"),
79
				 getString("_UI_PropertyDescriptor_description", "_UI_ContainerElement_children_feature", "_UI_ContainerElement_type"),
80
				 SemanticPackage.Literals.CONTAINER_ELEMENT__CHILDREN,
81
				 true,
82
				 null,
83
				 null,
84
				 null));
85
	}
86
87
	/**
88
	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
89
	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
90
	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
91
	 * <!-- begin-user-doc -->
92
	 * <!-- end-user-doc -->
93
	 * @generated
94
	 */
95
	public Collection getChildrenFeatures(Object object) {
96
		if (childrenFeatures == null) {
97
			super.getChildrenFeatures(object);
98
			childrenFeatures.add(SemanticPackage.Literals.CONTAINER_ELEMENT__CHILDREN);
99
		}
100
		return childrenFeatures;
101
	}
102
103
	/**
104
	 * This returns ContainerElement.gif.
105
	 * <!-- begin-user-doc -->
106
	 * <!-- end-user-doc -->
107
	 * @generated
108
	 */
109
	public Object getImage(Object object) {
110
		return overlayImage(object, getResourceLocator().getImage("full/obj16/ContainerElement"));
111
	}
112
113
	/**
114
	 * This returns the label text for the adapted class.
115
	 * <!-- begin-user-doc -->
116
	 * <!-- end-user-doc -->
117
	 * @generated
118
	 */
119
	public String getText(Object object) {
120
		return getString("_UI_ContainerElement_type");
121
	}
122
123
	/**
124
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
125
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
126
	 * <!-- begin-user-doc -->
127
	 * <!-- end-user-doc -->
128
	 * @generated
129
	 */
130
	public void notifyChanged(Notification notification) {
131
		updateChildren(notification);
132
133
		switch (notification.getFeatureID(ContainerElement.class)) {
134
			case SemanticPackage.CONTAINER_ELEMENT__CHILDREN:
135
				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
136
				return;
137
		}
138
		super.notifyChanged(notification);
139
	}
140
141
	/**
142
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
143
	 * describing all of the children that can be created under this object.
144
	 * <!-- begin-user-doc -->
145
	 * <!-- end-user-doc -->
146
	 * @generated
147
	 */
148
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
149
		super.collectNewChildDescriptors(newChildDescriptors, object);
150
151
		newChildDescriptors.add
152
			(createChildParameter
153
				(SemanticPackage.Literals.CONTAINER_ELEMENT__CHILDREN,
154
				 SemanticFactory.eINSTANCE.createLED()));
155
156
		newChildDescriptors.add
157
			(createChildParameter
158
				(SemanticPackage.Literals.CONTAINER_ELEMENT__CHILDREN,
159
				 SemanticFactory.eINSTANCE.createWire()));
160
161
		newChildDescriptors.add
162
			(createChildParameter
163
				(SemanticPackage.Literals.CONTAINER_ELEMENT__CHILDREN,
164
				 SemanticFactory.eINSTANCE.createCircuit()));
165
166
		newChildDescriptors.add
167
			(createChildParameter
168
				(SemanticPackage.Literals.CONTAINER_ELEMENT__CHILDREN,
169
				 SemanticFactory.eINSTANCE.createFlowContainer()));
170
171
		newChildDescriptors.add
172
			(createChildParameter
173
				(SemanticPackage.Literals.CONTAINER_ELEMENT__CHILDREN,
174
				 SemanticFactory.eINSTANCE.createAndGate()));
175
176
		newChildDescriptors.add
177
			(createChildParameter
178
				(SemanticPackage.Literals.CONTAINER_ELEMENT__CHILDREN,
179
				 SemanticFactory.eINSTANCE.createOrGate()));
180
181
		newChildDescriptors.add
182
			(createChildParameter
183
				(SemanticPackage.Literals.CONTAINER_ELEMENT__CHILDREN,
184
				 SemanticFactory.eINSTANCE.createXORGate()));
185
186
		newChildDescriptors.add
187
			(createChildParameter
188
				(SemanticPackage.Literals.CONTAINER_ELEMENT__CHILDREN,
189
				 SemanticFactory.eINSTANCE.createModel()));
190
191
		newChildDescriptors.add
192
			(createChildParameter
193
				(SemanticPackage.Literals.CONTAINER_ELEMENT__CHILDREN,
194
				 SemanticFactory.eINSTANCE.createOutputTerminal()));
195
196
		newChildDescriptors.add
197
			(createChildParameter
198
				(SemanticPackage.Literals.CONTAINER_ELEMENT__CHILDREN,
199
				 SemanticFactory.eINSTANCE.createInputTerminal()));
200
201
		newChildDescriptors.add
202
			(createChildParameter
203
				(SemanticPackage.Literals.CONTAINER_ELEMENT__CHILDREN,
204
				 SemanticFactory.eINSTANCE.createInputOutputTerminal()));
205
	}
206
207
	/**
208
	 * Return the resource locator for this item provider's resources.
209
	 * <!-- begin-user-doc -->
210
	 * <!-- end-user-doc -->
211
	 * @generated
212
	 */
213
	public ResourceLocator getResourceLocator() {
214
		return LogicsemanticEditPlugin.INSTANCE;
215
	}
216
217
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/provider/ModelItemProvider.java (+117 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.provider;
8
9
10
import java.util.Collection;
11
import java.util.List;
12
13
import org.eclipse.emf.common.notify.AdapterFactory;
14
import org.eclipse.emf.common.notify.Notification;
15
16
import org.eclipse.emf.common.util.ResourceLocator;
17
18
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
19
import org.eclipse.emf.edit.provider.IItemLabelProvider;
20
import org.eclipse.emf.edit.provider.IItemPropertySource;
21
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
22
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
23
24
import org.eclipse.gmf.examples.runtime.diagram.logic.model.provider.LogicsemanticEditPlugin;
25
26
/**
27
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Model} object.
28
 * <!-- begin-user-doc -->
29
 * <!-- end-user-doc -->
30
 * @generated
31
 */
32
public class ModelItemProvider
33
	extends ContainerElementItemProvider
34
	implements	
35
		IEditingDomainItemProvider,	
36
		IStructuredItemContentProvider,	
37
		ITreeItemContentProvider,	
38
		IItemLabelProvider,	
39
		IItemPropertySource {
40
	/**
41
	 * This constructs an instance from a factory and a notifier.
42
	 * <!-- begin-user-doc -->
43
	 * <!-- end-user-doc -->
44
	 * @generated
45
	 */
46
	public ModelItemProvider(AdapterFactory adapterFactory) {
47
		super(adapterFactory);
48
	}
49
50
	/**
51
	 * This returns the property descriptors for the adapted class.
52
	 * <!-- begin-user-doc -->
53
	 * <!-- end-user-doc -->
54
	 * @generated
55
	 */
56
	public List getPropertyDescriptors(Object object) {
57
		if (itemPropertyDescriptors == null) {
58
			super.getPropertyDescriptors(object);
59
60
		}
61
		return itemPropertyDescriptors;
62
	}
63
64
	/**
65
	 * This returns Model.gif.
66
	 * <!-- begin-user-doc -->
67
	 * <!-- end-user-doc -->
68
	 * @generated
69
	 */
70
	public Object getImage(Object object) {
71
		return overlayImage(object, getResourceLocator().getImage("full/obj16/Model"));
72
	}
73
74
	/**
75
	 * This returns the label text for the adapted class.
76
	 * <!-- begin-user-doc -->
77
	 * <!-- end-user-doc -->
78
	 * @generated
79
	 */
80
	public String getText(Object object) {
81
		return getString("_UI_Model_type");
82
	}
83
84
	/**
85
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
86
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
87
	 * <!-- begin-user-doc -->
88
	 * <!-- end-user-doc -->
89
	 * @generated
90
	 */
91
	public void notifyChanged(Notification notification) {
92
		updateChildren(notification);
93
		super.notifyChanged(notification);
94
	}
95
96
	/**
97
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
98
	 * describing all of the children that can be created under this object.
99
	 * <!-- begin-user-doc -->
100
	 * <!-- end-user-doc -->
101
	 * @generated
102
	 */
103
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
104
		super.collectNewChildDescriptors(newChildDescriptors, object);
105
	}
106
107
	/**
108
	 * Return the resource locator for this item provider's resources.
109
	 * <!-- begin-user-doc -->
110
	 * <!-- end-user-doc -->
111
	 * @generated
112
	 */
113
	public ResourceLocator getResourceLocator() {
114
		return LogicsemanticEditPlugin.INSTANCE;
115
	}
116
117
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/provider/InputTerminalItemProvider.java (+118 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.provider;
8
9
10
import java.util.Collection;
11
import java.util.List;
12
13
import org.eclipse.emf.common.notify.AdapterFactory;
14
import org.eclipse.emf.common.notify.Notification;
15
import org.eclipse.emf.common.util.ResourceLocator;
16
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
17
import org.eclipse.emf.edit.provider.IItemLabelProvider;
18
import org.eclipse.emf.edit.provider.IItemPropertySource;
19
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
20
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
21
import org.eclipse.gmf.examples.runtime.diagram.logic.model.provider.LogicsemanticEditPlugin;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputTerminal;
23
24
/**
25
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputTerminal} object.
26
 * <!-- begin-user-doc -->
27
 * <!-- end-user-doc -->
28
 * @generated
29
 */
30
public class InputTerminalItemProvider
31
	extends TerminalItemProvider
32
	implements	
33
		IEditingDomainItemProvider,	
34
		IStructuredItemContentProvider,	
35
		ITreeItemContentProvider,	
36
		IItemLabelProvider,	
37
		IItemPropertySource {
38
	/**
39
	 * This constructs an instance from a factory and a notifier.
40
	 * <!-- begin-user-doc -->
41
	 * <!-- end-user-doc -->
42
	 * @generated
43
	 */
44
	public InputTerminalItemProvider(AdapterFactory adapterFactory) {
45
		super(adapterFactory);
46
	}
47
48
	/**
49
	 * This returns the property descriptors for the adapted class.
50
	 * <!-- begin-user-doc -->
51
	 * <!-- end-user-doc -->
52
	 * @generated
53
	 */
54
	public List getPropertyDescriptors(Object object) {
55
		if (itemPropertyDescriptors == null) {
56
			super.getPropertyDescriptors(object);
57
58
		}
59
		return itemPropertyDescriptors;
60
	}
61
62
	/**
63
	 * This returns InputTerminal.gif.
64
	 * <!-- begin-user-doc -->
65
	 * <!-- end-user-doc -->
66
	 * @generated
67
	 */
68
	public Object getImage(Object object) {
69
		return overlayImage(object, getResourceLocator().getImage("full/obj16/InputTerminal"));
70
	}
71
72
	/**
73
	 * This returns the label text for the adapted class.
74
	 * <!-- begin-user-doc -->
75
	 * <!-- end-user-doc -->
76
	 * @generated
77
	 */
78
	public String getText(Object object) {
79
		String label = ((InputTerminal)object).getId();
80
		return label == null || label.length() == 0 ?
81
			getString("_UI_InputTerminal_type") :
82
			getString("_UI_InputTerminal_type") + " " + label;
83
	}
84
85
	/**
86
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
87
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
88
	 * <!-- begin-user-doc -->
89
	 * <!-- end-user-doc -->
90
	 * @generated
91
	 */
92
	public void notifyChanged(Notification notification) {
93
		updateChildren(notification);
94
		super.notifyChanged(notification);
95
	}
96
97
	/**
98
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
99
	 * describing all of the children that can be created under this object.
100
	 * <!-- begin-user-doc -->
101
	 * <!-- end-user-doc -->
102
	 * @generated
103
	 */
104
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
105
		super.collectNewChildDescriptors(newChildDescriptors, object);
106
	}
107
108
	/**
109
	 * Return the resource locator for this item provider's resources.
110
	 * <!-- begin-user-doc -->
111
	 * <!-- end-user-doc -->
112
	 * @generated
113
	 */
114
	public ResourceLocator getResourceLocator() {
115
		return LogicsemanticEditPlugin.INSTANCE;
116
	}
117
118
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/provider/InputOutputTerminalItemProvider.java (+118 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.provider;
8
9
10
import java.util.Collection;
11
import java.util.List;
12
13
import org.eclipse.emf.common.notify.AdapterFactory;
14
import org.eclipse.emf.common.notify.Notification;
15
import org.eclipse.emf.common.util.ResourceLocator;
16
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
17
import org.eclipse.emf.edit.provider.IItemLabelProvider;
18
import org.eclipse.emf.edit.provider.IItemPropertySource;
19
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
20
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
21
import org.eclipse.gmf.examples.runtime.diagram.logic.model.provider.LogicsemanticEditPlugin;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputOutputTerminal;
23
24
/**
25
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputOutputTerminal} object.
26
 * <!-- begin-user-doc -->
27
 * <!-- end-user-doc -->
28
 * @generated
29
 */
30
public class InputOutputTerminalItemProvider
31
	extends OutputTerminalItemProvider
32
	implements	
33
		IEditingDomainItemProvider,	
34
		IStructuredItemContentProvider,	
35
		ITreeItemContentProvider,	
36
		IItemLabelProvider,	
37
		IItemPropertySource {
38
	/**
39
	 * This constructs an instance from a factory and a notifier.
40
	 * <!-- begin-user-doc -->
41
	 * <!-- end-user-doc -->
42
	 * @generated
43
	 */
44
	public InputOutputTerminalItemProvider(AdapterFactory adapterFactory) {
45
		super(adapterFactory);
46
	}
47
48
	/**
49
	 * This returns the property descriptors for the adapted class.
50
	 * <!-- begin-user-doc -->
51
	 * <!-- end-user-doc -->
52
	 * @generated
53
	 */
54
	public List getPropertyDescriptors(Object object) {
55
		if (itemPropertyDescriptors == null) {
56
			super.getPropertyDescriptors(object);
57
58
		}
59
		return itemPropertyDescriptors;
60
	}
61
62
	/**
63
	 * This returns InputOutputTerminal.gif.
64
	 * <!-- begin-user-doc -->
65
	 * <!-- end-user-doc -->
66
	 * @generated
67
	 */
68
	public Object getImage(Object object) {
69
		return overlayImage(object, getResourceLocator().getImage("full/obj16/InputOutputTerminal"));
70
	}
71
72
	/**
73
	 * This returns the label text for the adapted class.
74
	 * <!-- begin-user-doc -->
75
	 * <!-- end-user-doc -->
76
	 * @generated
77
	 */
78
	public String getText(Object object) {
79
		String label = ((InputOutputTerminal)object).getId();
80
		return label == null || label.length() == 0 ?
81
			getString("_UI_InputOutputTerminal_type") :
82
			getString("_UI_InputOutputTerminal_type") + " " + label;
83
	}
84
85
	/**
86
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
87
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
88
	 * <!-- begin-user-doc -->
89
	 * <!-- end-user-doc -->
90
	 * @generated
91
	 */
92
	public void notifyChanged(Notification notification) {
93
		updateChildren(notification);
94
		super.notifyChanged(notification);
95
	}
96
97
	/**
98
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
99
	 * describing all of the children that can be created under this object.
100
	 * <!-- begin-user-doc -->
101
	 * <!-- end-user-doc -->
102
	 * @generated
103
	 */
104
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
105
		super.collectNewChildDescriptors(newChildDescriptors, object);
106
	}
107
108
	/**
109
	 * Return the resource locator for this item provider's resources.
110
	 * <!-- begin-user-doc -->
111
	 * <!-- end-user-doc -->
112
	 * @generated
113
	 */
114
	public ResourceLocator getResourceLocator() {
115
		return LogicsemanticEditPlugin.INSTANCE;
116
	}
117
118
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/provider/WireItemProvider.java (+240 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.provider;
8
9
10
import java.util.Collection;
11
import java.util.List;
12
13
import org.eclipse.emf.common.notify.AdapterFactory;
14
import org.eclipse.emf.common.notify.Notification;
15
import org.eclipse.emf.common.util.ResourceLocator;
16
import org.eclipse.emf.ecore.EStructuralFeature;
17
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
18
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
19
import org.eclipse.emf.edit.provider.IItemLabelProvider;
20
import org.eclipse.emf.edit.provider.IItemPropertySource;
21
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
22
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
23
import org.eclipse.emf.edit.provider.ViewerNotification;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.model.provider.LogicsemanticEditPlugin;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticFactory;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
27
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire;
28
29
/**
30
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire} object.
31
 * <!-- begin-user-doc -->
32
 * <!-- end-user-doc -->
33
 * @generated
34
 */
35
public class WireItemProvider
36
	extends ElementItemProvider
37
	implements	
38
		IEditingDomainItemProvider,	
39
		IStructuredItemContentProvider,	
40
		ITreeItemContentProvider,	
41
		IItemLabelProvider,	
42
		IItemPropertySource {
43
	/**
44
	 * This constructs an instance from a factory and a notifier.
45
	 * <!-- begin-user-doc -->
46
	 * <!-- end-user-doc -->
47
	 * @generated
48
	 */
49
	public WireItemProvider(AdapterFactory adapterFactory) {
50
		super(adapterFactory);
51
	}
52
53
	/**
54
	 * This returns the property descriptors for the adapted class.
55
	 * <!-- begin-user-doc -->
56
	 * <!-- end-user-doc -->
57
	 * @generated
58
	 */
59
	public List getPropertyDescriptors(Object object) {
60
		if (itemPropertyDescriptors == null) {
61
			super.getPropertyDescriptors(object);
62
63
			addSourcePropertyDescriptor(object);
64
			addTargetPropertyDescriptor(object);
65
		}
66
		return itemPropertyDescriptors;
67
	}
68
69
	/**
70
	 * This adds a property descriptor for the Source feature.
71
	 * <!-- begin-user-doc -->
72
	 * <!-- end-user-doc -->
73
	 * @generated
74
	 */
75
	protected void addSourcePropertyDescriptor(Object object) {
76
		itemPropertyDescriptors.add
77
			(createItemPropertyDescriptor
78
				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
79
				 getResourceLocator(),
80
				 getString("_UI_Wire_source_feature"),
81
				 getString("_UI_PropertyDescriptor_description", "_UI_Wire_source_feature", "_UI_Wire_type"),
82
				 SemanticPackage.Literals.WIRE__SOURCE,
83
				 true,
84
				 null,
85
				 null,
86
				 null));
87
	}
88
89
	/**
90
	 * This adds a property descriptor for the Target feature.
91
	 * <!-- begin-user-doc -->
92
	 * <!-- end-user-doc -->
93
	 * @generated
94
	 */
95
	protected void addTargetPropertyDescriptor(Object object) {
96
		itemPropertyDescriptors.add
97
			(createItemPropertyDescriptor
98
				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
99
				 getResourceLocator(),
100
				 getString("_UI_Wire_target_feature"),
101
				 getString("_UI_PropertyDescriptor_description", "_UI_Wire_target_feature", "_UI_Wire_type"),
102
				 SemanticPackage.Literals.WIRE__TARGET,
103
				 true,
104
				 null,
105
				 null,
106
				 null));
107
	}
108
109
	/**
110
	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
111
	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
112
	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
113
	 * <!-- begin-user-doc -->
114
	 * <!-- end-user-doc -->
115
	 * @generated
116
	 */
117
	public Collection getChildrenFeatures(Object object) {
118
		if (childrenFeatures == null) {
119
			super.getChildrenFeatures(object);
120
			childrenFeatures.add(SemanticPackage.Literals.WIRE__SOURCE);
121
			childrenFeatures.add(SemanticPackage.Literals.WIRE__TARGET);
122
		}
123
		return childrenFeatures;
124
	}
125
126
	/**
127
	 * <!-- begin-user-doc -->
128
	 * <!-- end-user-doc -->
129
	 * @generated
130
	 */
131
	protected EStructuralFeature getChildFeature(Object object, Object child) {
132
		// Check the type of the specified child object and return the proper feature to use for
133
		// adding (see {@link AddCommand}) it as a child.
134
135
		return super.getChildFeature(object, child);
136
	}
137
138
	/**
139
	 * This returns Wire.gif.
140
	 * <!-- begin-user-doc -->
141
	 * <!-- end-user-doc -->
142
	 * @generated
143
	 */
144
	public Object getImage(Object object) {
145
		return overlayImage(object, getResourceLocator().getImage("full/obj16/Wire"));
146
	}
147
148
	/**
149
	 * This returns the label text for the adapted class.
150
	 * <!-- begin-user-doc -->
151
	 * <!-- end-user-doc -->
152
	 * @generated
153
	 */
154
	public String getText(Object object) {
155
		return getString("_UI_Wire_type");
156
	}
157
158
	/**
159
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
160
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
161
	 * <!-- begin-user-doc -->
162
	 * <!-- end-user-doc -->
163
	 * @generated
164
	 */
165
	public void notifyChanged(Notification notification) {
166
		updateChildren(notification);
167
168
		switch (notification.getFeatureID(Wire.class)) {
169
			case SemanticPackage.WIRE__SOURCE:
170
			case SemanticPackage.WIRE__TARGET:
171
				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
172
				return;
173
		}
174
		super.notifyChanged(notification);
175
	}
176
177
	/**
178
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
179
	 * describing all of the children that can be created under this object.
180
	 * <!-- begin-user-doc -->
181
	 * <!-- end-user-doc -->
182
	 * @generated
183
	 */
184
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
185
		super.collectNewChildDescriptors(newChildDescriptors, object);
186
187
		newChildDescriptors.add
188
			(createChildParameter
189
				(SemanticPackage.Literals.WIRE__SOURCE,
190
				 SemanticFactory.eINSTANCE.createOutputTerminal()));
191
192
		newChildDescriptors.add
193
			(createChildParameter
194
				(SemanticPackage.Literals.WIRE__SOURCE,
195
				 SemanticFactory.eINSTANCE.createInputOutputTerminal()));
196
197
		newChildDescriptors.add
198
			(createChildParameter
199
				(SemanticPackage.Literals.WIRE__TARGET,
200
				 SemanticFactory.eINSTANCE.createInputTerminal()));
201
202
		newChildDescriptors.add
203
			(createChildParameter
204
				(SemanticPackage.Literals.WIRE__TARGET,
205
				 SemanticFactory.eINSTANCE.createInputOutputTerminal()));
206
	}
207
208
	/**
209
	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
210
	 * <!-- begin-user-doc -->
211
	 * <!-- end-user-doc -->
212
	 * @generated
213
	 */
214
	public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) {
215
		Object childFeature = feature;
216
		Object childObject = child;
217
218
		boolean qualify =
219
			childFeature == SemanticPackage.Literals.WIRE__SOURCE ||
220
			childFeature == SemanticPackage.Literals.WIRE__TARGET;
221
222
		if (qualify) {
223
			return getString
224
				("_UI_CreateChild_text2",
225
				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
226
		}
227
		return super.getCreateChildText(owner, feature, child, selection);
228
	}
229
230
	/**
231
	 * Return the resource locator for this item provider's resources.
232
	 * <!-- begin-user-doc -->
233
	 * <!-- end-user-doc -->
234
	 * @generated
235
	 */
236
	public ResourceLocator getResourceLocator() {
237
		return LogicsemanticEditPlugin.INSTANCE;
238
	}
239
240
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/provider/LEDItemProvider.java (+147 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.provider;
8
9
10
import java.util.Collection;
11
import java.util.List;
12
13
import org.eclipse.emf.common.notify.AdapterFactory;
14
import org.eclipse.emf.common.notify.Notification;
15
import org.eclipse.emf.common.util.ResourceLocator;
16
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
17
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
18
import org.eclipse.emf.edit.provider.IItemLabelProvider;
19
import org.eclipse.emf.edit.provider.IItemPropertySource;
20
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
21
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
22
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
23
import org.eclipse.emf.edit.provider.ViewerNotification;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.model.provider.LogicsemanticEditPlugin;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
27
28
/**
29
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED} object.
30
 * <!-- begin-user-doc -->
31
 * <!-- end-user-doc -->
32
 * @generated
33
 */
34
public class LEDItemProvider
35
	extends ElementItemProvider
36
	implements	
37
		IEditingDomainItemProvider,	
38
		IStructuredItemContentProvider,	
39
		ITreeItemContentProvider,	
40
		IItemLabelProvider,	
41
		IItemPropertySource {
42
	/**
43
	 * This constructs an instance from a factory and a notifier.
44
	 * <!-- begin-user-doc -->
45
	 * <!-- end-user-doc -->
46
	 * @generated
47
	 */
48
	public LEDItemProvider(AdapterFactory adapterFactory) {
49
		super(adapterFactory);
50
	}
51
52
	/**
53
	 * This returns the property descriptors for the adapted class.
54
	 * <!-- begin-user-doc -->
55
	 * <!-- end-user-doc -->
56
	 * @generated
57
	 */
58
	public List getPropertyDescriptors(Object object) {
59
		if (itemPropertyDescriptors == null) {
60
			super.getPropertyDescriptors(object);
61
62
			addValuePropertyDescriptor(object);
63
		}
64
		return itemPropertyDescriptors;
65
	}
66
67
	/**
68
	 * This adds a property descriptor for the Value feature.
69
	 * <!-- begin-user-doc -->
70
	 * <!-- end-user-doc -->
71
	 * @generated
72
	 */
73
	protected void addValuePropertyDescriptor(Object object) {
74
		itemPropertyDescriptors.add
75
			(createItemPropertyDescriptor
76
				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
77
				 getResourceLocator(),
78
				 getString("_UI_LED_value_feature"),
79
				 getString("_UI_PropertyDescriptor_description", "_UI_LED_value_feature", "_UI_LED_type"),
80
				 SemanticPackage.Literals.LED__VALUE,
81
				 true,
82
				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
83
				 null,
84
				 null));
85
	}
86
87
	/**
88
	 * This returns LED.gif.
89
	 * <!-- begin-user-doc -->
90
	 * <!-- end-user-doc -->
91
	 * @generated
92
	 */
93
	public Object getImage(Object object) {
94
		return overlayImage(object, getResourceLocator().getImage("full/obj16/LED"));
95
	}
96
97
	/**
98
	 * This returns the label text for the adapted class.
99
	 * <!-- begin-user-doc -->
100
	 * <!-- end-user-doc -->
101
	 * @generated
102
	 */
103
	public String getText(Object object) {
104
		LED led = (LED)object;
105
		return getString("_UI_LED_type") + " " + led.getValue();
106
	}
107
108
	/**
109
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
110
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
111
	 * <!-- begin-user-doc -->
112
	 * <!-- end-user-doc -->
113
	 * @generated
114
	 */
115
	public void notifyChanged(Notification notification) {
116
		updateChildren(notification);
117
118
		switch (notification.getFeatureID(LED.class)) {
119
			case SemanticPackage.LED__VALUE:
120
				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
121
				return;
122
		}
123
		super.notifyChanged(notification);
124
	}
125
126
	/**
127
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
128
	 * describing all of the children that can be created under this object.
129
	 * <!-- begin-user-doc -->
130
	 * <!-- end-user-doc -->
131
	 * @generated
132
	 */
133
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
134
		super.collectNewChildDescriptors(newChildDescriptors, object);
135
	}
136
137
	/**
138
	 * Return the resource locator for this item provider's resources.
139
	 * <!-- begin-user-doc -->
140
	 * <!-- end-user-doc -->
141
	 * @generated
142
	 */
143
	public ResourceLocator getResourceLocator() {
144
		return LogicsemanticEditPlugin.INSTANCE;
145
	}
146
147
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/provider/SemanticItemProviderAdapterFactory.java (+406 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.provider;
8
9
import java.util.ArrayList;
10
import java.util.Collection;
11
12
import org.eclipse.emf.common.notify.Adapter;
13
import org.eclipse.emf.common.notify.Notification;
14
import org.eclipse.emf.common.notify.Notifier;
15
import org.eclipse.emf.edit.provider.ChangeNotifier;
16
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
17
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
18
import org.eclipse.emf.edit.provider.IChangeNotifier;
19
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
20
import org.eclipse.emf.edit.provider.IItemLabelProvider;
21
import org.eclipse.emf.edit.provider.IItemPropertySource;
22
import org.eclipse.emf.edit.provider.INotifyChangedListener;
23
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
24
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.util.SemanticAdapterFactory;
26
27
/**
28
 * This is the factory that is used to provide the interfaces needed to support Viewers.
29
 * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
30
 * The adapters also support Eclipse property sheets.
31
 * Note that most of the adapters are shared among multiple instances.
32
 * <!-- begin-user-doc -->
33
 * <!-- end-user-doc -->
34
 * @generated
35
 */
36
public class SemanticItemProviderAdapterFactory extends SemanticAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier {
37
	/**
38
	 * This keeps track of the root adapter factory that delegates to this adapter factory.
39
	 * <!-- begin-user-doc -->
40
	 * <!-- end-user-doc -->
41
	 * @generated
42
	 */
43
	protected ComposedAdapterFactory parentAdapterFactory;
44
45
	/**
46
	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
47
	 * <!-- begin-user-doc -->
48
	 * <!-- end-user-doc -->
49
	 * @generated
50
	 */
51
	protected IChangeNotifier changeNotifier = new ChangeNotifier();
52
53
	/**
54
	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
55
	 * <!-- begin-user-doc -->
56
	 * <!-- end-user-doc -->
57
	 * @generated
58
	 */
59
	protected Collection supportedTypes = new ArrayList();
60
61
	/**
62
	 * This constructs an instance.
63
	 * <!-- begin-user-doc -->
64
	 * <!-- end-user-doc -->
65
	 * @generated
66
	 */
67
	public SemanticItemProviderAdapterFactory() {
68
		supportedTypes.add(IEditingDomainItemProvider.class);
69
		supportedTypes.add(IStructuredItemContentProvider.class);
70
		supportedTypes.add(ITreeItemContentProvider.class);
71
		supportedTypes.add(IItemLabelProvider.class);
72
		supportedTypes.add(IItemPropertySource.class);		
73
	}
74
75
	/**
76
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED} instances.
77
	 * <!-- begin-user-doc -->
78
	 * <!-- end-user-doc -->
79
	 * @generated
80
	 */
81
	protected LEDItemProvider ledItemProvider;
82
83
	/**
84
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED}.
85
	 * <!-- begin-user-doc -->
86
	 * <!-- end-user-doc -->
87
	 * @generated
88
	 */
89
	public Adapter createLEDAdapter() {
90
		if (ledItemProvider == null) {
91
			ledItemProvider = new LEDItemProvider(this);
92
		}
93
94
		return ledItemProvider;
95
	}
96
97
	/**
98
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire} instances.
99
	 * <!-- begin-user-doc -->
100
	 * <!-- end-user-doc -->
101
	 * @generated
102
	 */
103
	protected WireItemProvider wireItemProvider;
104
105
	/**
106
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire}.
107
	 * <!-- begin-user-doc -->
108
	 * <!-- end-user-doc -->
109
	 * @generated
110
	 */
111
	public Adapter createWireAdapter() {
112
		if (wireItemProvider == null) {
113
			wireItemProvider = new WireItemProvider(this);
114
		}
115
116
		return wireItemProvider;
117
	}
118
119
	/**
120
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Circuit} instances.
121
	 * <!-- begin-user-doc -->
122
	 * <!-- end-user-doc -->
123
	 * @generated
124
	 */
125
	protected CircuitItemProvider circuitItemProvider;
126
127
	/**
128
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Circuit}.
129
	 * <!-- begin-user-doc -->
130
	 * <!-- end-user-doc -->
131
	 * @generated
132
	 */
133
	public Adapter createCircuitAdapter() {
134
		if (circuitItemProvider == null) {
135
			circuitItemProvider = new CircuitItemProvider(this);
136
		}
137
138
		return circuitItemProvider;
139
	}
140
141
	/**
142
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.FlowContainer} instances.
143
	 * <!-- begin-user-doc -->
144
	 * <!-- end-user-doc -->
145
	 * @generated
146
	 */
147
	protected FlowContainerItemProvider flowContainerItemProvider;
148
149
	/**
150
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.FlowContainer}.
151
	 * <!-- begin-user-doc -->
152
	 * <!-- end-user-doc -->
153
	 * @generated
154
	 */
155
	public Adapter createFlowContainerAdapter() {
156
		if (flowContainerItemProvider == null) {
157
			flowContainerItemProvider = new FlowContainerItemProvider(this);
158
		}
159
160
		return flowContainerItemProvider;
161
	}
162
163
	/**
164
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.AndGate} instances.
165
	 * <!-- begin-user-doc -->
166
	 * <!-- end-user-doc -->
167
	 * @generated
168
	 */
169
	protected AndGateItemProvider andGateItemProvider;
170
171
	/**
172
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.AndGate}.
173
	 * <!-- begin-user-doc -->
174
	 * <!-- end-user-doc -->
175
	 * @generated
176
	 */
177
	public Adapter createAndGateAdapter() {
178
		if (andGateItemProvider == null) {
179
			andGateItemProvider = new AndGateItemProvider(this);
180
		}
181
182
		return andGateItemProvider;
183
	}
184
185
	/**
186
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OrGate} instances.
187
	 * <!-- begin-user-doc -->
188
	 * <!-- end-user-doc -->
189
	 * @generated
190
	 */
191
	protected OrGateItemProvider orGateItemProvider;
192
193
	/**
194
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OrGate}.
195
	 * <!-- begin-user-doc -->
196
	 * <!-- end-user-doc -->
197
	 * @generated
198
	 */
199
	public Adapter createOrGateAdapter() {
200
		if (orGateItemProvider == null) {
201
			orGateItemProvider = new OrGateItemProvider(this);
202
		}
203
204
		return orGateItemProvider;
205
	}
206
207
	/**
208
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.XORGate} instances.
209
	 * <!-- begin-user-doc -->
210
	 * <!-- end-user-doc -->
211
	 * @generated
212
	 */
213
	protected XORGateItemProvider xorGateItemProvider;
214
215
	/**
216
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.XORGate}.
217
	 * <!-- begin-user-doc -->
218
	 * <!-- end-user-doc -->
219
	 * @generated
220
	 */
221
	public Adapter createXORGateAdapter() {
222
		if (xorGateItemProvider == null) {
223
			xorGateItemProvider = new XORGateItemProvider(this);
224
		}
225
226
		return xorGateItemProvider;
227
	}
228
229
	/**
230
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Model} instances.
231
	 * <!-- begin-user-doc -->
232
	 * <!-- end-user-doc -->
233
	 * @generated
234
	 */
235
	protected ModelItemProvider modelItemProvider;
236
237
	/**
238
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Model}.
239
	 * <!-- begin-user-doc -->
240
	 * <!-- end-user-doc -->
241
	 * @generated
242
	 */
243
	public Adapter createModelAdapter() {
244
		if (modelItemProvider == null) {
245
			modelItemProvider = new ModelItemProvider(this);
246
		}
247
248
		return modelItemProvider;
249
	}
250
251
	/**
252
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OutputTerminal} instances.
253
	 * <!-- begin-user-doc -->
254
	 * <!-- end-user-doc -->
255
	 * @generated
256
	 */
257
	protected OutputTerminalItemProvider outputTerminalItemProvider;
258
259
	/**
260
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OutputTerminal}.
261
	 * <!-- begin-user-doc -->
262
	 * <!-- end-user-doc -->
263
	 * @generated
264
	 */
265
	public Adapter createOutputTerminalAdapter() {
266
		if (outputTerminalItemProvider == null) {
267
			outputTerminalItemProvider = new OutputTerminalItemProvider(this);
268
		}
269
270
		return outputTerminalItemProvider;
271
	}
272
273
	/**
274
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputTerminal} instances.
275
	 * <!-- begin-user-doc -->
276
	 * <!-- end-user-doc -->
277
	 * @generated
278
	 */
279
	protected InputTerminalItemProvider inputTerminalItemProvider;
280
281
	/**
282
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputTerminal}.
283
	 * <!-- begin-user-doc -->
284
	 * <!-- end-user-doc -->
285
	 * @generated
286
	 */
287
	public Adapter createInputTerminalAdapter() {
288
		if (inputTerminalItemProvider == null) {
289
			inputTerminalItemProvider = new InputTerminalItemProvider(this);
290
		}
291
292
		return inputTerminalItemProvider;
293
	}
294
295
	/**
296
	 * This keeps track of the one adapter used for all {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputOutputTerminal} instances.
297
	 * <!-- begin-user-doc -->
298
	 * <!-- end-user-doc -->
299
	 * @generated
300
	 */
301
	protected InputOutputTerminalItemProvider inputOutputTerminalItemProvider;
302
303
	/**
304
	 * This creates an adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputOutputTerminal}.
305
	 * <!-- begin-user-doc -->
306
	 * <!-- end-user-doc -->
307
	 * @generated
308
	 */
309
	public Adapter createInputOutputTerminalAdapter() {
310
		if (inputOutputTerminalItemProvider == null) {
311
			inputOutputTerminalItemProvider = new InputOutputTerminalItemProvider(this);
312
		}
313
314
		return inputOutputTerminalItemProvider;
315
	}
316
317
	/**
318
	 * This returns the root adapter factory that contains this factory.
319
	 * <!-- begin-user-doc -->
320
	 * <!-- end-user-doc -->
321
	 * @generated
322
	 */
323
	public ComposeableAdapterFactory getRootAdapterFactory() {
324
		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
325
	}
326
327
	/**
328
	 * This sets the composed adapter factory that contains this factory.
329
	 * <!-- begin-user-doc -->
330
	 * <!-- end-user-doc -->
331
	 * @generated
332
	 */
333
	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
334
		this.parentAdapterFactory = parentAdapterFactory;
335
	}
336
337
	/**
338
	 * <!-- begin-user-doc -->
339
	 * <!-- end-user-doc -->
340
	 * @generated
341
	 */
342
	public boolean isFactoryForType(Object type) {
343
		return supportedTypes.contains(type) || super.isFactoryForType(type);
344
	}
345
346
	/**
347
	 * This implementation substitutes the factory itself as the key for the adapter.
348
	 * <!-- begin-user-doc -->
349
	 * <!-- end-user-doc -->
350
	 * @generated
351
	 */
352
	public Adapter adapt(Notifier notifier, Object type) {
353
		return super.adapt(notifier, this);
354
	}
355
356
	/**
357
	 * <!-- begin-user-doc -->
358
	 * <!-- end-user-doc -->
359
	 * @generated
360
	 */
361
	public Object adapt(Object object, Object type) {
362
		if (isFactoryForType(type)) {
363
			Object adapter = super.adapt(object, type);
364
			if (!(type instanceof Class) || (((Class)type).isInstance(adapter))) {
365
				return adapter;
366
			}
367
		}
368
369
		return null;
370
	}
371
372
	/**
373
	 * This adds a listener.
374
	 * <!-- begin-user-doc -->
375
	 * <!-- end-user-doc -->
376
	 * @generated
377
	 */
378
	public void addListener(INotifyChangedListener notifyChangedListener) {
379
		changeNotifier.addListener(notifyChangedListener);
380
	}
381
382
	/**
383
	 * This removes a listener.
384
	 * <!-- begin-user-doc -->
385
	 * <!-- end-user-doc -->
386
	 * @generated
387
	 */
388
	public void removeListener(INotifyChangedListener notifyChangedListener) {
389
		changeNotifier.removeListener(notifyChangedListener);
390
	}
391
392
	/**
393
	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
394
	 * <!-- begin-user-doc -->
395
	 * <!-- end-user-doc -->
396
	 * @generated
397
	 */
398
	public void fireNotifyChanged(Notification notification) {
399
		changeNotifier.fireNotifyChanged(notification);
400
401
		if (parentAdapterFactory != null) {
402
			parentAdapterFactory.fireNotifyChanged(notification);
403
		}
404
	}
405
406
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/provider/GateItemProvider.java (+117 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.provider;
8
9
10
import java.util.Collection;
11
import java.util.List;
12
13
import org.eclipse.emf.common.notify.AdapterFactory;
14
import org.eclipse.emf.common.notify.Notification;
15
16
import org.eclipse.emf.common.util.ResourceLocator;
17
18
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
19
import org.eclipse.emf.edit.provider.IItemLabelProvider;
20
import org.eclipse.emf.edit.provider.IItemPropertySource;
21
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
22
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
23
24
import org.eclipse.gmf.examples.runtime.diagram.logic.model.provider.LogicsemanticEditPlugin;
25
26
/**
27
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Gate} object.
28
 * <!-- begin-user-doc -->
29
 * <!-- end-user-doc -->
30
 * @generated
31
 */
32
public class GateItemProvider
33
	extends ElementItemProvider
34
	implements	
35
		IEditingDomainItemProvider,	
36
		IStructuredItemContentProvider,	
37
		ITreeItemContentProvider,	
38
		IItemLabelProvider,	
39
		IItemPropertySource {
40
	/**
41
	 * This constructs an instance from a factory and a notifier.
42
	 * <!-- begin-user-doc -->
43
	 * <!-- end-user-doc -->
44
	 * @generated
45
	 */
46
	public GateItemProvider(AdapterFactory adapterFactory) {
47
		super(adapterFactory);
48
	}
49
50
	/**
51
	 * This returns the property descriptors for the adapted class.
52
	 * <!-- begin-user-doc -->
53
	 * <!-- end-user-doc -->
54
	 * @generated
55
	 */
56
	public List getPropertyDescriptors(Object object) {
57
		if (itemPropertyDescriptors == null) {
58
			super.getPropertyDescriptors(object);
59
60
		}
61
		return itemPropertyDescriptors;
62
	}
63
64
	/**
65
	 * This returns Gate.gif.
66
	 * <!-- begin-user-doc -->
67
	 * <!-- end-user-doc -->
68
	 * @generated
69
	 */
70
	public Object getImage(Object object) {
71
		return overlayImage(object, getResourceLocator().getImage("full/obj16/Gate"));
72
	}
73
74
	/**
75
	 * This returns the label text for the adapted class.
76
	 * <!-- begin-user-doc -->
77
	 * <!-- end-user-doc -->
78
	 * @generated
79
	 */
80
	public String getText(Object object) {
81
		return getString("_UI_Gate_type");
82
	}
83
84
	/**
85
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
86
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
87
	 * <!-- begin-user-doc -->
88
	 * <!-- end-user-doc -->
89
	 * @generated
90
	 */
91
	public void notifyChanged(Notification notification) {
92
		updateChildren(notification);
93
		super.notifyChanged(notification);
94
	}
95
96
	/**
97
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
98
	 * describing all of the children that can be created under this object.
99
	 * <!-- begin-user-doc -->
100
	 * <!-- end-user-doc -->
101
	 * @generated
102
	 */
103
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
104
		super.collectNewChildDescriptors(newChildDescriptors, object);
105
	}
106
107
	/**
108
	 * Return the resource locator for this item provider's resources.
109
	 * <!-- begin-user-doc -->
110
	 * <!-- end-user-doc -->
111
	 * @generated
112
	 */
113
	public ResourceLocator getResourceLocator() {
114
		return LogicsemanticEditPlugin.INSTANCE;
115
	}
116
117
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/provider/XORGateItemProvider.java (+117 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.provider;
8
9
10
import java.util.Collection;
11
import java.util.List;
12
13
import org.eclipse.emf.common.notify.AdapterFactory;
14
import org.eclipse.emf.common.notify.Notification;
15
16
import org.eclipse.emf.common.util.ResourceLocator;
17
18
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
19
import org.eclipse.emf.edit.provider.IItemLabelProvider;
20
import org.eclipse.emf.edit.provider.IItemPropertySource;
21
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
22
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
23
24
import org.eclipse.gmf.examples.runtime.diagram.logic.model.provider.LogicsemanticEditPlugin;
25
26
/**
27
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.XORGate} object.
28
 * <!-- begin-user-doc -->
29
 * <!-- end-user-doc -->
30
 * @generated
31
 */
32
public class XORGateItemProvider
33
	extends GateItemProvider
34
	implements	
35
		IEditingDomainItemProvider,	
36
		IStructuredItemContentProvider,	
37
		ITreeItemContentProvider,	
38
		IItemLabelProvider,	
39
		IItemPropertySource {
40
	/**
41
	 * This constructs an instance from a factory and a notifier.
42
	 * <!-- begin-user-doc -->
43
	 * <!-- end-user-doc -->
44
	 * @generated
45
	 */
46
	public XORGateItemProvider(AdapterFactory adapterFactory) {
47
		super(adapterFactory);
48
	}
49
50
	/**
51
	 * This returns the property descriptors for the adapted class.
52
	 * <!-- begin-user-doc -->
53
	 * <!-- end-user-doc -->
54
	 * @generated
55
	 */
56
	public List getPropertyDescriptors(Object object) {
57
		if (itemPropertyDescriptors == null) {
58
			super.getPropertyDescriptors(object);
59
60
		}
61
		return itemPropertyDescriptors;
62
	}
63
64
	/**
65
	 * This returns XORGate.gif.
66
	 * <!-- begin-user-doc -->
67
	 * <!-- end-user-doc -->
68
	 * @generated
69
	 */
70
	public Object getImage(Object object) {
71
		return overlayImage(object, getResourceLocator().getImage("full/obj16/XORGate"));
72
	}
73
74
	/**
75
	 * This returns the label text for the adapted class.
76
	 * <!-- begin-user-doc -->
77
	 * <!-- end-user-doc -->
78
	 * @generated
79
	 */
80
	public String getText(Object object) {
81
		return getString("_UI_XORGate_type");
82
	}
83
84
	/**
85
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
86
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
87
	 * <!-- begin-user-doc -->
88
	 * <!-- end-user-doc -->
89
	 * @generated
90
	 */
91
	public void notifyChanged(Notification notification) {
92
		updateChildren(notification);
93
		super.notifyChanged(notification);
94
	}
95
96
	/**
97
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
98
	 * describing all of the children that can be created under this object.
99
	 * <!-- begin-user-doc -->
100
	 * <!-- end-user-doc -->
101
	 * @generated
102
	 */
103
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
104
		super.collectNewChildDescriptors(newChildDescriptors, object);
105
	}
106
107
	/**
108
	 * Return the resource locator for this item provider's resources.
109
	 * <!-- begin-user-doc -->
110
	 * <!-- end-user-doc -->
111
	 * @generated
112
	 */
113
	public ResourceLocator getResourceLocator() {
114
		return LogicsemanticEditPlugin.INSTANCE;
115
	}
116
117
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/provider/CircuitItemProvider.java (+117 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.provider;
8
9
10
import java.util.Collection;
11
import java.util.List;
12
13
import org.eclipse.emf.common.notify.AdapterFactory;
14
import org.eclipse.emf.common.notify.Notification;
15
16
import org.eclipse.emf.common.util.ResourceLocator;
17
18
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
19
import org.eclipse.emf.edit.provider.IItemLabelProvider;
20
import org.eclipse.emf.edit.provider.IItemPropertySource;
21
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
22
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
23
24
import org.eclipse.gmf.examples.runtime.diagram.logic.model.provider.LogicsemanticEditPlugin;
25
26
/**
27
 * This is the item provider adapter for a {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Circuit} object.
28
 * <!-- begin-user-doc -->
29
 * <!-- end-user-doc -->
30
 * @generated
31
 */
32
public class CircuitItemProvider
33
	extends ContainerElementItemProvider
34
	implements	
35
		IEditingDomainItemProvider,	
36
		IStructuredItemContentProvider,	
37
		ITreeItemContentProvider,	
38
		IItemLabelProvider,	
39
		IItemPropertySource {
40
	/**
41
	 * This constructs an instance from a factory and a notifier.
42
	 * <!-- begin-user-doc -->
43
	 * <!-- end-user-doc -->
44
	 * @generated
45
	 */
46
	public CircuitItemProvider(AdapterFactory adapterFactory) {
47
		super(adapterFactory);
48
	}
49
50
	/**
51
	 * This returns the property descriptors for the adapted class.
52
	 * <!-- begin-user-doc -->
53
	 * <!-- end-user-doc -->
54
	 * @generated
55
	 */
56
	public List getPropertyDescriptors(Object object) {
57
		if (itemPropertyDescriptors == null) {
58
			super.getPropertyDescriptors(object);
59
60
		}
61
		return itemPropertyDescriptors;
62
	}
63
64
	/**
65
	 * This returns Circuit.gif.
66
	 * <!-- begin-user-doc -->
67
	 * <!-- end-user-doc -->
68
	 * @generated
69
	 */
70
	public Object getImage(Object object) {
71
		return overlayImage(object, getResourceLocator().getImage("full/obj16/Circuit"));
72
	}
73
74
	/**
75
	 * This returns the label text for the adapted class.
76
	 * <!-- begin-user-doc -->
77
	 * <!-- end-user-doc -->
78
	 * @generated
79
	 */
80
	public String getText(Object object) {
81
		return getString("_UI_Circuit_type");
82
	}
83
84
	/**
85
	 * This handles model notifications by calling {@link #updateChildren} to update any cached
86
	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
87
	 * <!-- begin-user-doc -->
88
	 * <!-- end-user-doc -->
89
	 * @generated
90
	 */
91
	public void notifyChanged(Notification notification) {
92
		updateChildren(notification);
93
		super.notifyChanged(notification);
94
	}
95
96
	/**
97
	 * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s
98
	 * describing all of the children that can be created under this object.
99
	 * <!-- begin-user-doc -->
100
	 * <!-- end-user-doc -->
101
	 * @generated
102
	 */
103
	protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) {
104
		super.collectNewChildDescriptors(newChildDescriptors, object);
105
	}
106
107
	/**
108
	 * Return the resource locator for this item provider's resources.
109
	 * <!-- begin-user-doc -->
110
	 * <!-- end-user-doc -->
111
	 * @generated
112
	 */
113
	public ResourceLocator getResourceLocator() {
114
		return LogicsemanticEditPlugin.INSTANCE;
115
	}
116
117
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/impl/SemanticFactoryImpl.java (-202 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.impl;
13
14
import org.eclipse.gmf.examples.runtime.diagram.logic.model.*;
15
16
import org.eclipse.emf.ecore.EClass;
17
import org.eclipse.emf.ecore.EObject;
18
import org.eclipse.emf.ecore.impl.EFactoryImpl;
19
20
import org.eclipse.gmf.examples.runtime.diagram.logic.model.AndGate;
21
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Circuit;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.model.FlowContainer;
23
import org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.model.LED;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Model;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.model.OrGate;
27
import org.eclipse.gmf.examples.runtime.diagram.logic.model.OutputTerminal;
28
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticFactory;
29
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
30
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire;
31
import org.eclipse.gmf.examples.runtime.diagram.logic.model.XORGate;
32
33
/**
34
 * <!-- begin-user-doc -->
35
 * An implementation of the model <b>Factory</b>.
36
 * <!-- end-user-doc -->
37
 * @generated
38
 */
39
public class SemanticFactoryImpl extends EFactoryImpl implements SemanticFactory {
40
	/**
41
	 * Creates and instance of the factory.
42
	 * <!-- begin-user-doc -->
43
	 * <!-- end-user-doc -->
44
	 * @generated
45
	 */
46
	public SemanticFactoryImpl() {
47
		super();
48
	}
49
50
	/**
51
	 * <!-- begin-user-doc -->
52
	 * <!-- end-user-doc -->
53
	 * @generated
54
	 */
55
	public EObject create(EClass eClass) {
56
		switch (eClass.getClassifierID()) {
57
			case SemanticPackage.LED: return createLED();
58
			case SemanticPackage.WIRE: return createWire();
59
			case SemanticPackage.CIRCUIT: return createCircuit();
60
			case SemanticPackage.FLOW_CONTAINER: return createFlowContainer();
61
			case SemanticPackage.AND_GATE: return createAndGate();
62
			case SemanticPackage.OR_GATE: return createOrGate();
63
			case SemanticPackage.XOR_GATE: return createXORGate();
64
			case SemanticPackage.MODEL: return createModel();
65
			case SemanticPackage.OUTPUT_TERMINAL: return createOutputTerminal();
66
			case SemanticPackage.INPUT_TERMINAL: return createInputTerminal();
67
			case SemanticPackage.INPUT_OUTPUT_TERMINAL: return createInputOutputTerminal();
68
			default:
69
				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");  //$NON-NLS-1$//$NON-NLS-2$
70
		}
71
	}
72
73
	/**
74
	 * <!-- begin-user-doc -->
75
	 * <!-- end-user-doc -->
76
	 * @generated
77
	 */
78
	public LED createLED() {
79
		LEDImpl led = new LEDImpl();
80
		return led;
81
	}
82
83
	/**
84
	 * <!-- begin-user-doc -->
85
	 * <!-- end-user-doc -->
86
	 * @generated
87
	 */
88
	public Wire createWire() {
89
		WireImpl wire = new WireImpl();
90
		return wire;
91
	}
92
93
	/**
94
	 * <!-- begin-user-doc -->
95
	 * <!-- end-user-doc -->
96
	 * @generated
97
	 */
98
	public Circuit createCircuit() {
99
		CircuitImpl circuit = new CircuitImpl();
100
		return circuit;
101
	}
102
103
	/**
104
	 * <!-- begin-user-doc -->
105
	 * <!-- end-user-doc -->
106
	 * @generated
107
	 */
108
	public FlowContainer createFlowContainer() {
109
		FlowContainerImpl flowContainer = new FlowContainerImpl();
110
		return flowContainer;
111
	}
112
113
	/**
114
	 * <!-- begin-user-doc -->
115
	 * <!-- end-user-doc -->
116
	 * @generated
117
	 */
118
	public AndGate createAndGate() {
119
		AndGateImpl andGate = new AndGateImpl();
120
		return andGate;
121
	}
122
123
	/**
124
	 * <!-- begin-user-doc -->
125
	 * <!-- end-user-doc -->
126
	 * @generated
127
	 */
128
	public OrGate createOrGate() {
129
		OrGateImpl orGate = new OrGateImpl();
130
		return orGate;
131
	}
132
133
	/**
134
	 * <!-- begin-user-doc -->
135
	 * <!-- end-user-doc -->
136
	 * @generated
137
	 */
138
	public XORGate createXORGate() {
139
		XORGateImpl xorGate = new XORGateImpl();
140
		return xorGate;
141
	}
142
143
	/**
144
	 * <!-- begin-user-doc -->
145
	 * <!-- end-user-doc -->
146
	 * @generated
147
	 */
148
	public Model createModel() {
149
		ModelImpl model = new ModelImpl();
150
		return model;
151
	}
152
153
	/**
154
	 * <!-- begin-user-doc -->
155
	 * <!-- end-user-doc -->
156
	 * @generated
157
	 */
158
	public OutputTerminal createOutputTerminal() {
159
		OutputTerminalImpl outputTerminal = new OutputTerminalImpl();
160
		return outputTerminal;
161
	}
162
163
	/**
164
	 * <!-- begin-user-doc -->
165
	 * <!-- end-user-doc -->
166
	 * @generated
167
	 */
168
	public InputTerminal createInputTerminal() {
169
		InputTerminalImpl inputTerminal = new InputTerminalImpl();
170
		return inputTerminal;
171
	}
172
173
	/**
174
	 * <!-- begin-user-doc -->
175
	 * <!-- end-user-doc -->
176
	 * @generated
177
	 */
178
	public InputOutputTerminal createInputOutputTerminal() {
179
		InputOutputTerminalImpl inputOutputTerminal = new InputOutputTerminalImpl();
180
		return inputOutputTerminal;
181
	}
182
183
	/**
184
	 * <!-- begin-user-doc -->
185
	 * <!-- end-user-doc -->
186
	 * @generated
187
	 */
188
	public SemanticPackage getSemanticPackage() {
189
		return (SemanticPackage)getEPackage();
190
	}
191
192
	/**
193
	 * <!-- begin-user-doc -->
194
	 * <!-- end-user-doc -->
195
	 * @deprecated
196
	 * @generated
197
	 */
198
	public static SemanticPackage getPackage() {
199
		return SemanticPackage.eINSTANCE;
200
	}
201
202
} //SemanticFactoryImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/impl/InputOutputTerminalImpl.java (-145 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.impl;
13
14
import org.eclipse.gmf.examples.runtime.diagram.logic.model.InputOutputTerminal;
15
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
16
17
import java.util.Collection;
18
19
import org.eclipse.emf.common.notify.NotificationChain;
20
21
import org.eclipse.emf.ecore.EClass;
22
import org.eclipse.emf.ecore.EStructuralFeature;
23
import org.eclipse.emf.ecore.InternalEObject;
24
25
import org.eclipse.emf.ecore.util.InternalEList;
26
27
/**
28
 * <!-- begin-user-doc -->
29
 * An implementation of the model object '<em><b>Input Output Terminal</b></em>'.
30
 * <!-- end-user-doc -->
31
 * <p>
32
 * </p>
33
 *
34
 * @generated
35
 */
36
public class InputOutputTerminalImpl extends OutputTerminalImpl implements InputOutputTerminal {
37
	/**
38
	 * <!-- begin-user-doc -->
39
	 * <!-- end-user-doc -->
40
	 * @generated
41
	 */
42
	protected InputOutputTerminalImpl() {
43
		super();
44
	}
45
46
	/**
47
	 * <!-- begin-user-doc -->
48
	 * <!-- end-user-doc -->
49
	 * @generated
50
	 */
51
	protected EClass eStaticClass() {
52
		return SemanticPackage.eINSTANCE.getInputOutputTerminal();
53
	}
54
55
	/**
56
	 * <!-- begin-user-doc -->
57
	 * <!-- end-user-doc -->
58
	 * @generated
59
	 */
60
	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
61
		if (featureID >= 0) {
62
			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
63
				case SemanticPackage.INPUT_OUTPUT_TERMINAL__TERMINALS:
64
					return ((InternalEList)getTerminals()).basicRemove(otherEnd, msgs);
65
				default:
66
					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
67
			}
68
		}
69
		return eBasicSetContainer(null, featureID, msgs);
70
	}
71
72
	/**
73
	 * <!-- begin-user-doc -->
74
	 * <!-- end-user-doc -->
75
	 * @generated
76
	 */
77
	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
78
		switch (eDerivedStructuralFeatureID(eFeature)) {
79
			case SemanticPackage.INPUT_OUTPUT_TERMINAL__TERMINALS:
80
				return getTerminals();
81
			case SemanticPackage.INPUT_OUTPUT_TERMINAL__OUTPUT_TERMINALS:
82
				return getOutputTerminals();
83
			case SemanticPackage.INPUT_OUTPUT_TERMINAL__INPUT_TERMINALS:
84
				return getInputTerminals();
85
			case SemanticPackage.INPUT_OUTPUT_TERMINAL__ID:
86
				return getId();
87
		}
88
		return eDynamicGet(eFeature, resolve);
89
	}
90
91
	/**
92
	 * <!-- begin-user-doc -->
93
	 * <!-- end-user-doc -->
94
	 * @generated
95
	 */
96
	public void eSet(EStructuralFeature eFeature, Object newValue) {
97
		switch (eDerivedStructuralFeatureID(eFeature)) {
98
			case SemanticPackage.INPUT_OUTPUT_TERMINAL__TERMINALS:
99
				getTerminals().clear();
100
				getTerminals().addAll((Collection)newValue);
101
				return;
102
			case SemanticPackage.INPUT_OUTPUT_TERMINAL__ID:
103
				setId((String)newValue);
104
				return;
105
		}
106
		eDynamicSet(eFeature, newValue);
107
	}
108
109
	/**
110
	 * <!-- begin-user-doc -->
111
	 * <!-- end-user-doc -->
112
	 * @generated
113
	 */
114
	public void eUnset(EStructuralFeature eFeature) {
115
		switch (eDerivedStructuralFeatureID(eFeature)) {
116
			case SemanticPackage.INPUT_OUTPUT_TERMINAL__TERMINALS:
117
				getTerminals().clear();
118
				return;
119
			case SemanticPackage.INPUT_OUTPUT_TERMINAL__ID:
120
				setId(ID_EDEFAULT);
121
				return;
122
		}
123
		eDynamicUnset(eFeature);
124
	}
125
126
	/**
127
	 * <!-- begin-user-doc -->
128
	 * <!-- end-user-doc -->
129
	 * @generated
130
	 */
131
	public boolean eIsSet(EStructuralFeature eFeature) {
132
		switch (eDerivedStructuralFeatureID(eFeature)) {
133
			case SemanticPackage.INPUT_OUTPUT_TERMINAL__TERMINALS:
134
				return terminals != null && !terminals.isEmpty();
135
			case SemanticPackage.INPUT_OUTPUT_TERMINAL__OUTPUT_TERMINALS:
136
				return !getOutputTerminals().isEmpty();
137
			case SemanticPackage.INPUT_OUTPUT_TERMINAL__INPUT_TERMINALS:
138
				return !getInputTerminals().isEmpty();
139
			case SemanticPackage.INPUT_OUTPUT_TERMINAL__ID:
140
				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
141
		}
142
		return eDynamicIsSet(eFeature);
143
	}
144
145
} //InputOutputTerminalImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/impl/ModelImpl.java (-148 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.impl;
13
14
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Model;
15
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
16
17
import java.util.Collection;
18
19
import org.eclipse.emf.common.notify.NotificationChain;
20
21
import org.eclipse.emf.ecore.EClass;
22
import org.eclipse.emf.ecore.EStructuralFeature;
23
import org.eclipse.emf.ecore.InternalEObject;
24
25
import org.eclipse.emf.ecore.util.InternalEList;
26
27
/**
28
 * <!-- begin-user-doc -->
29
 * An implementation of the model object '<em><b>Model</b></em>'.
30
 * <!-- end-user-doc -->
31
 * <p>
32
 * </p>
33
 *
34
 * @generated
35
 */
36
public class ModelImpl extends ContainerElementImpl implements Model {
37
	/**
38
	 * <!-- begin-user-doc -->
39
	 * <!-- end-user-doc -->
40
	 * @generated
41
	 */
42
	protected ModelImpl() {
43
		super();
44
	}
45
46
	/**
47
	 * <!-- begin-user-doc -->
48
	 * <!-- end-user-doc -->
49
	 * @generated
50
	 */
51
	protected EClass eStaticClass() {
52
		return SemanticPackage.eINSTANCE.getModel();
53
	}
54
55
	/**
56
	 * <!-- begin-user-doc -->
57
	 * <!-- end-user-doc -->
58
	 * @generated
59
	 */
60
	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
61
		if (featureID >= 0) {
62
			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
63
				case SemanticPackage.MODEL__TERMINALS:
64
					return ((InternalEList)getTerminals()).basicRemove(otherEnd, msgs);
65
				case SemanticPackage.MODEL__CHILDREN:
66
					return ((InternalEList)getChildren()).basicRemove(otherEnd, msgs);
67
				default:
68
					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
69
			}
70
		}
71
		return eBasicSetContainer(null, featureID, msgs);
72
	}
73
74
	/**
75
	 * <!-- begin-user-doc -->
76
	 * <!-- end-user-doc -->
77
	 * @generated
78
	 */
79
	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
80
		switch (eDerivedStructuralFeatureID(eFeature)) {
81
			case SemanticPackage.MODEL__TERMINALS:
82
				return getTerminals();
83
			case SemanticPackage.MODEL__OUTPUT_TERMINALS:
84
				return getOutputTerminals();
85
			case SemanticPackage.MODEL__INPUT_TERMINALS:
86
				return getInputTerminals();
87
			case SemanticPackage.MODEL__CHILDREN:
88
				return getChildren();
89
		}
90
		return eDynamicGet(eFeature, resolve);
91
	}
92
93
	/**
94
	 * <!-- begin-user-doc -->
95
	 * <!-- end-user-doc -->
96
	 * @generated
97
	 */
98
	public void eSet(EStructuralFeature eFeature, Object newValue) {
99
		switch (eDerivedStructuralFeatureID(eFeature)) {
100
			case SemanticPackage.MODEL__TERMINALS:
101
				getTerminals().clear();
102
				getTerminals().addAll((Collection)newValue);
103
				return;
104
			case SemanticPackage.MODEL__CHILDREN:
105
				getChildren().clear();
106
				getChildren().addAll((Collection)newValue);
107
				return;
108
		}
109
		eDynamicSet(eFeature, newValue);
110
	}
111
112
	/**
113
	 * <!-- begin-user-doc -->
114
	 * <!-- end-user-doc -->
115
	 * @generated
116
	 */
117
	public void eUnset(EStructuralFeature eFeature) {
118
		switch (eDerivedStructuralFeatureID(eFeature)) {
119
			case SemanticPackage.MODEL__TERMINALS:
120
				getTerminals().clear();
121
				return;
122
			case SemanticPackage.MODEL__CHILDREN:
123
				getChildren().clear();
124
				return;
125
		}
126
		eDynamicUnset(eFeature);
127
	}
128
129
	/**
130
	 * <!-- begin-user-doc -->
131
	 * <!-- end-user-doc -->
132
	 * @generated
133
	 */
134
	public boolean eIsSet(EStructuralFeature eFeature) {
135
		switch (eDerivedStructuralFeatureID(eFeature)) {
136
			case SemanticPackage.MODEL__TERMINALS:
137
				return terminals != null && !terminals.isEmpty();
138
			case SemanticPackage.MODEL__OUTPUT_TERMINALS:
139
				return !getOutputTerminals().isEmpty();
140
			case SemanticPackage.MODEL__INPUT_TERMINALS:
141
				return !getInputTerminals().isEmpty();
142
			case SemanticPackage.MODEL__CHILDREN:
143
				return children != null && !children.isEmpty();
144
		}
145
		return eDynamicIsSet(eFeature);
146
	}
147
148
} //ModelImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/impl/ElementImpl.java (-204 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.impl;
13
14
import java.util.ArrayList;
15
import java.util.Collection;
16
import java.util.Iterator;
17
18
import org.eclipse.emf.common.notify.NotificationChain;
19
import org.eclipse.emf.common.util.EList;
20
import org.eclipse.emf.ecore.EClass;
21
import org.eclipse.emf.ecore.EStructuralFeature;
22
import org.eclipse.emf.ecore.InternalEObject;
23
import org.eclipse.emf.ecore.impl.EObjectImpl;
24
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
25
import org.eclipse.emf.ecore.util.EcoreEList;
26
import org.eclipse.emf.ecore.util.InternalEList;
27
28
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Element;
29
import org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal;
30
import org.eclipse.gmf.examples.runtime.diagram.logic.model.OutputTerminal;
31
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
32
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal;
33
34
/**
35
 * <!-- begin-user-doc -->
36
 * An implementation of the model object '<em><b>Element</b></em>'.
37
 * <!-- end-user-doc -->
38
 * <p>
39
 * The following features are implemented:
40
 * <ul>
41
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.ElementImpl#getTerminals <em>Terminals</em>}</li>
42
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.ElementImpl#getOutputTerminals <em>Output Terminals</em>}</li>
43
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.ElementImpl#getInputTerminals <em>Input Terminals</em>}</li>
44
 * </ul>
45
 * </p>
46
 *
47
 * @generated
48
 */
49
public abstract class ElementImpl extends EObjectImpl implements Element {
50
	/**
51
	 * The cached value of the '{@link #getTerminals() <em>Terminals</em>}' containment reference list.
52
	 * <!-- begin-user-doc -->
53
	 * <!-- end-user-doc -->
54
	 * @see #getTerminals()
55
	 * @generated
56
	 * @ordered
57
	 */
58
	protected EList terminals = null;
59
60
	/**
61
	 * <!-- begin-user-doc -->
62
	 * <!-- end-user-doc -->
63
	 * @generated
64
	 */
65
	protected ElementImpl() {
66
		super();
67
	}
68
69
	/**
70
	 * <!-- begin-user-doc -->
71
	 * <!-- end-user-doc -->
72
	 * @generated
73
	 */
74
	protected EClass eStaticClass() {
75
		return SemanticPackage.eINSTANCE.getElement();
76
	}
77
78
	/**
79
	 * <!-- begin-user-doc -->
80
	 * <!-- end-user-doc -->
81
	 * @generated
82
	 */
83
	public EList getTerminals() {
84
		if (terminals == null) {
85
			terminals = new EObjectContainmentEList(Terminal.class, this, SemanticPackage.ELEMENT__TERMINALS);
86
		}
87
		return terminals;
88
	}
89
90
	/**
91
	 * <!-- begin-user-doc -->
92
	 * <!-- end-user-doc -->
93
	 * @generated NOT
94
	 */
95
	public EList getOutputTerminals() {
96
		ArrayList outputTerminals = new ArrayList();
97
		for (Iterator iter = getTerminals().iterator(); iter.hasNext(); ) {
98
			Terminal terminal = (Terminal)iter.next();
99
			if (terminal instanceof OutputTerminal)
100
				outputTerminals.add(terminal);
101
		}
102
		return new EcoreEList.UnmodifiableEList(this,
103
						SemanticPackage.eINSTANCE.getElement_InputTerminals(),
104
						outputTerminals.size(), outputTerminals.toArray());
105
	}
106
107
	/**
108
	 * <!-- begin-user-doc -->
109
	 * <!-- end-user-doc -->
110
	 * @generated NOT
111
	 */
112
	public EList getInputTerminals() {
113
		ArrayList inputTerminals = new ArrayList();
114
		for (Iterator iter = getTerminals().iterator(); iter.hasNext(); ) {
115
			Terminal terminal = (Terminal)iter.next();
116
			if (terminal instanceof InputTerminal)
117
				inputTerminals.add(terminal);
118
		}
119
		return new EcoreEList.UnmodifiableEList(this,
120
						SemanticPackage.eINSTANCE.getElement_InputTerminals(),
121
						inputTerminals.size(), inputTerminals.toArray());
122
	}
123
124
	/**
125
	 * <!-- begin-user-doc -->
126
	 * <!-- end-user-doc -->
127
	 * @generated
128
	 */
129
	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
130
		if (featureID >= 0) {
131
			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
132
				case SemanticPackage.ELEMENT__TERMINALS:
133
					return ((InternalEList)getTerminals()).basicRemove(otherEnd, msgs);
134
				default:
135
					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
136
			}
137
		}
138
		return eBasicSetContainer(null, featureID, msgs);
139
	}
140
141
	/**
142
	 * <!-- begin-user-doc -->
143
	 * <!-- end-user-doc -->
144
	 * @generated
145
	 */
146
	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
147
		switch (eDerivedStructuralFeatureID(eFeature)) {
148
			case SemanticPackage.ELEMENT__TERMINALS:
149
				return getTerminals();
150
			case SemanticPackage.ELEMENT__OUTPUT_TERMINALS:
151
				return getOutputTerminals();
152
			case SemanticPackage.ELEMENT__INPUT_TERMINALS:
153
				return getInputTerminals();
154
		}
155
		return eDynamicGet(eFeature, resolve);
156
	}
157
158
	/**
159
	 * <!-- begin-user-doc -->
160
	 * <!-- end-user-doc -->
161
	 * @generated
162
	 */
163
	public void eSet(EStructuralFeature eFeature, Object newValue) {
164
		switch (eDerivedStructuralFeatureID(eFeature)) {
165
			case SemanticPackage.ELEMENT__TERMINALS:
166
				getTerminals().clear();
167
				getTerminals().addAll((Collection)newValue);
168
				return;
169
		}
170
		eDynamicSet(eFeature, newValue);
171
	}
172
173
	/**
174
	 * <!-- begin-user-doc -->
175
	 * <!-- end-user-doc -->
176
	 * @generated
177
	 */
178
	public void eUnset(EStructuralFeature eFeature) {
179
		switch (eDerivedStructuralFeatureID(eFeature)) {
180
			case SemanticPackage.ELEMENT__TERMINALS:
181
				getTerminals().clear();
182
				return;
183
		}
184
		eDynamicUnset(eFeature);
185
	}
186
187
	/**
188
	 * <!-- begin-user-doc -->
189
	 * <!-- end-user-doc -->
190
	 * @generated
191
	 */
192
	public boolean eIsSet(EStructuralFeature eFeature) {
193
		switch (eDerivedStructuralFeatureID(eFeature)) {
194
			case SemanticPackage.ELEMENT__TERMINALS:
195
				return terminals != null && !terminals.isEmpty();
196
			case SemanticPackage.ELEMENT__OUTPUT_TERMINALS:
197
				return !getOutputTerminals().isEmpty();
198
			case SemanticPackage.ELEMENT__INPUT_TERMINALS:
199
				return !getInputTerminals().isEmpty();
200
		}
201
		return eDynamicIsSet(eFeature);
202
	}
203
204
} //ElementImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/impl/OutputTerminalImpl.java (-145 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.impl;
13
14
import org.eclipse.gmf.examples.runtime.diagram.logic.model.OutputTerminal;
15
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
16
17
import java.util.Collection;
18
19
import org.eclipse.emf.common.notify.NotificationChain;
20
21
import org.eclipse.emf.ecore.EClass;
22
import org.eclipse.emf.ecore.EStructuralFeature;
23
import org.eclipse.emf.ecore.InternalEObject;
24
25
import org.eclipse.emf.ecore.util.InternalEList;
26
27
/**
28
 * <!-- begin-user-doc -->
29
 * An implementation of the model object '<em><b>Output Terminal</b></em>'.
30
 * <!-- end-user-doc -->
31
 * <p>
32
 * </p>
33
 *
34
 * @generated
35
 */
36
public class OutputTerminalImpl extends TerminalImpl implements OutputTerminal {
37
	/**
38
	 * <!-- begin-user-doc -->
39
	 * <!-- end-user-doc -->
40
	 * @generated
41
	 */
42
	protected OutputTerminalImpl() {
43
		super();
44
	}
45
46
	/**
47
	 * <!-- begin-user-doc -->
48
	 * <!-- end-user-doc -->
49
	 * @generated
50
	 */
51
	protected EClass eStaticClass() {
52
		return SemanticPackage.eINSTANCE.getOutputTerminal();
53
	}
54
55
	/**
56
	 * <!-- begin-user-doc -->
57
	 * <!-- end-user-doc -->
58
	 * @generated
59
	 */
60
	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
61
		if (featureID >= 0) {
62
			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
63
				case SemanticPackage.OUTPUT_TERMINAL__TERMINALS:
64
					return ((InternalEList)getTerminals()).basicRemove(otherEnd, msgs);
65
				default:
66
					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
67
			}
68
		}
69
		return eBasicSetContainer(null, featureID, msgs);
70
	}
71
72
	/**
73
	 * <!-- begin-user-doc -->
74
	 * <!-- end-user-doc -->
75
	 * @generated
76
	 */
77
	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
78
		switch (eDerivedStructuralFeatureID(eFeature)) {
79
			case SemanticPackage.OUTPUT_TERMINAL__TERMINALS:
80
				return getTerminals();
81
			case SemanticPackage.OUTPUT_TERMINAL__OUTPUT_TERMINALS:
82
				return getOutputTerminals();
83
			case SemanticPackage.OUTPUT_TERMINAL__INPUT_TERMINALS:
84
				return getInputTerminals();
85
			case SemanticPackage.OUTPUT_TERMINAL__ID:
86
				return getId();
87
		}
88
		return eDynamicGet(eFeature, resolve);
89
	}
90
91
	/**
92
	 * <!-- begin-user-doc -->
93
	 * <!-- end-user-doc -->
94
	 * @generated
95
	 */
96
	public void eSet(EStructuralFeature eFeature, Object newValue) {
97
		switch (eDerivedStructuralFeatureID(eFeature)) {
98
			case SemanticPackage.OUTPUT_TERMINAL__TERMINALS:
99
				getTerminals().clear();
100
				getTerminals().addAll((Collection)newValue);
101
				return;
102
			case SemanticPackage.OUTPUT_TERMINAL__ID:
103
				setId((String)newValue);
104
				return;
105
		}
106
		eDynamicSet(eFeature, newValue);
107
	}
108
109
	/**
110
	 * <!-- begin-user-doc -->
111
	 * <!-- end-user-doc -->
112
	 * @generated
113
	 */
114
	public void eUnset(EStructuralFeature eFeature) {
115
		switch (eDerivedStructuralFeatureID(eFeature)) {
116
			case SemanticPackage.OUTPUT_TERMINAL__TERMINALS:
117
				getTerminals().clear();
118
				return;
119
			case SemanticPackage.OUTPUT_TERMINAL__ID:
120
				setId(ID_EDEFAULT);
121
				return;
122
		}
123
		eDynamicUnset(eFeature);
124
	}
125
126
	/**
127
	 * <!-- begin-user-doc -->
128
	 * <!-- end-user-doc -->
129
	 * @generated
130
	 */
131
	public boolean eIsSet(EStructuralFeature eFeature) {
132
		switch (eDerivedStructuralFeatureID(eFeature)) {
133
			case SemanticPackage.OUTPUT_TERMINAL__TERMINALS:
134
				return terminals != null && !terminals.isEmpty();
135
			case SemanticPackage.OUTPUT_TERMINAL__OUTPUT_TERMINALS:
136
				return !getOutputTerminals().isEmpty();
137
			case SemanticPackage.OUTPUT_TERMINAL__INPUT_TERMINALS:
138
				return !getInputTerminals().isEmpty();
139
			case SemanticPackage.OUTPUT_TERMINAL__ID:
140
				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
141
		}
142
		return eDynamicIsSet(eFeature);
143
	}
144
145
} //OutputTerminalImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/impl/LEDImpl.java (-208 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.impl;
13
14
import org.eclipse.gmf.examples.runtime.diagram.logic.model.LED;
15
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
16
17
import java.util.Collection;
18
19
import org.eclipse.emf.common.notify.Notification;
20
import org.eclipse.emf.common.notify.NotificationChain;
21
22
import org.eclipse.emf.ecore.EClass;
23
import org.eclipse.emf.ecore.EStructuralFeature;
24
import org.eclipse.emf.ecore.InternalEObject;
25
26
import org.eclipse.emf.ecore.impl.ENotificationImpl;
27
28
import org.eclipse.emf.ecore.util.InternalEList;
29
30
/**
31
 * <!-- begin-user-doc -->
32
 * An implementation of the model object '<em><b>LED</b></em>'.
33
 * <!-- end-user-doc -->
34
 * <p>
35
 * The following features are implemented:
36
 * <ul>
37
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.LEDImpl#getValue <em>Value</em>}</li>
38
 * </ul>
39
 * </p>
40
 *
41
 * @generated
42
 */
43
public class LEDImpl extends ElementImpl implements LED {
44
	/**
45
	 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
46
	 * <!-- begin-user-doc -->
47
	 * <!-- end-user-doc -->
48
	 * @see #getValue()
49
	 * @generated
50
	 * @ordered
51
	 */
52
	protected static final int VALUE_EDEFAULT = 0;
53
54
	/**
55
	 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
56
	 * <!-- begin-user-doc -->
57
	 * <!-- end-user-doc -->
58
	 * @see #getValue()
59
	 * @generated
60
	 * @ordered
61
	 */
62
	protected int value = VALUE_EDEFAULT;
63
64
	/**
65
	 * <!-- begin-user-doc -->
66
	 * <!-- end-user-doc -->
67
	 * @generated
68
	 */
69
	protected LEDImpl() {
70
		super();
71
	}
72
73
	/**
74
	 * <!-- begin-user-doc -->
75
	 * <!-- end-user-doc -->
76
	 * @generated
77
	 */
78
	protected EClass eStaticClass() {
79
		return SemanticPackage.eINSTANCE.getLED();
80
	}
81
82
	/**
83
	 * <!-- begin-user-doc -->
84
	 * <!-- end-user-doc -->
85
	 * @generated
86
	 */
87
	public int getValue() {
88
		return value;
89
	}
90
91
	/**
92
	 * <!-- begin-user-doc -->
93
	 * <!-- end-user-doc -->
94
	 * @generated
95
	 */
96
	public void setValue(int newValue) {
97
		int oldValue = value;
98
		value = newValue;
99
		if (eNotificationRequired())
100
			eNotify(new ENotificationImpl(this, Notification.SET, SemanticPackage.LED__VALUE, oldValue, value));
101
	}
102
103
	/**
104
	 * <!-- begin-user-doc -->
105
	 * <!-- end-user-doc -->
106
	 * @generated
107
	 */
108
	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
109
		if (featureID >= 0) {
110
			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
111
				case SemanticPackage.LED__TERMINALS:
112
					return ((InternalEList)getTerminals()).basicRemove(otherEnd, msgs);
113
				default:
114
					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
115
			}
116
		}
117
		return eBasicSetContainer(null, featureID, msgs);
118
	}
119
120
	/**
121
	 * <!-- begin-user-doc -->
122
	 * <!-- end-user-doc -->
123
	 * @generated
124
	 */
125
	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
126
		switch (eDerivedStructuralFeatureID(eFeature)) {
127
			case SemanticPackage.LED__TERMINALS:
128
				return getTerminals();
129
			case SemanticPackage.LED__OUTPUT_TERMINALS:
130
				return getOutputTerminals();
131
			case SemanticPackage.LED__INPUT_TERMINALS:
132
				return getInputTerminals();
133
			case SemanticPackage.LED__VALUE:
134
				return new Integer(getValue());
135
		}
136
		return eDynamicGet(eFeature, resolve);
137
	}
138
139
	/**
140
	 * <!-- begin-user-doc -->
141
	 * <!-- end-user-doc -->
142
	 * @generated
143
	 */
144
	public void eSet(EStructuralFeature eFeature, Object newValue) {
145
		switch (eDerivedStructuralFeatureID(eFeature)) {
146
			case SemanticPackage.LED__TERMINALS:
147
				getTerminals().clear();
148
				getTerminals().addAll((Collection)newValue);
149
				return;
150
			case SemanticPackage.LED__VALUE:
151
				setValue(((Integer)newValue).intValue());
152
				return;
153
		}
154
		eDynamicSet(eFeature, newValue);
155
	}
156
157
	/**
158
	 * <!-- begin-user-doc -->
159
	 * <!-- end-user-doc -->
160
	 * @generated
161
	 */
162
	public void eUnset(EStructuralFeature eFeature) {
163
		switch (eDerivedStructuralFeatureID(eFeature)) {
164
			case SemanticPackage.LED__TERMINALS:
165
				getTerminals().clear();
166
				return;
167
			case SemanticPackage.LED__VALUE:
168
				setValue(VALUE_EDEFAULT);
169
				return;
170
		}
171
		eDynamicUnset(eFeature);
172
	}
173
174
	/**
175
	 * <!-- begin-user-doc -->
176
	 * <!-- end-user-doc -->
177
	 * @generated
178
	 */
179
	public boolean eIsSet(EStructuralFeature eFeature) {
180
		switch (eDerivedStructuralFeatureID(eFeature)) {
181
			case SemanticPackage.LED__TERMINALS:
182
				return terminals != null && !terminals.isEmpty();
183
			case SemanticPackage.LED__OUTPUT_TERMINALS:
184
				return !getOutputTerminals().isEmpty();
185
			case SemanticPackage.LED__INPUT_TERMINALS:
186
				return !getInputTerminals().isEmpty();
187
			case SemanticPackage.LED__VALUE:
188
				return value != VALUE_EDEFAULT;
189
		}
190
		return eDynamicIsSet(eFeature);
191
	}
192
193
	/**
194
	 * <!-- begin-user-doc -->
195
	 * <!-- end-user-doc -->
196
	 * @generated
197
	 */
198
	public String toString() {
199
		if (eIsProxy()) return super.toString();
200
201
		StringBuffer result = new StringBuffer(super.toString());
202
		result.append(" (value: "); //$NON-NLS-1$
203
		result.append(value);
204
		result.append(')');
205
		return result.toString();
206
	}
207
208
} //LEDImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/impl/XORGateImpl.java (-135 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.impl;
13
14
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
15
import org.eclipse.gmf.examples.runtime.diagram.logic.model.XORGate;
16
17
import java.util.Collection;
18
19
import org.eclipse.emf.common.notify.NotificationChain;
20
21
import org.eclipse.emf.ecore.EClass;
22
import org.eclipse.emf.ecore.EStructuralFeature;
23
import org.eclipse.emf.ecore.InternalEObject;
24
25
import org.eclipse.emf.ecore.util.InternalEList;
26
27
/**
28
 * <!-- begin-user-doc -->
29
 * An implementation of the model object '<em><b>XOR Gate</b></em>'.
30
 * <!-- end-user-doc -->
31
 * <p>
32
 * </p>
33
 *
34
 * @generated
35
 */
36
public class XORGateImpl extends GateImpl implements XORGate {
37
	/**
38
	 * <!-- begin-user-doc -->
39
	 * <!-- end-user-doc -->
40
	 * @generated
41
	 */
42
	protected XORGateImpl() {
43
		super();
44
	}
45
46
	/**
47
	 * <!-- begin-user-doc -->
48
	 * <!-- end-user-doc -->
49
	 * @generated
50
	 */
51
	protected EClass eStaticClass() {
52
		return SemanticPackage.eINSTANCE.getXORGate();
53
	}
54
55
	/**
56
	 * <!-- begin-user-doc -->
57
	 * <!-- end-user-doc -->
58
	 * @generated
59
	 */
60
	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
61
		if (featureID >= 0) {
62
			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
63
				case SemanticPackage.XOR_GATE__TERMINALS:
64
					return ((InternalEList)getTerminals()).basicRemove(otherEnd, msgs);
65
				default:
66
					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
67
			}
68
		}
69
		return eBasicSetContainer(null, featureID, msgs);
70
	}
71
72
	/**
73
	 * <!-- begin-user-doc -->
74
	 * <!-- end-user-doc -->
75
	 * @generated
76
	 */
77
	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
78
		switch (eDerivedStructuralFeatureID(eFeature)) {
79
			case SemanticPackage.XOR_GATE__TERMINALS:
80
				return getTerminals();
81
			case SemanticPackage.XOR_GATE__OUTPUT_TERMINALS:
82
				return getOutputTerminals();
83
			case SemanticPackage.XOR_GATE__INPUT_TERMINALS:
84
				return getInputTerminals();
85
		}
86
		return eDynamicGet(eFeature, resolve);
87
	}
88
89
	/**
90
	 * <!-- begin-user-doc -->
91
	 * <!-- end-user-doc -->
92
	 * @generated
93
	 */
94
	public void eSet(EStructuralFeature eFeature, Object newValue) {
95
		switch (eDerivedStructuralFeatureID(eFeature)) {
96
			case SemanticPackage.XOR_GATE__TERMINALS:
97
				getTerminals().clear();
98
				getTerminals().addAll((Collection)newValue);
99
				return;
100
		}
101
		eDynamicSet(eFeature, newValue);
102
	}
103
104
	/**
105
	 * <!-- begin-user-doc -->
106
	 * <!-- end-user-doc -->
107
	 * @generated
108
	 */
109
	public void eUnset(EStructuralFeature eFeature) {
110
		switch (eDerivedStructuralFeatureID(eFeature)) {
111
			case SemanticPackage.XOR_GATE__TERMINALS:
112
				getTerminals().clear();
113
				return;
114
		}
115
		eDynamicUnset(eFeature);
116
	}
117
118
	/**
119
	 * <!-- begin-user-doc -->
120
	 * <!-- end-user-doc -->
121
	 * @generated
122
	 */
123
	public boolean eIsSet(EStructuralFeature eFeature) {
124
		switch (eDerivedStructuralFeatureID(eFeature)) {
125
			case SemanticPackage.XOR_GATE__TERMINALS:
126
				return terminals != null && !terminals.isEmpty();
127
			case SemanticPackage.XOR_GATE__OUTPUT_TERMINALS:
128
				return !getOutputTerminals().isEmpty();
129
			case SemanticPackage.XOR_GATE__INPUT_TERMINALS:
130
				return !getInputTerminals().isEmpty();
131
		}
132
		return eDynamicIsSet(eFeature);
133
	}
134
135
} //XORGateImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/impl/CircuitImpl.java (-148 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.impl;
13
14
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Circuit;
15
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
16
17
import java.util.Collection;
18
19
import org.eclipse.emf.common.notify.NotificationChain;
20
21
import org.eclipse.emf.ecore.EClass;
22
import org.eclipse.emf.ecore.EStructuralFeature;
23
import org.eclipse.emf.ecore.InternalEObject;
24
25
import org.eclipse.emf.ecore.util.InternalEList;
26
27
/**
28
 * <!-- begin-user-doc -->
29
 * An implementation of the model object '<em><b>Circuit</b></em>'.
30
 * <!-- end-user-doc -->
31
 * <p>
32
 * </p>
33
 *
34
 * @generated
35
 */
36
public class CircuitImpl extends ContainerElementImpl implements Circuit {
37
	/**
38
	 * <!-- begin-user-doc -->
39
	 * <!-- end-user-doc -->
40
	 * @generated
41
	 */
42
	protected CircuitImpl() {
43
		super();
44
	}
45
46
	/**
47
	 * <!-- begin-user-doc -->
48
	 * <!-- end-user-doc -->
49
	 * @generated
50
	 */
51
	protected EClass eStaticClass() {
52
		return SemanticPackage.eINSTANCE.getCircuit();
53
	}
54
55
	/**
56
	 * <!-- begin-user-doc -->
57
	 * <!-- end-user-doc -->
58
	 * @generated
59
	 */
60
	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
61
		if (featureID >= 0) {
62
			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
63
				case SemanticPackage.CIRCUIT__TERMINALS:
64
					return ((InternalEList)getTerminals()).basicRemove(otherEnd, msgs);
65
				case SemanticPackage.CIRCUIT__CHILDREN:
66
					return ((InternalEList)getChildren()).basicRemove(otherEnd, msgs);
67
				default:
68
					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
69
			}
70
		}
71
		return eBasicSetContainer(null, featureID, msgs);
72
	}
73
74
	/**
75
	 * <!-- begin-user-doc -->
76
	 * <!-- end-user-doc -->
77
	 * @generated
78
	 */
79
	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
80
		switch (eDerivedStructuralFeatureID(eFeature)) {
81
			case SemanticPackage.CIRCUIT__TERMINALS:
82
				return getTerminals();
83
			case SemanticPackage.CIRCUIT__OUTPUT_TERMINALS:
84
				return getOutputTerminals();
85
			case SemanticPackage.CIRCUIT__INPUT_TERMINALS:
86
				return getInputTerminals();
87
			case SemanticPackage.CIRCUIT__CHILDREN:
88
				return getChildren();
89
		}
90
		return eDynamicGet(eFeature, resolve);
91
	}
92
93
	/**
94
	 * <!-- begin-user-doc -->
95
	 * <!-- end-user-doc -->
96
	 * @generated
97
	 */
98
	public void eSet(EStructuralFeature eFeature, Object newValue) {
99
		switch (eDerivedStructuralFeatureID(eFeature)) {
100
			case SemanticPackage.CIRCUIT__TERMINALS:
101
				getTerminals().clear();
102
				getTerminals().addAll((Collection)newValue);
103
				return;
104
			case SemanticPackage.CIRCUIT__CHILDREN:
105
				getChildren().clear();
106
				getChildren().addAll((Collection)newValue);
107
				return;
108
		}
109
		eDynamicSet(eFeature, newValue);
110
	}
111
112
	/**
113
	 * <!-- begin-user-doc -->
114
	 * <!-- end-user-doc -->
115
	 * @generated
116
	 */
117
	public void eUnset(EStructuralFeature eFeature) {
118
		switch (eDerivedStructuralFeatureID(eFeature)) {
119
			case SemanticPackage.CIRCUIT__TERMINALS:
120
				getTerminals().clear();
121
				return;
122
			case SemanticPackage.CIRCUIT__CHILDREN:
123
				getChildren().clear();
124
				return;
125
		}
126
		eDynamicUnset(eFeature);
127
	}
128
129
	/**
130
	 * <!-- begin-user-doc -->
131
	 * <!-- end-user-doc -->
132
	 * @generated
133
	 */
134
	public boolean eIsSet(EStructuralFeature eFeature) {
135
		switch (eDerivedStructuralFeatureID(eFeature)) {
136
			case SemanticPackage.CIRCUIT__TERMINALS:
137
				return terminals != null && !terminals.isEmpty();
138
			case SemanticPackage.CIRCUIT__OUTPUT_TERMINALS:
139
				return !getOutputTerminals().isEmpty();
140
			case SemanticPackage.CIRCUIT__INPUT_TERMINALS:
141
				return !getInputTerminals().isEmpty();
142
			case SemanticPackage.CIRCUIT__CHILDREN:
143
				return children != null && !children.isEmpty();
144
		}
145
		return eDynamicIsSet(eFeature);
146
	}
147
148
} //CircuitImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/impl/InputTerminalImpl.java (-143 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.impl;
13
14
import java.util.Collection;
15
16
import org.eclipse.emf.common.notify.NotificationChain;
17
import org.eclipse.emf.ecore.EClass;
18
import org.eclipse.emf.ecore.EStructuralFeature;
19
import org.eclipse.emf.ecore.InternalEObject;
20
import org.eclipse.emf.ecore.util.InternalEList;
21
22
import org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal;
23
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
24
25
/**
26
 * <!-- begin-user-doc -->
27
 * An implementation of the model object '<em><b>Input Terminal</b></em>'.
28
 * <!-- end-user-doc -->
29
 * <p>
30
 * </p>
31
 *
32
 * @generated
33
 */
34
public class InputTerminalImpl extends TerminalImpl implements InputTerminal {
35
	/**
36
	 * <!-- begin-user-doc -->
37
	 * <!-- end-user-doc -->
38
	 * @generated
39
	 */
40
	protected InputTerminalImpl() {
41
		super();
42
	}
43
44
	/**
45
	 * <!-- begin-user-doc -->
46
	 * <!-- end-user-doc -->
47
	 * @generated
48
	 */
49
	protected EClass eStaticClass() {
50
		return SemanticPackage.eINSTANCE.getInputTerminal();
51
	}
52
53
	/**
54
	 * <!-- begin-user-doc -->
55
	 * <!-- end-user-doc -->
56
	 * @generated
57
	 */
58
	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
59
		if (featureID >= 0) {
60
			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
61
				case SemanticPackage.INPUT_TERMINAL__TERMINALS:
62
					return ((InternalEList)getTerminals()).basicRemove(otherEnd, msgs);
63
				default:
64
					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
65
			}
66
		}
67
		return eBasicSetContainer(null, featureID, msgs);
68
	}
69
70
	/**
71
	 * <!-- begin-user-doc -->
72
	 * <!-- end-user-doc -->
73
	 * @generated
74
	 */
75
	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
76
		switch (eDerivedStructuralFeatureID(eFeature)) {
77
			case SemanticPackage.INPUT_TERMINAL__TERMINALS:
78
				return getTerminals();
79
			case SemanticPackage.INPUT_TERMINAL__OUTPUT_TERMINALS:
80
				return getOutputTerminals();
81
			case SemanticPackage.INPUT_TERMINAL__INPUT_TERMINALS:
82
				return getInputTerminals();
83
			case SemanticPackage.INPUT_TERMINAL__ID:
84
				return getId();
85
		}
86
		return eDynamicGet(eFeature, resolve);
87
	}
88
89
	/**
90
	 * <!-- begin-user-doc -->
91
	 * <!-- end-user-doc -->
92
	 * @generated
93
	 */
94
	public void eSet(EStructuralFeature eFeature, Object newValue) {
95
		switch (eDerivedStructuralFeatureID(eFeature)) {
96
			case SemanticPackage.INPUT_TERMINAL__TERMINALS:
97
				getTerminals().clear();
98
				getTerminals().addAll((Collection)newValue);
99
				return;
100
			case SemanticPackage.INPUT_TERMINAL__ID:
101
				setId((String)newValue);
102
				return;
103
		}
104
		eDynamicSet(eFeature, newValue);
105
	}
106
107
	/**
108
	 * <!-- begin-user-doc -->
109
	 * <!-- end-user-doc -->
110
	 * @generated
111
	 */
112
	public void eUnset(EStructuralFeature eFeature) {
113
		switch (eDerivedStructuralFeatureID(eFeature)) {
114
			case SemanticPackage.INPUT_TERMINAL__TERMINALS:
115
				getTerminals().clear();
116
				return;
117
			case SemanticPackage.INPUT_TERMINAL__ID:
118
				setId(ID_EDEFAULT);
119
				return;
120
		}
121
		eDynamicUnset(eFeature);
122
	}
123
124
	/**
125
	 * <!-- begin-user-doc -->
126
	 * <!-- end-user-doc -->
127
	 * @generated
128
	 */
129
	public boolean eIsSet(EStructuralFeature eFeature) {
130
		switch (eDerivedStructuralFeatureID(eFeature)) {
131
			case SemanticPackage.INPUT_TERMINAL__TERMINALS:
132
				return terminals != null && !terminals.isEmpty();
133
			case SemanticPackage.INPUT_TERMINAL__OUTPUT_TERMINALS:
134
				return !getOutputTerminals().isEmpty();
135
			case SemanticPackage.INPUT_TERMINAL__INPUT_TERMINALS:
136
				return !getInputTerminals().isEmpty();
137
			case SemanticPackage.INPUT_TERMINAL__ID:
138
				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
139
		}
140
		return eDynamicIsSet(eFeature);
141
	}
142
143
} //InputTerminalImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/impl/ContainerElementImpl.java (-178 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.impl;
13
14
import org.eclipse.gmf.examples.runtime.diagram.logic.model.ContainerElement;
15
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Element;
16
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
17
18
import java.util.Collection;
19
20
import org.eclipse.emf.common.notify.NotificationChain;
21
22
import org.eclipse.emf.common.util.EList;
23
24
import org.eclipse.emf.ecore.EClass;
25
import org.eclipse.emf.ecore.EStructuralFeature;
26
import org.eclipse.emf.ecore.InternalEObject;
27
28
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
29
import org.eclipse.emf.ecore.util.InternalEList;
30
31
/**
32
 * <!-- begin-user-doc -->
33
 * An implementation of the model object '<em><b>Container Element</b></em>'.
34
 * <!-- end-user-doc -->
35
 * <p>
36
 * The following features are implemented:
37
 * <ul>
38
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.ContainerElementImpl#getChildren <em>Children</em>}</li>
39
 * </ul>
40
 * </p>
41
 *
42
 * @generated
43
 */
44
public abstract class ContainerElementImpl extends ElementImpl implements ContainerElement {
45
	/**
46
	 * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list.
47
	 * <!-- begin-user-doc -->
48
	 * <!-- end-user-doc -->
49
	 * @see #getChildren()
50
	 * @generated
51
	 * @ordered
52
	 */
53
	protected EList children = null;
54
55
	/**
56
	 * <!-- begin-user-doc -->
57
	 * <!-- end-user-doc -->
58
	 * @generated
59
	 */
60
	protected ContainerElementImpl() {
61
		super();
62
	}
63
64
	/**
65
	 * <!-- begin-user-doc -->
66
	 * <!-- end-user-doc -->
67
	 * @generated
68
	 */
69
	protected EClass eStaticClass() {
70
		return SemanticPackage.eINSTANCE.getContainerElement();
71
	}
72
73
	/**
74
	 * <!-- begin-user-doc -->
75
	 * <!-- end-user-doc -->
76
	 * @generated
77
	 */
78
	public EList getChildren() {
79
		if (children == null) {
80
			children = new EObjectContainmentEList(Element.class, this, SemanticPackage.CONTAINER_ELEMENT__CHILDREN);
81
		}
82
		return children;
83
	}
84
85
	/**
86
	 * <!-- begin-user-doc -->
87
	 * <!-- end-user-doc -->
88
	 * @generated
89
	 */
90
	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
91
		if (featureID >= 0) {
92
			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
93
				case SemanticPackage.CONTAINER_ELEMENT__TERMINALS:
94
					return ((InternalEList)getTerminals()).basicRemove(otherEnd, msgs);
95
				case SemanticPackage.CONTAINER_ELEMENT__CHILDREN:
96
					return ((InternalEList)getChildren()).basicRemove(otherEnd, msgs);
97
				default:
98
					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
99
			}
100
		}
101
		return eBasicSetContainer(null, featureID, msgs);
102
	}
103
104
	/**
105
	 * <!-- begin-user-doc -->
106
	 * <!-- end-user-doc -->
107
	 * @generated
108
	 */
109
	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
110
		switch (eDerivedStructuralFeatureID(eFeature)) {
111
			case SemanticPackage.CONTAINER_ELEMENT__TERMINALS:
112
				return getTerminals();
113
			case SemanticPackage.CONTAINER_ELEMENT__OUTPUT_TERMINALS:
114
				return getOutputTerminals();
115
			case SemanticPackage.CONTAINER_ELEMENT__INPUT_TERMINALS:
116
				return getInputTerminals();
117
			case SemanticPackage.CONTAINER_ELEMENT__CHILDREN:
118
				return getChildren();
119
		}
120
		return eDynamicGet(eFeature, resolve);
121
	}
122
123
	/**
124
	 * <!-- begin-user-doc -->
125
	 * <!-- end-user-doc -->
126
	 * @generated
127
	 */
128
	public void eSet(EStructuralFeature eFeature, Object newValue) {
129
		switch (eDerivedStructuralFeatureID(eFeature)) {
130
			case SemanticPackage.CONTAINER_ELEMENT__TERMINALS:
131
				getTerminals().clear();
132
				getTerminals().addAll((Collection)newValue);
133
				return;
134
			case SemanticPackage.CONTAINER_ELEMENT__CHILDREN:
135
				getChildren().clear();
136
				getChildren().addAll((Collection)newValue);
137
				return;
138
		}
139
		eDynamicSet(eFeature, newValue);
140
	}
141
142
	/**
143
	 * <!-- begin-user-doc -->
144
	 * <!-- end-user-doc -->
145
	 * @generated
146
	 */
147
	public void eUnset(EStructuralFeature eFeature) {
148
		switch (eDerivedStructuralFeatureID(eFeature)) {
149
			case SemanticPackage.CONTAINER_ELEMENT__TERMINALS:
150
				getTerminals().clear();
151
				return;
152
			case SemanticPackage.CONTAINER_ELEMENT__CHILDREN:
153
				getChildren().clear();
154
				return;
155
		}
156
		eDynamicUnset(eFeature);
157
	}
158
159
	/**
160
	 * <!-- begin-user-doc -->
161
	 * <!-- end-user-doc -->
162
	 * @generated
163
	 */
164
	public boolean eIsSet(EStructuralFeature eFeature) {
165
		switch (eDerivedStructuralFeatureID(eFeature)) {
166
			case SemanticPackage.CONTAINER_ELEMENT__TERMINALS:
167
				return terminals != null && !terminals.isEmpty();
168
			case SemanticPackage.CONTAINER_ELEMENT__OUTPUT_TERMINALS:
169
				return !getOutputTerminals().isEmpty();
170
			case SemanticPackage.CONTAINER_ELEMENT__INPUT_TERMINALS:
171
				return !getInputTerminals().isEmpty();
172
			case SemanticPackage.CONTAINER_ELEMENT__CHILDREN:
173
				return children != null && !children.isEmpty();
174
		}
175
		return eDynamicIsSet(eFeature);
176
	}
177
178
} //ContainerElementImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/impl/AndGateImpl.java (-135 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.impl;
13
14
import org.eclipse.gmf.examples.runtime.diagram.logic.model.AndGate;
15
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
16
17
import java.util.Collection;
18
19
import org.eclipse.emf.common.notify.NotificationChain;
20
21
import org.eclipse.emf.ecore.EClass;
22
import org.eclipse.emf.ecore.EStructuralFeature;
23
import org.eclipse.emf.ecore.InternalEObject;
24
25
import org.eclipse.emf.ecore.util.InternalEList;
26
27
/**
28
 * <!-- begin-user-doc -->
29
 * An implementation of the model object '<em><b>And Gate</b></em>'.
30
 * <!-- end-user-doc -->
31
 * <p>
32
 * </p>
33
 *
34
 * @generated
35
 */
36
public class AndGateImpl extends GateImpl implements AndGate {
37
	/**
38
	 * <!-- begin-user-doc -->
39
	 * <!-- end-user-doc -->
40
	 * @generated
41
	 */
42
	protected AndGateImpl() {
43
		super();
44
	}
45
46
	/**
47
	 * <!-- begin-user-doc -->
48
	 * <!-- end-user-doc -->
49
	 * @generated
50
	 */
51
	protected EClass eStaticClass() {
52
		return SemanticPackage.eINSTANCE.getAndGate();
53
	}
54
55
	/**
56
	 * <!-- begin-user-doc -->
57
	 * <!-- end-user-doc -->
58
	 * @generated
59
	 */
60
	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
61
		if (featureID >= 0) {
62
			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
63
				case SemanticPackage.AND_GATE__TERMINALS:
64
					return ((InternalEList)getTerminals()).basicRemove(otherEnd, msgs);
65
				default:
66
					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
67
			}
68
		}
69
		return eBasicSetContainer(null, featureID, msgs);
70
	}
71
72
	/**
73
	 * <!-- begin-user-doc -->
74
	 * <!-- end-user-doc -->
75
	 * @generated
76
	 */
77
	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
78
		switch (eDerivedStructuralFeatureID(eFeature)) {
79
			case SemanticPackage.AND_GATE__TERMINALS:
80
				return getTerminals();
81
			case SemanticPackage.AND_GATE__OUTPUT_TERMINALS:
82
				return getOutputTerminals();
83
			case SemanticPackage.AND_GATE__INPUT_TERMINALS:
84
				return getInputTerminals();
85
		}
86
		return eDynamicGet(eFeature, resolve);
87
	}
88
89
	/**
90
	 * <!-- begin-user-doc -->
91
	 * <!-- end-user-doc -->
92
	 * @generated
93
	 */
94
	public void eSet(EStructuralFeature eFeature, Object newValue) {
95
		switch (eDerivedStructuralFeatureID(eFeature)) {
96
			case SemanticPackage.AND_GATE__TERMINALS:
97
				getTerminals().clear();
98
				getTerminals().addAll((Collection)newValue);
99
				return;
100
		}
101
		eDynamicSet(eFeature, newValue);
102
	}
103
104
	/**
105
	 * <!-- begin-user-doc -->
106
	 * <!-- end-user-doc -->
107
	 * @generated
108
	 */
109
	public void eUnset(EStructuralFeature eFeature) {
110
		switch (eDerivedStructuralFeatureID(eFeature)) {
111
			case SemanticPackage.AND_GATE__TERMINALS:
112
				getTerminals().clear();
113
				return;
114
		}
115
		eDynamicUnset(eFeature);
116
	}
117
118
	/**
119
	 * <!-- begin-user-doc -->
120
	 * <!-- end-user-doc -->
121
	 * @generated
122
	 */
123
	public boolean eIsSet(EStructuralFeature eFeature) {
124
		switch (eDerivedStructuralFeatureID(eFeature)) {
125
			case SemanticPackage.AND_GATE__TERMINALS:
126
				return terminals != null && !terminals.isEmpty();
127
			case SemanticPackage.AND_GATE__OUTPUT_TERMINALS:
128
				return !getOutputTerminals().isEmpty();
129
			case SemanticPackage.AND_GATE__INPUT_TERMINALS:
130
				return !getInputTerminals().isEmpty();
131
		}
132
		return eDynamicIsSet(eFeature);
133
	}
134
135
} //AndGateImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/impl/WireImpl.java (-260 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.impl;
13
14
import java.util.Collection;
15
16
import org.eclipse.emf.common.notify.Notification;
17
import org.eclipse.emf.common.notify.NotificationChain;
18
import org.eclipse.emf.ecore.EClass;
19
import org.eclipse.emf.ecore.EStructuralFeature;
20
import org.eclipse.emf.ecore.InternalEObject;
21
import org.eclipse.emf.ecore.impl.ENotificationImpl;
22
import org.eclipse.emf.ecore.util.InternalEList;
23
24
import org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.model.OutputTerminal;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
27
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire;
28
29
/**
30
 * <!-- begin-user-doc -->
31
 * An implementation of the model object '<em><b>Wire</b></em>'.
32
 * <!-- end-user-doc -->
33
 * <p>
34
 * The following features are implemented:
35
 * <ul>
36
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.WireImpl#getSource <em>Source</em>}</li>
37
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.WireImpl#getTarget <em>Target</em>}</li>
38
 * </ul>
39
 * </p>
40
 *
41
 * @generated
42
 */
43
public class WireImpl extends ElementImpl implements Wire {
44
	/**
45
	 * The cached value of the '{@link #getSource() <em>Source</em>}' reference.
46
	 * <!-- begin-user-doc -->
47
	 * <!-- end-user-doc -->
48
	 * @see #getSource()
49
	 * @generated
50
	 * @ordered
51
	 */
52
	protected OutputTerminal source = null;
53
54
	/**
55
	 * The cached value of the '{@link #getTarget() <em>Target</em>}' reference.
56
	 * <!-- begin-user-doc -->
57
	 * <!-- end-user-doc -->
58
	 * @see #getTarget()
59
	 * @generated
60
	 * @ordered
61
	 */
62
	protected InputTerminal target = null;
63
64
	/**
65
	 * <!-- begin-user-doc -->
66
	 * <!-- end-user-doc -->
67
	 * @generated
68
	 */
69
	protected WireImpl() {
70
		super();
71
	}
72
73
	/**
74
	 * <!-- begin-user-doc -->
75
	 * <!-- end-user-doc -->
76
	 * @generated
77
	 */
78
	protected EClass eStaticClass() {
79
		return SemanticPackage.eINSTANCE.getWire();
80
	}
81
82
	/**
83
	 * <!-- begin-user-doc -->
84
	 * <!-- end-user-doc -->
85
	 * @generated
86
	 */
87
	public OutputTerminal getSource() {
88
		if (source != null && source.eIsProxy()) {
89
			OutputTerminal oldSource = source;
90
			source = (OutputTerminal)eResolveProxy((InternalEObject)source);
91
			if (source != oldSource) {
92
				if (eNotificationRequired())
93
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, SemanticPackage.WIRE__SOURCE, oldSource, source));
94
			}
95
		}
96
		return source;
97
	}
98
99
	/**
100
	 * <!-- begin-user-doc -->
101
	 * <!-- end-user-doc -->
102
	 * @generated
103
	 */
104
	public OutputTerminal basicGetSource() {
105
		return source;
106
	}
107
108
	/**
109
	 * <!-- begin-user-doc -->
110
	 * <!-- end-user-doc -->
111
	 * @generated
112
	 */
113
	public void setSource(OutputTerminal newSource) {
114
		OutputTerminal oldSource = source;
115
		source = newSource;
116
		if (eNotificationRequired())
117
			eNotify(new ENotificationImpl(this, Notification.SET, SemanticPackage.WIRE__SOURCE, oldSource, source));
118
	}
119
120
	/**
121
	 * <!-- begin-user-doc -->
122
	 * <!-- end-user-doc -->
123
	 * @generated
124
	 */
125
	public InputTerminal getTarget() {
126
		if (target != null && target.eIsProxy()) {
127
			InputTerminal oldTarget = target;
128
			target = (InputTerminal)eResolveProxy((InternalEObject)target);
129
			if (target != oldTarget) {
130
				if (eNotificationRequired())
131
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, SemanticPackage.WIRE__TARGET, oldTarget, target));
132
			}
133
		}
134
		return target;
135
	}
136
137
	/**
138
	 * <!-- begin-user-doc -->
139
	 * <!-- end-user-doc -->
140
	 * @generated
141
	 */
142
	public InputTerminal basicGetTarget() {
143
		return target;
144
	}
145
146
	/**
147
	 * <!-- begin-user-doc -->
148
	 * <!-- end-user-doc -->
149
	 * @generated
150
	 */
151
	public void setTarget(InputTerminal newTarget) {
152
		InputTerminal oldTarget = target;
153
		target = newTarget;
154
		if (eNotificationRequired())
155
			eNotify(new ENotificationImpl(this, Notification.SET, SemanticPackage.WIRE__TARGET, oldTarget, target));
156
	}
157
158
	/**
159
	 * <!-- begin-user-doc -->
160
	 * <!-- end-user-doc -->
161
	 * @generated
162
	 */
163
	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
164
		if (featureID >= 0) {
165
			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
166
				case SemanticPackage.WIRE__TERMINALS:
167
					return ((InternalEList)getTerminals()).basicRemove(otherEnd, msgs);
168
				default:
169
					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
170
			}
171
		}
172
		return eBasicSetContainer(null, featureID, msgs);
173
	}
174
175
	/**
176
	 * <!-- begin-user-doc -->
177
	 * <!-- end-user-doc -->
178
	 * @generated
179
	 */
180
	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
181
		switch (eDerivedStructuralFeatureID(eFeature)) {
182
			case SemanticPackage.WIRE__TERMINALS:
183
				return getTerminals();
184
			case SemanticPackage.WIRE__OUTPUT_TERMINALS:
185
				return getOutputTerminals();
186
			case SemanticPackage.WIRE__INPUT_TERMINALS:
187
				return getInputTerminals();
188
			case SemanticPackage.WIRE__SOURCE:
189
				if (resolve) return getSource();
190
				return basicGetSource();
191
			case SemanticPackage.WIRE__TARGET:
192
				if (resolve) return getTarget();
193
				return basicGetTarget();
194
		}
195
		return eDynamicGet(eFeature, resolve);
196
	}
197
198
	/**
199
	 * <!-- begin-user-doc -->
200
	 * <!-- end-user-doc -->
201
	 * @generated
202
	 */
203
	public void eSet(EStructuralFeature eFeature, Object newValue) {
204
		switch (eDerivedStructuralFeatureID(eFeature)) {
205
			case SemanticPackage.WIRE__TERMINALS:
206
				getTerminals().clear();
207
				getTerminals().addAll((Collection)newValue);
208
				return;
209
			case SemanticPackage.WIRE__SOURCE:
210
				setSource((OutputTerminal)newValue);
211
				return;
212
			case SemanticPackage.WIRE__TARGET:
213
				setTarget((InputTerminal)newValue);
214
				return;
215
		}
216
		eDynamicSet(eFeature, newValue);
217
	}
218
219
	/**
220
	 * <!-- begin-user-doc -->
221
	 * <!-- end-user-doc -->
222
	 * @generated
223
	 */
224
	public void eUnset(EStructuralFeature eFeature) {
225
		switch (eDerivedStructuralFeatureID(eFeature)) {
226
			case SemanticPackage.WIRE__TERMINALS:
227
				getTerminals().clear();
228
				return;
229
			case SemanticPackage.WIRE__SOURCE:
230
				setSource((OutputTerminal)null);
231
				return;
232
			case SemanticPackage.WIRE__TARGET:
233
				setTarget((InputTerminal)null);
234
				return;
235
		}
236
		eDynamicUnset(eFeature);
237
	}
238
239
	/**
240
	 * <!-- begin-user-doc -->
241
	 * <!-- end-user-doc -->
242
	 * @generated
243
	 */
244
	public boolean eIsSet(EStructuralFeature eFeature) {
245
		switch (eDerivedStructuralFeatureID(eFeature)) {
246
			case SemanticPackage.WIRE__TERMINALS:
247
				return terminals != null && !terminals.isEmpty();
248
			case SemanticPackage.WIRE__OUTPUT_TERMINALS:
249
				return !getOutputTerminals().isEmpty();
250
			case SemanticPackage.WIRE__INPUT_TERMINALS:
251
				return !getInputTerminals().isEmpty();
252
			case SemanticPackage.WIRE__SOURCE:
253
				return source != null;
254
			case SemanticPackage.WIRE__TARGET:
255
				return target != null;
256
		}
257
		return eDynamicIsSet(eFeature);
258
	}
259
260
} //WireImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/impl/SemanticPackageImpl.java (-576 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.impl;
13
14
import org.eclipse.gmf.examples.runtime.diagram.logic.model.AndGate;
15
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Circuit;
16
import org.eclipse.gmf.examples.runtime.diagram.logic.model.ContainerElement;
17
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Element;
18
import org.eclipse.gmf.examples.runtime.diagram.logic.model.FlowContainer;
19
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Gate;
20
import org.eclipse.gmf.examples.runtime.diagram.logic.model.InputOutputTerminal;
21
import org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.model.LED;
23
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Model;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.model.OrGate;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.model.OutputTerminal;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticFactory;
27
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
28
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal;
29
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire;
30
import org.eclipse.gmf.examples.runtime.diagram.logic.model.XORGate;
31
32
import org.eclipse.emf.ecore.EAttribute;
33
import org.eclipse.emf.ecore.EClass;
34
import org.eclipse.emf.ecore.EPackage;
35
import org.eclipse.emf.ecore.EReference;
36
37
import org.eclipse.emf.ecore.impl.EPackageImpl;
38
39
/**
40
 * <!-- begin-user-doc -->
41
 * An implementation of the model <b>Package</b>.
42
 * <!-- end-user-doc -->
43
 * @generated
44
 */
45
public class SemanticPackageImpl extends EPackageImpl implements SemanticPackage {
46
	/**
47
	 * <!-- begin-user-doc -->
48
	 * <!-- end-user-doc -->
49
	 * @generated
50
	 */
51
	private EClass ledEClass = null;
52
53
	/**
54
	 * <!-- begin-user-doc -->
55
	 * <!-- end-user-doc -->
56
	 * @generated
57
	 */
58
	private EClass elementEClass = null;
59
60
	/**
61
	 * <!-- begin-user-doc -->
62
	 * <!-- end-user-doc -->
63
	 * @generated
64
	 */
65
	private EClass wireEClass = null;
66
67
	/**
68
	 * <!-- begin-user-doc -->
69
	 * <!-- end-user-doc -->
70
	 * @generated
71
	 */
72
	private EClass circuitEClass = null;
73
74
	/**
75
	 * <!-- begin-user-doc -->
76
	 * <!-- end-user-doc -->
77
	 * @generated
78
	 */
79
	private EClass gateEClass = null;
80
81
	/**
82
	 * <!-- begin-user-doc -->
83
	 * <!-- end-user-doc -->
84
	 * @generated
85
	 */
86
	private EClass flowContainerEClass = null;
87
88
	/**
89
	 * <!-- begin-user-doc -->
90
	 * <!-- end-user-doc -->
91
	 * @generated
92
	 */
93
	private EClass andGateEClass = null;
94
95
	/**
96
	 * <!-- begin-user-doc -->
97
	 * <!-- end-user-doc -->
98
	 * @generated
99
	 */
100
	private EClass orGateEClass = null;
101
102
	/**
103
	 * <!-- begin-user-doc -->
104
	 * <!-- end-user-doc -->
105
	 * @generated
106
	 */
107
	private EClass xorGateEClass = null;
108
109
	/**
110
	 * <!-- begin-user-doc -->
111
	 * <!-- end-user-doc -->
112
	 * @generated
113
	 */
114
	private EClass modelEClass = null;
115
116
	/**
117
	 * <!-- begin-user-doc -->
118
	 * <!-- end-user-doc -->
119
	 * @generated
120
	 */
121
	private EClass containerElementEClass = null;
122
123
	/**
124
	 * <!-- begin-user-doc -->
125
	 * <!-- end-user-doc -->
126
	 * @generated
127
	 */
128
	private EClass terminalEClass = null;
129
130
	/**
131
	 * <!-- begin-user-doc -->
132
	 * <!-- end-user-doc -->
133
	 * @generated
134
	 */
135
	private EClass outputTerminalEClass = null;
136
137
	/**
138
	 * <!-- begin-user-doc -->
139
	 * <!-- end-user-doc -->
140
	 * @generated
141
	 */
142
	private EClass inputTerminalEClass = null;
143
144
	/**
145
	 * <!-- begin-user-doc -->
146
	 * <!-- end-user-doc -->
147
	 * @generated
148
	 */
149
	private EClass inputOutputTerminalEClass = null;
150
151
	/**
152
	 * Creates an instance of the model <b>Package</b>, registered with
153
	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
154
	 * package URI value.
155
	 * <p>Note: the correct way to create the package is via the static
156
	 * factory method {@link #init init()}, which also performs
157
	 * initialization of the package, or returns the registered package,
158
	 * if one already exists.
159
	 * <!-- begin-user-doc -->
160
	 * <!-- end-user-doc -->
161
	 * @see org.eclipse.emf.ecore.EPackage.Registry
162
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#eNS_URI
163
	 * @see #init()
164
	 * @generated
165
	 */
166
	private SemanticPackageImpl() {
167
		super(eNS_URI, SemanticFactory.eINSTANCE);
168
	}
169
170
	/**
171
	 * <!-- begin-user-doc -->
172
	 * <!-- end-user-doc -->
173
	 * @generated
174
	 */
175
	private static boolean isInited = false;
176
177
	/**
178
	 * Creates, registers, and initializes the <b>Package</b> for this
179
	 * model, and for any others upon which it depends.  Simple
180
	 * dependencies are satisfied by calling this method on all
181
	 * dependent packages before doing anything else.  This method drives
182
	 * initialization for interdependent packages directly, in parallel
183
	 * with this package, itself.
184
	 * <p>Of this package and its interdependencies, all packages which
185
	 * have not yet been registered by their URI values are first created
186
	 * and registered.  The packages are then initialized in two steps:
187
	 * meta-model objects for all of the packages are created before any
188
	 * are initialized, since one package's meta-model objects may refer to
189
	 * those of another.
190
	 * <p>Invocation of this method will not affect any packages that have
191
	 * already been initialized.
192
	 * <!-- begin-user-doc -->
193
	 * <!-- end-user-doc -->
194
	 * @see #eNS_URI
195
	 * @see #createPackageContents()
196
	 * @see #initializePackageContents()
197
	 * @generated
198
	 */
199
	public static SemanticPackage init() {
200
		if (isInited) return (SemanticPackage)EPackage.Registry.INSTANCE.getEPackage(SemanticPackage.eNS_URI);
201
202
		// Obtain or create and register package
203
		SemanticPackageImpl theSemanticPackage = (SemanticPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof SemanticPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new SemanticPackageImpl());
204
205
		isInited = true;
206
207
		// Create package meta-data objects
208
		theSemanticPackage.createPackageContents();
209
210
		// Initialize created meta-data
211
		theSemanticPackage.initializePackageContents();
212
213
		// Mark meta-data to indicate it can't be changed
214
		theSemanticPackage.freeze();
215
216
		return theSemanticPackage;
217
	}
218
219
	/**
220
	 * <!-- begin-user-doc -->
221
	 * <!-- end-user-doc -->
222
	 * @generated
223
	 */
224
	public EClass getLED() {
225
		return ledEClass;
226
	}
227
228
	/**
229
	 * <!-- begin-user-doc -->
230
	 * <!-- end-user-doc -->
231
	 * @generated
232
	 */
233
	public EAttribute getLED_Value() {
234
		return (EAttribute)ledEClass.getEStructuralFeatures().get(0);
235
	}
236
237
	/**
238
	 * <!-- begin-user-doc -->
239
	 * <!-- end-user-doc -->
240
	 * @generated
241
	 */
242
	public EClass getElement() {
243
		return elementEClass;
244
	}
245
246
	/**
247
	 * <!-- begin-user-doc -->
248
	 * <!-- end-user-doc -->
249
	 * @generated
250
	 */
251
	public EReference getElement_Terminals() {
252
		return (EReference)elementEClass.getEStructuralFeatures().get(0);
253
	}
254
255
	/**
256
	 * <!-- begin-user-doc -->
257
	 * <!-- end-user-doc -->
258
	 * @generated
259
	 */
260
	public EReference getElement_OutputTerminals() {
261
		return (EReference)elementEClass.getEStructuralFeatures().get(1);
262
	}
263
264
	/**
265
	 * <!-- begin-user-doc -->
266
	 * <!-- end-user-doc -->
267
	 * @generated
268
	 */
269
	public EReference getElement_InputTerminals() {
270
		return (EReference)elementEClass.getEStructuralFeatures().get(2);
271
	}
272
273
	/**
274
	 * <!-- begin-user-doc -->
275
	 * <!-- end-user-doc -->
276
	 * @generated
277
	 */
278
	public EClass getWire() {
279
		return wireEClass;
280
	}
281
282
	/**
283
	 * <!-- begin-user-doc -->
284
	 * <!-- end-user-doc -->
285
	 * @generated
286
	 */
287
	public EReference getWire_Source() {
288
		return (EReference)wireEClass.getEStructuralFeatures().get(0);
289
	}
290
291
	/**
292
	 * <!-- begin-user-doc -->
293
	 * <!-- end-user-doc -->
294
	 * @generated
295
	 */
296
	public EReference getWire_Target() {
297
		return (EReference)wireEClass.getEStructuralFeatures().get(1);
298
	}
299
300
	/**
301
	 * <!-- begin-user-doc -->
302
	 * <!-- end-user-doc -->
303
	 * @generated
304
	 */
305
	public EClass getCircuit() {
306
		return circuitEClass;
307
	}
308
309
	/**
310
	 * <!-- begin-user-doc -->
311
	 * <!-- end-user-doc -->
312
	 * @generated
313
	 */
314
	public EClass getGate() {
315
		return gateEClass;
316
	}
317
318
	/**
319
	 * <!-- begin-user-doc -->
320
	 * <!-- end-user-doc -->
321
	 * @generated
322
	 */
323
	public EClass getFlowContainer() {
324
		return flowContainerEClass;
325
	}
326
327
	/**
328
	 * <!-- begin-user-doc -->
329
	 * <!-- end-user-doc -->
330
	 * @generated
331
	 */
332
	public EClass getAndGate() {
333
		return andGateEClass;
334
	}
335
336
	/**
337
	 * <!-- begin-user-doc -->
338
	 * <!-- end-user-doc -->
339
	 * @generated
340
	 */
341
	public EClass getOrGate() {
342
		return orGateEClass;
343
	}
344
345
	/**
346
	 * <!-- begin-user-doc -->
347
	 * <!-- end-user-doc -->
348
	 * @generated
349
	 */
350
	public EClass getXORGate() {
351
		return xorGateEClass;
352
	}
353
354
	/**
355
	 * <!-- begin-user-doc -->
356
	 * <!-- end-user-doc -->
357
	 * @generated
358
	 */
359
	public EClass getModel() {
360
		return modelEClass;
361
	}
362
363
	/**
364
	 * <!-- begin-user-doc -->
365
	 * <!-- end-user-doc -->
366
	 * @generated
367
	 */
368
	public EClass getContainerElement() {
369
		return containerElementEClass;
370
	}
371
372
	/**
373
	 * <!-- begin-user-doc -->
374
	 * <!-- end-user-doc -->
375
	 * @generated
376
	 */
377
	public EReference getContainerElement_Children() {
378
		return (EReference)containerElementEClass.getEStructuralFeatures().get(0);
379
	}
380
381
	/**
382
	 * <!-- begin-user-doc -->
383
	 * <!-- end-user-doc -->
384
	 * @generated
385
	 */
386
	public EClass getTerminal() {
387
		return terminalEClass;
388
	}
389
390
	/**
391
	 * <!-- begin-user-doc -->
392
	 * <!-- end-user-doc -->
393
	 * @generated
394
	 */
395
	public EAttribute getTerminal_Id() {
396
		return (EAttribute)terminalEClass.getEStructuralFeatures().get(0);
397
	}
398
399
	/**
400
	 * <!-- begin-user-doc -->
401
	 * <!-- end-user-doc -->
402
	 * @generated
403
	 */
404
	public EClass getOutputTerminal() {
405
		return outputTerminalEClass;
406
	}
407
408
	/**
409
	 * <!-- begin-user-doc -->
410
	 * <!-- end-user-doc -->
411
	 * @generated
412
	 */
413
	public EClass getInputTerminal() {
414
		return inputTerminalEClass;
415
	}
416
417
	/**
418
	 * <!-- begin-user-doc -->
419
	 * <!-- end-user-doc -->
420
	 * @generated
421
	 */
422
	public EClass getInputOutputTerminal() {
423
		return inputOutputTerminalEClass;
424
	}
425
426
	/**
427
	 * <!-- begin-user-doc -->
428
	 * <!-- end-user-doc -->
429
	 * @generated
430
	 */
431
	public SemanticFactory getSemanticFactory() {
432
		return (SemanticFactory)getEFactoryInstance();
433
	}
434
435
	/**
436
	 * <!-- begin-user-doc -->
437
	 * <!-- end-user-doc -->
438
	 * @generated
439
	 */
440
	private boolean isCreated = false;
441
442
	/**
443
	 * Creates the meta-model objects for the package.  This method is
444
	 * guarded to have no affect on any invocation but its first.
445
	 * <!-- begin-user-doc -->
446
	 * <!-- end-user-doc -->
447
	 * @generated
448
	 */
449
	public void createPackageContents() {
450
		if (isCreated) return;
451
		isCreated = true;
452
453
		// Create classes and their features
454
		ledEClass = createEClass(LED);
455
		createEAttribute(ledEClass, LED__VALUE);
456
457
		elementEClass = createEClass(ELEMENT);
458
		createEReference(elementEClass, ELEMENT__TERMINALS);
459
		createEReference(elementEClass, ELEMENT__OUTPUT_TERMINALS);
460
		createEReference(elementEClass, ELEMENT__INPUT_TERMINALS);
461
462
		wireEClass = createEClass(WIRE);
463
		createEReference(wireEClass, WIRE__SOURCE);
464
		createEReference(wireEClass, WIRE__TARGET);
465
466
		circuitEClass = createEClass(CIRCUIT);
467
468
		gateEClass = createEClass(GATE);
469
470
		flowContainerEClass = createEClass(FLOW_CONTAINER);
471
472
		andGateEClass = createEClass(AND_GATE);
473
474
		orGateEClass = createEClass(OR_GATE);
475
476
		xorGateEClass = createEClass(XOR_GATE);
477
478
		modelEClass = createEClass(MODEL);
479
480
		containerElementEClass = createEClass(CONTAINER_ELEMENT);
481
		createEReference(containerElementEClass, CONTAINER_ELEMENT__CHILDREN);
482
483
		terminalEClass = createEClass(TERMINAL);
484
		createEAttribute(terminalEClass, TERMINAL__ID);
485
486
		outputTerminalEClass = createEClass(OUTPUT_TERMINAL);
487
488
		inputTerminalEClass = createEClass(INPUT_TERMINAL);
489
490
		inputOutputTerminalEClass = createEClass(INPUT_OUTPUT_TERMINAL);
491
	}
492
493
	/**
494
	 * <!-- begin-user-doc -->
495
	 * <!-- end-user-doc -->
496
	 * @generated
497
	 */
498
	private boolean isInitialized = false;
499
500
	/**
501
	 * Complete the initialization of the package and its meta-model.  This
502
	 * method is guarded to have no affect on any invocation but its first.
503
	 * <!-- begin-user-doc -->
504
	 * <!-- end-user-doc -->
505
	 * @generated
506
	 */
507
	public void initializePackageContents() {
508
		if (isInitialized) return;
509
		isInitialized = true;
510
511
		// Initialize package
512
		setName(eNAME);
513
		setNsPrefix(eNS_PREFIX);
514
		setNsURI(eNS_URI);
515
516
		// Add supertypes to classes
517
		ledEClass.getESuperTypes().add(this.getElement());
518
		wireEClass.getESuperTypes().add(this.getElement());
519
		circuitEClass.getESuperTypes().add(this.getContainerElement());
520
		gateEClass.getESuperTypes().add(this.getElement());
521
		flowContainerEClass.getESuperTypes().add(this.getContainerElement());
522
		andGateEClass.getESuperTypes().add(this.getGate());
523
		orGateEClass.getESuperTypes().add(this.getGate());
524
		xorGateEClass.getESuperTypes().add(this.getGate());
525
		modelEClass.getESuperTypes().add(this.getContainerElement());
526
		containerElementEClass.getESuperTypes().add(this.getElement());
527
		terminalEClass.getESuperTypes().add(this.getElement());
528
		outputTerminalEClass.getESuperTypes().add(this.getTerminal());
529
		inputTerminalEClass.getESuperTypes().add(this.getTerminal());
530
		inputOutputTerminalEClass.getESuperTypes().add(this.getOutputTerminal());
531
		inputOutputTerminalEClass.getESuperTypes().add(this.getInputTerminal());
532
533
		// Initialize classes and features; add operations and parameters
534
		initEClass(ledEClass, LED.class, "LED", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
535
		initEAttribute(getLED_Value(), ecorePackage.getEInt(), "value", "0", 0, 1, LED.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);  //$NON-NLS-1$//$NON-NLS-2$
536
537
		initEClass(elementEClass, Element.class, "Element", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
538
		initEReference(getElement_Terminals(), this.getTerminal(), null, "terminals", null, 0, -1, Element.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
539
		initEReference(getElement_OutputTerminals(), this.getTerminal(), null, "outputTerminals", null, 0, -1, Element.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
540
		initEReference(getElement_InputTerminals(), this.getTerminal(), null, "inputTerminals", null, 0, -1, Element.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
541
542
		initEClass(wireEClass, Wire.class, "Wire", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
543
		initEReference(getWire_Source(), this.getOutputTerminal(), null, "source", null, 1, 1, Wire.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
544
		initEReference(getWire_Target(), this.getInputTerminal(), null, "target", null, 1, 1, Wire.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
545
546
		initEClass(circuitEClass, Circuit.class, "Circuit", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
547
548
		initEClass(gateEClass, Gate.class, "Gate", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
549
550
		initEClass(flowContainerEClass, FlowContainer.class, "FlowContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
551
552
		initEClass(andGateEClass, AndGate.class, "AndGate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
553
554
		initEClass(orGateEClass, OrGate.class, "OrGate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
555
556
		initEClass(xorGateEClass, XORGate.class, "XORGate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
557
558
		initEClass(modelEClass, Model.class, "Model", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
559
560
		initEClass(containerElementEClass, ContainerElement.class, "ContainerElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
561
		initEReference(getContainerElement_Children(), this.getElement(), null, "children", null, 0, -1, ContainerElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
562
563
		initEClass(terminalEClass, Terminal.class, "Terminal", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
564
		initEAttribute(getTerminal_Id(), ecorePackage.getEString(), "id", "", 0, 1, Terminal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
565
566
		initEClass(outputTerminalEClass, OutputTerminal.class, "OutputTerminal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
567
568
		initEClass(inputTerminalEClass, InputTerminal.class, "InputTerminal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
569
570
		initEClass(inputOutputTerminalEClass, InputOutputTerminal.class, "InputOutputTerminal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
571
572
		// Create resource
573
		createResource(eNS_URI);
574
	}
575
576
} //SemanticPackageImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/impl/OrGateImpl.java (-135 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.impl;
13
14
import org.eclipse.gmf.examples.runtime.diagram.logic.model.OrGate;
15
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
16
17
import java.util.Collection;
18
19
import org.eclipse.emf.common.notify.NotificationChain;
20
21
import org.eclipse.emf.ecore.EClass;
22
import org.eclipse.emf.ecore.EStructuralFeature;
23
import org.eclipse.emf.ecore.InternalEObject;
24
25
import org.eclipse.emf.ecore.util.InternalEList;
26
27
/**
28
 * <!-- begin-user-doc -->
29
 * An implementation of the model object '<em><b>Or Gate</b></em>'.
30
 * <!-- end-user-doc -->
31
 * <p>
32
 * </p>
33
 *
34
 * @generated
35
 */
36
public class OrGateImpl extends GateImpl implements OrGate {
37
	/**
38
	 * <!-- begin-user-doc -->
39
	 * <!-- end-user-doc -->
40
	 * @generated
41
	 */
42
	protected OrGateImpl() {
43
		super();
44
	}
45
46
	/**
47
	 * <!-- begin-user-doc -->
48
	 * <!-- end-user-doc -->
49
	 * @generated
50
	 */
51
	protected EClass eStaticClass() {
52
		return SemanticPackage.eINSTANCE.getOrGate();
53
	}
54
55
	/**
56
	 * <!-- begin-user-doc -->
57
	 * <!-- end-user-doc -->
58
	 * @generated
59
	 */
60
	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
61
		if (featureID >= 0) {
62
			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
63
				case SemanticPackage.OR_GATE__TERMINALS:
64
					return ((InternalEList)getTerminals()).basicRemove(otherEnd, msgs);
65
				default:
66
					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
67
			}
68
		}
69
		return eBasicSetContainer(null, featureID, msgs);
70
	}
71
72
	/**
73
	 * <!-- begin-user-doc -->
74
	 * <!-- end-user-doc -->
75
	 * @generated
76
	 */
77
	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
78
		switch (eDerivedStructuralFeatureID(eFeature)) {
79
			case SemanticPackage.OR_GATE__TERMINALS:
80
				return getTerminals();
81
			case SemanticPackage.OR_GATE__OUTPUT_TERMINALS:
82
				return getOutputTerminals();
83
			case SemanticPackage.OR_GATE__INPUT_TERMINALS:
84
				return getInputTerminals();
85
		}
86
		return eDynamicGet(eFeature, resolve);
87
	}
88
89
	/**
90
	 * <!-- begin-user-doc -->
91
	 * <!-- end-user-doc -->
92
	 * @generated
93
	 */
94
	public void eSet(EStructuralFeature eFeature, Object newValue) {
95
		switch (eDerivedStructuralFeatureID(eFeature)) {
96
			case SemanticPackage.OR_GATE__TERMINALS:
97
				getTerminals().clear();
98
				getTerminals().addAll((Collection)newValue);
99
				return;
100
		}
101
		eDynamicSet(eFeature, newValue);
102
	}
103
104
	/**
105
	 * <!-- begin-user-doc -->
106
	 * <!-- end-user-doc -->
107
	 * @generated
108
	 */
109
	public void eUnset(EStructuralFeature eFeature) {
110
		switch (eDerivedStructuralFeatureID(eFeature)) {
111
			case SemanticPackage.OR_GATE__TERMINALS:
112
				getTerminals().clear();
113
				return;
114
		}
115
		eDynamicUnset(eFeature);
116
	}
117
118
	/**
119
	 * <!-- begin-user-doc -->
120
	 * <!-- end-user-doc -->
121
	 * @generated
122
	 */
123
	public boolean eIsSet(EStructuralFeature eFeature) {
124
		switch (eDerivedStructuralFeatureID(eFeature)) {
125
			case SemanticPackage.OR_GATE__TERMINALS:
126
				return terminals != null && !terminals.isEmpty();
127
			case SemanticPackage.OR_GATE__OUTPUT_TERMINALS:
128
				return !getOutputTerminals().isEmpty();
129
			case SemanticPackage.OR_GATE__INPUT_TERMINALS:
130
				return !getInputTerminals().isEmpty();
131
		}
132
		return eDynamicIsSet(eFeature);
133
	}
134
135
} //OrGateImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/impl/GateImpl.java (-135 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.impl;
13
14
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Gate;
15
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
16
17
import java.util.Collection;
18
19
import org.eclipse.emf.common.notify.NotificationChain;
20
21
import org.eclipse.emf.ecore.EClass;
22
import org.eclipse.emf.ecore.EStructuralFeature;
23
import org.eclipse.emf.ecore.InternalEObject;
24
25
import org.eclipse.emf.ecore.util.InternalEList;
26
27
/**
28
 * <!-- begin-user-doc -->
29
 * An implementation of the model object '<em><b>Gate</b></em>'.
30
 * <!-- end-user-doc -->
31
 * <p>
32
 * </p>
33
 *
34
 * @generated
35
 */
36
public abstract class GateImpl extends ElementImpl implements Gate {
37
	/**
38
	 * <!-- begin-user-doc -->
39
	 * <!-- end-user-doc -->
40
	 * @generated
41
	 */
42
	protected GateImpl() {
43
		super();
44
	}
45
46
	/**
47
	 * <!-- begin-user-doc -->
48
	 * <!-- end-user-doc -->
49
	 * @generated
50
	 */
51
	protected EClass eStaticClass() {
52
		return SemanticPackage.eINSTANCE.getGate();
53
	}
54
55
	/**
56
	 * <!-- begin-user-doc -->
57
	 * <!-- end-user-doc -->
58
	 * @generated
59
	 */
60
	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
61
		if (featureID >= 0) {
62
			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
63
				case SemanticPackage.GATE__TERMINALS:
64
					return ((InternalEList)getTerminals()).basicRemove(otherEnd, msgs);
65
				default:
66
					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
67
			}
68
		}
69
		return eBasicSetContainer(null, featureID, msgs);
70
	}
71
72
	/**
73
	 * <!-- begin-user-doc -->
74
	 * <!-- end-user-doc -->
75
	 * @generated
76
	 */
77
	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
78
		switch (eDerivedStructuralFeatureID(eFeature)) {
79
			case SemanticPackage.GATE__TERMINALS:
80
				return getTerminals();
81
			case SemanticPackage.GATE__OUTPUT_TERMINALS:
82
				return getOutputTerminals();
83
			case SemanticPackage.GATE__INPUT_TERMINALS:
84
				return getInputTerminals();
85
		}
86
		return eDynamicGet(eFeature, resolve);
87
	}
88
89
	/**
90
	 * <!-- begin-user-doc -->
91
	 * <!-- end-user-doc -->
92
	 * @generated
93
	 */
94
	public void eSet(EStructuralFeature eFeature, Object newValue) {
95
		switch (eDerivedStructuralFeatureID(eFeature)) {
96
			case SemanticPackage.GATE__TERMINALS:
97
				getTerminals().clear();
98
				getTerminals().addAll((Collection)newValue);
99
				return;
100
		}
101
		eDynamicSet(eFeature, newValue);
102
	}
103
104
	/**
105
	 * <!-- begin-user-doc -->
106
	 * <!-- end-user-doc -->
107
	 * @generated
108
	 */
109
	public void eUnset(EStructuralFeature eFeature) {
110
		switch (eDerivedStructuralFeatureID(eFeature)) {
111
			case SemanticPackage.GATE__TERMINALS:
112
				getTerminals().clear();
113
				return;
114
		}
115
		eDynamicUnset(eFeature);
116
	}
117
118
	/**
119
	 * <!-- begin-user-doc -->
120
	 * <!-- end-user-doc -->
121
	 * @generated
122
	 */
123
	public boolean eIsSet(EStructuralFeature eFeature) {
124
		switch (eDerivedStructuralFeatureID(eFeature)) {
125
			case SemanticPackage.GATE__TERMINALS:
126
				return terminals != null && !terminals.isEmpty();
127
			case SemanticPackage.GATE__OUTPUT_TERMINALS:
128
				return !getOutputTerminals().isEmpty();
129
			case SemanticPackage.GATE__INPUT_TERMINALS:
130
				return !getInputTerminals().isEmpty();
131
		}
132
		return eDynamicIsSet(eFeature);
133
	}
134
135
} //GateImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/impl/FlowContainerImpl.java (-148 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.impl;
13
14
import org.eclipse.gmf.examples.runtime.diagram.logic.model.FlowContainer;
15
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
16
17
import java.util.Collection;
18
19
import org.eclipse.emf.common.notify.NotificationChain;
20
21
import org.eclipse.emf.ecore.EClass;
22
import org.eclipse.emf.ecore.EStructuralFeature;
23
import org.eclipse.emf.ecore.InternalEObject;
24
25
import org.eclipse.emf.ecore.util.InternalEList;
26
27
/**
28
 * <!-- begin-user-doc -->
29
 * An implementation of the model object '<em><b>Flow Container</b></em>'.
30
 * <!-- end-user-doc -->
31
 * <p>
32
 * </p>
33
 *
34
 * @generated
35
 */
36
public class FlowContainerImpl extends ContainerElementImpl implements FlowContainer {
37
	/**
38
	 * <!-- begin-user-doc -->
39
	 * <!-- end-user-doc -->
40
	 * @generated
41
	 */
42
	protected FlowContainerImpl() {
43
		super();
44
	}
45
46
	/**
47
	 * <!-- begin-user-doc -->
48
	 * <!-- end-user-doc -->
49
	 * @generated
50
	 */
51
	protected EClass eStaticClass() {
52
		return SemanticPackage.eINSTANCE.getFlowContainer();
53
	}
54
55
	/**
56
	 * <!-- begin-user-doc -->
57
	 * <!-- end-user-doc -->
58
	 * @generated
59
	 */
60
	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
61
		if (featureID >= 0) {
62
			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
63
				case SemanticPackage.FLOW_CONTAINER__TERMINALS:
64
					return ((InternalEList)getTerminals()).basicRemove(otherEnd, msgs);
65
				case SemanticPackage.FLOW_CONTAINER__CHILDREN:
66
					return ((InternalEList)getChildren()).basicRemove(otherEnd, msgs);
67
				default:
68
					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
69
			}
70
		}
71
		return eBasicSetContainer(null, featureID, msgs);
72
	}
73
74
	/**
75
	 * <!-- begin-user-doc -->
76
	 * <!-- end-user-doc -->
77
	 * @generated
78
	 */
79
	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
80
		switch (eDerivedStructuralFeatureID(eFeature)) {
81
			case SemanticPackage.FLOW_CONTAINER__TERMINALS:
82
				return getTerminals();
83
			case SemanticPackage.FLOW_CONTAINER__OUTPUT_TERMINALS:
84
				return getOutputTerminals();
85
			case SemanticPackage.FLOW_CONTAINER__INPUT_TERMINALS:
86
				return getInputTerminals();
87
			case SemanticPackage.FLOW_CONTAINER__CHILDREN:
88
				return getChildren();
89
		}
90
		return eDynamicGet(eFeature, resolve);
91
	}
92
93
	/**
94
	 * <!-- begin-user-doc -->
95
	 * <!-- end-user-doc -->
96
	 * @generated
97
	 */
98
	public void eSet(EStructuralFeature eFeature, Object newValue) {
99
		switch (eDerivedStructuralFeatureID(eFeature)) {
100
			case SemanticPackage.FLOW_CONTAINER__TERMINALS:
101
				getTerminals().clear();
102
				getTerminals().addAll((Collection)newValue);
103
				return;
104
			case SemanticPackage.FLOW_CONTAINER__CHILDREN:
105
				getChildren().clear();
106
				getChildren().addAll((Collection)newValue);
107
				return;
108
		}
109
		eDynamicSet(eFeature, newValue);
110
	}
111
112
	/**
113
	 * <!-- begin-user-doc -->
114
	 * <!-- end-user-doc -->
115
	 * @generated
116
	 */
117
	public void eUnset(EStructuralFeature eFeature) {
118
		switch (eDerivedStructuralFeatureID(eFeature)) {
119
			case SemanticPackage.FLOW_CONTAINER__TERMINALS:
120
				getTerminals().clear();
121
				return;
122
			case SemanticPackage.FLOW_CONTAINER__CHILDREN:
123
				getChildren().clear();
124
				return;
125
		}
126
		eDynamicUnset(eFeature);
127
	}
128
129
	/**
130
	 * <!-- begin-user-doc -->
131
	 * <!-- end-user-doc -->
132
	 * @generated
133
	 */
134
	public boolean eIsSet(EStructuralFeature eFeature) {
135
		switch (eDerivedStructuralFeatureID(eFeature)) {
136
			case SemanticPackage.FLOW_CONTAINER__TERMINALS:
137
				return terminals != null && !terminals.isEmpty();
138
			case SemanticPackage.FLOW_CONTAINER__OUTPUT_TERMINALS:
139
				return !getOutputTerminals().isEmpty();
140
			case SemanticPackage.FLOW_CONTAINER__INPUT_TERMINALS:
141
				return !getInputTerminals().isEmpty();
142
			case SemanticPackage.FLOW_CONTAINER__CHILDREN:
143
				return children != null && !children.isEmpty();
144
		}
145
		return eDynamicIsSet(eFeature);
146
	}
147
148
} //FlowContainerImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/impl/TerminalImpl.java (-208 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.impl;
13
14
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
15
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal;
16
17
import java.util.Collection;
18
19
import org.eclipse.emf.common.notify.Notification;
20
import org.eclipse.emf.common.notify.NotificationChain;
21
22
import org.eclipse.emf.ecore.EClass;
23
import org.eclipse.emf.ecore.EStructuralFeature;
24
import org.eclipse.emf.ecore.InternalEObject;
25
26
import org.eclipse.emf.ecore.impl.ENotificationImpl;
27
28
import org.eclipse.emf.ecore.util.InternalEList;
29
30
/**
31
 * <!-- begin-user-doc -->
32
 * An implementation of the model object '<em><b>Terminal</b></em>'.
33
 * <!-- end-user-doc -->
34
 * <p>
35
 * The following features are implemented:
36
 * <ul>
37
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.TerminalImpl#getId <em>Id</em>}</li>
38
 * </ul>
39
 * </p>
40
 *
41
 * @generated
42
 */
43
public abstract class TerminalImpl extends ElementImpl implements Terminal {
44
	/**
45
	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
46
	 * <!-- begin-user-doc -->
47
	 * <!-- end-user-doc -->
48
	 * @see #getId()
49
	 * @generated
50
	 * @ordered
51
	 */
52
	protected static final String ID_EDEFAULT = ""; //$NON-NLS-1$
53
54
	/**
55
	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
56
	 * <!-- begin-user-doc -->
57
	 * <!-- end-user-doc -->
58
	 * @see #getId()
59
	 * @generated
60
	 * @ordered
61
	 */
62
	protected String id = ID_EDEFAULT;
63
64
	/**
65
	 * <!-- begin-user-doc -->
66
	 * <!-- end-user-doc -->
67
	 * @generated
68
	 */
69
	protected TerminalImpl() {
70
		super();
71
	}
72
73
	/**
74
	 * <!-- begin-user-doc -->
75
	 * <!-- end-user-doc -->
76
	 * @generated
77
	 */
78
	protected EClass eStaticClass() {
79
		return SemanticPackage.eINSTANCE.getTerminal();
80
	}
81
82
	/**
83
	 * <!-- begin-user-doc -->
84
	 * <!-- end-user-doc -->
85
	 * @generated
86
	 */
87
	public String getId() {
88
		return id;
89
	}
90
91
	/**
92
	 * <!-- begin-user-doc -->
93
	 * <!-- end-user-doc -->
94
	 * @generated
95
	 */
96
	public void setId(String newId) {
97
		String oldId = id;
98
		id = newId;
99
		if (eNotificationRequired())
100
			eNotify(new ENotificationImpl(this, Notification.SET, SemanticPackage.TERMINAL__ID, oldId, id));
101
	}
102
103
	/**
104
	 * <!-- begin-user-doc -->
105
	 * <!-- end-user-doc -->
106
	 * @generated
107
	 */
108
	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
109
		if (featureID >= 0) {
110
			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
111
				case SemanticPackage.TERMINAL__TERMINALS:
112
					return ((InternalEList)getTerminals()).basicRemove(otherEnd, msgs);
113
				default:
114
					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
115
			}
116
		}
117
		return eBasicSetContainer(null, featureID, msgs);
118
	}
119
120
	/**
121
	 * <!-- begin-user-doc -->
122
	 * <!-- end-user-doc -->
123
	 * @generated
124
	 */
125
	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
126
		switch (eDerivedStructuralFeatureID(eFeature)) {
127
			case SemanticPackage.TERMINAL__TERMINALS:
128
				return getTerminals();
129
			case SemanticPackage.TERMINAL__OUTPUT_TERMINALS:
130
				return getOutputTerminals();
131
			case SemanticPackage.TERMINAL__INPUT_TERMINALS:
132
				return getInputTerminals();
133
			case SemanticPackage.TERMINAL__ID:
134
				return getId();
135
		}
136
		return eDynamicGet(eFeature, resolve);
137
	}
138
139
	/**
140
	 * <!-- begin-user-doc -->
141
	 * <!-- end-user-doc -->
142
	 * @generated
143
	 */
144
	public void eSet(EStructuralFeature eFeature, Object newValue) {
145
		switch (eDerivedStructuralFeatureID(eFeature)) {
146
			case SemanticPackage.TERMINAL__TERMINALS:
147
				getTerminals().clear();
148
				getTerminals().addAll((Collection)newValue);
149
				return;
150
			case SemanticPackage.TERMINAL__ID:
151
				setId((String)newValue);
152
				return;
153
		}
154
		eDynamicSet(eFeature, newValue);
155
	}
156
157
	/**
158
	 * <!-- begin-user-doc -->
159
	 * <!-- end-user-doc -->
160
	 * @generated
161
	 */
162
	public void eUnset(EStructuralFeature eFeature) {
163
		switch (eDerivedStructuralFeatureID(eFeature)) {
164
			case SemanticPackage.TERMINAL__TERMINALS:
165
				getTerminals().clear();
166
				return;
167
			case SemanticPackage.TERMINAL__ID:
168
				setId(ID_EDEFAULT);
169
				return;
170
		}
171
		eDynamicUnset(eFeature);
172
	}
173
174
	/**
175
	 * <!-- begin-user-doc -->
176
	 * <!-- end-user-doc -->
177
	 * @generated
178
	 */
179
	public boolean eIsSet(EStructuralFeature eFeature) {
180
		switch (eDerivedStructuralFeatureID(eFeature)) {
181
			case SemanticPackage.TERMINAL__TERMINALS:
182
				return terminals != null && !terminals.isEmpty();
183
			case SemanticPackage.TERMINAL__OUTPUT_TERMINALS:
184
				return !getOutputTerminals().isEmpty();
185
			case SemanticPackage.TERMINAL__INPUT_TERMINALS:
186
				return !getInputTerminals().isEmpty();
187
			case SemanticPackage.TERMINAL__ID:
188
				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
189
		}
190
		return eDynamicIsSet(eFeature);
191
	}
192
193
	/**
194
	 * <!-- begin-user-doc -->
195
	 * <!-- end-user-doc -->
196
	 * @generated
197
	 */
198
	public String toString() {
199
		if (eIsProxy()) return super.toString();
200
201
		StringBuffer result = new StringBuffer(super.toString());
202
		result.append(" (id: "); //$NON-NLS-1$
203
		result.append(id);
204
		result.append(')');
205
		return result.toString();
206
	}
207
208
} //TerminalImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/AndGate.java (-27 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model;
13
14
15
/**
16
 * <!-- begin-user-doc -->
17
 * A representation of the model object '<em><b>And Gate</b></em>'.
18
 * <!-- end-user-doc -->
19
 *
20
 *
21
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getAndGate()
22
 * @model 
23
 * @generated
24
 */
25
public interface AndGate extends Gate {
26
//	 no default API
27
}//AndGate
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/Circuit.java (-27 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model;
13
14
15
/**
16
 * <!-- begin-user-doc -->
17
 * A representation of the model object '<em><b>Circuit</b></em>'.
18
 * <!-- end-user-doc -->
19
 *
20
 *
21
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getCircuit()
22
 * @model 
23
 * @generated
24
 */
25
public interface Circuit extends ContainerElement {
26
//	 no default API
27
} // Circuit
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/SemanticFactory.java (-141 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model;
13
14
import org.eclipse.emf.ecore.EFactory;
15
16
/**
17
 * <!-- begin-user-doc -->
18
 * The <b>Factory</b> for the model.
19
 * It provides a create method for each non-abstract class of the model.
20
 * <!-- end-user-doc -->
21
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage
22
 * @generated
23
 */
24
public interface SemanticFactory extends EFactory{
25
	/**
26
	 * The singleton instance of the factory.
27
	 * <!-- begin-user-doc -->
28
	 * <!-- end-user-doc -->
29
	 * @generated
30
	 */
31
	SemanticFactory eINSTANCE = new org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.SemanticFactoryImpl();
32
33
	/**
34
	 * Returns a new object of class '<em>LED</em>'.
35
	 * <!-- begin-user-doc -->
36
	 * <!-- end-user-doc -->
37
	 * @return a new object of class '<em>LED</em>'.
38
	 * @generated
39
	 */
40
	LED createLED();
41
42
	/**
43
	 * Returns a new object of class '<em>Wire</em>'.
44
	 * <!-- begin-user-doc -->
45
	 * <!-- end-user-doc -->
46
	 * @return a new object of class '<em>Wire</em>'.
47
	 * @generated
48
	 */
49
	Wire createWire();
50
51
	/**
52
	 * Returns a new object of class '<em>Circuit</em>'.
53
	 * <!-- begin-user-doc -->
54
	 * <!-- end-user-doc -->
55
	 * @return a new object of class '<em>Circuit</em>'.
56
	 * @generated
57
	 */
58
	Circuit createCircuit();
59
60
	/**
61
	 * Returns a new object of class '<em>Flow Container</em>'.
62
	 * <!-- begin-user-doc -->
63
	 * <!-- end-user-doc -->
64
	 * @return a new object of class '<em>Flow Container</em>'.
65
	 * @generated
66
	 */
67
	FlowContainer createFlowContainer();
68
69
	/**
70
	 * Returns a new object of class '<em>And Gate</em>'.
71
	 * <!-- begin-user-doc -->
72
	 * <!-- end-user-doc -->
73
	 * @return a new object of class '<em>And Gate</em>'.
74
	 * @generated
75
	 */
76
	AndGate createAndGate();
77
78
	/**
79
	 * Returns a new object of class '<em>Or Gate</em>'.
80
	 * <!-- begin-user-doc -->
81
	 * <!-- end-user-doc -->
82
	 * @return a new object of class '<em>Or Gate</em>'.
83
	 * @generated
84
	 */
85
	OrGate createOrGate();
86
87
	/**
88
	 * Returns a new object of class '<em>XOR Gate</em>'.
89
	 * <!-- begin-user-doc -->
90
	 * <!-- end-user-doc -->
91
	 * @return a new object of class '<em>XOR Gate</em>'.
92
	 * @generated
93
	 */
94
	XORGate createXORGate();
95
96
	/**
97
	 * Returns a new object of class '<em>Model</em>'.
98
	 * <!-- begin-user-doc -->
99
	 * <!-- end-user-doc -->
100
	 * @return a new object of class '<em>Model</em>'.
101
	 * @generated
102
	 */
103
	Model createModel();
104
105
	/**
106
	 * Returns a new object of class '<em>Output Terminal</em>'.
107
	 * <!-- begin-user-doc -->
108
	 * <!-- end-user-doc -->
109
	 * @return a new object of class '<em>Output Terminal</em>'.
110
	 * @generated
111
	 */
112
	OutputTerminal createOutputTerminal();
113
114
	/**
115
	 * Returns a new object of class '<em>Input Terminal</em>'.
116
	 * <!-- begin-user-doc -->
117
	 * <!-- end-user-doc -->
118
	 * @return a new object of class '<em>Input Terminal</em>'.
119
	 * @generated
120
	 */
121
	InputTerminal createInputTerminal();
122
123
	/**
124
	 * Returns a new object of class '<em>Input Output Terminal</em>'.
125
	 * <!-- begin-user-doc -->
126
	 * <!-- end-user-doc -->
127
	 * @return a new object of class '<em>Input Output Terminal</em>'.
128
	 * @generated
129
	 */
130
	InputOutputTerminal createInputOutputTerminal();
131
132
	/**
133
	 * Returns the package supported by this factory.
134
	 * <!-- begin-user-doc -->
135
	 * <!-- end-user-doc -->
136
	 * @return the package supported by this factory.
137
	 * @generated
138
	 */
139
	SemanticPackage getSemanticPackage();
140
141
} //SemanticFactory
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/XORGate.java (-27 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model;
13
14
15
/**
16
 * <!-- begin-user-doc -->
17
 * A representation of the model object '<em><b>XOR Gate</b></em>'.
18
 * <!-- end-user-doc -->
19
 *
20
 *
21
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getXORGate()
22
 * @model 
23
 * @generated
24
 */
25
public interface XORGate extends Gate {
26
//	 no default API
27
} // XORGate
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/OrGate.java (-27 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model;
13
14
15
/**
16
 * <!-- begin-user-doc -->
17
 * A representation of the model object '<em><b>Or Gate</b></em>'.
18
 * <!-- end-user-doc -->
19
 *
20
 *
21
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getOrGate()
22
 * @model 
23
 * @generated
24
 */
25
public interface OrGate extends Gate {
26
//	 no default API
27
} // OrGate
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/InputTerminal.java (-27 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model;
13
14
15
/**
16
 * <!-- begin-user-doc -->
17
 * A representation of the model object '<em><b>Input Terminal</b></em>'.
18
 * <!-- end-user-doc -->
19
 *
20
 *
21
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getInputTerminal()
22
 * @model 
23
 * @generated
24
 */
25
public interface InputTerminal extends Terminal {
26
//	 no default API
27
} // InputTerminal
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/FlowContainer.java (-27 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model;
13
14
15
/**
16
 * <!-- begin-user-doc -->
17
 * A representation of the model object '<em><b>Flow Container</b></em>'.
18
 * <!-- end-user-doc -->
19
 *
20
 *
21
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getFlowContainer()
22
 * @model 
23
 * @generated
24
 */
25
public interface FlowContainer extends ContainerElement {
26
//	 no default API
27
} // FlowContainer
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/Gate.java (-27 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model;
13
14
15
/**
16
 * <!-- begin-user-doc -->
17
 * A representation of the model object '<em><b>Gate</b></em>'.
18
 * <!-- end-user-doc -->
19
 *
20
 *
21
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getGate()
22
 * @model abstract="true"
23
 * @generated
24
 */
25
public interface Gate extends Element {
26
//	 no default API
27
} // Gate
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/Wire.java (-85 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model;
13
14
15
/**
16
 * <!-- begin-user-doc -->
17
 * A representation of the model object '<em><b>Wire</b></em>'.
18
 * <!-- end-user-doc -->
19
 *
20
 * <p>
21
 * The following features are supported:
22
 * <ul>
23
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire#getSource <em>Source</em>}</li>
24
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire#getTarget <em>Target</em>}</li>
25
 * </ul>
26
 * </p>
27
 *
28
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getWire()
29
 * @model 
30
 * @generated
31
 */
32
public interface Wire extends Element{
33
	/**
34
	 * Returns the value of the '<em><b>Source</b></em>' reference.
35
	 * <!-- begin-user-doc -->
36
	 * <p>
37
	 * If the meaning of the '<em>Source</em>' reference isn't clear,
38
	 * there really should be more of a description here...
39
	 * </p>
40
	 * <!-- end-user-doc -->
41
	 * @return the value of the '<em>Source</em>' reference.
42
	 * @see #setSource(OutputTerminal)
43
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getWire_Source()
44
	 * @model required="true"
45
	 * @generated
46
	 */
47
	OutputTerminal getSource();
48
49
	/**
50
	 * Sets the value of the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire#getSource <em>Source</em>}' reference.
51
	 * <!-- begin-user-doc -->
52
	 * <!-- end-user-doc -->
53
	 * @param value the new value of the '<em>Source</em>' reference.
54
	 * @see #getSource()
55
	 * @generated
56
	 */
57
	void setSource(OutputTerminal value);
58
59
	/**
60
	 * Returns the value of the '<em><b>Target</b></em>' reference.
61
	 * <!-- begin-user-doc -->
62
	 * <p>
63
	 * If the meaning of the '<em>Target</em>' reference isn't clear,
64
	 * there really should be more of a description here...
65
	 * </p>
66
	 * <!-- end-user-doc -->
67
	 * @return the value of the '<em>Target</em>' reference.
68
	 * @see #setTarget(InputTerminal)
69
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getWire_Target()
70
	 * @model required="true"
71
	 * @generated
72
	 */
73
	InputTerminal getTarget();
74
75
	/**
76
	 * Sets the value of the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire#getTarget <em>Target</em>}' reference.
77
	 * <!-- begin-user-doc -->
78
	 * <!-- end-user-doc -->
79
	 * @param value the new value of the '<em>Target</em>' reference.
80
	 * @see #getTarget()
81
	 * @generated
82
	 */
83
	void setTarget(InputTerminal value);
84
85
} // Wire
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/SemanticPackage.java (-1105 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model;
13
14
import org.eclipse.emf.ecore.EAttribute;
15
import org.eclipse.emf.ecore.EClass;
16
import org.eclipse.emf.ecore.EPackage;
17
import org.eclipse.emf.ecore.EReference;
18
19
/**
20
 * <!-- begin-user-doc -->
21
 * The <b>Package</b> for the model.
22
 * It contains accessors for the meta objects to represent
23
 * <ul>
24
 *   <li>each class,</li>
25
 *   <li>each feature of each class,</li>
26
 *   <li>each enum,</li>
27
 *   <li>and each data type</li>
28
 * </ul>
29
 * <!-- end-user-doc -->
30
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticFactory
31
 * @generated
32
 */
33
public interface SemanticPackage extends EPackage{
34
	/**
35
	 * The package name.
36
	 * <!-- begin-user-doc -->
37
	 * <!-- end-user-doc -->
38
	 * @generated
39
	 */
40
	String eNAME = "semantic"; //$NON-NLS-1$
41
42
	/**
43
	 * The package namespace URI.
44
	 * <!-- begin-user-doc -->
45
	 * <!-- end-user-doc -->
46
	 * @generated
47
	 */
48
	String eNS_URI = "http://www.eclipse.org/gmf/examples/runtime/1.0.0/logicsemantic"; //$NON-NLS-1$
49
50
	/**
51
	 * The package namespace name.
52
	 * <!-- begin-user-doc -->
53
	 * <!-- end-user-doc -->
54
	 * @generated
55
	 */
56
	String eNS_PREFIX = "semantic"; //$NON-NLS-1$
57
58
	/**
59
	 * The singleton instance of the package.
60
	 * <!-- begin-user-doc -->
61
	 * <!-- end-user-doc -->
62
	 * @generated
63
	 */
64
	SemanticPackage eINSTANCE = org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.SemanticPackageImpl.init();
65
66
	/**
67
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.ElementImpl <em>Element</em>}' class.
68
	 * <!-- begin-user-doc -->
69
	 * <!-- end-user-doc -->
70
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.ElementImpl
71
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.SemanticPackageImpl#getElement()
72
	 * @generated
73
	 */
74
	int ELEMENT = 1;
75
76
	/**
77
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
78
	 * <!-- begin-user-doc -->
79
	 * <!-- end-user-doc -->
80
	 * @generated
81
	 * @ordered
82
	 */
83
	int ELEMENT__TERMINALS = 0;
84
85
	/**
86
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
87
	 * <!-- begin-user-doc -->
88
	 * <!-- end-user-doc -->
89
	 * @generated
90
	 * @ordered
91
	 */
92
	int ELEMENT__OUTPUT_TERMINALS = 1;
93
94
	/**
95
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
96
	 * <!-- begin-user-doc -->
97
	 * <!-- end-user-doc -->
98
	 * @generated
99
	 * @ordered
100
	 */
101
	int ELEMENT__INPUT_TERMINALS = 2;
102
103
	/**
104
	 * The number of structural features of the the '<em>Element</em>' class.
105
	 * <!-- begin-user-doc -->
106
	 * <!-- end-user-doc -->
107
	 * @generated
108
	 * @ordered
109
	 */
110
	int ELEMENT_FEATURE_COUNT = 3;
111
112
	/**
113
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.LEDImpl <em>LED</em>}' class.
114
	 * <!-- begin-user-doc -->
115
	 * <!-- end-user-doc -->
116
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.LEDImpl
117
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.SemanticPackageImpl#getLED()
118
	 * @generated
119
	 */
120
	int LED = 0;
121
122
	/**
123
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
124
	 * <!-- begin-user-doc -->
125
	 * <!-- end-user-doc -->
126
	 * @generated
127
	 * @ordered
128
	 */
129
	int LED__TERMINALS = ELEMENT__TERMINALS;
130
131
	/**
132
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
133
	 * <!-- begin-user-doc -->
134
	 * <!-- end-user-doc -->
135
	 * @generated
136
	 * @ordered
137
	 */
138
	int LED__OUTPUT_TERMINALS = ELEMENT__OUTPUT_TERMINALS;
139
140
	/**
141
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
142
	 * <!-- begin-user-doc -->
143
	 * <!-- end-user-doc -->
144
	 * @generated
145
	 * @ordered
146
	 */
147
	int LED__INPUT_TERMINALS = ELEMENT__INPUT_TERMINALS;
148
149
	/**
150
	 * The feature id for the '<em><b>Value</b></em>' attribute.
151
	 * <!-- begin-user-doc -->
152
	 * <!-- end-user-doc -->
153
	 * @generated
154
	 * @ordered
155
	 */
156
	int LED__VALUE = ELEMENT_FEATURE_COUNT + 0;
157
158
	/**
159
	 * The number of structural features of the the '<em>LED</em>' class.
160
	 * <!-- begin-user-doc -->
161
	 * <!-- end-user-doc -->
162
	 * @generated
163
	 * @ordered
164
	 */
165
	int LED_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 1;
166
167
	/**
168
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.WireImpl <em>Wire</em>}' class.
169
	 * <!-- begin-user-doc -->
170
	 * <!-- end-user-doc -->
171
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.WireImpl
172
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.SemanticPackageImpl#getWire()
173
	 * @generated
174
	 */
175
	int WIRE = 2;
176
177
	/**
178
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
179
	 * <!-- begin-user-doc -->
180
	 * <!-- end-user-doc -->
181
	 * @generated
182
	 * @ordered
183
	 */
184
	int WIRE__TERMINALS = ELEMENT__TERMINALS;
185
186
	/**
187
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
188
	 * <!-- begin-user-doc -->
189
	 * <!-- end-user-doc -->
190
	 * @generated
191
	 * @ordered
192
	 */
193
	int WIRE__OUTPUT_TERMINALS = ELEMENT__OUTPUT_TERMINALS;
194
195
	/**
196
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
197
	 * <!-- begin-user-doc -->
198
	 * <!-- end-user-doc -->
199
	 * @generated
200
	 * @ordered
201
	 */
202
	int WIRE__INPUT_TERMINALS = ELEMENT__INPUT_TERMINALS;
203
204
	/**
205
	 * The feature id for the '<em><b>Source</b></em>' reference.
206
	 * <!-- begin-user-doc -->
207
	 * <!-- end-user-doc -->
208
	 * @generated
209
	 * @ordered
210
	 */
211
	int WIRE__SOURCE = ELEMENT_FEATURE_COUNT + 0;
212
213
	/**
214
	 * The feature id for the '<em><b>Target</b></em>' reference.
215
	 * <!-- begin-user-doc -->
216
	 * <!-- end-user-doc -->
217
	 * @generated
218
	 * @ordered
219
	 */
220
	int WIRE__TARGET = ELEMENT_FEATURE_COUNT + 1;
221
222
	/**
223
	 * The number of structural features of the the '<em>Wire</em>' class.
224
	 * <!-- begin-user-doc -->
225
	 * <!-- end-user-doc -->
226
	 * @generated
227
	 * @ordered
228
	 */
229
	int WIRE_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 2;
230
231
	/**
232
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.ContainerElementImpl <em>Container Element</em>}' class.
233
	 * <!-- begin-user-doc -->
234
	 * <!-- end-user-doc -->
235
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.ContainerElementImpl
236
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.SemanticPackageImpl#getContainerElement()
237
	 * @generated
238
	 */
239
	int CONTAINER_ELEMENT = 10;
240
241
	/**
242
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
243
	 * <!-- begin-user-doc -->
244
	 * <!-- end-user-doc -->
245
	 * @generated
246
	 * @ordered
247
	 */
248
	int CONTAINER_ELEMENT__TERMINALS = ELEMENT__TERMINALS;
249
250
	/**
251
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
252
	 * <!-- begin-user-doc -->
253
	 * <!-- end-user-doc -->
254
	 * @generated
255
	 * @ordered
256
	 */
257
	int CONTAINER_ELEMENT__OUTPUT_TERMINALS = ELEMENT__OUTPUT_TERMINALS;
258
259
	/**
260
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
261
	 * <!-- begin-user-doc -->
262
	 * <!-- end-user-doc -->
263
	 * @generated
264
	 * @ordered
265
	 */
266
	int CONTAINER_ELEMENT__INPUT_TERMINALS = ELEMENT__INPUT_TERMINALS;
267
268
	/**
269
	 * The feature id for the '<em><b>Children</b></em>' containment reference list.
270
	 * <!-- begin-user-doc -->
271
	 * <!-- end-user-doc -->
272
	 * @generated
273
	 * @ordered
274
	 */
275
	int CONTAINER_ELEMENT__CHILDREN = ELEMENT_FEATURE_COUNT + 0;
276
277
	/**
278
	 * The number of structural features of the the '<em>Container Element</em>' class.
279
	 * <!-- begin-user-doc -->
280
	 * <!-- end-user-doc -->
281
	 * @generated
282
	 * @ordered
283
	 */
284
	int CONTAINER_ELEMENT_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 1;
285
286
	/**
287
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.CircuitImpl <em>Circuit</em>}' class.
288
	 * <!-- begin-user-doc -->
289
	 * <!-- end-user-doc -->
290
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.CircuitImpl
291
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.SemanticPackageImpl#getCircuit()
292
	 * @generated
293
	 */
294
	int CIRCUIT = 3;
295
296
	/**
297
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
298
	 * <!-- begin-user-doc -->
299
	 * <!-- end-user-doc -->
300
	 * @generated
301
	 * @ordered
302
	 */
303
	int CIRCUIT__TERMINALS = CONTAINER_ELEMENT__TERMINALS;
304
305
	/**
306
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
307
	 * <!-- begin-user-doc -->
308
	 * <!-- end-user-doc -->
309
	 * @generated
310
	 * @ordered
311
	 */
312
	int CIRCUIT__OUTPUT_TERMINALS = CONTAINER_ELEMENT__OUTPUT_TERMINALS;
313
314
	/**
315
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
316
	 * <!-- begin-user-doc -->
317
	 * <!-- end-user-doc -->
318
	 * @generated
319
	 * @ordered
320
	 */
321
	int CIRCUIT__INPUT_TERMINALS = CONTAINER_ELEMENT__INPUT_TERMINALS;
322
323
	/**
324
	 * The feature id for the '<em><b>Children</b></em>' containment reference list.
325
	 * <!-- begin-user-doc -->
326
	 * <!-- end-user-doc -->
327
	 * @generated
328
	 * @ordered
329
	 */
330
	int CIRCUIT__CHILDREN = CONTAINER_ELEMENT__CHILDREN;
331
332
	/**
333
	 * The number of structural features of the the '<em>Circuit</em>' class.
334
	 * <!-- begin-user-doc -->
335
	 * <!-- end-user-doc -->
336
	 * @generated
337
	 * @ordered
338
	 */
339
	int CIRCUIT_FEATURE_COUNT = CONTAINER_ELEMENT_FEATURE_COUNT + 0;
340
341
	/**
342
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.GateImpl <em>Gate</em>}' class.
343
	 * <!-- begin-user-doc -->
344
	 * <!-- end-user-doc -->
345
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.GateImpl
346
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.SemanticPackageImpl#getGate()
347
	 * @generated
348
	 */
349
	int GATE = 4;
350
351
	/**
352
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
353
	 * <!-- begin-user-doc -->
354
	 * <!-- end-user-doc -->
355
	 * @generated
356
	 * @ordered
357
	 */
358
	int GATE__TERMINALS = ELEMENT__TERMINALS;
359
360
	/**
361
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
362
	 * <!-- begin-user-doc -->
363
	 * <!-- end-user-doc -->
364
	 * @generated
365
	 * @ordered
366
	 */
367
	int GATE__OUTPUT_TERMINALS = ELEMENT__OUTPUT_TERMINALS;
368
369
	/**
370
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
371
	 * <!-- begin-user-doc -->
372
	 * <!-- end-user-doc -->
373
	 * @generated
374
	 * @ordered
375
	 */
376
	int GATE__INPUT_TERMINALS = ELEMENT__INPUT_TERMINALS;
377
378
	/**
379
	 * The number of structural features of the the '<em>Gate</em>' class.
380
	 * <!-- begin-user-doc -->
381
	 * <!-- end-user-doc -->
382
	 * @generated
383
	 * @ordered
384
	 */
385
	int GATE_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 0;
386
387
	/**
388
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.FlowContainerImpl <em>Flow Container</em>}' class.
389
	 * <!-- begin-user-doc -->
390
	 * <!-- end-user-doc -->
391
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.FlowContainerImpl
392
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.SemanticPackageImpl#getFlowContainer()
393
	 * @generated
394
	 */
395
	int FLOW_CONTAINER = 5;
396
397
	/**
398
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
399
	 * <!-- begin-user-doc -->
400
	 * <!-- end-user-doc -->
401
	 * @generated
402
	 * @ordered
403
	 */
404
	int FLOW_CONTAINER__TERMINALS = CONTAINER_ELEMENT__TERMINALS;
405
406
	/**
407
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
408
	 * <!-- begin-user-doc -->
409
	 * <!-- end-user-doc -->
410
	 * @generated
411
	 * @ordered
412
	 */
413
	int FLOW_CONTAINER__OUTPUT_TERMINALS = CONTAINER_ELEMENT__OUTPUT_TERMINALS;
414
415
	/**
416
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
417
	 * <!-- begin-user-doc -->
418
	 * <!-- end-user-doc -->
419
	 * @generated
420
	 * @ordered
421
	 */
422
	int FLOW_CONTAINER__INPUT_TERMINALS = CONTAINER_ELEMENT__INPUT_TERMINALS;
423
424
	/**
425
	 * The feature id for the '<em><b>Children</b></em>' containment reference list.
426
	 * <!-- begin-user-doc -->
427
	 * <!-- end-user-doc -->
428
	 * @generated
429
	 * @ordered
430
	 */
431
	int FLOW_CONTAINER__CHILDREN = CONTAINER_ELEMENT__CHILDREN;
432
433
	/**
434
	 * The number of structural features of the the '<em>Flow Container</em>' class.
435
	 * <!-- begin-user-doc -->
436
	 * <!-- end-user-doc -->
437
	 * @generated
438
	 * @ordered
439
	 */
440
	int FLOW_CONTAINER_FEATURE_COUNT = CONTAINER_ELEMENT_FEATURE_COUNT + 0;
441
442
	/**
443
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.AndGateImpl <em>And Gate</em>}' class.
444
	 * <!-- begin-user-doc -->
445
	 * <!-- end-user-doc -->
446
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.AndGateImpl
447
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.SemanticPackageImpl#getAndGate()
448
	 * @generated
449
	 */
450
	int AND_GATE = 6;
451
452
	/**
453
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
454
	 * <!-- begin-user-doc -->
455
	 * <!-- end-user-doc -->
456
	 * @generated
457
	 * @ordered
458
	 */
459
	int AND_GATE__TERMINALS = GATE__TERMINALS;
460
461
	/**
462
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
463
	 * <!-- begin-user-doc -->
464
	 * <!-- end-user-doc -->
465
	 * @generated
466
	 * @ordered
467
	 */
468
	int AND_GATE__OUTPUT_TERMINALS = GATE__OUTPUT_TERMINALS;
469
470
	/**
471
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
472
	 * <!-- begin-user-doc -->
473
	 * <!-- end-user-doc -->
474
	 * @generated
475
	 * @ordered
476
	 */
477
	int AND_GATE__INPUT_TERMINALS = GATE__INPUT_TERMINALS;
478
479
	/**
480
	 * The number of structural features of the the '<em>And Gate</em>' class.
481
	 * <!-- begin-user-doc -->
482
	 * <!-- end-user-doc -->
483
	 * @generated
484
	 * @ordered
485
	 */
486
	int AND_GATE_FEATURE_COUNT = GATE_FEATURE_COUNT + 0;
487
488
	/**
489
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.OrGateImpl <em>Or Gate</em>}' class.
490
	 * <!-- begin-user-doc -->
491
	 * <!-- end-user-doc -->
492
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.OrGateImpl
493
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.SemanticPackageImpl#getOrGate()
494
	 * @generated
495
	 */
496
	int OR_GATE = 7;
497
498
	/**
499
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
500
	 * <!-- begin-user-doc -->
501
	 * <!-- end-user-doc -->
502
	 * @generated
503
	 * @ordered
504
	 */
505
	int OR_GATE__TERMINALS = GATE__TERMINALS;
506
507
	/**
508
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
509
	 * <!-- begin-user-doc -->
510
	 * <!-- end-user-doc -->
511
	 * @generated
512
	 * @ordered
513
	 */
514
	int OR_GATE__OUTPUT_TERMINALS = GATE__OUTPUT_TERMINALS;
515
516
	/**
517
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
518
	 * <!-- begin-user-doc -->
519
	 * <!-- end-user-doc -->
520
	 * @generated
521
	 * @ordered
522
	 */
523
	int OR_GATE__INPUT_TERMINALS = GATE__INPUT_TERMINALS;
524
525
	/**
526
	 * The number of structural features of the the '<em>Or Gate</em>' class.
527
	 * <!-- begin-user-doc -->
528
	 * <!-- end-user-doc -->
529
	 * @generated
530
	 * @ordered
531
	 */
532
	int OR_GATE_FEATURE_COUNT = GATE_FEATURE_COUNT + 0;
533
534
	/**
535
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.XORGateImpl <em>XOR Gate</em>}' class.
536
	 * <!-- begin-user-doc -->
537
	 * <!-- end-user-doc -->
538
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.XORGateImpl
539
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.SemanticPackageImpl#getXORGate()
540
	 * @generated
541
	 */
542
	int XOR_GATE = 8;
543
544
	/**
545
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
546
	 * <!-- begin-user-doc -->
547
	 * <!-- end-user-doc -->
548
	 * @generated
549
	 * @ordered
550
	 */
551
	int XOR_GATE__TERMINALS = GATE__TERMINALS;
552
553
	/**
554
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
555
	 * <!-- begin-user-doc -->
556
	 * <!-- end-user-doc -->
557
	 * @generated
558
	 * @ordered
559
	 */
560
	int XOR_GATE__OUTPUT_TERMINALS = GATE__OUTPUT_TERMINALS;
561
562
	/**
563
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
564
	 * <!-- begin-user-doc -->
565
	 * <!-- end-user-doc -->
566
	 * @generated
567
	 * @ordered
568
	 */
569
	int XOR_GATE__INPUT_TERMINALS = GATE__INPUT_TERMINALS;
570
571
	/**
572
	 * The number of structural features of the the '<em>XOR Gate</em>' class.
573
	 * <!-- begin-user-doc -->
574
	 * <!-- end-user-doc -->
575
	 * @generated
576
	 * @ordered
577
	 */
578
	int XOR_GATE_FEATURE_COUNT = GATE_FEATURE_COUNT + 0;
579
580
	/**
581
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.ModelImpl <em>Model</em>}' class.
582
	 * <!-- begin-user-doc -->
583
	 * <!-- end-user-doc -->
584
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.ModelImpl
585
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.SemanticPackageImpl#getModel()
586
	 * @generated
587
	 */
588
	int MODEL = 9;
589
590
	/**
591
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
592
	 * <!-- begin-user-doc -->
593
	 * <!-- end-user-doc -->
594
	 * @generated
595
	 * @ordered
596
	 */
597
	int MODEL__TERMINALS = CONTAINER_ELEMENT__TERMINALS;
598
599
	/**
600
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
601
	 * <!-- begin-user-doc -->
602
	 * <!-- end-user-doc -->
603
	 * @generated
604
	 * @ordered
605
	 */
606
	int MODEL__OUTPUT_TERMINALS = CONTAINER_ELEMENT__OUTPUT_TERMINALS;
607
608
	/**
609
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
610
	 * <!-- begin-user-doc -->
611
	 * <!-- end-user-doc -->
612
	 * @generated
613
	 * @ordered
614
	 */
615
	int MODEL__INPUT_TERMINALS = CONTAINER_ELEMENT__INPUT_TERMINALS;
616
617
	/**
618
	 * The feature id for the '<em><b>Children</b></em>' containment reference list.
619
	 * <!-- begin-user-doc -->
620
	 * <!-- end-user-doc -->
621
	 * @generated
622
	 * @ordered
623
	 */
624
	int MODEL__CHILDREN = CONTAINER_ELEMENT__CHILDREN;
625
626
	/**
627
	 * The number of structural features of the the '<em>Model</em>' class.
628
	 * <!-- begin-user-doc -->
629
	 * <!-- end-user-doc -->
630
	 * @generated
631
	 * @ordered
632
	 */
633
	int MODEL_FEATURE_COUNT = CONTAINER_ELEMENT_FEATURE_COUNT + 0;
634
635
	/**
636
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.TerminalImpl <em>Terminal</em>}' class.
637
	 * <!-- begin-user-doc -->
638
	 * <!-- end-user-doc -->
639
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.TerminalImpl
640
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.SemanticPackageImpl#getTerminal()
641
	 * @generated
642
	 */
643
	int TERMINAL = 11;
644
645
	/**
646
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
647
	 * <!-- begin-user-doc -->
648
	 * <!-- end-user-doc -->
649
	 * @generated
650
	 * @ordered
651
	 */
652
	int TERMINAL__TERMINALS = ELEMENT__TERMINALS;
653
654
	/**
655
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
656
	 * <!-- begin-user-doc -->
657
	 * <!-- end-user-doc -->
658
	 * @generated
659
	 * @ordered
660
	 */
661
	int TERMINAL__OUTPUT_TERMINALS = ELEMENT__OUTPUT_TERMINALS;
662
663
	/**
664
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
665
	 * <!-- begin-user-doc -->
666
	 * <!-- end-user-doc -->
667
	 * @generated
668
	 * @ordered
669
	 */
670
	int TERMINAL__INPUT_TERMINALS = ELEMENT__INPUT_TERMINALS;
671
672
	/**
673
	 * The feature id for the '<em><b>Id</b></em>' attribute.
674
	 * <!-- begin-user-doc -->
675
	 * <!-- end-user-doc -->
676
	 * @generated
677
	 * @ordered
678
	 */
679
	int TERMINAL__ID = ELEMENT_FEATURE_COUNT + 0;
680
681
	/**
682
	 * The number of structural features of the the '<em>Terminal</em>' class.
683
	 * <!-- begin-user-doc -->
684
	 * <!-- end-user-doc -->
685
	 * @generated
686
	 * @ordered
687
	 */
688
	int TERMINAL_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 1;
689
690
691
	/**
692
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.OutputTerminalImpl <em>Output Terminal</em>}' class.
693
	 * <!-- begin-user-doc -->
694
	 * <!-- end-user-doc -->
695
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.OutputTerminalImpl
696
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.SemanticPackageImpl#getOutputTerminal()
697
	 * @generated
698
	 */
699
	int OUTPUT_TERMINAL = 12;
700
701
	/**
702
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
703
	 * <!-- begin-user-doc -->
704
	 * <!-- end-user-doc -->
705
	 * @generated
706
	 * @ordered
707
	 */
708
	int OUTPUT_TERMINAL__TERMINALS = TERMINAL__TERMINALS;
709
710
	/**
711
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
712
	 * <!-- begin-user-doc -->
713
	 * <!-- end-user-doc -->
714
	 * @generated
715
	 * @ordered
716
	 */
717
	int OUTPUT_TERMINAL__OUTPUT_TERMINALS = TERMINAL__OUTPUT_TERMINALS;
718
719
	/**
720
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
721
	 * <!-- begin-user-doc -->
722
	 * <!-- end-user-doc -->
723
	 * @generated
724
	 * @ordered
725
	 */
726
	int OUTPUT_TERMINAL__INPUT_TERMINALS = TERMINAL__INPUT_TERMINALS;
727
728
	/**
729
	 * The feature id for the '<em><b>Id</b></em>' attribute.
730
	 * <!-- begin-user-doc -->
731
	 * <!-- end-user-doc -->
732
	 * @generated
733
	 * @ordered
734
	 */
735
	int OUTPUT_TERMINAL__ID = TERMINAL__ID;
736
737
	/**
738
	 * The number of structural features of the the '<em>Output Terminal</em>' class.
739
	 * <!-- begin-user-doc -->
740
	 * <!-- end-user-doc -->
741
	 * @generated
742
	 * @ordered
743
	 */
744
	int OUTPUT_TERMINAL_FEATURE_COUNT = TERMINAL_FEATURE_COUNT + 0;
745
746
	/**
747
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.InputTerminalImpl <em>Input Terminal</em>}' class.
748
	 * <!-- begin-user-doc -->
749
	 * <!-- end-user-doc -->
750
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.InputTerminalImpl
751
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.SemanticPackageImpl#getInputTerminal()
752
	 * @generated
753
	 */
754
	int INPUT_TERMINAL = 13;
755
756
	/**
757
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
758
	 * <!-- begin-user-doc -->
759
	 * <!-- end-user-doc -->
760
	 * @generated
761
	 * @ordered
762
	 */
763
	int INPUT_TERMINAL__TERMINALS = TERMINAL__TERMINALS;
764
765
	/**
766
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
767
	 * <!-- begin-user-doc -->
768
	 * <!-- end-user-doc -->
769
	 * @generated
770
	 * @ordered
771
	 */
772
	int INPUT_TERMINAL__OUTPUT_TERMINALS = TERMINAL__OUTPUT_TERMINALS;
773
774
	/**
775
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
776
	 * <!-- begin-user-doc -->
777
	 * <!-- end-user-doc -->
778
	 * @generated
779
	 * @ordered
780
	 */
781
	int INPUT_TERMINAL__INPUT_TERMINALS = TERMINAL__INPUT_TERMINALS;
782
783
	/**
784
	 * The feature id for the '<em><b>Id</b></em>' attribute.
785
	 * <!-- begin-user-doc -->
786
	 * <!-- end-user-doc -->
787
	 * @generated
788
	 * @ordered
789
	 */
790
	int INPUT_TERMINAL__ID = TERMINAL__ID;
791
792
	/**
793
	 * The number of structural features of the the '<em>Input Terminal</em>' class.
794
	 * <!-- begin-user-doc -->
795
	 * <!-- end-user-doc -->
796
	 * @generated
797
	 * @ordered
798
	 */
799
	int INPUT_TERMINAL_FEATURE_COUNT = TERMINAL_FEATURE_COUNT + 0;
800
801
802
	/**
803
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.InputOutputTerminalImpl <em>Input Output Terminal</em>}' class.
804
	 * <!-- begin-user-doc -->
805
	 * <!-- end-user-doc -->
806
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.InputOutputTerminalImpl
807
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.impl.SemanticPackageImpl#getInputOutputTerminal()
808
	 * @generated
809
	 */
810
	int INPUT_OUTPUT_TERMINAL = 14;
811
812
	/**
813
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
814
	 * <!-- begin-user-doc -->
815
	 * <!-- end-user-doc -->
816
	 * @generated
817
	 * @ordered
818
	 */
819
	int INPUT_OUTPUT_TERMINAL__TERMINALS = OUTPUT_TERMINAL__TERMINALS;
820
821
	/**
822
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
823
	 * <!-- begin-user-doc -->
824
	 * <!-- end-user-doc -->
825
	 * @generated
826
	 * @ordered
827
	 */
828
	int INPUT_OUTPUT_TERMINAL__OUTPUT_TERMINALS = OUTPUT_TERMINAL__OUTPUT_TERMINALS;
829
830
	/**
831
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
832
	 * <!-- begin-user-doc -->
833
	 * <!-- end-user-doc -->
834
	 * @generated
835
	 * @ordered
836
	 */
837
	int INPUT_OUTPUT_TERMINAL__INPUT_TERMINALS = OUTPUT_TERMINAL__INPUT_TERMINALS;
838
839
	/**
840
	 * The feature id for the '<em><b>Id</b></em>' attribute.
841
	 * <!-- begin-user-doc -->
842
	 * <!-- end-user-doc -->
843
	 * @generated
844
	 * @ordered
845
	 */
846
	int INPUT_OUTPUT_TERMINAL__ID = OUTPUT_TERMINAL__ID;
847
848
	/**
849
	 * The number of structural features of the the '<em>Input Output Terminal</em>' class.
850
	 * <!-- begin-user-doc -->
851
	 * <!-- end-user-doc -->
852
	 * @generated
853
	 * @ordered
854
	 */
855
	int INPUT_OUTPUT_TERMINAL_FEATURE_COUNT = OUTPUT_TERMINAL_FEATURE_COUNT + 0;
856
857
858
	/**
859
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.LED <em>LED</em>}'.
860
	 * <!-- begin-user-doc -->
861
	 * <!-- end-user-doc -->
862
	 * @return the meta object for class '<em>LED</em>'.
863
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.LED
864
	 * @generated
865
	 */
866
	EClass getLED();
867
868
	/**
869
	 * Returns the meta object for the attribute '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.LED#getValue <em>Value</em>}'.
870
	 * <!-- begin-user-doc -->
871
	 * <!-- end-user-doc -->
872
	 * @return the meta object for the attribute '<em>Value</em>'.
873
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.LED#getValue()
874
	 * @see #getLED()
875
	 * @generated
876
	 */
877
	EAttribute getLED_Value();
878
879
	/**
880
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Element <em>Element</em>}'.
881
	 * <!-- begin-user-doc -->
882
	 * <!-- end-user-doc -->
883
	 * @return the meta object for class '<em>Element</em>'.
884
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.Element
885
	 * @generated
886
	 */
887
	EClass getElement();
888
889
	/**
890
	 * Returns the meta object for the containment reference list '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Element#getTerminals <em>Terminals</em>}'.
891
	 * <!-- begin-user-doc -->
892
	 * <!-- end-user-doc -->
893
	 * @return the meta object for the containment reference list '<em>Terminals</em>'.
894
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.Element#getTerminals()
895
	 * @see #getElement()
896
	 * @generated
897
	 */
898
	EReference getElement_Terminals();
899
900
	/**
901
	 * Returns the meta object for the reference list '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Element#getOutputTerminals <em>Output Terminals</em>}'.
902
	 * <!-- begin-user-doc -->
903
	 * <!-- end-user-doc -->
904
	 * @return the meta object for the reference list '<em>Output Terminals</em>'.
905
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.Element#getOutputTerminals()
906
	 * @see #getElement()
907
	 * @generated
908
	 */
909
	EReference getElement_OutputTerminals();
910
911
	/**
912
	 * Returns the meta object for the reference list '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Element#getInputTerminals <em>Input Terminals</em>}'.
913
	 * <!-- begin-user-doc -->
914
	 * <!-- end-user-doc -->
915
	 * @return the meta object for the reference list '<em>Input Terminals</em>'.
916
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.Element#getInputTerminals()
917
	 * @see #getElement()
918
	 * @generated
919
	 */
920
	EReference getElement_InputTerminals();
921
922
	/**
923
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire <em>Wire</em>}'.
924
	 * <!-- begin-user-doc -->
925
	 * <!-- end-user-doc -->
926
	 * @return the meta object for class '<em>Wire</em>'.
927
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire
928
	 * @generated
929
	 */
930
	EClass getWire();
931
932
	/**
933
	 * Returns the meta object for the reference '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire#getSource <em>Source</em>}'.
934
	 * <!-- begin-user-doc -->
935
	 * <!-- end-user-doc -->
936
	 * @return the meta object for the reference '<em>Source</em>'.
937
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire#getSource()
938
	 * @see #getWire()
939
	 * @generated
940
	 */
941
	EReference getWire_Source();
942
943
	/**
944
	 * Returns the meta object for the reference '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire#getTarget <em>Target</em>}'.
945
	 * <!-- begin-user-doc -->
946
	 * <!-- end-user-doc -->
947
	 * @return the meta object for the reference '<em>Target</em>'.
948
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire#getTarget()
949
	 * @see #getWire()
950
	 * @generated
951
	 */
952
	EReference getWire_Target();
953
954
	/**
955
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Circuit <em>Circuit</em>}'.
956
	 * <!-- begin-user-doc -->
957
	 * <!-- end-user-doc -->
958
	 * @return the meta object for class '<em>Circuit</em>'.
959
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.Circuit
960
	 * @generated
961
	 */
962
	EClass getCircuit();
963
964
	/**
965
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Gate <em>Gate</em>}'.
966
	 * <!-- begin-user-doc -->
967
	 * <!-- end-user-doc -->
968
	 * @return the meta object for class '<em>Gate</em>'.
969
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.Gate
970
	 * @generated
971
	 */
972
	EClass getGate();
973
974
	/**
975
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.FlowContainer <em>Flow Container</em>}'.
976
	 * <!-- begin-user-doc -->
977
	 * <!-- end-user-doc -->
978
	 * @return the meta object for class '<em>Flow Container</em>'.
979
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.FlowContainer
980
	 * @generated
981
	 */
982
	EClass getFlowContainer();
983
984
	/**
985
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.AndGate <em>And Gate</em>}'.
986
	 * <!-- begin-user-doc -->
987
	 * <!-- end-user-doc -->
988
	 * @return the meta object for class '<em>And Gate</em>'.
989
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.AndGate
990
	 * @generated
991
	 */
992
	EClass getAndGate();
993
994
	/**
995
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.OrGate <em>Or Gate</em>}'.
996
	 * <!-- begin-user-doc -->
997
	 * <!-- end-user-doc -->
998
	 * @return the meta object for class '<em>Or Gate</em>'.
999
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.OrGate
1000
	 * @generated
1001
	 */
1002
	EClass getOrGate();
1003
1004
	/**
1005
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.XORGate <em>XOR Gate</em>}'.
1006
	 * <!-- begin-user-doc -->
1007
	 * <!-- end-user-doc -->
1008
	 * @return the meta object for class '<em>XOR Gate</em>'.
1009
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.XORGate
1010
	 * @generated
1011
	 */
1012
	EClass getXORGate();
1013
1014
	/**
1015
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Model <em>Model</em>}'.
1016
	 * <!-- begin-user-doc -->
1017
	 * <!-- end-user-doc -->
1018
	 * @return the meta object for class '<em>Model</em>'.
1019
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.Model
1020
	 * @generated
1021
	 */
1022
	EClass getModel();
1023
1024
	/**
1025
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.ContainerElement <em>Container Element</em>}'.
1026
	 * <!-- begin-user-doc -->
1027
	 * <!-- end-user-doc -->
1028
	 * @return the meta object for class '<em>Container Element</em>'.
1029
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.ContainerElement
1030
	 * @generated
1031
	 */
1032
	EClass getContainerElement();
1033
1034
	/**
1035
	 * Returns the meta object for the containment reference list '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.ContainerElement#getChildren <em>Children</em>}'.
1036
	 * <!-- begin-user-doc -->
1037
	 * <!-- end-user-doc -->
1038
	 * @return the meta object for the containment reference list '<em>Children</em>'.
1039
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.ContainerElement#getChildren()
1040
	 * @see #getContainerElement()
1041
	 * @generated
1042
	 */
1043
	EReference getContainerElement_Children();
1044
1045
	/**
1046
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal <em>Terminal</em>}'.
1047
	 * <!-- begin-user-doc -->
1048
	 * <!-- end-user-doc -->
1049
	 * @return the meta object for class '<em>Terminal</em>'.
1050
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal
1051
	 * @generated
1052
	 */
1053
	EClass getTerminal();
1054
1055
	/**
1056
	 * Returns the meta object for the attribute '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal#getId <em>Id</em>}'.
1057
	 * <!-- begin-user-doc -->
1058
	 * <!-- end-user-doc -->
1059
	 * @return the meta object for the attribute '<em>Id</em>'.
1060
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal#getId()
1061
	 * @see #getTerminal()
1062
	 * @generated
1063
	 */
1064
	EAttribute getTerminal_Id();
1065
1066
	/**
1067
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.OutputTerminal <em>Output Terminal</em>}'.
1068
	 * <!-- begin-user-doc -->
1069
	 * <!-- end-user-doc -->
1070
	 * @return the meta object for class '<em>Output Terminal</em>'.
1071
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.OutputTerminal
1072
	 * @generated
1073
	 */
1074
	EClass getOutputTerminal();
1075
1076
	/**
1077
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal <em>Input Terminal</em>}'.
1078
	 * <!-- begin-user-doc -->
1079
	 * <!-- end-user-doc -->
1080
	 * @return the meta object for class '<em>Input Terminal</em>'.
1081
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal
1082
	 * @generated
1083
	 */
1084
	EClass getInputTerminal();
1085
1086
	/**
1087
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.InputOutputTerminal <em>Input Output Terminal</em>}'.
1088
	 * <!-- begin-user-doc -->
1089
	 * <!-- end-user-doc -->
1090
	 * @return the meta object for class '<em>Input Output Terminal</em>'.
1091
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.InputOutputTerminal
1092
	 * @generated
1093
	 */
1094
	EClass getInputOutputTerminal();
1095
1096
	/**
1097
	 * Returns the factory that creates the instances of the model.
1098
	 * <!-- begin-user-doc -->
1099
	 * <!-- end-user-doc -->
1100
	 * @return the factory that creates the instances of the model.
1101
	 * @generated
1102
	 */
1103
	SemanticFactory getSemanticFactory();
1104
1105
} //SemanticPackage
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/ContainerElement.java (-49 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model;
13
14
import org.eclipse.emf.common.util.EList;
15
16
/**
17
 * <!-- begin-user-doc -->
18
 * A representation of the model object '<em><b>Container Element</b></em>'.
19
 * <!-- end-user-doc -->
20
 *
21
 * <p>
22
 * The following features are supported:
23
 * <ul>
24
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.ContainerElement#getChildren <em>Children</em>}</li>
25
 * </ul>
26
 * </p>
27
 *
28
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getContainerElement()
29
 * @model abstract="true"
30
 * @generated
31
 */
32
public interface ContainerElement extends Element{
33
	/**
34
	 * Returns the value of the '<em><b>Children</b></em>' containment reference list.
35
	 * The list contents are of type {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Element}.
36
	 * <!-- begin-user-doc -->
37
	 * <p>
38
	 * If the meaning of the '<em>Children</em>' containment reference list isn't clear,
39
	 * there really should be more of a description here...
40
	 * </p>
41
	 * <!-- end-user-doc -->
42
	 * @return the value of the '<em>Children</em>' containment reference list.
43
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getContainerElement_Children()
44
	 * @model type="org.eclipse.gmf.examples.runtime.diagram.logic.model.Element" containment="true"
45
	 * @generated
46
	 */
47
	EList getChildren();
48
49
} // ContainerElement
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/InputOutputTerminal.java (-27 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model;
13
14
15
/**
16
 * <!-- begin-user-doc -->
17
 * A representation of the model object '<em><b>Input Output Terminal</b></em>'.
18
 * <!-- end-user-doc -->
19
 *
20
 *
21
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getInputOutputTerminal()
22
 * @model 
23
 * @generated
24
 */
25
public interface InputOutputTerminal extends OutputTerminal, InputTerminal {
26
//	 no default API
27
} // InputOutputTerminal
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/LED.java (-59 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model;
13
14
15
/**
16
 * <!-- begin-user-doc -->
17
 * A representation of the model object '<em><b>LED</b></em>'.
18
 * <!-- end-user-doc -->
19
 *
20
 * <p>
21
 * The following features are supported:
22
 * <ul>
23
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.LED#getValue <em>Value</em>}</li>
24
 * </ul>
25
 * </p>
26
 *
27
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getLED()
28
 * @model 
29
 * @generated
30
 */
31
public interface LED extends Element{
32
	/**
33
	 * Returns the value of the '<em><b>Value</b></em>' attribute.
34
	 * The default value is <code>"0"</code>.
35
	 * <!-- begin-user-doc -->
36
	 * <p>
37
	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
38
	 * there really should be more of a description here...
39
	 * </p>
40
	 * <!-- end-user-doc -->
41
	 * @return the value of the '<em>Value</em>' attribute.
42
	 * @see #setValue(int)
43
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getLED_Value()
44
	 * @model default="0"
45
	 * @generated
46
	 */
47
	int getValue();
48
49
	/**
50
	 * Sets the value of the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.LED#getValue <em>Value</em>}' attribute.
51
	 * <!-- begin-user-doc -->
52
	 * <!-- end-user-doc -->
53
	 * @param value the new value of the '<em>Value</em>' attribute.
54
	 * @see #getValue()
55
	 * @generated
56
	 */
57
	void setValue(int value);
58
59
} // LED
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/Model.java (-27 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model;
13
14
15
/**
16
 * <!-- begin-user-doc -->
17
 * A representation of the model object '<em><b>Model</b></em>'.
18
 * <!-- end-user-doc -->
19
 *
20
 *
21
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getModel()
22
 * @model 
23
 * @generated
24
 */
25
public interface Model extends ContainerElement {
26
//	 no default API
27
} // Model
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/Terminal.java (-59 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model;
13
14
15
/**
16
 * <!-- begin-user-doc -->
17
 * A representation of the model object '<em><b>Terminal</b></em>'.
18
 * <!-- end-user-doc -->
19
 *
20
 * <p>
21
 * The following features are supported:
22
 * <ul>
23
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal#getId <em>Id</em>}</li>
24
 * </ul>
25
 * </p>
26
 *
27
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getTerminal()
28
 * @model abstract="true"
29
 * @generated
30
 */
31
public interface Terminal extends Element{
32
	/**
33
	 * Returns the value of the '<em><b>Id</b></em>' attribute.
34
	 * The default value is <code>""</code>.
35
	 * <!-- begin-user-doc -->
36
	 * <p>
37
	 * If the meaning of the '<em>Id</em>' attribute isn't clear,
38
	 * there really should be more of a description here...
39
	 * </p>
40
	 * <!-- end-user-doc -->
41
	 * @return the value of the '<em>Id</em>' attribute.
42
	 * @see #setId(String)
43
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getTerminal_Id()
44
	 * @model default=""
45
	 * @generated
46
	 */
47
	String getId();
48
49
	/**
50
	 * Sets the value of the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal#getId <em>Id</em>}' attribute.
51
	 * <!-- begin-user-doc -->
52
	 * <!-- end-user-doc -->
53
	 * @param value the new value of the '<em>Id</em>' attribute.
54
	 * @see #getId()
55
	 * @generated
56
	 */
57
	void setId(String value);
58
59
} // Terminal
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/OutputTerminal.java (-27 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model;
13
14
15
/**
16
 * <!-- begin-user-doc -->
17
 * A representation of the model object '<em><b>Output Terminal</b></em>'.
18
 * <!-- end-user-doc -->
19
 *
20
 *
21
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getOutputTerminal()
22
 * @model 
23
 * @generated
24
 */
25
public interface OutputTerminal extends Terminal {
26
//	 no default API
27
} // OutputTerminal
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/Element.java (-85 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model;
13
14
import org.eclipse.emf.common.util.EList;
15
16
import org.eclipse.emf.ecore.EObject;
17
18
/**
19
 * <!-- begin-user-doc -->
20
 * A representation of the model object '<em><b>Element</b></em>'.
21
 * <!-- end-user-doc -->
22
 *
23
 * <p>
24
 * The following features are supported:
25
 * <ul>
26
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Element#getTerminals <em>Terminals</em>}</li>
27
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Element#getOutputTerminals <em>Output Terminals</em>}</li>
28
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Element#getInputTerminals <em>Input Terminals</em>}</li>
29
 * </ul>
30
 * </p>
31
 *
32
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getElement()
33
 * @model abstract="true"
34
 * @generated
35
 */
36
public interface Element extends EObject{
37
	/**
38
	 * Returns the value of the '<em><b>Terminals</b></em>' containment reference list.
39
	 * The list contents are of type {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal}.
40
	 * <!-- begin-user-doc -->
41
	 * <p>
42
	 * If the meaning of the '<em>Terminals</em>' containment reference list isn't clear,
43
	 * there really should be more of a description here...
44
	 * </p>
45
	 * <!-- end-user-doc -->
46
	 * @return the value of the '<em>Terminals</em>' containment reference list.
47
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getElement_Terminals()
48
	 * @model type="org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal" containment="true"
49
	 * @generated
50
	 */
51
	EList getTerminals();
52
53
	/**
54
	 * Returns the value of the '<em><b>Output Terminals</b></em>' reference list.
55
	 * The list contents are of type {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal}.
56
	 * <!-- begin-user-doc -->
57
	 * <p>
58
	 * If the meaning of the '<em>Output Terminals</em>' reference list isn't clear,
59
	 * there really should be more of a description here...
60
	 * </p>
61
	 * <!-- end-user-doc -->
62
	 * @return the value of the '<em>Output Terminals</em>' reference list.
63
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getElement_OutputTerminals()
64
	 * @model type="org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal" transient="true" changeable="false" volatile="true"
65
	 * @generated
66
	 */
67
	EList getOutputTerminals();
68
69
	/**
70
	 * Returns the value of the '<em><b>Input Terminals</b></em>' reference list.
71
	 * The list contents are of type {@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal}.
72
	 * <!-- begin-user-doc -->
73
	 * <p>
74
	 * If the meaning of the '<em>Input Terminals</em>' reference list isn't clear,
75
	 * there really should be more of a description here...
76
	 * </p>
77
	 * <!-- end-user-doc -->
78
	 * @return the value of the '<em>Input Terminals</em>' reference list.
79
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage#getElement_InputTerminals()
80
	 * @model type="org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal" transient="true" changeable="false" volatile="true"
81
	 * @generated
82
	 */
83
	EList getInputTerminals();
84
85
} // Element
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/util/SemanticAdapterFactory.java (-375 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.util;
13
14
import org.eclipse.gmf.examples.runtime.diagram.logic.model.*;
15
16
import org.eclipse.emf.common.notify.Adapter;
17
import org.eclipse.emf.common.notify.Notifier;
18
import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
19
import org.eclipse.emf.ecore.EObject;
20
21
import org.eclipse.gmf.examples.runtime.diagram.logic.model.AndGate;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Circuit;
23
import org.eclipse.gmf.examples.runtime.diagram.logic.model.ContainerElement;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Element;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.model.FlowContainer;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Gate;
27
import org.eclipse.gmf.examples.runtime.diagram.logic.model.LED;
28
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Model;
29
import org.eclipse.gmf.examples.runtime.diagram.logic.model.OrGate;
30
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
31
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal;
32
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire;
33
import org.eclipse.gmf.examples.runtime.diagram.logic.model.XORGate;
34
35
/**
36
 * <!-- begin-user-doc -->
37
 * The <b>Adapter Factory</b> for the model.
38
 * It provides an adapter <code>createXXX</code> method for each class of the model.
39
 * <!-- end-user-doc -->
40
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage
41
 * @generated
42
 */
43
public class SemanticAdapterFactory extends AdapterFactoryImpl {
44
	/**
45
	 * The cached model package.
46
	 * <!-- begin-user-doc -->
47
	 * <!-- end-user-doc -->
48
	 * @generated
49
	 */
50
	protected static SemanticPackage modelPackage;
51
52
	/**
53
	 * Creates an instance of the adapter factory.
54
	 * <!-- begin-user-doc -->
55
	 * <!-- end-user-doc -->
56
	 * @generated
57
	 */
58
	public SemanticAdapterFactory() {
59
		if (modelPackage == null) {
60
			modelPackage = SemanticPackage.eINSTANCE;
61
		}
62
	}
63
64
	/**
65
	 * Returns whether this factory is applicable for the type of the object.
66
	 * <!-- begin-user-doc -->
67
	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
68
	 * <!-- end-user-doc -->
69
	 * @return whether this factory is applicable for the type of the object.
70
	 * @generated
71
	 */
72
	public boolean isFactoryForType(Object object) {
73
		if (object == modelPackage) {
74
			return true;
75
		}
76
		if (object instanceof EObject) {
77
			return ((EObject)object).eClass().getEPackage() == modelPackage;
78
		}
79
		return false;
80
	}
81
82
	/**
83
	 * The switch the delegates to the <code>createXXX</code> methods.
84
	 * <!-- begin-user-doc -->
85
	 * <!-- end-user-doc -->
86
	 * @generated
87
	 */
88
	protected SemanticSwitch modelSwitch =
89
		new SemanticSwitch() {
90
			public Object caseLED(LED object) {
91
				return createLEDAdapter();
92
			}
93
			public Object caseElement(Element object) {
94
				return createElementAdapter();
95
			}
96
			public Object caseWire(Wire object) {
97
				return createWireAdapter();
98
			}
99
			public Object caseCircuit(Circuit object) {
100
				return createCircuitAdapter();
101
			}
102
			public Object caseGate(Gate object) {
103
				return createGateAdapter();
104
			}
105
			public Object caseFlowContainer(FlowContainer object) {
106
				return createFlowContainerAdapter();
107
			}
108
			public Object caseAndGate(AndGate object) {
109
				return createAndGateAdapter();
110
			}
111
			public Object caseOrGate(OrGate object) {
112
				return createOrGateAdapter();
113
			}
114
			public Object caseXORGate(XORGate object) {
115
				return createXORGateAdapter();
116
			}
117
			public Object caseModel(Model object) {
118
				return createModelAdapter();
119
			}
120
			public Object caseContainerElement(ContainerElement object) {
121
				return createContainerElementAdapter();
122
			}
123
			public Object caseTerminal(Terminal object) {
124
				return createTerminalAdapter();
125
			}
126
			public Object caseOutputTerminal(OutputTerminal object) {
127
				return createOutputTerminalAdapter();
128
			}
129
			public Object caseInputTerminal(InputTerminal object) {
130
				return createInputTerminalAdapter();
131
			}
132
			public Object caseInputOutputTerminal(InputOutputTerminal object) {
133
				return createInputOutputTerminalAdapter();
134
			}
135
			public Object defaultCase(EObject object) {
136
				return createEObjectAdapter();
137
			}
138
		};
139
140
	/**
141
	 * Creates an adapter for the <code>target</code>.
142
	 * <!-- begin-user-doc -->
143
	 * <!-- end-user-doc -->
144
	 * @param target the object to adapt.
145
	 * @return the adapter for the <code>target</code>.
146
	 * @generated
147
	 */
148
	public Adapter createAdapter(Notifier target) {
149
		return (Adapter)modelSwitch.doSwitch((EObject)target);
150
	}
151
152
153
	/**
154
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.LED <em>LED</em>}'.
155
	 * <!-- begin-user-doc -->
156
	 * This default implementation returns null so that we can easily ignore cases;
157
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
158
	 * <!-- end-user-doc -->
159
	 * @return the new adapter.
160
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.LED
161
	 * @generated
162
	 */
163
	public Adapter createLEDAdapter() {
164
		return null;
165
	}
166
167
	/**
168
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Element <em>Element</em>}'.
169
	 * <!-- begin-user-doc -->
170
	 * This default implementation returns null so that we can easily ignore cases;
171
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
172
	 * <!-- end-user-doc -->
173
	 * @return the new adapter.
174
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.Element
175
	 * @generated
176
	 */
177
	public Adapter createElementAdapter() {
178
		return null;
179
	}
180
181
	/**
182
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire <em>Wire</em>}'.
183
	 * <!-- begin-user-doc -->
184
	 * This default implementation returns null so that we can easily ignore cases;
185
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
186
	 * <!-- end-user-doc -->
187
	 * @return the new adapter.
188
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire
189
	 * @generated
190
	 */
191
	public Adapter createWireAdapter() {
192
		return null;
193
	}
194
195
	/**
196
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Circuit <em>Circuit</em>}'.
197
	 * <!-- begin-user-doc -->
198
	 * This default implementation returns null so that we can easily ignore cases;
199
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
200
	 * <!-- end-user-doc -->
201
	 * @return the new adapter.
202
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.Circuit
203
	 * @generated
204
	 */
205
	public Adapter createCircuitAdapter() {
206
		return null;
207
	}
208
209
	/**
210
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Gate <em>Gate</em>}'.
211
	 * <!-- begin-user-doc -->
212
	 * This default implementation returns null so that we can easily ignore cases;
213
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
214
	 * <!-- end-user-doc -->
215
	 * @return the new adapter.
216
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.Gate
217
	 * @generated
218
	 */
219
	public Adapter createGateAdapter() {
220
		return null;
221
	}
222
223
	/**
224
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.FlowContainer <em>Flow Container</em>}'.
225
	 * <!-- begin-user-doc -->
226
	 * This default implementation returns null so that we can easily ignore cases;
227
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
228
	 * <!-- end-user-doc -->
229
	 * @return the new adapter.
230
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.FlowContainer
231
	 * @generated
232
	 */
233
	public Adapter createFlowContainerAdapter() {
234
		return null;
235
	}
236
237
	/**
238
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.AndGate <em>And Gate</em>}'.
239
	 * <!-- begin-user-doc -->
240
	 * This default implementation returns null so that we can easily ignore cases;
241
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
242
	 * <!-- end-user-doc -->
243
	 * @return the new adapter.
244
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.AndGate
245
	 * @generated
246
	 */
247
	public Adapter createAndGateAdapter() {
248
		return null;
249
	}
250
251
	/**
252
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.OrGate <em>Or Gate</em>}'.
253
	 * <!-- begin-user-doc -->
254
	 * This default implementation returns null so that we can easily ignore cases;
255
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
256
	 * <!-- end-user-doc -->
257
	 * @return the new adapter.
258
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.OrGate
259
	 * @generated
260
	 */
261
	public Adapter createOrGateAdapter() {
262
		return null;
263
	}
264
265
	/**
266
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.XORGate <em>XOR Gate</em>}'.
267
	 * <!-- begin-user-doc -->
268
	 * This default implementation returns null so that we can easily ignore cases;
269
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
270
	 * <!-- end-user-doc -->
271
	 * @return the new adapter.
272
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.XORGate
273
	 * @generated
274
	 */
275
	public Adapter createXORGateAdapter() {
276
		return null;
277
	}
278
279
	/**
280
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Model <em>Model</em>}'.
281
	 * <!-- begin-user-doc -->
282
	 * This default implementation returns null so that we can easily ignore cases;
283
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
284
	 * <!-- end-user-doc -->
285
	 * @return the new adapter.
286
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.Model
287
	 * @generated
288
	 */
289
	public Adapter createModelAdapter() {
290
		return null;
291
	}
292
293
	/**
294
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.ContainerElement <em>Container Element</em>}'.
295
	 * <!-- begin-user-doc -->
296
	 * This default implementation returns null so that we can easily ignore cases;
297
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
298
	 * <!-- end-user-doc -->
299
	 * @return the new adapter.
300
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.ContainerElement
301
	 * @generated
302
	 */
303
	public Adapter createContainerElementAdapter() {
304
		return null;
305
	}
306
307
	/**
308
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal <em>Terminal</em>}'.
309
	 * <!-- begin-user-doc -->
310
	 * This default implementation returns null so that we can easily ignore cases;
311
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
312
	 * <!-- end-user-doc -->
313
	 * @return the new adapter.
314
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal
315
	 * @generated
316
	 */
317
	public Adapter createTerminalAdapter() {
318
		return null;
319
	}
320
321
	/**
322
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.OutputTerminal <em>Output Terminal</em>}'.
323
	 * <!-- begin-user-doc -->
324
	 * This default implementation returns null so that we can easily ignore cases;
325
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
326
	 * <!-- end-user-doc -->
327
	 * @return the new adapter.
328
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.OutputTerminal
329
	 * @generated
330
	 */
331
	public Adapter createOutputTerminalAdapter() {
332
		return null;
333
	}
334
335
	/**
336
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal <em>Input Terminal</em>}'.
337
	 * <!-- begin-user-doc -->
338
	 * This default implementation returns null so that we can easily ignore cases;
339
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
340
	 * <!-- end-user-doc -->
341
	 * @return the new adapter.
342
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.InputTerminal
343
	 * @generated
344
	 */
345
	public Adapter createInputTerminalAdapter() {
346
		return null;
347
	}
348
349
	/**
350
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.model.InputOutputTerminal <em>Input Output Terminal</em>}'.
351
	 * <!-- begin-user-doc -->
352
	 * This default implementation returns null so that we can easily ignore cases;
353
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
354
	 * <!-- end-user-doc -->
355
	 * @return the new adapter.
356
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.InputOutputTerminal
357
	 * @generated
358
	 */
359
	public Adapter createInputOutputTerminalAdapter() {
360
		return null;
361
	}
362
363
	/**
364
	 * Creates a new adapter for the default case.
365
	 * <!-- begin-user-doc -->
366
	 * This default implementation returns null.
367
	 * <!-- end-user-doc -->
368
	 * @return the new adapter.
369
	 * @generated
370
	 */
371
	public Adapter createEObjectAdapter() {
372
		return null;
373
	}
374
375
} //SemanticAdapterFactory
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/util/SemanticSwitch.java (-441 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.util;
13
14
import org.eclipse.gmf.examples.runtime.diagram.logic.model.*;
15
16
import java.util.List;
17
18
import org.eclipse.emf.ecore.EClass;
19
import org.eclipse.emf.ecore.EObject;
20
21
import org.eclipse.gmf.examples.runtime.diagram.logic.model.AndGate;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Circuit;
23
import org.eclipse.gmf.examples.runtime.diagram.logic.model.ContainerElement;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Element;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.model.FlowContainer;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Gate;
27
import org.eclipse.gmf.examples.runtime.diagram.logic.model.LED;
28
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Model;
29
import org.eclipse.gmf.examples.runtime.diagram.logic.model.OrGate;
30
import org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage;
31
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Terminal;
32
import org.eclipse.gmf.examples.runtime.diagram.logic.model.Wire;
33
import org.eclipse.gmf.examples.runtime.diagram.logic.model.XORGate;
34
35
/**
36
 * <!-- begin-user-doc -->
37
 * The <b>Switch</b> for the model's inheritance hierarchy.
38
 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
39
 * to invoke the <code>caseXXX</code> method for each class of the model,
40
 * starting with the actual class of the object
41
 * and proceeding up the inheritance hierarchy
42
 * until a non-null result is returned,
43
 * which is the result of the switch.
44
 * <!-- end-user-doc -->
45
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage
46
 * @generated
47
 */
48
public class SemanticSwitch {
49
	/**
50
	 * The cached model package
51
	 * <!-- begin-user-doc -->
52
	 * <!-- end-user-doc -->
53
	 * @generated
54
	 */
55
	protected static SemanticPackage modelPackage;
56
57
	/**
58
	 * Creates an instance of the switch.
59
	 * <!-- begin-user-doc -->
60
	 * <!-- end-user-doc -->
61
	 * @generated
62
	 */
63
	public SemanticSwitch() {
64
		if (modelPackage == null) {
65
			modelPackage = SemanticPackage.eINSTANCE;
66
		}
67
	}
68
69
	/**
70
	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
71
	 * <!-- begin-user-doc -->
72
	 * <!-- end-user-doc -->
73
	 * @return the first non-null result returned by a <code>caseXXX</code> call.
74
	 * @generated
75
	 */
76
	public Object doSwitch(EObject theEObject) {
77
		return doSwitch(theEObject.eClass(), theEObject);
78
	}
79
80
	/**
81
	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
82
	 * <!-- begin-user-doc -->
83
	 * <!-- end-user-doc -->
84
	 * @return the first non-null result returned by a <code>caseXXX</code> call.
85
	 * @generated
86
	 */
87
	protected Object doSwitch(EClass theEClass, EObject theEObject) {
88
		if (theEClass.eContainer() == modelPackage) {
89
			return doSwitch(theEClass.getClassifierID(), theEObject);
90
		}
91
		else {
92
			List eSuperTypes = theEClass.getESuperTypes();
93
			return
94
				eSuperTypes.isEmpty() ?
95
					defaultCase(theEObject) :
96
					doSwitch((EClass)eSuperTypes.get(0), theEObject);
97
		}
98
	}
99
100
	/**
101
	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
102
	 * <!-- begin-user-doc -->
103
	 * <!-- end-user-doc -->
104
	 * @return the first non-null result returned by a <code>caseXXX</code> call.
105
	 * @generated
106
	 */
107
	protected Object doSwitch(int classifierID, EObject theEObject) {
108
		switch (classifierID) {
109
			case SemanticPackage.LED: {
110
				LED led = (LED)theEObject;
111
				Object result = caseLED(led);
112
				if (result == null) result = caseElement(led);
113
				if (result == null) result = defaultCase(theEObject);
114
				return result;
115
			}
116
			case SemanticPackage.WIRE: {
117
				Wire wire = (Wire)theEObject;
118
				Object result = caseWire(wire);
119
				if (result == null) result = caseElement(wire);
120
				if (result == null) result = defaultCase(theEObject);
121
				return result;
122
			}
123
			case SemanticPackage.CIRCUIT: {
124
				Circuit circuit = (Circuit)theEObject;
125
				Object result = caseCircuit(circuit);
126
				if (result == null) result = caseContainerElement(circuit);
127
				if (result == null) result = caseElement(circuit);
128
				if (result == null) result = defaultCase(theEObject);
129
				return result;
130
			}
131
			case SemanticPackage.FLOW_CONTAINER: {
132
				FlowContainer flowContainer = (FlowContainer)theEObject;
133
				Object result = caseFlowContainer(flowContainer);
134
				if (result == null) result = caseContainerElement(flowContainer);
135
				if (result == null) result = caseElement(flowContainer);
136
				if (result == null) result = defaultCase(theEObject);
137
				return result;
138
			}
139
			case SemanticPackage.AND_GATE: {
140
				AndGate andGate = (AndGate)theEObject;
141
				Object result = caseAndGate(andGate);
142
				if (result == null) result = caseGate(andGate);
143
				if (result == null) result = caseElement(andGate);
144
				if (result == null) result = defaultCase(theEObject);
145
				return result;
146
			}
147
			case SemanticPackage.OR_GATE: {
148
				OrGate orGate = (OrGate)theEObject;
149
				Object result = caseOrGate(orGate);
150
				if (result == null) result = caseGate(orGate);
151
				if (result == null) result = caseElement(orGate);
152
				if (result == null) result = defaultCase(theEObject);
153
				return result;
154
			}
155
			case SemanticPackage.XOR_GATE: {
156
				XORGate xorGate = (XORGate)theEObject;
157
				Object result = caseXORGate(xorGate);
158
				if (result == null) result = caseGate(xorGate);
159
				if (result == null) result = caseElement(xorGate);
160
				if (result == null) result = defaultCase(theEObject);
161
				return result;
162
			}
163
			case SemanticPackage.MODEL: {
164
				Model model = (Model)theEObject;
165
				Object result = caseModel(model);
166
				if (result == null) result = caseContainerElement(model);
167
				if (result == null) result = caseElement(model);
168
				if (result == null) result = defaultCase(theEObject);
169
				return result;
170
			}
171
			case SemanticPackage.OUTPUT_TERMINAL: {
172
				OutputTerminal outputTerminal = (OutputTerminal)theEObject;
173
				Object result = caseOutputTerminal(outputTerminal);
174
				if (result == null) result = caseTerminal(outputTerminal);
175
				if (result == null) result = caseElement(outputTerminal);
176
				if (result == null) result = defaultCase(theEObject);
177
				return result;
178
			}
179
			case SemanticPackage.INPUT_TERMINAL: {
180
				InputTerminal inputTerminal = (InputTerminal)theEObject;
181
				Object result = caseInputTerminal(inputTerminal);
182
				if (result == null) result = caseTerminal(inputTerminal);
183
				if (result == null) result = caseElement(inputTerminal);
184
				if (result == null) result = defaultCase(theEObject);
185
				return result;
186
			}
187
			case SemanticPackage.INPUT_OUTPUT_TERMINAL: {
188
				InputOutputTerminal inputOutputTerminal = (InputOutputTerminal)theEObject;
189
				Object result = caseInputOutputTerminal(inputOutputTerminal);
190
				if (result == null) result = caseOutputTerminal(inputOutputTerminal);
191
				if (result == null) result = caseInputTerminal(inputOutputTerminal);
192
				if (result == null) result = caseTerminal(inputOutputTerminal);
193
				if (result == null) result = caseElement(inputOutputTerminal);
194
				if (result == null) result = defaultCase(theEObject);
195
				return result;
196
			}
197
			default: return defaultCase(theEObject);
198
		}
199
	}
200
201
	/**
202
	 * Returns the result of interpretting the object as an instance of '<em>LED</em>'.
203
	 * <!-- begin-user-doc -->
204
	 * This implementation returns null;
205
	 * returning a non-null result will terminate the switch.
206
	 * <!-- end-user-doc -->
207
	 * @param object the target of the switch.
208
	 * @return the result of interpretting the object as an instance of '<em>LED</em>'.
209
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
210
	 * @generated
211
	 */
212
	public Object caseLED(LED object) {
213
		return null;
214
	}
215
216
	/**
217
	 * Returns the result of interpretting the object as an instance of '<em>Element</em>'.
218
	 * <!-- begin-user-doc -->
219
	 * This implementation returns null;
220
	 * returning a non-null result will terminate the switch.
221
	 * <!-- end-user-doc -->
222
	 * @param object the target of the switch.
223
	 * @return the result of interpretting the object as an instance of '<em>Element</em>'.
224
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
225
	 * @generated
226
	 */
227
	public Object caseElement(Element object) {
228
		return null;
229
	}
230
231
	/**
232
	 * Returns the result of interpretting the object as an instance of '<em>Wire</em>'.
233
	 * <!-- begin-user-doc -->
234
	 * This implementation returns null;
235
	 * returning a non-null result will terminate the switch.
236
	 * <!-- end-user-doc -->
237
	 * @param object the target of the switch.
238
	 * @return the result of interpretting the object as an instance of '<em>Wire</em>'.
239
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
240
	 * @generated
241
	 */
242
	public Object caseWire(Wire object) {
243
		return null;
244
	}
245
246
	/**
247
	 * Returns the result of interpretting the object as an instance of '<em>Circuit</em>'.
248
	 * <!-- begin-user-doc -->
249
	 * This implementation returns null;
250
	 * returning a non-null result will terminate the switch.
251
	 * <!-- end-user-doc -->
252
	 * @param object the target of the switch.
253
	 * @return the result of interpretting the object as an instance of '<em>Circuit</em>'.
254
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
255
	 * @generated
256
	 */
257
	public Object caseCircuit(Circuit object) {
258
		return null;
259
	}
260
261
	/**
262
	 * Returns the result of interpretting the object as an instance of '<em>Gate</em>'.
263
	 * <!-- begin-user-doc -->
264
	 * This implementation returns null;
265
	 * returning a non-null result will terminate the switch.
266
	 * <!-- end-user-doc -->
267
	 * @param object the target of the switch.
268
	 * @return the result of interpretting the object as an instance of '<em>Gate</em>'.
269
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
270
	 * @generated
271
	 */
272
	public Object caseGate(Gate object) {
273
		return null;
274
	}
275
276
	/**
277
	 * Returns the result of interpretting the object as an instance of '<em>Flow Container</em>'.
278
	 * <!-- begin-user-doc -->
279
	 * This implementation returns null;
280
	 * returning a non-null result will terminate the switch.
281
	 * <!-- end-user-doc -->
282
	 * @param object the target of the switch.
283
	 * @return the result of interpretting the object as an instance of '<em>Flow Container</em>'.
284
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
285
	 * @generated
286
	 */
287
	public Object caseFlowContainer(FlowContainer object) {
288
		return null;
289
	}
290
291
	/**
292
	 * Returns the result of interpretting the object as an instance of '<em>And Gate</em>'.
293
	 * <!-- begin-user-doc -->
294
	 * This implementation returns null;
295
	 * returning a non-null result will terminate the switch.
296
	 * <!-- end-user-doc -->
297
	 * @param object the target of the switch.
298
	 * @return the result of interpretting the object as an instance of '<em>And Gate</em>'.
299
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
300
	 * @generated
301
	 */
302
	public Object caseAndGate(AndGate object) {
303
		return null;
304
	}
305
306
	/**
307
	 * Returns the result of interpretting the object as an instance of '<em>Or Gate</em>'.
308
	 * <!-- begin-user-doc -->
309
	 * This implementation returns null;
310
	 * returning a non-null result will terminate the switch.
311
	 * <!-- end-user-doc -->
312
	 * @param object the target of the switch.
313
	 * @return the result of interpretting the object as an instance of '<em>Or Gate</em>'.
314
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
315
	 * @generated
316
	 */
317
	public Object caseOrGate(OrGate object) {
318
		return null;
319
	}
320
321
	/**
322
	 * Returns the result of interpretting the object as an instance of '<em>XOR Gate</em>'.
323
	 * <!-- begin-user-doc -->
324
	 * This implementation returns null;
325
	 * returning a non-null result will terminate the switch.
326
	 * <!-- end-user-doc -->
327
	 * @param object the target of the switch.
328
	 * @return the result of interpretting the object as an instance of '<em>XOR Gate</em>'.
329
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
330
	 * @generated
331
	 */
332
	public Object caseXORGate(XORGate object) {
333
		return null;
334
	}
335
336
	/**
337
	 * Returns the result of interpretting the object as an instance of '<em>Model</em>'.
338
	 * <!-- begin-user-doc -->
339
	 * This implementation returns null;
340
	 * returning a non-null result will terminate the switch.
341
	 * <!-- end-user-doc -->
342
	 * @param object the target of the switch.
343
	 * @return the result of interpretting the object as an instance of '<em>Model</em>'.
344
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
345
	 * @generated
346
	 */
347
	public Object caseModel(Model object) {
348
		return null;
349
	}
350
351
	/**
352
	 * Returns the result of interpretting the object as an instance of '<em>Container Element</em>'.
353
	 * <!-- begin-user-doc -->
354
	 * This implementation returns null;
355
	 * returning a non-null result will terminate the switch.
356
	 * <!-- end-user-doc -->
357
	 * @param object the target of the switch.
358
	 * @return the result of interpretting the object as an instance of '<em>Container Element</em>'.
359
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
360
	 * @generated
361
	 */
362
	public Object caseContainerElement(ContainerElement object) {
363
		return null;
364
	}
365
366
	/**
367
	 * Returns the result of interpretting the object as an instance of '<em>Terminal</em>'.
368
	 * <!-- begin-user-doc -->
369
	 * This implementation returns null;
370
	 * returning a non-null result will terminate the switch.
371
	 * <!-- end-user-doc -->
372
	 * @param object the target of the switch.
373
	 * @return the result of interpretting the object as an instance of '<em>Terminal</em>'.
374
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
375
	 * @generated
376
	 */
377
	public Object caseTerminal(Terminal object) {
378
		return null;
379
	}
380
381
	/**
382
	 * Returns the result of interpretting the object as an instance of '<em>Output Terminal</em>'.
383
	 * <!-- begin-user-doc -->
384
	 * This implementation returns null;
385
	 * returning a non-null result will terminate the switch.
386
	 * <!-- end-user-doc -->
387
	 * @param object the target of the switch.
388
	 * @return the result of interpretting the object as an instance of '<em>Output Terminal</em>'.
389
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
390
	 * @generated
391
	 */
392
	public Object caseOutputTerminal(OutputTerminal object) {
393
		return null;
394
	}
395
396
	/**
397
	 * Returns the result of interpretting the object as an instance of '<em>Input Terminal</em>'.
398
	 * <!-- begin-user-doc -->
399
	 * This implementation returns null;
400
	 * returning a non-null result will terminate the switch.
401
	 * <!-- end-user-doc -->
402
	 * @param object the target of the switch.
403
	 * @return the result of interpretting the object as an instance of '<em>Input Terminal</em>'.
404
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
405
	 * @generated
406
	 */
407
	public Object caseInputTerminal(InputTerminal object) {
408
		return null;
409
	}
410
411
	/**
412
	 * Returns the result of interpretting the object as an instance of '<em>Input Output Terminal</em>'.
413
	 * <!-- begin-user-doc -->
414
	 * This implementation returns null;
415
	 * returning a non-null result will terminate the switch.
416
	 * <!-- end-user-doc -->
417
	 * @param object the target of the switch.
418
	 * @return the result of interpretting the object as an instance of '<em>Input Output Terminal</em>'.
419
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
420
	 * @generated
421
	 */
422
	public Object caseInputOutputTerminal(InputOutputTerminal object) {
423
		return null;
424
	}
425
426
	/**
427
	 * Returns the result of interpretting the object as an instance of '<em>EObject</em>'.
428
	 * <!-- begin-user-doc -->
429
	 * This implementation returns null;
430
	 * returning a non-null result will terminate the switch, but this is the last case anyway.
431
	 * <!-- end-user-doc -->
432
	 * @param object the target of the switch.
433
	 * @return the result of interpretting the object as an instance of '<em>EObject</em>'.
434
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
435
	 * @generated
436
	 */
437
	public Object defaultCase(EObject object) {
438
		return null;
439
	}
440
441
} //SemanticSwitch
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/model/util/LogicSemanticType.java (-51 lines)
Removed Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.model.util;
13
14
import org.eclipse.gmf.runtime.emf.type.core.AbstractElementTypeEnumerator;
15
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
16
17
/**
18
 * Element types for the logic elements.
19
 * 
20
 * @author qili, ldamus
21
 */
22
public class LogicSemanticType
23
	extends AbstractElementTypeEnumerator {
24
25
	public static final IElementType MODEL = getElementType("logic.model"); //$NON-NLS-1$
26
27
	public static final IElementType LED = getElementType("logic.led"); //$NON-NLS-1$
28
29
	public static final IElementType WIRE = getElementType("logic.wire"); //$NON-NLS-1$
30
31
	public static final IElementType CIRCUIT = getElementType("logic.circuit"); //$NON-NLS-1$
32
33
	public static final IElementType FLOWCONTAINER = getElementType("logic.flowcontainer"); //$NON-NLS-1$
34
35
	public static final IElementType ANDGATE = getElementType("logic.andgate"); //$NON-NLS-1$
36
37
	public static final IElementType ORGATE = getElementType("logic.orgate"); //$NON-NLS-1$
38
39
	public static final IElementType XORGATE = getElementType("logic.xorgate"); //$NON-NLS-1$
40
41
	public static final IElementType TERMINAL = getElementType("logic.terminal"); //$NON-NLS-1$
42
43
	public static final IElementType INPUT_TERMINAL = getElementType("logic.inputterminal"); //$NON-NLS-1$
44
45
	public static final IElementType OUTPUT_TERMINAL = getElementType("logic.outputterminal"); //$NON-NLS-1$
46
47
	public static final IElementType INPUT_OUTPUT_TERMINAL = getElementType("logic.inputoutputterminal"); //$NON-NLS-1$
48
49
	public static final IElementType HALF_ADDER = getElementType("logic.halfAdder"); //$NON-NLS-1$
50
51
}
(-)META-INF/MANIFEST.MF (-4 / +4 lines)
Lines 5-14 Link Here
5
Bundle-Version: 1.0.0.qualifier
5
Bundle-Version: 1.0.0.qualifier
6
Bundle-Vendor: %providerName
6
Bundle-Vendor: %providerName
7
Bundle-Localization: plugin
7
Bundle-Localization: plugin
8
Export-Package: org.eclipse.gmf.examples.runtime.diagram.logic.model,
8
Export-Package: model,
9
 org.eclipse.gmf.examples.runtime.diagram.logic.model.impl,
9
 org.eclipse.gmf.examples.runtime.diagram.logic.semantic,
10
 org.eclipse.gmf.examples.runtime.diagram.logic.model.util,
10
 org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl,
11
 model,
11
 org.eclipse.gmf.examples.runtime.diagram.logic.semantic.util,
12
 rosemodel
12
 rosemodel
13
Require-Bundle: org.eclipse.core.runtime,
13
Require-Bundle: org.eclipse.core.runtime,
14
 org.eclipse.emf.ecore;visibility:=reexport,
14
 org.eclipse.emf.ecore;visibility:=reexport,
(-)src/model/logicsemantic.genmodel (-8 / +8 lines)
Lines 2-12 Link Here
2
<genmodel:GenModel xmi:version="2.0"
2
<genmodel:GenModel xmi:version="2.0"
3
    xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
3
    xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
4
    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.gmf.examples.runtime.diagram.logic.model/src"
4
    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.gmf.examples.runtime.diagram.logic.model/src"
5
    editDirectory="/org.eclipse.gmf.examples.runtime.diagram.logic.model.edit/src" editorDirectory="/org.eclipse.gmf.examples.runtime.diagram.logic.model.editor/src"
5
    editDirectory="/org.eclipse.gmf.examples.runtime.diagram.logic.model.edit/src"
6
    editorDirectory="/org.eclipse.gmf.examples.runtime.diagram.logic.model.editor/src"
6
    modelPluginID="org.eclipse.gmf.examples.runtime.diagram.logic.model" runtimeJar="true"
7
    modelPluginID="org.eclipse.gmf.examples.runtime.diagram.logic.model" runtimeJar="true"
7
    modelName="Logicsemantic" editPluginClass="org.eclipse.gmf.examples.runtime.diagram.logic.model.provider.LogicsemanticEditPlugin"
8
    modelName="Logicsemantic" editPluginClass="org.eclipse.gmf.examples.runtime.diagram.logic.model.provider.LogicsemanticEditPlugin"
8
    editorPluginClass="org.eclipse.gmf.examples.runtime.diagram.logic.model.presentation.LogicsemanticEditorPlugin"
9
    editorPluginClass="org.eclipse.gmf.examples.runtime.diagram.logic.model.presentation.LogicsemanticEditorPlugin">
9
    runtimeCompatibility="false">
10
  <foreignModel>..\rosemodel\logicsemantic.mdl</foreignModel>
10
  <foreignModel>..\rosemodel\logicsemantic.mdl</foreignModel>
11
  <genPackages prefix="Semantic" basePackage="org.eclipse.gmf.examples.runtime.diagram.logic"
11
  <genPackages prefix="Semantic" basePackage="org.eclipse.gmf.examples.runtime.diagram.logic"
12
      ecorePackage="logicsemantic.ecore#/">
12
      ecorePackage="logicsemantic.ecore#/">
Lines 15-26 Link Here
15
    </genClasses>
15
    </genClasses>
16
    <genClasses ecoreClass="logicsemantic.ecore#//Element">
16
    <genClasses ecoreClass="logicsemantic.ecore#//Element">
17
      <genFeatures property="None" children="true" createChild="false" ecoreFeature="ecore:EReference logicsemantic.ecore#//Element/terminals"/>
17
      <genFeatures property="None" children="true" createChild="false" ecoreFeature="ecore:EReference logicsemantic.ecore#//Element/terminals"/>
18
      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference logicsemantic.ecore#//Element/outputTerminals"/>
18
      <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EReference logicsemantic.ecore#//Element/outputTerminals"/>
19
      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference logicsemantic.ecore#//Element/inputTerminals"/>
19
      <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EReference logicsemantic.ecore#//Element/inputTerminals"/>
20
    </genClasses>
20
    </genClasses>
21
    <genClasses ecoreClass="logicsemantic.ecore#//Wire">
21
    <genClasses ecoreClass="logicsemantic.ecore#//Wire">
22
      <genFeatures notify="false" children="true" createChild="true" ecoreFeature="ecore:EReference logicsemantic.ecore#//Wire/source"/>
22
      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference logicsemantic.ecore#//Wire/source"/>
23
      <genFeatures notify="false" children="true" createChild="true" ecoreFeature="ecore:EReference logicsemantic.ecore#//Wire/target"/>
23
      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference logicsemantic.ecore#//Wire/target"/>
24
    </genClasses>
24
    </genClasses>
25
    <genClasses ecoreClass="logicsemantic.ecore#//Circuit"/>
25
    <genClasses ecoreClass="logicsemantic.ecore#//Circuit"/>
26
    <genClasses ecoreClass="logicsemantic.ecore#//Gate"/>
26
    <genClasses ecoreClass="logicsemantic.ecore#//Gate"/>
Lines 30-36 Link Here
30
    <genClasses ecoreClass="logicsemantic.ecore#//XORGate"/>
30
    <genClasses ecoreClass="logicsemantic.ecore#//XORGate"/>
31
    <genClasses ecoreClass="logicsemantic.ecore#//Model"/>
31
    <genClasses ecoreClass="logicsemantic.ecore#//Model"/>
32
    <genClasses ecoreClass="logicsemantic.ecore#//ContainerElement">
32
    <genClasses ecoreClass="logicsemantic.ecore#//ContainerElement">
33
      <genFeatures notify="false" children="true" createChild="true" ecoreFeature="ecore:EReference logicsemantic.ecore#//ContainerElement/children"/>
33
      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference logicsemantic.ecore#//ContainerElement/children"/>
34
    </genClasses>
34
    </genClasses>
35
    <genClasses ecoreClass="logicsemantic.ecore#//Terminal">
35
    <genClasses ecoreClass="logicsemantic.ecore#//Terminal">
36
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logicsemantic.ecore#//Terminal/id"/>
36
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logicsemantic.ecore#//Terminal/id"/>
(-)plugin.xml (-1 / +1 lines)
Lines 23-29 Link Here
23
    <extension point="org.eclipse.emf.ecore.generated_package">
23
    <extension point="org.eclipse.emf.ecore.generated_package">
24
    <package 
24
    <package 
25
       uri = "http://www.eclipse.org/gmf/examples/runtime/1.0.0/logicsemantic" 
25
       uri = "http://www.eclipse.org/gmf/examples/runtime/1.0.0/logicsemantic" 
26
       class = "org.eclipse.gmf.examples.runtime.diagram.logic.model.SemanticPackage" />
26
       class = "org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage" />
27
  </extension>
27
  </extension>
28
28
29
</plugin>
29
</plugin>
(-)runtime/model/logicsemantic.genmodel (-8 / +8 lines)
Lines 2-12 Link Here
2
<genmodel:GenModel xmi:version="2.0"
2
<genmodel:GenModel xmi:version="2.0"
3
    xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
3
    xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
4
    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.gmf.examples.runtime.diagram.logic.model/src"
4
    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.gmf.examples.runtime.diagram.logic.model/src"
5
    editDirectory="/org.eclipse.gmf.examples.runtime.diagram.logic.model.edit/src" editorDirectory="/org.eclipse.gmf.examples.runtime.diagram.logic.model.editor/src"
5
    editDirectory="/org.eclipse.gmf.examples.runtime.diagram.logic.model.edit/src"
6
    editorDirectory="/org.eclipse.gmf.examples.runtime.diagram.logic.model.editor/src"
6
    modelPluginID="org.eclipse.gmf.examples.runtime.diagram.logic.model" runtimeJar="true"
7
    modelPluginID="org.eclipse.gmf.examples.runtime.diagram.logic.model" runtimeJar="true"
7
    modelName="Logicsemantic" editPluginClass="org.eclipse.gmf.examples.runtime.diagram.logic.model.provider.LogicsemanticEditPlugin"
8
    modelName="Logicsemantic" editPluginClass="org.eclipse.gmf.examples.runtime.diagram.logic.model.provider.LogicsemanticEditPlugin"
8
    editorPluginClass="org.eclipse.gmf.examples.runtime.diagram.logic.model.presentation.LogicsemanticEditorPlugin"
9
    editorPluginClass="org.eclipse.gmf.examples.runtime.diagram.logic.model.presentation.LogicsemanticEditorPlugin">
9
    runtimeCompatibility="false">
10
  <foreignModel>..\rosemodel\logicsemantic.mdl</foreignModel>
10
  <foreignModel>..\rosemodel\logicsemantic.mdl</foreignModel>
11
  <genPackages prefix="Semantic" basePackage="org.eclipse.gmf.examples.runtime.diagram.logic"
11
  <genPackages prefix="Semantic" basePackage="org.eclipse.gmf.examples.runtime.diagram.logic"
12
      ecorePackage="logicsemantic.ecore#/">
12
      ecorePackage="logicsemantic.ecore#/">
Lines 15-26 Link Here
15
    </genClasses>
15
    </genClasses>
16
    <genClasses ecoreClass="logicsemantic.ecore#//Element">
16
    <genClasses ecoreClass="logicsemantic.ecore#//Element">
17
      <genFeatures property="None" children="true" createChild="false" ecoreFeature="ecore:EReference logicsemantic.ecore#//Element/terminals"/>
17
      <genFeatures property="None" children="true" createChild="false" ecoreFeature="ecore:EReference logicsemantic.ecore#//Element/terminals"/>
18
      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference logicsemantic.ecore#//Element/outputTerminals"/>
18
      <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EReference logicsemantic.ecore#//Element/outputTerminals"/>
19
      <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference logicsemantic.ecore#//Element/inputTerminals"/>
19
      <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EReference logicsemantic.ecore#//Element/inputTerminals"/>
20
    </genClasses>
20
    </genClasses>
21
    <genClasses ecoreClass="logicsemantic.ecore#//Wire">
21
    <genClasses ecoreClass="logicsemantic.ecore#//Wire">
22
      <genFeatures notify="false" children="true" createChild="true" ecoreFeature="ecore:EReference logicsemantic.ecore#//Wire/source"/>
22
      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference logicsemantic.ecore#//Wire/source"/>
23
      <genFeatures notify="false" children="true" createChild="true" ecoreFeature="ecore:EReference logicsemantic.ecore#//Wire/target"/>
23
      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference logicsemantic.ecore#//Wire/target"/>
24
    </genClasses>
24
    </genClasses>
25
    <genClasses ecoreClass="logicsemantic.ecore#//Circuit"/>
25
    <genClasses ecoreClass="logicsemantic.ecore#//Circuit"/>
26
    <genClasses ecoreClass="logicsemantic.ecore#//Gate"/>
26
    <genClasses ecoreClass="logicsemantic.ecore#//Gate"/>
Lines 30-36 Link Here
30
    <genClasses ecoreClass="logicsemantic.ecore#//XORGate"/>
30
    <genClasses ecoreClass="logicsemantic.ecore#//XORGate"/>
31
    <genClasses ecoreClass="logicsemantic.ecore#//Model"/>
31
    <genClasses ecoreClass="logicsemantic.ecore#//Model"/>
32
    <genClasses ecoreClass="logicsemantic.ecore#//ContainerElement">
32
    <genClasses ecoreClass="logicsemantic.ecore#//ContainerElement">
33
      <genFeatures notify="false" children="true" createChild="true" ecoreFeature="ecore:EReference logicsemantic.ecore#//ContainerElement/children"/>
33
      <genFeatures children="true" createChild="true" ecoreFeature="ecore:EReference logicsemantic.ecore#//ContainerElement/children"/>
34
    </genClasses>
34
    </genClasses>
35
    <genClasses ecoreClass="logicsemantic.ecore#//Terminal">
35
    <genClasses ecoreClass="logicsemantic.ecore#//Terminal">
36
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logicsemantic.ecore#//Terminal/id"/>
36
      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute logicsemantic.ecore#//Terminal/id"/>
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/Element.java (+80 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic;
8
9
import org.eclipse.emf.common.util.EList;
10
11
import org.eclipse.emf.ecore.EObject;
12
13
/**
14
 * <!-- begin-user-doc -->
15
 * A representation of the model object '<em><b>Element</b></em>'.
16
 * <!-- end-user-doc -->
17
 *
18
 * <p>
19
 * The following features are supported:
20
 * <ul>
21
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element#getTerminals <em>Terminals</em>}</li>
22
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element#getOutputTerminals <em>Output Terminals</em>}</li>
23
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element#getInputTerminals <em>Input Terminals</em>}</li>
24
 * </ul>
25
 * </p>
26
 *
27
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getElement()
28
 * @model abstract="true"
29
 * @generated
30
 */
31
public interface Element extends EObject {
32
	/**
33
	 * Returns the value of the '<em><b>Terminals</b></em>' containment reference list.
34
	 * The list contents are of type {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal}.
35
	 * <!-- begin-user-doc -->
36
	 * <p>
37
	 * If the meaning of the '<em>Terminals</em>' containment reference list isn't clear,
38
	 * there really should be more of a description here...
39
	 * </p>
40
	 * <!-- end-user-doc -->
41
	 * @return the value of the '<em>Terminals</em>' containment reference list.
42
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getElement_Terminals()
43
	 * @model type="org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal" containment="true"
44
	 * @generated
45
	 */
46
	EList getTerminals();
47
48
	/**
49
	 * Returns the value of the '<em><b>Output Terminals</b></em>' reference list.
50
	 * The list contents are of type {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal}.
51
	 * <!-- begin-user-doc -->
52
	 * <p>
53
	 * If the meaning of the '<em>Output Terminals</em>' reference list isn't clear,
54
	 * there really should be more of a description here...
55
	 * </p>
56
	 * <!-- end-user-doc -->
57
	 * @return the value of the '<em>Output Terminals</em>' reference list.
58
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getElement_OutputTerminals()
59
	 * @model type="org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal" transient="true" changeable="false" volatile="true"
60
	 * @generated
61
	 */
62
	EList getOutputTerminals();
63
64
	/**
65
	 * Returns the value of the '<em><b>Input Terminals</b></em>' reference list.
66
	 * The list contents are of type {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal}.
67
	 * <!-- begin-user-doc -->
68
	 * <p>
69
	 * If the meaning of the '<em>Input Terminals</em>' reference list isn't clear,
70
	 * there really should be more of a description here...
71
	 * </p>
72
	 * <!-- end-user-doc -->
73
	 * @return the value of the '<em>Input Terminals</em>' reference list.
74
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getElement_InputTerminals()
75
	 * @model type="org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal" transient="true" changeable="false" volatile="true"
76
	 * @generated
77
	 */
78
	EList getInputTerminals();
79
80
} // Element
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/OutputTerminal.java (+21 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic;
8
9
10
/**
11
 * <!-- begin-user-doc -->
12
 * A representation of the model object '<em><b>Output Terminal</b></em>'.
13
 * <!-- end-user-doc -->
14
 *
15
 *
16
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getOutputTerminal()
17
 * @model
18
 * @generated
19
 */
20
public interface OutputTerminal extends Terminal {
21
} // OutputTerminal
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/OrGate.java (+21 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic;
8
9
10
/**
11
 * <!-- begin-user-doc -->
12
 * A representation of the model object '<em><b>Or Gate</b></em>'.
13
 * <!-- end-user-doc -->
14
 *
15
 *
16
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getOrGate()
17
 * @model
18
 * @generated
19
 */
20
public interface OrGate extends Gate {
21
} // OrGate
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/impl/FlowContainerImpl.java (+42 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl;
8
9
import org.eclipse.emf.ecore.EClass;
10
11
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.FlowContainer;
12
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
13
14
/**
15
 * <!-- begin-user-doc -->
16
 * An implementation of the model object '<em><b>Flow Container</b></em>'.
17
 * <!-- end-user-doc -->
18
 * <p>
19
 * </p>
20
 *
21
 * @generated
22
 */
23
public class FlowContainerImpl extends ContainerElementImpl implements FlowContainer {
24
	/**
25
	 * <!-- begin-user-doc -->
26
	 * <!-- end-user-doc -->
27
	 * @generated
28
	 */
29
	protected FlowContainerImpl() {
30
		super();
31
	}
32
33
	/**
34
	 * <!-- begin-user-doc -->
35
	 * <!-- end-user-doc -->
36
	 * @generated
37
	 */
38
	protected EClass eStaticClass() {
39
		return SemanticPackage.Literals.FLOW_CONTAINER;
40
	}
41
42
} //FlowContainerImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/impl/WireImpl.java (+216 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl;
8
9
import org.eclipse.emf.common.notify.Notification;
10
11
import org.eclipse.emf.ecore.EClass;
12
import org.eclipse.emf.ecore.InternalEObject;
13
14
import org.eclipse.emf.ecore.impl.ENotificationImpl;
15
16
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputTerminal;
17
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OutputTerminal;
18
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
19
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire;
20
21
/**
22
 * <!-- begin-user-doc -->
23
 * An implementation of the model object '<em><b>Wire</b></em>'.
24
 * <!-- end-user-doc -->
25
 * <p>
26
 * The following features are implemented:
27
 * <ul>
28
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.WireImpl#getSource <em>Source</em>}</li>
29
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.WireImpl#getTarget <em>Target</em>}</li>
30
 * </ul>
31
 * </p>
32
 *
33
 * @generated
34
 */
35
public class WireImpl extends ElementImpl implements Wire {
36
	/**
37
	 * The cached value of the '{@link #getSource() <em>Source</em>}' reference.
38
	 * <!-- begin-user-doc -->
39
	 * <!-- end-user-doc -->
40
	 * @see #getSource()
41
	 * @generated
42
	 * @ordered
43
	 */
44
	protected OutputTerminal source = null;
45
46
	/**
47
	 * The cached value of the '{@link #getTarget() <em>Target</em>}' reference.
48
	 * <!-- begin-user-doc -->
49
	 * <!-- end-user-doc -->
50
	 * @see #getTarget()
51
	 * @generated
52
	 * @ordered
53
	 */
54
	protected InputTerminal target = null;
55
56
	/**
57
	 * <!-- begin-user-doc -->
58
	 * <!-- end-user-doc -->
59
	 * @generated
60
	 */
61
	protected WireImpl() {
62
		super();
63
	}
64
65
	/**
66
	 * <!-- begin-user-doc -->
67
	 * <!-- end-user-doc -->
68
	 * @generated
69
	 */
70
	protected EClass eStaticClass() {
71
		return SemanticPackage.Literals.WIRE;
72
	}
73
74
	/**
75
	 * <!-- begin-user-doc -->
76
	 * <!-- end-user-doc -->
77
	 * @generated
78
	 */
79
	public OutputTerminal getSource() {
80
		if (source != null && source.eIsProxy()) {
81
			InternalEObject oldSource = (InternalEObject)source;
82
			source = (OutputTerminal)eResolveProxy(oldSource);
83
			if (source != oldSource) {
84
				if (eNotificationRequired())
85
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, SemanticPackage.WIRE__SOURCE, oldSource, source));
86
			}
87
		}
88
		return source;
89
	}
90
91
	/**
92
	 * <!-- begin-user-doc -->
93
	 * <!-- end-user-doc -->
94
	 * @generated
95
	 */
96
	public OutputTerminal basicGetSource() {
97
		return source;
98
	}
99
100
	/**
101
	 * <!-- begin-user-doc -->
102
	 * <!-- end-user-doc -->
103
	 * @generated
104
	 */
105
	public void setSource(OutputTerminal newSource) {
106
		OutputTerminal oldSource = source;
107
		source = newSource;
108
		if (eNotificationRequired())
109
			eNotify(new ENotificationImpl(this, Notification.SET, SemanticPackage.WIRE__SOURCE, oldSource, source));
110
	}
111
112
	/**
113
	 * <!-- begin-user-doc -->
114
	 * <!-- end-user-doc -->
115
	 * @generated
116
	 */
117
	public InputTerminal getTarget() {
118
		if (target != null && target.eIsProxy()) {
119
			InternalEObject oldTarget = (InternalEObject)target;
120
			target = (InputTerminal)eResolveProxy(oldTarget);
121
			if (target != oldTarget) {
122
				if (eNotificationRequired())
123
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, SemanticPackage.WIRE__TARGET, oldTarget, target));
124
			}
125
		}
126
		return target;
127
	}
128
129
	/**
130
	 * <!-- begin-user-doc -->
131
	 * <!-- end-user-doc -->
132
	 * @generated
133
	 */
134
	public InputTerminal basicGetTarget() {
135
		return target;
136
	}
137
138
	/**
139
	 * <!-- begin-user-doc -->
140
	 * <!-- end-user-doc -->
141
	 * @generated
142
	 */
143
	public void setTarget(InputTerminal newTarget) {
144
		InputTerminal oldTarget = target;
145
		target = newTarget;
146
		if (eNotificationRequired())
147
			eNotify(new ENotificationImpl(this, Notification.SET, SemanticPackage.WIRE__TARGET, oldTarget, target));
148
	}
149
150
	/**
151
	 * <!-- begin-user-doc -->
152
	 * <!-- end-user-doc -->
153
	 * @generated
154
	 */
155
	public Object eGet(int featureID, boolean resolve, boolean coreType) {
156
		switch (featureID) {
157
			case SemanticPackage.WIRE__SOURCE:
158
				if (resolve) return getSource();
159
				return basicGetSource();
160
			case SemanticPackage.WIRE__TARGET:
161
				if (resolve) return getTarget();
162
				return basicGetTarget();
163
		}
164
		return super.eGet(featureID, resolve, coreType);
165
	}
166
167
	/**
168
	 * <!-- begin-user-doc -->
169
	 * <!-- end-user-doc -->
170
	 * @generated
171
	 */
172
	public void eSet(int featureID, Object newValue) {
173
		switch (featureID) {
174
			case SemanticPackage.WIRE__SOURCE:
175
				setSource((OutputTerminal)newValue);
176
				return;
177
			case SemanticPackage.WIRE__TARGET:
178
				setTarget((InputTerminal)newValue);
179
				return;
180
		}
181
		super.eSet(featureID, newValue);
182
	}
183
184
	/**
185
	 * <!-- begin-user-doc -->
186
	 * <!-- end-user-doc -->
187
	 * @generated
188
	 */
189
	public void eUnset(int featureID) {
190
		switch (featureID) {
191
			case SemanticPackage.WIRE__SOURCE:
192
				setSource((OutputTerminal)null);
193
				return;
194
			case SemanticPackage.WIRE__TARGET:
195
				setTarget((InputTerminal)null);
196
				return;
197
		}
198
		super.eUnset(featureID);
199
	}
200
201
	/**
202
	 * <!-- begin-user-doc -->
203
	 * <!-- end-user-doc -->
204
	 * @generated
205
	 */
206
	public boolean eIsSet(int featureID) {
207
		switch (featureID) {
208
			case SemanticPackage.WIRE__SOURCE:
209
				return source != null;
210
			case SemanticPackage.WIRE__TARGET:
211
				return target != null;
212
		}
213
		return super.eIsSet(featureID);
214
	}
215
216
} //WireImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/Wire.java (+80 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic;
8
9
10
/**
11
 * <!-- begin-user-doc -->
12
 * A representation of the model object '<em><b>Wire</b></em>'.
13
 * <!-- end-user-doc -->
14
 *
15
 * <p>
16
 * The following features are supported:
17
 * <ul>
18
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire#getSource <em>Source</em>}</li>
19
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire#getTarget <em>Target</em>}</li>
20
 * </ul>
21
 * </p>
22
 *
23
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getWire()
24
 * @model
25
 * @generated
26
 */
27
public interface Wire extends Element {
28
	/**
29
	 * Returns the value of the '<em><b>Source</b></em>' reference.
30
	 * <!-- begin-user-doc -->
31
	 * <p>
32
	 * If the meaning of the '<em>Source</em>' reference isn't clear,
33
	 * there really should be more of a description here...
34
	 * </p>
35
	 * <!-- end-user-doc -->
36
	 * @return the value of the '<em>Source</em>' reference.
37
	 * @see #setSource(OutputTerminal)
38
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getWire_Source()
39
	 * @model required="true"
40
	 * @generated
41
	 */
42
	OutputTerminal getSource();
43
44
	/**
45
	 * Sets the value of the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire#getSource <em>Source</em>}' reference.
46
	 * <!-- begin-user-doc -->
47
	 * <!-- end-user-doc -->
48
	 * @param value the new value of the '<em>Source</em>' reference.
49
	 * @see #getSource()
50
	 * @generated
51
	 */
52
	void setSource(OutputTerminal value);
53
54
	/**
55
	 * Returns the value of the '<em><b>Target</b></em>' reference.
56
	 * <!-- begin-user-doc -->
57
	 * <p>
58
	 * If the meaning of the '<em>Target</em>' reference isn't clear,
59
	 * there really should be more of a description here...
60
	 * </p>
61
	 * <!-- end-user-doc -->
62
	 * @return the value of the '<em>Target</em>' reference.
63
	 * @see #setTarget(InputTerminal)
64
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getWire_Target()
65
	 * @model required="true"
66
	 * @generated
67
	 */
68
	InputTerminal getTarget();
69
70
	/**
71
	 * Sets the value of the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire#getTarget <em>Target</em>}' reference.
72
	 * <!-- begin-user-doc -->
73
	 * <!-- end-user-doc -->
74
	 * @param value the new value of the '<em>Target</em>' reference.
75
	 * @see #getTarget()
76
	 * @generated
77
	 */
78
	void setTarget(InputTerminal value);
79
80
} // Wire
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/impl/ElementImpl.java (+198 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl;
8
9
import java.util.ArrayList;
10
import java.util.Collection;
11
import java.util.Iterator;
12
13
import org.eclipse.emf.common.notify.NotificationChain;
14
15
import org.eclipse.emf.common.util.EList;
16
17
import org.eclipse.emf.ecore.EClass;
18
import org.eclipse.emf.ecore.InternalEObject;
19
20
import org.eclipse.emf.ecore.impl.EObjectImpl;
21
22
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
23
import org.eclipse.emf.ecore.util.EcoreEList;
24
import org.eclipse.emf.ecore.util.InternalEList;
25
26
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element;
27
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputTerminal;
28
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OutputTerminal;
29
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
30
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal;
31
32
/**
33
 * <!-- begin-user-doc -->
34
 * An implementation of the model object '<em><b>Element</b></em>'.
35
 * <!-- end-user-doc -->
36
 * <p>
37
 * The following features are implemented:
38
 * <ul>
39
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.ElementImpl#getTerminals <em>Terminals</em>}</li>
40
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.ElementImpl#getOutputTerminals <em>Output Terminals</em>}</li>
41
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.ElementImpl#getInputTerminals <em>Input Terminals</em>}</li>
42
 * </ul>
43
 * </p>
44
 *
45
 * @generated
46
 */
47
public abstract class ElementImpl extends EObjectImpl implements Element {
48
	/**
49
	 * The cached value of the '{@link #getTerminals() <em>Terminals</em>}' containment reference list.
50
	 * <!-- begin-user-doc -->
51
	 * <!-- end-user-doc -->
52
	 * @see #getTerminals()
53
	 * @generated
54
	 * @ordered
55
	 */
56
	protected EList terminals = null;
57
58
	/**
59
	 * <!-- begin-user-doc -->
60
	 * <!-- end-user-doc -->
61
	 * @generated
62
	 */
63
	protected ElementImpl() {
64
		super();
65
	}
66
67
	/**
68
	 * <!-- begin-user-doc -->
69
	 * <!-- end-user-doc -->
70
	 * @generated
71
	 */
72
	protected EClass eStaticClass() {
73
		return SemanticPackage.Literals.ELEMENT;
74
	}
75
76
	/**
77
	 * <!-- begin-user-doc -->
78
	 * <!-- end-user-doc -->
79
	 * @generated
80
	 */
81
	public EList getTerminals() {
82
		if (terminals == null) {
83
			terminals = new EObjectContainmentEList(Terminal.class, this, SemanticPackage.ELEMENT__TERMINALS);
84
		}
85
		return terminals;
86
	}
87
88
	/**
89
	 * <!-- begin-user-doc -->
90
	 * <!-- end-user-doc -->
91
	 * @generated NOT
92
	 */
93
	public EList getOutputTerminals() {
94
		ArrayList outputTerminals = new ArrayList();
95
		for (Iterator iter = getTerminals().iterator(); iter.hasNext(); ) {
96
			Terminal terminal = (Terminal)iter.next();
97
			if (terminal instanceof OutputTerminal)
98
				outputTerminals.add(terminal);
99
		}
100
		return new EcoreEList.UnmodifiableEList(this,
101
						SemanticPackage.eINSTANCE.getElement_InputTerminals(),
102
						outputTerminals.size(), outputTerminals.toArray());
103
	}
104
105
	/**
106
	 * <!-- begin-user-doc -->
107
	 * <!-- end-user-doc -->
108
	 * @generated NOT
109
	 */
110
	public EList getInputTerminals() {
111
		ArrayList inputTerminals = new ArrayList();
112
		for (Iterator iter = getTerminals().iterator(); iter.hasNext(); ) {
113
			Terminal terminal = (Terminal)iter.next();
114
			if (terminal instanceof InputTerminal)
115
				inputTerminals.add(terminal);
116
		}
117
		return new EcoreEList.UnmodifiableEList(this,
118
						SemanticPackage.eINSTANCE.getElement_InputTerminals(),
119
						inputTerminals.size(), inputTerminals.toArray());
120
	}
121
122
	/**
123
	 * <!-- begin-user-doc -->
124
	 * <!-- end-user-doc -->
125
	 * @generated
126
	 */
127
	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
128
		switch (featureID) {
129
			case SemanticPackage.ELEMENT__TERMINALS:
130
				return ((InternalEList)getTerminals()).basicRemove(otherEnd, msgs);
131
		}
132
		return super.eInverseRemove(otherEnd, featureID, msgs);
133
	}
134
135
	/**
136
	 * <!-- begin-user-doc -->
137
	 * <!-- end-user-doc -->
138
	 * @generated
139
	 */
140
	public Object eGet(int featureID, boolean resolve, boolean coreType) {
141
		switch (featureID) {
142
			case SemanticPackage.ELEMENT__TERMINALS:
143
				return getTerminals();
144
			case SemanticPackage.ELEMENT__OUTPUT_TERMINALS:
145
				return getOutputTerminals();
146
			case SemanticPackage.ELEMENT__INPUT_TERMINALS:
147
				return getInputTerminals();
148
		}
149
		return super.eGet(featureID, resolve, coreType);
150
	}
151
152
	/**
153
	 * <!-- begin-user-doc -->
154
	 * <!-- end-user-doc -->
155
	 * @generated
156
	 */
157
	public void eSet(int featureID, Object newValue) {
158
		switch (featureID) {
159
			case SemanticPackage.ELEMENT__TERMINALS:
160
				getTerminals().clear();
161
				getTerminals().addAll((Collection)newValue);
162
				return;
163
		}
164
		super.eSet(featureID, newValue);
165
	}
166
167
	/**
168
	 * <!-- begin-user-doc -->
169
	 * <!-- end-user-doc -->
170
	 * @generated
171
	 */
172
	public void eUnset(int featureID) {
173
		switch (featureID) {
174
			case SemanticPackage.ELEMENT__TERMINALS:
175
				getTerminals().clear();
176
				return;
177
		}
178
		super.eUnset(featureID);
179
	}
180
181
	/**
182
	 * <!-- begin-user-doc -->
183
	 * <!-- end-user-doc -->
184
	 * @generated
185
	 */
186
	public boolean eIsSet(int featureID) {
187
		switch (featureID) {
188
			case SemanticPackage.ELEMENT__TERMINALS:
189
				return terminals != null && !terminals.isEmpty();
190
			case SemanticPackage.ELEMENT__OUTPUT_TERMINALS:
191
				return !getOutputTerminals().isEmpty();
192
			case SemanticPackage.ELEMENT__INPUT_TERMINALS:
193
				return !getInputTerminals().isEmpty();
194
		}
195
		return super.eIsSet(featureID);
196
	}
197
198
} //ElementImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/impl/AndGateImpl.java (+42 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl;
8
9
import org.eclipse.emf.ecore.EClass;
10
11
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.AndGate;
12
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
13
14
/**
15
 * <!-- begin-user-doc -->
16
 * An implementation of the model object '<em><b>And Gate</b></em>'.
17
 * <!-- end-user-doc -->
18
 * <p>
19
 * </p>
20
 *
21
 * @generated
22
 */
23
public class AndGateImpl extends GateImpl implements AndGate {
24
	/**
25
	 * <!-- begin-user-doc -->
26
	 * <!-- end-user-doc -->
27
	 * @generated
28
	 */
29
	protected AndGateImpl() {
30
		super();
31
	}
32
33
	/**
34
	 * <!-- begin-user-doc -->
35
	 * <!-- end-user-doc -->
36
	 * @generated
37
	 */
38
	protected EClass eStaticClass() {
39
		return SemanticPackage.Literals.AND_GATE;
40
	}
41
42
} //AndGateImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/impl/OrGateImpl.java (+42 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl;
8
9
import org.eclipse.emf.ecore.EClass;
10
11
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OrGate;
12
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
13
14
/**
15
 * <!-- begin-user-doc -->
16
 * An implementation of the model object '<em><b>Or Gate</b></em>'.
17
 * <!-- end-user-doc -->
18
 * <p>
19
 * </p>
20
 *
21
 * @generated
22
 */
23
public class OrGateImpl extends GateImpl implements OrGate {
24
	/**
25
	 * <!-- begin-user-doc -->
26
	 * <!-- end-user-doc -->
27
	 * @generated
28
	 */
29
	protected OrGateImpl() {
30
		super();
31
	}
32
33
	/**
34
	 * <!-- begin-user-doc -->
35
	 * <!-- end-user-doc -->
36
	 * @generated
37
	 */
38
	protected EClass eStaticClass() {
39
		return SemanticPackage.Literals.OR_GATE;
40
	}
41
42
} //OrGateImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/impl/GateImpl.java (+42 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl;
8
9
import org.eclipse.emf.ecore.EClass;
10
11
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Gate;
12
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
13
14
/**
15
 * <!-- begin-user-doc -->
16
 * An implementation of the model object '<em><b>Gate</b></em>'.
17
 * <!-- end-user-doc -->
18
 * <p>
19
 * </p>
20
 *
21
 * @generated
22
 */
23
public abstract class GateImpl extends ElementImpl implements Gate {
24
	/**
25
	 * <!-- begin-user-doc -->
26
	 * <!-- end-user-doc -->
27
	 * @generated
28
	 */
29
	protected GateImpl() {
30
		super();
31
	}
32
33
	/**
34
	 * <!-- begin-user-doc -->
35
	 * <!-- end-user-doc -->
36
	 * @generated
37
	 */
38
	protected EClass eStaticClass() {
39
		return SemanticPackage.Literals.GATE;
40
	}
41
42
} //GateImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/Gate.java (+21 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic;
8
9
10
/**
11
 * <!-- begin-user-doc -->
12
 * A representation of the model object '<em><b>Gate</b></em>'.
13
 * <!-- end-user-doc -->
14
 *
15
 *
16
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getGate()
17
 * @model abstract="true"
18
 * @generated
19
 */
20
public interface Gate extends Element {
21
} // Gate
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/Terminal.java (+54 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic;
8
9
10
/**
11
 * <!-- begin-user-doc -->
12
 * A representation of the model object '<em><b>Terminal</b></em>'.
13
 * <!-- end-user-doc -->
14
 *
15
 * <p>
16
 * The following features are supported:
17
 * <ul>
18
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal#getId <em>Id</em>}</li>
19
 * </ul>
20
 * </p>
21
 *
22
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getTerminal()
23
 * @model abstract="true"
24
 * @generated
25
 */
26
public interface Terminal extends Element {
27
	/**
28
	 * Returns the value of the '<em><b>Id</b></em>' attribute.
29
	 * The default value is <code>""</code>.
30
	 * <!-- begin-user-doc -->
31
	 * <p>
32
	 * If the meaning of the '<em>Id</em>' attribute isn't clear,
33
	 * there really should be more of a description here...
34
	 * </p>
35
	 * <!-- end-user-doc -->
36
	 * @return the value of the '<em>Id</em>' attribute.
37
	 * @see #setId(String)
38
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getTerminal_Id()
39
	 * @model default=""
40
	 * @generated
41
	 */
42
	String getId();
43
44
	/**
45
	 * Sets the value of the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal#getId <em>Id</em>}' attribute.
46
	 * <!-- begin-user-doc -->
47
	 * <!-- end-user-doc -->
48
	 * @param value the new value of the '<em>Id</em>' attribute.
49
	 * @see #getId()
50
	 * @generated
51
	 */
52
	void setId(String value);
53
54
} // Terminal
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/InputTerminal.java (+21 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic;
8
9
10
/**
11
 * <!-- begin-user-doc -->
12
 * A representation of the model object '<em><b>Input Terminal</b></em>'.
13
 * <!-- end-user-doc -->
14
 *
15
 *
16
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getInputTerminal()
17
 * @model
18
 * @generated
19
 */
20
public interface InputTerminal extends Terminal {
21
} // InputTerminal
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/util/SemanticAdapterFactory.java (+358 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.util;
8
9
import org.eclipse.emf.common.notify.Adapter;
10
import org.eclipse.emf.common.notify.Notifier;
11
12
import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
13
14
import org.eclipse.emf.ecore.EObject;
15
16
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.*;
17
18
/**
19
 * <!-- begin-user-doc -->
20
 * The <b>Adapter Factory</b> for the model.
21
 * It provides an adapter <code>createXXX</code> method for each class of the model.
22
 * <!-- end-user-doc -->
23
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage
24
 * @generated
25
 */
26
public class SemanticAdapterFactory extends AdapterFactoryImpl {
27
	/**
28
	 * The cached model package.
29
	 * <!-- begin-user-doc -->
30
	 * <!-- end-user-doc -->
31
	 * @generated
32
	 */
33
	protected static SemanticPackage modelPackage;
34
35
	/**
36
	 * Creates an instance of the adapter factory.
37
	 * <!-- begin-user-doc -->
38
	 * <!-- end-user-doc -->
39
	 * @generated
40
	 */
41
	public SemanticAdapterFactory() {
42
		if (modelPackage == null) {
43
			modelPackage = SemanticPackage.eINSTANCE;
44
		}
45
	}
46
47
	/**
48
	 * Returns whether this factory is applicable for the type of the object.
49
	 * <!-- begin-user-doc -->
50
	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
51
	 * <!-- end-user-doc -->
52
	 * @return whether this factory is applicable for the type of the object.
53
	 * @generated
54
	 */
55
	public boolean isFactoryForType(Object object) {
56
		if (object == modelPackage) {
57
			return true;
58
		}
59
		if (object instanceof EObject) {
60
			return ((EObject)object).eClass().getEPackage() == modelPackage;
61
		}
62
		return false;
63
	}
64
65
	/**
66
	 * The switch the delegates to the <code>createXXX</code> methods.
67
	 * <!-- begin-user-doc -->
68
	 * <!-- end-user-doc -->
69
	 * @generated
70
	 */
71
	protected SemanticSwitch modelSwitch =
72
		new SemanticSwitch() {
73
			public Object caseLED(LED object) {
74
				return createLEDAdapter();
75
			}
76
			public Object caseElement(Element object) {
77
				return createElementAdapter();
78
			}
79
			public Object caseWire(Wire object) {
80
				return createWireAdapter();
81
			}
82
			public Object caseCircuit(Circuit object) {
83
				return createCircuitAdapter();
84
			}
85
			public Object caseGate(Gate object) {
86
				return createGateAdapter();
87
			}
88
			public Object caseFlowContainer(FlowContainer object) {
89
				return createFlowContainerAdapter();
90
			}
91
			public Object caseAndGate(AndGate object) {
92
				return createAndGateAdapter();
93
			}
94
			public Object caseOrGate(OrGate object) {
95
				return createOrGateAdapter();
96
			}
97
			public Object caseXORGate(XORGate object) {
98
				return createXORGateAdapter();
99
			}
100
			public Object caseModel(Model object) {
101
				return createModelAdapter();
102
			}
103
			public Object caseContainerElement(ContainerElement object) {
104
				return createContainerElementAdapter();
105
			}
106
			public Object caseTerminal(Terminal object) {
107
				return createTerminalAdapter();
108
			}
109
			public Object caseOutputTerminal(OutputTerminal object) {
110
				return createOutputTerminalAdapter();
111
			}
112
			public Object caseInputTerminal(InputTerminal object) {
113
				return createInputTerminalAdapter();
114
			}
115
			public Object caseInputOutputTerminal(InputOutputTerminal object) {
116
				return createInputOutputTerminalAdapter();
117
			}
118
			public Object defaultCase(EObject object) {
119
				return createEObjectAdapter();
120
			}
121
		};
122
123
	/**
124
	 * Creates an adapter for the <code>target</code>.
125
	 * <!-- begin-user-doc -->
126
	 * <!-- end-user-doc -->
127
	 * @param target the object to adapt.
128
	 * @return the adapter for the <code>target</code>.
129
	 * @generated
130
	 */
131
	public Adapter createAdapter(Notifier target) {
132
		return (Adapter)modelSwitch.doSwitch((EObject)target);
133
	}
134
135
136
	/**
137
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED <em>LED</em>}'.
138
	 * <!-- begin-user-doc -->
139
	 * This default implementation returns null so that we can easily ignore cases;
140
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
141
	 * <!-- end-user-doc -->
142
	 * @return the new adapter.
143
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED
144
	 * @generated
145
	 */
146
	public Adapter createLEDAdapter() {
147
		return null;
148
	}
149
150
	/**
151
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element <em>Element</em>}'.
152
	 * <!-- begin-user-doc -->
153
	 * This default implementation returns null so that we can easily ignore cases;
154
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
155
	 * <!-- end-user-doc -->
156
	 * @return the new adapter.
157
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element
158
	 * @generated
159
	 */
160
	public Adapter createElementAdapter() {
161
		return null;
162
	}
163
164
	/**
165
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire <em>Wire</em>}'.
166
	 * <!-- begin-user-doc -->
167
	 * This default implementation returns null so that we can easily ignore cases;
168
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
169
	 * <!-- end-user-doc -->
170
	 * @return the new adapter.
171
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire
172
	 * @generated
173
	 */
174
	public Adapter createWireAdapter() {
175
		return null;
176
	}
177
178
	/**
179
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Circuit <em>Circuit</em>}'.
180
	 * <!-- begin-user-doc -->
181
	 * This default implementation returns null so that we can easily ignore cases;
182
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
183
	 * <!-- end-user-doc -->
184
	 * @return the new adapter.
185
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Circuit
186
	 * @generated
187
	 */
188
	public Adapter createCircuitAdapter() {
189
		return null;
190
	}
191
192
	/**
193
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Gate <em>Gate</em>}'.
194
	 * <!-- begin-user-doc -->
195
	 * This default implementation returns null so that we can easily ignore cases;
196
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
197
	 * <!-- end-user-doc -->
198
	 * @return the new adapter.
199
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Gate
200
	 * @generated
201
	 */
202
	public Adapter createGateAdapter() {
203
		return null;
204
	}
205
206
	/**
207
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.FlowContainer <em>Flow Container</em>}'.
208
	 * <!-- begin-user-doc -->
209
	 * This default implementation returns null so that we can easily ignore cases;
210
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
211
	 * <!-- end-user-doc -->
212
	 * @return the new adapter.
213
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.FlowContainer
214
	 * @generated
215
	 */
216
	public Adapter createFlowContainerAdapter() {
217
		return null;
218
	}
219
220
	/**
221
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.AndGate <em>And Gate</em>}'.
222
	 * <!-- begin-user-doc -->
223
	 * This default implementation returns null so that we can easily ignore cases;
224
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
225
	 * <!-- end-user-doc -->
226
	 * @return the new adapter.
227
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.AndGate
228
	 * @generated
229
	 */
230
	public Adapter createAndGateAdapter() {
231
		return null;
232
	}
233
234
	/**
235
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OrGate <em>Or Gate</em>}'.
236
	 * <!-- begin-user-doc -->
237
	 * This default implementation returns null so that we can easily ignore cases;
238
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
239
	 * <!-- end-user-doc -->
240
	 * @return the new adapter.
241
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OrGate
242
	 * @generated
243
	 */
244
	public Adapter createOrGateAdapter() {
245
		return null;
246
	}
247
248
	/**
249
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.XORGate <em>XOR Gate</em>}'.
250
	 * <!-- begin-user-doc -->
251
	 * This default implementation returns null so that we can easily ignore cases;
252
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
253
	 * <!-- end-user-doc -->
254
	 * @return the new adapter.
255
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.XORGate
256
	 * @generated
257
	 */
258
	public Adapter createXORGateAdapter() {
259
		return null;
260
	}
261
262
	/**
263
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Model <em>Model</em>}'.
264
	 * <!-- begin-user-doc -->
265
	 * This default implementation returns null so that we can easily ignore cases;
266
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
267
	 * <!-- end-user-doc -->
268
	 * @return the new adapter.
269
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Model
270
	 * @generated
271
	 */
272
	public Adapter createModelAdapter() {
273
		return null;
274
	}
275
276
	/**
277
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.ContainerElement <em>Container Element</em>}'.
278
	 * <!-- begin-user-doc -->
279
	 * This default implementation returns null so that we can easily ignore cases;
280
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
281
	 * <!-- end-user-doc -->
282
	 * @return the new adapter.
283
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.ContainerElement
284
	 * @generated
285
	 */
286
	public Adapter createContainerElementAdapter() {
287
		return null;
288
	}
289
290
	/**
291
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal <em>Terminal</em>}'.
292
	 * <!-- begin-user-doc -->
293
	 * This default implementation returns null so that we can easily ignore cases;
294
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
295
	 * <!-- end-user-doc -->
296
	 * @return the new adapter.
297
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal
298
	 * @generated
299
	 */
300
	public Adapter createTerminalAdapter() {
301
		return null;
302
	}
303
304
	/**
305
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OutputTerminal <em>Output Terminal</em>}'.
306
	 * <!-- begin-user-doc -->
307
	 * This default implementation returns null so that we can easily ignore cases;
308
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
309
	 * <!-- end-user-doc -->
310
	 * @return the new adapter.
311
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OutputTerminal
312
	 * @generated
313
	 */
314
	public Adapter createOutputTerminalAdapter() {
315
		return null;
316
	}
317
318
	/**
319
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputTerminal <em>Input Terminal</em>}'.
320
	 * <!-- begin-user-doc -->
321
	 * This default implementation returns null so that we can easily ignore cases;
322
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
323
	 * <!-- end-user-doc -->
324
	 * @return the new adapter.
325
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputTerminal
326
	 * @generated
327
	 */
328
	public Adapter createInputTerminalAdapter() {
329
		return null;
330
	}
331
332
	/**
333
	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputOutputTerminal <em>Input Output Terminal</em>}'.
334
	 * <!-- begin-user-doc -->
335
	 * This default implementation returns null so that we can easily ignore cases;
336
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
337
	 * <!-- end-user-doc -->
338
	 * @return the new adapter.
339
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputOutputTerminal
340
	 * @generated
341
	 */
342
	public Adapter createInputOutputTerminalAdapter() {
343
		return null;
344
	}
345
346
	/**
347
	 * Creates a new adapter for the default case.
348
	 * <!-- begin-user-doc -->
349
	 * This default implementation returns null.
350
	 * <!-- end-user-doc -->
351
	 * @return the new adapter.
352
	 * @generated
353
	 */
354
	public Adapter createEObjectAdapter() {
355
		return null;
356
	}
357
358
} //SemanticAdapterFactory
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/util/LogicSemanticType.java (+51 lines)
Added Link Here
1
/******************************************************************************
2
 * Copyright (c) 2005 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *    IBM Corporation - initial API and implementation 
10
 ****************************************************************************/
11
12
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.util;
13
14
import org.eclipse.gmf.runtime.emf.type.core.AbstractElementTypeEnumerator;
15
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
16
17
/**
18
 * Element types for the logic elements.
19
 * 
20
 * @author qili, ldamus
21
 */
22
public class LogicSemanticType
23
	extends AbstractElementTypeEnumerator {
24
25
	public static final IElementType MODEL = getElementType("logic.model"); //$NON-NLS-1$
26
27
	public static final IElementType LED = getElementType("logic.led"); //$NON-NLS-1$
28
29
	public static final IElementType WIRE = getElementType("logic.wire"); //$NON-NLS-1$
30
31
	public static final IElementType CIRCUIT = getElementType("logic.circuit"); //$NON-NLS-1$
32
33
	public static final IElementType FLOWCONTAINER = getElementType("logic.flowcontainer"); //$NON-NLS-1$
34
35
	public static final IElementType ANDGATE = getElementType("logic.andgate"); //$NON-NLS-1$
36
37
	public static final IElementType ORGATE = getElementType("logic.orgate"); //$NON-NLS-1$
38
39
	public static final IElementType XORGATE = getElementType("logic.xorgate"); //$NON-NLS-1$
40
41
	public static final IElementType TERMINAL = getElementType("logic.terminal"); //$NON-NLS-1$
42
43
	public static final IElementType INPUT_TERMINAL = getElementType("logic.inputterminal"); //$NON-NLS-1$
44
45
	public static final IElementType OUTPUT_TERMINAL = getElementType("logic.outputterminal"); //$NON-NLS-1$
46
47
	public static final IElementType INPUT_OUTPUT_TERMINAL = getElementType("logic.inputoutputterminal"); //$NON-NLS-1$
48
49
	public static final IElementType HALF_ADDER = getElementType("logic.halfAdder"); //$NON-NLS-1$
50
51
}
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/SemanticFactory.java (+136 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic;
8
9
import org.eclipse.emf.ecore.EFactory;
10
11
/**
12
 * <!-- begin-user-doc -->
13
 * The <b>Factory</b> for the model.
14
 * It provides a create method for each non-abstract class of the model.
15
 * <!-- end-user-doc -->
16
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage
17
 * @generated
18
 */
19
public interface SemanticFactory extends EFactory {
20
	/**
21
	 * The singleton instance of the factory.
22
	 * <!-- begin-user-doc -->
23
	 * <!-- end-user-doc -->
24
	 * @generated
25
	 */
26
	SemanticFactory eINSTANCE = org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticFactoryImpl.init();
27
28
	/**
29
	 * Returns a new object of class '<em>LED</em>'.
30
	 * <!-- begin-user-doc -->
31
	 * <!-- end-user-doc -->
32
	 * @return a new object of class '<em>LED</em>'.
33
	 * @generated
34
	 */
35
	LED createLED();
36
37
	/**
38
	 * Returns a new object of class '<em>Wire</em>'.
39
	 * <!-- begin-user-doc -->
40
	 * <!-- end-user-doc -->
41
	 * @return a new object of class '<em>Wire</em>'.
42
	 * @generated
43
	 */
44
	Wire createWire();
45
46
	/**
47
	 * Returns a new object of class '<em>Circuit</em>'.
48
	 * <!-- begin-user-doc -->
49
	 * <!-- end-user-doc -->
50
	 * @return a new object of class '<em>Circuit</em>'.
51
	 * @generated
52
	 */
53
	Circuit createCircuit();
54
55
	/**
56
	 * Returns a new object of class '<em>Flow Container</em>'.
57
	 * <!-- begin-user-doc -->
58
	 * <!-- end-user-doc -->
59
	 * @return a new object of class '<em>Flow Container</em>'.
60
	 * @generated
61
	 */
62
	FlowContainer createFlowContainer();
63
64
	/**
65
	 * Returns a new object of class '<em>And Gate</em>'.
66
	 * <!-- begin-user-doc -->
67
	 * <!-- end-user-doc -->
68
	 * @return a new object of class '<em>And Gate</em>'.
69
	 * @generated
70
	 */
71
	AndGate createAndGate();
72
73
	/**
74
	 * Returns a new object of class '<em>Or Gate</em>'.
75
	 * <!-- begin-user-doc -->
76
	 * <!-- end-user-doc -->
77
	 * @return a new object of class '<em>Or Gate</em>'.
78
	 * @generated
79
	 */
80
	OrGate createOrGate();
81
82
	/**
83
	 * Returns a new object of class '<em>XOR Gate</em>'.
84
	 * <!-- begin-user-doc -->
85
	 * <!-- end-user-doc -->
86
	 * @return a new object of class '<em>XOR Gate</em>'.
87
	 * @generated
88
	 */
89
	XORGate createXORGate();
90
91
	/**
92
	 * Returns a new object of class '<em>Model</em>'.
93
	 * <!-- begin-user-doc -->
94
	 * <!-- end-user-doc -->
95
	 * @return a new object of class '<em>Model</em>'.
96
	 * @generated
97
	 */
98
	Model createModel();
99
100
	/**
101
	 * Returns a new object of class '<em>Output Terminal</em>'.
102
	 * <!-- begin-user-doc -->
103
	 * <!-- end-user-doc -->
104
	 * @return a new object of class '<em>Output Terminal</em>'.
105
	 * @generated
106
	 */
107
	OutputTerminal createOutputTerminal();
108
109
	/**
110
	 * Returns a new object of class '<em>Input Terminal</em>'.
111
	 * <!-- begin-user-doc -->
112
	 * <!-- end-user-doc -->
113
	 * @return a new object of class '<em>Input Terminal</em>'.
114
	 * @generated
115
	 */
116
	InputTerminal createInputTerminal();
117
118
	/**
119
	 * Returns a new object of class '<em>Input Output Terminal</em>'.
120
	 * <!-- begin-user-doc -->
121
	 * <!-- end-user-doc -->
122
	 * @return a new object of class '<em>Input Output Terminal</em>'.
123
	 * @generated
124
	 */
125
	InputOutputTerminal createInputOutputTerminal();
126
127
	/**
128
	 * Returns the package supported by this factory.
129
	 * <!-- begin-user-doc -->
130
	 * <!-- end-user-doc -->
131
	 * @return the package supported by this factory.
132
	 * @generated
133
	 */
134
	SemanticPackage getSemanticPackage();
135
136
} //SemanticFactory
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/ContainerElement.java (+44 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic;
8
9
import org.eclipse.emf.common.util.EList;
10
11
/**
12
 * <!-- begin-user-doc -->
13
 * A representation of the model object '<em><b>Container Element</b></em>'.
14
 * <!-- end-user-doc -->
15
 *
16
 * <p>
17
 * The following features are supported:
18
 * <ul>
19
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.ContainerElement#getChildren <em>Children</em>}</li>
20
 * </ul>
21
 * </p>
22
 *
23
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getContainerElement()
24
 * @model abstract="true"
25
 * @generated
26
 */
27
public interface ContainerElement extends Element {
28
	/**
29
	 * Returns the value of the '<em><b>Children</b></em>' containment reference list.
30
	 * The list contents are of type {@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element}.
31
	 * <!-- begin-user-doc -->
32
	 * <p>
33
	 * If the meaning of the '<em>Children</em>' containment reference list isn't clear,
34
	 * there really should be more of a description here...
35
	 * </p>
36
	 * <!-- end-user-doc -->
37
	 * @return the value of the '<em>Children</em>' containment reference list.
38
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getContainerElement_Children()
39
	 * @model type="org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element" containment="true"
40
	 * @generated
41
	 */
42
	EList getChildren();
43
44
} // ContainerElement
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/Circuit.java (+21 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic;
8
9
10
/**
11
 * <!-- begin-user-doc -->
12
 * A representation of the model object '<em><b>Circuit</b></em>'.
13
 * <!-- end-user-doc -->
14
 *
15
 *
16
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getCircuit()
17
 * @model
18
 * @generated
19
 */
20
public interface Circuit extends ContainerElement {
21
} // Circuit
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/impl/InputOutputTerminalImpl.java (+42 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl;
8
9
import org.eclipse.emf.ecore.EClass;
10
11
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputOutputTerminal;
12
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
13
14
/**
15
 * <!-- begin-user-doc -->
16
 * An implementation of the model object '<em><b>Input Output Terminal</b></em>'.
17
 * <!-- end-user-doc -->
18
 * <p>
19
 * </p>
20
 *
21
 * @generated
22
 */
23
public class InputOutputTerminalImpl extends OutputTerminalImpl implements InputOutputTerminal {
24
	/**
25
	 * <!-- begin-user-doc -->
26
	 * <!-- end-user-doc -->
27
	 * @generated
28
	 */
29
	protected InputOutputTerminalImpl() {
30
		super();
31
	}
32
33
	/**
34
	 * <!-- begin-user-doc -->
35
	 * <!-- end-user-doc -->
36
	 * @generated
37
	 */
38
	protected EClass eStaticClass() {
39
		return SemanticPackage.Literals.INPUT_OUTPUT_TERMINAL;
40
	}
41
42
} //InputOutputTerminalImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/InputOutputTerminal.java (+21 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic;
8
9
10
/**
11
 * <!-- begin-user-doc -->
12
 * A representation of the model object '<em><b>Input Output Terminal</b></em>'.
13
 * <!-- end-user-doc -->
14
 *
15
 *
16
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getInputOutputTerminal()
17
 * @model
18
 * @generated
19
 */
20
public interface InputOutputTerminal extends OutputTerminal, InputTerminal {
21
} // InputOutputTerminal
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/util/SemanticSwitch.java (+449 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.util;
8
9
import java.util.List;
10
11
import org.eclipse.emf.ecore.EClass;
12
import org.eclipse.emf.ecore.EObject;
13
14
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.*;
15
16
/**
17
 * <!-- begin-user-doc -->
18
 * The <b>Switch</b> for the model's inheritance hierarchy.
19
 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
20
 * to invoke the <code>caseXXX</code> method for each class of the model,
21
 * starting with the actual class of the object
22
 * and proceeding up the inheritance hierarchy
23
 * until a non-null result is returned,
24
 * which is the result of the switch.
25
 * <!-- end-user-doc -->
26
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage
27
 * @generated
28
 */
29
public class SemanticSwitch {
30
	/**
31
	 * The cached model package
32
	 * <!-- begin-user-doc -->
33
	 * <!-- end-user-doc -->
34
	 * @generated
35
	 */
36
	protected static SemanticPackage modelPackage;
37
38
	/**
39
	 * Creates an instance of the switch.
40
	 * <!-- begin-user-doc -->
41
	 * <!-- end-user-doc -->
42
	 * @generated
43
	 */
44
	public SemanticSwitch() {
45
		if (modelPackage == null) {
46
			modelPackage = SemanticPackage.eINSTANCE;
47
		}
48
	}
49
50
	/**
51
	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
52
	 * <!-- begin-user-doc -->
53
	 * <!-- end-user-doc -->
54
	 * @return the first non-null result returned by a <code>caseXXX</code> call.
55
	 * @generated
56
	 */
57
	public Object doSwitch(EObject theEObject) {
58
		return doSwitch(theEObject.eClass(), theEObject);
59
	}
60
61
	/**
62
	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
63
	 * <!-- begin-user-doc -->
64
	 * <!-- end-user-doc -->
65
	 * @return the first non-null result returned by a <code>caseXXX</code> call.
66
	 * @generated
67
	 */
68
	protected Object doSwitch(EClass theEClass, EObject theEObject) {
69
		if (theEClass.eContainer() == modelPackage) {
70
			return doSwitch(theEClass.getClassifierID(), theEObject);
71
		}
72
		else {
73
			List eSuperTypes = theEClass.getESuperTypes();
74
			return
75
				eSuperTypes.isEmpty() ?
76
					defaultCase(theEObject) :
77
					doSwitch((EClass)eSuperTypes.get(0), theEObject);
78
		}
79
	}
80
81
	/**
82
	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
83
	 * <!-- begin-user-doc -->
84
	 * <!-- end-user-doc -->
85
	 * @return the first non-null result returned by a <code>caseXXX</code> call.
86
	 * @generated
87
	 */
88
	protected Object doSwitch(int classifierID, EObject theEObject) {
89
		switch (classifierID) {
90
			case SemanticPackage.LED: {
91
				LED led = (LED)theEObject;
92
				Object result = caseLED(led);
93
				if (result == null) result = caseElement(led);
94
				if (result == null) result = defaultCase(theEObject);
95
				return result;
96
			}
97
			case SemanticPackage.ELEMENT: {
98
				Element element = (Element)theEObject;
99
				Object result = caseElement(element);
100
				if (result == null) result = defaultCase(theEObject);
101
				return result;
102
			}
103
			case SemanticPackage.WIRE: {
104
				Wire wire = (Wire)theEObject;
105
				Object result = caseWire(wire);
106
				if (result == null) result = caseElement(wire);
107
				if (result == null) result = defaultCase(theEObject);
108
				return result;
109
			}
110
			case SemanticPackage.CIRCUIT: {
111
				Circuit circuit = (Circuit)theEObject;
112
				Object result = caseCircuit(circuit);
113
				if (result == null) result = caseContainerElement(circuit);
114
				if (result == null) result = caseElement(circuit);
115
				if (result == null) result = defaultCase(theEObject);
116
				return result;
117
			}
118
			case SemanticPackage.GATE: {
119
				Gate gate = (Gate)theEObject;
120
				Object result = caseGate(gate);
121
				if (result == null) result = caseElement(gate);
122
				if (result == null) result = defaultCase(theEObject);
123
				return result;
124
			}
125
			case SemanticPackage.FLOW_CONTAINER: {
126
				FlowContainer flowContainer = (FlowContainer)theEObject;
127
				Object result = caseFlowContainer(flowContainer);
128
				if (result == null) result = caseContainerElement(flowContainer);
129
				if (result == null) result = caseElement(flowContainer);
130
				if (result == null) result = defaultCase(theEObject);
131
				return result;
132
			}
133
			case SemanticPackage.AND_GATE: {
134
				AndGate andGate = (AndGate)theEObject;
135
				Object result = caseAndGate(andGate);
136
				if (result == null) result = caseGate(andGate);
137
				if (result == null) result = caseElement(andGate);
138
				if (result == null) result = defaultCase(theEObject);
139
				return result;
140
			}
141
			case SemanticPackage.OR_GATE: {
142
				OrGate orGate = (OrGate)theEObject;
143
				Object result = caseOrGate(orGate);
144
				if (result == null) result = caseGate(orGate);
145
				if (result == null) result = caseElement(orGate);
146
				if (result == null) result = defaultCase(theEObject);
147
				return result;
148
			}
149
			case SemanticPackage.XOR_GATE: {
150
				XORGate xorGate = (XORGate)theEObject;
151
				Object result = caseXORGate(xorGate);
152
				if (result == null) result = caseGate(xorGate);
153
				if (result == null) result = caseElement(xorGate);
154
				if (result == null) result = defaultCase(theEObject);
155
				return result;
156
			}
157
			case SemanticPackage.MODEL: {
158
				Model model = (Model)theEObject;
159
				Object result = caseModel(model);
160
				if (result == null) result = caseContainerElement(model);
161
				if (result == null) result = caseElement(model);
162
				if (result == null) result = defaultCase(theEObject);
163
				return result;
164
			}
165
			case SemanticPackage.CONTAINER_ELEMENT: {
166
				ContainerElement containerElement = (ContainerElement)theEObject;
167
				Object result = caseContainerElement(containerElement);
168
				if (result == null) result = caseElement(containerElement);
169
				if (result == null) result = defaultCase(theEObject);
170
				return result;
171
			}
172
			case SemanticPackage.TERMINAL: {
173
				Terminal terminal = (Terminal)theEObject;
174
				Object result = caseTerminal(terminal);
175
				if (result == null) result = caseElement(terminal);
176
				if (result == null) result = defaultCase(theEObject);
177
				return result;
178
			}
179
			case SemanticPackage.OUTPUT_TERMINAL: {
180
				OutputTerminal outputTerminal = (OutputTerminal)theEObject;
181
				Object result = caseOutputTerminal(outputTerminal);
182
				if (result == null) result = caseTerminal(outputTerminal);
183
				if (result == null) result = caseElement(outputTerminal);
184
				if (result == null) result = defaultCase(theEObject);
185
				return result;
186
			}
187
			case SemanticPackage.INPUT_TERMINAL: {
188
				InputTerminal inputTerminal = (InputTerminal)theEObject;
189
				Object result = caseInputTerminal(inputTerminal);
190
				if (result == null) result = caseTerminal(inputTerminal);
191
				if (result == null) result = caseElement(inputTerminal);
192
				if (result == null) result = defaultCase(theEObject);
193
				return result;
194
			}
195
			case SemanticPackage.INPUT_OUTPUT_TERMINAL: {
196
				InputOutputTerminal inputOutputTerminal = (InputOutputTerminal)theEObject;
197
				Object result = caseInputOutputTerminal(inputOutputTerminal);
198
				if (result == null) result = caseOutputTerminal(inputOutputTerminal);
199
				if (result == null) result = caseInputTerminal(inputOutputTerminal);
200
				if (result == null) result = caseTerminal(inputOutputTerminal);
201
				if (result == null) result = caseElement(inputOutputTerminal);
202
				if (result == null) result = defaultCase(theEObject);
203
				return result;
204
			}
205
			default: return defaultCase(theEObject);
206
		}
207
	}
208
209
	/**
210
	 * Returns the result of interpretting the object as an instance of '<em>LED</em>'.
211
	 * <!-- begin-user-doc -->
212
	 * This implementation returns null;
213
	 * returning a non-null result will terminate the switch.
214
	 * <!-- end-user-doc -->
215
	 * @param object the target of the switch.
216
	 * @return the result of interpretting the object as an instance of '<em>LED</em>'.
217
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
218
	 * @generated
219
	 */
220
	public Object caseLED(LED object) {
221
		return null;
222
	}
223
224
	/**
225
	 * Returns the result of interpretting the object as an instance of '<em>Element</em>'.
226
	 * <!-- begin-user-doc -->
227
	 * This implementation returns null;
228
	 * returning a non-null result will terminate the switch.
229
	 * <!-- end-user-doc -->
230
	 * @param object the target of the switch.
231
	 * @return the result of interpretting the object as an instance of '<em>Element</em>'.
232
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
233
	 * @generated
234
	 */
235
	public Object caseElement(Element object) {
236
		return null;
237
	}
238
239
	/**
240
	 * Returns the result of interpretting the object as an instance of '<em>Wire</em>'.
241
	 * <!-- begin-user-doc -->
242
	 * This implementation returns null;
243
	 * returning a non-null result will terminate the switch.
244
	 * <!-- end-user-doc -->
245
	 * @param object the target of the switch.
246
	 * @return the result of interpretting the object as an instance of '<em>Wire</em>'.
247
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
248
	 * @generated
249
	 */
250
	public Object caseWire(Wire object) {
251
		return null;
252
	}
253
254
	/**
255
	 * Returns the result of interpretting the object as an instance of '<em>Circuit</em>'.
256
	 * <!-- begin-user-doc -->
257
	 * This implementation returns null;
258
	 * returning a non-null result will terminate the switch.
259
	 * <!-- end-user-doc -->
260
	 * @param object the target of the switch.
261
	 * @return the result of interpretting the object as an instance of '<em>Circuit</em>'.
262
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
263
	 * @generated
264
	 */
265
	public Object caseCircuit(Circuit object) {
266
		return null;
267
	}
268
269
	/**
270
	 * Returns the result of interpretting the object as an instance of '<em>Gate</em>'.
271
	 * <!-- begin-user-doc -->
272
	 * This implementation returns null;
273
	 * returning a non-null result will terminate the switch.
274
	 * <!-- end-user-doc -->
275
	 * @param object the target of the switch.
276
	 * @return the result of interpretting the object as an instance of '<em>Gate</em>'.
277
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
278
	 * @generated
279
	 */
280
	public Object caseGate(Gate object) {
281
		return null;
282
	}
283
284
	/**
285
	 * Returns the result of interpretting the object as an instance of '<em>Flow Container</em>'.
286
	 * <!-- begin-user-doc -->
287
	 * This implementation returns null;
288
	 * returning a non-null result will terminate the switch.
289
	 * <!-- end-user-doc -->
290
	 * @param object the target of the switch.
291
	 * @return the result of interpretting the object as an instance of '<em>Flow Container</em>'.
292
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
293
	 * @generated
294
	 */
295
	public Object caseFlowContainer(FlowContainer object) {
296
		return null;
297
	}
298
299
	/**
300
	 * Returns the result of interpretting the object as an instance of '<em>And Gate</em>'.
301
	 * <!-- begin-user-doc -->
302
	 * This implementation returns null;
303
	 * returning a non-null result will terminate the switch.
304
	 * <!-- end-user-doc -->
305
	 * @param object the target of the switch.
306
	 * @return the result of interpretting the object as an instance of '<em>And Gate</em>'.
307
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
308
	 * @generated
309
	 */
310
	public Object caseAndGate(AndGate object) {
311
		return null;
312
	}
313
314
	/**
315
	 * Returns the result of interpretting the object as an instance of '<em>Or Gate</em>'.
316
	 * <!-- begin-user-doc -->
317
	 * This implementation returns null;
318
	 * returning a non-null result will terminate the switch.
319
	 * <!-- end-user-doc -->
320
	 * @param object the target of the switch.
321
	 * @return the result of interpretting the object as an instance of '<em>Or Gate</em>'.
322
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
323
	 * @generated
324
	 */
325
	public Object caseOrGate(OrGate object) {
326
		return null;
327
	}
328
329
	/**
330
	 * Returns the result of interpretting the object as an instance of '<em>XOR Gate</em>'.
331
	 * <!-- begin-user-doc -->
332
	 * This implementation returns null;
333
	 * returning a non-null result will terminate the switch.
334
	 * <!-- end-user-doc -->
335
	 * @param object the target of the switch.
336
	 * @return the result of interpretting the object as an instance of '<em>XOR Gate</em>'.
337
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
338
	 * @generated
339
	 */
340
	public Object caseXORGate(XORGate object) {
341
		return null;
342
	}
343
344
	/**
345
	 * Returns the result of interpretting the object as an instance of '<em>Model</em>'.
346
	 * <!-- begin-user-doc -->
347
	 * This implementation returns null;
348
	 * returning a non-null result will terminate the switch.
349
	 * <!-- end-user-doc -->
350
	 * @param object the target of the switch.
351
	 * @return the result of interpretting the object as an instance of '<em>Model</em>'.
352
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
353
	 * @generated
354
	 */
355
	public Object caseModel(Model object) {
356
		return null;
357
	}
358
359
	/**
360
	 * Returns the result of interpretting the object as an instance of '<em>Container Element</em>'.
361
	 * <!-- begin-user-doc -->
362
	 * This implementation returns null;
363
	 * returning a non-null result will terminate the switch.
364
	 * <!-- end-user-doc -->
365
	 * @param object the target of the switch.
366
	 * @return the result of interpretting the object as an instance of '<em>Container Element</em>'.
367
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
368
	 * @generated
369
	 */
370
	public Object caseContainerElement(ContainerElement object) {
371
		return null;
372
	}
373
374
	/**
375
	 * Returns the result of interpretting the object as an instance of '<em>Terminal</em>'.
376
	 * <!-- begin-user-doc -->
377
	 * This implementation returns null;
378
	 * returning a non-null result will terminate the switch.
379
	 * <!-- end-user-doc -->
380
	 * @param object the target of the switch.
381
	 * @return the result of interpretting the object as an instance of '<em>Terminal</em>'.
382
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
383
	 * @generated
384
	 */
385
	public Object caseTerminal(Terminal object) {
386
		return null;
387
	}
388
389
	/**
390
	 * Returns the result of interpretting the object as an instance of '<em>Output Terminal</em>'.
391
	 * <!-- begin-user-doc -->
392
	 * This implementation returns null;
393
	 * returning a non-null result will terminate the switch.
394
	 * <!-- end-user-doc -->
395
	 * @param object the target of the switch.
396
	 * @return the result of interpretting the object as an instance of '<em>Output Terminal</em>'.
397
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
398
	 * @generated
399
	 */
400
	public Object caseOutputTerminal(OutputTerminal object) {
401
		return null;
402
	}
403
404
	/**
405
	 * Returns the result of interpretting the object as an instance of '<em>Input Terminal</em>'.
406
	 * <!-- begin-user-doc -->
407
	 * This implementation returns null;
408
	 * returning a non-null result will terminate the switch.
409
	 * <!-- end-user-doc -->
410
	 * @param object the target of the switch.
411
	 * @return the result of interpretting the object as an instance of '<em>Input Terminal</em>'.
412
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
413
	 * @generated
414
	 */
415
	public Object caseInputTerminal(InputTerminal object) {
416
		return null;
417
	}
418
419
	/**
420
	 * Returns the result of interpretting the object as an instance of '<em>Input Output Terminal</em>'.
421
	 * <!-- begin-user-doc -->
422
	 * This implementation returns null;
423
	 * returning a non-null result will terminate the switch.
424
	 * <!-- end-user-doc -->
425
	 * @param object the target of the switch.
426
	 * @return the result of interpretting the object as an instance of '<em>Input Output Terminal</em>'.
427
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
428
	 * @generated
429
	 */
430
	public Object caseInputOutputTerminal(InputOutputTerminal object) {
431
		return null;
432
	}
433
434
	/**
435
	 * Returns the result of interpretting the object as an instance of '<em>EObject</em>'.
436
	 * <!-- begin-user-doc -->
437
	 * This implementation returns null;
438
	 * returning a non-null result will terminate the switch, but this is the last case anyway.
439
	 * <!-- end-user-doc -->
440
	 * @param object the target of the switch.
441
	 * @return the result of interpretting the object as an instance of '<em>EObject</em>'.
442
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
443
	 * @generated
444
	 */
445
	public Object defaultCase(EObject object) {
446
		return null;
447
	}
448
449
} //SemanticSwitch
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/AndGate.java (+21 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic;
8
9
10
/**
11
 * <!-- begin-user-doc -->
12
 * A representation of the model object '<em><b>And Gate</b></em>'.
13
 * <!-- end-user-doc -->
14
 *
15
 *
16
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getAndGate()
17
 * @model
18
 * @generated
19
 */
20
public interface AndGate extends Gate {
21
} // AndGate
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/impl/SemanticPackageImpl.java (+570 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl;
8
9
import org.eclipse.emf.ecore.EAttribute;
10
import org.eclipse.emf.ecore.EClass;
11
import org.eclipse.emf.ecore.EPackage;
12
import org.eclipse.emf.ecore.EReference;
13
14
import org.eclipse.emf.ecore.impl.EPackageImpl;
15
16
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.AndGate;
17
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Circuit;
18
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.ContainerElement;
19
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element;
20
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.FlowContainer;
21
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Gate;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputOutputTerminal;
23
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputTerminal;
24
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Model;
25
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OrGate;
26
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OutputTerminal;
27
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticFactory;
28
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
29
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal;
30
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire;
31
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.XORGate;
32
33
/**
34
 * <!-- begin-user-doc -->
35
 * An implementation of the model <b>Package</b>.
36
 * <!-- end-user-doc -->
37
 * @generated
38
 */
39
public class SemanticPackageImpl extends EPackageImpl implements SemanticPackage {
40
	/**
41
	 * <!-- begin-user-doc -->
42
	 * <!-- end-user-doc -->
43
	 * @generated
44
	 */
45
	private EClass ledEClass = null;
46
47
	/**
48
	 * <!-- begin-user-doc -->
49
	 * <!-- end-user-doc -->
50
	 * @generated
51
	 */
52
	private EClass elementEClass = null;
53
54
	/**
55
	 * <!-- begin-user-doc -->
56
	 * <!-- end-user-doc -->
57
	 * @generated
58
	 */
59
	private EClass wireEClass = null;
60
61
	/**
62
	 * <!-- begin-user-doc -->
63
	 * <!-- end-user-doc -->
64
	 * @generated
65
	 */
66
	private EClass circuitEClass = null;
67
68
	/**
69
	 * <!-- begin-user-doc -->
70
	 * <!-- end-user-doc -->
71
	 * @generated
72
	 */
73
	private EClass gateEClass = null;
74
75
	/**
76
	 * <!-- begin-user-doc -->
77
	 * <!-- end-user-doc -->
78
	 * @generated
79
	 */
80
	private EClass flowContainerEClass = null;
81
82
	/**
83
	 * <!-- begin-user-doc -->
84
	 * <!-- end-user-doc -->
85
	 * @generated
86
	 */
87
	private EClass andGateEClass = null;
88
89
	/**
90
	 * <!-- begin-user-doc -->
91
	 * <!-- end-user-doc -->
92
	 * @generated
93
	 */
94
	private EClass orGateEClass = null;
95
96
	/**
97
	 * <!-- begin-user-doc -->
98
	 * <!-- end-user-doc -->
99
	 * @generated
100
	 */
101
	private EClass xorGateEClass = null;
102
103
	/**
104
	 * <!-- begin-user-doc -->
105
	 * <!-- end-user-doc -->
106
	 * @generated
107
	 */
108
	private EClass modelEClass = null;
109
110
	/**
111
	 * <!-- begin-user-doc -->
112
	 * <!-- end-user-doc -->
113
	 * @generated
114
	 */
115
	private EClass containerElementEClass = null;
116
117
	/**
118
	 * <!-- begin-user-doc -->
119
	 * <!-- end-user-doc -->
120
	 * @generated
121
	 */
122
	private EClass terminalEClass = null;
123
124
	/**
125
	 * <!-- begin-user-doc -->
126
	 * <!-- end-user-doc -->
127
	 * @generated
128
	 */
129
	private EClass outputTerminalEClass = null;
130
131
	/**
132
	 * <!-- begin-user-doc -->
133
	 * <!-- end-user-doc -->
134
	 * @generated
135
	 */
136
	private EClass inputTerminalEClass = null;
137
138
	/**
139
	 * <!-- begin-user-doc -->
140
	 * <!-- end-user-doc -->
141
	 * @generated
142
	 */
143
	private EClass inputOutputTerminalEClass = null;
144
145
	/**
146
	 * Creates an instance of the model <b>Package</b>, registered with
147
	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
148
	 * package URI value.
149
	 * <p>Note: the correct way to create the package is via the static
150
	 * factory method {@link #init init()}, which also performs
151
	 * initialization of the package, or returns the registered package,
152
	 * if one already exists.
153
	 * <!-- begin-user-doc -->
154
	 * <!-- end-user-doc -->
155
	 * @see org.eclipse.emf.ecore.EPackage.Registry
156
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#eNS_URI
157
	 * @see #init()
158
	 * @generated
159
	 */
160
	private SemanticPackageImpl() {
161
		super(eNS_URI, SemanticFactory.eINSTANCE);
162
	}
163
164
	/**
165
	 * <!-- begin-user-doc -->
166
	 * <!-- end-user-doc -->
167
	 * @generated
168
	 */
169
	private static boolean isInited = false;
170
171
	/**
172
	 * Creates, registers, and initializes the <b>Package</b> for this
173
	 * model, and for any others upon which it depends.  Simple
174
	 * dependencies are satisfied by calling this method on all
175
	 * dependent packages before doing anything else.  This method drives
176
	 * initialization for interdependent packages directly, in parallel
177
	 * with this package, itself.
178
	 * <p>Of this package and its interdependencies, all packages which
179
	 * have not yet been registered by their URI values are first created
180
	 * and registered.  The packages are then initialized in two steps:
181
	 * meta-model objects for all of the packages are created before any
182
	 * are initialized, since one package's meta-model objects may refer to
183
	 * those of another.
184
	 * <p>Invocation of this method will not affect any packages that have
185
	 * already been initialized.
186
	 * <!-- begin-user-doc -->
187
	 * <!-- end-user-doc -->
188
	 * @see #eNS_URI
189
	 * @see #createPackageContents()
190
	 * @see #initializePackageContents()
191
	 * @generated
192
	 */
193
	public static SemanticPackage init() {
194
		if (isInited) return (SemanticPackage)EPackage.Registry.INSTANCE.getEPackage(SemanticPackage.eNS_URI);
195
196
		// Obtain or create and register package
197
		SemanticPackageImpl theSemanticPackage = (SemanticPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof SemanticPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new SemanticPackageImpl());
198
199
		isInited = true;
200
201
		// Create package meta-data objects
202
		theSemanticPackage.createPackageContents();
203
204
		// Initialize created meta-data
205
		theSemanticPackage.initializePackageContents();
206
207
		// Mark meta-data to indicate it can't be changed
208
		theSemanticPackage.freeze();
209
210
		return theSemanticPackage;
211
	}
212
213
	/**
214
	 * <!-- begin-user-doc -->
215
	 * <!-- end-user-doc -->
216
	 * @generated
217
	 */
218
	public EClass getLED() {
219
		return ledEClass;
220
	}
221
222
	/**
223
	 * <!-- begin-user-doc -->
224
	 * <!-- end-user-doc -->
225
	 * @generated
226
	 */
227
	public EAttribute getLED_Value() {
228
		return (EAttribute)ledEClass.getEStructuralFeatures().get(0);
229
	}
230
231
	/**
232
	 * <!-- begin-user-doc -->
233
	 * <!-- end-user-doc -->
234
	 * @generated
235
	 */
236
	public EClass getElement() {
237
		return elementEClass;
238
	}
239
240
	/**
241
	 * <!-- begin-user-doc -->
242
	 * <!-- end-user-doc -->
243
	 * @generated
244
	 */
245
	public EReference getElement_Terminals() {
246
		return (EReference)elementEClass.getEStructuralFeatures().get(0);
247
	}
248
249
	/**
250
	 * <!-- begin-user-doc -->
251
	 * <!-- end-user-doc -->
252
	 * @generated
253
	 */
254
	public EReference getElement_OutputTerminals() {
255
		return (EReference)elementEClass.getEStructuralFeatures().get(1);
256
	}
257
258
	/**
259
	 * <!-- begin-user-doc -->
260
	 * <!-- end-user-doc -->
261
	 * @generated
262
	 */
263
	public EReference getElement_InputTerminals() {
264
		return (EReference)elementEClass.getEStructuralFeatures().get(2);
265
	}
266
267
	/**
268
	 * <!-- begin-user-doc -->
269
	 * <!-- end-user-doc -->
270
	 * @generated
271
	 */
272
	public EClass getWire() {
273
		return wireEClass;
274
	}
275
276
	/**
277
	 * <!-- begin-user-doc -->
278
	 * <!-- end-user-doc -->
279
	 * @generated
280
	 */
281
	public EReference getWire_Source() {
282
		return (EReference)wireEClass.getEStructuralFeatures().get(0);
283
	}
284
285
	/**
286
	 * <!-- begin-user-doc -->
287
	 * <!-- end-user-doc -->
288
	 * @generated
289
	 */
290
	public EReference getWire_Target() {
291
		return (EReference)wireEClass.getEStructuralFeatures().get(1);
292
	}
293
294
	/**
295
	 * <!-- begin-user-doc -->
296
	 * <!-- end-user-doc -->
297
	 * @generated
298
	 */
299
	public EClass getCircuit() {
300
		return circuitEClass;
301
	}
302
303
	/**
304
	 * <!-- begin-user-doc -->
305
	 * <!-- end-user-doc -->
306
	 * @generated
307
	 */
308
	public EClass getGate() {
309
		return gateEClass;
310
	}
311
312
	/**
313
	 * <!-- begin-user-doc -->
314
	 * <!-- end-user-doc -->
315
	 * @generated
316
	 */
317
	public EClass getFlowContainer() {
318
		return flowContainerEClass;
319
	}
320
321
	/**
322
	 * <!-- begin-user-doc -->
323
	 * <!-- end-user-doc -->
324
	 * @generated
325
	 */
326
	public EClass getAndGate() {
327
		return andGateEClass;
328
	}
329
330
	/**
331
	 * <!-- begin-user-doc -->
332
	 * <!-- end-user-doc -->
333
	 * @generated
334
	 */
335
	public EClass getOrGate() {
336
		return orGateEClass;
337
	}
338
339
	/**
340
	 * <!-- begin-user-doc -->
341
	 * <!-- end-user-doc -->
342
	 * @generated
343
	 */
344
	public EClass getXORGate() {
345
		return xorGateEClass;
346
	}
347
348
	/**
349
	 * <!-- begin-user-doc -->
350
	 * <!-- end-user-doc -->
351
	 * @generated
352
	 */
353
	public EClass getModel() {
354
		return modelEClass;
355
	}
356
357
	/**
358
	 * <!-- begin-user-doc -->
359
	 * <!-- end-user-doc -->
360
	 * @generated
361
	 */
362
	public EClass getContainerElement() {
363
		return containerElementEClass;
364
	}
365
366
	/**
367
	 * <!-- begin-user-doc -->
368
	 * <!-- end-user-doc -->
369
	 * @generated
370
	 */
371
	public EReference getContainerElement_Children() {
372
		return (EReference)containerElementEClass.getEStructuralFeatures().get(0);
373
	}
374
375
	/**
376
	 * <!-- begin-user-doc -->
377
	 * <!-- end-user-doc -->
378
	 * @generated
379
	 */
380
	public EClass getTerminal() {
381
		return terminalEClass;
382
	}
383
384
	/**
385
	 * <!-- begin-user-doc -->
386
	 * <!-- end-user-doc -->
387
	 * @generated
388
	 */
389
	public EAttribute getTerminal_Id() {
390
		return (EAttribute)terminalEClass.getEStructuralFeatures().get(0);
391
	}
392
393
	/**
394
	 * <!-- begin-user-doc -->
395
	 * <!-- end-user-doc -->
396
	 * @generated
397
	 */
398
	public EClass getOutputTerminal() {
399
		return outputTerminalEClass;
400
	}
401
402
	/**
403
	 * <!-- begin-user-doc -->
404
	 * <!-- end-user-doc -->
405
	 * @generated
406
	 */
407
	public EClass getInputTerminal() {
408
		return inputTerminalEClass;
409
	}
410
411
	/**
412
	 * <!-- begin-user-doc -->
413
	 * <!-- end-user-doc -->
414
	 * @generated
415
	 */
416
	public EClass getInputOutputTerminal() {
417
		return inputOutputTerminalEClass;
418
	}
419
420
	/**
421
	 * <!-- begin-user-doc -->
422
	 * <!-- end-user-doc -->
423
	 * @generated
424
	 */
425
	public SemanticFactory getSemanticFactory() {
426
		return (SemanticFactory)getEFactoryInstance();
427
	}
428
429
	/**
430
	 * <!-- begin-user-doc -->
431
	 * <!-- end-user-doc -->
432
	 * @generated
433
	 */
434
	private boolean isCreated = false;
435
436
	/**
437
	 * Creates the meta-model objects for the package.  This method is
438
	 * guarded to have no affect on any invocation but its first.
439
	 * <!-- begin-user-doc -->
440
	 * <!-- end-user-doc -->
441
	 * @generated
442
	 */
443
	public void createPackageContents() {
444
		if (isCreated) return;
445
		isCreated = true;
446
447
		// Create classes and their features
448
		ledEClass = createEClass(LED);
449
		createEAttribute(ledEClass, LED__VALUE);
450
451
		elementEClass = createEClass(ELEMENT);
452
		createEReference(elementEClass, ELEMENT__TERMINALS);
453
		createEReference(elementEClass, ELEMENT__OUTPUT_TERMINALS);
454
		createEReference(elementEClass, ELEMENT__INPUT_TERMINALS);
455
456
		wireEClass = createEClass(WIRE);
457
		createEReference(wireEClass, WIRE__SOURCE);
458
		createEReference(wireEClass, WIRE__TARGET);
459
460
		circuitEClass = createEClass(CIRCUIT);
461
462
		gateEClass = createEClass(GATE);
463
464
		flowContainerEClass = createEClass(FLOW_CONTAINER);
465
466
		andGateEClass = createEClass(AND_GATE);
467
468
		orGateEClass = createEClass(OR_GATE);
469
470
		xorGateEClass = createEClass(XOR_GATE);
471
472
		modelEClass = createEClass(MODEL);
473
474
		containerElementEClass = createEClass(CONTAINER_ELEMENT);
475
		createEReference(containerElementEClass, CONTAINER_ELEMENT__CHILDREN);
476
477
		terminalEClass = createEClass(TERMINAL);
478
		createEAttribute(terminalEClass, TERMINAL__ID);
479
480
		outputTerminalEClass = createEClass(OUTPUT_TERMINAL);
481
482
		inputTerminalEClass = createEClass(INPUT_TERMINAL);
483
484
		inputOutputTerminalEClass = createEClass(INPUT_OUTPUT_TERMINAL);
485
	}
486
487
	/**
488
	 * <!-- begin-user-doc -->
489
	 * <!-- end-user-doc -->
490
	 * @generated
491
	 */
492
	private boolean isInitialized = false;
493
494
	/**
495
	 * Complete the initialization of the package and its meta-model.  This
496
	 * method is guarded to have no affect on any invocation but its first.
497
	 * <!-- begin-user-doc -->
498
	 * <!-- end-user-doc -->
499
	 * @generated
500
	 */
501
	public void initializePackageContents() {
502
		if (isInitialized) return;
503
		isInitialized = true;
504
505
		// Initialize package
506
		setName(eNAME);
507
		setNsPrefix(eNS_PREFIX);
508
		setNsURI(eNS_URI);
509
510
		// Add supertypes to classes
511
		ledEClass.getESuperTypes().add(this.getElement());
512
		wireEClass.getESuperTypes().add(this.getElement());
513
		circuitEClass.getESuperTypes().add(this.getContainerElement());
514
		gateEClass.getESuperTypes().add(this.getElement());
515
		flowContainerEClass.getESuperTypes().add(this.getContainerElement());
516
		andGateEClass.getESuperTypes().add(this.getGate());
517
		orGateEClass.getESuperTypes().add(this.getGate());
518
		xorGateEClass.getESuperTypes().add(this.getGate());
519
		modelEClass.getESuperTypes().add(this.getContainerElement());
520
		containerElementEClass.getESuperTypes().add(this.getElement());
521
		terminalEClass.getESuperTypes().add(this.getElement());
522
		outputTerminalEClass.getESuperTypes().add(this.getTerminal());
523
		inputTerminalEClass.getESuperTypes().add(this.getTerminal());
524
		inputOutputTerminalEClass.getESuperTypes().add(this.getOutputTerminal());
525
		inputOutputTerminalEClass.getESuperTypes().add(this.getInputTerminal());
526
527
		// Initialize classes and features; add operations and parameters
528
		initEClass(ledEClass, org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED.class, "LED", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
529
		initEAttribute(getLED_Value(), ecorePackage.getEInt(), "value", "0", 0, 1, org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
530
531
		initEClass(elementEClass, Element.class, "Element", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
532
		initEReference(getElement_Terminals(), this.getTerminal(), null, "terminals", null, 0, -1, Element.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
533
		initEReference(getElement_OutputTerminals(), this.getTerminal(), null, "outputTerminals", null, 0, -1, Element.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
534
		initEReference(getElement_InputTerminals(), this.getTerminal(), null, "inputTerminals", null, 0, -1, Element.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
535
536
		initEClass(wireEClass, Wire.class, "Wire", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
537
		initEReference(getWire_Source(), this.getOutputTerminal(), null, "source", null, 1, 1, Wire.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
538
		initEReference(getWire_Target(), this.getInputTerminal(), null, "target", null, 1, 1, Wire.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
539
540
		initEClass(circuitEClass, Circuit.class, "Circuit", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
541
542
		initEClass(gateEClass, Gate.class, "Gate", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
543
544
		initEClass(flowContainerEClass, FlowContainer.class, "FlowContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
545
546
		initEClass(andGateEClass, AndGate.class, "AndGate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
547
548
		initEClass(orGateEClass, OrGate.class, "OrGate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
549
550
		initEClass(xorGateEClass, XORGate.class, "XORGate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
551
552
		initEClass(modelEClass, Model.class, "Model", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
553
554
		initEClass(containerElementEClass, ContainerElement.class, "ContainerElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
555
		initEReference(getContainerElement_Children(), this.getElement(), null, "children", null, 0, -1, ContainerElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
556
557
		initEClass(terminalEClass, Terminal.class, "Terminal", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
558
		initEAttribute(getTerminal_Id(), ecorePackage.getEString(), "id", "", 0, 1, Terminal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
559
560
		initEClass(outputTerminalEClass, OutputTerminal.class, "OutputTerminal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
561
562
		initEClass(inputTerminalEClass, InputTerminal.class, "InputTerminal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
563
564
		initEClass(inputOutputTerminalEClass, InputOutputTerminal.class, "InputOutputTerminal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
565
566
		// Create resource
567
		createResource(eNS_URI);
568
	}
569
570
} //SemanticPackageImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/impl/CircuitImpl.java (+42 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl;
8
9
import org.eclipse.emf.ecore.EClass;
10
11
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Circuit;
12
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
13
14
/**
15
 * <!-- begin-user-doc -->
16
 * An implementation of the model object '<em><b>Circuit</b></em>'.
17
 * <!-- end-user-doc -->
18
 * <p>
19
 * </p>
20
 *
21
 * @generated
22
 */
23
public class CircuitImpl extends ContainerElementImpl implements Circuit {
24
	/**
25
	 * <!-- begin-user-doc -->
26
	 * <!-- end-user-doc -->
27
	 * @generated
28
	 */
29
	protected CircuitImpl() {
30
		super();
31
	}
32
33
	/**
34
	 * <!-- begin-user-doc -->
35
	 * <!-- end-user-doc -->
36
	 * @generated
37
	 */
38
	protected EClass eStaticClass() {
39
		return SemanticPackage.Literals.CIRCUIT;
40
	}
41
42
} //CircuitImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/impl/XORGateImpl.java (+42 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl;
8
9
import org.eclipse.emf.ecore.EClass;
10
11
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
12
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.XORGate;
13
14
/**
15
 * <!-- begin-user-doc -->
16
 * An implementation of the model object '<em><b>XOR Gate</b></em>'.
17
 * <!-- end-user-doc -->
18
 * <p>
19
 * </p>
20
 *
21
 * @generated
22
 */
23
public class XORGateImpl extends GateImpl implements XORGate {
24
	/**
25
	 * <!-- begin-user-doc -->
26
	 * <!-- end-user-doc -->
27
	 * @generated
28
	 */
29
	protected XORGateImpl() {
30
		super();
31
	}
32
33
	/**
34
	 * <!-- begin-user-doc -->
35
	 * <!-- end-user-doc -->
36
	 * @generated
37
	 */
38
	protected EClass eStaticClass() {
39
		return SemanticPackage.Literals.XOR_GATE;
40
	}
41
42
} //XORGateImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/XORGate.java (+21 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic;
8
9
10
/**
11
 * <!-- begin-user-doc -->
12
 * A representation of the model object '<em><b>XOR Gate</b></em>'.
13
 * <!-- end-user-doc -->
14
 *
15
 *
16
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getXORGate()
17
 * @model
18
 * @generated
19
 */
20
public interface XORGate extends Gate {
21
} // XORGate
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/impl/ModelImpl.java (+42 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl;
8
9
import org.eclipse.emf.ecore.EClass;
10
11
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Model;
12
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
13
14
/**
15
 * <!-- begin-user-doc -->
16
 * An implementation of the model object '<em><b>Model</b></em>'.
17
 * <!-- end-user-doc -->
18
 * <p>
19
 * </p>
20
 *
21
 * @generated
22
 */
23
public class ModelImpl extends ContainerElementImpl implements Model {
24
	/**
25
	 * <!-- begin-user-doc -->
26
	 * <!-- end-user-doc -->
27
	 * @generated
28
	 */
29
	protected ModelImpl() {
30
		super();
31
	}
32
33
	/**
34
	 * <!-- begin-user-doc -->
35
	 * <!-- end-user-doc -->
36
	 * @generated
37
	 */
38
	protected EClass eStaticClass() {
39
		return SemanticPackage.Literals.MODEL;
40
	}
41
42
} //ModelImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/impl/InputTerminalImpl.java (+42 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl;
8
9
import org.eclipse.emf.ecore.EClass;
10
11
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputTerminal;
12
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
13
14
/**
15
 * <!-- begin-user-doc -->
16
 * An implementation of the model object '<em><b>Input Terminal</b></em>'.
17
 * <!-- end-user-doc -->
18
 * <p>
19
 * </p>
20
 *
21
 * @generated
22
 */
23
public class InputTerminalImpl extends TerminalImpl implements InputTerminal {
24
	/**
25
	 * <!-- begin-user-doc -->
26
	 * <!-- end-user-doc -->
27
	 * @generated
28
	 */
29
	protected InputTerminalImpl() {
30
		super();
31
	}
32
33
	/**
34
	 * <!-- begin-user-doc -->
35
	 * <!-- end-user-doc -->
36
	 * @generated
37
	 */
38
	protected EClass eStaticClass() {
39
		return SemanticPackage.Literals.INPUT_TERMINAL;
40
	}
41
42
} //InputTerminalImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/impl/LEDImpl.java (+160 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl;
8
9
import org.eclipse.emf.common.notify.Notification;
10
11
import org.eclipse.emf.ecore.EClass;
12
13
import org.eclipse.emf.ecore.impl.ENotificationImpl;
14
15
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED;
16
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
17
18
/**
19
 * <!-- begin-user-doc -->
20
 * An implementation of the model object '<em><b>LED</b></em>'.
21
 * <!-- end-user-doc -->
22
 * <p>
23
 * The following features are implemented:
24
 * <ul>
25
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.LEDImpl#getValue <em>Value</em>}</li>
26
 * </ul>
27
 * </p>
28
 *
29
 * @generated
30
 */
31
public class LEDImpl extends ElementImpl implements LED {
32
	/**
33
	 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
34
	 * <!-- begin-user-doc -->
35
	 * <!-- end-user-doc -->
36
	 * @see #getValue()
37
	 * @generated
38
	 * @ordered
39
	 */
40
	protected static final int VALUE_EDEFAULT = 0;
41
42
	/**
43
	 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
44
	 * <!-- begin-user-doc -->
45
	 * <!-- end-user-doc -->
46
	 * @see #getValue()
47
	 * @generated
48
	 * @ordered
49
	 */
50
	protected int value = VALUE_EDEFAULT;
51
52
	/**
53
	 * <!-- begin-user-doc -->
54
	 * <!-- end-user-doc -->
55
	 * @generated
56
	 */
57
	protected LEDImpl() {
58
		super();
59
	}
60
61
	/**
62
	 * <!-- begin-user-doc -->
63
	 * <!-- end-user-doc -->
64
	 * @generated
65
	 */
66
	protected EClass eStaticClass() {
67
		return SemanticPackage.Literals.LED;
68
	}
69
70
	/**
71
	 * <!-- begin-user-doc -->
72
	 * <!-- end-user-doc -->
73
	 * @generated
74
	 */
75
	public int getValue() {
76
		return value;
77
	}
78
79
	/**
80
	 * <!-- begin-user-doc -->
81
	 * <!-- end-user-doc -->
82
	 * @generated
83
	 */
84
	public void setValue(int newValue) {
85
		int oldValue = value;
86
		value = newValue;
87
		if (eNotificationRequired())
88
			eNotify(new ENotificationImpl(this, Notification.SET, SemanticPackage.LED__VALUE, oldValue, value));
89
	}
90
91
	/**
92
	 * <!-- begin-user-doc -->
93
	 * <!-- end-user-doc -->
94
	 * @generated
95
	 */
96
	public Object eGet(int featureID, boolean resolve, boolean coreType) {
97
		switch (featureID) {
98
			case SemanticPackage.LED__VALUE:
99
				return new Integer(getValue());
100
		}
101
		return super.eGet(featureID, resolve, coreType);
102
	}
103
104
	/**
105
	 * <!-- begin-user-doc -->
106
	 * <!-- end-user-doc -->
107
	 * @generated
108
	 */
109
	public void eSet(int featureID, Object newValue) {
110
		switch (featureID) {
111
			case SemanticPackage.LED__VALUE:
112
				setValue(((Integer)newValue).intValue());
113
				return;
114
		}
115
		super.eSet(featureID, newValue);
116
	}
117
118
	/**
119
	 * <!-- begin-user-doc -->
120
	 * <!-- end-user-doc -->
121
	 * @generated
122
	 */
123
	public void eUnset(int featureID) {
124
		switch (featureID) {
125
			case SemanticPackage.LED__VALUE:
126
				setValue(VALUE_EDEFAULT);
127
				return;
128
		}
129
		super.eUnset(featureID);
130
	}
131
132
	/**
133
	 * <!-- begin-user-doc -->
134
	 * <!-- end-user-doc -->
135
	 * @generated
136
	 */
137
	public boolean eIsSet(int featureID) {
138
		switch (featureID) {
139
			case SemanticPackage.LED__VALUE:
140
				return value != VALUE_EDEFAULT;
141
		}
142
		return super.eIsSet(featureID);
143
	}
144
145
	/**
146
	 * <!-- begin-user-doc -->
147
	 * <!-- end-user-doc -->
148
	 * @generated
149
	 */
150
	public String toString() {
151
		if (eIsProxy()) return super.toString();
152
153
		StringBuffer result = new StringBuffer(super.toString());
154
		result.append(" (value: ");
155
		result.append(value);
156
		result.append(')');
157
		return result.toString();
158
	}
159
160
} //LEDImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/SemanticPackage.java (+1328 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic;
8
9
import org.eclipse.emf.ecore.EAttribute;
10
import org.eclipse.emf.ecore.EClass;
11
import org.eclipse.emf.ecore.EPackage;
12
import org.eclipse.emf.ecore.EReference;
13
14
/**
15
 * <!-- begin-user-doc -->
16
 * The <b>Package</b> for the model.
17
 * It contains accessors for the meta objects to represent
18
 * <ul>
19
 *   <li>each class,</li>
20
 *   <li>each feature of each class,</li>
21
 *   <li>each enum,</li>
22
 *   <li>and each data type</li>
23
 * </ul>
24
 * <!-- end-user-doc -->
25
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticFactory
26
 * @model kind="package"
27
 * @generated
28
 */
29
public interface SemanticPackage extends EPackage {
30
	/**
31
	 * The package name.
32
	 * <!-- begin-user-doc -->
33
	 * <!-- end-user-doc -->
34
	 * @generated
35
	 */
36
	String eNAME = "semantic";
37
38
	/**
39
	 * The package namespace URI.
40
	 * <!-- begin-user-doc -->
41
	 * <!-- end-user-doc -->
42
	 * @generated
43
	 */
44
	String eNS_URI = "http://www.eclipse.org/gmf/examples/runtime/1.0.0/logicsemantic";
45
46
	/**
47
	 * The package namespace name.
48
	 * <!-- begin-user-doc -->
49
	 * <!-- end-user-doc -->
50
	 * @generated
51
	 */
52
	String eNS_PREFIX = "semantic";
53
54
	/**
55
	 * The singleton instance of the package.
56
	 * <!-- begin-user-doc -->
57
	 * <!-- end-user-doc -->
58
	 * @generated
59
	 */
60
	SemanticPackage eINSTANCE = org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl.init();
61
62
	/**
63
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.ElementImpl <em>Element</em>}' class.
64
	 * <!-- begin-user-doc -->
65
	 * <!-- end-user-doc -->
66
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.ElementImpl
67
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getElement()
68
	 * @generated
69
	 */
70
	int ELEMENT = 1;
71
72
	/**
73
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
74
	 * <!-- begin-user-doc -->
75
	 * <!-- end-user-doc -->
76
	 * @generated
77
	 * @ordered
78
	 */
79
	int ELEMENT__TERMINALS = 0;
80
81
	/**
82
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
83
	 * <!-- begin-user-doc -->
84
	 * <!-- end-user-doc -->
85
	 * @generated
86
	 * @ordered
87
	 */
88
	int ELEMENT__OUTPUT_TERMINALS = 1;
89
90
	/**
91
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
92
	 * <!-- begin-user-doc -->
93
	 * <!-- end-user-doc -->
94
	 * @generated
95
	 * @ordered
96
	 */
97
	int ELEMENT__INPUT_TERMINALS = 2;
98
99
	/**
100
	 * The number of structural features of the '<em>Element</em>' class.
101
	 * <!-- begin-user-doc -->
102
	 * <!-- end-user-doc -->
103
	 * @generated
104
	 * @ordered
105
	 */
106
	int ELEMENT_FEATURE_COUNT = 3;
107
108
	/**
109
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.LEDImpl <em>LED</em>}' class.
110
	 * <!-- begin-user-doc -->
111
	 * <!-- end-user-doc -->
112
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.LEDImpl
113
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getLED()
114
	 * @generated
115
	 */
116
	int LED = 0;
117
118
	/**
119
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
120
	 * <!-- begin-user-doc -->
121
	 * <!-- end-user-doc -->
122
	 * @generated
123
	 * @ordered
124
	 */
125
	int LED__TERMINALS = ELEMENT__TERMINALS;
126
127
	/**
128
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
129
	 * <!-- begin-user-doc -->
130
	 * <!-- end-user-doc -->
131
	 * @generated
132
	 * @ordered
133
	 */
134
	int LED__OUTPUT_TERMINALS = ELEMENT__OUTPUT_TERMINALS;
135
136
	/**
137
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
138
	 * <!-- begin-user-doc -->
139
	 * <!-- end-user-doc -->
140
	 * @generated
141
	 * @ordered
142
	 */
143
	int LED__INPUT_TERMINALS = ELEMENT__INPUT_TERMINALS;
144
145
	/**
146
	 * The feature id for the '<em><b>Value</b></em>' attribute.
147
	 * <!-- begin-user-doc -->
148
	 * <!-- end-user-doc -->
149
	 * @generated
150
	 * @ordered
151
	 */
152
	int LED__VALUE = ELEMENT_FEATURE_COUNT + 0;
153
154
	/**
155
	 * The number of structural features of the '<em>LED</em>' class.
156
	 * <!-- begin-user-doc -->
157
	 * <!-- end-user-doc -->
158
	 * @generated
159
	 * @ordered
160
	 */
161
	int LED_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 1;
162
163
	/**
164
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.WireImpl <em>Wire</em>}' class.
165
	 * <!-- begin-user-doc -->
166
	 * <!-- end-user-doc -->
167
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.WireImpl
168
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getWire()
169
	 * @generated
170
	 */
171
	int WIRE = 2;
172
173
	/**
174
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
175
	 * <!-- begin-user-doc -->
176
	 * <!-- end-user-doc -->
177
	 * @generated
178
	 * @ordered
179
	 */
180
	int WIRE__TERMINALS = ELEMENT__TERMINALS;
181
182
	/**
183
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
184
	 * <!-- begin-user-doc -->
185
	 * <!-- end-user-doc -->
186
	 * @generated
187
	 * @ordered
188
	 */
189
	int WIRE__OUTPUT_TERMINALS = ELEMENT__OUTPUT_TERMINALS;
190
191
	/**
192
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
193
	 * <!-- begin-user-doc -->
194
	 * <!-- end-user-doc -->
195
	 * @generated
196
	 * @ordered
197
	 */
198
	int WIRE__INPUT_TERMINALS = ELEMENT__INPUT_TERMINALS;
199
200
	/**
201
	 * The feature id for the '<em><b>Source</b></em>' reference.
202
	 * <!-- begin-user-doc -->
203
	 * <!-- end-user-doc -->
204
	 * @generated
205
	 * @ordered
206
	 */
207
	int WIRE__SOURCE = ELEMENT_FEATURE_COUNT + 0;
208
209
	/**
210
	 * The feature id for the '<em><b>Target</b></em>' reference.
211
	 * <!-- begin-user-doc -->
212
	 * <!-- end-user-doc -->
213
	 * @generated
214
	 * @ordered
215
	 */
216
	int WIRE__TARGET = ELEMENT_FEATURE_COUNT + 1;
217
218
	/**
219
	 * The number of structural features of the '<em>Wire</em>' class.
220
	 * <!-- begin-user-doc -->
221
	 * <!-- end-user-doc -->
222
	 * @generated
223
	 * @ordered
224
	 */
225
	int WIRE_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 2;
226
227
	/**
228
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.ContainerElementImpl <em>Container Element</em>}' class.
229
	 * <!-- begin-user-doc -->
230
	 * <!-- end-user-doc -->
231
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.ContainerElementImpl
232
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getContainerElement()
233
	 * @generated
234
	 */
235
	int CONTAINER_ELEMENT = 10;
236
237
	/**
238
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
239
	 * <!-- begin-user-doc -->
240
	 * <!-- end-user-doc -->
241
	 * @generated
242
	 * @ordered
243
	 */
244
	int CONTAINER_ELEMENT__TERMINALS = ELEMENT__TERMINALS;
245
246
	/**
247
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
248
	 * <!-- begin-user-doc -->
249
	 * <!-- end-user-doc -->
250
	 * @generated
251
	 * @ordered
252
	 */
253
	int CONTAINER_ELEMENT__OUTPUT_TERMINALS = ELEMENT__OUTPUT_TERMINALS;
254
255
	/**
256
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
257
	 * <!-- begin-user-doc -->
258
	 * <!-- end-user-doc -->
259
	 * @generated
260
	 * @ordered
261
	 */
262
	int CONTAINER_ELEMENT__INPUT_TERMINALS = ELEMENT__INPUT_TERMINALS;
263
264
	/**
265
	 * The feature id for the '<em><b>Children</b></em>' containment reference list.
266
	 * <!-- begin-user-doc -->
267
	 * <!-- end-user-doc -->
268
	 * @generated
269
	 * @ordered
270
	 */
271
	int CONTAINER_ELEMENT__CHILDREN = ELEMENT_FEATURE_COUNT + 0;
272
273
	/**
274
	 * The number of structural features of the '<em>Container Element</em>' class.
275
	 * <!-- begin-user-doc -->
276
	 * <!-- end-user-doc -->
277
	 * @generated
278
	 * @ordered
279
	 */
280
	int CONTAINER_ELEMENT_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 1;
281
282
	/**
283
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.CircuitImpl <em>Circuit</em>}' class.
284
	 * <!-- begin-user-doc -->
285
	 * <!-- end-user-doc -->
286
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.CircuitImpl
287
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getCircuit()
288
	 * @generated
289
	 */
290
	int CIRCUIT = 3;
291
292
	/**
293
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
294
	 * <!-- begin-user-doc -->
295
	 * <!-- end-user-doc -->
296
	 * @generated
297
	 * @ordered
298
	 */
299
	int CIRCUIT__TERMINALS = CONTAINER_ELEMENT__TERMINALS;
300
301
	/**
302
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
303
	 * <!-- begin-user-doc -->
304
	 * <!-- end-user-doc -->
305
	 * @generated
306
	 * @ordered
307
	 */
308
	int CIRCUIT__OUTPUT_TERMINALS = CONTAINER_ELEMENT__OUTPUT_TERMINALS;
309
310
	/**
311
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
312
	 * <!-- begin-user-doc -->
313
	 * <!-- end-user-doc -->
314
	 * @generated
315
	 * @ordered
316
	 */
317
	int CIRCUIT__INPUT_TERMINALS = CONTAINER_ELEMENT__INPUT_TERMINALS;
318
319
	/**
320
	 * The feature id for the '<em><b>Children</b></em>' containment reference list.
321
	 * <!-- begin-user-doc -->
322
	 * <!-- end-user-doc -->
323
	 * @generated
324
	 * @ordered
325
	 */
326
	int CIRCUIT__CHILDREN = CONTAINER_ELEMENT__CHILDREN;
327
328
	/**
329
	 * The number of structural features of the '<em>Circuit</em>' class.
330
	 * <!-- begin-user-doc -->
331
	 * <!-- end-user-doc -->
332
	 * @generated
333
	 * @ordered
334
	 */
335
	int CIRCUIT_FEATURE_COUNT = CONTAINER_ELEMENT_FEATURE_COUNT + 0;
336
337
	/**
338
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.GateImpl <em>Gate</em>}' class.
339
	 * <!-- begin-user-doc -->
340
	 * <!-- end-user-doc -->
341
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.GateImpl
342
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getGate()
343
	 * @generated
344
	 */
345
	int GATE = 4;
346
347
	/**
348
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
349
	 * <!-- begin-user-doc -->
350
	 * <!-- end-user-doc -->
351
	 * @generated
352
	 * @ordered
353
	 */
354
	int GATE__TERMINALS = ELEMENT__TERMINALS;
355
356
	/**
357
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
358
	 * <!-- begin-user-doc -->
359
	 * <!-- end-user-doc -->
360
	 * @generated
361
	 * @ordered
362
	 */
363
	int GATE__OUTPUT_TERMINALS = ELEMENT__OUTPUT_TERMINALS;
364
365
	/**
366
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
367
	 * <!-- begin-user-doc -->
368
	 * <!-- end-user-doc -->
369
	 * @generated
370
	 * @ordered
371
	 */
372
	int GATE__INPUT_TERMINALS = ELEMENT__INPUT_TERMINALS;
373
374
	/**
375
	 * The number of structural features of the '<em>Gate</em>' class.
376
	 * <!-- begin-user-doc -->
377
	 * <!-- end-user-doc -->
378
	 * @generated
379
	 * @ordered
380
	 */
381
	int GATE_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 0;
382
383
	/**
384
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.FlowContainerImpl <em>Flow Container</em>}' class.
385
	 * <!-- begin-user-doc -->
386
	 * <!-- end-user-doc -->
387
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.FlowContainerImpl
388
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getFlowContainer()
389
	 * @generated
390
	 */
391
	int FLOW_CONTAINER = 5;
392
393
	/**
394
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
395
	 * <!-- begin-user-doc -->
396
	 * <!-- end-user-doc -->
397
	 * @generated
398
	 * @ordered
399
	 */
400
	int FLOW_CONTAINER__TERMINALS = CONTAINER_ELEMENT__TERMINALS;
401
402
	/**
403
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
404
	 * <!-- begin-user-doc -->
405
	 * <!-- end-user-doc -->
406
	 * @generated
407
	 * @ordered
408
	 */
409
	int FLOW_CONTAINER__OUTPUT_TERMINALS = CONTAINER_ELEMENT__OUTPUT_TERMINALS;
410
411
	/**
412
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
413
	 * <!-- begin-user-doc -->
414
	 * <!-- end-user-doc -->
415
	 * @generated
416
	 * @ordered
417
	 */
418
	int FLOW_CONTAINER__INPUT_TERMINALS = CONTAINER_ELEMENT__INPUT_TERMINALS;
419
420
	/**
421
	 * The feature id for the '<em><b>Children</b></em>' containment reference list.
422
	 * <!-- begin-user-doc -->
423
	 * <!-- end-user-doc -->
424
	 * @generated
425
	 * @ordered
426
	 */
427
	int FLOW_CONTAINER__CHILDREN = CONTAINER_ELEMENT__CHILDREN;
428
429
	/**
430
	 * The number of structural features of the '<em>Flow Container</em>' class.
431
	 * <!-- begin-user-doc -->
432
	 * <!-- end-user-doc -->
433
	 * @generated
434
	 * @ordered
435
	 */
436
	int FLOW_CONTAINER_FEATURE_COUNT = CONTAINER_ELEMENT_FEATURE_COUNT + 0;
437
438
	/**
439
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.AndGateImpl <em>And Gate</em>}' class.
440
	 * <!-- begin-user-doc -->
441
	 * <!-- end-user-doc -->
442
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.AndGateImpl
443
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getAndGate()
444
	 * @generated
445
	 */
446
	int AND_GATE = 6;
447
448
	/**
449
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
450
	 * <!-- begin-user-doc -->
451
	 * <!-- end-user-doc -->
452
	 * @generated
453
	 * @ordered
454
	 */
455
	int AND_GATE__TERMINALS = GATE__TERMINALS;
456
457
	/**
458
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
459
	 * <!-- begin-user-doc -->
460
	 * <!-- end-user-doc -->
461
	 * @generated
462
	 * @ordered
463
	 */
464
	int AND_GATE__OUTPUT_TERMINALS = GATE__OUTPUT_TERMINALS;
465
466
	/**
467
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
468
	 * <!-- begin-user-doc -->
469
	 * <!-- end-user-doc -->
470
	 * @generated
471
	 * @ordered
472
	 */
473
	int AND_GATE__INPUT_TERMINALS = GATE__INPUT_TERMINALS;
474
475
	/**
476
	 * The number of structural features of the '<em>And Gate</em>' class.
477
	 * <!-- begin-user-doc -->
478
	 * <!-- end-user-doc -->
479
	 * @generated
480
	 * @ordered
481
	 */
482
	int AND_GATE_FEATURE_COUNT = GATE_FEATURE_COUNT + 0;
483
484
	/**
485
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.OrGateImpl <em>Or Gate</em>}' class.
486
	 * <!-- begin-user-doc -->
487
	 * <!-- end-user-doc -->
488
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.OrGateImpl
489
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getOrGate()
490
	 * @generated
491
	 */
492
	int OR_GATE = 7;
493
494
	/**
495
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
496
	 * <!-- begin-user-doc -->
497
	 * <!-- end-user-doc -->
498
	 * @generated
499
	 * @ordered
500
	 */
501
	int OR_GATE__TERMINALS = GATE__TERMINALS;
502
503
	/**
504
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
505
	 * <!-- begin-user-doc -->
506
	 * <!-- end-user-doc -->
507
	 * @generated
508
	 * @ordered
509
	 */
510
	int OR_GATE__OUTPUT_TERMINALS = GATE__OUTPUT_TERMINALS;
511
512
	/**
513
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
514
	 * <!-- begin-user-doc -->
515
	 * <!-- end-user-doc -->
516
	 * @generated
517
	 * @ordered
518
	 */
519
	int OR_GATE__INPUT_TERMINALS = GATE__INPUT_TERMINALS;
520
521
	/**
522
	 * The number of structural features of the '<em>Or Gate</em>' class.
523
	 * <!-- begin-user-doc -->
524
	 * <!-- end-user-doc -->
525
	 * @generated
526
	 * @ordered
527
	 */
528
	int OR_GATE_FEATURE_COUNT = GATE_FEATURE_COUNT + 0;
529
530
	/**
531
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.XORGateImpl <em>XOR Gate</em>}' class.
532
	 * <!-- begin-user-doc -->
533
	 * <!-- end-user-doc -->
534
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.XORGateImpl
535
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getXORGate()
536
	 * @generated
537
	 */
538
	int XOR_GATE = 8;
539
540
	/**
541
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
542
	 * <!-- begin-user-doc -->
543
	 * <!-- end-user-doc -->
544
	 * @generated
545
	 * @ordered
546
	 */
547
	int XOR_GATE__TERMINALS = GATE__TERMINALS;
548
549
	/**
550
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
551
	 * <!-- begin-user-doc -->
552
	 * <!-- end-user-doc -->
553
	 * @generated
554
	 * @ordered
555
	 */
556
	int XOR_GATE__OUTPUT_TERMINALS = GATE__OUTPUT_TERMINALS;
557
558
	/**
559
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
560
	 * <!-- begin-user-doc -->
561
	 * <!-- end-user-doc -->
562
	 * @generated
563
	 * @ordered
564
	 */
565
	int XOR_GATE__INPUT_TERMINALS = GATE__INPUT_TERMINALS;
566
567
	/**
568
	 * The number of structural features of the '<em>XOR Gate</em>' class.
569
	 * <!-- begin-user-doc -->
570
	 * <!-- end-user-doc -->
571
	 * @generated
572
	 * @ordered
573
	 */
574
	int XOR_GATE_FEATURE_COUNT = GATE_FEATURE_COUNT + 0;
575
576
	/**
577
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.ModelImpl <em>Model</em>}' class.
578
	 * <!-- begin-user-doc -->
579
	 * <!-- end-user-doc -->
580
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.ModelImpl
581
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getModel()
582
	 * @generated
583
	 */
584
	int MODEL = 9;
585
586
	/**
587
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
588
	 * <!-- begin-user-doc -->
589
	 * <!-- end-user-doc -->
590
	 * @generated
591
	 * @ordered
592
	 */
593
	int MODEL__TERMINALS = CONTAINER_ELEMENT__TERMINALS;
594
595
	/**
596
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
597
	 * <!-- begin-user-doc -->
598
	 * <!-- end-user-doc -->
599
	 * @generated
600
	 * @ordered
601
	 */
602
	int MODEL__OUTPUT_TERMINALS = CONTAINER_ELEMENT__OUTPUT_TERMINALS;
603
604
	/**
605
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
606
	 * <!-- begin-user-doc -->
607
	 * <!-- end-user-doc -->
608
	 * @generated
609
	 * @ordered
610
	 */
611
	int MODEL__INPUT_TERMINALS = CONTAINER_ELEMENT__INPUT_TERMINALS;
612
613
	/**
614
	 * The feature id for the '<em><b>Children</b></em>' containment reference list.
615
	 * <!-- begin-user-doc -->
616
	 * <!-- end-user-doc -->
617
	 * @generated
618
	 * @ordered
619
	 */
620
	int MODEL__CHILDREN = CONTAINER_ELEMENT__CHILDREN;
621
622
	/**
623
	 * The number of structural features of the '<em>Model</em>' class.
624
	 * <!-- begin-user-doc -->
625
	 * <!-- end-user-doc -->
626
	 * @generated
627
	 * @ordered
628
	 */
629
	int MODEL_FEATURE_COUNT = CONTAINER_ELEMENT_FEATURE_COUNT + 0;
630
631
	/**
632
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.TerminalImpl <em>Terminal</em>}' class.
633
	 * <!-- begin-user-doc -->
634
	 * <!-- end-user-doc -->
635
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.TerminalImpl
636
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getTerminal()
637
	 * @generated
638
	 */
639
	int TERMINAL = 11;
640
641
	/**
642
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
643
	 * <!-- begin-user-doc -->
644
	 * <!-- end-user-doc -->
645
	 * @generated
646
	 * @ordered
647
	 */
648
	int TERMINAL__TERMINALS = ELEMENT__TERMINALS;
649
650
	/**
651
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
652
	 * <!-- begin-user-doc -->
653
	 * <!-- end-user-doc -->
654
	 * @generated
655
	 * @ordered
656
	 */
657
	int TERMINAL__OUTPUT_TERMINALS = ELEMENT__OUTPUT_TERMINALS;
658
659
	/**
660
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
661
	 * <!-- begin-user-doc -->
662
	 * <!-- end-user-doc -->
663
	 * @generated
664
	 * @ordered
665
	 */
666
	int TERMINAL__INPUT_TERMINALS = ELEMENT__INPUT_TERMINALS;
667
668
	/**
669
	 * The feature id for the '<em><b>Id</b></em>' attribute.
670
	 * <!-- begin-user-doc -->
671
	 * <!-- end-user-doc -->
672
	 * @generated
673
	 * @ordered
674
	 */
675
	int TERMINAL__ID = ELEMENT_FEATURE_COUNT + 0;
676
677
	/**
678
	 * The number of structural features of the '<em>Terminal</em>' class.
679
	 * <!-- begin-user-doc -->
680
	 * <!-- end-user-doc -->
681
	 * @generated
682
	 * @ordered
683
	 */
684
	int TERMINAL_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 1;
685
686
	/**
687
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.OutputTerminalImpl <em>Output Terminal</em>}' class.
688
	 * <!-- begin-user-doc -->
689
	 * <!-- end-user-doc -->
690
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.OutputTerminalImpl
691
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getOutputTerminal()
692
	 * @generated
693
	 */
694
	int OUTPUT_TERMINAL = 12;
695
696
	/**
697
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
698
	 * <!-- begin-user-doc -->
699
	 * <!-- end-user-doc -->
700
	 * @generated
701
	 * @ordered
702
	 */
703
	int OUTPUT_TERMINAL__TERMINALS = TERMINAL__TERMINALS;
704
705
	/**
706
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
707
	 * <!-- begin-user-doc -->
708
	 * <!-- end-user-doc -->
709
	 * @generated
710
	 * @ordered
711
	 */
712
	int OUTPUT_TERMINAL__OUTPUT_TERMINALS = TERMINAL__OUTPUT_TERMINALS;
713
714
	/**
715
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
716
	 * <!-- begin-user-doc -->
717
	 * <!-- end-user-doc -->
718
	 * @generated
719
	 * @ordered
720
	 */
721
	int OUTPUT_TERMINAL__INPUT_TERMINALS = TERMINAL__INPUT_TERMINALS;
722
723
	/**
724
	 * The feature id for the '<em><b>Id</b></em>' attribute.
725
	 * <!-- begin-user-doc -->
726
	 * <!-- end-user-doc -->
727
	 * @generated
728
	 * @ordered
729
	 */
730
	int OUTPUT_TERMINAL__ID = TERMINAL__ID;
731
732
	/**
733
	 * The number of structural features of the '<em>Output Terminal</em>' class.
734
	 * <!-- begin-user-doc -->
735
	 * <!-- end-user-doc -->
736
	 * @generated
737
	 * @ordered
738
	 */
739
	int OUTPUT_TERMINAL_FEATURE_COUNT = TERMINAL_FEATURE_COUNT + 0;
740
741
	/**
742
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.InputTerminalImpl <em>Input Terminal</em>}' class.
743
	 * <!-- begin-user-doc -->
744
	 * <!-- end-user-doc -->
745
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.InputTerminalImpl
746
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getInputTerminal()
747
	 * @generated
748
	 */
749
	int INPUT_TERMINAL = 13;
750
751
	/**
752
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
753
	 * <!-- begin-user-doc -->
754
	 * <!-- end-user-doc -->
755
	 * @generated
756
	 * @ordered
757
	 */
758
	int INPUT_TERMINAL__TERMINALS = TERMINAL__TERMINALS;
759
760
	/**
761
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
762
	 * <!-- begin-user-doc -->
763
	 * <!-- end-user-doc -->
764
	 * @generated
765
	 * @ordered
766
	 */
767
	int INPUT_TERMINAL__OUTPUT_TERMINALS = TERMINAL__OUTPUT_TERMINALS;
768
769
	/**
770
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
771
	 * <!-- begin-user-doc -->
772
	 * <!-- end-user-doc -->
773
	 * @generated
774
	 * @ordered
775
	 */
776
	int INPUT_TERMINAL__INPUT_TERMINALS = TERMINAL__INPUT_TERMINALS;
777
778
	/**
779
	 * The feature id for the '<em><b>Id</b></em>' attribute.
780
	 * <!-- begin-user-doc -->
781
	 * <!-- end-user-doc -->
782
	 * @generated
783
	 * @ordered
784
	 */
785
	int INPUT_TERMINAL__ID = TERMINAL__ID;
786
787
	/**
788
	 * The number of structural features of the '<em>Input Terminal</em>' class.
789
	 * <!-- begin-user-doc -->
790
	 * <!-- end-user-doc -->
791
	 * @generated
792
	 * @ordered
793
	 */
794
	int INPUT_TERMINAL_FEATURE_COUNT = TERMINAL_FEATURE_COUNT + 0;
795
796
	/**
797
	 * The meta object id for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.InputOutputTerminalImpl <em>Input Output Terminal</em>}' class.
798
	 * <!-- begin-user-doc -->
799
	 * <!-- end-user-doc -->
800
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.InputOutputTerminalImpl
801
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getInputOutputTerminal()
802
	 * @generated
803
	 */
804
	int INPUT_OUTPUT_TERMINAL = 14;
805
806
	/**
807
	 * The feature id for the '<em><b>Terminals</b></em>' containment reference list.
808
	 * <!-- begin-user-doc -->
809
	 * <!-- end-user-doc -->
810
	 * @generated
811
	 * @ordered
812
	 */
813
	int INPUT_OUTPUT_TERMINAL__TERMINALS = OUTPUT_TERMINAL__TERMINALS;
814
815
	/**
816
	 * The feature id for the '<em><b>Output Terminals</b></em>' reference list.
817
	 * <!-- begin-user-doc -->
818
	 * <!-- end-user-doc -->
819
	 * @generated
820
	 * @ordered
821
	 */
822
	int INPUT_OUTPUT_TERMINAL__OUTPUT_TERMINALS = OUTPUT_TERMINAL__OUTPUT_TERMINALS;
823
824
	/**
825
	 * The feature id for the '<em><b>Input Terminals</b></em>' reference list.
826
	 * <!-- begin-user-doc -->
827
	 * <!-- end-user-doc -->
828
	 * @generated
829
	 * @ordered
830
	 */
831
	int INPUT_OUTPUT_TERMINAL__INPUT_TERMINALS = OUTPUT_TERMINAL__INPUT_TERMINALS;
832
833
	/**
834
	 * The feature id for the '<em><b>Id</b></em>' attribute.
835
	 * <!-- begin-user-doc -->
836
	 * <!-- end-user-doc -->
837
	 * @generated
838
	 * @ordered
839
	 */
840
	int INPUT_OUTPUT_TERMINAL__ID = OUTPUT_TERMINAL__ID;
841
842
	/**
843
	 * The number of structural features of the '<em>Input Output Terminal</em>' class.
844
	 * <!-- begin-user-doc -->
845
	 * <!-- end-user-doc -->
846
	 * @generated
847
	 * @ordered
848
	 */
849
	int INPUT_OUTPUT_TERMINAL_FEATURE_COUNT = OUTPUT_TERMINAL_FEATURE_COUNT + 0;
850
851
852
	/**
853
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED <em>LED</em>}'.
854
	 * <!-- begin-user-doc -->
855
	 * <!-- end-user-doc -->
856
	 * @return the meta object for class '<em>LED</em>'.
857
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED
858
	 * @generated
859
	 */
860
	EClass getLED();
861
862
	/**
863
	 * Returns the meta object for the attribute '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED#getValue <em>Value</em>}'.
864
	 * <!-- begin-user-doc -->
865
	 * <!-- end-user-doc -->
866
	 * @return the meta object for the attribute '<em>Value</em>'.
867
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED#getValue()
868
	 * @see #getLED()
869
	 * @generated
870
	 */
871
	EAttribute getLED_Value();
872
873
	/**
874
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element <em>Element</em>}'.
875
	 * <!-- begin-user-doc -->
876
	 * <!-- end-user-doc -->
877
	 * @return the meta object for class '<em>Element</em>'.
878
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element
879
	 * @generated
880
	 */
881
	EClass getElement();
882
883
	/**
884
	 * Returns the meta object for the containment reference list '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element#getTerminals <em>Terminals</em>}'.
885
	 * <!-- begin-user-doc -->
886
	 * <!-- end-user-doc -->
887
	 * @return the meta object for the containment reference list '<em>Terminals</em>'.
888
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element#getTerminals()
889
	 * @see #getElement()
890
	 * @generated
891
	 */
892
	EReference getElement_Terminals();
893
894
	/**
895
	 * Returns the meta object for the reference list '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element#getOutputTerminals <em>Output Terminals</em>}'.
896
	 * <!-- begin-user-doc -->
897
	 * <!-- end-user-doc -->
898
	 * @return the meta object for the reference list '<em>Output Terminals</em>'.
899
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element#getOutputTerminals()
900
	 * @see #getElement()
901
	 * @generated
902
	 */
903
	EReference getElement_OutputTerminals();
904
905
	/**
906
	 * Returns the meta object for the reference list '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element#getInputTerminals <em>Input Terminals</em>}'.
907
	 * <!-- begin-user-doc -->
908
	 * <!-- end-user-doc -->
909
	 * @return the meta object for the reference list '<em>Input Terminals</em>'.
910
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element#getInputTerminals()
911
	 * @see #getElement()
912
	 * @generated
913
	 */
914
	EReference getElement_InputTerminals();
915
916
	/**
917
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire <em>Wire</em>}'.
918
	 * <!-- begin-user-doc -->
919
	 * <!-- end-user-doc -->
920
	 * @return the meta object for class '<em>Wire</em>'.
921
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire
922
	 * @generated
923
	 */
924
	EClass getWire();
925
926
	/**
927
	 * Returns the meta object for the reference '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire#getSource <em>Source</em>}'.
928
	 * <!-- begin-user-doc -->
929
	 * <!-- end-user-doc -->
930
	 * @return the meta object for the reference '<em>Source</em>'.
931
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire#getSource()
932
	 * @see #getWire()
933
	 * @generated
934
	 */
935
	EReference getWire_Source();
936
937
	/**
938
	 * Returns the meta object for the reference '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire#getTarget <em>Target</em>}'.
939
	 * <!-- begin-user-doc -->
940
	 * <!-- end-user-doc -->
941
	 * @return the meta object for the reference '<em>Target</em>'.
942
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Wire#getTarget()
943
	 * @see #getWire()
944
	 * @generated
945
	 */
946
	EReference getWire_Target();
947
948
	/**
949
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Circuit <em>Circuit</em>}'.
950
	 * <!-- begin-user-doc -->
951
	 * <!-- end-user-doc -->
952
	 * @return the meta object for class '<em>Circuit</em>'.
953
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Circuit
954
	 * @generated
955
	 */
956
	EClass getCircuit();
957
958
	/**
959
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Gate <em>Gate</em>}'.
960
	 * <!-- begin-user-doc -->
961
	 * <!-- end-user-doc -->
962
	 * @return the meta object for class '<em>Gate</em>'.
963
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Gate
964
	 * @generated
965
	 */
966
	EClass getGate();
967
968
	/**
969
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.FlowContainer <em>Flow Container</em>}'.
970
	 * <!-- begin-user-doc -->
971
	 * <!-- end-user-doc -->
972
	 * @return the meta object for class '<em>Flow Container</em>'.
973
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.FlowContainer
974
	 * @generated
975
	 */
976
	EClass getFlowContainer();
977
978
	/**
979
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.AndGate <em>And Gate</em>}'.
980
	 * <!-- begin-user-doc -->
981
	 * <!-- end-user-doc -->
982
	 * @return the meta object for class '<em>And Gate</em>'.
983
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.AndGate
984
	 * @generated
985
	 */
986
	EClass getAndGate();
987
988
	/**
989
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OrGate <em>Or Gate</em>}'.
990
	 * <!-- begin-user-doc -->
991
	 * <!-- end-user-doc -->
992
	 * @return the meta object for class '<em>Or Gate</em>'.
993
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OrGate
994
	 * @generated
995
	 */
996
	EClass getOrGate();
997
998
	/**
999
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.XORGate <em>XOR Gate</em>}'.
1000
	 * <!-- begin-user-doc -->
1001
	 * <!-- end-user-doc -->
1002
	 * @return the meta object for class '<em>XOR Gate</em>'.
1003
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.XORGate
1004
	 * @generated
1005
	 */
1006
	EClass getXORGate();
1007
1008
	/**
1009
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Model <em>Model</em>}'.
1010
	 * <!-- begin-user-doc -->
1011
	 * <!-- end-user-doc -->
1012
	 * @return the meta object for class '<em>Model</em>'.
1013
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Model
1014
	 * @generated
1015
	 */
1016
	EClass getModel();
1017
1018
	/**
1019
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.ContainerElement <em>Container Element</em>}'.
1020
	 * <!-- begin-user-doc -->
1021
	 * <!-- end-user-doc -->
1022
	 * @return the meta object for class '<em>Container Element</em>'.
1023
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.ContainerElement
1024
	 * @generated
1025
	 */
1026
	EClass getContainerElement();
1027
1028
	/**
1029
	 * Returns the meta object for the containment reference list '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.ContainerElement#getChildren <em>Children</em>}'.
1030
	 * <!-- begin-user-doc -->
1031
	 * <!-- end-user-doc -->
1032
	 * @return the meta object for the containment reference list '<em>Children</em>'.
1033
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.ContainerElement#getChildren()
1034
	 * @see #getContainerElement()
1035
	 * @generated
1036
	 */
1037
	EReference getContainerElement_Children();
1038
1039
	/**
1040
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal <em>Terminal</em>}'.
1041
	 * <!-- begin-user-doc -->
1042
	 * <!-- end-user-doc -->
1043
	 * @return the meta object for class '<em>Terminal</em>'.
1044
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal
1045
	 * @generated
1046
	 */
1047
	EClass getTerminal();
1048
1049
	/**
1050
	 * Returns the meta object for the attribute '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal#getId <em>Id</em>}'.
1051
	 * <!-- begin-user-doc -->
1052
	 * <!-- end-user-doc -->
1053
	 * @return the meta object for the attribute '<em>Id</em>'.
1054
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal#getId()
1055
	 * @see #getTerminal()
1056
	 * @generated
1057
	 */
1058
	EAttribute getTerminal_Id();
1059
1060
	/**
1061
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OutputTerminal <em>Output Terminal</em>}'.
1062
	 * <!-- begin-user-doc -->
1063
	 * <!-- end-user-doc -->
1064
	 * @return the meta object for class '<em>Output Terminal</em>'.
1065
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OutputTerminal
1066
	 * @generated
1067
	 */
1068
	EClass getOutputTerminal();
1069
1070
	/**
1071
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputTerminal <em>Input Terminal</em>}'.
1072
	 * <!-- begin-user-doc -->
1073
	 * <!-- end-user-doc -->
1074
	 * @return the meta object for class '<em>Input Terminal</em>'.
1075
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputTerminal
1076
	 * @generated
1077
	 */
1078
	EClass getInputTerminal();
1079
1080
	/**
1081
	 * Returns the meta object for class '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputOutputTerminal <em>Input Output Terminal</em>}'.
1082
	 * <!-- begin-user-doc -->
1083
	 * <!-- end-user-doc -->
1084
	 * @return the meta object for class '<em>Input Output Terminal</em>'.
1085
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.InputOutputTerminal
1086
	 * @generated
1087
	 */
1088
	EClass getInputOutputTerminal();
1089
1090
	/**
1091
	 * Returns the factory that creates the instances of the model.
1092
	 * <!-- begin-user-doc -->
1093
	 * <!-- end-user-doc -->
1094
	 * @return the factory that creates the instances of the model.
1095
	 * @generated
1096
	 */
1097
	SemanticFactory getSemanticFactory();
1098
1099
	/**
1100
	 * <!-- begin-user-doc -->
1101
	 * Defines literals for the meta objects that represent
1102
	 * <ul>
1103
	 *   <li>each class,</li>
1104
	 *   <li>each feature of each class,</li>
1105
	 *   <li>each enum,</li>
1106
	 *   <li>and each data type</li>
1107
	 * </ul>
1108
	 * <!-- end-user-doc -->
1109
	 * @generated
1110
	 */
1111
	interface Literals {
1112
		/**
1113
		 * The meta object literal for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.LEDImpl <em>LED</em>}' class.
1114
		 * <!-- begin-user-doc -->
1115
		 * <!-- end-user-doc -->
1116
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.LEDImpl
1117
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getLED()
1118
		 * @generated
1119
		 */
1120
		EClass LED = eINSTANCE.getLED();
1121
1122
		/**
1123
		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
1124
		 * <!-- begin-user-doc -->
1125
		 * <!-- end-user-doc -->
1126
		 * @generated
1127
		 */
1128
		EAttribute LED__VALUE = eINSTANCE.getLED_Value();
1129
1130
		/**
1131
		 * The meta object literal for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.ElementImpl <em>Element</em>}' class.
1132
		 * <!-- begin-user-doc -->
1133
		 * <!-- end-user-doc -->
1134
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.ElementImpl
1135
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getElement()
1136
		 * @generated
1137
		 */
1138
		EClass ELEMENT = eINSTANCE.getElement();
1139
1140
		/**
1141
		 * The meta object literal for the '<em><b>Terminals</b></em>' containment reference list feature.
1142
		 * <!-- begin-user-doc -->
1143
		 * <!-- end-user-doc -->
1144
		 * @generated
1145
		 */
1146
		EReference ELEMENT__TERMINALS = eINSTANCE.getElement_Terminals();
1147
1148
		/**
1149
		 * The meta object literal for the '<em><b>Output Terminals</b></em>' reference list feature.
1150
		 * <!-- begin-user-doc -->
1151
		 * <!-- end-user-doc -->
1152
		 * @generated
1153
		 */
1154
		EReference ELEMENT__OUTPUT_TERMINALS = eINSTANCE.getElement_OutputTerminals();
1155
1156
		/**
1157
		 * The meta object literal for the '<em><b>Input Terminals</b></em>' reference list feature.
1158
		 * <!-- begin-user-doc -->
1159
		 * <!-- end-user-doc -->
1160
		 * @generated
1161
		 */
1162
		EReference ELEMENT__INPUT_TERMINALS = eINSTANCE.getElement_InputTerminals();
1163
1164
		/**
1165
		 * The meta object literal for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.WireImpl <em>Wire</em>}' class.
1166
		 * <!-- begin-user-doc -->
1167
		 * <!-- end-user-doc -->
1168
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.WireImpl
1169
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getWire()
1170
		 * @generated
1171
		 */
1172
		EClass WIRE = eINSTANCE.getWire();
1173
1174
		/**
1175
		 * The meta object literal for the '<em><b>Source</b></em>' reference feature.
1176
		 * <!-- begin-user-doc -->
1177
		 * <!-- end-user-doc -->
1178
		 * @generated
1179
		 */
1180
		EReference WIRE__SOURCE = eINSTANCE.getWire_Source();
1181
1182
		/**
1183
		 * The meta object literal for the '<em><b>Target</b></em>' reference feature.
1184
		 * <!-- begin-user-doc -->
1185
		 * <!-- end-user-doc -->
1186
		 * @generated
1187
		 */
1188
		EReference WIRE__TARGET = eINSTANCE.getWire_Target();
1189
1190
		/**
1191
		 * The meta object literal for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.CircuitImpl <em>Circuit</em>}' class.
1192
		 * <!-- begin-user-doc -->
1193
		 * <!-- end-user-doc -->
1194
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.CircuitImpl
1195
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getCircuit()
1196
		 * @generated
1197
		 */
1198
		EClass CIRCUIT = eINSTANCE.getCircuit();
1199
1200
		/**
1201
		 * The meta object literal for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.GateImpl <em>Gate</em>}' class.
1202
		 * <!-- begin-user-doc -->
1203
		 * <!-- end-user-doc -->
1204
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.GateImpl
1205
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getGate()
1206
		 * @generated
1207
		 */
1208
		EClass GATE = eINSTANCE.getGate();
1209
1210
		/**
1211
		 * The meta object literal for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.FlowContainerImpl <em>Flow Container</em>}' class.
1212
		 * <!-- begin-user-doc -->
1213
		 * <!-- end-user-doc -->
1214
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.FlowContainerImpl
1215
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getFlowContainer()
1216
		 * @generated
1217
		 */
1218
		EClass FLOW_CONTAINER = eINSTANCE.getFlowContainer();
1219
1220
		/**
1221
		 * The meta object literal for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.AndGateImpl <em>And Gate</em>}' class.
1222
		 * <!-- begin-user-doc -->
1223
		 * <!-- end-user-doc -->
1224
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.AndGateImpl
1225
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getAndGate()
1226
		 * @generated
1227
		 */
1228
		EClass AND_GATE = eINSTANCE.getAndGate();
1229
1230
		/**
1231
		 * The meta object literal for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.OrGateImpl <em>Or Gate</em>}' class.
1232
		 * <!-- begin-user-doc -->
1233
		 * <!-- end-user-doc -->
1234
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.OrGateImpl
1235
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getOrGate()
1236
		 * @generated
1237
		 */
1238
		EClass OR_GATE = eINSTANCE.getOrGate();
1239
1240
		/**
1241
		 * The meta object literal for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.XORGateImpl <em>XOR Gate</em>}' class.
1242
		 * <!-- begin-user-doc -->
1243
		 * <!-- end-user-doc -->
1244
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.XORGateImpl
1245
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getXORGate()
1246
		 * @generated
1247
		 */
1248
		EClass XOR_GATE = eINSTANCE.getXORGate();
1249
1250
		/**
1251
		 * The meta object literal for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.ModelImpl <em>Model</em>}' class.
1252
		 * <!-- begin-user-doc -->
1253
		 * <!-- end-user-doc -->
1254
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.ModelImpl
1255
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getModel()
1256
		 * @generated
1257
		 */
1258
		EClass MODEL = eINSTANCE.getModel();
1259
1260
		/**
1261
		 * The meta object literal for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.ContainerElementImpl <em>Container Element</em>}' class.
1262
		 * <!-- begin-user-doc -->
1263
		 * <!-- end-user-doc -->
1264
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.ContainerElementImpl
1265
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getContainerElement()
1266
		 * @generated
1267
		 */
1268
		EClass CONTAINER_ELEMENT = eINSTANCE.getContainerElement();
1269
1270
		/**
1271
		 * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature.
1272
		 * <!-- begin-user-doc -->
1273
		 * <!-- end-user-doc -->
1274
		 * @generated
1275
		 */
1276
		EReference CONTAINER_ELEMENT__CHILDREN = eINSTANCE.getContainerElement_Children();
1277
1278
		/**
1279
		 * The meta object literal for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.TerminalImpl <em>Terminal</em>}' class.
1280
		 * <!-- begin-user-doc -->
1281
		 * <!-- end-user-doc -->
1282
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.TerminalImpl
1283
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getTerminal()
1284
		 * @generated
1285
		 */
1286
		EClass TERMINAL = eINSTANCE.getTerminal();
1287
1288
		/**
1289
		 * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
1290
		 * <!-- begin-user-doc -->
1291
		 * <!-- end-user-doc -->
1292
		 * @generated
1293
		 */
1294
		EAttribute TERMINAL__ID = eINSTANCE.getTerminal_Id();
1295
1296
		/**
1297
		 * The meta object literal for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.OutputTerminalImpl <em>Output Terminal</em>}' class.
1298
		 * <!-- begin-user-doc -->
1299
		 * <!-- end-user-doc -->
1300
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.OutputTerminalImpl
1301
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getOutputTerminal()
1302
		 * @generated
1303
		 */
1304
		EClass OUTPUT_TERMINAL = eINSTANCE.getOutputTerminal();
1305
1306
		/**
1307
		 * The meta object literal for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.InputTerminalImpl <em>Input Terminal</em>}' class.
1308
		 * <!-- begin-user-doc -->
1309
		 * <!-- end-user-doc -->
1310
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.InputTerminalImpl
1311
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getInputTerminal()
1312
		 * @generated
1313
		 */
1314
		EClass INPUT_TERMINAL = eINSTANCE.getInputTerminal();
1315
1316
		/**
1317
		 * The meta object literal for the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.InputOutputTerminalImpl <em>Input Output Terminal</em>}' class.
1318
		 * <!-- begin-user-doc -->
1319
		 * <!-- end-user-doc -->
1320
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.InputOutputTerminalImpl
1321
		 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.SemanticPackageImpl#getInputOutputTerminal()
1322
		 * @generated
1323
		 */
1324
		EClass INPUT_OUTPUT_TERMINAL = eINSTANCE.getInputOutputTerminal();
1325
1326
	}
1327
1328
} //SemanticPackage
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/impl/TerminalImpl.java (+160 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl;
8
9
import org.eclipse.emf.common.notify.Notification;
10
11
import org.eclipse.emf.ecore.EClass;
12
13
import org.eclipse.emf.ecore.impl.ENotificationImpl;
14
15
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
16
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Terminal;
17
18
/**
19
 * <!-- begin-user-doc -->
20
 * An implementation of the model object '<em><b>Terminal</b></em>'.
21
 * <!-- end-user-doc -->
22
 * <p>
23
 * The following features are implemented:
24
 * <ul>
25
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.TerminalImpl#getId <em>Id</em>}</li>
26
 * </ul>
27
 * </p>
28
 *
29
 * @generated
30
 */
31
public abstract class TerminalImpl extends ElementImpl implements Terminal {
32
	/**
33
	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
34
	 * <!-- begin-user-doc -->
35
	 * <!-- end-user-doc -->
36
	 * @see #getId()
37
	 * @generated
38
	 * @ordered
39
	 */
40
	protected static final String ID_EDEFAULT = "";
41
42
	/**
43
	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
44
	 * <!-- begin-user-doc -->
45
	 * <!-- end-user-doc -->
46
	 * @see #getId()
47
	 * @generated
48
	 * @ordered
49
	 */
50
	protected String id = ID_EDEFAULT;
51
52
	/**
53
	 * <!-- begin-user-doc -->
54
	 * <!-- end-user-doc -->
55
	 * @generated
56
	 */
57
	protected TerminalImpl() {
58
		super();
59
	}
60
61
	/**
62
	 * <!-- begin-user-doc -->
63
	 * <!-- end-user-doc -->
64
	 * @generated
65
	 */
66
	protected EClass eStaticClass() {
67
		return SemanticPackage.Literals.TERMINAL;
68
	}
69
70
	/**
71
	 * <!-- begin-user-doc -->
72
	 * <!-- end-user-doc -->
73
	 * @generated
74
	 */
75
	public String getId() {
76
		return id;
77
	}
78
79
	/**
80
	 * <!-- begin-user-doc -->
81
	 * <!-- end-user-doc -->
82
	 * @generated
83
	 */
84
	public void setId(String newId) {
85
		String oldId = id;
86
		id = newId;
87
		if (eNotificationRequired())
88
			eNotify(new ENotificationImpl(this, Notification.SET, SemanticPackage.TERMINAL__ID, oldId, id));
89
	}
90
91
	/**
92
	 * <!-- begin-user-doc -->
93
	 * <!-- end-user-doc -->
94
	 * @generated
95
	 */
96
	public Object eGet(int featureID, boolean resolve, boolean coreType) {
97
		switch (featureID) {
98
			case SemanticPackage.TERMINAL__ID:
99
				return getId();
100
		}
101
		return super.eGet(featureID, resolve, coreType);
102
	}
103
104
	/**
105
	 * <!-- begin-user-doc -->
106
	 * <!-- end-user-doc -->
107
	 * @generated
108
	 */
109
	public void eSet(int featureID, Object newValue) {
110
		switch (featureID) {
111
			case SemanticPackage.TERMINAL__ID:
112
				setId((String)newValue);
113
				return;
114
		}
115
		super.eSet(featureID, newValue);
116
	}
117
118
	/**
119
	 * <!-- begin-user-doc -->
120
	 * <!-- end-user-doc -->
121
	 * @generated
122
	 */
123
	public void eUnset(int featureID) {
124
		switch (featureID) {
125
			case SemanticPackage.TERMINAL__ID:
126
				setId(ID_EDEFAULT);
127
				return;
128
		}
129
		super.eUnset(featureID);
130
	}
131
132
	/**
133
	 * <!-- begin-user-doc -->
134
	 * <!-- end-user-doc -->
135
	 * @generated
136
	 */
137
	public boolean eIsSet(int featureID) {
138
		switch (featureID) {
139
			case SemanticPackage.TERMINAL__ID:
140
				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
141
		}
142
		return super.eIsSet(featureID);
143
	}
144
145
	/**
146
	 * <!-- begin-user-doc -->
147
	 * <!-- end-user-doc -->
148
	 * @generated
149
	 */
150
	public String toString() {
151
		if (eIsProxy()) return super.toString();
152
153
		StringBuffer result = new StringBuffer(super.toString());
154
		result.append(" (id: ");
155
		result.append(id);
156
		result.append(')');
157
		return result.toString();
158
	}
159
160
} //TerminalImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/Model.java (+21 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic;
8
9
10
/**
11
 * <!-- begin-user-doc -->
12
 * A representation of the model object '<em><b>Model</b></em>'.
13
 * <!-- end-user-doc -->
14
 *
15
 *
16
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getModel()
17
 * @model
18
 * @generated
19
 */
20
public interface Model extends ContainerElement {
21
} // Model
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/impl/OutputTerminalImpl.java (+42 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl;
8
9
import org.eclipse.emf.ecore.EClass;
10
11
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.OutputTerminal;
12
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
13
14
/**
15
 * <!-- begin-user-doc -->
16
 * An implementation of the model object '<em><b>Output Terminal</b></em>'.
17
 * <!-- end-user-doc -->
18
 * <p>
19
 * </p>
20
 *
21
 * @generated
22
 */
23
public class OutputTerminalImpl extends TerminalImpl implements OutputTerminal {
24
	/**
25
	 * <!-- begin-user-doc -->
26
	 * <!-- end-user-doc -->
27
	 * @generated
28
	 */
29
	protected OutputTerminalImpl() {
30
		super();
31
	}
32
33
	/**
34
	 * <!-- begin-user-doc -->
35
	 * <!-- end-user-doc -->
36
	 * @generated
37
	 */
38
	protected EClass eStaticClass() {
39
		return SemanticPackage.Literals.OUTPUT_TERMINAL;
40
	}
41
42
} //OutputTerminalImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/LED.java (+54 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic;
8
9
10
/**
11
 * <!-- begin-user-doc -->
12
 * A representation of the model object '<em><b>LED</b></em>'.
13
 * <!-- end-user-doc -->
14
 *
15
 * <p>
16
 * The following features are supported:
17
 * <ul>
18
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED#getValue <em>Value</em>}</li>
19
 * </ul>
20
 * </p>
21
 *
22
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getLED()
23
 * @model
24
 * @generated
25
 */
26
public interface LED extends Element {
27
	/**
28
	 * Returns the value of the '<em><b>Value</b></em>' attribute.
29
	 * The default value is <code>"0"</code>.
30
	 * <!-- begin-user-doc -->
31
	 * <p>
32
	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
33
	 * there really should be more of a description here...
34
	 * </p>
35
	 * <!-- end-user-doc -->
36
	 * @return the value of the '<em>Value</em>' attribute.
37
	 * @see #setValue(int)
38
	 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getLED_Value()
39
	 * @model default="0"
40
	 * @generated
41
	 */
42
	int getValue();
43
44
	/**
45
	 * Sets the value of the '{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.LED#getValue <em>Value</em>}' attribute.
46
	 * <!-- begin-user-doc -->
47
	 * <!-- end-user-doc -->
48
	 * @param value the new value of the '<em>Value</em>' attribute.
49
	 * @see #getValue()
50
	 * @generated
51
	 */
52
	void setValue(int value);
53
54
} // LED
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/impl/ContainerElementImpl.java (+147 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl;
8
9
import java.util.Collection;
10
11
import org.eclipse.emf.common.notify.NotificationChain;
12
13
import org.eclipse.emf.common.util.EList;
14
15
import org.eclipse.emf.ecore.EClass;
16
import org.eclipse.emf.ecore.InternalEObject;
17
18
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
19
import org.eclipse.emf.ecore.util.InternalEList;
20
21
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.ContainerElement;
22
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.Element;
23
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage;
24
25
/**
26
 * <!-- begin-user-doc -->
27
 * An implementation of the model object '<em><b>Container Element</b></em>'.
28
 * <!-- end-user-doc -->
29
 * <p>
30
 * The following features are implemented:
31
 * <ul>
32
 *   <li>{@link org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl.ContainerElementImpl#getChildren <em>Children</em>}</li>
33
 * </ul>
34
 * </p>
35
 *
36
 * @generated
37
 */
38
public abstract class ContainerElementImpl extends ElementImpl implements ContainerElement {
39
	/**
40
	 * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list.
41
	 * <!-- begin-user-doc -->
42
	 * <!-- end-user-doc -->
43
	 * @see #getChildren()
44
	 * @generated
45
	 * @ordered
46
	 */
47
	protected EList children = null;
48
49
	/**
50
	 * <!-- begin-user-doc -->
51
	 * <!-- end-user-doc -->
52
	 * @generated
53
	 */
54
	protected ContainerElementImpl() {
55
		super();
56
	}
57
58
	/**
59
	 * <!-- begin-user-doc -->
60
	 * <!-- end-user-doc -->
61
	 * @generated
62
	 */
63
	protected EClass eStaticClass() {
64
		return SemanticPackage.Literals.CONTAINER_ELEMENT;
65
	}
66
67
	/**
68
	 * <!-- begin-user-doc -->
69
	 * <!-- end-user-doc -->
70
	 * @generated
71
	 */
72
	public EList getChildren() {
73
		if (children == null) {
74
			children = new EObjectContainmentEList(Element.class, this, SemanticPackage.CONTAINER_ELEMENT__CHILDREN);
75
		}
76
		return children;
77
	}
78
79
	/**
80
	 * <!-- begin-user-doc -->
81
	 * <!-- end-user-doc -->
82
	 * @generated
83
	 */
84
	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
85
		switch (featureID) {
86
			case SemanticPackage.CONTAINER_ELEMENT__CHILDREN:
87
				return ((InternalEList)getChildren()).basicRemove(otherEnd, msgs);
88
		}
89
		return super.eInverseRemove(otherEnd, featureID, msgs);
90
	}
91
92
	/**
93
	 * <!-- begin-user-doc -->
94
	 * <!-- end-user-doc -->
95
	 * @generated
96
	 */
97
	public Object eGet(int featureID, boolean resolve, boolean coreType) {
98
		switch (featureID) {
99
			case SemanticPackage.CONTAINER_ELEMENT__CHILDREN:
100
				return getChildren();
101
		}
102
		return super.eGet(featureID, resolve, coreType);
103
	}
104
105
	/**
106
	 * <!-- begin-user-doc -->
107
	 * <!-- end-user-doc -->
108
	 * @generated
109
	 */
110
	public void eSet(int featureID, Object newValue) {
111
		switch (featureID) {
112
			case SemanticPackage.CONTAINER_ELEMENT__CHILDREN:
113
				getChildren().clear();
114
				getChildren().addAll((Collection)newValue);
115
				return;
116
		}
117
		super.eSet(featureID, newValue);
118
	}
119
120
	/**
121
	 * <!-- begin-user-doc -->
122
	 * <!-- end-user-doc -->
123
	 * @generated
124
	 */
125
	public void eUnset(int featureID) {
126
		switch (featureID) {
127
			case SemanticPackage.CONTAINER_ELEMENT__CHILDREN:
128
				getChildren().clear();
129
				return;
130
		}
131
		super.eUnset(featureID);
132
	}
133
134
	/**
135
	 * <!-- begin-user-doc -->
136
	 * <!-- end-user-doc -->
137
	 * @generated
138
	 */
139
	public boolean eIsSet(int featureID) {
140
		switch (featureID) {
141
			case SemanticPackage.CONTAINER_ELEMENT__CHILDREN:
142
				return children != null && !children.isEmpty();
143
		}
144
		return super.eIsSet(featureID);
145
	}
146
147
} //ContainerElementImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/impl/SemanticFactoryImpl.java (+207 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic.impl;
8
9
import org.eclipse.emf.ecore.EClass;
10
import org.eclipse.emf.ecore.EObject;
11
import org.eclipse.emf.ecore.EPackage;
12
13
import org.eclipse.emf.ecore.impl.EFactoryImpl;
14
15
import org.eclipse.emf.ecore.plugin.EcorePlugin;
16
17
import org.eclipse.gmf.examples.runtime.diagram.logic.semantic.*;
18
19
/**
20
 * <!-- begin-user-doc -->
21
 * An implementation of the model <b>Factory</b>.
22
 * <!-- end-user-doc -->
23
 * @generated
24
 */
25
public class SemanticFactoryImpl extends EFactoryImpl implements SemanticFactory {
26
	/**
27
	 * Creates the default factory implementation.
28
	 * <!-- begin-user-doc -->
29
	 * <!-- end-user-doc -->
30
	 * @generated
31
	 */
32
	public static SemanticFactory init() {
33
		try {
34
			SemanticFactory theSemanticFactory = (SemanticFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/gmf/examples/runtime/1.0.0/logicsemantic"); 
35
			if (theSemanticFactory != null) {
36
				return theSemanticFactory;
37
			}
38
		}
39
		catch (Exception exception) {
40
			EcorePlugin.INSTANCE.log(exception);
41
		}
42
		return new SemanticFactoryImpl();
43
	}
44
45
	/**
46
	 * Creates an instance of the factory.
47
	 * <!-- begin-user-doc -->
48
	 * <!-- end-user-doc -->
49
	 * @generated
50
	 */
51
	public SemanticFactoryImpl() {
52
		super();
53
	}
54
55
	/**
56
	 * <!-- begin-user-doc -->
57
	 * <!-- end-user-doc -->
58
	 * @generated
59
	 */
60
	public EObject create(EClass eClass) {
61
		switch (eClass.getClassifierID()) {
62
			case SemanticPackage.LED: return createLED();
63
			case SemanticPackage.WIRE: return createWire();
64
			case SemanticPackage.CIRCUIT: return createCircuit();
65
			case SemanticPackage.FLOW_CONTAINER: return createFlowContainer();
66
			case SemanticPackage.AND_GATE: return createAndGate();
67
			case SemanticPackage.OR_GATE: return createOrGate();
68
			case SemanticPackage.XOR_GATE: return createXORGate();
69
			case SemanticPackage.MODEL: return createModel();
70
			case SemanticPackage.OUTPUT_TERMINAL: return createOutputTerminal();
71
			case SemanticPackage.INPUT_TERMINAL: return createInputTerminal();
72
			case SemanticPackage.INPUT_OUTPUT_TERMINAL: return createInputOutputTerminal();
73
			default:
74
				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
75
		}
76
	}
77
78
	/**
79
	 * <!-- begin-user-doc -->
80
	 * <!-- end-user-doc -->
81
	 * @generated
82
	 */
83
	public LED createLED() {
84
		LEDImpl led = new LEDImpl();
85
		return led;
86
	}
87
88
	/**
89
	 * <!-- begin-user-doc -->
90
	 * <!-- end-user-doc -->
91
	 * @generated
92
	 */
93
	public Wire createWire() {
94
		WireImpl wire = new WireImpl();
95
		return wire;
96
	}
97
98
	/**
99
	 * <!-- begin-user-doc -->
100
	 * <!-- end-user-doc -->
101
	 * @generated
102
	 */
103
	public Circuit createCircuit() {
104
		CircuitImpl circuit = new CircuitImpl();
105
		return circuit;
106
	}
107
108
	/**
109
	 * <!-- begin-user-doc -->
110
	 * <!-- end-user-doc -->
111
	 * @generated
112
	 */
113
	public FlowContainer createFlowContainer() {
114
		FlowContainerImpl flowContainer = new FlowContainerImpl();
115
		return flowContainer;
116
	}
117
118
	/**
119
	 * <!-- begin-user-doc -->
120
	 * <!-- end-user-doc -->
121
	 * @generated
122
	 */
123
	public AndGate createAndGate() {
124
		AndGateImpl andGate = new AndGateImpl();
125
		return andGate;
126
	}
127
128
	/**
129
	 * <!-- begin-user-doc -->
130
	 * <!-- end-user-doc -->
131
	 * @generated
132
	 */
133
	public OrGate createOrGate() {
134
		OrGateImpl orGate = new OrGateImpl();
135
		return orGate;
136
	}
137
138
	/**
139
	 * <!-- begin-user-doc -->
140
	 * <!-- end-user-doc -->
141
	 * @generated
142
	 */
143
	public XORGate createXORGate() {
144
		XORGateImpl xorGate = new XORGateImpl();
145
		return xorGate;
146
	}
147
148
	/**
149
	 * <!-- begin-user-doc -->
150
	 * <!-- end-user-doc -->
151
	 * @generated
152
	 */
153
	public Model createModel() {
154
		ModelImpl model = new ModelImpl();
155
		return model;
156
	}
157
158
	/**
159
	 * <!-- begin-user-doc -->
160
	 * <!-- end-user-doc -->
161
	 * @generated
162
	 */
163
	public OutputTerminal createOutputTerminal() {
164
		OutputTerminalImpl outputTerminal = new OutputTerminalImpl();
165
		return outputTerminal;
166
	}
167
168
	/**
169
	 * <!-- begin-user-doc -->
170
	 * <!-- end-user-doc -->
171
	 * @generated
172
	 */
173
	public InputTerminal createInputTerminal() {
174
		InputTerminalImpl inputTerminal = new InputTerminalImpl();
175
		return inputTerminal;
176
	}
177
178
	/**
179
	 * <!-- begin-user-doc -->
180
	 * <!-- end-user-doc -->
181
	 * @generated
182
	 */
183
	public InputOutputTerminal createInputOutputTerminal() {
184
		InputOutputTerminalImpl inputOutputTerminal = new InputOutputTerminalImpl();
185
		return inputOutputTerminal;
186
	}
187
188
	/**
189
	 * <!-- begin-user-doc -->
190
	 * <!-- end-user-doc -->
191
	 * @generated
192
	 */
193
	public SemanticPackage getSemanticPackage() {
194
		return (SemanticPackage)getEPackage();
195
	}
196
197
	/**
198
	 * <!-- begin-user-doc -->
199
	 * <!-- end-user-doc -->
200
	 * @deprecated
201
	 * @generated
202
	 */
203
	public static SemanticPackage getPackage() {
204
		return SemanticPackage.eINSTANCE;
205
	}
206
207
} //SemanticFactoryImpl
(-)src/org/eclipse/gmf/examples/runtime/diagram/logic/semantic/FlowContainer.java (+21 lines)
Added Link Here
1
/**
2
 * <copyright>
3
 * </copyright>
4
 *
5
 * $Id$
6
 */
7
package org.eclipse.gmf.examples.runtime.diagram.logic.semantic;
8
9
10
/**
11
 * <!-- begin-user-doc -->
12
 * A representation of the model object '<em><b>Flow Container</b></em>'.
13
 * <!-- end-user-doc -->
14
 *
15
 *
16
 * @see org.eclipse.gmf.examples.runtime.diagram.logic.semantic.SemanticPackage#getFlowContainer()
17
 * @model
18
 * @generated
19
 */
20
public interface FlowContainer extends ContainerElement {
21
} // FlowContainer

Return to bug 129417