public string Html(HtmlConNoteControl htmlConNoteCtrl,
                           StoryStageLogic theStoryStage, TeamMemberData LoggedOnMember,
                           bool bViewHidden, bool bVerseVisible, int nVerseIndex)
        {
            string strHtml = null;

            for (int i = 0; i < Count; i++)
            {
                ConsultNoteDataConverter aCNDC = this[i];
                if (aCNDC.Visible || bViewHidden)
                {
                    strHtml += aCNDC.Html(htmlConNoteCtrl, theStoryStage, LoggedOnMember, nVerseIndex, i);
                }
            }

            // color changes if hidden
            string strColor;

            if (bVerseVisible)
            {
                strColor = "#FFFFFF";
            }
            else
            {
                strColor = "#F0E68C";
            }

            return(String.Format(Properties.Resources.HTML_TableRowColor, strColor,
                                 String.Format(Properties.Resources.HTML_TableCellWithSpan, 2,
                                               String.Format(Properties.Resources.HTML_TableNoBorder, strHtml))));
        }
Пример #2
0
        public MultiLineControl(VerseControl ctrlVerse, StoryStageLogic storyStageLogic,
                                MultipleLineDataConverter aMLDC, Font font, List <string> astrTestors)
            : base(storyStageLogic)
        {
            InitializeComponent();

            tableLayoutPanel.SuspendLayout();
            SuspendLayout();

            System.Diagnostics.Debug.Assert(tableLayoutPanel.RowCount == 1, "otherwise, fix this assumption: RetellingsControl.cs.20");
            tableLayoutPanel.RemoveRow(1);              // remove the one default one we start with

            // finally populate the buttons on that tool strip
            System.Diagnostics.Debug.Assert(aMLDC.Count > 0);
            int nNumRows = 0;

            for (int i = 0; i < aMLDC.Count; i++)
            {
                StringTransfer strRowData = aMLDC[i];
                string         strUnsGui  = aMLDC.MemberIDs[i];
                System.Diagnostics.Debug.Assert(astrTestors.Contains(strUnsGui));
                int nTest = astrTestors.IndexOf(strUnsGui) + 1;
                InitRow(ctrlVerse, aMLDC.LabelTextFormat, font, strRowData, nTest, ref nNumRows);
            }

            tableLayoutPanel.ResumeLayout(false);
            ResumeLayout(false);
        }
Пример #3
0
        public AnchorControl(VerseControl ctrlVerse, StoryStageLogic storyStageLogic,
                             AnchorsData anAnchorsData, Font font)
            : base(storyStageLogic)
        {
            _ctrlVerse     = ctrlVerse;
            _myAnchorsData = anAnchorsData;
            _font          = font;
            InitializeComponent();

            tableLayoutPanel.SuspendLayout();
            SuspendLayout();

            tableLayoutPanel.Controls.Add(labelAnchor, 0, 0);
            tableLayoutPanel.Controls.Add(toolStripAnchors, 1, 0);

            // add the label and tool strip as a new row to the table layout panel
            // finally populate the buttons on that tool strip
            foreach (AnchorData anAnchorData in anAnchorsData)
            {
                ToolStripButton theAnchorButton = InitAnchorButton(toolStripAnchors, anAnchorData);

                if (anAnchorData.ExegeticalHelpNotes.Count > 0)
                {
                    InitExegeticalHelpsRow(ctrlVerse, theAnchorButton, anAnchorData.ExegeticalHelpNotes, ref m_nNumRows);
                }
            }

            tableLayoutPanel.ResumeLayout(false);
            ResumeLayout(false);
        }
