use of edu.cmu.cs.hcii.cogtool.model.ActionScriptStep in project cogtool by cogtool.
the class SEDemoController method performSelfTransition.
protected boolean performSelfTransition(SEDemoSelectionState selection, TransitionSource source, AAction action, double delayInSecs, String delayLabel) {
AScriptStep beforeStep = getDemoStep(selection);
ActionScriptStep selfTransitionStep = new ActionScriptStep(action, source);
selfTransitionStep.setDelay(delayInSecs, delayLabel);
if (source instanceof IWidget) {
IWidget widget = (IWidget) source;
ActionType actionType = action.getType();
WidgetType widgetType = widget.getWidgetType();
if (toggleIfGermane(widget, selfTransitionStep, action)) {
// Do nothing further
} else if ((actionType == ActionType.KeyPress) || (actionType == ActionType.GraffitiStroke)) {
TextAction text = (TextAction) action;
if (widgetType == WidgetType.TextBox) {
selfTransitionStep.overrideAttribute(widget, WidgetAttributes.APPENDED_TEXT_ATTR, text.getText());
}
}
}
return insertStep(selfTransitionStep, beforeStep, SEDemoLID.InsertSelfTransition, INSERT_SELF_TRANSITION);
}
use of edu.cmu.cs.hcii.cogtool.model.ActionScriptStep in project cogtool by cogtool.
the class SEDemoController method assignActions.
@Override
public void assignActions() {
super.assignActions();
ui.setAction(SEDemoLID.Undo, new UndoController.UndoAction(undoMgr, interaction));
ui.setAction(SEDemoLID.Redo, new UndoController.RedoAction(undoMgr, interaction));
ui.setAction(SEDemoLID.SetMouseHand, createSetMouseHandAction());
ui.setAction(SEDemoLID.SetHandLocation, createSetHandLocationAction());
ui.setAction(SEDemoLID.PerformTransition, createPerformTransitionAction());
ui.setAction(SEDemoLID.InsertThink, new IListenerAction() {
public Class<?> getParameterClass() {
return SEDemoSelectionState.class;
}
public boolean performAction(Object prms) {
SEDemoSelectionState selection = (SEDemoSelectionState) prms;
return performInsertThink(selection);
}
});
ui.setAction(SEDemoLID.ChangeThinkProperties, new IListenerAction() {
public Class<?> getParameterClass() {
return SEDemoSelectionState.class;
}
public boolean performAction(Object prms) {
SEDemoSelectionState selection = (SEDemoSelectionState) prms;
return performChangeThink(selection);
}
});
ui.setAction(SEDemoLID.InsertDelay, new IListenerAction() {
public Class<?> getParameterClass() {
return SEDemoSelectionState.class;
}
public boolean performAction(Object prms) {
SEDemoSelectionState selection = (SEDemoSelectionState) prms;
return performInsertDelay(selection);
}
});
ui.setAction(SEDemoLID.ChangeWaitProperties, new IListenerAction() {
public Class<?> getParameterClass() {
return SEDemoSelectionState.class;
}
public boolean performAction(Object prms) {
SEDemoSelectionState selection = (SEDemoSelectionState) prms;
return performChangeDelay(selection);
}
});
ui.setAction(SEDemoLID.Edit, new IListenerAction() {
public Class<?> getParameterClass() {
return SEDemoSelectionState.class;
}
public boolean performAction(Object prms) {
SEDemoSelectionState selection = (SEDemoSelectionState) prms;
DefaultModelGeneratorState selectedState = selection.getSelectedState();
if (selectedState == null) {
interaction.protestNoStep();
return false;
}
AScriptStep step = selectedState.getScriptStep();
if (step instanceof ThinkScriptStep) {
return performChangeThink(selection);
}
if (step instanceof DelayScriptStep) {
return performChangeDelay(selection);
}
if ((step instanceof ActionScriptStep) && step.isDemonstrated() && step.isInsertedByUser()) {
return performEditSelfTransition((ActionScriptStep) step);
}
step = step.getOwner();
if ((step instanceof ActionScriptStep) && step.isDemonstrated() && step.isInsertedByUser()) {
return performEditSelfTransition((ActionScriptStep) step);
}
interaction.protestNotEditable();
return false;
}
});
ui.setAction(SEDemoLID.InsertDrive, new IListenerAction() {
public Class<?> getParameterClass() {
return SEDemoSelectionState.class;
}
public boolean performAction(Object prms) {
SEDemoSelectionState selection = (SEDemoSelectionState) prms;
return performInsertDrive(selection);
}
});
ui.setAction(SEDemoLID.InsertLookAt, new IListenerAction() {
public Class<?> getParameterClass() {
return SEDemoUI.LookAtTransition.class;
}
public boolean performAction(Object prms) {
SEDemoUI.LookAtTransition lookAt = (SEDemoUI.LookAtTransition) prms;
return performInsertLookAt(lookAt.selection, lookAt.target);
}
});
ui.setAction(SEDemoLID.InsertSelfTransition, createInsertSelfTransitionAction());
ui.setAction(SEDemoLID.Delete, new IListenerAction() {
public Class<?> getParameterClass() {
return SEDemoSelectionState.class;
}
public boolean performAction(Object prms) {
// If not the "most recent" step state, warn
// the user that this will remove all
// items after as well, unless it's a think,
// look-at or other non-transitioning item.
SEDemoSelectionState selection = (SEDemoSelectionState) prms;
return deleteScriptStep(selection);
}
});
ui.setAction(SEDemoLID.RegenerateScript, createRegenerateScriptAction());
ui.setAction(SEDemoLID.RecomputeScript, createSaveScriptChangesAction());
ui.setAction(SEDemoLID.ExportScriptToCSV, createExportScriptToCSVAction());
ui.setAction(DesignEditorLID.EditFrame, createEditFrameAction());
ui.setAction(SEDemoLID.ShowModelVisualization, createShowModelVisualizationAction());
}
Aggregations