Author: tfmorris
Date: 2008-04-23 20:17:50-0700
New Revision: 14452
Modified:
trunk/src/argouml-app/src/org/argouml/uml/ui/TabProps.java
Log:
Refactor to split up long createPropPanel method
Modified: trunk/src/argouml-app/src/org/argouml/uml/ui/TabProps.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/TabProps.java?view=diff&rev=14452&p1=trunk/src/argouml-app/src/org/argouml/uml/ui/TabProps.java&p2=trunk/src/argouml-app/src/org/argouml/uml/ui/TabProps.java&r1=14451&r2=14452
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/ui/TabProps.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/ui/TabProps.java 2008-04-23 20:17:50-0700
@@ -1,5 +1,5 @@
// $Id$
-// Copyright (c) 1996-2007 The Regents of the University of California. All
+// Copyright (c) 1996-2008 The Regents of the University of California. All
// Rights Reserved. Permission to use, copy, modify, and distribute this
// software and its documentation without fee, and without a written
// agreement is hereby granted, provided that the above copyright notice
@@ -46,6 +46,7 @@
import org.argouml.uml.diagram.sequence.ui.UMLSequenceDiagram;
import org.argouml.uml.diagram.state.ui.UMLStateDiagram;
import org.argouml.uml.diagram.static_structure.ui.UMLClassDiagram;
+import org.argouml.uml.diagram.ui.PropPanelDiagram;
import org.argouml.uml.diagram.ui.PropPanelString;
import org.argouml.uml.diagram.ui.PropPanelUMLActivityDiagram;
import org.argouml.uml.diagram.ui.PropPanelUMLClassDiagram;
@@ -54,6 +55,7 @@
import org.argouml.uml.diagram.ui.PropPanelUMLSequenceDiagram;
import org.argouml.uml.diagram.ui.PropPanelUMLStateDiagram;
import org.argouml.uml.diagram.ui.PropPanelUMLUseCaseDiagram;
+import org.argouml.uml.diagram.ui.UMLDiagram;
import org.argouml.uml.diagram.use_case.ui.UMLUseCaseDiagram;
import org.argouml.uml.ui.behavior.activity_graphs.PropPanelActionState;
import org.argouml.uml.ui.behavior.activity_graphs.PropPanelActivityGraph;
@@ -68,6 +70,7 @@
import org.argouml.uml.ui.behavior.collaborations.PropPanelCollaboration;
import org.argouml.uml.ui.behavior.collaborations.PropPanelInteraction;
import org.argouml.uml.ui.behavior.collaborations.PropPanelMessage;
+import org.argouml.uml.ui.behavior.common_behavior.PropPanelAction;
import org.argouml.uml.ui.behavior.common_behavior.PropPanelActionSequence;
import org.argouml.uml.ui.behavior.common_behavior.PropPanelArgument;
import org.argouml.uml.ui.behavior.common_behavior.PropPanelCallAction;
@@ -95,6 +98,7 @@
import org.argouml.uml.ui.behavior.state_machines.PropPanelSignalEvent;
import org.argouml.uml.ui.behavior.state_machines.PropPanelSimpleState;
import org.argouml.uml.ui.behavior.state_machines.PropPanelStateMachine;
+import org.argouml.uml.ui.behavior.state_machines.PropPanelStateVertex;
import org.argouml.uml.ui.behavior.state_machines.PropPanelStubState;
import org.argouml.uml.ui.behavior.state_machines.PropPanelSubmachineState;
import org.argouml.uml.ui.behavior.state_machines.PropPanelSynchState;
@@ -111,6 +115,7 @@
import org.argouml.uml.ui.foundation.core.PropPanelAssociationEnd;
import org.argouml.uml.ui.foundation.core.PropPanelAttribute;
import org.argouml.uml.ui.foundation.core.PropPanelClass;
+import org.argouml.uml.ui.foundation.core.PropPanelClassifier;
import org.argouml.uml.ui.foundation.core.PropPanelComment;
import org.argouml.uml.ui.foundation.core.PropPanelComponent;
import org.argouml.uml.ui.foundation.core.PropPanelConstraint;
@@ -123,10 +128,12 @@
import org.argouml.uml.ui.foundation.core.PropPanelGeneralization;
import org.argouml.uml.ui.foundation.core.PropPanelInterface;
import org.argouml.uml.ui.foundation.core.PropPanelMethod;
+import org.argouml.uml.ui.foundation.core.PropPanelModelElement;
import org.argouml.uml.ui.foundation.core.PropPanelNode;
import org.argouml.uml.ui.foundation.core.PropPanelOperation;
import org.argouml.uml.ui.foundation.core.PropPanelParameter;
import org.argouml.uml.ui.foundation.core.PropPanelPermission;
+import org.argouml.uml.ui.foundation.core.PropPanelRelationship;
import org.argouml.uml.ui.foundation.core.PropPanelUsage;
import org.argouml.uml.ui.foundation.extension_mechanisms.PropPanelStereotype;
import org.argouml.uml.ui.foundation.extension_mechanisms.PropPanelTagDefinition;
@@ -164,7 +171,8 @@
private boolean shouldBeEnabled = false;
private JPanel blankPanel = new JPanel();
- private Hashtable<Class, TabModelTarget> panels = new Hashtable<Class, TabModelTarget>();
+ private Hashtable<Class, TabModelTarget> panels =
+ new Hashtable<Class, TabModelTarget>();
private JPanel lastPanel;
private String panelClassBaseName = "";
@@ -194,6 +202,8 @@
public TabProps(String tabName, String panelClassBase) {
super(tabName);
setIcon(new UpArrowIcon());
+ // TODO: This should be managed by the DetailsPane TargetListener - tfm
+ // remove the following line
TargetManager.getInstance().addTargetListener(this);
setOrientation(Horizontal.getInstance());
panelClassBaseName = panelClassBase;
@@ -253,10 +263,11 @@
* @param t the new target
* @see org.argouml.ui.TabTarget#setTarget(java.lang.Object)
*/
+ @Deprecated
public void setTarget(Object t) {
// targets ought to be UML objects or diagrams
t = (t instanceof Fig) ? ((Fig) t).getOwner() : t;
- if (!(t == null || Model.getFacade().isAUMLElement(t)
+ if (!(t == null || Model.getFacade().isAUMLElement(t)
|| t instanceof ArgoDiagram)) {
return;
}
@@ -267,6 +278,12 @@
removeTargetListener((TargetListener) lastPanel);
}
}
+
+ // TODO: No need to do anything if we're not visible
+// if (!isVisible()) {
+// return;
+// }
+
target = t;
if (t == null) {
add(blankPanel, BorderLayout.CENTER);
@@ -337,201 +354,23 @@
}
/**
- * A factory method to create a PropPanel for a particular model
- * element.
+ * A factory method to create a PropPanel for a particular target (Diagram,
+ * UML Element or GEF Fig).
*
- * @param modelElement The model element
+ * @param targetObject the target object
* @return A new prop panel to display any model element of the given type
*/
- private TabModelTarget createPropPanel(Object modelElement) {
-
+ private TabModelTarget createPropPanel(Object targetObject) {
TabModelTarget propPanel = null;
-
-
- // Create prop panels for diagrams
- if (modelElement instanceof UMLActivityDiagram) {
- propPanel = new PropPanelUMLActivityDiagram();
- } else if (modelElement instanceof UMLClassDiagram) {
- propPanel = new PropPanelUMLClassDiagram();
- } else if (modelElement instanceof UMLCollaborationDiagram) {
- propPanel = new PropPanelUMLCollaborationDiagram();
- } else if (modelElement instanceof UMLDeploymentDiagram) {
- propPanel = new PropPanelUMLDeploymentDiagram();
- } else if (modelElement instanceof UMLSequenceDiagram) {
- propPanel = new PropPanelUMLSequenceDiagram();
- } else if (modelElement instanceof UMLStateDiagram) {
- propPanel = new PropPanelUMLStateDiagram();
- } else if (modelElement instanceof UMLUseCaseDiagram) {
- propPanel = new PropPanelUMLUseCaseDiagram();
- }
- // TODO: This needs to be in type hierarchy order to work properly
- // and create the most specific property panel properly
-
- else if (Model.getFacade().isASubmachineState(modelElement)) {
- propPanel = new PropPanelSubmachineState();
- } else if (Model.getFacade().isASubactivityState(modelElement)) {
- propPanel = new PropPanelSubactivityState();
- } else if (Model.getFacade().isAAbstraction(modelElement)) {
- propPanel = new PropPanelAbstraction();
- } else if (Model.getFacade().isACallState(modelElement)) {
- propPanel = new PropPanelCallState();
- } else if (Model.getFacade().isAActionSequence(modelElement)) {
- propPanel = new PropPanelActionSequence();
- } else if (Model.getFacade().isAActionState(modelElement)) {
- propPanel = new PropPanelActionState();
- } else if (Model.getFacade().isAActivityGraph(modelElement)) {
- propPanel = new PropPanelActivityGraph();
- } else if (Model.getFacade().isAActor(modelElement)) {
- propPanel = new PropPanelActor();
- } else if (Model.getFacade().isAArgument(modelElement)) {
- propPanel = new PropPanelArgument();
- } else if (Model.getFacade().isAAssociationClass(modelElement)) {
- propPanel = new PropPanelAssociationClass();
- } else if (Model.getFacade().isAAssociationRole(modelElement)) {
- propPanel = new PropPanelAssociationRole();
- } else if (Model.getFacade().isAAssociation(modelElement)) {
- propPanel = new PropPanelAssociation();
- } else if (Model.getFacade().isAAssociationEndRole(modelElement)) {
- propPanel = new PropPanelAssociationEndRole();
- } else if (Model.getFacade().isAAssociationEnd(modelElement)) {
- propPanel = new PropPanelAssociationEnd();
- } else if (Model.getFacade().isAAttribute(modelElement)) {
- propPanel = new PropPanelAttribute();
- } else if (Model.getFacade().isACallAction(modelElement)) {
- propPanel = new PropPanelCallAction();
- } else if (Model.getFacade().isAClassifierInState(modelElement)) {
- propPanel = new PropPanelClassifierInState();
- } else if (Model.getFacade().isAClass(modelElement)) {
- propPanel = new PropPanelClass();
- } else if (Model.getFacade().isAClassifierRole(modelElement)) {
- propPanel = new PropPanelClassifierRole();
- } else if (Model.getFacade().isACollaboration(modelElement)) {
- propPanel = new PropPanelCollaboration();
- } else if (Model.getFacade().isAComment(modelElement)) {
- propPanel = new PropPanelComment();
- } else if (Model.getFacade().isAComponent(modelElement)) {
- propPanel = new PropPanelComponent();
- } else if (Model.getFacade().isAComponentInstance(modelElement)) {
- propPanel = new PropPanelComponentInstance();
- } else if (Model.getFacade().isACompositeState(modelElement)) {
- propPanel = new PropPanelCompositeState();
- } else if (Model.getFacade().isAConstraint(modelElement)) {
- propPanel = new PropPanelConstraint();
- } else if (Model.getFacade().isACreateAction(modelElement)) {
- propPanel = new PropPanelCreateAction();
- } else if (Model.getFacade().isAEnumeration(modelElement)) {
- propPanel = new PropPanelEnumeration();
- } else if (Model.getFacade().isADataType(modelElement)) {
- propPanel = new PropPanelDataType();
- } else if (Model.getFacade().isADestroyAction(modelElement)) {
- propPanel = new PropPanelDestroyAction();
- } else if (Model.getFacade().isAEnumerationLiteral(modelElement)) {
- propPanel = new PropPanelEnumerationLiteral();
- } else if (Model.getFacade().isAElementImport(modelElement)) {
- propPanel = new PropPanelElementImport();
- } else if (Model.getFacade().isAElementResidence(modelElement)) {
- propPanel = new PropPanelElementResidence();
- } else if (Model.getFacade().isAExtend(modelElement)) {
- propPanel = new PropPanelExtend();
- } else if (Model.getFacade().isAException(modelElement)) {
- propPanel = new PropPanelException();
- } else if (Model.getFacade().isAExtensionPoint(modelElement)) {
- propPanel = new PropPanelExtensionPoint();
- } else if (Model.getFacade().isAFinalState(modelElement)) {
- propPanel = new PropPanelFinalState();
- } else if (Model.getFacade().isAFlow(modelElement)) {
- propPanel = new PropPanelFlow();
- } else if (Model.getFacade().isAGeneralization(modelElement)) {
- propPanel = new PropPanelGeneralization();
- } else if (Model.getFacade().isAGuard(modelElement)) {
- propPanel = new PropPanelGuard();
- } else if (Model.getFacade().isAInclude(modelElement)) {
- propPanel = new PropPanelInclude();
- } else if (Model.getFacade().isAInteraction(modelElement)) {
- propPanel = new PropPanelInteraction();
- } else if (Model.getFacade().isAInterface(modelElement)) {
- propPanel = new PropPanelInterface();
- } else if (Model.getFacade().isALink(modelElement)) {
- propPanel = new PropPanelLink();
- } else if (Model.getFacade().isALinkEnd(modelElement)) {
- propPanel = new PropPanelLinkEnd();
- } else if (Model.getFacade().isAMessage(modelElement)) {
- propPanel = new PropPanelMessage();
- } else if (Model.getFacade().isAMethod(modelElement)) {
- propPanel = new PropPanelMethod();
- } else if (Model.getFacade().isAModel(modelElement)) {
- propPanel = new PropPanelModel();
- } else if (Model.getFacade().isANode(modelElement)) {
- propPanel = new PropPanelNode();
- } else if (Model.getFacade().isANodeInstance(modelElement)) {
- propPanel = new PropPanelNodeInstance();
- } else if (Model.getFacade().isAObject(modelElement)) {
- propPanel = new PropPanelObject();
- } else if (Model.getFacade().isAObjectFlowState(modelElement)) {
- propPanel = new PropPanelObjectFlowState();
- } else if (Model.getFacade().isAOperation(modelElement)) {
- propPanel = new PropPanelOperation();
- } else if (Model.getFacade().isAPackage(modelElement)) {
- propPanel = new PropPanelPackage();
- } else if (Model.getFacade().isAParameter(modelElement)) {
- propPanel = new PropPanelParameter();
- } else if (Model.getFacade().isAPartition(modelElement)) {
- propPanel = new PropPanelPartition();
- } else if (Model.getFacade().isAPackageImport(modelElement)) {
- propPanel = new PropPanelPermission();
- } else if (Model.getFacade().isAPseudostate(modelElement)) {
- propPanel = new PropPanelPseudostate();
- } else if (Model.getFacade().isAReception(modelElement)) {
- propPanel = new PropPanelReception();
- } else if (Model.getFacade().isAReturnAction(modelElement)) {
- propPanel = new PropPanelReturnAction();
- } else if (Model.getFacade().isASendAction(modelElement)) {
- propPanel = new PropPanelSendAction();
- } else if (Model.getFacade().isASignal(modelElement)) {
- propPanel = new PropPanelSignal();
- } else if (Model.getFacade().isASimpleState(modelElement)) {
- propPanel = new PropPanelSimpleState();
- } else if (Model.getFacade().isAStateMachine(modelElement)) {
- propPanel = new PropPanelStateMachine();
- } else if (Model.getFacade().isAStereotype(modelElement)) {
- propPanel = new PropPanelStereotype();
- } else if (Model.getFacade().isAStimulus(modelElement)) {
- propPanel = new PropPanelStimulus();
- } else if (Model.getFacade().isAStubState(modelElement)) {
- propPanel = new PropPanelStubState();
- } else if (Model.getFacade().isASubsystem(modelElement)) {
- propPanel = new PropPanelSubsystem();
- } else if (Model.getFacade().isASynchState(modelElement)) {
- propPanel = new PropPanelSynchState();
- } else if (Model.getFacade().isATaggedValue(modelElement)) {
- propPanel = new PropPanelTaggedValue();
- } else if (Model.getFacade().isATagDefinition(modelElement)) {
- propPanel = new PropPanelTagDefinition();
- } else if (Model.getFacade().isATerminateAction(modelElement)) {
- propPanel = new PropPanelTerminateAction();
- } else if (Model.getFacade().isATransition(modelElement)) {
- propPanel = new PropPanelTransition();
- } else if (Model.getFacade().isAUninterpretedAction(modelElement)) {
- propPanel = new PropPanelUninterpretedAction();
- } else if (Model.getFacade().isAUsage(modelElement)) {
- propPanel = new PropPanelUsage();
- } else if (Model.getFacade().isAUseCase(modelElement)) {
- propPanel = new PropPanelUseCase();
- } else if (Model.getFacade().isACallEvent(modelElement)) {
- propPanel = new PropPanelCallEvent();
- } else if (Model.getFacade().isAChangeEvent(modelElement)) {
- propPanel = new PropPanelChangeEvent();
- } else if (Model.getFacade().isASignalEvent(modelElement)) {
- propPanel = new PropPanelSignalEvent();
- } else if (Model.getFacade().isATimeEvent(modelElement)) {
- propPanel = new PropPanelTimeEvent();
- } else if (Model.getFacade().isADependency(modelElement)) {
- propPanel = new PropPanelDependency();
- } else if (modelElement instanceof FigText) {
+ if (targetObject instanceof UMLDiagram) {
+ propPanel = getDiagramPropPanel((UMLDiagram) targetObject);
+ } else if (Model.getFacade().isAElement(targetObject)) {
+ propPanel = getElementPropPanel(targetObject);
+ } else if (targetObject instanceof FigText) {
propPanel = new PropPanelString();
}
-
+
if (propPanel instanceof Orientable) {
((Orientable) propPanel).setOrientation(getOrientation());
}
@@ -544,6 +383,242 @@
return propPanel;
}
+ // Create prop panels for diagrams
+ private PropPanelDiagram getDiagramPropPanel(UMLDiagram diagram) {
+ if (diagram instanceof UMLActivityDiagram) {
+ return new PropPanelUMLActivityDiagram();
+ } else if (diagram instanceof UMLClassDiagram) {
+ return new PropPanelUMLClassDiagram();
+ } else if (diagram instanceof UMLCollaborationDiagram) {
+ return new PropPanelUMLCollaborationDiagram();
+ } else if (diagram instanceof UMLDeploymentDiagram) {
+ return new PropPanelUMLDeploymentDiagram();
+ } else if (diagram instanceof UMLSequenceDiagram) {
+ return new PropPanelUMLSequenceDiagram();
+ } else if (diagram instanceof UMLStateDiagram) {
+ return new PropPanelUMLStateDiagram();
+ } else if (diagram instanceof UMLUseCaseDiagram) {
+ return new PropPanelUMLUseCaseDiagram();
+ }
+ throw new IllegalArgumentException("Unsupported diagram type");
+ }
+
+
+ private PropPanelModelElement getElementPropPanel(Object element) {
+ if (Model.getFacade().isAClassifier(element)) {
+ return getClassifierPropPanel(element);
+ } else if (Model.getFacade().isARelationship(element)) {
+ return getRelationshipPropPanel(element);
+ } else if (Model.getFacade().isAStateVertex(element)) {
+ return getStateVertexPropPanel(element);
+ } else if (Model.getFacade().isAActionSequence(element)) {
+ // This is not a subtype of PropPanelAction, so it must come first
+ return new PropPanelActionSequence();
+ } else if (Model.getFacade().isAAction(element)) {
+ return getActionPropPanel(element);
+ // TODO: This needs to be in type hierarchy order to work properly
+ // and create the most specific property panel properly. Everything
+ // which has been factored out of this method has been reviewed.
+ // Anything below this point still needs to be review - tfm
+ } else if (Model.getFacade().isAActivityGraph(element)) {
+ return new PropPanelActivityGraph();
+ } else if (Model.getFacade().isAArgument(element)) {
+ return new PropPanelArgument();
+ } else if (Model.getFacade().isAAssociationEndRole(element)) {
+ return new PropPanelAssociationEndRole();
+ } else if (Model.getFacade().isAAssociationEnd(element)) {
+ return new PropPanelAssociationEnd();
+ } else if (Model.getFacade().isAAttribute(element)) {
+ return new PropPanelAttribute();
+ } else if (Model.getFacade().isACollaboration(element)) {
+ return new PropPanelCollaboration();
+ } else if (Model.getFacade().isAComment(element)) {
+ return new PropPanelComment();
+ } else if (Model.getFacade().isAComponentInstance(element)) {
+ return new PropPanelComponentInstance();
+ } else if (Model.getFacade().isAConstraint(element)) {
+ return new PropPanelConstraint();
+ } else if (Model.getFacade().isAEnumerationLiteral(element)) {
+ return new PropPanelEnumerationLiteral();
+ } else if (Model.getFacade().isAElementImport(element)) {
+ return new PropPanelElementImport();
+ } else if (Model.getFacade().isAElementResidence(element)) {
+ return new PropPanelElementResidence();
+ } else if (Model.getFacade().isAExtensionPoint(element)) {
+ return new PropPanelExtensionPoint();
+ } else if (Model.getFacade().isAGuard(element)) {
+ return new PropPanelGuard();
+ } else if (Model.getFacade().isAInteraction(element)) {
+ return new PropPanelInteraction();
+ } else if (Model.getFacade().isALink(element)) {
+ return new PropPanelLink();
+ } else if (Model.getFacade().isALinkEnd(element)) {
+ return new PropPanelLinkEnd();
+ } else if (Model.getFacade().isAMessage(element)) {
+ return new PropPanelMessage();
+ } else if (Model.getFacade().isAMethod(element)) {
+ return new PropPanelMethod();
+ } else if (Model.getFacade().isAModel(element)) {
+ return new PropPanelModel();
+ } else if (Model.getFacade().isANodeInstance(element)) {
+ return new PropPanelNodeInstance();
+ } else if (Model.getFacade().isAObject(element)) {
+ return new PropPanelObject();
+ } else if (Model.getFacade().isAOperation(element)) {
+ return new PropPanelOperation();
+ } else if (Model.getFacade().isAPackage(element)) {
+ return new PropPanelPackage();
+ } else if (Model.getFacade().isAParameter(element)) {
+ return new PropPanelParameter();
+ } else if (Model.getFacade().isAPartition(element)) {
+ return new PropPanelPartition();
+ } else if (Model.getFacade().isAReception(element)) {
+ return new PropPanelReception();
+ } else if (Model.getFacade().isAStateMachine(element)) {
+ return new PropPanelStateMachine();
+ } else if (Model.getFacade().isAStereotype(element)) {
+ return new PropPanelStereotype();
+ } else if (Model.getFacade().isAStimulus(element)) {
+ return new PropPanelStimulus();
+ } else if (Model.getFacade().isASubsystem(element)) {
+ return new PropPanelSubsystem();
+ } else if (Model.getFacade().isATaggedValue(element)) {
+ return new PropPanelTaggedValue();
+ } else if (Model.getFacade().isATagDefinition(element)) {
+ return new PropPanelTagDefinition();
+ } else if (Model.getFacade().isATransition(element)) {
+ return new PropPanelTransition();
+ } else if (Model.getFacade().isACallEvent(element)) {
+ return new PropPanelCallEvent();
+ } else if (Model.getFacade().isAChangeEvent(element)) {
+ return new PropPanelChangeEvent();
+ } else if (Model.getFacade().isASignalEvent(element)) {
+ return new PropPanelSignalEvent();
+ } else if (Model.getFacade().isATimeEvent(element)) {
+ return new PropPanelTimeEvent();
+ } else if (Model.getFacade().isADependency(element)) {
+ return new PropPanelDependency();
+ }
+ throw new IllegalArgumentException("Unsupported Element type");
+ }
+
+ private PropPanelClassifier getClassifierPropPanel(Object element) {
+ if (Model.getFacade().isAActor(element)) {
+ return new PropPanelActor();
+ } else if (Model.getFacade().isAAssociationClass(element)) {
+ return new PropPanelAssociationClass();
+ } else if (Model.getFacade().isAClass(element)) {
+ return new PropPanelClass();
+ } else if (Model.getFacade().isAClassifierInState(element)) {
+ return new PropPanelClassifierInState();
+ } else if (Model.getFacade().isAClassifierRole(element)) {
+ return new PropPanelClassifierRole();
+ } else if (Model.getFacade().isAComponent(element)) {
+ return new PropPanelComponent();
+ } else if (Model.getFacade().isADataType(element)) {
+ if (Model.getFacade().isAEnumeration(element)) {
+ return new PropPanelEnumeration();
+ } else {
+ return new PropPanelDataType();
+ }
+ } else if (Model.getFacade().isAInterface(element)) {
+ return new PropPanelInterface();
+ } else if (Model.getFacade().isANode(element)) {
+ return new PropPanelNode();
+ } else if (Model.getFacade().isASignal(element)) {
+ if (Model.getFacade().isAException(element)) {
+ return new PropPanelException();
+ } else {
+ return new PropPanelSignal();
+ }
+ } else if (Model.getFacade().isAUseCase(element)) {
+ return new PropPanelUseCase();
+ }
+ throw new IllegalArgumentException("Unsupported Element type");
+ }
+
+ private PropPanelRelationship getRelationshipPropPanel(Object element) {
+ if (Model.getFacade().isAAssociation(element)) {
+ if (Model.getFacade().isAAssociationRole(element)) {
+ return new PropPanelAssociationRole();
+ } else {
+ return new PropPanelAssociation();
+ }
+ } else if (Model.getFacade().isADependency(element)) {
+ if (Model.getFacade().isAAbstraction(element)) {
+ return new PropPanelAbstraction();
+ } else if (Model.getFacade().isAPackageImport(element)) {
+ return new PropPanelPermission();
+ } else if (Model.getFacade().isAUsage(element)) {
+ return new PropPanelUsage();
+ } else {
+ return new PropPanelDependency();
+ }
+ } else if (Model.getFacade().isAExtend(element)) {
+ return new PropPanelExtend();
+ } else if (Model.getFacade().isAFlow(element)) {
+ return new PropPanelFlow();
+ } else if (Model.getFacade().isAGeneralization(element)) {
+ return new PropPanelGeneralization();
+ } else if (Model.getFacade().isAInclude(element)) {
+ return new PropPanelInclude();
+ }
+ throw new IllegalArgumentException("Unsupported Relationship type");
+ }
+
+ private PropPanelAction getActionPropPanel(Object action) {
+ if (Model.getFacade().isACallAction(action)) {
+ return new PropPanelCallAction();
+ } else if (Model.getFacade().isACreateAction(action)) {
+ return new PropPanelCreateAction();
+ } else if (Model.getFacade().isADestroyAction(action)) {
+ return new PropPanelDestroyAction();
+ } else if (Model.getFacade().isAReturnAction(action)) {
+ return new PropPanelReturnAction();
+ } else if (Model.getFacade().isASendAction(action)) {
+ return new PropPanelSendAction();
+ } else if (Model.getFacade().isATerminateAction(action)) {
+ return new PropPanelTerminateAction();
+ } else if (Model.getFacade().isAUninterpretedAction(action)) {
+ return new PropPanelUninterpretedAction();
+ }
+ throw new IllegalArgumentException("Unsupported Action type");
+ }
+
+ private PropPanelStateVertex getStateVertexPropPanel(Object element) {
+ if (Model.getFacade().isAState(element)) {
+ if (Model.getFacade().isAActionState(element)) {
+ return new PropPanelActionState();
+ } else if (Model.getFacade().isACallState(element)) {
+ return new PropPanelCallState();
+ } else if (Model.getFacade().isACompositeState(element)) {
+ if (Model.getFacade().isASubmachineState(element)) {
+ if (Model.getFacade().isASubactivityState(element)) {
+ return new PropPanelSubactivityState();
+ } else {
+ return new PropPanelSubmachineState();
+ }
+ } else {
+ return new PropPanelCompositeState();
+ }
+ } else if (Model.getFacade().isAFinalState(element)) {
+ return new PropPanelFinalState();
+ } else if (Model.getFacade().isAObjectFlowState(element)) {
+ return new PropPanelObjectFlowState();
+ } else if (Model.getFacade().isASimpleState(element)) {
+ return new PropPanelSimpleState();
+ }
+ } else if (Model.getFacade().isAPseudostate(element)) {
+ return new PropPanelPseudostate();
+ } else if (Model.getFacade().isAStubState(element)) {
+ return new PropPanelStubState();
+ } else if (Model.getFacade().isASynchState(element)) {
+ return new PropPanelSynchState();
+ }
+ throw new IllegalArgumentException("Unsupported State type");
+ }
+
+
/**
* @return the name
*/
@@ -561,6 +636,7 @@
* @return the target
* @see org.argouml.ui.TabTarget#getTarget()
*/
+ @Deprecated
public Object getTarget() {
return target;
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.