use of edu.cmu.cs.hcii.cogtool.model.DoubleRectangle in project cogtool by cogtool.
the class FrameEditorUI method confirmRenameFigure.
protected void confirmRenameFigure() {
if ((editor != null) && editor.inUse()) {
String newTitle = editor.getText();
editor.cleanup();
// figure whose title is currently being edited
IFigure figure = (IFigure) editor.getData();
if (figure instanceof PotentialFigure) {
if ("".equals(newTitle)) {
// nothing to do if empty string on potential item!
return;
}
GraphicalTraversableWidget<?> parent = potentialUIFig.getFigureOwner();
TraversableWidget parentModel = (TraversableWidget) parent.getModel();
boolean isRightPotentialFigure = (figure == potentialUIFig.getRightFigure());
WidgetType type = null;
AParentWidget header = null;
SimpleWidgetGroup group = null;
boolean isSeparator = false;
if (parentModel instanceof MenuItem) {
type = WidgetType.MenuItem;
MenuItem parentItem = (MenuItem) parentModel;
if (isRightPotentialFigure) {
// position of selected figure is on the right
// parent menuitem becomes a submenu; figure to be
// created becomes a child of the submenu
parentItem.setSubmenu(true);
header = parentItem;
} else {
// if position is on the bottom and the parent is not a
// header, put the new widget in the same menu as the
// parent item
header = parentItem.getParent();
// previous item should hide children if it's a submenu
((GraphicalParentWidget<?, ?>) parent).closeChildren();
}
if (parentModel.getWidgetType() != WidgetType.Submenu) {
isSeparator = GraphicalWidgetRenderer.SEPARATOR_STRING.equals(newTitle);
}
} else if (parentModel instanceof ContextMenu) {
header = (ContextMenu) parentModel;
type = WidgetType.MenuItem;
isSeparator = GraphicalWidgetRenderer.SEPARATOR_STRING.equals(newTitle);
} else if (parentModel instanceof MenuHeader) {
// and hide children of the previous header
if (isRightPotentialFigure) {
type = WidgetType.Menu;
((GraphicalParentWidget<?, ?>) parent).closeChildren();
group = parentModel.getParentGroup();
} else {
header = (MenuHeader) parentModel;
type = WidgetType.MenuItem;
isSeparator = GraphicalWidgetRenderer.SEPARATOR_STRING.equals(newTitle);
}
} else if (parentModel instanceof PullDownItem) {
type = WidgetType.PullDownItem;
if (!isRightPotentialFigure) {
PullDownItem parentItem = (PullDownItem) parentModel;
header = parentItem.getParent();
isSeparator = GraphicalWidgetRenderer.SEPARATOR_STRING.equals(newTitle);
}
} else if (parentModel instanceof PullDownHeader) {
type = WidgetType.PullDownItem;
if (!isRightPotentialFigure) {
header = (PullDownHeader) parentModel;
isSeparator = GraphicalWidgetRenderer.SEPARATOR_STRING.equals(newTitle);
}
} else if (parentModel instanceof ListItem) {
type = WidgetType.ListBoxItem;
group = parentModel.getParentGroup();
isSeparator = GraphicalWidgetRenderer.SEPARATOR_STRING.equals(newTitle);
} else if (parentModel instanceof GridButton) {
type = parentModel.getWidgetType();
group = parentModel.getParentGroup();
}
Rectangle r = ((PotentialFigure) figure).getUnscaledBounds();
DoubleRectangle bounds = new DoubleRectangle(r.x, r.y, r.width, r.height);
performAction(CogToolLID.NewWidget, new FrameEditorUI.NewWidgetParameters(bounds, header, type, view.isAutomaticCreation(), newTitle, group, isSeparator));
} else {
boolean isSeparator = GraphicalWidgetRenderer.SEPARATOR_STRING.equals(newTitle);
performAction(FrameEditorLID.ChangeTitleProperty, new FrameEditorUI.ActionStringParameters(newTitle, selection, isSeparator), true);
}
}
}
use of edu.cmu.cs.hcii.cogtool.model.DoubleRectangle in project cogtool by cogtool.
the class FrameEditorMouseState method dealWithMouseReleased.
/**
* A mouse up event was called.
* Checks for context selection, then performs actions as dictated
* by the FSM.
*/
@Override
protected boolean dealWithMouseReleased(IFigure figure, int button, int x, int y, int state) {
boolean goForward = super.dealWithMouseReleased(figure, button, x, y, state);
// Clear any mouse drag timer, that may be running
stopMouseDragTimer = true;
if (goForward && isMouseDownValid) {
// Record the mouse down position
double zoom = ui.getZoom();
// The current mouse down position (scaled)
double currentScaledX = x / zoom;
double currentScaledY = y / zoom;
switch(getMouseState()) {
case PotentialCreatingWidget:
case PotentialMovingWidget:
case PotentialResizingWidget:
{
// Nothing to do; any action necessary was taken on "down".
break;
}
case PotentialReorderWidget:
case PotentialMovingSelection:
{
// Get whatever graphical widget under original down x,y
GraphicalWidget<?> wf = ui.widgetLocatedAtXY(mouseDownX, mouseDownY);
MoveHalo halo = null;
FrameElement data = null;
if (wf == null) {
halo = ui.moveHaloUnderXY(mouseDownX, mouseDownY);
if (halo != null) {
data = halo.getData();
if (data instanceof SimpleWidgetGroup) {
IWidget[] widgets = selection.getSelectedIWidgets();
SimpleWidgetGroup group = (SimpleWidgetGroup) data;
for (IWidget widget : widgets) {
if (widget.getParentGroup() != group) {
selection.deselectElement(widget);
}
}
break;
}
if (data instanceof IWidget) {
wf = ui.frameUI.getWidgetFigure((IWidget) data);
}
}
}
if (wf != null) {
selection.setSelectedSelnFig(wf);
} else {
if (halo == null) {
halo = ui.moveHaloUnderXY(mouseDownX, mouseDownY);
if (halo != null) {
data = halo.getData();
}
}
if ((data != null) && (data instanceof FrameElementGroup)) {
selection.setSelectedSelnFig((FrameEltGroupHalo) halo);
}
}
break;
}
case PotentialTogglingSelection:
{
// If mouse down on a widget, toggle selection.
GraphicalWidget<?> wf = ui.widgetLocatedAtXY(mouseDownX, mouseDownY);
MoveHalo halo = ui.moveHaloUnderXY(mouseDownX, mouseDownY);
FrameElement data = null;
if (halo != null) {
data = halo.getData();
}
if (wf == null) {
if (data instanceof IWidget) {
wf = ui.frameUI.getWidgetFigure((IWidget) data);
}
}
if (wf != null) {
// If the widget is already selected, unselect it.
if (selection.isSelectionFigureSelected(wf)) {
selection.deselectSelnFig(wf);
} else {
selection.selectSelnFig(wf);
}
} else if (data instanceof SimpleWidgetGroup) {
Iterator<IWidget> widgets = ((SimpleWidgetGroup) data).iterator();
while (widgets.hasNext()) {
IWidget w = widgets.next();
selection.deselectElement(w);
}
} else if ((halo instanceof FrameEltGroupHalo) && (data instanceof FrameElementGroup)) {
FrameEltGroupHalo groupHalo = (FrameEltGroupHalo) halo;
if (selection.isElementSelected(data)) {
selection.deselectSelnFig(groupHalo);
} else {
selection.selectSelnFig(groupHalo);
}
} else {
selection.deselectAll();
}
break;
}
// Move is complete, so apply changes to the model.
case MovingWidgets:
{
// Get selection, and use the difference between current
// and start location.
double moveByX = currentScaledX - scaledMouseDownX;
double moveByY = currentScaledY - scaledMouseDownY;
FrameEditorUI.MoveParameters prms = new FrameEditorUI.MoveParameters(moveByX, moveByY, selection);
ui.performAction(CogToolLID.MoveWidgets, prms);
break;
}
case ReorderWidget:
{
boolean reorder = reorderWidget(x, y, reorderParms);
ui.clearUISupport(true);
isReordering = false;
if (reorder) {
ui.performAction(FrameEditorLID.Reorder, reorderParms);
} else {
selection.deselectElement(lastClickedWidget);
}
InteractionDrawingEditor editor = ui.getViewEditor();
editor.removeInteractionFigure(reorderFigure);
editor.removeInteractionFigure(dividerLine);
break;
}
// since the user may have flipped the orientation.
case ResizingWidget:
{
// Switch to quality mode rendering for graphical widgets
setWidgetFastRenderMode(false);
if (currentScaledX < 0.0) {
currentScaledX = 0.0;
}
if (currentScaledY < 0.0) {
currentScaledY = 0.0;
}
// Deal with any anchoring issues
if (ui.resizeHandlesUIFig.isTopLeftAnchored()) {
switch(currentResizeHandleType) {
case FrameEditorUI.TOP_RIGHT:
{
// Cannot change Y position
currentScaledY = initialResizeArea.y;
break;
}
case FrameEditorUI.BOTTOM_LEFT:
{
// Cannot change X position
currentScaledX = initialResizeArea.x;
break;
}
default:
{
break;
}
}
// Cannot move left of top-left
if (currentScaledX < initialResizeArea.x) {
currentScaledX = initialResizeArea.x;
}
// Cannot move above of top-left
if (currentScaledY < initialResizeArea.y) {
currentScaledY = initialResizeArea.y;
}
}
double width = Math.abs(currentScaledX - mouseFixedResizeX);
double height = Math.abs(currentScaledY - mouseFixedResizeY);
FrameEditorUI.ResizeParameters prms = new FrameEditorUI.ResizeParameters(initialResizeArea.x, initialResizeArea.y, Math.min(currentScaledX, mouseFixedResizeX), Math.min(currentScaledY, mouseFixedResizeY), width / initialResizeArea.width, height / initialResizeArea.height, selection);
ui.performAction(CogToolLID.ResizeWidgets, prms);
break;
}
// Finished a mouse drag operation to create a new widget
case CreatingWidget:
{
if (currentScaledX < 0.0) {
currentScaledX = 0.0;
}
if (currentScaledY < 0.0) {
currentScaledY = 0.0;
}
double width = Math.abs(scaledMouseDownX - currentScaledX);
double height = Math.abs(scaledMouseDownY - currentScaledY);
double leftX = (scaledMouseDownX > currentScaledX) ? currentScaledX : scaledMouseDownX;
double topY = (scaledMouseDownY > currentScaledY) ? currentScaledY : scaledMouseDownY;
// Turn off the bounding box drawn.
ui.stopDrawingTemporaryFigure();
// Create a rectangle for the new region.
DoubleRectangle region = new DoubleRectangle(leftX, topY, width, height);
// width of 0. Probably this should be less then 2.
if ((region.width != 0.0) && (region.height != 0.0)) {
ui.performAction(CogToolLID.NewWidget, new FrameEditorUI.NewWidgetParameters(region, ui.getCurrentWidgetType(), ui.view.isAutomaticCreation()));
}
break;
}
// Finished a mouse drag operation to select a set of widgets
case TogglingSelection:
{
// Get the total area selected
double width = Math.abs(scaledMouseDownX - currentScaledX);
double height = Math.abs(scaledMouseDownY - currentScaledY);
// Get top left point.
double leftX = (scaledMouseDownX > currentScaledX) ? currentScaledX : scaledMouseDownX;
double topY = (scaledMouseDownY > currentScaledY) ? currentScaledY : scaledMouseDownY;
// Turn off the bounding box drawn.
ui.stopDrawingTemporaryFigure();
// Create the final region's area
DoubleRectangle region = new DoubleRectangle(leftX, topY, width, height);
// Loop through all figures and check for intersections
Iterator<GraphicalWidget<?>> gwFigures = ui.getFrameUI().getFigureListIterator();
while (gwFigures.hasNext()) {
GraphicalWidget<?> gw = gwFigures.next();
if (!(gw instanceof GraphicalChildWidget<?, ?>)) {
Rectangle bounds = gw.getBounds();
if (region.intersects(bounds.x, bounds.y, bounds.width, bounds.height)) {
// If the widget is already selected, deselect it.
if (selection.isSelectionFigureSelected(gw)) {
selection.deselectSelnFig(gw);
} else {
selection.selectSelnFig(gw);
}
}
}
}
break;
}
case PotentialInsertDuplicateWidget:
case PotentialDuplicatingWidget:
{
GraphicalWidget<?> widgetFig = ui.widgetLocatedAtXY(mouseDownX, mouseDownY);
selection.setSelectedSelnFig(widgetFig);
break;
}
case DuplicatingWidgets:
{
double dx = currentScaledX - scaledMouseDownX;
double dy = currentScaledY - scaledMouseDownY;
// Remove all the rectangle figures from the display, clear the list
clearRectFigures();
ui.performAction(FrameEditorLID.Duplicate, new FrameEditorUI.DuplicateParameters(dx, dy, selection));
break;
}
case InsertDuplicateWidget:
{
double dx = currentScaledX - scaledMouseDownX;
double dy = currentScaledY - scaledMouseDownY;
isReordering = false;
if (reorderWidget(x, y, insertDuplicateParms)) {
insertDuplicateParms.moveByX = dx;
insertDuplicateParms.moveByY = dy;
ui.performAction(FrameEditorLID.InsertDuplicate, insertDuplicateParms);
} else {
selection.deselectElement(lastClickedWidget);
}
InteractionDrawingEditor editor = ui.getViewEditor();
editor.removeInteractionFigure(reorderFigure);
editor.removeInteractionFigure(dividerLine);
break;
}
case PotentialMovingGridButtons:
{
if (movedGridButtons != null) {
movedGridButtons = NO_GRID_BUTTONS;
}
break;
}
case MovingGridButtons:
{
// Get selection, and use the difference between current
// and start location.
double moveByX;
double moveByY;
GraphicalWidget<?> gw = ui.getPotentialFigureOwner();
GridButton gb = (GridButton) gw.getModel();
DoublePoint start = gb.getShape().getOrigin();
if (moveIsVertical) {
moveByX = 0.0;
if (currentScaledY < minY) {
moveByY = (minY - start.y);
} else {
moveByY = currentScaledY - scaledMouseDownY;
}
} else {
moveByY = 0.0;
if (currentScaledX < minX) {
moveByX = (minX - start.x);
} else {
moveByX = currentScaledX - scaledMouseDownX;
}
}
if ((moveByX != 0.0) || (moveByY != 0.0)) {
FrameEditorUI.MoveParameters prms = new FrameEditorUI.MoveParameters(moveByX, moveByY, selection, false);
ui.performAction(CogToolLID.MoveWidgets, prms);
}
break;
}
}
// Clear the values used.
lastClickedWidget = null;
isMouseDownValid = false;
setMouseState(MouseUp);
}
cleanup();
return goForward;
}
use of edu.cmu.cs.hcii.cogtool.model.DoubleRectangle in project cogtool by cogtool.
the class FrameEditorMouseState method setUpReorderFigures.
protected void setUpReorderFigures() {
double zoom = ui.getZoom();
//set size of new rectangle object
DoubleRectangle bds = lastClickedWidget.getEltBounds();
Rectangle frameSize = new Rectangle();
frameSize.height = PrecisionUtilities.round(bds.height * zoom);
frameSize.width = PrecisionUtilities.round(bds.width * zoom);
frameSize.x = PrecisionUtilities.round(bds.x * zoom);
frameSize.y = PrecisionUtilities.round(bds.y * zoom);
InteractionDrawingEditor drawEditor = ui.getViewEditor();
reorderFigure.setBounds(frameSize);
reorderFigure.setOutline(true);
reorderFigure.setFill(false);
drawEditor.addInteractionFigure(reorderFigure);
dividerLine.setOutline(false);
dividerLine.setFill(true);
dividerLine.setBackgroundColor(ColorConstants.black);
drawEditor.addInteractionFigure(dividerLine);
dividerLine.setVisible(false);
isReordering = true;
}
use of edu.cmu.cs.hcii.cogtool.model.DoubleRectangle in project cogtool by cogtool.
the class DesignEditorController method setBackgroundImageOnFrames.
/**
* Sets the background image for the array of frames
*
* @param frames an array of IFrames
* @param imageData the new image, or null if none
* @param imageURL the file path of the new image, or
* <code>WidgetAttributes.NO_IMAGE</code>
*/
protected void setBackgroundImageOnFrames(final Frame[] frames, final byte[] imageData, final String imageURL, CogToolLID editLID) {
try {
// compute the size of the new image.
final DoubleRectangle imageSize = GraphicsUtil.getImageBounds(imageData);
// save previous data for undo/redo
final Map<Frame, ImageData> previousImageData = getBackgroundImageData(frames);
// do operation on all frames
for (Frame frame : frames) {
frame.setBackgroundImage(imageData, imageSize);
frame.setAttribute(WidgetAttributes.IMAGE_PATH_ATTR, imageURL);
}
// Add the undo edit
IUndoableEdit edit = new AUndoableEdit(editLID) {
@Override
public String getPresentationName() {
return (imageData == null) ? removeBackgroundImage : setBackgroundImage;
}
@Override
public void redo() {
super.redo();
// selected frames
try {
for (Frame frame : frames) {
frame.setBackgroundImage(imageData, imageSize);
frame.setAttribute(WidgetAttributes.IMAGE_PATH_ATTR, imageURL);
}
} catch (GraphicsUtil.ImageException ex) {
throw new RcvrImageException("Redo set background image failed", ex);
}
}
@Override
public void undo() {
super.undo();
try {
// iterate through frames
Iterator<Entry<Frame, ImageData>> imageEntryIterator = previousImageData.entrySet().iterator();
while (imageEntryIterator.hasNext()) {
Entry<Frame, ImageData> imageEntry = imageEntryIterator.next();
Frame f = imageEntry.getKey();
ImageData id = imageEntry.getValue();
f.setBackgroundImage(id.data, id.bounds);
f.setAttribute(WidgetAttributes.IMAGE_PATH_ATTR, id.imageURL);
}
} catch (GraphicsUtil.ImageException ex) {
throw new RcvrImageException("Undo set background image failed", ex);
}
}
};
undoMgr.addEdit(edit);
for (Frame frame : frames) {
UndoManager frameMgr = UndoManager.getUndoManager(frame, project);
frameMgr.addEdit(edit);
}
} catch (GraphicsUtil.ImageException e) {
// setBackgroundImage and GraphicsUtil.getImageBounds may
// throw ImageException, translating any other exception.
interaction.protestInvalidImageFile();
}
}
use of edu.cmu.cs.hcii.cogtool.model.DoubleRectangle 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());
}
Aggregations