コード例 #1
0
ファイル: ListItemCommands.cs プロジェクト: olesar/Altaxo
        protected override void Run(ProjectBrowseController ctrl)
        {
            var list  = ctrl.GetSelectedListItems().OfType <Altaxo.Graph.GraphDocumentBase>();
            int count = list.Count();

            if (count == 0)
            {
                Current.Gui.ErrorMessageBox("There were no graph documents selected for rescaling!", "No graph documents selected");
                return;
            }
            else
            {
                foreach (var graph in list)
                {
                    if (graph is Altaxo.Graph.Gdi.GraphDocument gdiDoc)
                    {
                        RescaleAllLayers(gdiDoc);
                    }
                    else if (graph is Altaxo.Graph.Graph3D.GraphDocument graph3DDoc)
                    {
                        RescaleAllLayers(graph3DDoc);
                    }
                    else
                    {
                        throw new NotImplementedException("This type of graph document is not known here.");
                    }
                }

                Current.Gui.InfoMessageBox(string.Format("Axes of {0} graph document(s) rescaled.", list.Count()), "Success");
            }
        }
コード例 #2
0
        /// <summary>
        /// Plot common columns in two or more tables.
        /// </summary>
        /// <param name="ctrl">Project browse controller.</param>
        public static void PlotCommonColumns(this ProjectBrowseController ctrl)
        {
            var list    = ctrl.GetSelectedListItems();
            var command = new Altaxo.Worksheet.Commands.PlotCommonColumnsCommand();

            foreach (object item in list)
            {
                if (item is DataTable)
                {
                    command.Tables.Add((DataTable)item);
                }
            }

            if (command.Tables.Count == 0)
            {
                return;
            }

            var commonColumnNames = command.GetCommonColumnNamesUnordered();

            if (0 == commonColumnNames.Count)
            {
                Current.Gui.InfoMessageBox("The selected tables do not seem to have common columns", "Please note");
                return;
            }

            if (true == Current.Gui.ShowDialog(ref command, "Plot common columns", false))
            {
                command.Execute();
            }
        }
コード例 #3
0
        /// <summary>
        /// Moves the selected list items to a folder that is asked for by a dialog.
        /// </summary>
        /// <param name="ctrl">Project browse controller.</param>
        public static void CopySelectedListItemsToMultipleFolders(this ProjectBrowseController ctrl)
        {
            var list = ctrl.GetSelectedListItems();

            bool areDocumentsFromOneFolder = ctrl.IsProjectFolderSelected(out var originalFolderName);

            var dlgDoc = new Altaxo.Gui.ProjectBrowser.CopyItemsToMultipleFolderData
            {
                RelocateReferences = true
            };

            if (!Current.Gui.ShowDialog(ref dlgDoc, "Select folders to copy to", false))
            {
                return;
            }

            foreach (var newFolderName in dlgDoc.FoldersToCopyTo)
            {
                DocNodePathReplacementOptions relocateOptions = null;
                if (true == dlgDoc.RelocateReferences)
                {
                    relocateOptions = new DocNodePathReplacementOptions();
                    relocateOptions.AddPathReplacementsForAllProjectItemTypes(originalFolderName, newFolderName);
                }
                Current.Project.Folders.CopyItemsToFolder(list, newFolderName, null != relocateOptions ? relocateOptions.Visit : (DocNodeProxyReporter)null, dlgDoc.OverwriteExistingItems);
            }
        }
コード例 #4
0
        /// <summary>
        /// Moves the selected list items to a folder that is asked for by a dialog.
        /// </summary>
        /// <param name="ctrl">Project browse controller.</param>
        public static void CopySelectedListItemsToFolder(this ProjectBrowseController ctrl)
        {
            var list = ctrl.GetSelectedListItems();

            bool areDocumentsFromOneFolder = ctrl.IsProjectFolderSelected(out var originalFolderName);

            CopyDocuments(list, areDocumentsFromOneFolder, originalFolderName);
        }
