AutomationRequestOutput FindProject(AutomationRequest Request) { BinaryReader Reader = new BinaryReader(new MemoryStream(Request.Input.Data)); string StreamName = Reader.ReadString(); string ProjectPath = Reader.ReadString(); for (int ExistingTabIdx = 0; ExistingTabIdx < TabControl.GetTabCount(); ExistingTabIdx++) { WorkspaceControl ExistingWorkspace = TabControl.GetTabData(ExistingTabIdx) as WorkspaceControl; if (ExistingWorkspace != null && String.Compare(ExistingWorkspace.StreamName, StreamName, StringComparison.OrdinalIgnoreCase) == 0 && ExistingWorkspace.SelectedProject != null) { string ClientPath = ExistingWorkspace.SelectedProject.ClientPath; if (ClientPath != null && ClientPath.StartsWith("//")) { int SlashIdx = ClientPath.IndexOf('/', 2); if (SlashIdx != -1) { string ExistingProjectPath = ClientPath.Substring(SlashIdx); if (String.Compare(ExistingProjectPath, ProjectPath, StringComparison.OrdinalIgnoreCase) == 0) { return(new AutomationRequestOutput(AutomationRequestResult.Ok, Encoding.UTF8.GetBytes(ExistingWorkspace.SelectedFileName))); } } } } } return(new AutomationRequestOutput(AutomationRequestResult.NotFound)); }
private void OkButton_Click(object sender, EventArgs e) { string[] NewGlobalView = GlobalControl.GetView(); string[] NewWorkspaceView = WorkspaceControl.GetView(); if (NewGlobalView.Any(x => x.Contains("//")) || NewWorkspaceView.Any(x => x.Contains("//"))) { if (MessageBox.Show(this, "Custom views should be relative to the stream root (eg. -/Engine/...).\r\n\r\nFull depot paths (eg. //depot/...) will not match any files.\r\n\r\nAre you sure you want to continue?", "Invalid view", MessageBoxButtons.OKCancel) != System.Windows.Forms.DialogResult.OK) { return; } } GlobalView = NewGlobalView; bGlobalSyncAllProjects = GlobalControl.SyncAllProjects.Checked; bGlobalIncludeAllProjectsInSolution = GlobalControl.IncludeAllProjectsInSolution.Checked; WorkspaceView = NewWorkspaceView; bWorkspaceSyncAllProjects = (WorkspaceControl.SyncAllProjects.Checked == bGlobalSyncAllProjects)? (bool?)null : WorkspaceControl.SyncAllProjects.Checked; bWorkspaceIncludeAllProjectsInSolution = (WorkspaceControl.IncludeAllProjectsInSolution.Checked == bGlobalIncludeAllProjectsInSolution)? (bool?)null : WorkspaceControl.IncludeAllProjectsInSolution.Checked; GetExcludedCategories(out GlobalSyncCategories, out WorkspaceSyncCategories); DialogResult = DialogResult.OK; }
private void MainWindow_FormClosing(object Sender, FormClosingEventArgs EventArgs) { if (!bAllowClose && Settings.bKeepInTray) { Hide(); EventArgs.Cancel = true; } else { for (int Idx = 0; Idx < TabControl.GetTabCount(); Idx++) { WorkspaceControl Workspace = (WorkspaceControl)TabControl.GetTabData(Idx); if (!Workspace.CanClose()) { EventArgs.Cancel = true; return; } } ActivationListener.OnActivate -= OnActivationListenerAsyncCallback; ActivationListener.Stop(); UpdateMonitor.OnUpdateAvailable -= OnUpdateAvailable; UpdateMonitor.Close(); // prevent race condition StopScheduleTimer(); Rectangle SaveBounds = (WindowState == FormWindowState.Normal)? Bounds : RestoreBounds; Settings.WindowRectangle = SaveBounds; Settings.bWindowVisible = Visible; Settings.Save(); } }
public override void OnInspectorGUI() { serializedObject.Update(); GUILayout.Label("Deathblow Control Asset"); GUILayout.Label($"Database loaded: {WorkspaceControl.Database != null}"); var property = serializedObject.FindProperty("_currentWorkspace"); var objectReference = property.objectReferenceValue; EditorGUILayout.PropertyField(property); serializedObject.ApplyModifiedProperties(); if (objectReference != property.objectReferenceValue || GUILayout.Button("Reload workspace") || property.objectReferenceValue != null && WorkspaceControl.Database == null && !WorkspaceControl.LoadingDatabase) { WorkspaceControl.UpdateWorkspace((WorkspaceConfiguration)property.objectReferenceValue); } if (WorkspaceControl.Ok) { if (WorkspaceControl.SavingDatabase) { GUILayout.Label("Saving database..."); } else if (GUILayout.Button("Save workspace")) { WorkspaceControl.SaveWorkspace(WorkspaceControl.CurrentWorkspace); } } }
public void OnClosed(object sender, EventArgs e) { MainMenu.Dispose(); WorkspaceControl.Dispose(); Dispose(); }
public SyncFilter(Dictionary <Guid, WorkspaceSyncCategory> InUniqueIdToCategory, string[] InGlobalView, Dictionary <Guid, bool> InGlobalSyncCategories, bool bInGlobalProjectOnly, bool bInGlobalIncludeAllProjectsInSolution, string[] InWorkspaceView, Dictionary <Guid, bool> InWorkspaceSyncCategories, bool?bInWorkspaceProjectOnly, bool?bInWorkspaceIncludeAllProjectsInSolution) { InitializeComponent(); UniqueIdToCategory = InUniqueIdToCategory; GlobalSyncCategories = InGlobalSyncCategories; GlobalView = InGlobalView; bGlobalSyncAllProjects = bInGlobalProjectOnly; bGlobalIncludeAllProjectsInSolution = bInGlobalIncludeAllProjectsInSolution; WorkspaceSyncCategories = InWorkspaceSyncCategories; WorkspaceView = InWorkspaceView; bWorkspaceSyncAllProjects = bInWorkspaceProjectOnly; bWorkspaceIncludeAllProjectsInSolution = bInWorkspaceIncludeAllProjectsInSolution; Dictionary <Guid, bool> SyncCategories = WorkspaceSyncCategory.GetDefault(UniqueIdToCategory.Values); WorkspaceSyncCategory.ApplyDelta(SyncCategories, InGlobalSyncCategories); GlobalControl.SetView(GlobalView); SetExcludedCategories(GlobalControl.CategoriesCheckList, UniqueIdToCategory, SyncCategories); GlobalControl.SyncAllProjects.Checked = bGlobalSyncAllProjects; GlobalControl.IncludeAllProjectsInSolution.Checked = bGlobalIncludeAllProjectsInSolution; WorkspaceSyncCategory.ApplyDelta(SyncCategories, InWorkspaceSyncCategories); WorkspaceControl.SetView(WorkspaceView); SetExcludedCategories(WorkspaceControl.CategoriesCheckList, UniqueIdToCategory, SyncCategories); WorkspaceControl.SyncAllProjects.Checked = bWorkspaceSyncAllProjects ?? bGlobalSyncAllProjects; WorkspaceControl.IncludeAllProjectsInSolution.Checked = bWorkspaceIncludeAllProjectsInSolution ?? bGlobalIncludeAllProjectsInSolution; GlobalControl.CategoriesCheckList.ItemCheck += GlobalControl_CategoriesCheckList_ItemCheck; GlobalControl.SyncAllProjects.CheckStateChanged += GlobalControl_SyncAllProjects_CheckStateChanged; GlobalControl.IncludeAllProjectsInSolution.CheckStateChanged += GlobalControl_IncludeAllProjectsInSolution_CheckStateChanged; }
public void StreamChanged(WorkspaceControl Workspace) { MainThreadSynchronizationContext.Post((o) => { if (!IsDisposed) { StreamChangedCallback(Workspace); } }, null); }
public void BrowseForProject(WorkspaceControl Workspace) { int TabIdx = TabControl.FindTabIndex(Workspace); if (TabIdx != -1) { BrowseForProject(TabIdx); } }
public void RequestProjectChange(WorkspaceControl Workspace, string ProjectFileName) { int TabIdx = TabControl.FindTabIndex(Workspace); if (TabIdx != -1) { TryOpenProject(ProjectFileName, TabIdx); } }
public void EditSelectedProject(WorkspaceControl Workspace) { int TabIdx = TabControl.FindTabIndex(Workspace); if (TabIdx != -1) { EditSelectedProject(TabIdx, Workspace.SelectedProject); } }
public void RequestProjectChange(WorkspaceControl Workspace, UserSelectedProjectSettings Project) { int TabIdx = TabControl.FindTabIndex(Workspace); if (TabIdx != -1) { TryOpenProject(Project, TabIdx); } }
private void ScheduleTimerElapsed() { for (int Idx = 0; Idx < TabControl.GetTabCount(); Idx++) { WorkspaceControl Workspace = TabControl.GetTabData(Idx) as WorkspaceControl; if (Workspace != null) { Workspace.ScheduleTimerElapsed(); } } }
private void StartAutomatedSyncAfterStartup(WorkspaceControl Workspace, bool bCancel, AutomationRequest Request) { if (bCancel) { Request.SetOutput(new AutomationRequestOutput(AutomationRequestResult.Canceled)); } else { Workspace.SyncLatestChange(Result => CompleteAutomatedSync(Result, Workspace.SelectedFileName, Request)); } }
private void ScheduleSettledTimerElapsed() { for (int Idx = 0; Idx < TabControl.GetTabCount(); Idx++) { WorkspaceControl Workspace = TabControl.GetTabData(Idx) as WorkspaceControl; if (Workspace != null && (Settings.ScheduleAnyOpenProject || Settings.ScheduleProjects.Contains(Workspace.SelectedProject))) { Workspace.ScheduleTimerElapsed(); } } }
void TabControl_OnTabClosed(object Data) { WorkspaceControl Workspace = (WorkspaceControl)Data; if (CurrentWorkspace == Workspace) { CurrentWorkspace = null; } Workspace.Dispose(); SaveTabSettings(); }
void SaveTabSettings() { List <string> OpenProjectFileNames = new List <string>(); for (int TabIdx = 0; TabIdx < TabControl.GetTabCount(); TabIdx++) { WorkspaceControl Workspace = (WorkspaceControl)TabControl.GetTabData(TabIdx); OpenProjectFileNames.Add(Workspace.SelectedFileName); } Settings.OpenProjectFileNames = OpenProjectFileNames.ToArray(); Settings.Save(); }
public void SetTabNames(TabLabels NewTabNames) { if (Settings.TabLabels != NewTabNames) { Settings.TabLabels = NewTabNames; Settings.Save(); for (int Idx = 0; Idx < TabControl.GetTabCount(); Idx++) { WorkspaceControl Workspace = (WorkspaceControl)TabControl.GetTabData(Idx); TabControl.SetTabName(Idx, GetTabName(Workspace)); } } }
static void Main() { try { System.Windows.Forms.Application.EnableVisualStyles(); System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false); Application.ActiveApplication = new Application(); //Application.ActiveApplication. //To do your work. // Application.ActiveApplication.PluginManager.PluginLoaded += new SuperMap.Desktop.PluginLoadedEventHandler(PluginManager_PluginLoaded); // += new SuperMap.Desktop.PluginLoadedEventHandler(PluginManager_PluginLoaded); ; Application.ActiveApplication.SplashForm.Show(); Application.ActiveApplication.Initialize(); Application.ActiveApplication.SplashForm.Hide(); WorkspaceControl workspaceControl = SuperMap.Desktop.Application.ActiveApplication.MainForm.DockBarManager[typeof(WorkspaceControlManager)].Control as WorkspaceControl; if (workspaceControl != null) { //string path = @"D:\Program Files (x86)\SuperMap\SuperMap iDesktop 7C\Bin\Default.smwu"; // //@"\Default.smwu"; //string mm = @"\Default.smwu"; //WorkspaceConnectionInfo conInfo1 = new WorkspaceConnectionInfo(path); //bool dd = workspaceControl.WorkspaceTree.Workspace.Open(conInfo1); DatasourceConnectionInfo dataSourceConnectionInfo = new DatasourceConnectionInfo(); dataSourceConnectionInfo.Server = @"..\Default.udd"; dataSourceConnectionInfo.Alias = "dafault"; Datasource targetDatasource; bool isExist = File.Exists(dataSourceConnectionInfo.Server); if (isExist) { targetDatasource = workspaceControl.WorkspaceTree.Workspace.Datasources.Open(dataSourceConnectionInfo); //targetDatasource = workspaceControl.WorkspaceTree.Workspace.Datasources[dataSourceConnectionInfo.Alias]; } else { targetDatasource = workspaceControl.WorkspaceTree.Workspace.Datasources.Create(dataSourceConnectionInfo); } } Application.ActiveApplication.Run(); Application.ActiveApplication.Exit(); } catch (Exception ex) { } }
public SyncFilter(Dictionary <Guid, WorkspaceSyncCategory> InUniqueIdToCategory, string[] InGlobalView, Guid[] InGlobalExcludedCategories, string[] InWorkspaceView, Guid[] InWorkspaceExcludedCategories) { InitializeComponent(); UniqueIdToCategory = InUniqueIdToCategory; GlobalExcludedCategories = InGlobalExcludedCategories; GlobalView = InGlobalView; WorkspaceExcludedCategories = InWorkspaceExcludedCategories; WorkspaceView = InWorkspaceView; GlobalControl.SetView(GlobalView); SetExcludedCategories(GlobalControl.CategoriesCheckList, UniqueIdToCategory, GlobalExcludedCategories); WorkspaceControl.SetView(WorkspaceView); SetExcludedCategories(WorkspaceControl.CategoriesCheckList, UniqueIdToCategory, WorkspaceExcludedCategories); }
public void EditSelectedProject(int TabIdx) { object TabData = TabControl.GetTabData(TabIdx); if (TabData is WorkspaceControl) { WorkspaceControl Workspace = (WorkspaceControl)TabData; EditSelectedProject(TabIdx, Workspace.SelectedProject); } else if (TabData is ErrorPanel) { ErrorPanel Error = (ErrorPanel)TabData; EditSelectedProject(TabIdx, Error.SelectedProject); } }
public void RequestProjectChange(WorkspaceControl Workspace, UserSelectedProjectSettings Project, bool bModal) { int TabIdx = TabControl.FindTabIndex(Workspace); if (TabIdx != -1 && !Workspace.IsBusy() && CanFocus) { if (bModal) { TryOpenProject(Project, TabIdx); } else { TryOpenProject(Project, TabIdx, OpenProjectOptions.Quiet); } } }
private void OnUpdateAvailable() { if (!ContainsFocus && Form.ActiveForm != this) { for (int TabIdx = 0; TabIdx < TabControl.GetTabCount(); TabIdx++) { WorkspaceControl Workspace = (WorkspaceControl)TabControl.GetTabData(TabIdx); if (Workspace.IsBusy()) { return; } } bAllowClose = true; Close(); } }
private void ScheduleSettledTimerElapsed() { Log.WriteLine("Schedule: Starting Sync"); for (int Idx = 0; Idx < TabControl.GetTabCount(); Idx++) { WorkspaceControl Workspace = TabControl.GetTabData(Idx) as WorkspaceControl; if (Workspace != null) { Log.WriteLine("Schedule: Considering {0}", Workspace.SelectedFileName); if (Settings.ScheduleAnyOpenProject || Settings.ScheduleProjects.Contains(Workspace.SelectedProject)) { Log.WriteLine("Schedule: Starting Sync"); Workspace.ScheduleTimerElapsed(); } } } }
string GetTabName(WorkspaceControl Workspace) { switch (Settings.TabLabels) { case TabLabels.Stream: return(Workspace.StreamName); case TabLabels.ProjectFile: return(Workspace.SelectedFileName); case TabLabels.WorkspaceName: return(Workspace.ClientName); case TabLabels.WorkspaceRoot: default: return(Workspace.BranchDirectoryName); } }
public void UpdateProgress() { TaskbarState State = TaskbarState.NoProgress; float Progress = -1.0f; for (int Idx = 0; Idx < TabControl.GetTabCount(); Idx++) { WorkspaceControl Workspace = (WorkspaceControl)TabControl.GetTabData(Idx); Tuple <TaskbarState, float> DesiredTaskbarState = Workspace.DesiredTaskbarState; if (DesiredTaskbarState.Item1 == TaskbarState.Error) { State = TaskbarState.Error; TabControl.SetHighlight(Idx, Tuple.Create(Color.FromArgb(204, 64, 64), 1.0f)); } else if (DesiredTaskbarState.Item1 == TaskbarState.Paused && State != TaskbarState.Error) { State = TaskbarState.Paused; TabControl.SetHighlight(Idx, Tuple.Create(Color.FromArgb(255, 242, 0), 1.0f)); } else if (DesiredTaskbarState.Item1 == TaskbarState.Normal && State != TaskbarState.Error && State != TaskbarState.Paused) { State = TaskbarState.Normal; Progress = Math.Max(Progress, DesiredTaskbarState.Item2); TabControl.SetHighlight(Idx, Tuple.Create(Color.FromArgb(28, 180, 64), DesiredTaskbarState.Item2)); } else { TabControl.SetHighlight(Idx, null); } } if (State == TaskbarState.Normal) { Taskbar.SetState(Handle, TaskbarState.Normal); Taskbar.SetProgress(Handle, (ulong)(Progress * 1000.0f), 1000); } else { Taskbar.SetState(Handle, State); } }
private void OkButton_Click(object sender, EventArgs e) { string[] NewGlobalView = GlobalControl.GetView(); string[] NewWorkspaceView = WorkspaceControl.GetView(); if (NewGlobalView.Any(x => x.Contains("//")) || NewWorkspaceView.Any(x => x.Contains("//"))) { if (MessageBox.Show(this, "Custom views should be relative to the stream root (eg. -/Engine/...).\r\n\r\nFull depot paths (eg. //depot/...) will not match any files.\r\n\r\nAre you sure you want to continue?", "Invalid view", MessageBoxButtons.OKCancel) != System.Windows.Forms.DialogResult.OK) { return; } } GlobalView = NewGlobalView; GlobalExcludedCategories = GetExcludedCategories(GlobalControl.CategoriesCheckList, GlobalExcludedCategories); WorkspaceView = NewWorkspaceView; WorkspaceExcludedCategories = GetExcludedCategories(WorkspaceControl.CategoriesCheckList, WorkspaceExcludedCategories); DialogResult = DialogResult.OK; }
public SampleRun(WorkspaceControl workspaceControl, LayersControl layersControl, MapControl mapControl, MapControl mapControl2, MapLayoutControl mapLayoutControl1, ToolStripStatusLabel toolStripStatusLabel2, TextBox textBoxResult, ToolStripStatusLabel toolStripStatusLabel3, SceneControl scenecontrol ) { workspaceControl1 = workspaceControl; workspace1 = workspaceControl1.WorkspaceTree.Workspace; layersControl1 = layersControl; mapControl1 = mapControl; m_mapControlEagleEye = mapControl2; m_mapLayoutControl = mapLayoutControl1; m_toolStrip = toolStripStatusLabel2; m_textBoxResult = textBoxResult; scontrol = scenecontrol; label1 = toolStripStatusLabel3; m_datasource = workspace1.Datasources[0]; m_point3Ds = new Point3Ds(); m_pointName = "Point"; m_geoLine3D = new GeoLine3D(); m_point3DsAll = new Point3Ds(); m_flyManager = scontrol.Scene.FlyManager; m_flyManager.Routes.Clear(); m_flyManager.Scene = scontrol.Scene; m_mapControlEagleEye.MouseMove += new MouseEventHandler(EagleEyeMapMouseMoveHandler); m_mapControlEagleEye.MouseDown += new MouseEventHandler(EagleEyeMapMouseDownHandler); m_mapControlEagleEye.MouseUp += new MouseEventHandler(EagleEyeMapMouseUpHandler); m_mapControlEagleEye.ActionCursorChanging += new ActionCursorChangingEventHandler(EagleEyeMapCursorChangedHandler); mapControl1.Map.Drawn += new MapDrawnEventHandler(MainMapDrawnHandler); scontrol.MouseDown += new System.Windows.Forms.MouseEventHandler(m_sceneControl_MouseDown); scontrol.MouseMove += new System.Windows.Forms.MouseEventHandler(m_sceneControl_MouseMove); Initialize(); }
public void StreamChangedCallback(WorkspaceControl Workspace) { if (ChangingWorkspacesRefCount == 0) { ChangingWorkspacesRefCount++; for (int Idx = 0; Idx < TabControl.GetTabCount(); Idx++) { if (TabControl.GetTabData(Idx) == Workspace) { string ProjectFileName = Workspace.SelectedFileName; if (TryOpenProject(ProjectFileName, Idx) == -1) { TabControl.RemoveTab(Idx); } break; } } ChangingWorkspacesRefCount--; } }
void TabControl_OnTabChanged(object NewTabData) { SendMessage(Handle, WM_SETREDRAW, 0, 0); SuspendLayout(); if (CurrentWorkspace != null) { CurrentWorkspace.Deactivate(); CurrentWorkspace.Hide(); } if (NewTabData == null) { CurrentWorkspace = null; Settings.LastProjectFileName = null; DefaultControl.Show(); } else { CurrentWorkspace = (WorkspaceControl)NewTabData; Settings.LastProjectFileName = CurrentWorkspace.SelectedFileName; DefaultControl.Hide(); } Settings.Save(); if (CurrentWorkspace != null) { CurrentWorkspace.Activate(); CurrentWorkspace.Show(); } ResumeLayout(); SendMessage(Handle, WM_SETREDRAW, 1, 0); Refresh(); }
public SyncFilter(Dictionary <Guid, WorkspaceSyncCategory> InUniqueIdToCategory, string[] InGlobalView, Guid[] InGlobalExcludedCategories, bool bInGlobalProjectOnly, string[] InWorkspaceView, Guid[] InWorkspaceIncludedCategories, Guid[] InWorkspaceExcludedCategories, bool?bInWorkspaceProjectOnly) { InitializeComponent(); UniqueIdToCategory = InUniqueIdToCategory; GlobalExcludedCategories = InGlobalExcludedCategories; GlobalView = InGlobalView; bGlobalSyncAllProjects = bInGlobalProjectOnly; WorkspaceIncludedCategories = InWorkspaceIncludedCategories; WorkspaceExcludedCategories = InWorkspaceExcludedCategories; WorkspaceView = InWorkspaceView; bWorkspaceSyncAllProjects = bInWorkspaceProjectOnly ?? bGlobalSyncAllProjects; GlobalControl.SetView(GlobalView); SetExcludedCategories(GlobalControl.CategoriesCheckList, UniqueIdToCategory, GlobalExcludedCategories); GlobalControl.SyncAllProjects.Checked = bGlobalSyncAllProjects; WorkspaceControl.SetView(WorkspaceView); SetExcludedCategories(WorkspaceControl.CategoriesCheckList, UniqueIdToCategory, UserSettings.GetEffectiveExcludedCategories(GlobalExcludedCategories, WorkspaceIncludedCategories, WorkspaceExcludedCategories)); WorkspaceControl.SyncAllProjects.Checked = bWorkspaceSyncAllProjects ?? bGlobalSyncAllProjects; GlobalControl.CategoriesCheckList.ItemCheck += GlobalControl_CategoriesCheckList_ItemCheck; GlobalControl.SyncAllProjects.CheckStateChanged += GlobalControl_SyncAllProjects_CheckStateChanged; }