Пример #4
0
 public StorySettings(StoryProject.storyRow theStoryRow, StoryProject projFile, TeamMemberData loggedOnMember)
 {
     StoryName    = theStoryRow.name;
     StoryGuid    = theStoryRow.guid;
     ProjStage    = new StoryStageLogic(theStoryRow.stage, loggedOnMember);
     CraftingInfo = new CraftingInfoData(theStoryRow, projFile, loggedOnMember);
 }
        public void InsureExtraBox(StoryStageLogic theStoryStage,
                                   TeamMemberData.UserTypes eLoggedOnMember,
                                   TeamMemberData.UserTypes eMentorType, TeamMemberData.UserTypes eMenteeType,
                                   string strValue)
        {
            // in case the user re-logs in, we might have extra boxes here. So remove any null ones before
            //  "insuring" the one(s) we need
            if (Count > 1)
            {
                while (!this[Count - 1].HasData)
                {
                    RemoveAt(Count - 1);
                }
            }

            // don't bother, though, if the user has ended the conversation
            if (IsFinished || !theStoryStage.IsEditAllowed(eLoggedOnMember))
            {
                return;
            }

            if (((eLoggedOnMember & eMentorType) == eLoggedOnMember) && ((Count == 0) || (this[Count - 1].Direction == MenteeDirection)))
            {
                Add(new CommInstance(strValue, MentorDirection, null, DateTime.Now));
            }
            else if (((eLoggedOnMember & eMenteeType) == eLoggedOnMember) && ((Count == 0) || (this[Count - 1].Direction == MentorDirection)))
            {
                Add(new CommInstance(strValue, MenteeDirection, null, DateTime.Now));
            }
        }
Пример #6
0
        public string CoachNotesHtml(HtmlConNoteControl htmlConNoteCtrl,
                                     StoryStageLogic theStoryStage, TeamMemberData LoggedOnMember, bool bViewHidden)
        {
            string strHtml = null;

            strHtml += GetHeaderRow(CstrZerothLineName, 0, FirstVerse.IsVisible,
                                    FirstVerse.CoachNotes, LoggedOnMember);

            strHtml += FirstVerse.CoachNotes.Html(htmlConNoteCtrl, theStoryStage,
                                                  LoggedOnMember, bViewHidden, FirstVerse.IsVisible, 0);

            for (int i = 1; i <= Count; i++)
            {
                VerseData aVerseData = this[i - 1];
                if (aVerseData.IsVisible || bViewHidden)
                {
                    strHtml += GetHeaderRow("Ln: " + i, i, aVerseData.IsVisible,
                                            aVerseData.CoachNotes, LoggedOnMember);

                    strHtml += aVerseData.CoachNotes.Html(htmlConNoteCtrl, theStoryStage,
                                                          LoggedOnMember, bViewHidden, aVerseData.IsVisible, i);
                }
            }

            return(String.Format(Properties.Resources.HTML_Table, strHtml));
        }
 public CoachNoteData(int nRound, StoryStageLogic theStoryStage,
                      TeamMemberData.UserTypes eLoggedOnMember,
                      TeamMemberData.UserTypes eMentorType, TeamMemberData.UserTypes eMenteeType,
                      string strValue)
     : base(nRound)
 {
     InsureExtraBox(theStoryStage, eLoggedOnMember, eMentorType, eMenteeType, strValue);
 }
Пример #8
0
 public VerseControl(StoryStageLogic storyStageLogic, int nVerseNumber,
                     StoryEditor theSE, LineFlowLayoutPanel parentFlowLayoutPanel)
     : base(storyStageLogic)
 {
     VerseNumber           = nVerseNumber;
     TheSE                 = theSE;
     ParentFlowLayoutPanel = parentFlowLayoutPanel;
 }
