Author: tfmorris
Date: 2007-06-19 13:15:05-0700
New Revision: 12880
Removed:
trunk/src_new/org/argouml/uml/ui/UMLSingleRowLinkedList.java
Modified:
trunk/src_new/org/argouml/uml/diagram/ui/PropPanelDiagram.java
trunk/src_new/org/argouml/uml/ui/PropPanel.java
trunk/src_new/org/argouml/uml/ui/UMLMutableLinkedList.java
trunk/src_new/org/argouml/uml/ui/behavior/activity_graphs/PropPanelPartition.java
trunk/src_new/org/argouml/uml/ui/behavior/collaborations/PropPanelAssociationEndRole.java
trunk/src_new/org/argouml/uml/ui/behavior/collaborations/PropPanelCollaboration.java
trunk/src_new/org/argouml/uml/ui/behavior/collaborations/PropPanelInteraction.java
trunk/src_new/org/argouml/uml/ui/behavior/common_behavior/PropPanelInstance.java
trunk/src_new/org/argouml/uml/ui/behavior/common_behavior/PropPanelStimulus.java
trunk/src_new/org/argouml/uml/ui/behavior/state_machines/AbstractPropPanelState.java
trunk/src_new/org/argouml/uml/ui/behavior/state_machines/PropPanelGuard.java
trunk/src_new/org/argouml/uml/ui/behavior/state_machines/PropPanelStateVertex.java
trunk/src_new/org/argouml/uml/ui/behavior/state_machines/PropPanelTransition.java
trunk/src_new/org/argouml/uml/ui/behavior/use_cases/PropPanelExtend.java
trunk/src_new/org/argouml/uml/ui/behavior/use_cases/PropPanelExtensionPoint.java
trunk/src_new/org/argouml/uml/ui/behavior/use_cases/PropPanelInclude.java
trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelElementResidence.java
trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelEnumerationLiteral.java
trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelFeature.java
trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelGeneralization.java
trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelParameter.java
trunk/src_new/org/argouml/uml/ui/model_management/PropPanelElementImport.java
Log:
Issue 4735 - Centralize handling of single row scroll panes so that we can fix it in one place
Modified: trunk/src_new/org/argouml/uml/diagram/ui/PropPanelDiagram.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/diagram/ui/PropPanelDiagram.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/diagram/ui/PropPanelDiagram.java&p2=trunk/src_new/org/argouml/uml/diagram/ui/PropPanelDiagram.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/diagram/ui/PropPanelDiagram.java (original)
+++ trunk/src_new/org/argouml/uml/diagram/ui/PropPanelDiagram.java 2007-06-19 13:15:05-0700
@@ -30,8 +30,6 @@
import javax.swing.DefaultListModel;
import javax.swing.ImageIcon;
-import javax.swing.JList;
-import javax.swing.JScrollPane;
import javax.swing.JTextField;
import org.argouml.i18n.Translator;
@@ -40,7 +38,6 @@
import org.argouml.ui.targetmanager.TargetManager;
import org.argouml.uml.ui.AbstractActionNavigate;
import org.argouml.uml.ui.ActionDeleteModelElements;
-import org.argouml.uml.ui.UMLSingleRowLinkedList;
import org.argouml.uml.ui.PropPanel;
import org.argouml.util.ConfigLoader;
@@ -63,8 +60,8 @@
field.getDocument().addDocumentListener(new DiagramNameDocument(field));
addField(Translator.localize("label.name"), field);
- JList lst = new UMLSingleRowLinkedList(new UMLDiagramHomeModelListModel());
- addField(Translator.localize("label.home-model"), new JScrollPane(lst));
+ addField(Translator.localize("label.home-model"),
+ getSingleRowScroll(new UMLDiagramHomeModelListModel()));
addAction(new ActionNavigateUpFromDiagram());
addAction(ActionDeleteModelElements.getTargetFollower());
Modified: trunk/src_new/org/argouml/uml/ui/PropPanel.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/PropPanel.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/ui/PropPanel.java&p2=trunk/src_new/org/argouml/uml/ui/PropPanel.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/PropPanel.java (original)
+++ trunk/src_new/org/argouml/uml/ui/PropPanel.java 2007-06-19 13:15:05-0700
@@ -41,8 +41,11 @@
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
+import javax.swing.JList;
import javax.swing.JPanel;
+import javax.swing.JScrollPane;
import javax.swing.JToolBar;
+import javax.swing.ListModel;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.border.TitledBorder;
@@ -654,5 +657,26 @@
}
+ /**
+ * Create a single row scroll pane backed by a JList.
+ *
+ * @param list the list to be used to back the scroll pane
+ * @return a scrollpane with a single row
+ */
+ protected JScrollPane getSingleRowScroll(JList list) {
+ list.setVisibleRowCount(2);
+ return new JScrollPane(list);
+ }
+
+ /**
+ * Create a single row scroll pane backed by a UMLLinkedList which uses
+ * the given list model.
+ *
+ * @param model the list to be used to back the scroll pane
+ * @return a scrollpane with a single row
+ */
+ protected JScrollPane getSingleRowScroll(ListModel model) {
+ return getSingleRowScroll(new UMLLinkedList(model));
+ }
-} /* end class PropPanel */
+}
Modified: trunk/src_new/org/argouml/uml/ui/UMLMutableLinkedList.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/UMLMutableLinkedList.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/ui/UMLMutableLinkedList.java&p2=trunk/src_new/org/argouml/uml/ui/UMLMutableLinkedList.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/UMLMutableLinkedList.java (original)
+++ trunk/src_new/org/argouml/uml/ui/UMLMutableLinkedList.java 2007-06-19 13:15:05-0700
@@ -1,5 +1,5 @@
// $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
@@ -274,6 +274,7 @@
* @see java.awt.event.MouseListener#mouseReleased(
* java.awt.event.MouseEvent)
*/
+ @Override
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger()) {
Point point = e.getPoint();
@@ -293,6 +294,7 @@
/*
* @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
*/
+ @Override
public void mousePressed(MouseEvent e) {
if (e.isPopupTrigger()) {
JPopupMenu popup = getPopupMenu();
@@ -309,7 +311,10 @@
* @return JPopupMenu
*/
public JPopupMenu getPopupMenu() {
- return new PopupMenu();
+ if (popupMenu == null) {
+ popupMenu = new PopupMenu();
+ }
+ return popupMenu;
}
/**
@@ -344,6 +349,7 @@
/*
* @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
*/
+ @Override
public void mouseClicked(MouseEvent e) {
if (e.isPopupTrigger()) {
JPopupMenu popup = getPopupMenu();
@@ -357,6 +363,7 @@
/*
* @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent)
*/
+ @Override
public void mouseEntered(MouseEvent e) {
setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
}
Removed: trunk/src_new/org/argouml/uml/ui/UMLSingleRowLinkedList.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/UMLSingleRowLinkedList.java?view=auto&rev=12879
Modified: trunk/src_new/org/argouml/uml/ui/behavior/activity_graphs/PropPanelPartition.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/behavior/activity_graphs/PropPanelPartition.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/ui/behavior/activity_graphs/PropPanelPartition.java&p2=trunk/src_new/org/argouml/uml/ui/behavior/activity_graphs/PropPanelPartition.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/behavior/activity_graphs/PropPanelPartition.java (original)
+++ trunk/src_new/org/argouml/uml/ui/behavior/activity_graphs/PropPanelPartition.java 2007-06-19 13:15:05-0700
@@ -35,10 +35,8 @@
import org.argouml.model.Model;
import org.argouml.uml.ui.AbstractActionAddModelElement;
import org.argouml.uml.ui.ActionNavigateContainerElement;
-import org.argouml.uml.ui.UMLLinkedList;
import org.argouml.uml.ui.UMLModelElementListModel2;
import org.argouml.uml.ui.UMLMutableLinkedList;
-import org.argouml.uml.ui.UMLSingleRowLinkedList;
import org.argouml.uml.ui.foundation.core.PropPanelModelElement;
import org.argouml.uml.ui.foundation.extension_mechanisms.ActionNewStereotype;
import org.argouml.util.ConfigLoader;
@@ -66,9 +64,8 @@
addField(Translator.localize("label.name"), getNameTextField());
- JList activityGraphList = new UMLSingleRowLinkedList(
- new UMLPartitionActivityGraphListModel());
- activityGraphScroll = new JScrollPane(activityGraphList);
+ activityGraphScroll =
+ getSingleRowScroll(new UMLPartitionActivityGraphListModel());
addField(Translator.localize("label.activity-graph"),
getActivityGraphField());
Modified: trunk/src_new/org/argouml/uml/ui/behavior/collaborations/PropPanelAssociationEndRole.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/behavior/collaborations/PropPanelAssociationEndRole.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/ui/behavior/collaborations/PropPanelAssociationEndRole.java&p2=trunk/src_new/org/argouml/uml/ui/behavior/collaborations/PropPanelAssociationEndRole.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/behavior/collaborations/PropPanelAssociationEndRole.java (original)
+++ trunk/src_new/org/argouml/uml/ui/behavior/collaborations/PropPanelAssociationEndRole.java 2007-06-19 13:15:05-0700
@@ -24,11 +24,7 @@
package org.argouml.uml.ui.behavior.collaborations;
-import javax.swing.JList;
-import javax.swing.JScrollPane;
-
import org.argouml.i18n.Translator;
-import org.argouml.uml.ui.UMLSingleRowLinkedList;
import org.argouml.uml.ui.foundation.core.PropPanelAssociationEnd;
import org.argouml.util.ConfigLoader;
@@ -54,11 +50,8 @@
@Override
protected void positionControls() {
- JList baseList =
- new UMLSingleRowLinkedList(
- new UMLAssociationEndRoleBaseListModel());
addField(Translator.localize("label.base"),
- new JScrollPane(baseList));
+ getSingleRowScroll(new UMLAssociationEndRoleBaseListModel()));
super.positionControls();
}
Modified: trunk/src_new/org/argouml/uml/ui/behavior/collaborations/PropPanelCollaboration.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/behavior/collaborations/PropPanelCollaboration.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/ui/behavior/collaborations/PropPanelCollaboration.java&p2=trunk/src_new/org/argouml/uml/ui/behavior/collaborations/PropPanelCollaboration.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/behavior/collaborations/PropPanelCollaboration.java (original)
+++ trunk/src_new/org/argouml/uml/ui/behavior/collaborations/PropPanelCollaboration.java 2007-06-19 13:15:05-0700
@@ -31,7 +31,6 @@
import org.argouml.uml.ui.UMLComboBox2;
import org.argouml.uml.ui.UMLComboBoxNavigator;
import org.argouml.uml.ui.UMLLinkedList;
-import org.argouml.uml.ui.UMLSingleRowLinkedList;
import org.argouml.uml.ui.foundation.core.PropPanelNamespace;
import org.argouml.uml.ui.foundation.extension_mechanisms.ActionNewStereotype;
import org.argouml.util.ConfigLoader;
@@ -87,11 +86,8 @@
addSeparator();
- UMLLinkedList interactionList =
- new UMLSingleRowLinkedList(
- new UMLCollaborationInteractionListModel());
addField(Translator.localize("label.interaction"),
- new JScrollPane(interactionList));
+ getSingleRowScroll(new UMLCollaborationInteractionListModel()));
UMLLinkedList constrainingList =
new UMLLinkedList(
Modified: trunk/src_new/org/argouml/uml/ui/behavior/collaborations/PropPanelInteraction.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/behavior/collaborations/PropPanelInteraction.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/ui/behavior/collaborations/PropPanelInteraction.java&p2=trunk/src_new/org/argouml/uml/ui/behavior/collaborations/PropPanelInteraction.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/behavior/collaborations/PropPanelInteraction.java (original)
+++ trunk/src_new/org/argouml/uml/ui/behavior/collaborations/PropPanelInteraction.java 2007-06-19 13:15:05-0700
@@ -30,7 +30,6 @@
import org.argouml.i18n.Translator;
import org.argouml.uml.ui.ActionNavigateContext;
import org.argouml.uml.ui.UMLLinkedList;
-import org.argouml.uml.ui.UMLSingleRowLinkedList;
import org.argouml.uml.ui.foundation.core.PropPanelModelElement;
import org.argouml.uml.ui.foundation.extension_mechanisms.ActionNewStereotype;
import org.argouml.util.ConfigLoader;
@@ -58,11 +57,8 @@
addField(Translator.localize("label.namespace"),
getNamespaceSelector());
- JList contextList =
- new UMLSingleRowLinkedList(new UMLInteractionContextListModel());
- JScrollPane contextScroll = new JScrollPane(contextList);
addField(Translator.localize("label.context"),
- contextScroll);
+ getSingleRowScroll(new UMLInteractionContextListModel()));
addSeparator();
Modified: trunk/src_new/org/argouml/uml/ui/behavior/common_behavior/PropPanelInstance.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/behavior/common_behavior/PropPanelInstance.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/ui/behavior/common_behavior/PropPanelInstance.java&p2=trunk/src_new/org/argouml/uml/ui/behavior/common_behavior/PropPanelInstance.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/behavior/common_behavior/PropPanelInstance.java (original)
+++ trunk/src_new/org/argouml/uml/ui/behavior/common_behavior/PropPanelInstance.java 2007-06-19 13:15:05-0700
@@ -25,10 +25,8 @@
package org.argouml.uml.ui.behavior.common_behavior;
import javax.swing.ImageIcon;
-import javax.swing.JList;
import javax.swing.JScrollPane;
-import org.argouml.uml.ui.UMLSingleRowLinkedList;
import org.argouml.uml.ui.foundation.core.PropPanelModelElement;
import org.tigris.swidgets.Orientation;
@@ -66,9 +64,7 @@
*/
protected JScrollPane getStimuliSenderScroll() {
if (stimuliSenderScroll == null) {
- JList stimuliSenderList = new UMLSingleRowLinkedList(
- stimuliSenderListModel);
- stimuliSenderScroll = new JScrollPane(stimuliSenderList);
+ stimuliSenderScroll = getSingleRowScroll(stimuliSenderListModel);
}
return stimuliSenderScroll;
}
@@ -78,9 +74,8 @@
*/
protected JScrollPane getStimuliReceiverScroll() {
if (stimuliReceiverScroll == null) {
- JList stimuliReceiverList = new UMLSingleRowLinkedList(
- stimuliReceiverListModel);
- stimuliReceiverScroll = new JScrollPane(stimuliReceiverList);
+ stimuliReceiverScroll =
+ getSingleRowScroll(stimuliReceiverListModel);
}
return stimuliReceiverScroll;
}
Modified: trunk/src_new/org/argouml/uml/ui/behavior/common_behavior/PropPanelStimulus.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/behavior/common_behavior/PropPanelStimulus.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/ui/behavior/common_behavior/PropPanelStimulus.java&p2=trunk/src_new/org/argouml/uml/ui/behavior/common_behavior/PropPanelStimulus.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/behavior/common_behavior/PropPanelStimulus.java (original)
+++ trunk/src_new/org/argouml/uml/ui/behavior/common_behavior/PropPanelStimulus.java 2007-06-19 13:15:05-0700
@@ -24,13 +24,9 @@
package org.argouml.uml.ui.behavior.common_behavior;
-import javax.swing.JList;
-import javax.swing.JScrollPane;
-
import org.argouml.i18n.Translator;
import org.argouml.model.Model;
import org.argouml.uml.ui.ActionNavigateNamespace;
-import org.argouml.uml.ui.UMLSingleRowLinkedList;
import org.argouml.uml.ui.UMLStimulusActionTextField;
import org.argouml.uml.ui.UMLStimulusActionTextProperty;
import org.argouml.uml.ui.foundation.core.PropPanelModelElement;
@@ -62,16 +58,11 @@
new UMLStimulusActionTextField(this,
new UMLStimulusActionTextProperty("name")));
- JList senderList =
- new UMLSingleRowLinkedList(new UMLStimulusSenderListModel());
- JScrollPane senderScroll = new JScrollPane(senderList);
- addField(Translator.localize("label.sender"), senderScroll);
-
- JList receiverList =
- new UMLSingleRowLinkedList(new UMLStimulusReceiverListModel());
- JScrollPane receiverScroll = new JScrollPane(receiverList);
+ addField(Translator.localize("label.sender"),
+ getSingleRowScroll(new UMLStimulusSenderListModel()));
+
addField(Translator.localize("label.receiver"),
- receiverScroll);
+ getSingleRowScroll(new UMLStimulusReceiverListModel()));
addField(Translator.localize("label.namespace"),
getNamespaceSelector());
@@ -96,7 +87,7 @@
/**
* @param element the sender of this stimulus
*/
- public void setSender(Object/*MInstance*/ element) {
+ public void setSender(Object element) {
Object target = getTarget();
if (Model.getFacade().isAStimulus(target)) {
Model.getCollaborationsHelper().setSender(target, element);
@@ -119,7 +110,7 @@
/**
* @param element the receiver of this stimulus
*/
- public void setReceiver(Object/*MInstance*/ element) {
+ public void setReceiver(Object element) {
Object target = getTarget();
if (Model.getFacade().isAStimulus(target)) {
Model.getCommonBehaviorHelper().setReceiver(target, element);
@@ -152,14 +143,13 @@
/**
* @param element the association of the link of the stimulus
*/
- public void setAssociation(Object/*MAssociation*/ element) {
+ public void setAssociation(Object element) {
Object target = getTarget();
if (Model.getFacade().isAStimulus(target)) {
- Object stimulus = /*(MStimulus)*/ target;
+ Object stimulus = target;
Object link = Model.getFacade().getCommunicationLink(stimulus);
if (link == null) {
link = Model.getCommonBehaviorFactory().createLink();
- //((MStimulus)stimulus).getFactory().createLink();
if (link != null) {
Model.getCommonBehaviorHelper().addStimulus(link, stimulus);
Model.getCommonBehaviorHelper().setCommunicationLink(
Modified: trunk/src_new/org/argouml/uml/ui/behavior/state_machines/AbstractPropPanelState.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/behavior/state_machines/AbstractPropPanelState.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/ui/behavior/state_machines/AbstractPropPanelState.java&p2=trunk/src_new/org/argouml/uml/ui/behavior/state_machines/AbstractPropPanelState.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/behavior/state_machines/AbstractPropPanelState.java (original)
+++ trunk/src_new/org/argouml/uml/ui/behavior/state_machines/AbstractPropPanelState.java 2007-06-19 13:15:05-0700
@@ -1,5 +1,5 @@
// $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
@@ -46,10 +46,7 @@
private JScrollPane doScroll;
private JScrollPane internalTransitionsScroll;
private JScrollPane deferrableEventsScroll;
- private JList entryList;
- private JList exitList;
- private JList doList;
- private JList internalTransitionList;
+
/**
@@ -68,17 +65,17 @@
deferrableEventsScroll = new JScrollPane(deferrableList);
- entryList = new UMLStateEntryList(new UMLStateEntryListModel());
+ JList entryList = new UMLStateEntryList(new UMLStateEntryListModel());
entryList.setVisibleRowCount(1);
entryScroll = new JScrollPane(entryList);
- exitList = new UMLStateExitList(new UMLStateExitListModel());
+ JList exitList = new UMLStateExitList(new UMLStateExitListModel());
exitList.setVisibleRowCount(1);
exitScroll = new JScrollPane(exitList);
- internalTransitionList = new UMLMutableLinkedList(
+ JList internalTransitionList = new UMLMutableLinkedList(
new UMLStateInternalTransition(), null,
new ActionNewTransition());
internalTransitionsScroll = new JScrollPane(internalTransitionList);
- doList = new UMLStateDoActivityList(
+ JList doList = new UMLStateDoActivityList(
new UMLStateDoActivityListModel());
doList.setVisibleRowCount(1);
doScroll = new JScrollPane(doList);
@@ -87,6 +84,7 @@
/*
* @see org.argouml.uml.ui.behavior.state_machines.PropPanelStateVertex#addExtraButtons()
*/
+ @Override
protected void addExtraButtons() {
super.addExtraButtons();
@@ -105,7 +103,6 @@
return entryScroll;
}
-
/**
* @return Returns the exitScroll.
*/
@@ -113,7 +110,6 @@
return exitScroll;
}
-
/**
* @return Returns the doScroll.
*/
@@ -121,7 +117,6 @@
return doScroll;
}
-
/**
* @return Returns the internalTransitionsScroll.
*/
@@ -129,7 +124,6 @@
return internalTransitionsScroll;
}
-
/**
* @return Returns the deferrableEventsScroll.
*/
@@ -137,10 +131,7 @@
return deferrableEventsScroll;
}
-
-
-
-} /* end class AbstractPropPanelState */
+}
Modified: trunk/src_new/org/argouml/uml/ui/behavior/state_machines/PropPanelGuard.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/behavior/state_machines/PropPanelGuard.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/ui/behavior/state_machines/PropPanelGuard.java&p2=trunk/src_new/org/argouml/uml/ui/behavior/state_machines/PropPanelGuard.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/behavior/state_machines/PropPanelGuard.java (original)
+++ trunk/src_new/org/argouml/uml/ui/behavior/state_machines/PropPanelGuard.java 2007-06-19 13:15:05-0700
@@ -24,7 +24,6 @@
package org.argouml.uml.ui.behavior.state_machines;
-import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
@@ -36,7 +35,6 @@
import org.argouml.uml.ui.UMLExpressionExpressionModel;
import org.argouml.uml.ui.UMLExpressionLanguageField;
import org.argouml.uml.ui.UMLExpressionModel2;
-import org.argouml.uml.ui.UMLSingleRowLinkedList;
import org.argouml.uml.ui.foundation.core.PropPanelModelElement;
import org.argouml.uml.ui.foundation.extension_mechanisms.ActionNewStereotype;
import org.argouml.util.ConfigLoader;
@@ -63,10 +61,8 @@
addField(Translator.localize("label.name"), getNameTextField());
- JList transitionList = new UMLSingleRowLinkedList(
- new UMLGuardTransitionListModel());
addField(Translator.localize("label.transition"), new JScrollPane(
- transitionList));
+ getSingleRowScroll(new UMLGuardTransitionListModel())));
addSeparator();
Modified: trunk/src_new/org/argouml/uml/ui/behavior/state_machines/PropPanelStateVertex.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/behavior/state_machines/PropPanelStateVertex.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/ui/behavior/state_machines/PropPanelStateVertex.java&p2=trunk/src_new/org/argouml/uml/ui/behavior/state_machines/PropPanelStateVertex.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/behavior/state_machines/PropPanelStateVertex.java (original)
+++ trunk/src_new/org/argouml/uml/ui/behavior/state_machines/PropPanelStateVertex.java 2007-06-19 13:15:05-0700
@@ -30,7 +30,6 @@
import org.argouml.uml.ui.ActionNavigateContainerElement;
import org.argouml.uml.ui.UMLLinkedList;
-import org.argouml.uml.ui.UMLSingleRowLinkedList;
import org.argouml.uml.ui.foundation.core.PropPanelModelElement;
import org.argouml.uml.ui.foundation.extension_mechanisms.ActionNewStereotype;
import org.tigris.swidgets.Orientation;
@@ -65,9 +64,8 @@
new UMLStateVertexOutgoingListModel());
outgoingScroll = new JScrollPane(outgoingList);
- JList compositeList = new UMLSingleRowLinkedList(
- new UMLStateVertexContainerListModel());
- containerScroll = new JScrollPane(compositeList);
+ containerScroll =
+ getSingleRowScroll(new UMLStateVertexContainerListModel());
addAction(new ActionNavigateContainerElement());
addExtraButtons();
Modified: trunk/src_new/org/argouml/uml/ui/behavior/state_machines/PropPanelTransition.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/behavior/state_machines/PropPanelTransition.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/ui/behavior/state_machines/PropPanelTransition.java&p2=trunk/src_new/org/argouml/uml/ui/behavior/state_machines/PropPanelTransition.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/behavior/state_machines/PropPanelTransition.java (original)
+++ trunk/src_new/org/argouml/uml/ui/behavior/state_machines/PropPanelTransition.java 2007-06-19 13:15:05-0700
@@ -25,7 +25,6 @@
package org.argouml.uml.ui.behavior.state_machines;
import javax.swing.JList;
-import javax.swing.JScrollPane;
import org.argouml.i18n.Translator;
import org.argouml.uml.diagram.state.ui.ButtonActionNewCallEvent;
@@ -33,7 +32,6 @@
import org.argouml.uml.diagram.state.ui.ButtonActionNewSignalEvent;
import org.argouml.uml.diagram.state.ui.ButtonActionNewTimeEvent;
import org.argouml.uml.ui.ActionNavigateContainerElement;
-import org.argouml.uml.ui.UMLLinkedList;
import org.argouml.uml.ui.UMLMutableLinkedList;
import org.argouml.uml.ui.behavior.common_behavior.ActionNewActionSequence;
import org.argouml.uml.ui.behavior.common_behavior.ActionNewCallAction;
@@ -70,44 +68,29 @@
addField(Translator.localize("label.name"),
getNameTextField());
- JList statemachineList = new UMLLinkedList(
- new UMLTransitionStatemachineListModel());
- statemachineList.setVisibleRowCount(1);
addField(Translator.localize("label.statemachine"),
- new JScrollPane(statemachineList));
- JList stateList = new UMLLinkedList(new UMLTransitionStateListModel());
- stateList.setVisibleRowCount(1);
+ getSingleRowScroll(new UMLTransitionStatemachineListModel()));
+
addField(Translator.localize("label.state"),
- new JScrollPane(stateList));
+ getSingleRowScroll(new UMLTransitionStateListModel()));
addSeparator();
- JList sourceList =
- new UMLLinkedList(new UMLTransitionSourceListModel());
- sourceList.setVisibleRowCount(1);
addField(Translator.localize("label.source"),
- new JScrollPane(sourceList));
- JList targetList =
- new UMLLinkedList(new UMLTransitionTargetListModel());
- targetList.setVisibleRowCount(1);
+ getSingleRowScroll(new UMLTransitionSourceListModel()));
addField(Translator.localize("label.target"),
- new JScrollPane(targetList));
- JList triggerList = new UMLTransitionTriggerList(
- new UMLTransitionTriggerListModel());
- triggerList.setVisibleRowCount(1);
+ getSingleRowScroll(new UMLTransitionTargetListModel()));
addField(Translator.localize("label.trigger"),
- new JScrollPane(triggerList));
+ getSingleRowScroll( new UMLTransitionTriggerListModel()));
JList guardList = new UMLMutableLinkedList(
new UMLTransitionGuardListModel(), null,
ActionNewGuard.getSingleton());
- guardList.setVisibleRowCount(1);
addField(Translator.localize("label.guard"),
- new JScrollPane(guardList));
+ getSingleRowScroll(guardList));
JList effectList = new UMLTransitionEffectList(
new UMLTransitionEffectListModel());
- effectList.setVisibleRowCount(1);
addField(Translator.localize("label.effect"),
- new JScrollPane(effectList));
+ getSingleRowScroll(effectList));
addAction(new ActionNavigateContainerElement());
addAction(getTriggerActions());
@@ -142,4 +125,4 @@
ToolBarUtility.manageDefault(actions, "transition.state.effect");
return actions;
}
-} /* end class PropPanelTransition */
+}
Modified: trunk/src_new/org/argouml/uml/ui/behavior/use_cases/PropPanelExtend.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/behavior/use_cases/PropPanelExtend.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/ui/behavior/use_cases/PropPanelExtend.java&p2=trunk/src_new/org/argouml/uml/ui/behavior/use_cases/PropPanelExtend.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/behavior/use_cases/PropPanelExtend.java (original)
+++ trunk/src_new/org/argouml/uml/ui/behavior/use_cases/PropPanelExtend.java 2007-06-19 13:15:05-0700
@@ -120,20 +120,6 @@
}
/**
- * Create a single row scroll pane backed by a JList.
- *
- * @param list the list to be used to back the scroll pane
- * @return a scrollpane with a single row
- */
- protected JScrollPane getSingleRowScroll(JList list) {
- list.setVisibleRowCount(1);
- JScrollPane scroll = new JScrollPane(list);
-
- return scroll;
- }
-
-
- /**
* Invoked by the "New Extension Point" toolbar button to create a new
* extension point for this extend relationship in the same namespace as the
* current extend relationship.<p>
@@ -161,6 +147,7 @@
/*
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
+ @Override
public void actionPerformed(ActionEvent e) {
Object target = TargetManager.getInstance().getModelTarget();
if (Model.getFacade().isAExtend(target)) {
@@ -182,4 +169,4 @@
}
}
-} /* end class PropPanelExtend */
+}
Modified: trunk/src_new/org/argouml/uml/ui/behavior/use_cases/PropPanelExtensionPoint.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/behavior/use_cases/PropPanelExtensionPoint.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/ui/behavior/use_cases/PropPanelExtensionPoint.java&p2=trunk/src_new/org/argouml/uml/ui/behavior/use_cases/PropPanelExtensionPoint.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/behavior/use_cases/PropPanelExtensionPoint.java (original)
+++ trunk/src_new/org/argouml/uml/ui/behavior/use_cases/PropPanelExtensionPoint.java 2007-06-19 13:15:05-0700
@@ -80,11 +80,8 @@
addSeparator();
- JList usecaseList = new UMLLinkedList(
- new UMLExtensionPointUseCaseListModel());
- usecaseList.setVisibleRowCount(1);
addField(Translator.localize("label.usecase-base"),
- new JScrollPane(usecaseList));
+ getSingleRowScroll(new UMLExtensionPointUseCaseListModel()));
JList extendList = new UMLLinkedList(
new UMLExtensionPointExtendListModel());
Modified: trunk/src_new/org/argouml/uml/ui/behavior/use_cases/PropPanelInclude.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/behavior/use_cases/PropPanelInclude.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/ui/behavior/use_cases/PropPanelInclude.java&p2=trunk/src_new/org/argouml/uml/ui/behavior/use_cases/PropPanelInclude.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/behavior/use_cases/PropPanelInclude.java (original)
+++ trunk/src_new/org/argouml/uml/ui/behavior/use_cases/PropPanelInclude.java 2007-06-19 13:15:05-0700
@@ -25,7 +25,6 @@
package org.argouml.uml.ui.behavior.use_cases;
import javax.swing.JList;
-import javax.swing.JScrollPane;
import org.argouml.i18n.Translator;
import org.argouml.model.Model;
@@ -84,17 +83,6 @@
}
/**
- * @param list the list to wrap in a scrollpane.
- * @return a scrollpane with a single row
- */
- protected JScrollPane getSingleRowScroll(JList list) {
- list.setVisibleRowCount(1);
- JScrollPane scroll = new JScrollPane(list);
-
- return scroll;
- }
-
- /**
* Get the current base use case of the include relationship.<p>
* @return The UseCase that is the base of this include relationship or
* <code>null</code> if there is none.
Modified: trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelElementResidence.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelElementResidence.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelElementResidence.java&p2=trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelElementResidence.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelElementResidence.java (original)
+++ trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelElementResidence.java 2007-06-19 13:15:05-0700
@@ -24,13 +24,9 @@
package org.argouml.uml.ui.foundation.core;
-import javax.swing.JList;
-import javax.swing.JScrollPane;
-
import org.argouml.i18n.Translator;
import org.argouml.model.Model;
import org.argouml.uml.ui.ActionNavigateContainerElement;
-import org.argouml.uml.ui.UMLLinkedList;
import org.argouml.uml.ui.UMLModelElementListModel2;
import org.argouml.util.ConfigLoader;
@@ -53,17 +49,11 @@
add(getNamespaceVisibilityPanel());
addSeparator();
- JList lst1 = new UMLLinkedList(
- new ElementResidenceContainerListModel());
- lst1.setVisibleRowCount(1);
addField(Translator.localize("label.container"),
- new JScrollPane(lst1));
+ getSingleRowScroll(new ElementResidenceContainerListModel()));
- JList lst2 = new UMLLinkedList(
- new ElementResidenceResidentListModel());
- lst2.setVisibleRowCount(1);
addField(Translator.localize("label.resident"),
- new JScrollPane(lst2));
+ getSingleRowScroll(new ElementResidenceResidentListModel()));
addAction(new ActionNavigateContainerElement());
addAction(getDeleteAction());
Modified: trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelEnumerationLiteral.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelEnumerationLiteral.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelEnumerationLiteral.java&p2=trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelEnumerationLiteral.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelEnumerationLiteral.java (original)
+++ trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelEnumerationLiteral.java 2007-06-19 13:15:05-0700
@@ -25,8 +25,6 @@
package org.argouml.uml.ui.foundation.core;
import javax.swing.DefaultListModel;
-import javax.swing.JList;
-import javax.swing.JScrollPane;
import org.argouml.i18n.Translator;
import org.argouml.model.Model;
@@ -34,7 +32,6 @@
import org.argouml.ui.targetmanager.TargetListener;
import org.argouml.ui.targetmanager.TargetManager;
import org.argouml.uml.ui.ActionNavigateContainerElement;
-import org.argouml.uml.ui.UMLSingleRowLinkedList;
import org.argouml.uml.ui.foundation.extension_mechanisms.ActionNewStereotype;
import org.argouml.util.ConfigLoader;
@@ -63,9 +60,8 @@
addField(Translator.localize("label.name"),
getNameTextField());
- JList lst = new UMLSingleRowLinkedList(new EnumerationListModel());
addField(Translator.localize("label.enumeration"),
- new JScrollPane(lst));
+ getSingleRowScroll(new EnumerationListModel()));
addAction(new ActionNavigateContainerElement());
addAction(new ActionAddLiteral());
Modified: trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelFeature.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelFeature.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelFeature.java&p2=trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelFeature.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelFeature.java (original)
+++ trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelFeature.java 2007-06-19 13:15:05-0700
@@ -1,5 +1,5 @@
// $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
@@ -25,12 +25,10 @@
package org.argouml.uml.ui.foundation.core;
import javax.swing.ImageIcon;
-import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import org.argouml.i18n.Translator;
-import org.argouml.uml.ui.UMLLinkedList;
import org.tigris.swidgets.Orientation;
/**
@@ -80,9 +78,7 @@
if (ownerListModel == null) {
ownerListModel = new UMLFeatureOwnerListModel();
}
- JList list = new UMLLinkedList(ownerListModel);
- list.setVisibleRowCount(1);
- ownerScroll = new JScrollPane(list);
+ ownerScroll = getSingleRowScroll(ownerListModel);
}
return ownerScroll;
}
Modified: trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelGeneralization.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelGeneralization.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelGeneralization.java&p2=trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelGeneralization.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelGeneralization.java (original)
+++ trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelGeneralization.java 2007-06-19 13:15:05-0700
@@ -24,8 +24,6 @@
package org.argouml.uml.ui.foundation.core;
-import javax.swing.JList;
-import javax.swing.JScrollPane;
import javax.swing.JTextField;
import org.argouml.i18n.Translator;
@@ -33,7 +31,6 @@
import org.argouml.ui.targetmanager.TargetManager;
import org.argouml.uml.ui.ActionNavigateContainerElement;
import org.argouml.uml.ui.UMLComboBox2;
-import org.argouml.uml.ui.UMLLinkedList;
import org.argouml.uml.ui.UMLTextField2;
import org.argouml.uml.ui.foundation.extension_mechanisms.ActionNewStereotype;
import org.argouml.util.ConfigLoader;
@@ -71,19 +68,11 @@
addSeparator();
- UMLGeneralizationParentListModel parentListModel =
- new UMLGeneralizationParentListModel();
- JList parentList = new UMLLinkedList(parentListModel);
- parentList.setVisibleRowCount(1);
addField(Translator.localize("label.parent"),
- new JScrollPane(parentList));
+ getSingleRowScroll(new UMLGeneralizationParentListModel()));
- UMLGeneralizationChildListModel childListModel =
- new UMLGeneralizationChildListModel();
- JList childList = new UMLLinkedList(childListModel);
- childList.setVisibleRowCount(1);
addField(Translator.localize("label.child"),
- new JScrollPane(childList));
+ getSingleRowScroll(new UMLGeneralizationChildListModel()));
addField(Translator.localize("label.powertype"),
new UMLComboBox2(new UMLGeneralizationPowertypeComboBoxModel(),
@@ -97,6 +86,7 @@
/*
* @see org.argouml.uml.ui.foundation.core.PropPanelModelElement#navigateUp()
*/
+ @Override
public void navigateUp() {
Object target = getTarget();
if (Model.getFacade().isAModelElement(target)) {
@@ -117,4 +107,4 @@
return discriminatorTextField;
}
-} /* end class PropPanelGeneralization */
+}
Modified: trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelParameter.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelParameter.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelParameter.java&p2=trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelParameter.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelParameter.java (original)
+++ trunk/src_new/org/argouml/uml/ui/foundation/core/PropPanelParameter.java 2007-06-19 13:15:05-0700
@@ -26,7 +26,6 @@
import java.util.List;
-import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
@@ -40,7 +39,6 @@
import org.argouml.uml.ui.UMLExpressionBodyField;
import org.argouml.uml.ui.UMLExpressionLanguageField;
import org.argouml.uml.ui.UMLExpressionModel2;
-import org.argouml.uml.ui.UMLLinkedList;
import org.argouml.uml.ui.UMLUserInterfaceContainer;
import org.argouml.uml.ui.foundation.extension_mechanisms.ActionNewStereotype;
import org.argouml.util.ConfigLoader;
@@ -142,14 +140,12 @@
if (behFeatureModel == null) {
behFeatureModel = new UMLParameterBehavioralFeatListModel();
}
- JList list = new UMLLinkedList(behFeatureModel);
- list.setVisibleRowCount(1);
- behFeatureScroll = new JScrollPane(list);
+ behFeatureScroll = getSingleRowScroll(behFeatureModel);
}
return behFeatureScroll;
}
-} /* end class PropPanelParameter */
+}
class UMLDefaultValueExpressionModel extends UMLExpressionModel2 {
Modified: trunk/src_new/org/argouml/uml/ui/model_management/PropPanelElementImport.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/model_management/PropPanelElementImport.java?view=diff&rev=12880&p1=trunk/src_new/org/argouml/uml/ui/model_management/PropPanelElementImport.java&p2=trunk/src_new/org/argouml/uml/ui/model_management/PropPanelElementImport.java&r1=12879&r2=12880
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/model_management/PropPanelElementImport.java (original)
+++ trunk/src_new/org/argouml/uml/ui/model_management/PropPanelElementImport.java 2007-06-19 13:15:05-0700
@@ -25,9 +25,7 @@
package org.argouml.uml.ui.model_management;
import javax.swing.JComponent;
-import javax.swing.JList;
import javax.swing.JPanel;
-import javax.swing.JScrollPane;
import javax.swing.JTextField;
import org.argouml.i18n.Translator;
@@ -35,7 +33,6 @@
import org.argouml.uml.ui.ActionNavigateContainerElement;
import org.argouml.uml.ui.UMLCheckBox2;
import org.argouml.uml.ui.UMLDerivedCheckBox;
-import org.argouml.uml.ui.UMLLinkedList;
import org.argouml.uml.ui.UMLModelElementListModel2;
import org.argouml.uml.ui.UMLPlainTextDocument;
import org.argouml.uml.ui.UMLTextField2;
@@ -73,17 +70,12 @@
addSeparator();
- JList lst1 = new UMLLinkedList(
- new ElementImportImportedElementListModel());
- lst1.setVisibleRowCount(1);
addField(Translator.localize("label.imported-element"),
- new JScrollPane(lst1));
+ getSingleRowScroll(
+ new ElementImportImportedElementListModel()));
- JList lst2 = new UMLLinkedList(
- new ElementImportPackageListModel());
- lst2.setVisibleRowCount(1);
addField(Translator.localize("label.package"),
- new JScrollPane(lst2));
+ getSingleRowScroll(new ElementImportPackageListModel()));
addAction(new ActionNavigateContainerElement());
addAction(getDeleteAction());
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.