private void OnTokenItemMatchingFinished(object sender, TokenMatchingFinishedArgs args) { if (TokenMatchingFinished != null) { TokenMatchingFinished(this, args); } SuspendByStep(); }
private void OnControllerTokenMatchingFinished(object sender, TokenMatchingFinishedArgs _args) { Application.Invoke(sender, _args, delegate(object resender, EventArgs a) { TokenMatchingFinishedArgs args = (TokenMatchingFinishedArgs)a; string tokenType = args.ExpectedType; if (args.MatchedToken != null) { int idx = SearchToken(args.MatchedToken); remainingItemsStore.IterNthChild(out selectedRemainingItem, idx); TreePath selectedPath = remainingItemsStore.GetPath(selectedRemainingItem); remainingItemsIconView.SelectPath(selectedPath); remainingItemsIconView.ScrollToPath(selectedPath, 0.5f, 0f); this.MarkImage(args.MatchedToken); parsingTaskLabel.Markup = String.Format("<b>Se encontró un item válido del tipo <i>{0}</i>, <i>{1}</i> entre los items restantes</b>", GLib.Markup.EscapeText(tokenType), GLib.Markup.EscapeText(args.MatchedToken.Text)); currentNode.AddMatchedToken(args.MatchedToken); currentNode.Select(); remainingItemsStore.Remove(ref selectedRemainingItem); TreeIter first; if (remainingItemsStore.GetIterFirst(out first)) { remainingItemsIconView.ScrollToPath(remainingItemsStore.GetPath(first)); } } else { parsingTaskLabel.Markup = String.Format("<b>No se encotró un item válido del tipo <i>{0}</i> entre los items restantes</b>", GLib.Markup.EscapeText(tokenType)); } if (controller.StepMode != ControllerStepMode.UntilEnd) { parsingNextButtonsAlign.Sensitive = true; } }); }