Пример #9
0
        public string StoryBtHtml(ProjectSettings projectSettings, TeamMembersData membersData,
                                  StoryStageLogic stageLogic, TeamMemberData loggedOnMember, int nVerseIndex,
                                  ViewItemToInsureOn viewItemToInsureOn, int nNumCols)
        {
            string strRow = null;

            if (IsViewItemOn(viewItemToInsureOn, ViewItemToInsureOn.eVernacularLangField))
            {
                strRow += String.Format(Properties.Resources.HTML_TableCellWidthAlignTop, 100 / nNumCols,
                                        String.Format(Properties.Resources.HTML_Textarea,
                                                      TextareaId(nVerseIndex, StoryLineControl.CstrFieldNameVernacular),
                                                      StoryData.CstrLangVernacularStyleClassName,
                                                      VernacularText));
            }

            if (IsViewItemOn(viewItemToInsureOn, ViewItemToInsureOn.eNationalLangField))
            {
                strRow += String.Format(Properties.Resources.HTML_TableCellWidthAlignTop, 100 / nNumCols,
                                        String.Format(Properties.Resources.HTML_Textarea,
                                                      TextareaId(nVerseIndex, StoryLineControl.CstrFieldNameNationalBt),
                                                      StoryData.CstrLangNationalBtStyleClassName,
                                                      NationalBTText));
            }

            if (IsViewItemOn(viewItemToInsureOn, ViewItemToInsureOn.eEnglishBTField))
            {
                strRow += String.Format(Properties.Resources.HTML_TableCellWidthAlignTop, 100 / nNumCols,
                                        String.Format(Properties.Resources.HTML_Textarea,
                                                      TextareaId(nVerseIndex, StoryLineControl.CstrFieldNameInternationalBt),
                                                      StoryData.CstrLangInternationalBtStyleClassName,
                                                      InternationalBTText));
            }

            string strStoryLineRow = String.Format(Properties.Resources.HTML_TableRow,
                                                   strRow);

            if (IsViewItemOn(viewItemToInsureOn, ViewItemToInsureOn.eAnchorFields))
            {
                strStoryLineRow += Anchors.Html(nVerseIndex, nNumCols);
            }

            if (IsViewItemOn(viewItemToInsureOn, ViewItemToInsureOn.eRetellingFields) &&
                (Retellings.Count > 0))
            {
                strStoryLineRow += Retellings.Html(nVerseIndex, nNumCols);
            }

            if (IsViewItemOn(viewItemToInsureOn, ViewItemToInsureOn.eStoryTestingQuestionFields) &&
                (TestQuestions.Count > 0))
            {
                strStoryLineRow += TestQuestions.Html(projectSettings, viewItemToInsureOn,
                                                      stageLogic, loggedOnMember, nVerseIndex, nNumCols,
                                                      membersData.HasOutsideEnglishBTer);
            }

            return(strStoryLineRow);
        }
 public bool IsEditable(StoryStageLogic theStoryStage, int i,
                        TeamMemberData LoggedOnMember, CommInstance aCI)
 {
     return((i == (Count - 1)) &&
            !IsFinished &&
            theStoryStage.IsEditAllowed(LoggedOnMember.MemberType) &&
            ((IsFromMentor(aCI) && !IsWrongEditor(LoggedOnMember.MemberType, MentorRequiredEditor)) ||
             (!IsFromMentor(aCI) && !IsWrongEditor(LoggedOnMember.MemberType, MenteeRequiredEditor))));
 }
Пример #11
0
 public StoryData(NewDataSet.storyRow theStoryRow, NewDataSet projFile,
                  bool bHasIndependentConsultant)
 {
     Name           = theStoryRow.name;
     guid           = theStoryRow.guid;
     StageTimeStamp = (theStoryRow.IsstageDateTimeStampNull()) ? DateTime.Now : theStoryRow.stageDateTimeStamp;
     ProjStage      = new StoryStageLogic(theStoryRow.stage, bHasIndependentConsultant);
     CraftingInfo   = new CraftingInfoData(theStoryRow);
     Verses         = new VersesData(theStoryRow, projFile);
 }
        public override ConsultNoteDataConverter Add(int nRound,
                                                     StoryStageLogic theStoryStage, TeamMemberData.UserTypes eLoggedOnMember,
                                                     string strValue)
        {
            // always add closest to the verse label
            ConsultNoteDataConverter theNewCN = new CoachNoteData(nRound,
                                                                  theStoryStage, eLoggedOnMember, MentorType, MenteeType, strValue);

            Add(theNewCN);
            return(theNewCN);
        }
