Exemplo n.º 1
0
        public FlagsSelectorDialog(Gtk.Window parent, EnumDescriptor enumDesc, uint flags, string title)
        {
            this.flags = flags;
            this.parent = parent;

            Glade.XML xml = new Glade.XML (null, "stetic.glade", "FlagsSelectorDialog", null);
            xml.Autoconnect (this);

            store = new Gtk.ListStore (typeof(bool), typeof(string), typeof(uint));
            treeView.Model = store;

            Gtk.TreeViewColumn col = new Gtk.TreeViewColumn ();

            Gtk.CellRendererToggle tog = new Gtk.CellRendererToggle ();
            tog.Toggled += new Gtk.ToggledHandler (OnToggled);
            col.PackStart (tog, false);
            col.AddAttribute (tog, "active", 0);

            Gtk.CellRendererText crt = new Gtk.CellRendererText ();
            col.PackStart (crt, true);
            col.AddAttribute (crt, "text", 1);

            treeView.AppendColumn (col);

            foreach (Enum value in enumDesc.Values) {
                EnumValue eval = enumDesc[value];
                if (eval.Label == "")
                    continue;
                uint val = (uint) (int) eval.Value;
                store.AppendValues (((flags & val) != 0), eval.Label, val);
            }
        }
Exemplo n.º 2
0
        public SignalsEditorBackend(SignalsEditorFrontend frontend)
        {
            this.frontend = frontend;

            tree               = new Gtk.TreeView();
            store              = new Gtk.TreeStore(typeof(string), typeof(string), typeof(bool), typeof(bool), typeof(bool), typeof(SignalDescriptor), typeof(Signal), typeof(int));
            tree.Model         = store;
            tree.RowActivated += new Gtk.RowActivatedHandler(OnRowActivated);

            Gtk.CellRendererText crtSignal = new Gtk.CellRendererText();

            Gtk.CellRendererText crtHandler = new Gtk.CellRendererText();
            crtHandler.Editable = true;
            crtHandler.Edited  += new Gtk.EditedHandler(OnHandlerEdited);

            Gtk.CellRendererToggle crtogAfter = new Gtk.CellRendererToggle();
            crtogAfter.Activatable = true;
            crtogAfter.Toggled    += new Gtk.ToggledHandler(OnAfterToggled);

            tree.AppendColumn(Catalog.GetString("Signal"), crtSignal, "text", ColSignal, "weight", ColSignalTextWeight);
            tree.AppendColumn(Catalog.GetString("Handler"), crtHandler, "markup", ColHandler, "visible", ColIsSignal);
            tree.AppendColumn(Catalog.GetString("After"), crtogAfter, "active", ColAfter, "visible", ColHasHandler);
            tree.Columns[0].Resizable = true;
            tree.Columns[1].Resizable = true;
            tree.Columns[2].Resizable = true;
            Add(tree);
            ShowAll();
        }
