/// <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(); }
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"); */ }
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); }