Пример #13
0
        public StoryData(StoryData rhs)
        {
            Name = rhs.Name;

            // the guid shouldn't be replicated
            guid = Guid.NewGuid().ToString();              // rhs.guid;

            StageTimeStamp = rhs.StageTimeStamp;
            ProjStage      = new StoryStageLogic(rhs.ProjStage);
            CraftingInfo   = new CraftingInfoData(rhs.CraftingInfo);
            Verses         = new VersesData(rhs.Verses);
        }
Пример #14
0
 public StoryData(string strStoryName, string strCrafterMemberGuid,
                  string strLoggedOnMemberGuid, bool bIsBiblicalStory,
                  ProjectSettings projSettings)
 {
     Name           = strStoryName;
     guid           = Guid.NewGuid().ToString();
     StageTimeStamp = DateTime.Now;
     ProjStage      = new StoryStageLogic(projSettings);
     CraftingInfo   = new CraftingInfoData(strCrafterMemberGuid, strLoggedOnMemberGuid, bIsBiblicalStory);
     Verses         = new VersesData();
     Verses.CreateFirstVerse();
 }
Пример #15
0
 public CtrlTextBox(string strName, VerseControl ctrlVerseParent, Font font,
                    ResizableControl ctrlParent, StringTransfer stData, string strLabel)
 {
     InitComponent();
     Name      = strName;
     Font      = font;
     _strLabel = strLabel;
     stData.SetAssociation(this);
     TextChanged += new EventHandler(ctrlParent.textBox_TextChanged);
     System.Diagnostics.Debug.Assert(ctrlParent.StageLogic != null);
     _stageLogic      = ctrlParent.StageLogic;
     _ctrlVerseParent = ctrlVerseParent;
 }
Пример #16
0
        public string CoachNotesHtml(HtmlConNoteControl htmlConNoteCtrl,
                                     StoryStageLogic theStoryStage, ProjectSettings projSettings,
                                     TeamMemberData LoggedOnMember,
                                     bool bViewHidden)
        {
            string strHtml = Verses.CoachNotesHtml(htmlConNoteCtrl, theStoryStage,
                                                   LoggedOnMember, bViewHidden);

            return(String.Format(Properties.Resources.HTML_Header,
                                 StylePrefix(projSettings),
                                 Properties.Resources.HTML_DOM_Prefix,
                                 strHtml));
        }
        public override ConsultNoteDataConverter Add(int nRound,
                                                     StoryStageLogic theStoryStage, TeamMemberData.UserTypes eLoggedOnMember,
                                                     string strValue)
        {
            /*
             * TeamMemberData.UserTypes eMentorType = MentorType;
             * if (eLoggedOnMember == TeamMemberData.UserTypes.eFirstPassMentor)
             *      eMentorType = TeamMemberData.UserTypes.eFirstPassMentor;
             * else if (eLoggedOnMember == TeamMemberData.UserTypes.eIndependentConsultant)
             *      eMentorType = TeamMemberData.UserTypes.eIndependentConsultant;
             */
            ConsultNoteDataConverter theNewCN = new ConsultantNoteData(nRound,
                                                                       theStoryStage, eLoggedOnMember, MentorType, MenteeType, strValue);

            Add(theNewCN);
            return(theNewCN);
        }