Exemplo n.º 3
0
 public static Gtk.CellRenderer CreateCellRenderer(ICellRendererTarget col, object target, CellView view)
 {
     if (view is TextCellView)
     {
         Gtk.CellRendererText cr = new Gtk.CellRendererText();
         col.PackStart(target, cr, false);
         col.AddAttribute(target, cr, "text", ((TextCellView)view).TextField.Index);
         return(cr);
     }
     else if (view is CheckBoxCellView)
     {
         Gtk.CellRendererToggle cr = new Gtk.CellRendererToggle();
         col.PackStart(target, cr, false);
         col.AddAttribute(target, cr, "active", ((CheckBoxCellView)view).ActiveField.Index);
         return(cr);
     }
     else if (view is ImageCellView)
     {
         Gtk.CellRendererPixbuf cr = new Gtk.CellRendererPixbuf();
         col.PackStart(target, cr, false);
         col.AddAttribute(target, cr, "pixbuf", ((ImageCellView)view).ImageField.Index);
         return(cr);
     }
     throw new NotSupportedException("Unknown cell view type: " + view.GetType());
 }
        public FlagsSelectorDialog(Gtk.Window parent, EnumDescriptor enumDesc, uint flags, string title)
        {
            this.flags  = flags;
            this.parent = parent;

            Glade.XML xml = new Glade.XML(null, "stetic.glade", "FlagsSelectorDialog", null);
            xml.Autoconnect(this);

            store          = new Gtk.ListStore(typeof(bool), typeof(string), typeof(uint));
            treeView.Model = store;

            Gtk.TreeViewColumn col = new Gtk.TreeViewColumn();

            Gtk.CellRendererToggle tog = new Gtk.CellRendererToggle();
            tog.Toggled += new Gtk.ToggledHandler(OnToggled);
            col.PackStart(tog, false);
            col.AddAttribute(tog, "active", 0);

            Gtk.CellRendererText crt = new Gtk.CellRendererText();
            col.PackStart(crt, true);
            col.AddAttribute(crt, "text", 1);

            treeView.AppendColumn(col);

            foreach (Enum value in enumDesc.Values)
            {
                EnumValue eval = enumDesc[value];
                if (eval.Label == "")
                {
                    continue;
                }
                uint val = (uint)Convert.ToInt32(eval.Value);
                store.AppendValues(((flags & val) != 0), eval.Label, val);
            }
        }
    void BuildTreeview()
    {
        this.TreeView = new Gtk.TreeView();
        var store = new Gtk.TreeStore(typeof(bool), typeof(string), typeof(string));

        this.TreeView.Model = store;
        // Create a column
        var column1 = new Gtk.TreeViewColumn();
        // Add a toggle render
        var toggleRenderer = new Gtk.CellRendererToggle();

        column1.PackStart(toggleRenderer, true);
        column1.AddAttribute(toggleRenderer, "active", 0);
        column1.Title = "Column 1";
        // And add a text renderer to the same column
        var textRenderer1 = new Gtk.CellRendererText();

        column1.PackStart(textRenderer1, true);
        column1.AddAttribute(textRenderer1, "text", 1);
        // Now add a plain text column
        var column2       = new Gtk.TreeViewColumn();
        var textRenderer2 = new Gtk.CellRendererText();

        column2.PackStart(textRenderer2, true);
        column2.AddAttribute(textRenderer2, "text", 2);
        column2.Title = "Column 2";
        this.TreeView.AppendColumn(column1);
        this.TreeView.AppendColumn(column2);
        this.Add(this.TreeView);
    }
		public SignalsEditorBackend (SignalsEditorFrontend frontend)
		{
			this.frontend = frontend;
			
			tree = new Gtk.TreeView ();
			store = new Gtk.TreeStore (typeof(string), typeof(string), typeof(bool), typeof(bool), typeof(bool), typeof(int));
			tree.Model = store;
			tree.RowActivated += new Gtk.RowActivatedHandler (OnRowActivated);
			
			Gtk.CellRendererText crtSignal = new Gtk.CellRendererText ();
			
			Gtk.CellRendererText crtHandler = new Gtk.CellRendererText ();
			crtHandler.Editable = true;
			crtHandler.Edited += new Gtk.EditedHandler (OnHandlerEdited);
			
			Gtk.CellRendererToggle crtogAfter = new Gtk.CellRendererToggle ();
			crtogAfter.Activatable = true;
			crtogAfter.Toggled += new Gtk.ToggledHandler (OnAfterToggled);
			
			tree.AppendColumn (Catalog.GetString ("Signal"), crtSignal, "text", ColSignal, "weight", ColSignalTextWeight);
			tree.AppendColumn (Catalog.GetString ("Handler"), crtHandler, "markup", ColHandler, "visible", ColIsSignal);
			tree.AppendColumn (Catalog.GetString ("After"), crtogAfter, "active", ColAfter, "visible", ColHasHandler);
			tree.Columns[0].Resizable = true;
			tree.Columns[1].Resizable = true;
			tree.Columns[2].Resizable = true;
			Add (tree);
			ShowAll ();
		}
