/// <summary> /// Handles the event produced when a new node is going to be processed /// by the controller. /// </summary> /// <param name="sender"> /// A <see cref="System.Object"/> /// </param> /// <param name="args"> /// A <see cref="EventArgs"/> /// </param> private void OnControllerNodeBeingProcessed(object sender, NodeBeingProcessedArgs args) { Application.Invoke(delegate(object resender, EventArgs a) { if(controller.StepMode != ControllerStepMode.UntilEnd) alignNextButtons.Sensitive=true; }); }
/// <summary> /// If sequencing, selects the next symbol of the list. /// </summary> /// <param name="sender"> /// A <see cref="System.Object"/> /// </param> /// <param name="args"> /// A <see cref="EventArgas"/> /// </param> private void OnControllerNodeBeingProcessed(object sender, NodeBeingProcessedArgs _args) { Application.Invoke(sender, _args, delegate(object resender, EventArgs args) { NodeBeingProcessedArgs a = args as NodeBeingProcessedArgs; if(!sequencingFinished) { // We are sequencing. // Selects the new first. symbolsIV.SelectPath(processedPath); symbolsIV.ScrollToPath(processedPath,1,0.5f); processedPath.Next(); } else { // We are matching SequenceNode node = (SequenceNode) a.Node; node.Select(); Token t = Token.Join(node.Sequence, ""); sequenceNodeImage = t.Image.CreatePixbuf(); sequenceMatchingImageArea.Image = sequenceNodeImage.Copy(); sequenceNodeImage = sequenceNodeImage.CompositeColorSimple(sequenceNodeImage.Width, sequenceNodeImage.Height, Gdk.InterpType.Nearest, 100, 1, 0xAAAAAA,0xAAAAAA); matchingResultLbl.Markup = "-"; tokenizingRulesTV.Selection.UnselectAll(); tokenizingRulesTV.ScrollToPoint(0,0); if(controller.StepMode == ControllerStepMode.StepByStep) { tokenizingNextButtonsAlign.Sensitive = true; } } }); }