Exemplo n.º 1
0
        /// <summary>
        /// Loads the files in the Assemblies.env into the TreeView.
        /// </summary>
        /// <param name='files'>
        /// Files.
        /// </param>
        ///
        private void LoadFilesInTreeView(string [] files)
        {
            Gtk.TreeViewColumn   col             = new Gtk.TreeViewColumn();
            Gtk.CellRendererText colAssemblyCell = new Gtk.CellRendererText();

            col.PackStart(colAssemblyCell, true);
            col.AddAttribute(colAssemblyCell, "text", 0);

            if (assemblyTree.GetColumn(0) != null)
            {
                assemblyTree.Columns[0] = col;
            }
            else
            {
                assemblyTree.AppendColumn(col);
            }

            store = assemblyTree.Model as Gtk.TreeStore;
            if (store == null)
            {
                store = new Gtk.TreeStore(typeof(object));
            }

            foreach (string file in files)
            {
                if (File.Exists(file))
                {
                    store.AppendValues(AssemblyDefinition.ReadAssembly(file));
                }
                else
                {
                    ShowMessageGtk(String.Format("File {0} doesn't exits.", file));
                }
            }

            // Add functions managinig the visualization of those assembly definitions
            col.SetCellDataFunc(colAssemblyCell, new Gtk.TreeCellDataFunc(RenderAssemblyDefinition));

            assemblyTree.Model = store;
            assemblyTree.ShowAll();
        }
Exemplo n.º 2
0
        void IPlugin.Init(object context)
        {
            mainApp    = context as ISolidIDE;
            mainWindow = mainApp.GetMainWindow();
            DockFrame frame = mainWindow.DockFrame;

            // Tree View
            treeView = new Gtk.TreeView();
            Gtk.TreeViewColumn   col             = new Gtk.TreeViewColumn();
            Gtk.CellRendererText colAssemblyCell = new Gtk.CellRendererText();
            col.PackStart(colAssemblyCell, true);
            col.AddAttribute(colAssemblyCell, "text", 0);
            if (treeView.GetColumn(0) != null)
            {
                treeView.Columns[0] = col;
            }
            else
            {
                treeView.AppendColumn(col);
            }
            treeView.Model         = new Gtk.TreeStore(typeof(string));
            treeView.Model         = homeSubFolders(Environment.GetFolderPath(Environment.SpecialFolder.Personal));
            treeView.RowActivated += HandleRowActivated;

            Gtk.ScrolledWindow treeViewScrollWindow = new Gtk.ScrolledWindow();
            Gtk.Viewport       treeViewViewport     = new Gtk.Viewport();
            treeViewScrollWindow.Add(treeViewViewport);
            treeViewViewport.Add(treeView);
            treeViewScrollWindow.ShowAll();

            DockItem treeViewDock = frame.AddItem("TreeViewDock");

            treeViewDock.Behavior       = DockItemBehavior.Normal;
            treeViewDock.Expand         = true;
            treeViewDock.DrawFrame      = true;
            treeViewDock.Label          = "Files";
            treeViewDock.Content        = treeViewScrollWindow;
            treeViewDock.DefaultVisible = true;
            treeViewDock.Visible        = true;

            // Text Editor Notebook
            noteBook = new Gtk.Notebook();

            Gtk.ScrolledWindow textEditorScrollWindow = new Gtk.ScrolledWindow();
            Gtk.Viewport       textEditorViewport     = new Gtk.Viewport();
            textEditorScrollWindow.Add(textEditorViewport);
            textEditorViewport.Add(noteBook);
            textEditorScrollWindow.ShowAll();

            DockItem textEditorDock = frame.AddItem("TextEditorDock");

            textEditorDock.Behavior       = DockItemBehavior.Normal;
            textEditorDock.Expand         = true;
            textEditorDock.DrawFrame      = true;
            textEditorDock.Label          = "Text Editor";
            textEditorDock.Content        = textEditorScrollWindow;
            textEditorDock.DefaultVisible = true;
            textEditorDock.Visible        = true;

            // Menu
            var fileMenuItem = mainApp.GetMenuItem <Gtk.ImageMenuItem>("File");
            var saveMenuItem = mainApp.GetMenuItem <Gtk.ImageMenuItem>("File", "Save");

            saveMenuItem.Activated += HandleSaveActivated;
            var closeMenuItem = mainApp.GetMenuItem <Gtk.ImageMenuItem>("File", "Close");

            closeMenuItem.Activated += HandleCloseActivated;
            var exitMenuItem = mainApp.GetMenuItem <Gtk.ImageMenuItem>("File", "Exit");

            exitMenuItem.Activated += HandleExitActivated;

            /*
             * mainApp.GetMenuItem<Gtk.SeparatorMenuItem>("View", "");
             * mainApp.GetMenuItem<Gtk.CheckMenuItem>("View", "CheckTest1");
             * mainApp.GetMenuItem<Gtk.CheckMenuItem>("View", "CheckTest2");
             * //mainApp.GetMenuItem<Gtk.RadioMenuItem>("View", "RadioTest1");
             * //mainApp.GetMenuItem<Gtk.RadioMenuItem>("View", "RadioTest2");
             * //mainApp.GetMenuItem<Gtk.RadioMenuItem>("View", "RadioTest3");
             */
        }