Exemplo n.º 7
0
		public IndividualList()
		{		
			this.Build();
			
			_nameCol = new Gtk.TreeViewColumn();
			Gtk.CellRenderer rend = new Gtk.CellRendererText();
			_nameCol.Title = "Name";
			_nameCol.Sizing = Gtk.TreeViewColumnSizing.Fixed;
			_nameCol.PackStart(rend,true);
			_nameCol.SetCellDataFunc(rend, new Gtk.TreeCellDataFunc(ListModelUtil.RenderIndividualName));
			_nameCol.Resizable = true;
			rend.Width = 200;
			_nameCol.MinWidth = 250;
			
			_dobCol = new Gtk.TreeViewColumn();
			rend = new Gtk.CellRendererText();
			_dobCol.Title = "Date of Birth";
			_dobCol.Sizing = Gtk.TreeViewColumnSizing.Fixed;
			_dobCol.PackStart(rend,false);
			_dobCol.SetCellDataFunc(rend, new Gtk.TreeCellDataFunc(ListModelUtil.RenderIndividualDob));
			_dobCol.Resizable = false;
			_dobCol.MinWidth = 150;

			_preferedCol = new Gtk.TreeViewColumn();
			rend = new Gtk.CellRendererToggle();
			((Gtk.CellRendererToggle)rend).Radio = true;
			((Gtk.CellRendererToggle)rend).Mode = Gtk.CellRendererMode.Activatable;
			((Gtk.CellRendererToggle)rend).Activatable = true;
			((Gtk.CellRendererToggle)rend).Toggled += new Gtk.ToggledHandler(Prefered_Toggled);
			_preferedCol.Title = "Prefered";
			_preferedCol.Sizing = Gtk.TreeViewColumnSizing.Fixed;
			_preferedCol.PackStart(rend,true);
			_preferedCol.Resizable = false;
			_preferedCol.MinWidth = 50;
			_preferedCol.SetCellDataFunc(rend, new Gtk.TreeCellDataFunc(ListModelUtil.RenderPreferedSpouse));
			_preferedCol.Visible = false;
			
			IndividualTreeView.AppendColumn(_nameCol);
			IndividualTreeView.AppendColumn(_dobCol);
			IndividualTreeView.AppendColumn(_preferedCol);
			
			IndividualTreeView.Model = null;
			_filterText = string.Empty;
			
			Gtk.TreeSelection selection = IndividualTreeView.Selection;
			selection.Changed += new EventHandler(OnSelection_Changed);
			
			SoundexCheckBox.Toggled += new EventHandler(OnSoundexCheckBox_Toggled);
		}
Exemplo n.º 8
0
        public FlagsSelectorDialog(Gtk.Window parent, Type enumDesc, ulong flags, string title)
        {
            this.flags  = flags;
            this.parent = parent;

            Gtk.ScrolledWindow sc = new Gtk.ScrolledWindow();
            sc.HscrollbarPolicy = Gtk.PolicyType.Automatic;
            sc.VscrollbarPolicy = Gtk.PolicyType.Automatic;
            sc.ShadowType       = Gtk.ShadowType.In;
            sc.BorderWidth      = 6;

            treeView = new Gtk.TreeView();
            sc.Add(treeView);

            dialog = new Gtk.Dialog();
            IdeTheme.ApplyTheme(dialog);
            dialog.VBox.Add(sc);
            dialog.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel);
            dialog.AddButton(Gtk.Stock.Ok, Gtk.ResponseType.Ok);

            store                   = new Gtk.ListStore(typeof(bool), typeof(string), typeof(ulong));
            treeView.Model          = store;
            treeView.HeadersVisible = false;

            Gtk.TreeViewColumn col = new Gtk.TreeViewColumn();

            Gtk.CellRendererToggle tog = new Gtk.CellRendererToggle();
            tog.Toggled += new Gtk.ToggledHandler(OnToggled);
            col.PackStart(tog, false);
            col.AddAttribute(tog, "active", 0);

            Gtk.CellRendererText crt = new Gtk.CellRendererText();
            col.PackStart(crt, true);
            col.AddAttribute(crt, "text", 1);

            treeView.AppendColumn(col);

            values = System.Enum.GetValues(enumDesc);
            foreach (object value in values)
            {
                ulong val = Convert.ToUInt64(value);
                store.AppendValues((flags == 0 && val == 0) || ((flags & val) != 0), value.ToString(), val);
            }
        }
		public FlagsSelectorDialog (Gtk.Window parent, Type enumDesc, ulong flags, string title)
		{
			this.flags = flags;
			this.parent = parent;

			Gtk.ScrolledWindow sc = new Gtk.ScrolledWindow ();
			sc.HscrollbarPolicy = Gtk.PolicyType.Automatic;
			sc.VscrollbarPolicy = Gtk.PolicyType.Automatic;
			sc.ShadowType = Gtk.ShadowType.In;
			sc.BorderWidth = 6;
			
			treeView = new Gtk.TreeView ();
			sc.Add (treeView);
			
			dialog = new Gtk.Dialog ();
			IdeTheme.ApplyTheme (dialog);
			dialog.VBox.Add (sc);
			dialog.AddButton (Gtk.Stock.Cancel, Gtk.ResponseType.Cancel);
			dialog.AddButton (Gtk.Stock.Ok, Gtk.ResponseType.Ok);
			
			store = new Gtk.ListStore (typeof(bool), typeof(string), typeof(ulong));
			treeView.Model = store;
			treeView.HeadersVisible = false;
			
			Gtk.TreeViewColumn col = new Gtk.TreeViewColumn ();
			
			Gtk.CellRendererToggle tog = new Gtk.CellRendererToggle ();
			tog.Toggled += new Gtk.ToggledHandler (OnToggled);
			col.PackStart (tog, false);
			col.AddAttribute (tog, "active", 0);
			
			Gtk.CellRendererText crt = new Gtk.CellRendererText ();
			col.PackStart (crt, true);
			col.AddAttribute (crt, "text", 1);
			
			treeView.AppendColumn (col);

			values = System.Enum.GetValues (enumDesc);
			foreach (object value in values) {
				ulong val = Convert.ToUInt64 (value);
				store.AppendValues ((flags == 0 && val == 0) || ((flags & val) != 0), value.ToString (), val);
			}
		}
