home *** CD-ROM | disk | FTP | other *** search
Wrap
!!Script // Copyright ⌐ 1997-2001 - Modelworks Software /** @Tool: Source Control~defines the Source Control toolbar. This toolbar uses the sourceControl property set in the project to determine which source control database is used. @EndTool: @Summary: Source Control~defines the Source Control toolbar */ var gOutput = getOutput(); function OnNotify(event, cookie) { var toolbar = getGlobal("SourceControlToolbar"); if (event == "project.changed") { if (toolbar) { var activate = false; var project = getCurrentProject(); if (project) { activate = project.sourceControl.length > 0; if (activate) { var currentPath = getGlobal("SourceControlToolbar.ScriptPath"); var newPath = "Source Control\\" + project.sourceControl + "\\"; if (currentPath != newPath) { setGlobal("SourceControlToolbar.ScriptPath", newPath); UpdateToolBar(toolbar, newPath); } } } toolbar.enableButton(getGlobal("SourceControlToolbar.AddID"), activate); toolbar.enableButton(getGlobal("SourceControlToolbar.GetID"), activate); toolbar.enableButton(getGlobal("SourceControlToolbar.CheckOutID"), activate); toolbar.enableButton(getGlobal("SourceControlToolbar.CheckInID"), activate); toolbar.enableButton(getGlobal("SourceControlToolbar.UndoCheckOutID"), activate); toolbar.enableButton(getGlobal("SourceControlToolbar.StatusID"), activate); } } else if (cookie == toolbar && event == "toolbar.show") { var project = getCurrentProject(); if (project && project.sourceControl.length == 0) { alert("To activate the source control toolbar choose a\nsource control database using the Project menu's Add Package\nor Edit Package commands"); } else if (project == null) { alert("To activate the source control toolbar create or\nopen a project and choose a source control database\nusing the Add Package or Edit Package commands"); } } } function DoCommand() { var toolbar = newToolBar("Source Control", "docked"); setGlobal("SourceControlToolbar", toolbar); Application.registerNotify(getScriptPath(), "project.changed"); // call OnNotify when a project is changed Application.registerNotify(getScriptPath(), "toolbar.show"); // call OnNotify when toolbar.show is called var ssPath = "Source Control\\Vss2\\"; // initial source control setGlobal("SourceControlToolbar.ScriptPath", ssPath); var buttonAdd = newToolBarButton("icon"); buttonAdd.scriptPath = ssPath + "add.script"; buttonAdd.imagePath = "Toolbars\\Images\\Source Control\\add.bmp"; buttonAdd.description = "Add"; buttonAdd.toolTipText = "Add a file to the source control database"; var AddID = toolbar.setButton(0, buttonAdd); var buttonGet = newToolBarButton("icon"); buttonGet.scriptPath = ssPath + "get.script"; buttonGet.imagePath = "Toolbars\\Images\\Source Control\\get.bmp"; buttonGet.description = "Get"; buttonGet.toolTipText = "Get a file from the source control database"; var GetID = toolbar.setButton(1, buttonGet); var buttonCheckIn = newToolBarButton("icon"); buttonCheckIn.scriptPath = ssPath + "checkIn.script"; buttonCheckIn.imagePath = "Toolbars\\Images\\Source Control\\checkin.bmp"; buttonCheckIn.description = "Check In"; buttonCheckIn.toolTipText = "Check in a file to the source control database"; var CheckInID = toolbar.setButton(2, buttonCheckIn); var buttonCheckOut = newToolBarButton("icon"); buttonCheckOut.scriptPath = ssPath + "checkOut.script"; buttonCheckOut.imagePath = "Toolbars\\Images\\Source Control\\checkout.bmp"; buttonCheckOut.description = "Check Out"; buttonCheckOut.toolTipText = "Check Out a file from the source control database"; var CheckOutID = toolbar.setButton(3, buttonCheckOut); var buttonUndoCheckOut = newToolBarButton("icon"); buttonUndoCheckOut.scriptPath = ssPath + "undoCheckOut.script"; buttonUndoCheckOut.imagePath = "Toolbars\\Images\\Source Control\\undocheckout.bmp"; buttonUndoCheckOut.description = "Undo Check Out"; buttonUndoCheckOut.toolTipText = "Undo Check Out"; var UndoCheckOutID = toolbar.setButton(4, buttonUndoCheckOut); var buttonStatus = newToolBarButton("icon"); buttonStatus.scriptPath = ssPath + "status.script"; buttonStatus.imagePath = "Toolbars\\Images\\Source Control\\status.bmp"; buttonStatus.description = "Status"; buttonStatus.toolTipText = "Get the status of the source control database"; var StatusID = toolbar.setButton(5, buttonStatus); setGlobal("SourceControlToolbar.AddID", AddID); setGlobal("SourceControlToolbar.GetID", GetID); setGlobal("SourceControlToolbar.CheckInID", CheckInID); setGlobal("SourceControlToolbar.CheckOutID", CheckOutID); setGlobal("SourceControlToolbar.UndoCheckOutID",UndoCheckOutID); setGlobal("SourceControlToolbar.StatusID", StatusID); toolbar.restoreState(); } function UpdateToolBar(toolbar, ssPath) { var AddID = toolbar.setButton(0, ssPath + "add.script", "Add a file to the source control database", "Add"); var GetID = toolbar.setButton(1, ssPath + "get.script", "Get a file from the source control database", "Get"); var CheckInID = toolbar.setButton(2, ssPath + "checkIn.script", "Check in a file to the source control database", "Check In"); var CheckOutID = toolbar.setButton(3, ssPath + "checkOut.script", "Check Out a file from the source control database", "Check Out"); var UndoCheckOutID = toolbar.setButton(4, ssPath + "undoCheckOut.script", "Undo Check Out", "Undo Check Out"); var StatusID = toolbar.setButton(5, ssPath + "status.script", "Get the status of the source control database", "Status"); setGlobal("SourceControlToolbar.AddID", AddID); setGlobal("SourceControlToolbar.GetID", GetID); setGlobal("SourceControlToolbar.CheckInID", CheckInID); setGlobal("SourceControlToolbar.CheckOutID", CheckOutID); setGlobal("SourceControlToolbar.UndoCheckOutID",UndoCheckOutID); setGlobal("SourceControlToolbar.StatusID", StatusID); } !!/Script