internal void NotifyPackageRemovedFromProject(ProjectPackage package) { if (null != PackageRemovedFromProject) { PackageRemovedFromProject(this, new ProjectPackageEventArgs(this, package)); } }
/// <summary> /// Add dependencies of project packages to current project, /// and add cflags for project package and LD_LIBRARY_PATH /// </summary> private void AddDependencies(object obj, ProjectPackageEventArgs args) { ProjectPackage package = args.Package; if (!package.IsProject) { return; } string depsfile = Path.ChangeExtension(package.File, ".deps"); try { if (File.Exists(depsfile)) { string[] lines = File.ReadAllLines(depsfile); List <ProjectPackage> deps = new List <ProjectPackage>(); foreach (string line in lines) { deps.Add(new ProjectPackage(Path.Combine(vapidir, line) + ".vapi")); } // add package for each dep packages.AddRange(deps); } // Currently, we need to add include directory and linker flags - this should be obsoleted string ccargs = string.Format(" --Xcc=\\\\\\\"-I{0}\\\\\\\" --Xcc=\\\\\\\"-L{0}\\\\\\\" --Xcc=\\\\\\\"-l{1}\\\\\\\" ", Path.GetDirectoryName(depsfile), package.Name); string ldpath = string.Empty; string packagePath = Path.GetDirectoryName(package.File); foreach (ItemConfiguration pc in Configurations) { ValaProjectConfiguration valapc = pc as ValaProjectConfiguration; if (null == valapc) { continue; } ValaCompilationParameters vcp = (ValaCompilationParameters)valapc.CompilationParameters; if (!vcp.ExtraCompilerArguments.Contains(ccargs)) { vcp.ExtraCompilerArguments += ccargs; } if (valapc.EnvironmentVariables.TryGetValue("LD_LIBRARY_PATH", out ldpath)) { if (!ldpath.Contains(packagePath)) { ldpath += Path.PathSeparator + packagePath; } } else { ldpath = packagePath; } valapc.EnvironmentVariables["LD_LIBRARY_PATH"] = ldpath; } // add compilation parameters and LD_LIBRARY_PATH } catch { /* Do anything here? */ } } // AddDependencies
internal void NotifyPackageAddedToProject(ProjectPackage package) { if (null != PackageAddedToProject) { PackageAddedToProject(this, new ProjectPackageEventArgs(this, package)); } if (!package.IsProject) { ProjectInformationManager.Instance.Get(this).AddPackage(package.Name); } }
public override bool Equals(object o) { ProjectPackage other = o as ProjectPackage; if (other == null) { return(false); } return(other.File.Equals(file)); }
protected virtual void OnDetailsButtonClicked(object sender, System.EventArgs e) { Gtk.TreeIter iter; Gtk.Widget active_tab = notebook1.Children [notebook1.Page]; string tab_label = notebook1.GetTabLabelText(active_tab); string name = string.Empty; // string version = string.Empty; ProjectPackage package = null; if (tab_label == "System Packages") { normalPackageTreeView.Selection.GetSelected(out iter); name = (string)normalPackageListStore.GetValue(iter, NormalPackageNameID); // version = (string)normalPackageListStore.GetValue (iter, NormalPackageVersionID); } else if (tab_label == "Project Packages") { projectPackageTreeView.Selection.GetSelected(out iter); name = (string)projectPackageListStore.GetValue(iter, ProjectPackageNameID); // version = (string)projectPackageListStore.GetValue (iter, ProjectPackageVersionID); } else { return; } foreach (ProjectPackage p in packages) { if (p.Name == name /* && p.Version == version */) { package = p; break; } } if (package == null) { return; } PackageDetails details = new PackageDetails(package); details.Modal = true; details.Show(); }
// Gtk.ListStore libPathsStore = new Gtk.ListStore (typeof(string)); // Gtk.ListStore libsStore = new Gtk.ListStore (typeof(string)); // Gtk.ListStore cflagsStore = new Gtk.ListStore (typeof(string)); public PackageDetails(ProjectPackage package) { this.Build(); package = new ProjectPackage(package.File); Gtk.CellRendererText textRenderer = new Gtk.CellRendererText(); requiresTreeView.Model = requiresStore; requiresTreeView.AppendColumn("Requires", textRenderer, "text", 0); requiresTreeView.HeadersVisible = false; // libPathsTreeView.Model = libPathsStore; // libPathsTreeView.AppendColumn ("LibPaths", textRenderer, "text", 0); // libPathsTreeView.HeadersVisible = false; // // libsTreeView.Model = libsStore; // libsTreeView.AppendColumn ("Libs", textRenderer, "text", 0); // libsTreeView.HeadersVisible = false; // // cflagsTreeView.Model = cflagsStore; // cflagsTreeView.AppendColumn ("CFlags", textRenderer, "text", 0); // cflagsTreeView.HeadersVisible = false; // nameLabel.Text = package.Name; descriptionLabel.Text = package.Description; versionLabel.Text = package.Version; foreach (string req in package.Requires) { requiresStore.AppendValues(req); } // foreach (string libpath in package.LibPaths) // libPathsStore.AppendValues (libpath); // // foreach (string lib in package.Libs) // libsStore.AppendValues (lib); // // foreach (string cflag in package.CFlags) // cflagsStore.AppendValues (cflag); }
// Gtk.ListStore libPathsStore = new Gtk.ListStore (typeof(string)); // Gtk.ListStore libsStore = new Gtk.ListStore (typeof(string)); // Gtk.ListStore cflagsStore = new Gtk.ListStore (typeof(string)); public PackageDetails (ProjectPackage package) { this.Build(); package = new ProjectPackage(package.File); Gtk.CellRendererText textRenderer = new Gtk.CellRendererText (); requiresTreeView.Model = requiresStore; requiresTreeView.AppendColumn ("Requires", textRenderer, "text", 0); requiresTreeView.HeadersVisible = false; // libPathsTreeView.Model = libPathsStore; // libPathsTreeView.AppendColumn ("LibPaths", textRenderer, "text", 0); // libPathsTreeView.HeadersVisible = false; // // libsTreeView.Model = libsStore; // libsTreeView.AppendColumn ("Libs", textRenderer, "text", 0); // libsTreeView.HeadersVisible = false; // // cflagsTreeView.Model = cflagsStore; // cflagsTreeView.AppendColumn ("CFlags", textRenderer, "text", 0); // cflagsTreeView.HeadersVisible = false; // nameLabel.Text = package.Name; descriptionLabel.Text = package.Description; versionLabel.Text = package.Version; foreach (string req in package.Requires) requiresStore.AppendValues (req); // foreach (string libpath in package.LibPaths) // libPathsStore.AppendValues (libpath); // // foreach (string lib in package.Libs) // libsStore.AppendValues (lib); // // foreach (string cflag in package.CFlags) // cflagsStore.AppendValues (cflag); }
private List <ProjectPackage> GetPackagesOfProjects(Project project) { List <ProjectPackage> packages = new List <ProjectPackage>(); ProjectPackage package; foreach (Project c in IdeApp.Workspace.GetAllProjects()) { if (c is ValaProject) { ValaProject proj = c as ValaProject; ValaProjectConfiguration conf = proj.GetConfiguration(IdeApp.Workspace.ActiveConfiguration) as ValaProjectConfiguration; if (conf.CompileTarget != CompileTarget.Bin) { proj.WriteMDPkgPackage(conf.Selector); package = new ProjectPackage(proj); packages.Add(package); } } } return(packages); }
public EditPackagesDialog(ValaProject project) { this.Build(); this.project = project; selectedPackages.Project = project; selectedPackages.AddRange(project.Packages); Gtk.CellRendererText textRenderer = new Gtk.CellRendererText(); Gtk.CellRendererPixbuf pixbufRenderer = new Gtk.CellRendererPixbuf(); pixbufRenderer.StockId = "md-package"; normalPackageListStore.DefaultSortFunc = NormalPackageCompareNodes; projectPackageListStore.DefaultSortFunc = ProjectPackageCompareNodes; selectedPackageListStore.DefaultSortFunc = SelectedPackageCompareNodes; normalPackageListStore.SetSortColumnId(NormalPackageNameID, Gtk.SortType.Ascending); projectPackageListStore.SetSortColumnId(ProjectPackageNameID, Gtk.SortType.Ascending); selectedPackageListStore.SetSortColumnId(SelectedPackageNameID, Gtk.SortType.Ascending); normalPackageTreeView.SearchColumn = NormalPackageNameID; projectPackageTreeView.SearchColumn = ProjectPackageNameID; selectedPackageTreeView.SearchColumn = SelectedPackageNameID; // <!-- Normal packages --> Gtk.CellRendererToggle normalPackageToggleRenderer = new Gtk.CellRendererToggle(); normalPackageToggleRenderer.Activatable = true; normalPackageToggleRenderer.Toggled += OnNormalPackageToggled; normalPackageToggleRenderer.Xalign = 0; Gtk.TreeViewColumn normalPackageColumn = new Gtk.TreeViewColumn(); normalPackageColumn.Title = "Package"; normalPackageColumn.PackStart(pixbufRenderer, false); normalPackageColumn.PackStart(textRenderer, true); normalPackageColumn.AddAttribute(textRenderer, "text", NormalPackageNameID); normalPackageTreeView.Model = normalPackageListStore; normalPackageTreeView.HeadersVisible = true; normalPackageTreeView.AppendColumn("", normalPackageToggleRenderer, "active", NormalPackageToggleID); normalPackageTreeView.AppendColumn(normalPackageColumn); normalPackageTreeView.AppendColumn("Version", textRenderer, "text", NormalPackageVersionID); // <!-- Project packages --> Gtk.CellRendererToggle projectPackageToggleRenderer = new Gtk.CellRendererToggle(); projectPackageToggleRenderer.Activatable = true; projectPackageToggleRenderer.Toggled += OnProjectPackageToggled; projectPackageToggleRenderer.Xalign = 0; Gtk.TreeViewColumn projectPackageColumn = new Gtk.TreeViewColumn(); projectPackageColumn.Title = "Package"; projectPackageColumn.PackStart(pixbufRenderer, false); projectPackageColumn.PackStart(textRenderer, true); projectPackageColumn.AddAttribute(textRenderer, "text", ProjectPackageNameID); projectPackageTreeView.Model = projectPackageListStore; projectPackageTreeView.HeadersVisible = true; projectPackageTreeView.AppendColumn("", projectPackageToggleRenderer, "active", ProjectPackageToggleID); projectPackageTreeView.AppendColumn(projectPackageColumn); projectPackageTreeView.AppendColumn("Version", textRenderer, "text", ProjectPackageVersionID); // <!-- Selected packages --> Gtk.TreeViewColumn selectedPackageColumn = new Gtk.TreeViewColumn(); selectedPackageColumn.Title = "Package"; selectedPackageColumn.PackStart(pixbufRenderer, false); selectedPackageColumn.PackStart(textRenderer, true); selectedPackageColumn.AddAttribute(textRenderer, "text", SelectedPackageNameID); selectedPackageTreeView.Model = selectedPackageListStore; selectedPackageTreeView.HeadersVisible = true; selectedPackageTreeView.AppendColumn(selectedPackageColumn); selectedPackageTreeView.AppendColumn("Version", textRenderer, "text", SelectedPackageVersionID); // Fill up the project tree view packagesOfProjects = GetPackagesOfProjects(project); foreach (ProjectPackage p in packagesOfProjects) { if (p.Name == project.Name) { continue; } packages.Add(p); string version = p.Version; bool inProject = selectedPackages.Contains(p); if (!IsPackageInStore(projectPackageListStore, p.Name, version, ProjectPackageNameID, ProjectPackageVersionID)) { projectPackageListStore.AppendValues(inProject, p.Name, version); if (inProject) { selectedPackageListStore.AppendValues(p.Name, version); } } } // Fill up the normal tree view foreach (string dir in ScanDirs()) { if (Directory.Exists(dir)) { DirectoryInfo di = new DirectoryInfo(dir); FileInfo[] availablePackages = di.GetFiles("*.vapi"); foreach (FileInfo f in availablePackages) { if (!IsValidPackage(f.FullName)) { continue; } string packagename = f.FullName; GLib.Idle.Add(delegate { ProjectPackage package = new ProjectPackage(packagename); packages.Add(package); string name = package.Name; string version = package.Version; bool inProject = selectedPackages.Contains(package); if (!IsPackageInStore(normalPackageListStore, name, version, NormalPackageNameID, NormalPackageVersionID)) { normalPackageListStore.AppendValues(inProject, name, version); if (inProject) { selectedPackageListStore.AppendValues(name, version); } } return(false); }); } } } }
internal void NotifyPackageAddedToProject (ProjectPackage package) { if(null != PackageAddedToProject) { PackageAddedToProject (this, new ProjectPackageEventArgs (this, package)); } if (!package.IsProject){ ProjectInformationManager.Instance.Get (this).AddPackage (package.Name); } }
internal void NotifyPackageRemovedFromProject (ProjectPackage package) { if (null != PackageRemovedFromProject) { PackageRemovedFromProject (this, new ProjectPackageEventArgs (this, package)); } }
public EditPackagesDialog(ValaProject project) { this.Build(); this.project = project; selectedPackages.Project = project; selectedPackages.AddRange (project.Packages); Gtk.CellRendererText textRenderer = new Gtk.CellRendererText (); Gtk.CellRendererPixbuf pixbufRenderer = new Gtk.CellRendererPixbuf (); pixbufRenderer.StockId = "md-package"; normalPackageListStore.DefaultSortFunc = NormalPackageCompareNodes; projectPackageListStore.DefaultSortFunc = ProjectPackageCompareNodes; selectedPackageListStore.DefaultSortFunc = SelectedPackageCompareNodes; normalPackageListStore.SetSortColumnId (NormalPackageNameID, Gtk.SortType.Ascending); projectPackageListStore.SetSortColumnId (ProjectPackageNameID, Gtk.SortType.Ascending); selectedPackageListStore.SetSortColumnId (SelectedPackageNameID, Gtk.SortType.Ascending); normalPackageTreeView.SearchColumn = NormalPackageNameID; projectPackageTreeView.SearchColumn = ProjectPackageNameID; selectedPackageTreeView.SearchColumn = SelectedPackageNameID; // <!-- Normal packages --> Gtk.CellRendererToggle normalPackageToggleRenderer = new Gtk.CellRendererToggle (); normalPackageToggleRenderer.Activatable = true; normalPackageToggleRenderer.Toggled += OnNormalPackageToggled; normalPackageToggleRenderer.Xalign = 0; Gtk.TreeViewColumn normalPackageColumn = new Gtk.TreeViewColumn (); normalPackageColumn.Title = "Package"; normalPackageColumn.PackStart (pixbufRenderer, false); normalPackageColumn.PackStart (textRenderer, true); normalPackageColumn.AddAttribute (textRenderer, "text", NormalPackageNameID); normalPackageTreeView.Model = normalPackageListStore; normalPackageTreeView.HeadersVisible = true; normalPackageTreeView.AppendColumn ("", normalPackageToggleRenderer, "active", NormalPackageToggleID); normalPackageTreeView.AppendColumn (normalPackageColumn); normalPackageTreeView.AppendColumn ("Version", textRenderer, "text", NormalPackageVersionID); // <!-- Project packages --> Gtk.CellRendererToggle projectPackageToggleRenderer = new Gtk.CellRendererToggle (); projectPackageToggleRenderer.Activatable = true; projectPackageToggleRenderer.Toggled += OnProjectPackageToggled; projectPackageToggleRenderer.Xalign = 0; Gtk.TreeViewColumn projectPackageColumn = new Gtk.TreeViewColumn (); projectPackageColumn.Title = "Package"; projectPackageColumn.PackStart (pixbufRenderer, false); projectPackageColumn.PackStart (textRenderer, true); projectPackageColumn.AddAttribute (textRenderer, "text", ProjectPackageNameID); projectPackageTreeView.Model = projectPackageListStore; projectPackageTreeView.HeadersVisible = true; projectPackageTreeView.AppendColumn ("", projectPackageToggleRenderer, "active", ProjectPackageToggleID); projectPackageTreeView.AppendColumn (projectPackageColumn); projectPackageTreeView.AppendColumn ("Version", textRenderer, "text", ProjectPackageVersionID); // <!-- Selected packages --> Gtk.TreeViewColumn selectedPackageColumn = new Gtk.TreeViewColumn (); selectedPackageColumn.Title = "Package"; selectedPackageColumn.PackStart (pixbufRenderer, false); selectedPackageColumn.PackStart (textRenderer, true); selectedPackageColumn.AddAttribute (textRenderer, "text", SelectedPackageNameID); selectedPackageTreeView.Model = selectedPackageListStore; selectedPackageTreeView.HeadersVisible = true; selectedPackageTreeView.AppendColumn (selectedPackageColumn); selectedPackageTreeView.AppendColumn ("Version", textRenderer, "text", SelectedPackageVersionID); // Fill up the project tree view packagesOfProjects = GetPackagesOfProjects (project); foreach (ProjectPackage p in packagesOfProjects) { if (p.Name == project.Name) continue; packages.Add (p); string version = p.Version; bool inProject = selectedPackages.Contains (p); if (!IsPackageInStore (projectPackageListStore, p.Name, version, ProjectPackageNameID, ProjectPackageVersionID)) { projectPackageListStore.AppendValues (inProject, p.Name, version); if (inProject) selectedPackageListStore.AppendValues (p.Name, version); } } // Fill up the normal tree view foreach (string dir in ScanDirs ()) { if (Directory.Exists (dir)) { DirectoryInfo di = new DirectoryInfo (dir); FileInfo[] availablePackages = di.GetFiles ("*.vapi"); foreach (FileInfo f in availablePackages) { if (!IsValidPackage (f.FullName)) { continue; } string packagename = f.FullName; GLib.Idle.Add (delegate { ProjectPackage package = new ProjectPackage (packagename); packages.Add (package); string name = package.Name; string version = package.Version; bool inProject = selectedPackages.Contains (package); if (!IsPackageInStore (normalPackageListStore, name, version, NormalPackageNameID, NormalPackageVersionID)) { normalPackageListStore.AppendValues (inProject, name, version); if (inProject) selectedPackageListStore.AppendValues (name, version); } return false; }); } } } }
private List<ProjectPackage> GetPackagesOfProjects (Project project) { List<ProjectPackage> packages = new List<ProjectPackage>(); ProjectPackage package; foreach (Project c in IdeApp.Workspace.GetAllProjects()) { if (c is ValaProject) { ValaProject proj = c as ValaProject; ValaProjectConfiguration conf = proj.GetConfiguration (IdeApp.Workspace.ActiveConfiguration) as ValaProjectConfiguration; if (conf.CompileTarget != CompileTarget.Bin) { proj.WriteMDPkgPackage (conf.Selector); package = new ProjectPackage (proj); packages.Add (package); } } } return packages; }
public ProjectPackageEventArgs(ValaProject project, ProjectPackage package) { this.project = project; this.package = package; }
public ProjectPackageEventArgs(ValaProject project, ProjectPackage package) { this.project = project; this.package = package; }