Exemplo n.º 10
0
 public static Gtk.CellRenderer CreateCellRenderer(ICellRendererTarget col, object target, CellView view)
 {
     if (view is TextCellView) {
         Gtk.CellRendererText cr = new Gtk.CellRendererText ();
         col.PackStart (target, cr, false);
         col.AddAttribute (target, cr, "text", ((TextCellView)view).TextField.Index);
         return cr;
     }
     else if (view is CheckBoxCellView) {
         Gtk.CellRendererToggle cr = new Gtk.CellRendererToggle ();
         col.PackStart (target, cr, false);
         col.AddAttribute (target, cr, "active", ((CheckBoxCellView)view).ActiveField.Index);
         return cr;
     }
     else if (view is ImageCellView) {
         Gtk.CellRendererPixbuf cr = new Gtk.CellRendererPixbuf ();
         col.PackStart (target, cr, false);
         col.AddAttribute (target, cr, "pixbuf", ((ImageCellView)view).ImageField.Index);
         return cr;
     }
     throw new NotSupportedException ("Unknown cell view type: " + view.GetType ());
 }
Exemplo n.º 11
0
        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);
                        });
                    }
                }
            }
        }
		public EditPackagesDialog(CProject project)
		{
			this.Build();
			
			this.project = project;
			
			selectedPackages.Project = project;
			selectedPackages.AddRange (project.Packages);
			
			Gtk.CellRendererText textRenderer = new Gtk.CellRendererText ();
			
			CellRendererImage pixbufRenderer = new CellRendererImage ();
			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 (Package 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 ("*.pc");
					
					foreach (FileInfo f in availablePackages) {
						if (!IsValidPackage (f.FullName)) { 
							continue;
						}
						
						Package package = new Package (f.FullName);
						
						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);
						}
					}
				}
			}
		}
