private void removeEmptyDescriptions(AlternateContentProperty altProp) { foreach (AlternateContent altContent in altProp.AlternateContents.ContentsAs_ListCopy) { if (altContent.IsEmpty || altContent.Text == null && altContent.Image == null && altContent.Audio == null && !Daisy3_Export.AltContentHasSignificantMetadata(altContent) ) { m_ViewModel.RemoveDescription(altContent); } } }
/// <summary> /// Export the project as DAISY to an export directory. /// </summary> public void ExportToZ(string exportPath, string xukPath, Daisy3_Export DAISYExport) { UpdatePublicationMetadata(); DAISYExport.DoWork(); /* * if (format == Obi.ImportExport.ExportFormat.DAISY3_0) * { * Obi.ImportExport.DAISY3_ObiExport daisy3Export = new Obi.ImportExport.DAISY3_ObiExport(this, exportPath, null, encodeToMP3, AudioLib.SampleRate.Hz44100, false, audioFileSectionLevel); * daisy3Export.BitRate_Mp3 = mp3BitRate; * daisy3Export.DoWork(); * } * else * { * ImportExport.DAISY202Export export202 = new Obi.ImportExport.DAISY202Export(this, exportPath, encodeToMP3, AudioLib.SampleRate.Hz44100, audioFileSectionLevel); * export202.BitRate_Mp3 = mp3BitRate; * export202.DoWork(); * * * ChannelsManager.RemoveManagedObject(publishChannel); * * } */ }
private bool getValidationText_BasicImage(ref string message) { bool first = true; AlternateContent altContent = GetAltContent(DiagramContentModelHelper.D_SimplifiedImage); if (altContent != null) { if (altContent.Image != null && altContent.Text == null) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- It is recommended to specify a tour for the simplified image."; } } bool otherDataInAdvancedMode = altContent.Audio != null || Daisy3_Export.AltContentHasSignificantMetadata(altContent); if (altContent.Image == null && ( altContent.Text != null || otherDataInAdvancedMode ) ) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- The simplified image is missing."; if (otherDataInAdvancedMode) { message += " (has other data, see advanced editor)"; } } } //if (altContent.Image == null && altContent.Text != null) //{ // if (!first) // { // if (message != null) // { // message += "\n"; // } // } // first = false; // if (message != null) // { // message += "- A tour is specified without its associated simplified image."; // } //} if (altContent.Audio != null && altContent.Text == null) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- The simplified image has audio but no corresponding tour."; } } } altContent = GetAltContent(DiagramContentModelHelper.D_Tactile); if (altContent != null) { if (altContent.Image != null && altContent.Text == null) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- It is recommended to specify a tour for the tactile image."; } } bool otherDataInAdvancedMode = altContent.Audio != null || Daisy3_Export.AltContentHasSignificantMetadata(altContent); if (altContent.Image == null && ( altContent.Text != null || otherDataInAdvancedMode ) ) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- The tactile image is missing."; if (otherDataInAdvancedMode) { message += " (has other data, see advanced editor)"; } } } //if (altContent.Image == null && altContent.Text != null) //{ // if (!first) // { // if (message != null) // { // message += "\n"; // } // } // first = false; // if (message != null) // { // message += "- A tour is specified without its associated tactile image."; // } //} if (altContent.Audio != null && altContent.Text == null) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- The tactile image has audio but no corresponding tour."; } } } bool hasMessages = !first; return(hasMessages); }
private bool getValidationText_BasicText(ref string message) { bool first = true; AlternateContent altContent = GetAltContent(DiagramContentModelHelper.D_LondDesc); if (altContent == null || altContent.Text == null || string.IsNullOrEmpty(altContent.Text.Text) ) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- A long description must be specified."; } } else { //bool otherDataInAdvancedMode = altContent.Audio != null // || Daisy3_Export.AltContentHasSignificantMetadata(altContent); //if (altContent.Text == null // && otherDataInAdvancedMode // ) //{ // if (!first) // { // if (message != null) // { // message += "\n"; // } // } // first = false; // if (message != null) // { // message += "- The long description has no text."; // if (otherDataInAdvancedMode) // { // message += " (has other data, see advanced editor)"; // } // } //} //if (altContent.Audio != null && altContent.Text == null) //{ // if (!first) // { // if (message != null) // { // message += "\n"; // } // } // first = false; // if (message != null) // { // message += "- The long description has audio but no corresponding text."; // } //} } altContent = GetAltContent(DiagramContentModelHelper.D_Summary); if (altContent != null) { bool otherDataInAdvancedMode = altContent.Audio != null || Daisy3_Export.AltContentHasSignificantMetadata(altContent); if (altContent.Text == null && otherDataInAdvancedMode ) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- The summary has no text."; if (otherDataInAdvancedMode) { message += " (has other data, see advanced editor)"; } } } //if (altContent.Audio != null && altContent.Text == null) //{ // if (!first) // { // if (message != null) // { // message += "\n"; // } // } // first = false; // if (message != null) // { // message += "- The summary has audio but no corresponding text."; // } //} } altContent = GetAltContent(DiagramContentModelHelper.D_SimplifiedLanguageDescription); if (altContent != null) { bool otherDataInAdvancedMode = altContent.Audio != null || Daisy3_Export.AltContentHasSignificantMetadata(altContent); if (altContent.Text == null && otherDataInAdvancedMode ) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- The simplified language has no text."; if (otherDataInAdvancedMode) { message += " (has other data, see advanced editor)"; } } } //if (altContent.Audio != null && altContent.Text == null) //{ // if (!first) // { // if (message != null) // { // message += "\n"; // } // } // first = false; // if (message != null) // { // message += "- The simplified language has audio but no corresponding text."; // } //} } bool hasMessages = !first; return(hasMessages); }
private bool getValidationText_Descriptions(ref string message) { bool first = true; int count = 0; foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_LondDesc)) { count++; } if (count == 0) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- No long description is specified."; } } else if (count > 1) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- There are more than one long description ("; message += count; message += ")"; } } //foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_LondDesc)) //{ // if (altContent.Audio != null && altContent.Text == null) // { // if (!first) // { // if (message != null) // { // message += "\n"; // } // } // first = false; // if (message != null) // { // message += "- The long description has audio but no corresponding text."; // } // break; // } //} foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_LondDesc)) { if (altContent.Text == null || string.IsNullOrEmpty(altContent.Text.Text)) { bool otherDataInAdvancedMode = altContent.Audio != null || Daisy3_Export.AltContentHasSignificantMetadata(altContent); if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- The long description text is missing."; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "] "; } if (otherDataInAdvancedMode) { message += " (has other data)"; } } } } foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_LondDesc)) { if (altContent.Image != null) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- The long description shouldn't have an image."; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "]"; } } } } count = 0; foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_Summary)) { count++; } if (count == 0) { //if (!first) //{ // if (message != null) // { // message += "\n"; // } //} //first = false; //if (message != null) //{ // message += "- Specifying a summary is recommended."; //} } else if (count > 1) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- There are more than one summary ("; message += count; message += ")"; } } //foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_Summary)) //{ // if (altContent.Audio != null && altContent.Text == null) // { // if (!first) // { // if (message != null) // { // message += "\n"; // } // } // first = false; // if (message != null) // { // message += "- The summary has audio but no corresponding text."; // } // break; // } //} foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_Summary)) { if (altContent.Text == null || string.IsNullOrEmpty(altContent.Text.Text)) { bool otherDataInAdvancedMode = altContent.Audio != null || Daisy3_Export.AltContentHasSignificantMetadata(altContent); if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- The summary text is missing."; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "] "; } if (otherDataInAdvancedMode) { message += " (has other data)"; } } } } foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_Summary)) { if (altContent.Image != null) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- The summary shouldn't have an image."; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "]"; } } } } count = 0; foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_SimplifiedLanguageDescription)) { count++; } if (count > 1) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- There are more than one simplified language ("; message += count; message += ")"; } } //foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_SimplifiedLanguageDescription)) //{ // if (altContent.Audio != null && altContent.Text == null) // { // if (!first) // { // if (message != null) // { // message += "\n"; // } // } // first = false; // if (message != null) // { // message += "- The simplified language has audio but no corresponding text."; // } // break; // } //} foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_SimplifiedLanguageDescription)) { if (altContent.Text == null || string.IsNullOrEmpty(altContent.Text.Text)) { bool otherDataInAdvancedMode = altContent.Audio != null || Daisy3_Export.AltContentHasSignificantMetadata(altContent); if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- The simplified language text is missing."; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "] "; } if (otherDataInAdvancedMode) { message += " (has other data)"; } } } } foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_SimplifiedLanguageDescription)) { if (altContent.Image != null) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- The simplified language shouldn't have an image."; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "]"; } } } } count = 0; foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_SimplifiedImage)) { count++; } if (count > 1) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- There are more than one simplified image ("; message += count; message += "), which will be grouped if they have the same identifier and share the same tour."; } } foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_SimplifiedImage)) { if (altContent.Audio != null && altContent.Text == null) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- The simplified image has audio but no corresponding tour."; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "]"; } } } } foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_SimplifiedImage)) { if (altContent.Image == null) { bool otherDataInAdvancedMode = altContent.Audio != null || altContent.Text != null || Daisy3_Export.AltContentHasSignificantMetadata(altContent); if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- Image is missing for simplified image."; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "] "; } if (otherDataInAdvancedMode) { message += " (has other data)"; } } } } foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_SimplifiedImage)) { if (altContent.Image != null && (altContent.Text == null || string.IsNullOrEmpty(altContent.Text.Text))) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- Tour text is recommended for simplified image."; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "]"; } } } } count = 0; foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_Tactile)) { count++; } if (count > 1) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- There are more than one tactile image ("; message += count; message += "), which will be grouped if they have the same identifier and share the same tour."; } } foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_Tactile)) { if (altContent.Audio != null && altContent.Text == null) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- The tactile image has audio but no corresponding tour."; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "]"; } } } } foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_Tactile)) { bool otherDataInAdvancedMode = altContent.Audio != null || altContent.Text != null || Daisy3_Export.AltContentHasSignificantMetadata(altContent); if (altContent.Image == null) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- Image is missing for tactile image."; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "] "; } if (otherDataInAdvancedMode) { message += " (has other data)"; } } } } foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_Tactile)) { if (altContent.Image != null && (altContent.Text == null || string.IsNullOrEmpty(altContent.Text.Text))) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- Tour text is recommended for tactile image."; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "]"; } } } } string strUnknownDIAGRAMs = ""; foreach (var id in GetUnknownDIAGRAMnames()) { strUnknownDIAGRAMs += "["; strUnknownDIAGRAMs += id; strUnknownDIAGRAMs += "]"; } if (!string.IsNullOrEmpty(strUnknownDIAGRAMs)) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- Unknown DIAGRAM elements: "; message += strUnknownDIAGRAMs; } } string strInvalidDIAGRAMs = ""; foreach (var id in GetInvalidDIAGRAMnames()) { strInvalidDIAGRAMs += "["; strInvalidDIAGRAMs += id; strInvalidDIAGRAMs += "]"; } if (!string.IsNullOrEmpty(strInvalidDIAGRAMs)) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- Invalid syntax for DIAGRAM elements: "; message += strInvalidDIAGRAMs; } } string strInvalidIDS = ""; foreach (var id in GetInvalidIDs(false, true)) { strInvalidIDS += "["; strInvalidIDS += id; strInvalidIDS += "]"; } if (!string.IsNullOrEmpty(strInvalidIDS)) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- Some identifiers are invalid: "; message += strInvalidIDS; } } string strDupIDS = ""; foreach (var id in GetDuplicatedIDs(false, true)) { strDupIDS += "["; strDupIDS += id; strDupIDS += "]"; } if (!string.IsNullOrEmpty(strDupIDS)) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- Some identifiers are duplicated (this may be valid if used for grouping image objects): "; message += strDupIDS; } } string strMissingIDS = ""; foreach (var id in GetReferencedMissingIDs(false, true)) { strMissingIDS += "["; strMissingIDS += id; strMissingIDS += "]"; } if (!string.IsNullOrEmpty(strMissingIDS)) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- Some identifiers are referenced, but are missing: "; message += strMissingIDS; } } string strInvalidLangs = ""; foreach (var id in GetInvalidLanguageTags(false, true)) { strInvalidLangs += "["; strInvalidLangs += id; strInvalidLangs += "]"; } if (!string.IsNullOrEmpty(strInvalidLangs)) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += "- Some language tags are invalid: "; message += strInvalidLangs; } } bool hasMessages = !first; return(hasMessages); }
private void OnClick_ButtonExport(object sender, RoutedEventArgs e) { m_Logger.Log("DescriptionView.OnClick_ButtonExport", Category.Debug, Priority.Medium); Tuple <TreeNode, TreeNode> selection = m_Session.GetTreeNodeSelection(); TreeNode node = selection.Item2 ?? selection.Item1; if (node == null || node.GetAlternateContentProperty() == null || node.GetImageMedia() == null || !(node.GetImageMedia() is ManagedImageMedia)) { return; } SampleRate sampleRate = SampleRate.Hz22050; sampleRate = Urakawa.Settings.Default.AudioExportSampleRate; bool encodeToMp3 = true; encodeToMp3 = Urakawa.Settings.Default.AudioExportEncodeToMp3; var combo = new ComboBox { Margin = new Thickness(0, 0, 0, 12) }; ComboBoxItem item1 = new ComboBoxItem(); item1.Content = AudioLib.SampleRate.Hz11025.ToString(); combo.Items.Add(item1); ComboBoxItem item2 = new ComboBoxItem(); item2.Content = AudioLib.SampleRate.Hz22050.ToString(); combo.Items.Add(item2); ComboBoxItem item3 = new ComboBoxItem(); item3.Content = AudioLib.SampleRate.Hz44100.ToString(); combo.Items.Add(item3); switch (sampleRate) { case AudioLib.SampleRate.Hz11025: { combo.SelectedItem = item1; combo.Text = item1.Content.ToString(); break; } case AudioLib.SampleRate.Hz22050: { combo.SelectedItem = item2; combo.Text = item2.Content.ToString(); break; } case AudioLib.SampleRate.Hz44100: { combo.SelectedItem = item3; combo.Text = item3.Content.ToString(); break; } } var checkBox = new CheckBox { IsThreeState = false, IsChecked = encodeToMp3, HorizontalAlignment = System.Windows.HorizontalAlignment.Right, VerticalAlignment = VerticalAlignment.Center, }; var label_ = new TextBlock { Text = Tobi_Plugin_Urakawa_Lang.ExportEncodeMp3, Margin = new Thickness(8, 0, 8, 0), HorizontalAlignment = System.Windows.HorizontalAlignment.Right, VerticalAlignment = VerticalAlignment.Center, Focusable = true, TextWrapping = TextWrapping.Wrap }; var panel__ = new StackPanel { Orientation = System.Windows.Controls.Orientation.Horizontal, HorizontalAlignment = System.Windows.HorizontalAlignment.Right, VerticalAlignment = VerticalAlignment.Center, }; panel__.Children.Add(label_); panel__.Children.Add(checkBox); var panel_ = new StackPanel { Orientation = System.Windows.Controls.Orientation.Vertical, HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch, VerticalAlignment = VerticalAlignment.Center, }; panel_.Children.Add(combo); panel_.Children.Add(panel__); var windowPopup_ = new PopupModalWindow(m_ShellView, UserInterfaceStrings.EscapeMnemonic(Tobi_Plugin_Urakawa_Lang.ExportSettings), panel_, PopupModalWindow.DialogButtonsSet.OkCancel, PopupModalWindow.DialogButton.Ok, false, 300, 180, null, 40, m_DescriptionPopupModalWindow); windowPopup_.EnableEnterKeyDefault = true; windowPopup_.ShowModal(); if (!PopupModalWindow.IsButtonOkYesApply(windowPopup_.ClickedDialogButton)) { return; } encodeToMp3 = checkBox.IsChecked.Value; Urakawa.Settings.Default.AudioExportEncodeToMp3 = checkBox.IsChecked.Value; if (combo.SelectedItem == item1) { sampleRate = SampleRate.Hz11025; Urakawa.Settings.Default.AudioExportSampleRate = sampleRate; } else if (combo.SelectedItem == item2) { sampleRate = SampleRate.Hz22050; Urakawa.Settings.Default.AudioExportSampleRate = sampleRate; } else if (combo.SelectedItem == item3) { sampleRate = SampleRate.Hz44100; Urakawa.Settings.Default.AudioExportSampleRate = sampleRate; } string rootFolder = Path.GetDirectoryName(m_Session.DocumentFilePath); var dlg = new FolderBrowserDialog { RootFolder = Environment.SpecialFolder.MyComputer, SelectedPath = rootFolder, ShowNewFolderButton = true, Description = @"Tobi: " + UserInterfaceStrings.EscapeMnemonic("Export DIAGRAM XML") }; DialogResult result = DialogResult.Abort; m_ShellView.DimBackgroundWhile(() => { result = dlg.ShowDialog(); }); if (result != DialogResult.OK && result != DialogResult.Yes) { return; } if (!Directory.Exists(dlg.SelectedPath)) { return; } ManagedImageMedia managedImage = (ManagedImageMedia)node.GetImageMedia(); string exportImageName = //Path.GetFileName FileDataProvider.EliminateForbiddenFileNameCharacters (managedImage.ImageMediaData.OriginalRelativePath) ; string imageDescriptionDirectoryPath = Daisy3_Export.GetAndCreateImageDescriptionDirectoryPath(false, exportImageName, dlg.SelectedPath); if (Directory.Exists(imageDescriptionDirectoryPath)) { if (!m_Session.askUserConfirmOverwriteFileFolder(imageDescriptionDirectoryPath, true, m_DescriptionPopupModalWindow)) { return; } FileDataProvider.TryDeleteDirectory(imageDescriptionDirectoryPath, true); } FileDataProvider.CreateDirectory(imageDescriptionDirectoryPath); PCMFormatInfo audioFormat = node.Presentation.MediaDataManager.DefaultPCMFormat; AudioLibPCMFormat pcmFormat = audioFormat.Data; if ((ushort)sampleRate != pcmFormat.SampleRate) { pcmFormat.SampleRate = (ushort)sampleRate; } Application.Current.MainWindow.Cursor = Cursors.Wait; this.Cursor = Cursors.Wait; //m_ShellView try { string descriptionFile = Daisy3_Export.CreateImageDescription( Urakawa.Settings.Default.AudioCodecDisableACM, pcmFormat, encodeToMp3, 0, imageDescriptionDirectoryPath, exportImageName, node.GetAlternateContentProperty(), null, null, null); } finally { Application.Current.MainWindow.Cursor = Cursors.Arrow; this.Cursor = Cursors.Arrow; //m_ShellView } m_ShellView.ExecuteShellProcess(imageDescriptionDirectoryPath); }
private bool getValidationText_BasicImage(ref string message) { bool first = true; AlternateContent altContent = GetAltContent(DiagramContentModelHelper.D_SimplifiedImage); if (altContent != null) { if (altContent.Image != null && altContent.Text == null) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.SimplifiedImageTourRecommended; } } bool otherDataInAdvancedMode = altContent.Audio != null || Daisy3_Export.AltContentHasSignificantMetadata(altContent); if (altContent.Image == null && ( altContent.Text != null || otherDataInAdvancedMode ) ) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.SimplifiedImageMissing; if (otherDataInAdvancedMode) { message += " "; message += Tobi_Plugin_Descriptions_Lang.LongDescHasOtherDataAdvanced; } } } //if (altContent.Image == null && altContent.Text != null) //{ // if (!first) // { // if (message != null) // { // message += "\n"; // } // } // first = false; // if (message != null) // { // message += "- A tour is specified without its associated simplified image."; // } //} if (altContent.Audio != null && altContent.Text == null) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.SimplifiedImageAudioNoTour; } } } altContent = GetAltContent(DiagramContentModelHelper.D_Tactile); if (altContent != null) { if (altContent.Image != null && altContent.Text == null) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.TactileImageTourRecommended; } } bool otherDataInAdvancedMode = altContent.Audio != null || Daisy3_Export.AltContentHasSignificantMetadata(altContent); if (altContent.Image == null && ( altContent.Text != null || otherDataInAdvancedMode ) ) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.TactileImageMissing; if (otherDataInAdvancedMode) { message += " "; message += Tobi_Plugin_Descriptions_Lang.LongDescHasOtherDataAdvanced; } } } //if (altContent.Image == null && altContent.Text != null) //{ // if (!first) // { // if (message != null) // { // message += "\n"; // } // } // first = false; // if (message != null) // { // message += "- A tour is specified without its associated tactile image."; // } //} if (altContent.Audio != null && altContent.Text == null) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.TactileImageAudioNoTour; } } } bool hasMessages = !first; return(hasMessages); }
private bool getValidationText_Descriptions(ref string message) { bool first = true; int count = 0; foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_LondDesc)) { count++; } if (count == 0) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.LongDescMissing; } } else if (count > 1) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.LongDescMoreThanOne; message += "("; message += count; message += ")"; } } //foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_LondDesc)) //{ // if (altContent.Audio != null && altContent.Text == null) // { // if (!first) // { // if (message != null) // { // message += "\n"; // } // } // first = false; // if (message != null) // { // message += "- The long description has audio but no corresponding text."; // } // break; // } //} foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_LondDesc)) { if (altContent.Text == null || string.IsNullOrEmpty(altContent.Text.Text)) { bool otherDataInAdvancedMode = altContent.Audio != null || Daisy3_Export.AltContentHasSignificantMetadata(altContent); if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.LongDescTextMissing; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "] "; } if (otherDataInAdvancedMode) { message += " "; message += Tobi_Plugin_Descriptions_Lang.LongDescHasOtherData; } } } } foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_LondDesc)) { if (altContent.Image != null) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.LongDescNoImage; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "]"; } } } } count = 0; foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_Summary)) { count++; } if (count == 0) { //if (!first) //{ // if (message != null) // { // message += "\n"; // } //} //first = false; //if (message != null) //{ // message += "- Specifying a summary is recommended."; //} } else if (count > 1) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.SummaryMoreThanOne; message += " ("; message += count; message += ")"; } } //foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_Summary)) //{ // if (altContent.Audio != null && altContent.Text == null) // { // if (!first) // { // if (message != null) // { // message += "\n"; // } // } // first = false; // if (message != null) // { // message += "- The summary has audio but no corresponding text."; // } // break; // } //} foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_Summary)) { if (altContent.Text == null || string.IsNullOrEmpty(altContent.Text.Text)) { bool otherDataInAdvancedMode = altContent.Audio != null || Daisy3_Export.AltContentHasSignificantMetadata(altContent); if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.SummaryTextMissing; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "] "; } if (otherDataInAdvancedMode) { message += " "; message += Tobi_Plugin_Descriptions_Lang.LongDescHasOtherData; } } } } foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_Summary)) { if (altContent.Image != null) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.SummaryNoImage; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "]"; } } } } count = 0; foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_SimplifiedLanguageDescription)) { count++; } if (count > 1) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.SimplifiedLanguageMoreThanOne; message += " ("; message += count; message += ")"; } } //foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_SimplifiedLanguageDescription)) //{ // if (altContent.Audio != null && altContent.Text == null) // { // if (!first) // { // if (message != null) // { // message += "\n"; // } // } // first = false; // if (message != null) // { // message += "- The simplified language has audio but no corresponding text."; // } // break; // } //} foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_SimplifiedLanguageDescription)) { if (altContent.Text == null || string.IsNullOrEmpty(altContent.Text.Text)) { bool otherDataInAdvancedMode = altContent.Audio != null || Daisy3_Export.AltContentHasSignificantMetadata(altContent); if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.SimplifiedLanguageTextMissing; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "] "; } if (otherDataInAdvancedMode) { message += " "; message += Tobi_Plugin_Descriptions_Lang.LongDescHasOtherData; } } } } foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_SimplifiedLanguageDescription)) { if (altContent.Image != null) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.SimplifiedLanguageNoImage; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "]"; } } } } count = 0; foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_SimplifiedImage)) { count++; } if (count > 1) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.SimplifiedImageMoreThanOne; message += " ("; message += count; message += "), "; message += Tobi_Plugin_Descriptions_Lang.SimplifiedImageGroupID; } } foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_SimplifiedImage)) { if (altContent.Audio != null && altContent.Text == null) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.SimplifiedImageAudioNoTour; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "]"; } } } } foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_SimplifiedImage)) { if (altContent.Image == null) { bool otherDataInAdvancedMode = altContent.Audio != null || altContent.Text != null || Daisy3_Export.AltContentHasSignificantMetadata(altContent); if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.SimplifiedImageMissingImage; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "] "; } if (otherDataInAdvancedMode) { message += " "; message += Tobi_Plugin_Descriptions_Lang.LongDescHasOtherData; } } } } foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_SimplifiedImage)) { if (altContent.Image != null && (altContent.Text == null || string.IsNullOrEmpty(altContent.Text.Text))) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.SimplifiedImageTourRecommended; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "]"; } } } } count = 0; foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_Tactile)) { count++; } if (count > 1) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.TactileImageMoreThanOne; message += " ("; message += count; message += "), "; message += Tobi_Plugin_Descriptions_Lang.SimplifiedImageGroupID; } } foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_Tactile)) { if (altContent.Audio != null && altContent.Text == null) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.TactileImageAudioNoTour; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "]"; } } } } foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_Tactile)) { bool otherDataInAdvancedMode = altContent.Audio != null || altContent.Text != null || Daisy3_Export.AltContentHasSignificantMetadata(altContent); if (altContent.Image == null) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.TactileImageMissingImage; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "] "; } if (otherDataInAdvancedMode) { message += " "; message += Tobi_Plugin_Descriptions_Lang.LongDescHasOtherData; } } } } foreach (var altContent in GetAltContents(DiagramContentModelHelper.D_Tactile)) { if (altContent.Image != null && (altContent.Text == null || string.IsNullOrEmpty(altContent.Text.Text))) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.TactileImageTourRecommended; string xmlId = GetXmlID(altContent); if (!String.IsNullOrEmpty(xmlId)) { message += " [" + xmlId + "]"; } } } } string strUnknownDIAGRAMs = ""; foreach (var id in GetUnknownDIAGRAMnames()) { strUnknownDIAGRAMs += "["; strUnknownDIAGRAMs += id; strUnknownDIAGRAMs += "]"; } if (!string.IsNullOrEmpty(strUnknownDIAGRAMs)) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.DiagramUnknownElements; message += " "; message += strUnknownDIAGRAMs; } } string strInvalidDIAGRAMs = ""; foreach (var id in GetInvalidDIAGRAMnames()) { strInvalidDIAGRAMs += "["; strInvalidDIAGRAMs += id; strInvalidDIAGRAMs += "]"; } if (!string.IsNullOrEmpty(strInvalidDIAGRAMs)) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.DiagramElementsInvalidSyntax; message += " "; message += strInvalidDIAGRAMs; } } string strInvalidIDS = ""; foreach (var id in GetInvalidIDs(false, true)) { strInvalidIDS += "["; strInvalidIDS += id; strInvalidIDS += "]"; } if (!string.IsNullOrEmpty(strInvalidIDS)) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.InvalidIDs; message += " "; message += strInvalidIDS; } } string strDupIDS = ""; foreach (var id in GetDuplicatedIDs(false, true)) { strDupIDS += "["; strDupIDS += id; strDupIDS += "]"; } if (!string.IsNullOrEmpty(strDupIDS)) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.DuplicatedIDs; message += " "; message += strDupIDS; } } string strMissingIDS = ""; foreach (var id in GetReferencedMissingIDs(false, true)) { strMissingIDS += "["; strMissingIDS += id; strMissingIDS += "]"; } if (!string.IsNullOrEmpty(strMissingIDS)) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.MissingIDs; message += " "; message += strMissingIDS; } } string strInvalidLangs = ""; foreach (var id in GetInvalidLanguageTags(false, true)) { strInvalidLangs += "["; strInvalidLangs += id; strInvalidLangs += "]"; } if (!string.IsNullOrEmpty(strInvalidLangs)) { if (!first) { if (message != null) { message += "\n"; } } first = false; if (message != null) { message += Tobi_Plugin_Descriptions_Lang.InvalidLanguageTags; message += " "; message += strInvalidLangs; } } bool hasMessages = !first; return(hasMessages); }