コード例 #1
0
        void AddColumns()
        {
            CellRendererImage iconRender = new CellRendererImage();

            Gtk.CellRendererToggle toggleRender = new Gtk.CellRendererToggle();
            toggleRender.Toggled += new ToggledHandler(ItemToggled);

            TreeViewColumn col;

            col = view.AppendColumn("!", iconRender, "image", DataColumns.Type);

            col = view.AppendColumn("", toggleRender);
            col.SetCellDataFunc(toggleRender, new Gtk.TreeCellDataFunc(ToggleDataFunc));

            col = view.AppendColumn(GettextCatalog.GetString("Line"), view.TextRenderer);
            col.SetCellDataFunc(view.TextRenderer, new Gtk.TreeCellDataFunc(LineDataFunc));

            var descriptionCellRenderer = new DescriptionCellRendererText();

            view.RegisterRenderForFontChanges(descriptionCellRenderer);
            var descriptionCol = view.AppendColumn(GettextCatalog.GetString("Description"), descriptionCellRenderer);

            descriptionCol.SetCellDataFunc(descriptionCellRenderer, new Gtk.TreeCellDataFunc(DescriptionDataFunc));
            descriptionCol.Resizable                 = true;
            descriptionCellRenderer.WrapMode         = Pango.WrapMode.Word;
            descriptionCellRenderer.PreferedMaxWidth = IdeApp.Workbench.RootWindow.Allocation.Width / 3;

            descriptionCol.AddNotification("width", delegate
            {
                descriptionCellRenderer.WrapWidth = descriptionCol.Width;
                store.Foreach((model, path, iter) =>
                {
                    model.EmitRowChanged(path, iter);
                    return(false);
                });
            });

            col = view.AppendColumn(GettextCatalog.GetString("File"), view.TextRenderer);
            col.SetCellDataFunc(view.TextRenderer, new Gtk.TreeCellDataFunc(FileDataFunc));
            col.Resizable = true;

            col = view.AppendColumn(GettextCatalog.GetString("Project"), view.TextRenderer);
            col.SetCellDataFunc(view.TextRenderer, new Gtk.TreeCellDataFunc(ProjectDataFunc));
            col.Resizable = true;

            col = view.AppendColumn(GettextCatalog.GetString("Path"), view.TextRenderer);
            col.SetCellDataFunc(view.TextRenderer, new Gtk.TreeCellDataFunc(PathDataFunc));
            col.Resizable = true;

            col = view.AppendColumn(GettextCatalog.GetString("Category"), view.TextRenderer);
            col.SetCellDataFunc(view.TextRenderer, new Gtk.TreeCellDataFunc(CategoryDataFunc));
            col.Resizable = true;
        }
コード例 #2
0
		void AddColumns ()
		{
			CellRendererImage iconRender = new CellRendererImage ();
			
			Gtk.CellRendererToggle toggleRender = new Gtk.CellRendererToggle ();
			toggleRender.Toggled += new ToggledHandler (ItemToggled);
			
			TreeViewColumn col;
			col = view.AppendColumn ("!", iconRender, "image", DataColumns.Type);
			
			col = view.AppendColumn ("", toggleRender);
			col.SetCellDataFunc (toggleRender, new Gtk.TreeCellDataFunc (ToggleDataFunc));
			
			col = view.AppendColumn (GettextCatalog.GetString ("Line"), view.TextRenderer);
			col.SetCellDataFunc (view.TextRenderer, new Gtk.TreeCellDataFunc (LineDataFunc));

			var descriptionCellRenderer = new DescriptionCellRendererText ();
			view.RegisterRenderForFontChanges (descriptionCellRenderer);
			var descriptionCol = view.AppendColumn (GettextCatalog.GetString ("Description"), descriptionCellRenderer);
			descriptionCol.SetCellDataFunc (descriptionCellRenderer, new Gtk.TreeCellDataFunc (DescriptionDataFunc));
			descriptionCol.Resizable = true;
			descriptionCellRenderer.WrapMode = Pango.WrapMode.Word;
			descriptionCellRenderer.PreferedMaxWidth = IdeApp.Workbench.RootWindow.Allocation.Width / 3;

			descriptionCol.AddNotification("width", delegate
			{
				descriptionCellRenderer.WrapWidth = descriptionCol.Width;
				store.Foreach((model, path, iter) =>
				{
					model.EmitRowChanged(path, iter);
					return false;
				});
			});
			
			col = view.AppendColumn (GettextCatalog.GetString ("File"), view.TextRenderer);
			col.SetCellDataFunc (view.TextRenderer, new Gtk.TreeCellDataFunc (FileDataFunc));
			col.Resizable = true;
			
			col = view.AppendColumn (GettextCatalog.GetString ("Project"), view.TextRenderer);
			col.SetCellDataFunc (view.TextRenderer, new Gtk.TreeCellDataFunc (ProjectDataFunc));
			col.Resizable = true;
			
			col = view.AppendColumn (GettextCatalog.GetString ("Path"), view.TextRenderer);
			col.SetCellDataFunc (view.TextRenderer, new Gtk.TreeCellDataFunc (PathDataFunc));
			col.Resizable = true;

			col = view.AppendColumn (GettextCatalog.GetString ("Category"), view.TextRenderer);
			col.SetCellDataFunc (view.TextRenderer, new Gtk.TreeCellDataFunc (CategoryDataFunc));
			col.Resizable = true;
		}