Exemplo n.º 13
0
		public SourceView()
		{
			this.Build();
			
			_eventModel = new EventModel(EventModel.EventModelType.All);
			Gtk.TreeViewColumn eventNameCol = new Gtk.TreeViewColumn();
			Gtk.CellRenderer rend = new Gtk.CellRendererToggle();
			eventNameCol.Title = "Event";
			eventNameCol.PackStart(rend, false);
			eventNameCol.AddAttribute(rend, "active", (int)EventModel.Columns.Included);
			((Gtk.CellRendererToggle)rend).Activatable = true;
			((Gtk.CellRendererToggle)rend).Toggled += new Gtk.ToggledHandler(OnIncluded_Toggle);
			rend = new Gtk.CellRendererText();
			eventNameCol.PackStart(rend, true);
			eventNameCol.AddAttribute(rend, "text", (int)EventModel.Columns.Readable);

			EventTypeTreeView.AppendColumn(eventNameCol);		
			EventTypeTreeView.Model = _eventModel;

			
			Gtk.TreeViewColumn buttonCol = new Gtk.TreeViewColumn();
			GtkCellRendererButton butRend = new GtkCellRendererButton();
			butRend.StockId = "gtk-remove";
			buttonCol.PackStart(butRend,true);
			
			Gtk.TreeViewColumn noteCountCol = new Gtk.TreeViewColumn();
			rend = new Gtk.CellRendererText();
			noteCountCol.Title = "No.";
			noteCountCol.PackStart(rend,true);
			noteCountCol.SetCellDataFunc(rend, new Gtk.TreeCellDataFunc(ListModelUtil.RenderEventRecordedCount));
		
			EventGroupTreeView.AppendColumn(buttonCol);
			EventGroupTreeView.AppendColumn(noteCountCol);

			Gtk.TreeSelection selection = EventGroupTreeView.Selection;
			selection.Changed += new EventHandler(OnEventGroupSelection_Changed);
			
			_eventGroups = new GenericListModel<GedcomRecordedEvent>();
			EventGroupTreeView.Model = _eventGroups.Adapter;
			
			Gtk.TreeViewColumn callNumberCol = new Gtk.TreeViewColumn();
			rend = new Gtk.CellRendererText();
			callNumberCol.Title = "Call Number";
			callNumberCol.PackStart(rend,true);
			callNumberCol.AddAttribute(rend, "text", 0);
			
			Gtk.TreeViewColumn mediaTypeCol = new Gtk.TreeViewColumn();
			rend = new Gtk.CellRendererText();
			mediaTypeCol.Title = "Media Type";
			mediaTypeCol.PackStart(rend,true);
			mediaTypeCol.AddAttribute(rend, "text", 1);
			
			CallNumberTreeView.AppendColumn(callNumberCol);
			CallNumberTreeView.AppendColumn(mediaTypeCol);
			
			RepositoryCitationListModel repoCitationListModel = new RepositoryCitationListModel();
			CallNumberTreeView.Model = repoCitationListModel;
			
			selection = CallNumberTreeView.Selection;
			selection.Changed += new EventHandler(OnCallNumberSelection_Changed);
					
			// How to handle SourceMediaType.Other ?
			// don't include in initial and if the select one is SourceMediaType.Other
			// add an item into the dropdown for its value?
			// as other isn't really valid this seems like a reasonable idea
			Gtk.ListStore mediaTypes = new Gtk.ListStore(typeof(string));
			foreach (SourceMediaType mediaType in Enum.GetValues(typeof(SourceMediaType)))
			{
				if (mediaType != SourceMediaType.Other)
				{
					Gtk.TreeIter iter = mediaTypes.Append();
					mediaTypes.SetValue(iter, 0, mediaType.ToString());
				}
			}
			rend = new Gtk.CellRendererText();
			MediaTypeCombo.PackStart(rend,true);
			MediaTypeCombo.AddAttribute(rend, "text", 0);
			MediaTypeCombo.Model = mediaTypes;
			
			Notebook.Page = 0;
		}
Exemplo n.º 14
0
        public GescenImportWidget()
        {
            this.Build();

            image = new Gtk.Image();
            image.SetFromIconName("document-new", Gtk.IconSize.Dnd);
            label = new Gtk.Label(Mono.Unix.Catalog.GetString("Import Gescen/Itaca file"));
            label.Show();

            groupHbox.Sensitive = false;

            /*
             * Gtk.FileFilter filter=new Gtk.FileFilter();
             * filter.AddPattern("*.xml");
             * filter.AddPattern("*.XML");
             * gescenFilechooserbutton.Filter=filter;
             */

            group_store = new Gtk.TreeStore(typeof(bool), typeof(string));

            Gtk.TreeViewColumn     check_column      = new Gtk.TreeViewColumn();
            Gtk.CellRendererToggle check_column_cell = new Gtk.CellRendererToggle();

            /*
             *
             * user_id_column=new Gtk.TreeViewColumn();
             * user_id_column.Title=Mono.Unix.Catalog.GetString("User ID");
             * user_id_cell_renderer=new Gtk.CellRendererText();
             * user_id_column.PackStart(user_id_cell_renderer,true);
             * user_id_column.AddAttribute(user_id_cell_renderer,"text",0);
             * userListTreeview.AppendColumn(user_id_column);
             * store=new Gtk.ListStore(typeof(string),typeof(string),typeof(string));
             * userListTreeview.Model=store;
             *
             */
            check_column.Title = Mono.Unix.Catalog.GetString("Importable");
            check_column.PackStart(check_column_cell, true);
            check_column.AddAttribute(check_column_cell, "active", 0);

            groupListTreeview.AppendColumn(check_column);

            Gtk.TreeViewColumn group_name_column = new Gtk.TreeViewColumn();
            group_name_column.Title = Mono.Unix.Catalog.GetString("Group");
            Gtk.CellRendererText group_name_column_cell = new Gtk.CellRendererText();
            group_name_column.PackStart(group_name_column_cell, true);
            group_name_column.AddAttribute(group_name_column_cell, "text", 1);
            groupListTreeview.AppendColumn(group_name_column);

            groupListTreeview.Model = group_store;


            Gtk.TreeViewColumn user_uid_column = new Gtk.TreeViewColumn();
            user_uid_column.Title = "UID";
            Gtk.CellRendererText user_uid_cell = new Gtk.CellRendererText();
            user_uid_column.PackStart(user_uid_cell, true);
            user_uid_column.AddAttribute(user_uid_cell, "text", 0);
            usersToDeleteTreeview.AppendColumn(user_uid_column);

            Gtk.TreeViewColumn user_desc_column = new Gtk.TreeViewColumn();
            user_desc_column.Title = Mono.Unix.Catalog.GetString("Description");
            Gtk.CellRendererText user_desc_cell = new Gtk.CellRendererText();
            user_desc_column.PackStart(user_desc_cell, true);
            user_desc_column.AddAttribute(user_desc_cell, "text", 1);
            usersToDeleteTreeview.AppendColumn(user_desc_column);

            Gtk.TreeViewColumn user_group_column = new Gtk.TreeViewColumn();
            user_group_column.Title = Mono.Unix.Catalog.GetString("Group");
            Gtk.CellRendererText user_group_cell = new Gtk.CellRendererText();
            user_group_column.PackStart(user_group_cell, true);
            user_group_column.AddAttribute(user_group_cell, "text", 2);
            usersToDeleteTreeview.AppendColumn(user_group_column);

            user_store = new Gtk.TreeStore(typeof(string), typeof(string), typeof(string));
            usersToDeleteTreeview.Model = user_store;
            usersToDeleteHbox.Sensitive = false;
        }