Пример #18
0
        public ConsultNoteControl(VerseControl ctrlVerse, StoryStageLogic storyStageLogic, ConsultNotesDataConverter theCollection,
                                  ConsultNoteDataConverter aCNDC, TeamMemberData.UserTypes eLoggedOnMemberType)
            : base(storyStageLogic)
        {
            _myCNDC       = aCNDC;
            _myCollection = theCollection;

            m_nRoundNum = aCNDC.RoundNum;
            InitializeComponent();

            tableLayoutPanel.SuspendLayout();
            SuspendLayout();

            InsertColumn(2);

            labelRound.Text = CstrRoundLabel + m_nRoundNum.ToString();
            tableLayoutPanel.SetColumnSpan(labelRound, 2);
            tableLayoutPanel.Controls.Add(labelRound, 0, 0);
            tableLayoutPanel.Controls.Add(buttonDragDropHandle, 1, 0);

            System.Diagnostics.Debug.Assert(tableLayoutPanel.RowCount == 1, "otherwise, fix this assumption: ConsultNoteControl.cs.28");

            // finally populate the buttons on that tool strip
            theCollection.InsureExtraBox(aCNDC, eLoggedOnMemberType);
            int nNumRows = 1;

            foreach (CommInstance aCI in aCNDC)
            {
                if ((aCI.Direction == ConsultNoteDataConverter.CommunicationDirections.eConsultantToProjFac) ||
                    (aCI.Direction == ConsultNoteDataConverter.CommunicationDirections.eCoachToConsultant))
                {
                    InitRow(ctrlVerse, aCNDC.MentorLabel, aCI, aCNDC.CommentColor, aCNDC.ThrowIfWrongEditor,
                            aCNDC.MentorRequiredEditor, ref nNumRows);
                }
                else
                {
                    InitRow(ctrlVerse, aCNDC.MenteeLabel, aCI, aCNDC.ResponseColor, aCNDC.ThrowIfWrongEditor,
                            aCNDC.MenteeRequiredEditor, ref nNumRows);
                }
            }

            tableLayoutPanel.ResumeLayout(false);
            ResumeLayout(false);
        }
Пример #19
0
        public string StoryBtHtml(ProjectSettings projectSettings, bool bViewHidden,
                                  StoryStageLogic stageLogic, TeamMembersData membersData, TeamMemberData loggedOnMember,
                                  VerseData.ViewItemToInsureOn viewItemToInsureOn)
        {
            int nColSpan = CalculateColumns(viewItemToInsureOn);

            // add a row indicating which languages are in what columns
            string strHtml = null;

            if (VerseData.IsViewItemOn(viewItemToInsureOn, VerseData.ViewItemToInsureOn.eVernacularLangField))
            {
                strHtml += String.Format(Properties.Resources.HTML_TableCell,
                                         projectSettings.Vernacular.LangName);
            }
            if (VerseData.IsViewItemOn(viewItemToInsureOn, VerseData.ViewItemToInsureOn.eNationalLangField))
            {
                strHtml += String.Format(Properties.Resources.HTML_TableCell,
                                         projectSettings.NationalBT.LangName);
            }
            if (VerseData.IsViewItemOn(viewItemToInsureOn, VerseData.ViewItemToInsureOn.eEnglishBTField))
            {
                strHtml += String.Format(Properties.Resources.HTML_TableCell,
                                         projectSettings.InternationalBT.LangName);
            }

            strHtml = String.Format(Properties.Resources.HTML_TableRow,
                                    strHtml);
            ;
            for (int i = 1; i <= Count; i++)
            {
                VerseData aVerseData = this[i - 1];
                if (aVerseData.IsVisible || bViewHidden)
                {
                    strHtml += GetHeaderRow("Ln: " + i, i, aVerseData.IsVisible, nColSpan);

                    strHtml += aVerseData.StoryBtHtml(projectSettings, membersData,
                                                      stageLogic, loggedOnMember, i, viewItemToInsureOn, nColSpan);
                }
            }

            return(String.Format(Properties.Resources.HTML_Table, strHtml));
        }
