protected void PrintAction(ButtonDescription buttonDescription) { #line default #line hidden #line 22 "D:\Dev\TelegramBots\Commentgram\YogurtTheHorse.Messenger.LayoutGenerator\Templates\Buttontemplate.ttinclude" this.Write(" public override void Action<TUserData>(object sender, ButtonActionEventArg" + "s<TUserData> e) {\r\n "); #line default #line hidden #line 24 "D:\Dev\TelegramBots\Commentgram\YogurtTheHorse.Messenger.LayoutGenerator\Templates\Buttontemplate.ttinclude" this.Write(this.ToStringHelper.ToStringWithCulture(buttonDescription.Action)); #line default #line hidden #line 24 "D:\Dev\TelegramBots\Commentgram\YogurtTheHorse.Messenger.LayoutGenerator\Templates\Buttontemplate.ttinclude" this.Write(";\r\n } \r\n"); #line default #line hidden #line 26 "D:\Dev\TelegramBots\Commentgram\YogurtTheHorse.Messenger.LayoutGenerator\Templates\Buttontemplate.ttinclude" }
/// <summary> /// Button /// </summary> /// <param name="displayName"></param> /// <param name="command"></param> /// <returns></returns> public static IGroupContainer <T, ButtonDescription> Button <T>(this IGroupContainer <T> root, String displayName, Expression <PropertyGetter <T, ICommand> > command) { var item = new ButtonDescription( displayName, PropertyPath.GetPropertyPath(command)); return(root.AddDescription(item)); }
public MainViewModel() { ButtonDescriptions = new ObservableCollection <ButtonDescription>(); for (int i = 0; i < 10; i++) { var bd = new ButtonDescription() { Name = "Button " + i }; ButtonDescriptions.Add(bd); } }
protected void PrintEnd(Generator generator, ButtonDescription buttonDescription) { #line default #line hidden #line 17 "D:\Dev\TelegramBots\Commentgram\YogurtTheHorse.Messenger.LayoutGenerator\Templates\Buttontemplate.ttinclude" this.Write(" }\r\n}\r\n"); #line default #line hidden #line 20 "D:\Dev\TelegramBots\Commentgram\YogurtTheHorse.Messenger.LayoutGenerator\Templates\Buttontemplate.ttinclude" }
protected string ButtonDescriptionToDefenition(ButtonDescription bd) { if (bd.Name != null) { return($"new {bd.Name}()"); } else if (bd.ButtonType == ButtonDescription.EButtonType.Navigate) { return($"(\"{bd.Text}\", \"{bd.Data}\")"); } else if (bd.ButtonType == ButtonDescription.EButtonType.Input) { return($"\"{bd.Text}\""); } else { throw new NotSupportedException($"{bd.ButtonType} button type is not supported in inline mode"); } }
public void UpdateEvent(JArray eventMessage) { foreach (var singleEvent in eventMessage) { try { JObject eventObject = singleEvent.Value <JObject>(); string type = eventObject.GetValue("type").Value <string>(); string id = eventObject.GetValue("id").Value <string>(); switch (type) { case "rfid": { RfidDescription rfid = state.sensors.rfids.Find(x => x.Id == id); if (rfid != null) { rfid.Code = eventObject.GetValue("value").Value <string>(); } break; } case "button": { List <ButtonDescription> allButton = state.sensors.buttons.Concat(state.sensors.capacitives).ToList(); ButtonDescription button = allButton.Find(x => x.Id == id); if (button != null) { button.Press = eventObject.GetValue("value").Value <int>() == 1; } break; } default: break; } } catch (Exception) { Debug.Log("Error parse event " + singleEvent.ToString()); } } EventTcp?.Invoke(eventMessage); }
private void CreateButtonFile(string buttonsDirectory, ButtonDescription buttonDescription) { dynamic buttonTemplate; switch (buttonDescription.ButtonType) { case EButtonType.Navigate: buttonTemplate = new NavigateButtonTemplate(); break; case EButtonType.Inline: buttonTemplate = new InlineButtonTemplate(); break; case EButtonType.Input: buttonTemplate = new InputButtonTemplate(); break; default: throw new NotSupportedException($"Unsupported button type \"{buttonDescription.ButtonType}\" at {buttonDescription.Name}"); } var session = new Dictionary <string, object> { ["generator"] = this, ["buttonDescription"] = buttonDescription }; buttonTemplate.Session = session; buttonTemplate.Initialize(); string textToWrite = buttonTemplate.TransformText(); // Seems like bug in T4, so i need to substring textToWrite = textToWrite.Substring(2); File.WriteAllText($@"{buttonsDirectory}\{buttonDescription.Name}.cs", textToWrite); }
private void RegisterButton(string name, dynamic btn) { _buttonsDescriptions[name] = new ButtonDescription(name, btn); }
protected void PrintHeader(Generator generator, ButtonDescription buttonDescription, string basetype) { #line default #line hidden #line 8 "D:\Dev\TelegramBots\Commentgram\YogurtTheHorse.Messenger.LayoutGenerator\Templates\Buttontemplate.ttinclude" this.Write(" \r\n"); #line default #line hidden #line 9 "D:\Dev\TelegramBots\Commentgram\YogurtTheHorse.Messenger.LayoutGenerator\Templates\Buttontemplate.ttinclude" this.Write(this.ToStringHelper.ToStringWithCulture(generator.GetDefaultNamespacesString())); #line default #line hidden #line 9 "D:\Dev\TelegramBots\Commentgram\YogurtTheHorse.Messenger.LayoutGenerator\Templates\Buttontemplate.ttinclude" this.Write(" \r\nusing YogurtTheHorse.Messenger.MenuControl;\r\nusing YogurtTheHorse.Messenger.Me" + "nuControl.Buttons;\r\n\r\nnamespace "); #line default #line hidden #line 13 "D:\Dev\TelegramBots\Commentgram\YogurtTheHorse.Messenger.LayoutGenerator\Templates\Buttontemplate.ttinclude" this.Write(this.ToStringHelper.ToStringWithCulture(generator.DefaultNamespace)); #line default #line hidden #line 13 "D:\Dev\TelegramBots\Commentgram\YogurtTheHorse.Messenger.LayoutGenerator\Templates\Buttontemplate.ttinclude" this.Write(".Buttons {\r\n\tpublic class "); #line default #line hidden #line 14 "D:\Dev\TelegramBots\Commentgram\YogurtTheHorse.Messenger.LayoutGenerator\Templates\Buttontemplate.ttinclude" this.Write(this.ToStringHelper.ToStringWithCulture(buttonDescription.Name)); #line default #line hidden #line 14 "D:\Dev\TelegramBots\Commentgram\YogurtTheHorse.Messenger.LayoutGenerator\Templates\Buttontemplate.ttinclude" this.Write(" : "); #line default #line hidden #line 14 "D:\Dev\TelegramBots\Commentgram\YogurtTheHorse.Messenger.LayoutGenerator\Templates\Buttontemplate.ttinclude" this.Write(this.ToStringHelper.ToStringWithCulture(basetype)); #line default #line hidden #line 14 "D:\Dev\TelegramBots\Commentgram\YogurtTheHorse.Messenger.LayoutGenerator\Templates\Buttontemplate.ttinclude" this.Write(" {\r\n"); #line default #line hidden #line 15 "D:\Dev\TelegramBots\Commentgram\YogurtTheHorse.Messenger.LayoutGenerator\Templates\Buttontemplate.ttinclude" }