Author: mvw
Date: 2008-08-22 06:47:35-0700
New Revision: 15602
Modified:
trunk/src/argouml-app/src/org/argouml/application/events/ArgoEventPump.java
trunk/src/argouml-app/src/org/argouml/kernel/ProjectSettings.java
Log:
Improvement on the code committed for issue 5251: "Incorrect default for new settings when loading 0.24 project".
This speeds up loading a project considerably, and removes the flashing effect of association ends.
Modified: trunk/src/argouml-app/src/org/argouml/application/events/ArgoEventPump.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/application/events/ArgoEventPump.java?view=diff&rev=15602&p1=trunk/src/argouml-app/src/org/argouml/application/events/ArgoEventPump.java&p2=trunk/src/argouml-app/src/org/argouml/application/events/ArgoEventPump.java&r1=15601&r2=15602
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/application/events/ArgoEventPump.java (original)
+++ trunk/src/argouml-app/src/org/argouml/application/events/ArgoEventPump.java 2008-08-22 06:47:35-0700
@@ -154,6 +154,9 @@
switch (event.getEventType()) {
case ArgoEventTypes.NOTATION_CHANGED :
listener.notationChanged(event);
+ /* Remark: The code in
+ * ProjectSettings.init() currently presumes
+ * that nobody is using this event. */
break;
case ArgoEventTypes.NOTATION_ADDED :
Modified: trunk/src/argouml-app/src/org/argouml/kernel/ProjectSettings.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/kernel/ProjectSettings.java?view=diff&rev=15602&p1=trunk/src/argouml-app/src/org/argouml/kernel/ProjectSettings.java&p2=trunk/src/argouml-app/src/org/argouml/kernel/ProjectSettings.java&r1=15601&r2=15602
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/kernel/ProjectSettings.java (original)
+++ trunk/src/argouml-app/src/org/argouml/kernel/ProjectSettings.java 2008-08-22 06:47:35-0700
@@ -173,37 +173,66 @@
* first, and then corrected.
*/
public void init() {
- init(notationLanguage,
- Notation.KEY_DEFAULT_NOTATION);
- init(showBoldNames,
- Notation.KEY_SHOW_BOLD_NAMES);
- init(useGuillemots,
- Notation.KEY_USE_GUILLEMOTS);
- init(showAssociationNames,
- Notation.KEY_SHOW_ASSOCIATION_NAMES);
- init(showVisibility,
- Notation.KEY_SHOW_VISIBILITY);
- init(showMultiplicity,
- Notation.KEY_SHOW_MULTIPLICITY);
- init(showInitialValue,
- Notation.KEY_SHOW_INITIAL_VALUE);
- init(showProperties,
- Notation.KEY_SHOW_PROPERTIES);
- init(showTypes,
- Notation.KEY_SHOW_TYPES);
- init(showStereotypes,
- Notation.KEY_SHOW_STEREOTYPES);
- init(showSingularMultiplicities,
- Notation.KEY_SHOW_SINGULAR_MULTIPLICITIES);
- init(defaultShadowWidth,
- Notation.KEY_DEFAULT_SHADOW_WIDTH);
-
- fireDiagramAppearanceEvent(DiagramAppearance.KEY_FONT_NAME,
- fontName, fontName);
- fireDiagramAppearanceEvent(DiagramAppearance.KEY_FONT_SIZE,
- fontSize, fontSize);
+ /* Since this is (hopefully) a temporary solution,
+ * and nobody ever looks at the type of notation event,
+ * we can simplify from sending every existing event
+ * to one event only. But since there is no
+ * catch-all event defined, we just make one up.
+ * Rationale: reduce the number of total
+ * refreshes of the drawing. */
+ init(true, Configuration.makeKey("notation", "all"));
+
+ /* The above hence replaces the following statements.
+ * If ever someone needs to dissect notation events,
+ * we may need to add these again. */
+// init(notationLanguage,
+// Notation.KEY_DEFAULT_NOTATION);
+// init(showBoldNames,
+// Notation.KEY_SHOW_BOLD_NAMES);
+// init(useGuillemots,
+// Notation.KEY_USE_GUILLEMOTS);
+// init(showAssociationNames,
+// Notation.KEY_SHOW_ASSOCIATION_NAMES);
+// init(showVisibility,
+// Notation.KEY_SHOW_VISIBILITY);
+// init(showMultiplicity,
+// Notation.KEY_SHOW_MULTIPLICITY);
+// init(showInitialValue,
+// Notation.KEY_SHOW_INITIAL_VALUE);
+// init(showProperties,
+// Notation.KEY_SHOW_PROPERTIES);
+// init(showTypes,
+// Notation.KEY_SHOW_TYPES);
+// init(showStereotypes,
+// Notation.KEY_SHOW_STEREOTYPES);
+// init(showSingularMultiplicities,
+// Notation.KEY_SHOW_SINGULAR_MULTIPLICITIES);
+// init(defaultShadowWidth,
+// Notation.KEY_DEFAULT_SHADOW_WIDTH);
+
+ /* Since this is (hopefully) a temporary solution,
+ * and nobody ever looks at the type of the
+ * diagram appearance event,
+ * we can simplify from sending every existing event
+ * to one event only. But since there is no
+ * catch-all event defined, we just use one.
+ * Rationale: reduce the number of total
+ * refreshes of the drawing. */
+ fireDiagramAppearanceEvent(
+ Configuration.makeKey("diagramappearance", "all"),
+ 0, 0);
+
+ /* The above hence replaces the following statements.
+ * If ever someone needs to dissect
+ * diagram-appearance events,
+ * we may need to add these again. */
+// fireDiagramAppearanceEvent(DiagramAppearance.KEY_FONT_NAME,
+// fontName, fontName);
+// fireDiagramAppearanceEvent(DiagramAppearance.KEY_FONT_SIZE,
+// fontSize, fontSize);
}
+ @SuppressWarnings("unused")
private void init(String value, ConfigurationKey key) {
fireNotationEvent(key, value, value);
}
@@ -212,6 +241,7 @@
fireNotationEvent(key, value, value);
}
+ @SuppressWarnings("unused")
private void init(int value, ConfigurationKey key) {
fireNotationEvent(key, value, value);
}
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.