1 package com.bonevich.erj.ui;
2
3 import com.bonevich.erj.model.ForeignKey;
4 import com.bonevich.erj.diagram.FigForeignKey;
5 import com.bonevich.util.ResourceUtilities;
6
7 import org.tigris.gef.base.*;
8 import org.tigris.gef.presentation.*;
9
10 import javax.swing.ImageIcon;
11 import java.util.Vector;
12 import java.util.Hashtable;
13
14 /*** Cmd to edit the properties of a <code>Relation</code>. The loaded
15 * editor is displayed in a tabbed dialog.
16 *
17 * @see CmdProperties */
18 public final class CmdAlterCardinality extends Cmd
19 {
20 //////////////////////////////////////////////////////////
21 // Constants
22 public static final CmdAlterCardinality ZeroToZeroInstance
23 = new CmdAlterCardinality(ForeignKey.ZERO_TO_ZERO, "com/bonevich/erj/images/ZeroToZero.gif");
24 public static final CmdAlterCardinality OneToZeroInstance
25 = new CmdAlterCardinality(ForeignKey.ONE_TO_ZERO, "com/bonevich/erj/images/OneToZero.gif");
26 public static final CmdAlterCardinality OneToOneInstance
27 = new CmdAlterCardinality(ForeignKey.ONE_TO_ONE, "com/bonevich/erj/images/OneToOne.gif");
28 public static final CmdAlterCardinality ZeroToManyInstance
29 = new CmdAlterCardinality(ForeignKey.ZERO_TO_MANY, "com/bonevich/erj/images/ZeroToMany.gif");
30 public static final CmdAlterCardinality OneToManyInstance
31 = new CmdAlterCardinality(ForeignKey.ONE_TO_MANY, "com/bonevich/erj/images/OneToMany.gif");
32 public static final CmdAlterCardinality ZeroToManyMandatoryInstance
33 = new CmdAlterCardinality(ForeignKey.ZERO_TO_MANY_MANDATORY, "com/bonevich/erj/images/ZeroToManyMandatory.gif");
34 public static final CmdAlterCardinality OneToManyMandatoryInstance
35 = new CmdAlterCardinality(ForeignKey.ONE_TO_MANY_MANDATORY, "com/bonevich/erj/images/OneToManyMandatory.gif");
36 public static final CmdAlterCardinality ManyToManyInstance
37 = new CmdAlterCardinality(ForeignKey.MANY_TO_MANY, "com/bonevich/erj/images/ManyToMany.gif");
38
39 //////////////////////////////////////////////////////////
40 // Constructors
41 public CmdAlterCardinality(ForeignKey.Cardinality cardinality, String iconName)
42 {
43 super(
44 new Hashtable(),
45 null,
46 new ImageIcon(
47 ResourceUtilities.getResourceAsURL(iconName)
48 )
49 );
50 setArg("cardinality", cardinality);
51 }
52
53 public void doIt()
54 {
55 Editor ce = Globals.curEditor();
56 SelectionManager sm = ce.getSelectionManager();
57 Vector selections = sm.selections();
58 if (selections.size() == 0) return;
59 Selection first = (Selection) selections.get(0);
60 Fig selected = first.getContent();
61 if (!(selected instanceof FigForeignKey)) return;
62 FigForeignKey fkFig = (FigForeignKey) selected;
63 ForeignKey fk = (ForeignKey) fkFig.getOwner();
64 fk.setCardinality((ForeignKey.Cardinality) getArg("cardinality"));
65 }
66
67 public void undoIt() { }
68
69 } /* end class CmdAlterCardinality */
70
This page was automatically generated by Maven