コード例 #1
0
 protected virtual void OnRowActivated()
 {
     if (Selection.FocusedIndex != -1)
     {
         RowActivatedHandler <T> handler = RowActivated;
         if (handler != null)
         {
             handler(this, new RowActivatedArgs <T> (Selection.FocusedIndex, model[Selection.FocusedIndex]));
         }
     }
 }
コード例 #2
0
ファイル: ListTreeViewBase.cs プロジェクト: GNOME/longomatch
        public ListTreeViewBase()
        {
            Selection.Mode = SelectionMode.Multiple;
            Selection.SelectFunction = SelectFunction;
            RowActivated += new RowActivatedHandler (OnTreeviewRowActivated);
            HeadersVisible = false;
            ShowExpanders = false;

            TreeViewColumn custColumn = new TreeViewColumn ();
            CellRenderer cr = new PlaysCellRenderer ();
            custColumn.PackStart (cr, true);
            custColumn.SetCellDataFunc (cr, RenderElement);

            playsMenu = new PlaysMenu ();
            playsMenu.EditPlayEvent += HandleEditPlayEvent;
            AppendColumn (custColumn);
        }
コード例 #3
0
        public ListTreeViewBase()
        {
            Selection.Mode           = SelectionMode.Multiple;
            Selection.SelectFunction = SelectFunction;
            RowActivated            += new RowActivatedHandler(OnTreeviewRowActivated);
            HeadersVisible           = false;
            ShowExpanders            = false;

            TreeViewColumn custColumn = new TreeViewColumn();
            CellRenderer   cr         = new PlaysCellRenderer();

            custColumn.PackStart(cr, true);
            custColumn.SetCellDataFunc(cr, RenderElement);

            playsMenu = new SportsPlaysMenu();
            playsMenu.EditPlayEvent += HandleEditPlayEvent;
            AppendColumn(custColumn);
        }
コード例 #4
0
        public MusicStoreView(MusicStorePlugin plugin)
        {
            this.plugin = plugin;

            Model         = new ListStore(typeof(MusicStoreTrackInfo));
            RowActivated += new RowActivatedHandler(OnRowActivated);

            CellRendererText renderer_text = new CellRendererText();

            TreeViewColumn type_column = new TreeViewColumn();

            type_column.Title = Catalog.GetString("Artist");
            type_column.PackStart(renderer_text, false);
            type_column.SetCellDataFunc(renderer_text, new TreeCellDataFunc(ArtistCellDataFunc));
            AppendColumn(type_column);

            TreeViewColumn name_column = new TreeViewColumn();

            name_column.Title = Catalog.GetString("Title");
            name_column.PackStart(renderer_text, false);
            name_column.SetCellDataFunc(renderer_text, new TreeCellDataFunc(TitleCellDataFunc));
            AppendColumn(name_column);

            TreeViewColumn album_column = new TreeViewColumn();

            album_column.Title = Catalog.GetString("Album");
            album_column.PackStart(renderer_text, false);
            album_column.SetCellDataFunc(renderer_text, new TreeCellDataFunc(AlbumCellDataFunc));
            AppendColumn(album_column);

            TreeViewColumn time_column = new TreeViewColumn();

            time_column.Title = Catalog.GetString("Time");
            time_column.PackStart(renderer_text, false);
            time_column.SetCellDataFunc(renderer_text, new TreeCellDataFunc(TimeCellDataFunc));
            AppendColumn(time_column);

            TreeViewColumn price_column = new TreeViewColumn();

            price_column.Title = Catalog.GetString("Price");
            price_column.PackStart(renderer_text, false);
            price_column.SetCellDataFunc(renderer_text, new TreeCellDataFunc(PriceCellDataFunc));
            AppendColumn(price_column);
        }