Exemplo n.º 15
0
		public EditPackagesDialog(CProject project)
		{
			this.Build();
			
			this.project = project;
			
			selectedPackages.AddRange (project.Packages);
			
			Gtk.CellRendererText textRenderer = new Gtk.CellRendererText ();
			
			Gtk.CellRendererPixbuf pixbufRenderer = new Gtk.CellRendererPixbuf ();
			pixbufRenderer.StockId = "md-package";
			
			// <!-- 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", 1);
			
			normalPackageTreeView.Model = normalPackageListStore;
			normalPackageTreeView.HeadersVisible = true;
			normalPackageTreeView.AppendColumn ("", normalPackageToggleRenderer, "active", 0);
			normalPackageTreeView.AppendColumn (normalPackageColumn);
			normalPackageTreeView.AppendColumn ("Version", textRenderer, "text", 2);
			
			// <!-- 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", 1);
			
			projectPackageTreeView.Model = projectPackageListStore;
			projectPackageTreeView.HeadersVisible = true;
			projectPackageTreeView.AppendColumn ("", projectPackageToggleRenderer, "active", 0);
			projectPackageTreeView.AppendColumn (projectPackageColumn);
			projectPackageTreeView.AppendColumn ("Version", textRenderer, "text", 2);
			
			
			// <!-- Selected packages -->
			
			Gtk.TreeViewColumn selectedPackageColumn = new Gtk.TreeViewColumn ();
			selectedPackageColumn.Title = "Package";
			selectedPackageColumn.PackStart (pixbufRenderer, false);
			selectedPackageColumn.PackStart (textRenderer, true);
			selectedPackageColumn.AddAttribute (textRenderer, "text", 0);
			
			selectedPackagesTreeView.Model = selectedPackagesListStore;
			selectedPackagesTreeView.HeadersVisible = true;
			selectedPackagesTreeView.AppendColumn (selectedPackageColumn);
			selectedPackagesTreeView.AppendColumn ("Version", textRenderer, "text", 1);
			
			// Fill up the project tree view
			projectPackages = ProjectPackages (project);
			
			foreach (ProjectPackage p in projectPackages) {
				if (p.Name == project.Name) continue;
				string version = GetPackageVersion (p.File);
				bool inProject = IsInProject (p.File);
				projectPackageListStore.AppendValues (inProject, p.Name, version);
				
				if (inProject)
					selectedPackagesListStore.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 ("*.pc");
					
					foreach (FileInfo f in availablePackages) {
						if (!IsValidPackage (f.FullName)) { 
							continue;
						}
						string name = f.Name.Substring (0, f.Name.LastIndexOf ('.'));
						string version = GetPackageVersion (f.FullName);
						bool inProject = IsInProject (name);
						normalPackageListStore.AppendValues (inProject, name, version);
						
						if (inProject)
							selectedPackagesListStore.AppendValues (name, version);
					}
				}
			}
		}
