Пример #1
0
        /// <summary>
        /// Called by Paratext when the menu item created for this plugin was clicked.
        /// </summary>
        public void Run(IHost ptHost, string activeProjectName)
        {
            Form formToShow;

            lock (this)
            {
                IScrExtractor extractor      = ptHost.GetScriptureExtractor(activeProjectName, ExtractorType.USFM);
                string        vrsName        = ptHost.GetProjectVersificationName(activeProjectName);
                int           currRef        = ptHost.GetCurrentRef(vrsName);
                int           book           = currRef / 1000000;
                int           chapter        = (currRef / 1000) % 1000;
                int           bookAndChapter = (currRef / 1000) * 1000;
                int           startOfChapter = bookAndChapter + 1;
                int           endOfChapter   = bookAndChapter + ptHost.GetLastVerse(book, chapter, vrsName);
                string        text           = extractor.Extract(startOfChapter, endOfChapter);
                StringBuilder bldr           = new StringBuilder();
                bool          skipping       = false;
                for (int i = 0; i < text.Length; i++)
                {
                    char ch = text[i];
                    if (ch == ' ')
                    {
                        skipping = false;
                    }
                    else
                    {
                        skipping |= (ch == '\\');
                    }
                    if (!skipping)
                    {
                        bldr.Append(ch);
                    }
                }
                formToShow = form = new WordCloudForm(bldr.ToString());
            }
            Application.Run(formToShow);
            Environment.Exit(0);
        }
        /// ------------------------------------------------------------------------------------
        /// <summary>
        /// Initializes a new instance of this class.
        /// </summary>
        /// ------------------------------------------------------------------------------------
        internal GenerateScriptDlg(string projectName, IScrExtractor scrExtractor,
                                   string defaultFolder, IEnumerable <int> canonicalBookIds,
                                   IEnumerable <SectionInfo> sections,
                                   IEnumerable <Tuple <string, string> > availableAdditionalLWCs)
        {
            m_scrExtractor = scrExtractor;
            InitializeComponent();
            m_chkIncludeLWCQuestions.Tag            = btnChooseEnglishQuestionColor;
            m_chkIncludeLWCAnswers.Tag              = btnChooseEnglishAnswerColor;
            m_chkIncludeLWCComments.Tag             = btnChooserCommentColor;
            m_fmtChkEnglishQuestions                = m_chkIncludeLWCQuestions.Text;
            m_fmtChkEnglishAnswers                  = m_chkIncludeLWCAnswers.Text;
            m_fmtChkIncludeComments                 = m_chkIncludeLWCComments.Text;
            btnChooseQuestionGroupHeadingsColor.Tag = m_lblQuestionGroupHeadingsColor;
            btnChooseEnglishQuestionColor.Tag       = m_lblEnglishQuestionColor;
            btnChooseEnglishAnswerColor.Tag         = m_lblEnglishAnswerTextColor;
            btnChooserCommentColor.Tag              = m_lblCommentTextColor;
            m_sTitleTemplate    = m_txtTitle.Text;
            m_sFilenameTemplate = string.Format(m_txtFilename.Text, projectName, "{0}");
            if (scrExtractor == null)
            {
                m_lbFilename.Text   = Properties.Resources.kstidTemplateFileNameLabel;
                m_sFilenameTemplate = Path.ChangeExtension(m_sFilenameTemplate, "lcf");
            }

            LoadBooks(canonicalBookIds);
            m_sections = sections.ToList();
            LoadSectionCombos();
            LoadLWCCombo(availableAdditionalLWCs);

            switch ((RangeOption)Properties.Settings.Default.GenerateTemplateRange)
            {
            case RangeOption.WholeBook:
                m_rdoWholeBook.Checked = true;
                TrySelectItem(m_cboBooks, Properties.Settings.Default.GenerateTemplateBook);
                break;

            case RangeOption.SingleSection:
                m_rdoSingleSection.Checked = true;
                TrySelectItem(m_cboSection, Properties.Settings.Default.GenerateTemplateSection);
                break;

            case RangeOption.RangeOfSections:
                m_rdoSectionRange.Checked = true;
                TrySelectItem(m_cboStartSection, Properties.Settings.Default.GenerateTemplateSection);
                TrySelectItem(m_cboEndSection, Properties.Settings.Default.GenerateTemplateEndSection);
                break;
            }

            m_chkPassageBeforeOverview.Checked = Properties.Settings.Default.GenerateTemplatePassageBeforeOverview;
            SetDefaultCheckedStateForLWCOptions();
            m_rdoUseOriginal.Checked      = Properties.Settings.Default.GenerateTemplateUseOriginalQuestionIfNotTranslated;
            m_rdoSkipUntranslated.Checked = !m_rdoUseOriginal.Checked && Properties.Settings.Default.GenerateTemplateSkipQuestionIfNotTranslated;             // These two settings should never be able to both be true, but just to be safe.

            m_lblFolder.Text = string.IsNullOrEmpty(Properties.Settings.Default.GenerateTemplateFolder) ? defaultFolder :
                               Properties.Settings.Default.GenerateTemplateFolder;

            m_numBlankLines.Value = Properties.Settings.Default.GenerateTemplateBlankLines;
            if (!Properties.Settings.Default.GenerateTemplateQuestionGroupHeadingsColor.IsEmpty)
            {
                m_lblQuestionGroupHeadingsColor.ForeColor = Properties.Settings.Default.GenerateTemplateQuestionGroupHeadingsColor;
            }
            if (!Properties.Settings.Default.GenerateTemplateEnglishQuestionTextColor.IsEmpty)
            {
                m_lblEnglishQuestionColor.ForeColor = Properties.Settings.Default.GenerateTemplateEnglishQuestionTextColor;
            }
            if (!Properties.Settings.Default.GenerateTemplateEnglishAnswerTextColor.IsEmpty)
            {
                m_lblEnglishAnswerTextColor.ForeColor = Properties.Settings.Default.GenerateTemplateEnglishAnswerTextColor;
            }
            if (!Properties.Settings.Default.GenerateTemplateCommentTextColor.IsEmpty)
            {
                m_lblCommentTextColor.ForeColor = Properties.Settings.Default.GenerateTemplateCommentTextColor;
            }
            m_chkNumberQuestions.Checked = Properties.Settings.Default.GenerateTemplateNumberQuestions;

            m_rdoUseExternalCss.Checked = Properties.Settings.Default.GenerateTemplateUseExternalCss;
            if (m_rdoUseExternalCss.Checked)
            {
                m_txtCssFile.Text            = Properties.Settings.Default.GenerateTemplateCssFile;
                m_chkAbsoluteCssPath.Checked = Properties.Settings.Default.GenerateTemplateAbsoluteCssPath;
            }
        }