Пример #20
0
        /* was used by the ConNotes, which are now done differently
         * public CtrlTextBox(string strName, VerseControl ctrlVerseParent, ResizableControl ctrlParent, StringTransfer stData,
         *      ThrowIfNotCorrectEditor delegateRequiredEditorCheck, TeamMemberData.UserTypes eRequiredEditor)
         * {
         *      InitComponent();
         *      Font = new Font("Arial Unicode MS", 12);
         *      Name = strName;
         *      stData.SetAssociation(this);
         *      TextChanged += new EventHandler(ctrlParent.textBox_TextChanged);
         *      System.Diagnostics.Debug.Assert(ctrlParent.StageLogic != null);
         *      _stageLogic = ctrlParent.StageLogic;
         *      _ctrlVerseParent = ctrlVerseParent;
         *      _delegateRequiredEditorCheck = delegateRequiredEditorCheck; // call to check if the proper member is logged in!
         *      _eRequiredEditor = eRequiredEditor;
         * }
         */

        public CtrlTextBox(string strName, VerseControl ctrlVerseParent,
                           ResizableControl ctrlParent, StringTransfer stData,
                           ProjectSettings.LanguageInfo li, string strLabel)
        {
            InitComponent();
            Name      = strName;
            _strLabel = strLabel;
            Font      = li.FontToUse;
            ForeColor = li.FontColor;
            if (li.DoRtl)
            {
                RightToLeft = RightToLeft.Yes;
            }
            stData.SetAssociation(this);
            TextChanged += ctrlParent.textBox_TextChanged;
            System.Diagnostics.Debug.Assert(ctrlParent.StageLogic != null);
            _stageLogic      = ctrlParent.StageLogic;
            _ctrlVerseParent = ctrlVerseParent;
            _strKeyboardName = li.Keyboard;
        }
        public ConsultNotesControl(StoryEditor theSE,
                                   LineFlowLayoutPanel parentFlowLayoutPanel,
                                   StoryStageLogic storyStageLogic,
                                   ConsultNotesDataConverter aCNsDC, int nVerseNumber,
                                   TeamMemberData.UserTypes eLoggedOnMemberType)
            : base(storyStageLogic, nVerseNumber, theSE, parentFlowLayoutPanel)
        {
            _theCNsDC = aCNsDC;
            InitializeComponent();

            tableLayoutPanel.SuspendLayout();
            SuspendLayout();

            labelReference.Text = (VerseNumber == 0) ? CstrZerothVerseName : CstrVerseName + VerseNumber;
            tableLayoutPanel.Controls.Add(labelReference, 0, 0);
            tableLayoutPanel.Controls.Add(buttonDragDropHandle, 1, 0);

            if (aCNsDC.Count > 0)
            {
                int nRowIndex = 1;
                foreach (ConsultNoteDataConverter aCNDC in aCNsDC)
                {
                    if (aCNDC.Visible || theSE.hiddenVersesToolStripMenuItem.Checked)
                    {
                        ConsultNoteControl aCNCtrl = new ConsultNoteControl(this, storyStageLogic, aCNsDC, aCNDC, eLoggedOnMemberType);
                        aCNCtrl.Name          = CstrFieldNameConsultantNote + nRowIndex;
                        aCNCtrl.ParentControl = this;

                        InsertRow(nRowIndex);
                        tableLayoutPanel.SetColumnSpan(aCNCtrl, 2);
                        tableLayoutPanel.Controls.Add(aCNCtrl, 0, nRowIndex);
                        nRowIndex++;
                    }
                }
            }

            tableLayoutPanel.ResumeLayout(false);
            ResumeLayout(false);
        }
