// Path: src/util/swing/MenuAction.java
// public abstract class MenuAction extends AbstractAction {
//     private static final long serialVersionUID = -7514077079980788428L;
// 
//     /** Create a menu Action with specified title and mnemonic.
//       * The latter should be a KeyEvent.VK_XXX constant. */
//     public MenuAction(String title, int mnemonicKeycode)
//     {
//         super(title);
//         this.putValue(Action.MNEMONIC_KEY, Integer.valueOf(mnemonicKeycode));
//     }
// 
//     /** Create a menu Action with specified title, mnemonic and acclerator.
//       * Both key codes should be KeyEvent.VK_XXX constants.
//       * 'accelModifiers' should be 0 or some bitwise combination of
//       * ActionEvent.XXX_MASK constants. */
//     public MenuAction(String title, int mnemonicKeyCode, int accelKeyCode, int accelModifiers)
//     {
//         super(title);
//         this.putValue(Action.MNEMONIC_KEY, Integer.valueOf(mnemonicKeyCode));
//         this.putValue(Action.ACCELERATOR_KEY,
//             KeyStroke.getKeyStroke(accelKeyCode, accelModifiers));
//     }
// }
// 
// Path: src/util/StringUtil.java
// public static String fmt(String formatString, Object... args)
// {
//     // For now, there is no facility for actually doing a translation.
//     // I just want this method so I can write code as if there was.
//     return String.format(formatString, args);
// }


import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import javax.swing.JPopupMenu;
import javax.swing.SwingUtilities;
import util.swing.MenuAction;
import static util.StringUtil.fmt;
// RelationControlPointController.java
// See toplevel license.txt for copyright and license terms.

package ded.ui;





/** Control the position of a control point in the middle of a Relation. */
public class RelationControlPointController extends ResizeController {
    // -------------------- instance data --------------------
    /** Relation controller we're a part of. */
    public RelationController rcontroller;

    /** Which control point is this for?  This is a 0-based index into
      * rcontroller.relation.controlPts[]. */
    public int which;

    // ----------------------- methods -----------------------
    public RelationControlPointController(
        DiagramController diagramController,
// Path: src/util/swing/MenuAction.java
// public abstract class MenuAction extends AbstractAction {
//     private static final long serialVersionUID = -7514077079980788428L;
// 
//     /** Create a menu Action with specified title and mnemonic.
//       * The latter should be a KeyEvent.VK_XXX constant. */
//     public MenuAction(String title, int mnemonicKeycode)
//     {
//         super(title);
//         this.putValue(Action.MNEMONIC_KEY, Integer.valueOf(mnemonicKeycode));
//     }
// 
//     /** Create a menu Action with specified title, mnemonic and acclerator.
//       * Both key codes should be KeyEvent.VK_XXX constants.
//       * 'accelModifiers' should be 0 or some bitwise combination of
//       * ActionEvent.XXX_MASK constants. */
//     public MenuAction(String title, int mnemonicKeyCode, int accelKeyCode, int accelModifiers)
//     {
//         super(title);
//         this.putValue(Action.MNEMONIC_KEY, Integer.valueOf(mnemonicKeyCode));
//         this.putValue(Action.ACCELERATOR_KEY,
//             KeyStroke.getKeyStroke(accelKeyCode, accelModifiers));
//     }
// }
// 
// Path: src/util/StringUtil.java
// public static String fmt(String formatString, Object... args)
// {
//     // For now, there is no facility for actually doing a translation.
//     // I just want this method so I can write code as if there was.
//     return String.format(formatString, args);
// }


// Path: src/ded/ui/RelationControlPointController.java
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import javax.swing.JPopupMenu;
import javax.swing.SwingUtilities;
import util.swing.MenuAction;
import static util.StringUtil.fmt;

// RelationControlPointController.java
// See toplevel license.txt for copyright and license terms.

package ded.ui;





/** Control the position of a control point in the middle of a Relation. */
public class RelationControlPointController extends ResizeController {
    // -------------------- instance data --------------------
    /** Relation controller we're a part of. */
    public RelationController rcontroller;

    /** Which control point is this for?  This is a 0-based index into
      * rcontroller.relation.controlPts[]. */
    public int which;

    // ----------------------- methods -----------------------
    public RelationControlPointController(
        DiagramController diagramController,
        RelationController relationController,