Author: mvw
Date: 2008-02-03 13:39:51-0800
New Revision: 14076
Modified:
trunk/src_new/org/argouml/i18n/label.properties
trunk/src_new/org/argouml/kernel/ProjectSettings.java
trunk/src_new/org/argouml/notation/Notation.java
trunk/src_new/org/argouml/notation/providers/uml/AssociationNameNotationUml.java
trunk/src_new/org/argouml/notation/ui/SettingsTabNotation.java
trunk/src_new/org/argouml/persistence/ArgoParser.java
trunk/src_new/org/argouml/persistence/ArgoTokenTable.java
trunk/src_new/org/argouml/persistence/argo.tee
trunk/src_new/org/argouml/uml/diagram/ui/FigAssociation.java
Log:
Fix for issue 4969. Patch supplied by Jan Bares.
Add the ability to hide/show all association names.
Modified: trunk/src_new/org/argouml/i18n/label.properties
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/i18n/label.properties?view=diff&rev=14076&p1=trunk/src_new/org/argouml/i18n/label.properties&p2=trunk/src_new/org/argouml/i18n/label.properties&r1=14075&r2=14076
==============================================================================
--- trunk/src_new/org/argouml/i18n/label.properties (original)
+++ trunk/src_new/org/argouml/i18n/label.properties 2008-02-03 13:39:51-0800
@@ -342,6 +342,7 @@
label.shortcut-custom = Custom
label.shortcut-default = Default
label.shortcut-none = None
+label.show-associationnames = Show association names
label.show-bold-names = Show name of nodes in bold font
label.show-initialvalue = Show initial value
label.show-multiplicity = Show multiplicity
Modified: trunk/src_new/org/argouml/kernel/ProjectSettings.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/kernel/ProjectSettings.java?view=diff&rev=14076&p1=trunk/src_new/org/argouml/kernel/ProjectSettings.java&p2=trunk/src_new/org/argouml/kernel/ProjectSettings.java&r1=14075&r2=14076
==============================================================================
--- trunk/src_new/org/argouml/kernel/ProjectSettings.java (original)
+++ trunk/src_new/org/argouml/kernel/ProjectSettings.java 2008-02-03 13:39:51-0800
@@ -1,5 +1,5 @@
// $Id$
-// Copyright (c) 2006-2007 The Regents of the University of California. All
+// Copyright (c) 2006-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
@@ -43,9 +43,9 @@
/**
* A datastructure for settings for a Project. <p>
- *
+ *
* Most getters return a string, since they are used by "argo.tee".
- * This is also the reason all these attributes
+ * This is also the reason all these attributes
* are not part of a Map or something. <p>
*
* TODO: The header comment is curently not used - this function
@@ -60,6 +60,7 @@
private String notationLanguage;
private boolean showBoldNames;
private boolean useGuillemots;
+ private boolean showAssociationNames;
private boolean showVisibility;
private boolean showMultiplicity;
private boolean showInitialValue;
@@ -69,7 +70,7 @@
private boolean showSingularMultiplicities;
private int defaultShadowWidth;
private int defaultStereotypeView;
-
+
/* Diagram appearance settings with project scope: */
private String fontName;
private int fontSize;
@@ -78,7 +79,7 @@
private Font fontItalic;
private Font fontBold;
private Font fontBoldItalic;
-
+
/* Generation preferences: */
private String headerComment =
"Your copyright and other header comments";
@@ -86,22 +87,28 @@
/**
- * Create a new set of project settings,
+ * Create a new set of project settings,
* based on the application defaults. <p>
- *
- * The constructor is not public, since this
+ *
+ * The constructor is not public, since this
* class is only created from the Project..
*/
ProjectSettings() {
super();
-
- notationLanguage =
+
+ notationLanguage =
Notation.getConfiguredNotation().getConfigurationValue();
NotationProviderFactory2.setCurrentLanguage(notationLanguage);
showBoldNames = Configuration.getBoolean(
Notation.KEY_SHOW_BOLD_NAMES);
useGuillemots = Configuration.getBoolean(
Notation.KEY_USE_GUILLEMOTS, false);
+ /*
+ * The next one defaults to TRUE, to stay compatible with older
+ * ArgoUML versions that did not have this setting:
+ */
+ showAssociationNames = Configuration.getBoolean(
+ Notation.KEY_SHOW_ASSOCIATION_NAMES, true);
showVisibility = Configuration.getBoolean(
Notation.KEY_SHOW_VISIBILITY);
showMultiplicity = Configuration.getBoolean(
@@ -119,12 +126,12 @@
Notation.KEY_SHOW_STEREOTYPES);
/*
* The next one defaults to TRUE, despite that this is
- * NOT compatible with older ArgoUML versions
- * (before 0.24) that did
+ * NOT compatible with older ArgoUML versions
+ * (before 0.24) that did
* not have this setting - see issue 1395 for the rationale:
*/
showSingularMultiplicities = Configuration.getBoolean(
- Notation.KEY_SHOW_SINGULAR_MULTIPLICITIES, true);
+ Notation.KEY_SHOW_SINGULAR_MULTIPLICITIES, true);
defaultShadowWidth = Configuration.getInteger(
Notation.KEY_DEFAULT_SHADOW_WIDTH, 1);
defaultStereotypeView = Configuration.getInteger(
@@ -156,6 +163,7 @@
setNotationLanguage(getNotationLanguage());
setShowBoldNames(getShowBoldNamesValue());
setUseGuillemots(getUseGuillemotsValue());
+ setShowAssociationNames(getShowAssociationNamesValue());
setShowVisibility(getShowVisibilityValue());
setShowMultiplicity(getShowMultiplicityValue());
setShowInitialValue(getShowInitialValueValue());
@@ -170,7 +178,7 @@
/**
* Used by "argo.tee".
- *
+ *
* @return Returns the notation language.
*/
public String getNotationLanguage() {
@@ -194,9 +202,9 @@
/* This Notation is not available! */
return false;
}
-
+
final String oldLanguage = notationLanguage;
-
+
Memento memento = new Memento() {
private final ConfigurationKey key = Notation.KEY_DEFAULT_NOTATION;
@@ -219,7 +227,7 @@
ProjectManager.getManager().setSaveEnabled(true);
return true;
}
-
+
/**
* @param nn the new notation language
*/
@@ -229,7 +237,7 @@
/**
* Used by "argo.tee".
- *
+ *
* @return Returns "true" if we show bold names.
*/
public String getShowBoldNames() {
@@ -278,7 +286,7 @@
/**
* Used by "argo.tee".
- *
+ *
* @return Returns "true" if we show guillemots.
*/
public String getUseGuillemots() {
@@ -342,7 +350,56 @@
/**
* Used by "argo.tee".
- *
+ *
+ * @return Returns "true" if we show association names.
+ */
+ public String getShowAssociationNames() {
+ return Boolean.toString(showAssociationNames);
+ }
+
+ /**
+ * @return Returns <code>true</code> if we show association names.
+ */
+ public boolean getShowAssociationNamesValue() {
+ return showAssociationNames;
+ }
+
+ /**
+ * @param showem <code>true</code> if association names are to be shown.
+ */
+ public void setShowAssociationNames(String showem) {
+ setShowAssociationNames(Boolean.valueOf(showem).booleanValue());
+ }
+
+ /**
+ * @param showem <code>true</code> if association names are to be shown.
+ */
+ public void setShowAssociationNames(final boolean showem) {
+ if (showAssociationNames == showem) return;
+
+ Memento memento = new Memento() {
+ private final ConfigurationKey key = Notation.KEY_SHOW_ASSOCIATION_NAMES;
+
+ public void redo() {
+ showAssociationNames = showem;
+ fireNotationEvent(key, !showem, showem);
+ }
+
+ public void undo() {
+ showAssociationNames = !showem;
+ fireNotationEvent(key, showem, !showem);
+ }
+ };
+ if (UndoManager.getInstance().isGenerateMementos()) {
+ UndoManager.getInstance().addMemento(memento);
+ }
+ memento.redo();
+ ProjectManager.getManager().setSaveEnabled(true);
+ }
+
+ /**
+ * Used by "argo.tee".
+ *
* @return Returns "true" if we show visibilities.
*/
public String getShowVisibility() {
@@ -391,7 +448,7 @@
/**
* Used by "argo.tee".
- *
+ *
* @return Returns "true" if we show multiplicities.
*/
public String getShowMultiplicity() {
@@ -440,7 +497,7 @@
/**
* Used by "argo.tee".
- *
+ *
* @return Returns "true" if we show initial values.
*/
public String getShowInitialValue() {
@@ -490,7 +547,7 @@
/**
* Used by "argo.tee".
- *
+ *
* @return Returns "true" if we show properties.
*/
public String getShowProperties() {
@@ -540,7 +597,7 @@
/**
* Used by "argo.tee".
- *
+ *
* @return Returns "true" if we show types.
*/
public String getShowTypes() {
@@ -590,7 +647,7 @@
/**
* Used by "argo.tee".
- *
+ *
* @return Returns "true" if we show stereotypes.
*/
public String getShowStereotypes() {
@@ -639,7 +696,7 @@
/**
* Used by "argo.tee".
- *
+ *
* @return Returns "true" if we show "1" Multiplicities.
*/
public String getShowSingularMultiplicities() {
@@ -689,7 +746,7 @@
/**
* Used by "argo.tee".
- *
+ *
* @return Returns the shadow width.
*/
public String getDefaultShadowWidth() {
@@ -738,37 +795,37 @@
public void setDefaultShadowWidth(String width) {
setDefaultShadowWidth(Integer.parseInt(width));
}
-
+
/**
* Used by "argo.tee".
- *
+ *
* @return Returns the default stereotype view
*/
public String getDefaultStereotypeView() {
return Integer.valueOf(defaultStereotypeView).toString();
}
-
+
/**
* @return Returns the default stereotype view
*/
public int getDefaultStereotypeViewValue() {
return defaultStereotypeView;
}
-
-
+
+
/**
* Used by "argo.tee".
- *
+ *
* @return the output directory name
*/
- public String getGenerationOutputDir() {
- return generationOutputDir;
+ public String getGenerationOutputDir() {
+ return generationOutputDir;
}
/**
* @param od the output directory name
*/
- public void setGenerationOutputDir(String od) {
+ public void setGenerationOutputDir(String od) {
generationOutputDir = od;
Configuration.setString(Argo.KEY_MOST_RECENT_EXPORT_DIRECTORY, od);
}
@@ -792,7 +849,7 @@
final int oldValue = defaultStereotypeView;
Memento memento = new Memento() {
- private final ConfigurationKey key =
+ private final ConfigurationKey key =
ProfileConfiguration.KEY_DEFAULT_STEREOTYPE_VIEW;
public void redo() {
@@ -827,7 +884,7 @@
*/
private void fireNotationEvent(
ConfigurationKey key, int oldValue, int newValue) {
- fireNotationEvent(key, Integer.toString(oldValue),
+ fireNotationEvent(key, Integer.toString(oldValue),
Integer.toString(newValue));
}
@@ -840,7 +897,7 @@
*/
private void fireNotationEvent(ConfigurationKey key, boolean oldValue,
boolean newValue) {
- fireNotationEvent(key, Boolean.toString(oldValue),
+ fireNotationEvent(key, Boolean.toString(oldValue),
Boolean.toString(newValue));
}
@@ -859,7 +916,7 @@
}
/**
- * Convenience methods to fire diagram appearance
+ * Convenience methods to fire diagram appearance
* configuration change events.
*
* @param key the ConfigurationKey that is related to the change
@@ -874,7 +931,7 @@
/**
- * Convenience methods to fire diagram appearance
+ * Convenience methods to fire diagram appearance
* configuration change events.
*
* @param key the ConfigurationKey that is related to the change
@@ -890,9 +947,9 @@
/**
* Diagram font name. <p>
- *
+ *
* Used by "argo.tee".
- *
+ *
* @return diagram font name.
*/
public String getFontName() {
@@ -914,9 +971,9 @@
/**
* Diagram font size. <p>
- *
+ *
* Used by "argo.tee".
- *
+ *
* @return diagram font size.
*/
public int getFontSize() {
@@ -940,14 +997,14 @@
fontPlain = new Font(fontName, Font.PLAIN, fontSize);
fontItalic = new Font(fontName, Font.ITALIC, fontSize + 2);
fontBold = new Font(fontName, Font.BOLD, fontSize + 2);
- fontBoldItalic = new Font(fontName,
+ fontBoldItalic = new Font(fontName,
Font.BOLD | Font.ITALIC, fontSize + 2);
}
/**
- * Returns the Plain diagram font which corresponds
+ * Returns the Plain diagram font which corresponds
* to selected parameters.
- *
+ *
* @return plain diagram font
*/
public Font getFontPlain() {
@@ -955,9 +1012,9 @@
}
/**
- * Returns the Italic diagram font which corresponds
+ * Returns the Italic diagram font which corresponds
* to selected parameters.
- *
+ *
* @return italic diagram font
*/
public Font getFontItalic() {
@@ -965,9 +1022,9 @@
}
/**
- * Returns the Bold diagram font which corresponds
+ * Returns the Bold diagram font which corresponds
* to selected parameters.
- *
+ *
* @return bold diagram font
*/
public Font getFontBold() {
@@ -975,18 +1032,18 @@
}
/**
- * Returns the Bold-Italic diagram font which corresponds
+ * Returns the Bold-Italic diagram font which corresponds
* to selected parameters.
- *
+ *
* @return bold-italic diagram font
*/
public Font getFontBoldItalic() {
return fontBoldItalic;
}
-
+
/**
* Utility function to convert a font style integer into a Font.
- *
+ *
* @param fontStyle the style; see the predefined constants in Font
* @return the Font that corresponds to the style
*/
Modified: trunk/src_new/org/argouml/notation/Notation.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/notation/Notation.java?view=diff&rev=14076&p1=trunk/src_new/org/argouml/notation/Notation.java&p2=trunk/src_new/org/argouml/notation/Notation.java&r1=14075&r2=14076
==============================================================================
--- trunk/src_new/org/argouml/notation/Notation.java (original)
+++ trunk/src_new/org/argouml/notation/Notation.java 2008-02-03 13:39:51-0800
@@ -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
@@ -103,6 +103,13 @@
Configuration.makeKey("notation", "guillemots");
/**
+ * Indicates if the user wants to see associaction names (public,
+ * private, protected or # + -).
+ */
+ public static final ConfigurationKey KEY_SHOW_ASSOCIATION_NAMES =
+ Configuration.makeKey("notation", "show", "associationnames");
+
+ /**
* Indicates if the user wants to see visibility signs (public,
* private, protected or # + -).
*/
@@ -158,6 +165,7 @@
Configuration.addListener(KEY_SHOW_TYPES, this);
Configuration.addListener(KEY_SHOW_MULTIPLICITY, this);
Configuration.addListener(KEY_SHOW_PROPERTIES, this);
+ Configuration.addListener(KEY_SHOW_ASSOCIATION_NAMES, this);
Configuration.addListener(KEY_SHOW_VISIBILITY, this);
Configuration.addListener(KEY_SHOW_INITIAL_VALUE, this);
}
@@ -234,7 +242,7 @@
/**
* Get list of available notations, of type NotationName.
- * This returns an immutable list so that
+ * This returns an immutable list so that
* the implementation type isn't exposed in the API.
*
* @return list of available notations
@@ -242,13 +250,13 @@
public static List<NotationName> getAvailableNotations() {
return NotationNameImpl.getAvailableNotations();
}
-
+
/**
* Remove a complete Notation language.
- * This is to be used by plugins that implement their own notation,
+ * This is to be used by plugins that implement their own notation,
* and that are removed. <p>
* This function fails if the given notation does not exist.
- *
+ *
* @param theNotation the given NotationName
* @return true if the Notation indeed is removed
*/
Modified: trunk/src_new/org/argouml/notation/providers/uml/AssociationNameNotationUml.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/notation/providers/uml/AssociationNameNotationUml.java?view=diff&rev=14076&p1=trunk/src_new/org/argouml/notation/providers/uml/AssociationNameNotationUml.java&p2=trunk/src_new/org/argouml/notation/providers/uml/AssociationNameNotationUml.java&r1=14075&r2=14076
==============================================================================
--- trunk/src_new/org/argouml/notation/providers/uml/AssociationNameNotationUml.java (original)
+++ trunk/src_new/org/argouml/notation/providers/uml/AssociationNameNotationUml.java 2008-02-03 13:39:51-0800
@@ -1,5 +1,5 @@
// $Id$
-// Copyright (c) 2006-2007 The Regents of the University of California. All
+// Copyright (c) 2006-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
@@ -44,15 +44,15 @@
* ie a string on the format:<pre>
* [ << stereotype >>] [+|-|#] [name]
* </pre>
- *
+ *
* @author Michiel
*/
public class AssociationNameNotationUml extends AssociationNameNotation {
/**
* The constructor.
- *
- * @param association the association modelelement
+ *
+ * @param association the association modelelement
* that we represent in textual form.
*/
public AssociationNameNotationUml(Object association) {
@@ -88,6 +88,12 @@
* @see org.argouml.notation.providers.NotationProvider#toString(java.lang.Object, java.util.Map)
*/
public String toString(Object modelElement, Map args) {
+ Project p = ProjectManager.getManager().getCurrentProject();
+ ProjectSettings ps = p.getProjectSettings();
+
+ if (!ps.getShowAssociationNamesValue())
+ return "";
+
String name = Model.getFacade().getName(modelElement);
StringBuffer sb = new StringBuffer("");
if (isValue("fullyHandleStereotypes", args)) {
@@ -122,14 +128,14 @@
first = false;
}
}
- Project project =
+ Project project =
ProjectManager.getManager().getCurrentProject();
ProjectSettings ps = project.getProjectSettings();
return first ? "" : ps.getLeftGuillemot()
+ sb.toString()
+ ps.getRightGuillemot();
}
-
+
/**
* @param modelElement the UML element to generate for
* @param args arguments that influence the generation
Modified: trunk/src_new/org/argouml/notation/ui/SettingsTabNotation.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/notation/ui/SettingsTabNotation.java?view=diff&rev=14076&p1=trunk/src_new/org/argouml/notation/ui/SettingsTabNotation.java&p2=trunk/src_new/org/argouml/notation/ui/SettingsTabNotation.java&r1=14075&r2=14076
==============================================================================
--- trunk/src_new/org/argouml/notation/ui/SettingsTabNotation.java (original)
+++ trunk/src_new/org/argouml/notation/ui/SettingsTabNotation.java 2008-02-03 13:39:51-0800
@@ -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
@@ -49,24 +49,25 @@
/**
* Settings tab panel for handling Notation settings. <p>
- *
+ *
* It supports different scopes: application and project.
- * The former is stored in the properties file in the user-directory,
+ * The former is stored in the properties file in the user-directory,
* the latter in the project file (.zargo,...). <p>
- *
- * This class is written in a way that supports
+ *
+ * This class is written in a way that supports
* adding more scopes easily.
*
* @author Thierry Lach
* @since 0.9.4
*/
-public class SettingsTabNotation
+public class SettingsTabNotation
extends JPanel
implements GUISettingsTabInterface {
private JComboBox notationLanguage;
private JCheckBox showBoldNames;
private JCheckBox useGuillemots;
+ private JCheckBox showAssociationNames;
private JCheckBox showVisibility;
private JCheckBox showMultiplicity;
private JCheckBox showInitialValue;
@@ -75,12 +76,12 @@
private JCheckBox showStereotypes;
private JCheckBox showSingularMultiplicities;
private ShadowComboBox defaultShadowWidth;
-
+
private int scope;
/**
* The constructor.
- * We currently support 2 scopes, but this class is written
+ * We currently support 2 scopes, but this class is written
* in a way to easily extend that.
*
* @param settingsScope the scope of the settings
@@ -125,6 +126,9 @@
// Jaap Branderhorst
// from here made visibility etc. configurable
+ showAssociationNames = createCheckBox("label.show-associationnames");
+ top.add(showAssociationNames, constraints);
+
showVisibility = createCheckBox("label.show-visibility");
top.add(showVisibility, constraints);
@@ -142,8 +146,8 @@
showStereotypes = createCheckBox("label.show-stereotypes");
top.add(showStereotypes, constraints);
-
- showSingularMultiplicities =
+
+ showSingularMultiplicities =
createCheckBox("label.show-singular-multiplicities");
top.add(showSingularMultiplicities, constraints);
@@ -171,6 +175,8 @@
useGuillemots.setSelected(getBoolean(
Notation.KEY_USE_GUILLEMOTS));
notationLanguage.setSelectedItem(Notation.getConfiguredNotation());
+ showAssociationNames.setSelected(Configuration.getBoolean(
+ Notation.KEY_SHOW_ASSOCIATION_NAMES, true));
showVisibility.setSelected(getBoolean(
Notation.KEY_SHOW_VISIBILITY));
showInitialValue.setSelected(getBoolean(
@@ -189,8 +195,8 @@
Notation.KEY_SHOW_STEREOTYPES));
/*
* The next one defaults to TRUE, despite that this is
- * NOT compatible with older ArgoUML versions
- * (before 0.24) that did
+ * NOT compatible with older ArgoUML versions
+ * (before 0.24) that did
* not have this setting - see issue 1395 for the rationale:
*/
showSingularMultiplicities.setSelected(Configuration.getBoolean(
@@ -206,6 +212,7 @@
ps.getNotationLanguage()));
showBoldNames.setSelected(ps.getShowBoldNamesValue());
useGuillemots.setSelected(ps.getUseGuillemotsValue());
+ showAssociationNames.setSelected(ps.getShowAssociationNamesValue());
showVisibility.setSelected(ps.getShowVisibilityValue());
showMultiplicity.setSelected(ps.getShowMultiplicityValue());
showInitialValue.setSelected(ps.getShowInitialValueValue());
@@ -240,6 +247,8 @@
showBoldNames.isSelected());
Configuration.setBoolean(Notation.KEY_USE_GUILLEMOTS,
useGuillemots.isSelected());
+ Configuration.setBoolean(Notation.KEY_SHOW_ASSOCIATION_NAMES,
+ showAssociationNames.isSelected());
Configuration.setBoolean(Notation.KEY_SHOW_VISIBILITY,
showVisibility.isSelected());
Configuration.setBoolean(Notation.KEY_SHOW_MULTIPLICITY,
@@ -264,6 +273,7 @@
if (nn != null) ps.setNotationLanguage(nn.getConfigurationValue());
ps.setShowBoldNames(showBoldNames.isSelected());
ps.setUseGuillemots(useGuillemots.isSelected());
+ ps.setShowAssociationNames(showAssociationNames.isSelected());
ps.setShowVisibility(showVisibility.isSelected());
ps.setShowMultiplicity(showMultiplicity.isSelected());
ps.setShowInitialValue(showInitialValue.isSelected());
@@ -293,6 +303,8 @@
Notation.KEY_SHOW_BOLD_NAMES));
useGuillemots.setSelected(getBoolean(
Notation.KEY_USE_GUILLEMOTS));
+ showAssociationNames.setSelected(Configuration.getBoolean(
+ Notation.KEY_SHOW_ASSOCIATION_NAMES, true));
showVisibility.setSelected(getBoolean(
Notation.KEY_SHOW_VISIBILITY));
showMultiplicity.setSelected(getBoolean(
Modified: trunk/src_new/org/argouml/persistence/ArgoParser.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/persistence/ArgoParser.java?view=diff&rev=14076&p1=trunk/src_new/org/argouml/persistence/ArgoParser.java&p2=trunk/src_new/org/argouml/persistence/ArgoParser.java&r1=14075&r2=14076
==============================================================================
--- trunk/src_new/org/argouml/persistence/ArgoParser.java (original)
+++ trunk/src_new/org/argouml/persistence/ArgoParser.java 2008-02-03 13:39:51-0800
@@ -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,7 +46,7 @@
private static final Logger LOG = Logger.getLogger(ArgoParser.class);
private Project project;
-
+
private ProjectSettings ps;
private ArgoTokenTable tokens = new ArgoTokenTable();
@@ -75,7 +75,7 @@
}
preRead(theProject);
-
+
try {
parse(source);
} catch (SAXException e) {
@@ -83,7 +83,7 @@
throw e;
}
}
-
+
/**
* @param theProject the project to populate
* @param reader the reader
@@ -98,7 +98,7 @@
}
preRead(theProject);
-
+
try {
parse(reader);
} catch (SAXException e) {
@@ -122,7 +122,7 @@
LOG.error(projectName);
PersistenceManager.getInstance().setLastLoadMessage(e.toString());
}
-
+
/**
* Get the project to which the URI is to be parsed.
* @return the project
@@ -235,6 +235,9 @@
case ArgoTokenTable.TOKEN_GENERATION_OUTPUT_DIR:
handleGenerationOutputDir(e);
break;
+ case ArgoTokenTable.TOKEN_SHOWASSOCIATIONNAMES:
+ handleShowAssociationNames(e);
+ break;
default:
if (DBG) {
LOG.warn("WARNING: unknown end tag:" + e.getName());
@@ -340,17 +343,17 @@
String historyfile = e.getAttribute("name").trim();
project.setHistoryFile(historyfile);
}
-
+
/**
* @param e the element
*/
protected void handleNotationLanguage(XMLElement e) {
String language = e.getText().trim();
boolean success = ps.setNotationLanguage(language);
- /* TODO: Here we should e.g. show the user a message that
- * the loaded project was using a Notation that is not
- * currently available and a fall back on the default Notation
- * was done. Maybe this can be implemented in the
+ /* TODO: Here we should e.g. show the user a message that
+ * the loaded project was using a Notation that is not
+ * currently available and a fall back on the default Notation
+ * was done. Maybe this can be implemented in the
* PersistenceManager? */
}
@@ -455,6 +458,14 @@
}
/**
+ * @param e the element
+ */
+ protected void handleShowAssociationNames(XMLElement e) {
+ String showAssociationNames = e.getText().trim();
+ ps.setShowAssociationNames(showAssociationNames);
+ }
+
+ /**
* Get the number of diagram members read.
* @return the number of diagram members read.
*/
Modified: trunk/src_new/org/argouml/persistence/ArgoTokenTable.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/persistence/ArgoTokenTable.java?view=diff&rev=14076&p1=trunk/src_new/org/argouml/persistence/ArgoTokenTable.java&p2=trunk/src_new/org/argouml/persistence/ArgoTokenTable.java&r1=14075&r2=14076
==============================================================================
--- trunk/src_new/org/argouml/persistence/ArgoTokenTable.java (original)
+++ trunk/src_new/org/argouml/persistence/ArgoTokenTable.java 2008-02-03 13:39:51-0800
@@ -1,5 +1,5 @@
// $Id$
-// Copyright (c) 1996-2006 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
@@ -25,9 +25,9 @@
package org.argouml.persistence;
-/**
+/**
* These strings are saved in the final output in a zargo.
- *
+ *
* @author Jim Holt
*/
@@ -56,17 +56,19 @@
private static final String STRING_NOTATIONLANGUAGE = "notationlanguage";
private static final String STRING_SHOWBOLDNAMES = "showboldnames";
private static final String STRING_USEGUILLEMOTS = "useguillemots";
+ private static final String STRING_SHOWASSOCIATIONNAMES
+ = "showassociationnames";
private static final String STRING_SHOWVISIBILITY = "showvisibility";
private static final String STRING_SHOWMULTIPLICITY = "showmultiplicity";
private static final String STRING_SHOWINITIALVALUE = "showinitialvalue";
private static final String STRING_SHOWPROPERTIES = "showproperties";
private static final String STRING_SHOWTYPES = "showtypes";
private static final String STRING_SHOWSTEREOTYPES = "showstereotypes";
- private static final String STRING_DEFAULTSHADOWWIDTH
+ private static final String STRING_DEFAULTSHADOWWIDTH
= "defaultshadowwidth";
private static final String STRING_FONTNAME = "fontname";
private static final String STRING_FONTSIZE = "fontsize";
- private static final String STRING_GENERATION_OUTPUT_DIR
+ private static final String STRING_GENERATION_OUTPUT_DIR
= "generationoutputdir";
/** The token for argo. */
@@ -116,6 +118,8 @@
public static final int TOKEN_FONTSIZE = 22;
/** A token for Generation Settings. */
public static final int TOKEN_GENERATION_OUTPUT_DIR = 23;
+ /** A token for Generation Settings. */
+ public static final int TOKEN_SHOWASSOCIATIONNAMES = 24;
/** The token for undefined. */
public static final int TOKEN_UNDEFINED = 99;
@@ -146,12 +150,14 @@
addToken(STRING_SHOWPROPERTIES, Integer.valueOf(TOKEN_SHOWPROPERTIES));
addToken(STRING_SHOWTYPES, Integer.valueOf(TOKEN_SHOWTYPES));
addToken(STRING_SHOWSTEREOTYPES, Integer.valueOf(TOKEN_SHOWSTEREOTYPES));
- addToken(STRING_DEFAULTSHADOWWIDTH,
+ addToken(STRING_DEFAULTSHADOWWIDTH,
Integer.valueOf(TOKEN_DEFAULTSHADOWWIDTH));
addToken(STRING_FONTNAME, Integer.valueOf(TOKEN_FONTNAME));
addToken(STRING_FONTSIZE, Integer.valueOf(TOKEN_FONTSIZE));
- addToken(STRING_GENERATION_OUTPUT_DIR,
+ addToken(STRING_GENERATION_OUTPUT_DIR,
Integer.valueOf(TOKEN_GENERATION_OUTPUT_DIR));
+ addToken(STRING_SHOWASSOCIATIONNAMES,
+ Integer.valueOf(TOKEN_SHOWASSOCIATIONNAMES));
}
} /* end class ArgoTokenTable */
Modified: trunk/src_new/org/argouml/persistence/argo.tee
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/persistence/argo.tee?view=diff&rev=14076&p1=trunk/src_new/org/argouml/persistence/argo.tee&p2=trunk/src_new/org/argouml/persistence/argo.tee&r1=14075&r2=14076
==============================================================================
--- trunk/src_new/org/argouml/persistence/argo.tee (original)
+++ trunk/src_new/org/argouml/persistence/argo.tee 2008-02-03 13:39:51-0800
@@ -12,7 +12,30 @@
<!-- Original Author: [email protected] -->
<!-- $Id$ -->
-
+<!--
+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
+and this paragraph appear in all copies. This software program and
+documentation are copyrighted by The Regents of the University of
+California. The software program and documentation are supplied "AS
+IS", without any accompanying services from The Regents. The Regents
+does not warrant that the operation of the program will be
+uninterrupted or error-free. The end-user understands that the program
+was developed for research purposes and is advised not to rely
+exclusively on the program for any reason. IN NO EVENT SHALL THE
+UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+-->
<TemplateSet>
@@ -33,6 +56,7 @@
<notationlanguage><ocl>self.projectSettings.notationLanguage</ocl></notationlanguage>
<showboldnames><ocl>self.projectSettings.showBoldNames</ocl></showboldnames>
<useguillemots><ocl>self.projectSettings.useGuillemots</ocl></useguillemots>
+ <showassociationnames><ocl>self.projectSettings.showAssociationNames</ocl></showassociationnames>
<showvisibility><ocl>self.projectSettings.showVisibility</ocl></showvisibility>
<showmultiplicity><ocl>self.projectSettings.showMultiplicity</ocl></showmultiplicity>
<showinitialvalue><ocl>self.projectSettings.showInitialValue</ocl></showinitialvalue>
@@ -46,7 +70,7 @@
<defaultstereotypeview><ocl>self.projectSettings.defaultStereotypeView</ocl></defaultstereotypeview>
<generationoutputdir><ocl>self.projectSettings.generationOutputDir</ocl></generationoutputdir>
</settings>
-
+
<searchpath href="<ocl>self.searchPathList</ocl>" />
<ocl>self.members</ocl>
Modified: trunk/src_new/org/argouml/uml/diagram/ui/FigAssociation.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/diagram/ui/FigAssociation.java?view=diff&rev=14076&p1=trunk/src_new/org/argouml/uml/diagram/ui/FigAssociation.java&p2=trunk/src_new/org/argouml/uml/diagram/ui/FigAssociation.java&r1=14075&r2=14076
==============================================================================
--- trunk/src_new/org/argouml/uml/diagram/ui/FigAssociation.java (original)
+++ trunk/src_new/org/argouml/uml/diagram/ui/FigAssociation.java 2008-02-03 13:39:51-0800
@@ -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
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.