Пример #22
0
 public StoryStageLogic(StoryStageLogic rhs)
 {
     ProjectStage = rhs.ProjectStage;
     System.Diagnostics.Debug.Assert(stateTransitions != null);
 }
        public string Html(HtmlConNoteControl htmlConNoteCtrl,
                           StoryStageLogic theStoryStage,
                           TeamMemberData LoggedOnMember,
                           int nVerseIndex, int nConversationIndex)
        {
            System.Diagnostics.Debug.Assert(Count > 0);
            if (Count == 0)
            {
                return(null);
            }

            // r1: "Round: n"; "button"
            // r2-n: "Label:"; "value in textbox"
            string strRow = String.Format(Properties.Resources.HTML_TableCellWithSpanAndWidth, 100, 2,
                                          String.Format("{0}{1}", CstrRoundLabel, RoundNum));

            // only the initiator of a conversation gets the buttons to delete, hide or
            //  end conversation.
            CommInstance aCInitiator = this[0];

            if (CanDoConversationButtons(LoggedOnMember.MemberType, aCInitiator.Initiator))
            {
                strRow += String.Format(Properties.Resources.HTML_TableCell,
                                        String.Format(Properties.Resources.HTML_Button,
                                                      ButtonId(nVerseIndex, nConversationIndex, CnBtnIndexDelete),
                                                      "return window.external.OnClickDelete(this.id);",
                                                      "Delete"));

                strRow += String.Format(Properties.Resources.HTML_TableCell,
                                        String.Format(Properties.Resources.HTML_Button,
                                                      ButtonId(nVerseIndex, nConversationIndex, CnBtnIndexHide),
                                                      "return window.external.OnClickHide(this.id);",
                                                      (Visible) ? CstrButtonLabelHide : CstrButtonLabelUnhide));

                strRow += String.Format(Properties.Resources.HTML_TableCell,
                                        String.Format(Properties.Resources.HTML_Button,
                                                      ButtonId(nVerseIndex, nConversationIndex,
                                                               CnBtnIndexEndConversation),
                                                      "return window.external.OnClickEndConversation(this.id);",
                                                      (IsFinished)
                                                                                                                  ? CstrButtonLabelConversationReopen
                                                                                                                  : CstrButtonLabelConversationEnd));
            }

            string strHtml = String.Format(Properties.Resources.HTML_TableRowId,
                                           ButtonRowId(nVerseIndex, nConversationIndex),
                                           strRow);

            string strHtmlTable = null;

            for (int i = 0; i < Count; i++)
            {
                CommInstance aCI = this[i];

                strRow = null;
                Color clrRow;
                if (IsFromMentor(aCI))
                {
                    strRow += String.Format(Properties.Resources.HTML_TableCell,
                                            MentorLabel);
                    clrRow = CommentColor;
                }
                else
                {
                    strRow += String.Format(Properties.Resources.HTML_TableCell,
                                            MenteeLabel);
                    clrRow = ResponseColor;
                }

                string strColor = VerseData.HtmlColor(clrRow);

                // only the last one is editable and then only if the right person is
                //  logged in
                string strHtmlElementId;
                if (IsEditable(theStoryStage, i, LoggedOnMember, aCI))
                {
                    strHtmlElementId = TextareaId(nVerseIndex, nConversationIndex);
                    strRow          += String.Format(Properties.Resources.HTML_TableCellForTextArea, "#FF0000",
                                                     String.Format(Properties.Resources.HTML_TextareaWithRefDrop,
                                                                   strHtmlElementId,
                                                                   StoryData.CstrLangInternationalBtStyleClassName,
                                                                   aCI));

                    strHtmlTable += String.Format(Properties.Resources.HTML_TableRowIdColor,
                                                  TextareaRowId(nVerseIndex, nConversationIndex),
                                                  strColor,
                                                  strRow);
                }
                else
                {
                    strHtmlElementId = TextParagraphId(nVerseIndex, nConversationIndex, i);
                    string strHyperlinkedText = aCI.ToString().Replace("\r\n", "<br />");                       // regexParagraph.Replace(aCI.ToString(), ParagraphFound);
                    strHyperlinkedText = regexBibRef.Replace(strHyperlinkedText, BibleReferenceFound);
                    strHyperlinkedText = regexLineRef.Replace(strHyperlinkedText, LineReferenceFound);
                    strHyperlinkedText = regexItalics.Replace(strHyperlinkedText, EmphasizedTextFound);
                    strHyperlinkedText = regexHttpRef.Replace(strHyperlinkedText, HttpReferenceFound);

                    strRow += String.Format(Properties.Resources.HTML_TableCellWidth, 100,
                                            String.Format(Properties.Resources.HTML_ParagraphText,
                                                          strHtmlElementId,
                                                          StoryData.CstrLangInternationalBtStyleClassName,
                                                          strHyperlinkedText));

                    strHtmlTable += String.Format(Properties.Resources.HTML_TableRowIdColor,
                                                  TextareaReadonlyRowId(nVerseIndex, nConversationIndex, i),
                                                  strColor,
                                                  strRow);
                }

                // keep track of the element id so we can use it during 'Search/Replace' operations
                aCI.HtmlElementId   = strHtmlElementId;
                aCI.HtmlConNoteCtrl = htmlConNoteCtrl;
            }

            string strEmbeddedTable = String.Format(Properties.Resources.HTML_Table,
                                                    strHtmlTable);

            strHtml += String.Format(Properties.Resources.HTML_TableRowIdColor,
                                     ConversationTableRowId(nVerseIndex, nConversationIndex),
                                     "#CCFFAA",
                                     String.Format(Properties.Resources.HTML_TableCellWithSpan, 5,
                                                   strEmbeddedTable));

            return(strHtml);
        }