Exemplo n.º 16
0
        public CatalogCRUD ()
        {
            this.Build ();
            table.NodeStore = Store;
            Gtk.CellRendererToggle selectCell = new Gtk.CellRendererToggle ();
            selectCell.Activatable = true;
            selectCell.Toggled += Toggled;
            table.AppendColumn ("", selectCell, "active", 0);

            Gtk.CellRendererText nameCell = new Gtk.CellRendererText ();
            nameCell.Editable = true;
            nameCell.Edited += HandleNameCellEdited;
            table.AppendColumn ("Name", nameCell, "text", 1);

            selected = new Hashtable ();
        }
    /// <summary>
    /// Initializes and fills the tree view.
    /// </summary>
    private void InitializeAndFillTreeView()
    {
      Gtk.CellRendererPixbuf rulePixBufRenderer = new Gtk.CellRendererPixbuf();
      rulePixBufRenderer.Mode = Gtk.CellRendererMode.Activatable;
      Gtk.CellRendererText ruleTextRenderer = new Gtk.CellRendererText();
      ruleTextRenderer.Mode = Gtk.CellRendererMode.Activatable;
      Gtk.CellRendererToggle ruleToggleRenderer = new Gtk.CellRendererToggle();
      ruleToggleRenderer.Activatable = true;
      ruleToggleRenderer.Toggled += new Gtk.ToggledHandler(this.OnRuleToggled);

      Gtk.TreeViewColumn rulesColumn = new Gtk.TreeViewColumn();
      rulesColumn.Clickable = false;
      rulesColumn.Reorderable = false;
      rulesColumn.Title = GettextCatalog.GetString("Enabled rules");
      rulesColumn.PackStart(ruleToggleRenderer, false);
      rulesColumn.PackStart(rulePixBufRenderer, false);
      rulesColumn.PackStart(ruleTextRenderer, false);
      rulesColumn.AddAttribute(ruleToggleRenderer, "active", (int)TreeStoreColumns.Toggle);
      rulesColumn.AddAttribute(rulePixBufRenderer, "pixbuf", (int)TreeStoreColumns.PixBuf);
      rulesColumn.SetCellDataFunc(ruleTextRenderer, new Gtk.TreeCellDataFunc(this.RenderRule));
      this.rulesTreeView.AppendColumn(rulesColumn);

      this.rulesStore = new Gtk.TreeStore(typeof(bool), typeof(Gdk.Pixbuf), typeof(object), typeof(SourceAnalyzer), typeof(bool));
      this.rulesTreeView.Model = this.rulesStore;
      this.rulesTreeView.Selection.Changed += new EventHandler(this.OnTreeViewSelectionChanged);

      if (this.rulesStore != null)
      {
        // Add each of the parsers and analyzers to the tree.
        foreach (SourceParser parser in this.SettingsHandler.Core.Parsers)
        {
          Gtk.TreeIter parserIter = this.rulesStore.AppendValues(false, null, parser, null, false);

          // Add each of the boolean properties exposed by the parser.
          this.StoreAddinProperties(parser);

          // Iterate through each of the analyzers and add a checkbox for each.
          foreach (SourceAnalyzer analyzer in parser.Analyzers)
          {
            Gtk.TreeIter analyzerIter = this.rulesStore.AppendValues(parserIter, false, null, analyzer, null, false);

            // Add each of the boolean properties exposed by the analyzer.
            this.StoreAddinProperties(analyzer);

            this.FillAnalyzerRules(analyzer, analyzerIter);

            if ((bool)this.rulesStore.GetValue(analyzerIter, (int)TreeStoreColumns.Overridden))
            {
              this.rulesStore.SetValue(parserIter, (int)TreeStoreColumns.Overridden, true);
            }
          }

          this.rulesTreeView.ExpandRow(this.rulesStore.GetPath(parserIter), false);
        }
      }
    }
    /// <summary>
    /// Initializes the node view.
    /// </summary>
    private void InitializeNodeView()
    {
      Gtk.CellRendererText detailedSettingsTextRenderer = new Gtk.CellRendererText();
      detailedSettingsTextRenderer.Mode = Gtk.CellRendererMode.Activatable;
      Gtk.CellRendererToggle detailedSettingsToggleRenderer = new Gtk.CellRendererToggle();
      detailedSettingsToggleRenderer.Activatable = true;
      detailedSettingsToggleRenderer.Toggled += new Gtk.ToggledHandler(this.OnDetailedSettingsToggled);

      Gtk.TreeViewColumn detailedSettingsColumn = new Gtk.TreeViewColumn();
      detailedSettingsColumn.Clickable = false;
      detailedSettingsColumn.Reorderable = false;
      detailedSettingsColumn.Title = GettextCatalog.GetString("Detailed settings");
      detailedSettingsColumn.PackStart(detailedSettingsToggleRenderer, false);
      detailedSettingsColumn.PackStart(detailedSettingsTextRenderer, false);
      detailedSettingsColumn.AddAttribute(detailedSettingsToggleRenderer, "active", (int)ListStoreColumns.Toggle);
      detailedSettingsColumn.AddAttribute(detailedSettingsTextRenderer, "markup", (int)ListStoreColumns.Markup);
      this.detailedSettingsNodeView.AppendColumn(detailedSettingsColumn);

      this.detailedSettingsStore = new Gtk.ListStore(typeof(bool), typeof(string), typeof(PropertyAddInPair));
      this.detailedSettingsNodeView.Model = this.detailedSettingsStore;
      this.detailedSettingsNodeView.Selection.Changed += new EventHandler(this.OnNodeViewSelectionChanged);
    }
