/// <summary>
        /// The template file no longer exists
        /// </summary>
        public static void EditorTemplateFileNoLongerExistsDialog(Window owner, string templateFileName)
        {
            MessageBox messageBox = new MessageBox("The template file no longer exist", owner);

            messageBox.Message.Icon    = MessageBoxImage.Warning;
            messageBox.Message.Problem = String.Format("The template file '{0}' no longer exists.", templateFileName);
            messageBox.ShowDialog();
        }
        /// <summary>
        /// Data Labels cannot be empty
        /// </summary>
        public static void EditorDataLabelsCannotBeEmptyDialog(Window owner)
        {
            MessageBox messageBox = new MessageBox("Data Labels cannot be empty", owner);

            messageBox.Message.Icon    = MessageBoxImage.Warning;
            messageBox.Message.Problem = "Data Labels cannot be empty. They must begin with a letter, followed only by letters, numbers, and '_'.";
            messageBox.Message.Result  = "We will automatically create a uniquely named Data Label for you.";
            messageBox.Message.Hint    = "You can create your own name for this Data Label. Start your label with a letter. Then use any combination of letters, numbers, and '_'.";
            messageBox.ShowDialog();
        }
        /// <summary>
        /// DefaultChoiceValuesMustMatchChoiceLists
        /// </summary>
        public static void EditorDefaultChoicValuesMustMatchChoiceListsDialog(Window owner, string invalidDefaultValue)
        {
            MessageBox messageBox = new MessageBox("Choice default values must match an item in the Choice menu", owner);

            messageBox.Message.Icon    = MessageBoxImage.Warning;
            messageBox.Message.Problem = String.Format("'{0}' is not allowed as a default value, as it is not one of your 'Define List' items.{1}Choice default values must be either empty or must match one of those items.", invalidDefaultValue, Environment.NewLine);
            messageBox.Message.Result  = "The default value will be cleared.";
            messageBox.Message.Hint    = "Copy an item from your 'Define List' and paste it into your default value field as needed.";
            messageBox.ShowDialog();
        }
        /// <summary>
        /// Data Labels cannot be empty
        /// </summary>
        public static void EditorLabelsCannotBeEmptyDialog(Window owner)
        {
            MessageBox messageBox = new MessageBox("Labels cannot be empty", owner);

            messageBox.Message.Icon    = MessageBoxImage.Warning;
            messageBox.Message.Problem = "Labels cannot be empty. They identify what each data field represents to the Timelapse user.";
            messageBox.Message.Result  = "We will automatically create a uniquely named label for you.";
            messageBox.Message.Hint    = "Rename this to something meaningful. It only has to be different from the other labels.";
            messageBox.ShowDialog();
        }
        /// <summary>
        /// Labels must be unique
        /// </summary>
        public static void EditorLabelsMustBeUniqueDialog(Window owner, string label)
        {
            MessageBox messageBox = new MessageBox("Labels must be unique.", owner);

            messageBox.Message.Icon    = MessageBoxImage.Warning;
            messageBox.Message.Problem = "'" + label + "' is not a valid Label, as you have already used it in another row.";
            messageBox.Message.Result  = "We will automatically create a unique Label for you by adding a number to its end.";
            messageBox.Message.Hint    = "You can overwrite this label with your own choice of a unique label name.";
            messageBox.ShowDialog();
        }
        /// <summary>
        /// Data label requirements: Data Labels can only contain letters, numbers and '_'
        /// </summary>
        public static void EditorDataLabelRequirementsDialog(Window owner)
        {
            MessageBox messageBox = new MessageBox("Data Labels can only contain letters, numbers and '_'.", owner);

            messageBox.Message.Icon    = MessageBoxImage.Warning;
            messageBox.Message.Problem = "Data labels must begin with a letter, followed only by letters, numbers, and '_'.";
            messageBox.Message.Result  = "We will automatically ignore other characters, including spaces";
            messageBox.Message.Hint    = "Start your label with a letter. Then use any combination of letters, numbers, and '_'.";
            messageBox.ShowDialog();
        }
        /// <summary>
        /// Data Labels must be unique
        /// </summary>
        public static void EditorDataLabelsMustBeUniqueDialog(Window owner, string data_label)
        {
            MessageBox messageBox = new MessageBox("Data Labels must be unique.", owner);

            messageBox.Message.Icon    = MessageBoxImage.Warning;
            messageBox.Message.Problem = "'" + data_label + "' is not a valid Data Label, as you have already used it in another row.";
            messageBox.Message.Result  = "We will automatically create a unique Data Label for you by adding a number to its end.";
            messageBox.Message.Hint    = "You can create your own unique name for this Data Label. Start your label with a letter. Then use any combination of letters, numbers, and '_'.";
            messageBox.ShowDialog();
        }
        /// <summary>
        /// Data label is not a valid data label
        /// </summary>
        public static void EditorDataLabelIsInvalidDialog(Window owner, string old_data_label, string new_data_label)
        {
            MessageBox messageBox = new MessageBox("'" + old_data_label + "' is not a valid data label.", owner);

            messageBox.Message.Icon    = MessageBoxImage.Warning;
            messageBox.Message.Problem = "Data labels must begin with a letter, followed only by letters, numbers, and '_'.";
            messageBox.Message.Result  = "We replaced all dissallowed characters with an 'X': " + new_data_label;
            messageBox.Message.Hint    = "Start your label with a letter. Then use any combination of letters, numbers, and '_'.";
            messageBox.ShowDialog();
        }
        /// <summary>
        ///
        /// </summary>
        public static void EditorDataLabelIsAReservedWordDialog(Window owner, string data_label)
        {
            MessageBox messageBox = new MessageBox("'" + data_label + "' is not a valid data label.", owner);

            messageBox.Message.Icon    = MessageBoxImage.Warning;
            messageBox.Message.Problem = "Data labels cannot match the reserved words.";
            messageBox.Message.Result  = "We will add an '_' suffix to this Data Label to make it differ from the reserved word";
            messageBox.Message.Hint    = "Avoid the reserved words listed below. Start your label with a letter. Then use any combination of letters, numbers, and '_'." + Environment.NewLine;
            foreach (string keyword in EditorConstant.ReservedSqlKeywords)
            {
                messageBox.Message.Hint += keyword + " ";
            }
            messageBox.ShowDialog();
        }
        /// <summary>
        /// Confirm Showing UTC Date/Time Settings
        /// </summary>
        public static bool?EditorConfirmShowingUTCDateTimeDialog(Window owner)
        {
            MessageBox messageBox = new MessageBox("Confirm showing the UTCOffset control row", owner, MessageBoxButton.OKCancel);

            messageBox.Message.Icon = MessageBoxImage.Question;

            messageBox.Message.What  = "Timelapse stores time zone information as a numeric offset in a UtcOffset column." + Environment.NewLine;
            messageBox.Message.What += "That offset is taken from the computer's time zone when an image is loaded into Timelapse. " + Environment.NewLine;
            messageBox.Message.What += "Timelapse does not normally display the UtcOffset, but this can over-ride that." + Environment.NewLine + Environment.NewLine;
            messageBox.Message.What += "The only time  the offset is used is as an option when exporting data to a CSV file." + Environment.NewLine;
            messageBox.Message.What += "Using the Timelapse Options|Preferences dialog, you can set Timelapse to export different Date/Time formats," + Environment.NewLine;
            messageBox.Message.What += "where one of the formats displays Date/Time in Coordinated Universal Time (UTC) + offset.";

            messageBox.Message.Result  = "If you select Okay, the Editor will display the UtcOffset control as an additonal row. " + Environment.NewLine;
            messageBox.Message.Result += "However, you will still have to set its Visible property if you want Timelapse to display it as a column";

            messageBox.Message.Hint = "Avoid showing the time zone offset unless you really need it, as your users may find it confusing." + Environment.NewLine;
            return(messageBox.ShowDialog());
        }