Пример #24
0
 public ResizableControl(StoryStageLogic storyStageLogic)
 {
     StageLogic = storyStageLogic;
     InitializeComponent();
 }
 public void InsureExtraBox(ConsultNoteDataConverter aCNDC,
                            StoryStageLogic theStoryStage, TeamMemberData.UserTypes eLoggedOnMemberType)
 {
     aCNDC.InsureExtraBox(theStoryStage, eLoggedOnMemberType, MentorType, MenteeType, null);
 }
 public abstract ConsultNoteDataConverter Add(int nRound,
                                              StoryStageLogic theStoryStage, TeamMemberData.UserTypes eLoggedOnMember,
                                              string strValue);
Пример #27
0
        public string Html(ProjectSettings projectSettings,
                           VerseData.ViewItemToInsureOn viewItemToInsureOn,
                           StoryStageLogic stageLogic, TeamMemberData loggedOnMember,
                           int nVerseIndex, int nNumCols, bool bHasOutsideEnglishBTer)
        {
            int  nNumTestQuestionCols = 0;
            bool bShowVernacular      =
                (VerseData.IsViewItemOn(viewItemToInsureOn, VerseData.ViewItemToInsureOn.eVernacularLangField));
            bool bShowNationalBT = (projectSettings.NationalBT.HasData &&
                                    (bHasOutsideEnglishBTer
                                     ||
                                     (VerseData.IsViewItemOn(viewItemToInsureOn,
                                                             VerseData.ViewItemToInsureOn.eNationalLangField) &&
                                      !projectSettings.Vernacular.HasData)));
            bool bShowEnglishBT = (VerseData.IsViewItemOn(viewItemToInsureOn,
                                                          VerseData.ViewItemToInsureOn.eEnglishBTField) &&
                                   (!bHasOutsideEnglishBTer ||
                                    (stageLogic.MemberTypeWithEditToken !=
                                     TeamMemberData.UserTypes.eProjectFacilitator)
                                    ||
                                    (loggedOnMember.MemberType !=
                                     TeamMemberData.UserTypes.eProjectFacilitator)));

            if (bShowVernacular)
            {
                nNumTestQuestionCols++;
            }
            if (bShowNationalBT)
            {
                nNumTestQuestionCols++;
            }
            if (bShowEnglishBT)
            {
                nNumTestQuestionCols++;
            }

            string strRow = null;

            for (int i = 0; i < Count; i++)
            {
                TestQuestionData testQuestionData = this[i];
                strRow += testQuestionData.Html(nVerseIndex, i, nNumTestQuestionCols,
                                                bShowVernacular, bShowNationalBT, bShowEnglishBT);
            }

            /*
             * // make a cell out of the testing question boxes
             * string strHtmlCell = String.Format(Properties.Resources.HTML_TableCellWidth,
             *                                                                 100,
             *                                                                 strRow);
             *
             * // add combine with the 'tst:' header cell into a Table Row
             * string strHtml = String.Format(Properties.Resources.HTML_TableRow,
             *                                                         strHtmlCell);
             * // add exegetical comments as their own rows
             * for (int i = 0; i < Count; i++)
             * {
             *      AnchorData anchorData = this[i];
             *      if (anchorData.ExegeticalHelpNotes.Count > 0)
             *              strHtml += anchorData.ExegeticalHelpNotes.Html(nVerseIndex, i);
             * }
             */

            // make a sub-table out of all this
            strRow = String.Format(Properties.Resources.HTML_TableRow,
                                   String.Format(Properties.Resources.HTML_TableCellWithSpan, nNumCols,
                                                 String.Format(Properties.Resources.HTML_TableNoBorder,
                                                               strRow)));
            return(strRow);
        }