Exemplo n.º 3
0
        void IPlugin.Init(object context)
        {
            ISampleTool SampleTool = context as ISampleTool;
            DockFrame   frame      = SampleTool.GetMainWindow().DockFrame;

            Gtk.ScrolledWindow treeViewScrollWindow = new Gtk.ScrolledWindow();
            Gtk.Viewport       treeViewViewport     = new Gtk.Viewport();
            treeViewScrollWindow.Add(treeViewViewport);
            treeViewViewport.Add(treeView);
            treeViewScrollWindow.ShowAll();

            Gtk.ScrolledWindow textEditorScrollWindow = new Gtk.ScrolledWindow();
            Gtk.Viewport       textEditorViewport     = new Gtk.Viewport();
            textEditorScrollWindow.Add(textEditorViewport);
            textEditorViewport.Add(nb);
            textEditorScrollWindow.ShowAll();

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

            col.PackStart(colAssemblyCell, true);
            col.AddAttribute(colAssemblyCell, "text", 0);

            if (treeView.GetColumn(0) != null)
            {
                treeView.Columns[0] = col;
            }
            else
            {
                treeView.AppendColumn(col);
            }

            treeView.Model = new Gtk.TreeStore(typeof(string));

            treeView.Model         = homeSubFolders(Environment.GetFolderPath(Environment.SpecialFolder.Personal));
            treeView.RowActivated += HandleRowActivated;

            DockItem treeViewDock = frame.AddItem("TreeViewDock");

            treeViewDock.Behavior       = DockItemBehavior.Normal;
            treeViewDock.Expand         = true;
            treeViewDock.DrawFrame      = true;
            treeViewDock.Label          = "Files";
            treeViewDock.Content        = treeViewScrollWindow;
            treeViewDock.DefaultVisible = true;
            treeViewDock.Visible        = true;

            DockItem textEditorDock = frame.AddItem("TextEditorDock");

            textEditorDock.Behavior       = DockItemBehavior.Normal;
            textEditorDock.Expand         = true;
            textEditorDock.DrawFrame      = true;
            textEditorDock.Label          = "Text Editor";
            textEditorDock.Content        = textEditorScrollWindow;
            textEditorDock.DefaultVisible = true;
            textEditorDock.Visible        = true;

            Gtk.MenuBar  mainMenuBar = SampleTool.GetMainMenu();
            Gtk.MenuItem fileMenu    = null;
            // Find the File menu if present
            foreach (Gtk.Widget w in mainMenuBar.Children)
            {
                if (w.Name == "FileAction")
                {
                    fileMenu = w as Gtk.MenuItem;
                }
            }

            // If not present - create it
            if (fileMenu == null)
            {
                Gtk.Menu menu = new Gtk.Menu();
                fileMenu         = new Gtk.MenuItem("File");
                fileMenu.Submenu = menu;
                mainMenuBar.Append(fileMenu);
            }

            // Setting up the Close menu item in File
            Gtk.MenuItem close = new Gtk.MenuItem("Close");
            close.Activated += HandleActivated;
            (fileMenu.Submenu as Gtk.Menu).Prepend(close);

            // Setting up the Save menu item in File
            Gtk.MenuItem save = new Gtk.MenuItem("Save");
            save.Activated += HandleSaveActivated;
            (fileMenu.Submenu as Gtk.Menu).Prepend(save);
        }