コード例 #5
0
        public MusicStoreView(MusicStorePlugin plugin)
        {
            this.plugin = plugin;

            Model = new ListStore (typeof(MusicStoreTrackInfo));
            RowActivated += new RowActivatedHandler (OnRowActivated);

            CellRendererText renderer_text = new CellRendererText ();

            TreeViewColumn type_column = new TreeViewColumn ();
            type_column.Title = Catalog.GetString ("Artist");
            type_column.PackStart (renderer_text, false);
            type_column.SetCellDataFunc (renderer_text, new TreeCellDataFunc (ArtistCellDataFunc));
            AppendColumn (type_column);

            TreeViewColumn name_column = new TreeViewColumn ();
            name_column.Title = Catalog.GetString ("Title");
            name_column.PackStart (renderer_text, false);
            name_column.SetCellDataFunc (renderer_text, new TreeCellDataFunc (TitleCellDataFunc));
            AppendColumn (name_column);

            TreeViewColumn album_column = new TreeViewColumn ();
            album_column.Title = Catalog.GetString ("Album");
            album_column.PackStart (renderer_text, false);
            album_column.SetCellDataFunc (renderer_text, new TreeCellDataFunc (AlbumCellDataFunc));
            AppendColumn (album_column);

            TreeViewColumn time_column = new TreeViewColumn ();
            time_column.Title = Catalog.GetString ("Time");
            time_column.PackStart (renderer_text, false);
            time_column.SetCellDataFunc (renderer_text, new TreeCellDataFunc (TimeCellDataFunc));
            AppendColumn (time_column);

            TreeViewColumn price_column = new TreeViewColumn ();
            price_column.Title = Catalog.GetString ("Price");
            price_column.PackStart (renderer_text, false);
            price_column.SetCellDataFunc (renderer_text, new TreeCellDataFunc (PriceCellDataFunc));
            AppendColumn (price_column);
        }
コード例 #6
0
ファイル: KeybindingTreeView.cs プロジェクト: codecopy/core-1
        public KeybindingTreeView()
        {
            Model = new ListStore(typeof(string), typeof(string), typeof(string), typeof(KeyBinding));

            CellRendererText actionCell = new CellRendererText();

            actionCell.Width = 175;
            InsertColumn(-1, Catalog.GetString("Action"), actionCell, "text", (int)Column.Action);

            CellRendererAccel bindingCell = new CellRendererAccel();

            bindingCell.AccelMode     = CellRendererAccelMode.Other;
            bindingCell.Editable      = true;
            bindingCell.AccelEdited  += new AccelEditedHandler(OnAccelEdited);
            bindingCell.AccelCleared += new AccelClearedHandler(OnAccelCleared);
            InsertColumn(-1, Catalog.GetString("Shortcut"), bindingCell, "text", (int)Column.BoundKeyString);

            RowActivated     += new RowActivatedHandler(OnRowActivated);
            ButtonPressEvent += new ButtonPressEventHandler(OnButtonPress);

            AddBindings();
            Selection.SelectPath(TreePath.NewFirst());
        }
コード例 #7
0
        public ListTreeViewBase()
        {
            Selection.Mode           = SelectionMode.Multiple;
            Selection.SelectFunction = SelectFunction;
            RowActivated            += new RowActivatedHandler(OnTreeviewRowActivated);
            HeadersVisible           = false;

            SetMenu();
            ProjectIsLive  = false;
            PlayListLoaded = false;

            nameColumn       = new Gtk.TreeViewColumn();
            nameColumn.Title = "Name";
            nameCell         = new Gtk.CellRendererText();
            nameCell.Edited += OnNameCellEdited;
            Gtk.CellRendererPixbuf miniatureCell = new Gtk.CellRendererPixbuf();
            nameColumn.PackStart(nameCell, true);
            nameColumn.PackEnd(miniatureCell, true);

            nameColumn.SetCellDataFunc(miniatureCell, new Gtk.TreeCellDataFunc(RenderMiniature));
            nameColumn.SetCellDataFunc(nameCell, new Gtk.TreeCellDataFunc(RenderName));

            AppendColumn(nameColumn);
        }
コード例 #8
0
        public ListTreeViewBase()
        {
            Selection.Mode = SelectionMode.Multiple;
            Selection.SelectFunction = SelectFunction;
            RowActivated += new RowActivatedHandler(OnTreeviewRowActivated);
            HeadersVisible = false;

            SetMenu();
            ProjectIsLive = false;
            PlayListLoaded = false;

            nameColumn = new Gtk.TreeViewColumn();
            nameColumn.Title = "Name";
            nameCell = new Gtk.CellRendererText();
            nameCell.Edited += OnNameCellEdited;
            Gtk.CellRendererPixbuf miniatureCell = new Gtk.CellRendererPixbuf();
            nameColumn.PackStart(nameCell, true);
            nameColumn.PackEnd(miniatureCell, true);

            nameColumn.SetCellDataFunc(miniatureCell, new Gtk.TreeCellDataFunc(RenderMiniature));
            nameColumn.SetCellDataFunc(nameCell, new Gtk.TreeCellDataFunc(RenderName));

            AppendColumn(nameColumn);
        }
