public NumberVerifierMessageUI(MessageEventArgs messageEventArgs, IBilingualDocument bilingualDocument, ISegment sourceSegment, ISegment targetSegment) { MessageEventArgs = messageEventArgs; BilingualDocument = bilingualDocument; SourceSegment = sourceSegment; TargetSegment = targetSegment; InitializeComponent(); _sourceSegmentControl.Dock = DockStyle.Fill; _sourceSegmentControl.IsReadOnly = false; _sourceSegmentControl.ReplaceDocumentSegment(sourceSegment.Clone() as ISegment); panel_Source.Controls.Add(_sourceSegmentControl); _sourceSegmentControl.ReplaceDocumentSegment(sourceSegment); _targetSegmentControl.Dock = DockStyle.Fill; _targetSegmentControl.IsReadOnly = false; _targetSegmentControl.ReplaceDocumentSegment(targetSegment.Clone() as ISegment); panel_Target.Controls.Add(_targetSegmentControl); _targetSegmentControl.ReplaceDocumentSegment((ISegment)targetSegment.Clone()); _targetSegmentControl.SegmentContentChanged += OnSegmentContentChanged; _hasSegmentChanged = false; UpdateMessage(messageEventArgs); }
/// <summary> /// Constructor that takes the given message event args, bilingual document, source segment and target segment. /// </summary> /// <param name="messageEventArgs">message event arguments</param> /// <param name="bilingualDocument">bilingual document</param> /// <param name="sourceSegment">source segment</param> /// <param name="targetSegment">target segment</param> public CustomMessageControl(MessageEventArgs messageEventArgs, IBilingualDocument bilingualDocument, ISegment sourceSegment, ISegment targetSegment) { MessageEventArgs = messageEventArgs; BilingualDocument = bilingualDocument; SourceSegment = sourceSegment; TargetSegment = targetSegment; InitializeComponent(); _sourceSegmentControl.Dock = DockStyle.Fill; _sourceSegmentPanel.Controls.Add(_sourceSegmentControl); _targetSegmentControl.Dock = DockStyle.Fill; _targetSegmentPanel.Controls.Add(_targetSegmentControl); UpdateMessage(messageEventArgs); UpdateSourceSegment(sourceSegment); UpdateTargetSegment((ISegment)targetSegment.Clone()); UpdateProblemDescription(messageEventArgs); UpdateSuggestions(messageEventArgs); // make the target segment editable _targetSegmentControl.IsReadOnly = false; _suggestionsList.SelectedIndexChanged += _suggestionsList_SelectedIndexChanged; }
/// <summary> /// Creates the message control for the given message. /// </summary> /// <param name="messageControlContainer">message control container</param> /// <param name="messageEventArgs">message</param> /// <param name="bilingualDocument">bilingual document</param> /// <param name="sourceSegment">source segment</param> /// <param name="targetSegment">target segment</param> /// <returns>message control</returns> public UserControl CreateMessageControl(IMessageControlContainer messageControlContainer, MessageEventArgs messageEventArgs, IBilingualDocument bilingualDocument, ISegment sourceSegment, ISegment targetSegment) { if (!SupportsMessage(messageEventArgs)) { throw new ArgumentException("messageEventArgs is not supported by this message control plug-in", "messageEventArgs"); } return new CustomMessageControl(messageEventArgs, bilingualDocument, sourceSegment, targetSegment); }
public UserControl CreateMessageControl(IMessageControlContainer messageControlContainer, MessageEventArgs messageEventArgs, IBilingualDocument bilingualDocument, ISegment sourceSegment, ISegment targetSegment) { if (!SupportsMessage(messageEventArgs)) { throw new ArgumentException("messageEventArgs is not supported by this message control plug-in", "messageEventArgs"); } return(new IdenticalVerifierMessageUI(messageEventArgs, targetSegment)); }
public NumberVerifierMessageUI(MessageEventArgs messageEventArgs, IBilingualDocument bilingualDocument, ISegment sourceSegment, ISegment targetSegment) { MessageEventArgs = messageEventArgs; BilingualDocument = bilingualDocument; SourceSegment = sourceSegment; TargetSegment = targetSegment; InitializeComponent(); _sourceSegmentControl.Dock = DockStyle.Fill; _sourceSegmentControl.IsReadOnly = false; _sourceSegmentControl.ReplaceDocumentSegment(sourceSegment.Clone() as ISegment); panel_Source.Controls.Add(_sourceSegmentControl); _sourceSegmentControl.ReplaceDocumentSegment(sourceSegment); _targetSegmentControl.Dock = DockStyle.Fill; _targetSegmentControl.IsReadOnly = false; _targetSegmentControl.ReplaceDocumentSegment(targetSegment.Clone() as ISegment); panel_Target.Controls.Add(_targetSegmentControl); _targetSegmentControl.ReplaceDocumentSegment((ISegment)targetSegment.Clone()); _targetSegmentControl.SegmentContentChanged += OnSegmentContentChanged; //set up the target and source rich box which will be used to identify the issued text(s) var sourceText = new StringBuilder(); var targetText = new StringBuilder(); foreach (var item in targetSegment?.AllSubItems) { targetText.AppendFormat($"{item.ToString()} "); } foreach (var item in sourceSegment?.AllSubItems) { sourceText.AppendFormat($"{item.ToString()} "); } target_richTextBox.Text = targetText.ToString(); source_richTextBox.Text = sourceText.ToString(); _hasSegmentChanged = false; UpdateMessage(messageEventArgs); }
/// <summary> /// Creates the message control for the given message. /// </summary> /// <param name="messageControlContainer">message control container</param> /// <param name="messageEventArgs">message</param> /// <param name="bilingualDocument">bilingual document</param> /// <param name="sourceSegment">source segment</param> /// <param name="targetSegment">target segment</param> /// <returns>message control</returns> public UserControl CreateMessageControl(IMessageControlContainer messageControlContainer, MessageEventArgs messageEventArgs, IBilingualDocument bilingualDocument, ISegment sourceSegment, ISegment targetSegment) { if (!SupportsMessage(messageEventArgs)) { throw new ArgumentException("messageEventArgs is not supported by this message control plug-in", nameof(messageEventArgs)); } return(new CustomMessageControl(messageEventArgs, bilingualDocument, sourceSegment, targetSegment)); }