Пример #1
0
        /*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();
        }
Пример #2
0
        /*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();
        }