diff options
Diffstat (limited to 'source/com/c2kernel/gui/tabs/collection/AggregationView.java')
| -rwxr-xr-x | source/com/c2kernel/gui/tabs/collection/AggregationView.java | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/source/com/c2kernel/gui/tabs/collection/AggregationView.java b/source/com/c2kernel/gui/tabs/collection/AggregationView.java new file mode 100755 index 0000000..8a97c6c --- /dev/null +++ b/source/com/c2kernel/gui/tabs/collection/AggregationView.java @@ -0,0 +1,86 @@ +package com.c2kernel.gui.tabs.collection;
+import java.awt.GridLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.JButton;
+import javax.swing.JSplitPane;
+
+import com.c2kernel.collection.Aggregation;
+import com.c2kernel.collection.Collection;
+import com.c2kernel.collection.gui.model.AggregationVertexFactory;
+import com.c2kernel.collection.gui.model.AggregationVertexOutlineCreator;
+import com.c2kernel.collection.gui.view.AggregationMemberRenderer;
+import com.c2kernel.collection.gui.view.PropertyPanel;
+import com.c2kernel.collection.gui.view.SelectedMemberPanel;
+import com.c2kernel.graph.view.EditorPanel;
+import com.c2kernel.graph.view.GraphPanel;
+import com.c2kernel.gui.MainFrame;
+import com.c2kernel.utils.Language;
+import com.c2kernel.utils.Resource;
+/**
+ * @version $Revision: 1.5 $ $Date: 2006/09/15 15:02:24 $
+ * @author $Author: abranson $
+ */
+public class AggregationView extends CollectionView
+{
+ protected JButton mSaveButton = new JButton(Resource.getImageResource("graph/save.png"));
+ protected JButton mHistoryButton = new JButton(Resource.getImageResource("graph/history.png"));
+ protected JButton[] mOtherToolBarButtons = { mSaveButton, mHistoryButton };
+ // Graph editor panel
+ protected EditorPanel mEditorPanel;
+ // Objects to view/modify the properties of the selected activity
+ protected PropertyPanel mPropertyPanel;
+ protected JSplitPane mSplitPane;
+ private AggregationVertexFactory mAggregationVertexFactory = new AggregationVertexFactory();
+ private AggregationMemberRenderer mAggregationMemberRenderer = new AggregationMemberRenderer();
+ public AggregationView()
+ {
+ super();
+ setLayout(new GridLayout(1,1));
+ mPropertyPanel = new PropertyPanel();
+ mEditorPanel = new EditorPanel(null, mAggregationVertexFactory, new AggregationVertexOutlineCreator(), false, mOtherToolBarButtons, new GraphPanel(null, mAggregationMemberRenderer));
+ createLayout();
+ createListeners();
+ mPropertyPanel.setGraphModelManager(mEditorPanel.mGraphModelManager);
+ mPropertyPanel.createLayout(new SelectedMemberPanel());
+ mEditorPanel.setEditable(MainFrame.isAdmin);
+ }
+
+ public void setCollection(Collection contents)
+ {
+ thisColl = contents;
+ Aggregation agg = (Aggregation)thisColl;
+ mPropertyPanel.setCollection(agg);
+ mAggregationMemberRenderer.setAggregation(agg);
+ mEditorPanel.mGraphModelManager.setModel(agg.getLayout());
+ mEditorPanel.updateVertexTypes(agg.getVertexTypeNameAndConstructionInfo());
+ mEditorPanel.enterSelectMode();
+ mAggregationVertexFactory.setCreationContext(agg);
+ }
+ public void createLayout()
+ {
+ mSaveButton.setToolTipText(Language.translate("Save Layout Changes"));
+ mSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, mEditorPanel, mPropertyPanel);
+ mSplitPane.setDividerSize(5);
+ add(mSplitPane);
+ }
+
+ protected void createListeners()
+ {
+ mSaveButton.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent ae)
+ {
+ saveCollection();
+ }
+ });
+ mHistoryButton.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent ae)
+ {
+ new CollectionHistoryWindow(item, thisColl);
+ }
+ });
+ }
+}
|
