Search in sources :

Example 6 with RcvrUIException

use of edu.cmu.cs.hcii.cogtool.util.RcvrUIException in project cogtool by cogtool.

the class DesignEditorController method assignActions.

@Override
public void assignActions() {
    super.assignActions();
    ui.setAction(DesignEditorLID.ExportDesignToHTML, createExportDesignToHTMLAction());
    ui.setAction(DesignEditorLID.ExportToXML, createExportDesignToXMLAction());
    ui.setAction(DesignEditorLID.Undo, new UndoController.UndoAction(undoMgr, interaction));
    ui.setAction(DesignEditorLID.Redo, new UndoController.RedoAction(undoMgr, interaction));
    ui.setAction(DesignEditorLID.Paste, createPasteAction());
    ui.setAction(DesignEditorLID.CopyFrame, createCopyFrameAction());
    ui.setAction(DesignEditorLID.CutFrame, createCutFrameAction());
    ui.setAction(DesignEditorLID.ClearFrameTemplate, new AListenerAction() {

        public boolean performAction(Object prms) {
            FrameTemplateSupport.clearFrameTemplate(design);
            return true;
        }
    });
    ui.setAction(DesignEditorLID.DeselectAll, new IListenerAction() {

        public Class<?> getParameterClass() {
            return SelectionState.class;
        }

        public boolean performAction(Object prms) {
            SelectionState selection = (SelectionState) prms;
            selection.deselectAll();
            return true;
        }
    });
    ui.setAction(DesignEditorLID.MoveFrames, new IListenerAction() {

        public Class<?> getParameterClass() {
            return DesignEditorUI.MoveParameters.class;
        }

        public boolean performAction(Object prms) {
            DesignEditorUI.MoveParameters movePrms = (DesignEditorUI.MoveParameters) prms;
            if (movePrms != null) {
                return moveFrames(movePrms.dx, movePrms.dy, movePrms.selection);
            } else {
                throw new RcvrUIException("Cannot move frames without parameters.");
            }
        }
    });
    ui.setAction(DesignEditorLID.AddDesignDevices, createAddDevicesAction());
    ui.setAction(DesignEditorLID.NewFrame, createNewFrameAction());
    // Align selected frames
    ui.setAction(DesignEditorLID.AlignTop, new FrameAlignmentAction(AlignmentAction.TOP));
    ui.setAction(DesignEditorLID.AlignBottom, new FrameAlignmentAction(AlignmentAction.BOTTOM));
    ui.setAction(DesignEditorLID.AlignLeft, new FrameAlignmentAction(AlignmentAction.LEFT));
    ui.setAction(DesignEditorLID.AlignRight, new FrameAlignmentAction(AlignmentAction.RIGHT));
    ui.setAction(DesignEditorLID.AlignCenter, new FrameAlignmentAction(AlignmentAction.CENTER));
    ui.setAction(DesignEditorLID.AlignHorizCenter, new FrameAlignmentAction(AlignmentAction.HORIZ_CENTER));
    ui.setAction(DesignEditorLID.AlignVertCenter, new FrameAlignmentAction(AlignmentAction.VERT_CENTER));
    // Space selected frames equally
    ui.setAction(DesignEditorLID.SpaceVertically, new IListenerAction() {

        public Class<?> getParameterClass() {
            return Map.class;
        }

        @SuppressWarnings("unchecked")
        public boolean performAction(Object prms) {
            Map<Frame, DoubleRectangle> frameMap = (Map<Frame, DoubleRectangle>) prms;
            // Equally space the widgets in the
            // vertical axis.
            final boolean VERTICAL = true;
            return spaceFramesEqually(frameMap, VERTICAL);
        }
    });
    ui.setAction(DesignEditorLID.SpaceHorizontally, new IListenerAction() {

        public Class<?> getParameterClass() {
            return Map.class;
        }

        @SuppressWarnings("unchecked")
        public boolean performAction(Object prms) {
            Map<Frame, DoubleRectangle> frameMap = (Map<Frame, DoubleRectangle>) prms;
            // Equally space the widgets in the
            // horizontal axis.
            final boolean HORIZONTAL = false;
            return spaceFramesEqually(frameMap, HORIZONTAL);
        }
    });
    ui.setAction(DesignEditorLID.InitiateFrameRename, createInitiateFrameRenameAction());
    ui.setAction(DesignEditorLID.RenameFrame, new IListenerAction() {

        public Class<?> getParameterClass() {
            return DesignEditorUI.FrameRenameParameters.class;
        }

        public boolean performAction(Object prms) {
            DesignEditorUI.FrameRenameParameters evt = (DesignEditorUI.FrameRenameParameters) prms;
            return renameFrame(evt.frame, evt.newName);
        }
    });
    ui.setAction(ProjectLID.RenameDesign, new IListenerAction() {

        public Class<?> getParameterClass() {
            return DesignEditorUI.DesignRenameParameters.class;
        }

        public boolean performAction(Object prms) {
            DesignEditorUI.DesignRenameParameters evt = (DesignEditorUI.DesignRenameParameters) prms;
            return renameDesign(evt.design, evt.newText);
        }
    });
    ui.setAction(DesignEditorLID.NewTransition, createNewTransitionAction());
    ui.setAction(DesignEditorLID.EditFrame, createEditFrameAction());
    ui.setAction(DesignEditorLID.EditTransition, createEditTransitionAction());
    ui.setAction(DesignEditorLID.DeleteFrame, createDeleteFrameAction());
    ui.setAction(DesignEditorLID.DeleteTransition, createDeleteTransitionAction());
    // Nudge selected frame(s)
    ui.setAction(DesignEditorLID.NudgeLeft, new IListenerAction() {

        public Class<?> getParameterClass() {
            return FrameSelectionState.class;
        }

        public boolean performAction(Object prms) {
            FrameSelectionState selection = (FrameSelectionState) prms;
            double dx = -1.0 / ui.getZoom();
            return moveFrames(dx, 0.0, selection);
        }
    });
    ui.setAction(DesignEditorLID.NudgeRight, new IListenerAction() {

        public Class<?> getParameterClass() {
            return FrameSelectionState.class;
        }

        public boolean performAction(Object prms) {
            FrameSelectionState selection = (FrameSelectionState) prms;
            double dx = 1.0 / ui.getZoom();
            return moveFrames(dx, 0.0, selection);
        }
    });
    ui.setAction(DesignEditorLID.NudgeUp, new IListenerAction() {

        public Class<?> getParameterClass() {
            return FrameSelectionState.class;
        }

        public boolean performAction(Object prms) {
            FrameSelectionState selection = (FrameSelectionState) prms;
            double dy = -1.0 / ui.getZoom();
            return moveFrames(0.0, dy, selection);
        }
    });
    ui.setAction(DesignEditorLID.NudgeDown, new IListenerAction() {

        public Class<?> getParameterClass() {
            return FrameSelectionState.class;
        }

        public boolean performAction(Object prms) {
            FrameSelectionState selection = (FrameSelectionState) prms;
            double dy = 1.0 / ui.getZoom();
            return moveFrames(0.0, dy, selection);
        }
    });
    ui.setAction(DesignEditorLID.SelectAll, new AListenerAction() {

        public boolean performAction(Object prms) {
            ui.selectAllFrames();
            return true;
        }
    });
    ui.setAction(DesignEditorLID.ChangeTarget, createChangeTargetAction());
    ui.setAction(DesignEditorLID.ChangeSource, createChangeSourceAction());
    // The following 6 are also functionality in FrameEditorController
    ui.setAction(DesignEditorLID.SetBackgroundImage, createSetBackgroundImageAction());
    ui.setAction(DesignEditorLID.RemoveBackgroundImage, createRemoveBackgroundImageAction());
    ui.setAction(DesignEditorLID.CopyImageAsBackground, createCopyImageAsBkgAction());
    ui.setAction(DesignEditorLID.PasteBackgroundImage, createPasteBackgroundImageAction());
    ui.setAction(DesignEditorLID.SetWidgetColor, createSetWidgetColorAction());
    // Skins!
    ui.setAction(DesignEditorLID.SkinWireFrame, createSetSkinAction(SkinType.WireFrame, DesignEditorLID.SkinWireFrame));
    ui.setAction(DesignEditorLID.SkinMacOSX, createSetSkinAction(SkinType.MacOSX, DesignEditorLID.SkinMacOSX));
    ui.setAction(DesignEditorLID.SkinWinXP, createSetSkinAction(SkinType.WinXP, DesignEditorLID.SkinWinXP));
    ui.setAction(DesignEditorLID.SkinPalm, createSetSkinAction(SkinType.Palm, DesignEditorLID.SkinPalm));
    ui.setAction(CogToolLID.RenderAll, createRenderAllAction(true, CogToolLID.RenderAll));
    ui.setAction(CogToolLID.UnRender, createRenderAllAction(false, CogToolLID.UnRender));
    ui.setAction(DesignEditorLID.ImportImageDirectory, createImportImageDirectory());
    IListenerAction action = createChangeActionAction();
    ui.setAction(DesignEditorLID.ChangeWidgetAction, action);
    ui.setAction(DesignEditorLID.ChangeDeviceAction, action);
    ui.setAction(DesignEditorLID.DuplicateFrame, createDuplicateFrameAction());
    ui.setAction(DesignEditorLID.ChangeDelay, createChangeDelayAction());
}
Also used : FrameSelectionState(edu.cmu.cs.hcii.cogtool.ui.FrameSelectionState) Frame(edu.cmu.cs.hcii.cogtool.model.Frame) AListenerAction(edu.cmu.cs.hcii.cogtool.util.AListenerAction) DoubleRectangle(edu.cmu.cs.hcii.cogtool.model.DoubleRectangle) DesignEditorUI(edu.cmu.cs.hcii.cogtool.ui.DesignEditorUI) IListenerAction(edu.cmu.cs.hcii.cogtool.util.IListenerAction) Map(java.util.Map) HashMap(java.util.HashMap) DesignEditorSelectionState(edu.cmu.cs.hcii.cogtool.ui.DesignEditorSelectionState) SelectionState(edu.cmu.cs.hcii.cogtool.ui.SelectionState) FrameSelectionState(edu.cmu.cs.hcii.cogtool.ui.FrameSelectionState) RcvrUIException(edu.cmu.cs.hcii.cogtool.util.RcvrUIException)