Exemplo n.º 19
0
        public EditPackagesDialog(CProject project)
        {
            this.Build();

            this.project = project;

            selectedPackages.AddRange(project.Packages);

            Gtk.CellRendererText textRenderer = new Gtk.CellRendererText();

            Gtk.CellRendererPixbuf pixbufRenderer = new Gtk.CellRendererPixbuf();
            pixbufRenderer.StockId = "md-package";

            // <!-- 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", 1);

            normalPackageTreeView.Model          = normalPackageListStore;
            normalPackageTreeView.HeadersVisible = true;
            normalPackageTreeView.AppendColumn("", normalPackageToggleRenderer, "active", 0);
            normalPackageTreeView.AppendColumn(normalPackageColumn);
            normalPackageTreeView.AppendColumn("Version", textRenderer, "text", 2);

            // <!-- 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", 1);

            projectPackageTreeView.Model          = projectPackageListStore;
            projectPackageTreeView.HeadersVisible = true;
            projectPackageTreeView.AppendColumn("", projectPackageToggleRenderer, "active", 0);
            projectPackageTreeView.AppendColumn(projectPackageColumn);
            projectPackageTreeView.AppendColumn("Version", textRenderer, "text", 2);


            // <!-- Selected packages -->

            Gtk.TreeViewColumn selectedPackageColumn = new Gtk.TreeViewColumn();
            selectedPackageColumn.Title = "Package";
            selectedPackageColumn.PackStart(pixbufRenderer, false);
            selectedPackageColumn.PackStart(textRenderer, true);
            selectedPackageColumn.AddAttribute(textRenderer, "text", 0);

            selectedPackagesTreeView.Model          = selectedPackagesListStore;
            selectedPackagesTreeView.HeadersVisible = true;
            selectedPackagesTreeView.AppendColumn(selectedPackageColumn);
            selectedPackagesTreeView.AppendColumn("Version", textRenderer, "text", 1);

            // Fill up the project tree view
            projectPackages = ProjectPackages(project);

            foreach (ProjectPackage p in projectPackages)
            {
                if (p.Name == project.Name)
                {
                    continue;
                }
                string version   = GetPackageVersion(p.File);
                bool   inProject = IsInProject(p.File);
                projectPackageListStore.AppendValues(inProject, p.Name, version);

                if (inProject)
                {
                    selectedPackagesListStore.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("*.pc");

                    foreach (FileInfo f in availablePackages)
                    {
                        if (!IsValidPackage(f.FullName))
                        {
                            continue;
                        }
                        string name      = f.Name.Substring(0, f.Name.LastIndexOf('.'));
                        string version   = GetPackageVersion(f.FullName);
                        bool   inProject = IsInProject(name);
                        normalPackageListStore.AppendValues(inProject, name, version);

                        if (inProject)
                        {
                            selectedPackagesListStore.AppendValues(name, version);
                        }
                    }
                }
            }
        }