/*public GenerationMenuWidget(PathContainer referer) { MenuItem path = new MenuItem("Generate path " + referer.Path + " ..."); path.Activated += delegate { GenerationDialog d = new GenerationDialog(); d.Modal = true; if (d.Run() == (int)ResponseType.Ok) { IGenerator generator = new CSharpCodeDomGenerator(); generator.Generate(referer, d.PathToSave); } d.Destroy(); }; this.Append(path); path.ShowAll(); }*/ public GenerationMenuWidget(Window parent, Interface referer) { MenuItem path = new MenuItem("Generate " + referer.Name + "..."); IGenerator generator = new CSharpCodeDomGenerator(); Func<IEnumerable<IElement>, string> renderer = (elements) => { try { return generator.Generate(elements); } catch (Exception e) { Logging.Error ("Error during generation", e, parent); return string.Empty; } }; path.Activated += delegate { GenerationDialog d = new GenerationDialog (parent, referer, renderer); d.Modal = true; d.Run (); d.Destroy(); }; this.Append(path); path.ShowAll(); }
/*public GenerationMenuWidget(PathContainer referer) * { * MenuItem path = new MenuItem("Generate path " + referer.Path + " ..."); * path.Activated += delegate { * GenerationDialog d = new GenerationDialog(); * d.Modal = true; * if (d.Run() == (int)ResponseType.Ok) { * IGenerator generator = new CSharpCodeDomGenerator(); * generator.Generate(referer, d.PathToSave); * } * d.Destroy(); * }; * this.Append(path); * path.ShowAll(); * }*/ public GenerationMenuWidget(Window parent, Interface referer) { MenuItem path = new MenuItem("Generate " + referer.Name + "..."); IGenerator generator = new CSharpCodeDomGenerator(); Func <IEnumerable <IElement>, string> renderer = (elements) => { try { return(generator.Generate(elements)); } catch (Exception e) { Logging.Error("Error during generation", e, parent); return(string.Empty); } }; path.Activated += delegate { GenerationDialog d = new GenerationDialog(parent, referer, renderer); d.Modal = true; d.Run(); d.Destroy(); }; this.Append(path); path.ShowAll(); }