Example 7 with RcvrUIException

use of edu.cmu.cs.hcii.cogtool.util.RcvrUIException in project cogtool by cogtool.

the class View method dispose.

/**
     * Recover any system resources being used to support this window/view.
     *
     * @author mlh
     */
public void dispose() {
    Shell window = getShell();
    if (window != null) {
        if (contextMenus != null) {
            contextMenus.dispose();
            contextMenus = null;
        }
        if (!window.isDisposed()) {
            window.setVisible(false);
            window.close();
            window.dispose();
        }
    } else {
        throw new RcvrUIException("No window available for recovering system resources.");
    }
}
Also used : Shell(org.eclipse.swt.widgets.Shell) RcvrUIException(edu.cmu.cs.hcii.cogtool.util.RcvrUIException)

Example 8 with RcvrUIException

use of edu.cmu.cs.hcii.cogtool.util.RcvrUIException in project cogtool by cogtool.

the class MenuFactory method updateNexusCascadeItem.

protected static void updateNexusCascadeItem(Menu inNexusMenu, IWindowMenuData<?> menuData) {
    ListenerIdentifier itemLID = menuData.getLID();
    MenuItem[] windowMenuItems = inNexusMenu.getItems();
    int originalItemCount = windowMenuItems.length;
    for (int i = 0; i < originalItemCount; i++) {
        if (windowMenuItems[i].getData() == itemLID) {
            windowMenuItems[i].setText(menuData.getEntryLabel());
            return;
        }
    }
    throw new RcvrUIException("Cannot find window item");
}
Also used : MenuItem(org.eclipse.swt.widgets.MenuItem) ListenerIdentifier(edu.cmu.cs.hcii.cogtool.util.ListenerIdentifier) RcvrUIException(edu.cmu.cs.hcii.cogtool.util.RcvrUIException)

