public override void CommandClick(string controlID)
{
if (controlID == MENU_COMMAND_RENAME)
{
_guiController.ProjectTree.BeginLabelEdit(this, "Scr" + _rightClickedScript);
}
else if (controlID == MENU_COMMAND_DELETE)
{
if (_guiController.ShowQuestion("Are you sure you want to delete this script and its header?") == DialogResult.Yes)
{
Script chosenItem = _agsEditor.CurrentGame.Scripts.GetScriptByFilename(_rightClickedScript);
Script header = GetAssociatedScriptOrHeader(chosenItem, _rightClickedScript);
if (_editors.ContainsKey(chosenItem))
{
_guiController.RemovePaneIfExists(_editors[chosenItem]);
}
if (_editors.ContainsKey(header))
{
_guiController.RemovePaneIfExists(_editors[header]);
}
_agsEditor.CurrentGame.Scripts.Remove(chosenItem);
_agsEditor.CurrentGame.Scripts.Remove(header);
_agsEditor.DeleteFileOnDiskAndSourceControl(new string[] { chosenItem.FileName, header.FileName });
_agsEditor.CurrentGame.FilesAddedOrRemoved = true;
RePopulateTreeView(null);
}
}
else if (controlID == MENU_COMMAND_MOVE_UP)
{
Script chosenItem = _agsEditor.CurrentGame.Scripts.GetScriptByFilename(_rightClickedScript);
_agsEditor.CurrentGame.Scripts.MoveScriptAndHeaderUp(chosenItem);
RePopulateTreeView(chosenItem);
}
else if (controlID == MENU_COMMAND_MOVE_DOWN)
{
Script chosenItem = _agsEditor.CurrentGame.Scripts.GetScriptByFilename(_rightClickedScript);
_agsEditor.CurrentGame.Scripts.MoveScriptAndHeaderDown(chosenItem);
RePopulateTreeView(chosenItem);
}
else if (controlID == MENU_COMMAND_IMPORT)
{
string fileName = _guiController.ShowOpenFileDialog("Select script to import...", SCRIPT_MODULE_FILE_FILTER);
if (fileName != null)
{
ImportScriptModule(fileName);
}
}
else if (controlID == MENU_COMMAND_EXPORT)
{
string fileName = _guiController.ShowSaveFileDialog("Export script as...", SCRIPT_MODULE_FILE_FILTER);
if (fileName != null)
{
Script script = _agsEditor.CurrentGame.Scripts.GetScriptByFilename(_rightClickedScript);
Script header = GetAssociatedScriptOrHeader(script, _rightClickedScript);
if (script.IsHeader)
{
// they selected the header to export
Script temp = script;
script = header;
header = temp;
}
ExportScriptModule(header, script, fileName);
}
}
else if (controlID == MENU_COMMAND_NEW)
{
string newFileName = FindFirstAvailableFileName("NewScript");
Script newScript = new Script(newFileName + ".asc", "// new module script\r\n", false);
Script newHeader = new Script(newFileName + ".ash", "// new module header\r\n", true);
newScript.Modified = true;
newScript.SaveToDisk();
newHeader.Modified = true;
newHeader.SaveToDisk();
_agsEditor.CurrentGame.Scripts.AddAtTop(newScript);
_agsEditor.CurrentGame.Scripts.AddAtTop(newHeader);
_agsEditor.CurrentGame.FilesAddedOrRemoved = true;
RePopulateTreeView(newScript);
_guiController.ProjectTree.BeginLabelEdit(this, "Scr" + newScript.FileName);
}
else if (controlID == COMMAND_OPEN_GLOBAL_HEADER)
{
CreateOrShowEditorForScript(Script.GLOBAL_HEADER_FILE_NAME);
}
else if (controlID == COMMAND_OPEN_GLOBAL_SCRIPT)
{
CreateOrShowEditorForScript(Script.GLOBAL_SCRIPT_FILE_NAME);
}
else if (controlID != ROOT_COMMAND)
{
string scriptName = controlID.Substring(3);
CreateOrShowEditorForScript(scriptName);
}
}