コード例 #5
0
        /// <summary>
        /// Show the items currently selected in the document area.
        /// </summary>
        /// <param name="ctrl">Project browse controller.</param>
        public static void ShowSelectedListItem(this ProjectBrowseController ctrl)
        {
            var list = Current.Project.Folders.GetExpandedProjectItemSet(ctrl.GetSelectedListItems());

            foreach (object item in list)
            {
                Current.IProjectService.ShowDocumentView(item);
            }
        }
コード例 #6
0
        /// <summary>
        /// Hide the selected list items, so that they are not shown in the document area.
        /// </summary>
        /// <param name="ctrl"></param>
        public static void HideSelectedListItems(this ProjectBrowseController ctrl)
        {
            var selItems = ctrl.GetSelectedListItems();

            foreach (object item in Current.Project.Folders.GetExpandedProjectItemSet(selItems))
            {
                Current.IProjectService.CloseDocumentViews(item);
            }
        }
コード例 #7
0
        /// <summary>
        /// Moves the selected list items to a folder that is asked for by a dialog.
        /// </summary>
        /// <param name="ctrl">Project browse controller.</param>
        public static void CopySelectedListItemsToClipboard(this ProjectBrowseController ctrl)
        {
            var selItems = ctrl.GetSelectedListItems();

            // if the items are from the same folder, but are selected from the AllItems, AllWorksheet or AllGraphs nodes, we invalidate the folderName (because then we consider the items to be rooted)
            if (!ctrl.IsProjectFolderSelected(out var folderName))
            {
                folderName = null;
            }

            var list = Current.Project.Folders.GetExpandedProjectItemSet(selItems); // Expand the list to get rid of the ProjectFolder items

            Altaxo.Main.Commands.ProjectItemCommands.CopyItemsToClipboard(list, folderName);
        }
コード例 #8
0
ファイル: ListItemCommands.cs プロジェクト: olesar/Altaxo
        protected override void Run(ProjectBrowseController ctrl)
        {
            var list  = ctrl.GetSelectedListItems().OfType <Altaxo.Graph.Gdi.GraphDocument>();
            int count = list.Count();

            if (count == 0)
            {
                return;
            }
            else
            {
                Altaxo.Graph.Gdi.GraphDocumentOtherActions.ShowExchangeTablesOfPlotItemsDialog(list);
            }
        }
コード例 #9
0
ファイル: ListItemCommands.cs プロジェクト: olesar/Altaxo
        protected override void Run(ProjectBrowseController ctrl)
        {
            var list  = ctrl.GetSelectedListItems().OfType <Altaxo.Graph.Gdi.GraphDocument>();
            int count = list.Count();

            if (count == 0)
            {
                Current.Gui.ErrorMessageBox("There were no graph documents selected for resizing!", "No graph documents selected");
                return;
            }
            else
            {
                if (Altaxo.Gui.Graph.Graph2D.ResizeGraphController.ShowResizeGraphDialog(list))
                {
                    Current.Gui.InfoMessageBox(string.Format("{0} graph(s) resized.", list.Count()), "Success");
                }
            }
        }
コード例 #10
0
ファイル: ListItemCommands.cs プロジェクト: olesar/Altaxo
        protected override void Run(ProjectBrowseController ctrl)
        {
            var list  = ctrl.GetSelectedListItems().OfType <Altaxo.Graph.GraphDocumentBase>();
            int count = list.Count();

            if (count == 0)
            {
                return;
            }
            if (count == 1)
            {
                Altaxo.Graph.GraphDocumentBaseExportActions.ShowFileExportSpecificDialog(list.First());
            }
            else
            {
                Altaxo.Graph.GraphDocumentBaseExportActions.ShowExportMultipleGraphsDialogAndExportOptions(list);
            }
        }
コード例 #11
0
        public static void RenameSelectedListItem(this ProjectBrowseController ctrl)
        {
            var list = ctrl.GetSelectedListItems();

            if (list.Count != 1)
            {
                return;
            }

            var obj = list[0];

            if (obj is IProjectItem)
            {
                Altaxo.Main.Commands.ProjectItemCommands.ShowRenameDialog((IProjectItem)obj);
            }
            else if (obj is ProjectFolder)
            {
                ctrl.Project.Folders.ShowFolderRenameDialog((ProjectFolder)obj);
            }
        }
