Пример #1
0
        public void GenerateCode(string componentFile)
        {
            GtkDesignInfo info     = GtkDesignInfo.FromProject(project);
            string        gtkxFile = info.GetDesignerFileFromComponent(componentFile);

            if (gtkxFile != null && File.Exists(gtkxFile))
            {
                Save(false);
                FileInfo fi = new FileInfo(gtkxFile);
                fi.LastWriteTime = DateTime.Now;

                IProgressMonitor monitor = IdeApp.Workbench.ProgressMonitors.GetBuildProgressMonitor();
                try {
                    ConfigurationSelector configuration = IdeApp.Workspace.ActiveConfiguration;
                    Generator             generator     = new Generator();
                    generator.Run(monitor, project, configuration);
                } finally {
                    monitor.Dispose();
                }
            }
        }
        void HandleProjectFileAddedToProject(object sender, ProjectFileEventArgs e)
        {
            Project       project  = e.Project;
            ProjectFile   pf       = e.ProjectFile;
            string        fileName = pf.FilePath.FullPath.ToString();
            GtkDesignInfo info     = GtkDesignInfo.FromProject(project);

            string buildFile = info.GetBuildFileFromComponent(fileName);

            if (!project.IsFileInProject(buildFile) && File.Exists(buildFile))
            {
                ProjectFile pf2 = project.AddFile(buildFile, BuildAction.Compile);
                pf2.DependsOn = pf.FilePath.FileName;
            }

            string gtkxFile = info.GetDesignerFileFromComponent(fileName);

            if (!project.IsFileInProject(gtkxFile) && File.Exists(gtkxFile))
            {
                ProjectFile pf3 = project.AddFile(gtkxFile, BuildAction.EmbeddedResource);
                pf3.DependsOn = pf.FilePath.FileName;
            }
        }