Author: mvw
Date: 2007-05-28 14:22:48-0700
New Revision: 12707
Modified:
trunk/documentation/cookbook/cookbook.xml
trunk/documentation/cookbook/inside_subsystems.xml
trunk/documentation/cookbook/subsystems.xml
Log:
Updates for the cookbook. Description for TargetManager.
Modified: trunk/documentation/cookbook/cookbook.xml
Url: http://argouml.tigris.org/source/browse/argouml/trunk/documentation/cookbook/cookbook.xml?view=diff&rev=12707&p1=trunk/documentation/cookbook/cookbook.xml&p2=trunk/documentation/cookbook/cookbook.xml&r1=12706&r2=12707
==============================================================================
--- trunk/documentation/cookbook/cookbook.xml (original)
+++ trunk/documentation/cookbook/cookbook.xml 2007-05-28 14:22:48-0700
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- $Id$ -->
<!--
-// Copyright (c) 1996-2006 The Regents of the University of California. All
+// Copyright (c) 1996-2007 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
@@ -93,10 +93,14 @@
<firstname>Markus</firstname>
<surname>Klink</surname>
</author>
+ <author>
+ <firstname>Michiel</firstname>
+ <surname>van der Wulp</surname>
+ </author>
</authorgroup>
<legalnotice>
<para>
-Copyright (c) 1996-2006 The Regents of the University of
+Copyright (c) 1996-2007 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
Modified: trunk/documentation/cookbook/inside_subsystems.xml
Url: http://argouml.tigris.org/source/browse/argouml/trunk/documentation/cookbook/inside_subsystems.xml?view=diff&rev=12707&p1=trunk/documentation/cookbook/inside_subsystems.xml&p2=trunk/documentation/cookbook/inside_subsystems.xml&r1=12706&r2=12707
==============================================================================
--- trunk/documentation/cookbook/inside_subsystems.xml (original)
+++ trunk/documentation/cookbook/inside_subsystems.xml 2007-05-28 14:22:48-0700
@@ -347,13 +347,7 @@
</listitem>
<listitem>
<para>The TargetManager</para>
- <para> Located in
- <classname>org.argouml.ui.targetmanager</classname>.
- </para>
- <para> Thanks to the architecture of ArgoUML of Modelelements and
- Figs, one rule has been decided upon (by [email protected]):
- <emphasis>The list of targets shall not contain any Fig that has an
- owner</emphasis>. Instead, the owner is enlisted. </para>
+ <para>See <xref linkend="targetmanager"></xref>.</para>
</listitem>
<listitem>
<para>The Settings Tab</para>
@@ -390,6 +384,70 @@
</imageobject>
</mediaobject>
</para>
+
+ <sect2 id="targetmanager">
+ <title>The TargetManager</title>
+ <para> Located in
+ <classname>org.argouml.ui.targetmanager</classname>.
+ </para>
+ <para>The purpose of the targetmanager is
+ to have a central spot to manage
+ the list of current targets.
+ </para>
+ <para>The target of ArgoUML is
+ the element currently selected by the user.
+ This can either be a UML element
+ (an Interface or a Class for example)
+ but it can also be a diagram
+ or anything that is shown on a diagram.</para>
+ <para>There can be multiple targets in case
+ someone selected multiple items in the explorer or on the diagram.
+ This can be done by shift-clicking or Ctrl-clicking items,
+ or by drawing a box on the diagram around the items to select.
+ </para>
+ <para>In case multiple targets are selected,
+ the target manager will add each
+ target to the beginning of the list of targets.
+ This way, the first item of the list is the last selected item.
+ Most functions in ArgoUML work on all selected items.
+ However, a few (intentionally) only work on one target,
+ such as the properties panels.
+ </para>
+ <para> Thanks to the architecture of ArgoUML of Modelelements and
+ Figs, one rule has been decided upon<!-- (by [email protected]) -->:
+ <emphasis>The list of targets shall not contain any Fig that has an
+ owner</emphasis>. Instead, the owner is enlisted.
+ </para>
+ <para>The TargetManager is also
+ the manager of the history of targets.
+ Every time the user (or the program) selects a new target,
+ this is recorded in the history.
+ Via navigateBack and navigateForward,
+ the user can browse through the history
+ just like in an ordinary internet browser.
+ </para>
+ <para>Via an event mechanism this manager makes sure
+ that all objects interested
+ in knowing wether the selection changed are acknowledged.
+ </para>
+ <para>The TargetManager does not depend on the
+ <classname>org.argouml.ui</classname> package,
+ nor any of its sub-packages.
+ Hence, it can be used by all of these
+ to modify the target,
+ or get it.
+ </para>
+ <para>In a discussion on the dev list,
+ it has been decided that
+ the TargetManager is GUI state,
+ and hence shall be a part of the GUI subsystem,
+ and should not be used anywhere outside the GUI subsystem.
+ However, currently the TargetManager is used in other subsystems,
+ e.g. the Project.
+ Hence, this needs refactoring.
+ </para>
+
+ </sect2>
</sect1>
Modified: trunk/documentation/cookbook/subsystems.xml
Url: http://argouml.tigris.org/source/browse/argouml/trunk/documentation/cookbook/subsystems.xml?view=diff&rev=12707&p1=trunk/documentation/cookbook/subsystems.xml&p2=trunk/documentation/cookbook/subsystems.xml&r1=12706&r2=12707
==============================================================================
--- trunk/documentation/cookbook/subsystems.xml (original)
+++ trunk/documentation/cookbook/subsystems.xml 2007-05-28 14:22:48-0700
@@ -50,7 +50,7 @@
dependencies. This will also allow us to know which other subsystems that are
involved when testing a subsystem. </para>
- <sect1>
+ <sect1 id="subsystems_definition">
<title>Definition of subsystem</title>
<para> All ArgoUML code is organized in subsystems. </para>
<para> Each subsystem has:
@@ -212,7 +212,8 @@
</para>
<para>
All these subsystems are started and initiated (if needed)
- from the Application subsystem.
+ from the Application subsystem,
+ see <xref linkend="application"></xref>.
</para>
<itemizedlist>
@@ -255,6 +256,9 @@
<para>gef.
Location: <classname>org.tigris.gef</classname>
</para>
+ <para>GEF stands for <emphasis>Graph Editing Framework</emphasis>.
+ It is the package which controls
+ most of the graphical aspects of ArgoUML.</para>
</listitem>
<listitem>
@@ -276,7 +280,8 @@
<sect1 id="infrastructure_subsystems">
<title>Low-level subsystems</title>
- <para> These subsystems are infrastructure subsystems that just are there
+ <para> These subsystems of ArgoUML
+ are infrastructure subsystems that just are there
for every other subsystem to use
- but they are not using any other part of ArgoUML.
</para>
@@ -285,9 +290,14 @@
but there are no dependencies "upwards",
nor between them.
</para>
+ <para>This latter statement is the way to recognize
+ a low level subsystem:
+ it does not depend on any other argouml package.
+ </para>
<para>
All these subsystems are started and initiated (if needed) from the
- Application subsystem.
+ Application subsystem,
+ see <xref linkend="application"></xref>.
</para>
<itemizedlist>
@@ -339,9 +349,10 @@
</para>
<para>
-All these subsystems are all started and initiated from the Application
-subsystem.
-</para>
+ All these subsystems are all started and initiated
+ from the Application subsystem,
+ see <xref linkend="application"></xref>.
+ </para>
<para>
<itemizedlist>
@@ -440,8 +451,6 @@
provided by other subsystems.
This means that they can be individually enabled and disabled using
the module loader.
-Note: The old module loader does not have the possibility to disable modules.
-The new one has but is not widely used. (July 2005).
</para>
<para>
@@ -480,109 +489,8 @@
</imageobject>
</mediaobject> </para>
</sect1>
-
- <!-- Has to be rewritten to fit the new concepts.
- (If it at all will fit, I am not sure. Linus December 2002.)
- <sect1>
- <title>ArgoUML Initialization</title>
- <sect2>
- <title>Which sources are involved?</title>
- <para>
-Relative to the directory org/argouml, they are mainly:
-</para>
- <itemizedlist>
- <listitem>
- <para>
-application/Main.java,
-</para>
- </listitem>
- <listitem>
- <para>
-kernel/Project.java + xml/argo/ArgoParser.java,
-</para>
- </listitem>
- <listitem>
- <para>
-ui/{ProjectBrowser.java,*Pane.java},
-</para>
- </listitem>
- <listitem>
- <para>
-cognitive/{Designer.java,ui/ToDoPane.java}.
-</para>
- </listitem>
- </itemizedlist>
- </sect2>
- </sect1>
- -->
- <!--
- Has to be rewritten.
- <sect1>
- <title>Which Objects live during a typical session?</title>
- <para>
- (Project, Designer, Globals, NavPane, ToDoPane, ...)
-</para>
- </sect1>
- <sect1>
- <title>What is their task?</title>
- <para>
- (visual subsystem, model, controller, ...)
-</para>
- </sect1>
- -->
-
- <!--
- <sect1 id="bigger_components">
- <title>The bigger picture, ArgoUML and supporting libraries</title>
- <indexterm><primary>Libraries</primary></indexterm>
- <indexterm><primary>Components</primary></indexterm>
- <para>
- <mediaobject>
- <imageobject>
- <imagedata format="GIF" fileref="images/cookbook/big.gif"/>
- </imageobject>
- </mediaobject>
- <itemizedlist>
- <listitem><para>Well, ArgoUML is obviously the main thing.</para></listitem>
- <listitem><para>GEF stands for <emphasis>Graph Editing Framework</emphasis>. It is the package which controls most of the graphical aspects of ArgoUML.</para></listitem>
- <listitem><para>MDR stands for ...</para>
- </listitem>
- </itemizedlist>
-</para>
- </sect1>
- -->
-
-
- <!-- This is taken care of.
- <sect1 id="small">
- <title>The smaller components, inside ArgoUML</title>
- <para>
- ArgoUML itself breaks down into several components. The graphic does not reflect the true package names, neither the true dependencies of the packages.
- <mediaobject>
- <imageobject>
- <imagedata format="GIF" fileref="images/cookbook/small.gif"/>
- </imageobject>
- </mediaobject>
- <itemizedlist>
- <listitem><para>User Interface</para></listitem>
- <listitem><para>Diagrams (see <xref linkend="diagrams"/>)</para></listitem>
- <listitem><para>GEF</para></listitem>
- <listitem><para>Model</para></listitem>
- <listitem><para>Saving/Loading</para></listitem>
- <listitem><para>Notation (see <xref linkend="notation"/>)</para></listitem>
- <listitem><para>Code Generation</para></listitem>
- <listitem><para>Reverse Engineering (see <xref linkend="java"/>)</para></listitem>
- <listitem><para>OCL</para></listitem>
- <listitem><para>Help System (see <xref linkend="help"/>)</para></listitem>
- <listitem><para>Internationalization (see <xref linkend="internationalization"/>)</para></listitem>
- <listitem><para>Critics and other cognitive tools (see <xref linkend="critics"/>)</para></listitem>
- <listitem><para>Plugin-Module API (see <xref linkend="plugins"/>)</para></listitem>
- <listitem><para>Logging (see <xref linkend="logging"/>)</para></listitem>
- </itemizedlist>
-</para>
- </sect1>
- -->
-
+
+
</chapter>
<!-- Local stuff for Emacs - please do not delete
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.