Пример #1
0
        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
        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
        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
        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
		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
		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
		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
		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
        protected override void Run(ProjectBrowseController ctrl)
        {
            var list = ctrl.GetSelectedListItems();

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