Exemplo n.º 1
0
        /// <summary>
        /// Sets the group number of the selected column
        /// </summary>
        /// <param name="dataTable">The data table</param>
        /// <param name="selectedDataColumns">Indices of the currently selected data column of the table</param>
        /// <param name="selectedPropColumns">Indices of the currently selected property columns of the table.</param>
        public static bool ShowSetColumnGroupNumberDialog(this DataTable dataTable,
                                                          IAscendingIntegerCollection selectedDataColumns,
                                                          IAscendingIntegerCollection selectedPropColumns)
        {
            if (selectedDataColumns.Count > 0 || selectedPropColumns.Count > 0)
            {
                int grpNumber = 0;
                if (selectedDataColumns.Count > 0)
                {
                    grpNumber = dataTable.DataColumns.GetColumnGroup(selectedDataColumns[0]);
                }
                else if (selectedPropColumns.Count > 0)
                {
                    grpNumber = dataTable.PropertyColumns.GetColumnGroup(selectedPropColumns[0]);
                }

                var ivictrl = new IntegerValueInputController(grpNumber, "Please enter a group number (>=0):")
                {
                    Validator = new IntegerValueInputController.ZeroOrPositiveIntegerValidator()
                };
                if (Current.Gui.ShowDialog(ivictrl, "Set group number", false))
                {
                    SetColumnGroupNumber(dataTable, selectedDataColumns, selectedPropColumns, ivictrl.EnteredContents);
                    return(true);
                }
            }
            return(false);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Moves the selected column to a new position. The new position must be entered by the user.
        /// </summary>
        /// <param name="ctrl">The worksheet controller for the table.</param>
        public static string SetSelectedColumnPosition(IWorksheetController ctrl)
        {
            // check condition - either DataColumns or propertycolumns can be selected - but not both
            if (ctrl.SelectedDataColumns.Count > 0 && ctrl.SelectedPropertyColumns.Count > 0)
            {
                return("Don't know what to do - both data and property columns are selected");
            }

            if (ctrl.SelectedDataColumns.Count == 0 && ctrl.SelectedPropertyColumns.Count == 0)
            {
                return(null); // nothing to do
            }
            int newposition = int.MinValue;

            var ivictrl = new IntegerValueInputController(0, "Please enter the new position (>=0):")
            {
                Validator = new IntegerValueInputController.ZeroOrPositiveIntegerValidator()
            };

            if (Current.Gui.ShowDialog(ivictrl, "New column position", false))
            {
                newposition = ivictrl.EnteredContents;
            }
            else
            {
                return(null);
            }

            SetSelectedColumnPosition(ctrl, newposition);

            return(null);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Moves the selected row(s) to a new position. The new position must be entered by the user.
        /// </summary>
        /// <param name="ctrl">The worksheet controller for the table.</param>
        public static string SetSelectedRowPosition(IWorksheetController ctrl)
        {
            if (ctrl.SelectedDataRows.Count == 0)
            {
                return(null); // nothing to do
            }
            int newposition = int.MinValue;

            var ivictrl = new IntegerValueInputController(0, "Please enter the new position (>=0):")
            {
                Validator = new IntegerValueInputController.ZeroOrPositiveIntegerValidator()
            };

            if (Current.Gui.ShowDialog(ivictrl, "New row position", false))
            {
                newposition = ivictrl.EnteredContents;
            }
            else
            {
                return(null);
            }

            SetSelectedRowPosition(ctrl, newposition);

            return(null);
        }
Exemplo n.º 4
0
 /// <summary>
 /// Ask the user for the number of data rows to insert in a data table.
 /// </summary>
 /// <param name="ctrl">The worksheet controller.</param>
 /// <param name="rowBeforeToInsert">Number of the row before which to insert the rows.</param>
 public static void InsertDataRows(WorksheetController ctrl, int rowBeforeToInsert)
 {
     // ask for the number of rows to insert
     Altaxo.Gui.Common.IntegerValueInputController ictrl = new IntegerValueInputController(1, "Enter the number of rows to insert:");
     if (Current.Gui.ShowDialog(ictrl, "Insert rows", false))
     {
         InsertDataRows(ctrl, rowBeforeToInsert, ictrl.EnteredContents);
     }
 }
Exemplo n.º 5
0
        public static void QuestPreferredNumberOfFactors(MultivariateContentMemento plsMemo)
        {
            // quest the number of factors to export
            IntegerValueInputController ivictrl = new IntegerValueInputController(1, "Please choose preferred number of factors(>0):");


            ivictrl.Validator = new IntegerValueInputController.ZeroOrPositiveIntegerValidator();
            if (!Current.Gui.ShowDialog(ivictrl, "Number of factors", false))
            {
                return;
            }

            plsMemo.PreferredNumberOfFactors = ivictrl.EnteredContents;
        }
Exemplo n.º 6
0
        public static void PCAOnRows(WorksheetController ctrl)
        {
            int maxFactors = 3;
            IntegerValueInputController ivictrl = new IntegerValueInputController(maxFactors, "Please enter the maximum number of factors to calculate:");

            ivictrl.Validator = new IntegerValueInputController.ZeroOrPositiveIntegerValidator();
            if (Current.Gui.ShowDialog(ivictrl, "Set maximum number of factors", false))
            {
                string err = PrincipalComponentAnalysis(Current.Project, ctrl.Doc, ctrl.SelectedDataColumns, ctrl.SelectedDataRows, true, ivictrl.EnteredContents);
                if (null != err)
                {
                    Current.Gui.ErrorMessageBox(err);
                }
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// Sets the group number of the selected column
        /// </summary>
        /// <param name="ctrl">The worksheet controller for the table.</param>
        public static void SetSelectedColumnGroupNumber(WorksheetController ctrl)
        {
            if (ctrl.SelectedDataColumns.Count > 0 || ctrl.SelectedPropertyColumns.Count > 0)
            {
                int grpNumber = 0;
                if (ctrl.SelectedDataColumns.Count > 0)
                {
                    grpNumber = ctrl.DataTable.DataColumns.GetColumnGroup(ctrl.SelectedDataColumns[0]);
                }
                else if (ctrl.SelectedPropertyColumns.Count > 0)
                {
                    grpNumber = ctrl.DataTable.PropertyColumns.GetColumnGroup(ctrl.SelectedPropertyColumns[0]);
                }

                IntegerValueInputController ivictrl = new IntegerValueInputController(grpNumber, "Please enter a group number (>=0):");
                ivictrl.Validator = new IntegerValueInputController.ZeroOrPositiveIntegerValidator();
                if (Current.Gui.ShowDialog(ivictrl, "Set group number", false))
                {
                    SetSelectedColumnGroupNumber(ctrl, ivictrl.EnteredContents);
                }
            }
        }
Exemplo n.º 8
0
        public static void ExportPLSCalibration(Altaxo.Data.DataTable table)
        {
            // quest the number of factors to export
            IntegerValueInputController ivictrl = new IntegerValueInputController(1, "Please choose number of factors to export (>0):");

            ivictrl.Validator = new IntegerValueInputController.ZeroOrPositiveIntegerValidator();
            if (!Current.Gui.ShowDialog(ivictrl, "Number of factors", false))
            {
                return;
            }


            // quest the filename
            System.Windows.Forms.SaveFileDialog dlg = new System.Windows.Forms.SaveFileDialog();
            dlg.DefaultExt = "xml";
            if (System.Windows.Forms.DialogResult.OK != dlg.ShowDialog(Current.MainWindow))
            {
                return;
            }

            PredictionModelExporter exporter = new PredictionModelExporter(table, ivictrl.EnteredContents);

            exporter.Export(dlg.FileName);
        }