Beispiel #11
0
        /// <summary>
        /// Confirm Showing UTC Date/Time Settings
        /// </summary>
        public static bool?EditorConfirmShowingUTCDateTimeDialog(Window owner)
        {
            MessageBox messageBox = new MessageBox("Confirm Showing UTC Date/Time Settings", owner, MessageBoxButton.OKCancel);

            messageBox.Message.Icon = MessageBoxImage.Information;

            messageBox.Message.What  = "Timelapse presents Date and Time conventionally in its interface, and as separate columns in the exported spreadsheet." + Environment.NewLine;
            messageBox.Message.What += "As an option, Timelapse can also show Date and Time information that follows the Coordinated Universal Time (UTC) standard." + Environment.NewLine;
            messageBox.Message.What += "That standard records an absolute Date/Time, plus a separate Time Zone Offset to transform that to local time." + Environment.NewLine + Environment.NewLine;
            messageBox.Message.What += "In rare cases, you may want:" + Environment.NewLine +
                                       "\u2022 to include additional UTC datetime and offset columns in the exported spreadsheet, and" + Environment.NewLine +
                                       "\u2022 to have your analysts to see the UTC Time Zone information within Timelapse";
            messageBox.Message.Result = "If you select Okay:" + Environment.NewLine +
                                        "\u2022 this Editor will display the UtcOffset control as an additonal row" + Environment.NewLine +
                                        "\u2022 If the UtcOffset control is set to visible, Timelapse will also export two extra columns to the spreadsheet:" + Environment.NewLine +
                                        "    \u25e6 the absolute UTC DateTime, and " + Environment.NewLine +
                                        "    \u25e6 the UTC offset necessary to convert absolute UTC DateTime to local time.";
            messageBox.Message.Hint = "Avoid showing UTC Date/Time unless you really need it, as your users may find it confusing." + Environment.NewLine;
            return(messageBox.ShowDialog());
        }
        /// <summary>
        /// One or more data labels were problematic
        /// </summary>
        public static void EditorDataLabelsProblematicDialog(Window owner, List <string> conversionErrors)
        {
            MessageBox messageBox = new MessageBox("One or more data labels were problematic", owner);

            messageBox.Message.Icon = MessageBoxImage.Warning;

            messageBox.Message.Problem  = (conversionErrors == null) ? "Some" : conversionErrors.Count.ToString();
            messageBox.Message.Problem += " of your Data Labels were problematic." + Environment.NewLine + Environment.NewLine;
            messageBox.Message.Problem += "Data Labels:" + Environment.NewLine;
            messageBox.Message.Problem += "\u2022 must be unique," + Environment.NewLine;
            messageBox.Message.Problem += "\u2022 can only contain alphanumeric characters and '_'," + Environment.NewLine;
            messageBox.Message.Problem += "\u2022 cannot match particular reserved words.";
            messageBox.Message.Result   = "We will automatically repair these Data Labels:";
            if ((conversionErrors != null))
            {
                foreach (string erroneousDatalabel in conversionErrors)
                {
                    messageBox.Message.Solution += Environment.NewLine + "\u2022 " + erroneousDatalabel;
                }

                messageBox.Message.Hint = "Check if these are the names you want. You can also rename these corrected Data Labels if you want";
            }
            messageBox.ShowDialog();
        }