コード例 #9
0
ファイル: ProjectManager.cs プロジェクト: saddam1999/iCode
        public static void LoadProject(string file)
        {
            TreeView  treeView  = Program.WinInstance.ProjectExplorer.TreeView;
            TreeStore treeStore = (TreeStore)Program.WinInstance.ProjectExplorer.TreeView.Model;

            ProjectManager.Project = new Project(file);

            treeStore.Clear();

            CodeWidget.RemoveTab("Welcome to iCode !");

            var e = new RowActivatedHandler((o, args) =>
            {
                TreeIter treeIter;
                treeStore.GetIter(out treeIter, args.Path);

                int type = 0;

                foreach (var @class in _classNodes)
                {
                    if (Equals(treeIter, @class))
                    {
                        type = 1;
                        break;
                    }
                }

                if (type != 1)
                {
                    foreach (var @class in _resourceNodes)
                    {
                        if (Equals(treeIter, @class))
                        {
                            type = 2;
                            break;
                        }
                    }
                }

                switch (type)
                {
                case 1:
                    var code = CodeWidget.AddCodeTab(Path.Combine(Path.GetDirectoryName(file), (string)treeStore.GetValue(treeIter, 1)));
                    CodeWidget.Codewidget.Tabs.Page = CodeWidget.Codewidget.Tabs.PageNum(Extensions.Tabs.First(x => x.Key == (string)treeStore.GetValue(treeIter, 1)).Value);
                    break;

                case 2:
                    Process.Start("gio", "open '" + Path.Combine(Path.GetDirectoryName(file), "Resources", (string)treeStore.GetValue(treeIter, 1)) + "'");
                    break;
                }
            });

            foreach (var row in _handlers)
            {
                treeView.RowActivated -= row;
            }
            _handlers.Clear();

            treeView.RowActivated += e;
            _handlers.Add(e);

            _projectNode = treeStore.AppendValues(new object[]
            {
                Utils.IconLoader.LoadIcon(Program.WinInstance.ProjectExplorer, "gtk-directory", IconSize.Menu),
                ProjectManager.Project.Name
            });

            _resourcesNode = treeStore.AppendValues(_projectNode, new object[]
            {
                Utils.IconLoader.LoadIcon(Program.WinInstance.ProjectExplorer, "gtk-directory", IconSize.Menu),
                "Resources"
            });

            foreach (Class @class in ProjectManager.Project.Classes)
            {
                var node = treeStore.AppendValues(_projectNode,
                                                  Extensions.GetIconFromFile(Path.Combine(Project.Path, @class.Filename)),
                                                  Path.GetFileName(@class.Filename)
                                                  );
                _classNodes.Add(node);
            }

            foreach (string path in Directory.GetFiles(Path.Combine(Path.GetDirectoryName(file), "Resources")))
            {
                var node = treeStore.AppendValues(_resourcesNode,
                                                  Extensions.GetIconFromFile(Path.GetFullPath(path)),
                                                  Path.GetFileName(path)
                                                  );

                _resourceNodes.Add(node);
            }

            var filea = "";

            using (var f = File.Open(Path.Combine(Program.ConfigPath, "RecentProjects"), FileMode.OpenOrCreate))
            {
                var wr      = new StreamWriter(f);
                var re      = new StreamReader(f);
                var content = re.ReadToEnd();
                var lines   = content.Split('\n').ToList();
                if (lines.Count == 4)
                {
                    lines.Remove(lines.First());
                }

                var temp = new List <string>();
                foreach (var line in from l in lines where l == Path.GetDirectoryName(file) select l)
                {
                    temp.Add(line);
                }

                foreach (var temp2 in temp)
                {
                    lines.Remove(temp2);
                }

                lines.Add(Path.GetDirectoryName(file));

                filea = string.Join("\n", lines);
                wr.Dispose();
                re.Dispose();
            }

            foreach (var widget in _sensitiveWidgets)
            {
                widget.Sensitive = ProjectLoaded;
            }

            File.WriteAllText(Path.Combine(Program.ConfigPath, "RecentProjects"), filea);
        }