Пример #3
0
        /// ------------------------------------------------------------------------------------
        /// <summary>
        /// Initializes a new instance of this class.
        /// </summary>
        /// ------------------------------------------------------------------------------------
        internal GenerateScriptDlg(string projectName, IScrExtractor scrExtractor,
                                   string defaultFolder, IEnumerable <int> canonicalBookIds,
                                   IList <ISectionInfo> sections,
                                   IEnumerable <KeyValuePair <string, string> > availableAdditionalLWCs)
        {
            m_projectName  = projectName;
            m_scrExtractor = scrExtractor;
            InitializeComponent();
            m_chkIncludeLWCQuestions.Tag            = m_btnChooseLWCQuestionColor;
            m_chkIncludeLWCAnswers.Tag              = m_btnChooseLWCAnswerColor;
            m_chkIncludeLWCComments.Tag             = m_btnChooseCommentColor;
            btnChooseQuestionGroupHeadingsColor.Tag = m_lblQuestionGroupHeadingsColor;
            m_btnChooseLWCQuestionColor.Tag         = m_lblLWCQuestionColor;
            m_btnChooseLWCAnswerColor.Tag           = m_lblLWCAnswerTextColor;
            m_btnChooseCommentColor.Tag             = m_lblCommentTextColor;
            HandleStringsLocalized();
            LocalizeItemDlg <XLiffDocument> .StringsLocalized += HandleStringsLocalized;

            LoadBooks(canonicalBookIds);
            m_sections = sections;
            LoadSectionCombos();
            LoadLWCCombo(availableAdditionalLWCs);

            switch ((RangeOption)Properties.Settings.Default.GenerateTemplateRange)
            {
            case RangeOption.WholeBook:
                m_rdoWholeBook.Checked = true;
                TrySelectItem(m_cboBooks, Properties.Settings.Default.GenerateTemplateBook);
                break;

            case RangeOption.SingleSection:
                m_rdoSingleSection.Checked = true;
                TrySelectItem(m_cboSection, Properties.Settings.Default.GenerateTemplateSection);
                break;

            case RangeOption.RangeOfSections:
                m_rdoSectionRange.Checked = true;
                TrySelectItem(m_cboStartSection, Properties.Settings.Default.GenerateTemplateSection);
                TrySelectItem(m_cboEndSection, Properties.Settings.Default.GenerateTemplateEndSection);
                break;
            }

            m_chkPassageBeforeOverview.Checked = Properties.Settings.Default.GenerateTemplatePassageBeforeOverview;
            if (m_scrExtractor == null)
            {
                m_chkIncludeVerseNumbers.Checked = m_chkIncludeVerseNumbers.Enabled = false;
            }
            else
            {
                m_chkIncludeVerseNumbers.Checked = Properties.Settings.Default.GenerateIncludeVerseNumbers;
            }
            SetDefaultCheckedStateForLWCOptions();
            m_rdoUseOriginal.Checked      = Properties.Settings.Default.GenerateTemplateUseOriginalQuestionIfNotTranslated;
            m_rdoSkipUntranslated.Checked = !m_rdoUseOriginal.Checked && Properties.Settings.Default.GenerateTemplateSkipQuestionIfNotTranslated;             // These two settings should never be able to both be true, but just to be safe.

            m_rdoOutputPassageForOutOfOrderQuestions.Checked = Properties.Settings.Default.GenerateOutputPassageForOutOfOrderQuestions;

            m_lblFolder.Text = IsNullOrEmpty(Properties.Settings.Default.GenerateTemplateFolder) ? defaultFolder :
                               Properties.Settings.Default.GenerateTemplateFolder;

            m_numBlankLines.Value = Properties.Settings.Default.GenerateTemplateBlankLines;
            if (!Properties.Settings.Default.GenerateTemplateQuestionGroupHeadingsColor.IsEmpty)
            {
                m_lblQuestionGroupHeadingsColor.ForeColor = Properties.Settings.Default.GenerateTemplateQuestionGroupHeadingsColor;
            }
            if (!Properties.Settings.Default.GenerateTemplateEnglishQuestionTextColor.IsEmpty)
            {
                m_lblLWCQuestionColor.ForeColor = Properties.Settings.Default.GenerateTemplateEnglishQuestionTextColor;
            }
            if (!Properties.Settings.Default.GenerateTemplateEnglishAnswerTextColor.IsEmpty)
            {
                m_lblLWCAnswerTextColor.ForeColor = Properties.Settings.Default.GenerateTemplateEnglishAnswerTextColor;
            }
            if (!Properties.Settings.Default.GenerateTemplateCommentTextColor.IsEmpty)
            {
                m_lblCommentTextColor.ForeColor = Properties.Settings.Default.GenerateTemplateCommentTextColor;
            }
            m_chkNumberQuestions.Checked = Properties.Settings.Default.GenerateTemplateNumberQuestions;

            m_rdoUseExternalCss.Checked = Properties.Settings.Default.GenerateTemplateUseExternalCss;
            if (m_rdoUseExternalCss.Checked)
            {
                m_txtCssFile.Text            = Properties.Settings.Default.GenerateTemplateCssFile;
                m_chkAbsoluteCssPath.Checked = Properties.Settings.Default.GenerateTemplateAbsoluteCssPath;
            }
        }