Example 9 with RcvrUIException

use of edu.cmu.cs.hcii.cogtool.util.RcvrUIException in project cogtool by cogtool.

the class Controller method recoverManagers.

protected void recoverManagers(Project project) {
    UndoManager.recoverUndoManagers(project);
    Iterator<Design> designs = project.getDesigns().iterator();
    while (designs.hasNext()) {
        DemoStateManager.removeStateManager(project, designs.next());
    }
    try {
        // Clean up project temporary/checkpoint files.
        persist.close(project);
    } catch (IOException ex) {
        throw new RcvrIOTempException("Error cleaning up temp files: " + ex.getMessage(), ex);
    } catch (IllegalArgumentException ex) {
        throw new RcvrUIException("Error closing project: " + ex.getMessage(), ex);
    }
}
Also used : Design(edu.cmu.cs.hcii.cogtool.model.Design) RcvrIOTempException(edu.cmu.cs.hcii.cogtool.util.RcvrIOTempException) IOException(java.io.IOException) RcvrUIException(edu.cmu.cs.hcii.cogtool.util.RcvrUIException)

Aggregations

RcvrUIException (edu.cmu.cs.hcii.cogtool.util.RcvrUIException)9 Shell (org.eclipse.swt.widgets.Shell)3 DesignEditorUI (edu.cmu.cs.hcii.cogtool.ui.DesignEditorUI)2 IListenerAction (edu.cmu.cs.hcii.cogtool.util.IListenerAction)2 ListenerIdentifier (edu.cmu.cs.hcii.cogtool.util.ListenerIdentifier)2 MenuItem (org.eclipse.swt.widgets.MenuItem)2 Design (edu.cmu.cs.hcii.cogtool.model.Design)1 DoubleRectangle (edu.cmu.cs.hcii.cogtool.model.DoubleRectangle)1 Frame (edu.cmu.cs.hcii.cogtool.model.Frame)1 DesignEditorSelectionState (edu.cmu.cs.hcii.cogtool.ui.DesignEditorSelectionState)1 FrameSelectionState (edu.cmu.cs.hcii.cogtool.ui.FrameSelectionState)1 SelectionState (edu.cmu.cs.hcii.cogtool.ui.SelectionState)1 AListenerAction (edu.cmu.cs.hcii.cogtool.util.AListenerAction)1 CompoundUndoableEdit (edu.cmu.cs.hcii.cogtool.util.CompoundUndoableEdit)1 IUndoableEdit (edu.cmu.cs.hcii.cogtool.util.IUndoableEdit)1 RcvrIOTempException (edu.cmu.cs.hcii.cogtool.util.RcvrIOTempException)1 IOException (java.io.IOException)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1 Matcher (java.util.regex.Matcher)1