コード例 #12
0
ファイル: ListItemCommands.cs プロジェクト: Altaxo/Altaxo
		protected override void Run(ProjectBrowseController ctrl)
		{
			var list = ctrl.GetSelectedListItems().OfType<Altaxo.Graph.Gdi.GraphDocument>();
			int count = list.Count();

			if (count == 0)
			{
				return;
			}
			else
			{
				Altaxo.Graph.Gdi.GraphDocumentOtherActions.ShowExchangeTablesOfPlotItemsDialog(list);
			}
		}
コード例 #13
0
ファイル: ListItemCommands.cs プロジェクト: Altaxo/Altaxo
		protected override void Run(ProjectBrowseController ctrl)
		{
			var list = ctrl.GetSelectedListItems().OfType<Altaxo.Graph.Gdi.GraphDocument>();
			int count = list.Count();

			if (count == 0)
				return;
			if (count == 1)
				Altaxo.Graph.Gdi.GraphDocumentExportActions.ShowFileExportSpecificDialog(list.First());
			else
				Altaxo.Graph.Gdi.GraphDocumentExportActions.ShowExportMultipleGraphsDialogAndExportOptions(list);
		}
コード例 #14
0
ファイル: ListItemCommands.cs プロジェクト: Altaxo/Altaxo
		protected override void Run(ProjectBrowseController ctrl)
		{
			var list = ctrl.GetSelectedListItems().OfType<Altaxo.Graph.Gdi.GraphDocument>();
			int count = list.Count();

			if (count == 0)
			{
				Current.Gui.ErrorMessageBox("There were no graph documents selected for rescaling!", "No graph documents selected");
				return;
			}
			else
			{
				Altaxo.Graph.Gdi.GraphDocumentExportActions.ShowExportMultipleGraphsDialogAndExportOptions(list);
				Current.Gui.InfoMessageBox(string.Format("Axes of {0} graph document(s) rescaled.", "Success"));
			}
		}
コード例 #15
0
ファイル: ListItemCommands.cs プロジェクト: Altaxo/Altaxo
		protected override void Run(ProjectBrowseController ctrl)
		{
			var list = ctrl.GetSelectedListItems();
			Altaxo.Main.Commands.MultiRenameDocuments.ShowRenameDocumentsDialog(list);
		}
コード例 #16
0
        /// <summary>
        /// Shows the selected list items exclusively in the document area.
        /// </summary>
        /// <param name="ctrl">Project browse controller.</param>
        public static void ShowSelectedListItemsExclusively(this ProjectBrowseController ctrl)
        {
            var selItems = ctrl.GetSelectedListItems();

            ShowDocumentsExclusively(Current.Project.Folders.GetExpandedProjectItemSet(selItems));
        }
コード例 #17
0
        /// <summary>
        /// Deletes the selected list items (with confirmation dialog shown).
        /// </summary>
        /// <param name="ctrl">Project browse controller.</param>
        public static void DeleteSelectedListItems(this ProjectBrowseController ctrl)
        {
            var projItems = Current.Project.Folders.GetExpandedProjectItemSet(ctrl.GetSelectedListItems());

            Altaxo.Main.ProjectFolders.DeleteDocuments(projItems);
        }
コード例 #18
0
        /// <summary>
        /// Moves the selected list items to a folder that is asked for by a dialog.
        /// </summary>
        /// <param name="ctrl">Project browse controller.</param>
        public static void MoveSelectedListItems(this ProjectBrowseController ctrl)
        {
            var list = ctrl.GetSelectedListItems();

            MoveDocuments(list);
        }
コード例 #19
0
ファイル: ListItemCommands.cs プロジェクト: olesar/Altaxo
        protected override void Run(ProjectBrowseController ctrl)
        {
            var list = ctrl.GetSelectedListItems();

            Altaxo.Main.Commands.MultiRenameDocuments.ShowRenameDocumentsDialog(list);
        }