/*******************************************************************************
* CogTool Copyright Notice and Distribution Terms
* CogTool 1.3, Copyright (c) 2005-2013 Carnegie Mellon University
* This software is distributed under the terms of the FSF Lesser
* Gnu Public License (see LGPL.txt).
*
* CogTool is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* CogTool is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with CogTool; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* CogTool makes use of several third-party components, with the
* following notices:
*
* Eclipse SWT version 3.448
* Eclipse GEF Draw2D version 3.2.1
*
* Unless otherwise indicated, all Content made available by the Eclipse
* Foundation is provided to you under the terms and conditions of the Eclipse
* Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this
* Content and is also available at http://www.eclipse.org/legal/epl-v10.html.
*
* CLISP version 2.38
*
* Copyright (c) Sam Steingold, Bruno Haible 2001-2006
* This software is distributed under the terms of the FSF Gnu Public License.
* See COPYRIGHT file in clisp installation folder for more information.
*
* ACT-R 6.0
*
* Copyright (c) 1998-2007 Dan Bothell, Mike Byrne, Christian Lebiere &
* John R Anderson.
* This software is distributed under the terms of the FSF Lesser
* Gnu Public License (see LGPL.txt).
*
* Apache Jakarta Commons-Lang 2.1
*
* This product contains software developed by the Apache Software Foundation
* (http://www.apache.org/)
*
* jopt-simple version 1.0
*
* Copyright (c) 2004-2013 Paul R. Holser, Jr.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Mozilla XULRunner 1.9.0.5
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/.
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
* License for the specific language governing rights and limitations
* under the License.
*
* The J2SE(TM) Java Runtime Environment version 5.0
*
* Copyright 2009 Sun Microsystems, Inc., 4150
* Network Circle, Santa Clara, California 95054, U.S.A. All
* rights reserved. U.S.
* See the LICENSE file in the jre folder for more information.
******************************************************************************/
package edu.cmu.cs.hcii.cogtool.ui;
import java.util.HashMap;
import java.util.Map;
import edu.cmu.cs.hcii.cogtool.CogToolLID;
import edu.cmu.cs.hcii.cogtool.util.ListenerIdentifier;
/**
* Specialization of <code>CogToolLID</code> values to actions
* performed by a <code>ProjectController</code>.
* Also, actions totally specific to project interaction.
* <p>
* Generic Selected -> Specific
* Action Object Action
* ------- -------- --------
* Cut Design -> CutDesign
* Cut AUndertaking -> CutTask
* Copy Design -> CopyDesign
* Copy AUndertaking -> CopyTask
* Edit Design -> EditDesign
* Edit AUndertaking -> EditTask
* Duplicate Design -> DuplicateDesign
* Duplicate AUndertaking -> DuplicateTask
* Rename Design -> RenameDesign
* Rename AUndertaking -> RenameTask
* Delete Design -> DeleteDesign
* Delete AUndertaking -> DeleteTask
* <p>
* Actions specific to project interaction:
* InitiateTaskRename, EditScript,
* ExportACTRTrace, ExportActrModelFile, CopyResultsToClipboard,
* ExportToHCIPA
*
* @author mlh
*/
public class ProjectLID extends CogToolLID
{
public static final ProjectLID CutDesign =
new ProjectLID("CutDesign", 1006, CAUSES_DESIGN_SELECTION);
public static final ProjectLID CutTask =
new ProjectLID("CutTask", 2006, CAUSES_TASK_SELECTION);
public static final ProjectLID CopyDesign =
new ProjectLID("CopyDesign", 1007);
public static final ProjectLID CopyTask =
new ProjectLID("CopyTask", 2007);
public static final ProjectLID EditDesign =
new ProjectLID("EditDesign", 1013);
public static final ProjectLID ViewGroupScript =
new ProjectLID("ViewGroupScript", 1017);
public static final ProjectLID EditTask =
new ProjectLID("EditTask", 2013);
public static final ProjectLID DuplicateDesign =
new ProjectLID("DuplicateDesign", 1014, CAUSES_DESIGN_SELECTION);
public static final ProjectLID DuplicateTask =
new ProjectLID("DuplicateTask", 2014, CAUSES_TASK_SELECTION);
public static final ProjectLID RenameDesign =
new ProjectLID("RenameDesign", 1015);
public static final ProjectLID RenameTask =
new ProjectLID("RenameTask", 2015);
public static final ProjectLID InitiateTaskRename =
new ProjectLID("InitiateTaskRename", 2915);
public static final ProjectLID DeleteDesign =
new ProjectLID("DeleteDesign", 1016, CAUSES_DESIGN_SELECTION);
public static final ProjectLID DeleteTask =
new ProjectLID("DeleteTask", 2016, CAUSES_TASK_SELECTION);
public static final ProjectLID EditScript =
new ProjectLID("EditScript", 2017);
public static final ProjectLID ExportTraces =
new ProjectLID("ExportTraces", 2018);
public static final ProjectLID DisplayTraces =
new ProjectLID("DisplayTraces", 2019);
public static final ProjectLID ExportActrModelFile =
new ProjectLID("ExportActrModelFile", 2020);
public static final ProjectLID ExportForSanlab =
new ProjectLID("ExportActrModelFile", 2021);
public static final ProjectLID NewProjectNewDesign =
new ProjectLID("NewProjectNewDesign", 2022, CAUSES_DESIGN_SELECTION);
public static final ProjectLID ImportHumanCSVFile =
new ProjectLID("ImportHumanCSVFile", 2026);
public static final ProjectLID SetAlgorithmACTR6 =
new ProjectLID("SetAlgorithmACTR6", 2030);
public static final ProjectLID SetAlgorithmACTR5 =
new ProjectLID("SetAlgorithmACTR5", 2031);
public static final ProjectLID SetAlgorithmSNIFACT =
new ProjectLID("SetAlgorithmSNIFACT", 2066);
public static final ProjectLID EditHumanCSVFile =
new ProjectLID("EditHumanCSVFile", 2034);
public static final ProjectLID SetAlgorithmHuman =
new ProjectLID("SetAlgorithmHuman", 2035);
public static final ProjectLID SetBackgroundComputationDefault =
new ProjectLID("SetBackgroundComputationDefault", 2037);
public static final ProjectLID SetAlgorithmDefault =
new ProjectLID("SetAlgorithmDefault", 2039);
public static final ProjectLID SetProjDefaultAlgoACTR =
new ProjectLID("SetProjDefaultAlgoACTR", 2040);
public static final ProjectLID SetProjDefaultAlgoSNIFACT =
new ProjectLID("SetProjDefaultAlgoSNIFACT", 2067);
public static final ProjectLID SetBackgroundComputationTrue =
new ProjectLID("SetBackgroundComputationTrue", 2042);
public static final ProjectLID SetBackgroundComputationFalse =
new ProjectLID("SetBackgroundComputationFalse", 2043);
public static final ProjectLID SetProjExecBackground =
new ProjectLID("SetProjExecBackground", 2044);
public static final ProjectLID SetProjExecForeground =
new ProjectLID("SetProjExecForeground", 2045);
public static final ProjectLID GenerateACTRModelFile =
new ProjectLID("GenerateACTRModelFile", 2048);
public static final ProjectLID EditACTRModelFile =
new ProjectLID("EditACTRModelFile", 2049);
public static final ProjectLID CopyResultsToClipboard =
new ProjectLID("CopyResultsToClipboard", 2050);
public static final ProjectLID PromoteTask =
new ProjectLID("PromoteTask", 2051, CAUSES_TASK_SELECTION);
public static final ProjectLID DemoteTask =
new ProjectLID("DemoteTask", 2052, CAUSES_TASK_SELECTION);
public static final ProjectLID MoveTaskEarlier =
new ProjectLID("MoveTaskEarlier", 2053, CAUSES_TASK_SELECTION);
public static final ProjectLID MoveTaskLater =
new ProjectLID("MoveTaskLater", 2054, CAUSES_TASK_SELECTION);
public static final ProjectLID HCIPARenameTask =
new ProjectLID("HCIPARenameTask", 2055);
public static final ProjectLID ExportToHCIPA =
new ProjectLID("ExportToHCIPA", 2056);
public static final ProjectLID ChangeTaskPosition =
new ProjectLID("ChangeTaskPosition", 2057, CAUSES_TASK_SELECTION);
public static final ProjectLID DuplicateTaskFull =
new ProjectLID("DuplicateTaskFull", 2058, CAUSES_TASK_SELECTION);
public static final ProjectLID GenerateDictionary =
new ProjectLID("GenerateDictionary", 2059);
public static final ProjectLID EditDictionary =
new ProjectLID("EditDictionary", 2060);
public static final ProjectLID ExportDictToCSV =
new ProjectLID("ExportDictToCSV", 2061);
public static final ProjectLID ImportDict =
new ProjectLID("ImportDictFromCSV", 2062);
public static final ProjectLID MoveTaskApplication =
new ProjectLID("MoveTaskApplication", 2064, CAUSES_CELL_SELECTION);
public static final ProjectLID DuplicateTaskApplication =
new ProjectLID("DuplicateTaskApplication", 2065, CAUSES_CELL_SELECTION);
/**
* The mapping from generic to specific LIDs for designs
*/
public static final Map<ListenerIdentifier, ListenerIdentifier> designLIDs =
new HashMap<ListenerIdentifier, ListenerIdentifier>();
static {
designLIDs.put(CogToolLID.Cut, CutDesign);
designLIDs.put(CogToolLID.Copy, CopyDesign);
designLIDs.put(CogToolLID.Edit, EditDesign);
designLIDs.put(CogToolLID.Duplicate, DuplicateDesign);
designLIDs.put(CogToolLID.Rename, RenameDesign);
designLIDs.put(CogToolLID.Delete, DeleteDesign);
}
/**
* The mapping from generic to specific LIDs for undertakings
*/
public static final Map<ListenerIdentifier, ListenerIdentifier> taskLIDs =
new HashMap<ListenerIdentifier, ListenerIdentifier>();
static {
taskLIDs.put(CogToolLID.Cut, CutTask);
taskLIDs.put(CogToolLID.Copy, CopyTask);
taskLIDs.put(CogToolLID.Edit, EditTask);
taskLIDs.put(CogToolLID.Duplicate, DuplicateTask);
taskLIDs.put(CogToolLID.Rename, InitiateTaskRename);
taskLIDs.put(CogToolLID.Delete, DeleteTask);
}
/**
* The mapping from generic to specific LIDs for undertakings
*/
public static final Map<ListenerIdentifier, ListenerIdentifier> scriptLIDs =
new HashMap<ListenerIdentifier, ListenerIdentifier>();
static {
scriptLIDs.put(CogToolLID.Edit, EditScript);
}
/**
* Constructor for new LID values.
*
* @param newLabel the label for the new value
* @param newPersistenceValue the enumeration code for the new value
* @param selectionCanHappen whether selection could happen as a result
* of the operation represented by this LID
* @author mlh
*/
protected ProjectLID(String newLabel,
int newPersistenceValue,
int selectionCanHappen)
{
super(newLabel, newPersistenceValue, selectionCanHappen);
}
/**
* Constructor for new LID values.
*
* @param newLabel the label for the new value
* @param newPersistenceValue the enumeration code for the new value
* @author mlh
*/
protected ProjectLID(String newLabel, int newPersistenceValue)
{
this(newLabel, newPersistenceValue, CAUSES_NO_SELECTION);
}
}