public SearchResultWidget() { var vbox = new VBox(); var toolbar = new Toolbar() { Orientation = Orientation.Vertical, IconSize = IconSize.Menu, ToolbarStyle = ToolbarStyle.Icons, }; this.PackStart(vbox, true, true, 0); this.PackStart(toolbar, false, false, 0); labelStatus = new Label() { Xalign = 0, Justify = Justification.Left, }; var hpaned = new HPaned(); vbox.PackStart(hpaned, true, true, 0); vbox.PackStart(labelStatus, false, false, 0); var resultsScroll = new CompactScrolledWindow(); hpaned.Pack1(resultsScroll, true, true); scrolledwindowLogView = new CompactScrolledWindow(); hpaned.Pack2(scrolledwindowLogView, true, true); textviewLog = new TextView() { Editable = false, }; scrolledwindowLogView.Add(textviewLog); store = new ListStore(typeof(SearchResult), typeof(bool) // didRead ); treeviewSearchResults = new PadTreeView() { Model = store, HeadersClickable = true, RulesHint = true, }; treeviewSearchResults.Selection.Mode = Gtk.SelectionMode.Multiple; resultsScroll.Add(treeviewSearchResults); var projectColumn = new TreeViewColumn { Resizable = true, SortColumnId = 1, Title = GettextCatalog.GetString("Project"), Sizing = TreeViewColumnSizing.Fixed, FixedWidth = 100 }; var projectPixbufRenderer = new CellRendererImage(); projectColumn.PackStart(projectPixbufRenderer, false); projectColumn.SetCellDataFunc(projectPixbufRenderer, ResultProjectIconDataFunc); var renderer = treeviewSearchResults.TextRenderer; renderer.Ellipsize = Pango.EllipsizeMode.End; projectColumn.PackStart(renderer, true); projectColumn.SetCellDataFunc(renderer, ResultProjectDataFunc); treeviewSearchResults.AppendColumn(projectColumn); var fileNameColumn = new TreeViewColumn { Resizable = true, SortColumnId = 2, Title = GettextCatalog.GetString("File"), Sizing = TreeViewColumnSizing.Fixed, FixedWidth = 200 }; var fileNamePixbufRenderer = new CellRendererImage(); fileNameColumn.PackStart(fileNamePixbufRenderer, false); fileNameColumn.SetCellDataFunc(fileNamePixbufRenderer, FileIconDataFunc); fileNameColumn.PackStart(renderer, true); fileNameColumn.SetCellDataFunc(renderer, FileNameDataFunc); treeviewSearchResults.AppendColumn(fileNameColumn); TreeViewColumn textColumn = treeviewSearchResults.AppendColumn(GettextCatalog.GetString("Text"), renderer, ResultTextDataFunc); textColumn.Resizable = true; textColumn.Sizing = TreeViewColumnSizing.Fixed; textColumn.FixedWidth = 300; pathColumn = treeviewSearchResults.AppendColumn(GettextCatalog.GetString("Path"), renderer, ResultPathDataFunc); pathColumn.SortColumnId = 3; pathColumn.Resizable = true; pathColumn.Sizing = TreeViewColumnSizing.Fixed; pathColumn.FixedWidth = 500; store.DefaultSortFunc = DefaultSortFunc; store.SetSortFunc(1, CompareProjectFileNames); store.SetSortFunc(2, CompareFileNames); store.SetSortFunc(3, CompareFilePaths); treeviewSearchResults.RowActivated += TreeviewSearchResultsRowActivated; buttonStop = new ToolButton(new ImageView(Gui.Stock.Stop, Gtk.IconSize.Menu), null) { Sensitive = false }; buttonStop.Clicked += ButtonStopClicked; buttonStop.TooltipText = GettextCatalog.GetString("Stop"); toolbar.Insert(buttonStop, -1); var buttonClear = new ToolButton(new ImageView(Gui.Stock.Clear, Gtk.IconSize.Menu), null); buttonClear.Clicked += ButtonClearClicked; buttonClear.TooltipText = GettextCatalog.GetString("Clear results"); toolbar.Insert(buttonClear, -1); var buttonOutput = new ToggleToolButton(); buttonOutput.IconWidget = new ImageView(Gui.Stock.OutputIcon, Gtk.IconSize.Menu); buttonOutput.Clicked += ButtonOutputClicked; buttonOutput.TooltipText = GettextCatalog.GetString("Show output"); toolbar.Insert(buttonOutput, -1); buttonPin = new ToggleToolButton(); buttonPin.IconWidget = new ImageView(Gui.Stock.PinUp, Gtk.IconSize.Menu); buttonPin.Clicked += ButtonPinClicked; buttonPin.TooltipText = GettextCatalog.GetString("Pin results pad"); toolbar.Insert(buttonPin, -1); // store.SetSortColumnId (3, SortType.Ascending); ShowAll(); scrolledwindowLogView.Hide(); treeviewSearchResults.FixedHeightMode = true; UpdateStyles(); IdeApp.Preferences.ColorScheme.Changed += UpdateStyles; }
public SearchResultWidget() { var vbox = new VBox(); var toolbar = new Toolbar() { Orientation = Orientation.Vertical, IconSize = IconSize.Menu, ToolbarStyle = ToolbarStyle.Icons, }; this.PackStart(vbox, true, true, 0); this.PackStart(toolbar, false, false, 0); labelStatus = new Label() { Xalign = 0, Justify = Justification.Left, }; var hpaned = new HPaned(); vbox.PackStart(hpaned, true, true, 0); vbox.PackStart(labelStatus, false, false, 0); var resultsScroll = new CompactScrolledWindow(); hpaned.Pack1(resultsScroll, true, true); scrolledwindowLogView = new CompactScrolledWindow(); hpaned.Pack2(scrolledwindowLogView, true, true); textviewLog = new TextView() { Editable = false, }; scrolledwindowLogView.Add(textviewLog); store = new ListStore(typeof(SearchResult), typeof(bool) // didRead ); treeviewSearchResults = new PadTreeView() { Model = store, HeadersClickable = true, RulesHint = true, }; treeviewSearchResults.Selection.Mode = Gtk.SelectionMode.Multiple; resultsScroll.Add(treeviewSearchResults); this.ShowAll(); var fileNameColumn = new TreeViewColumn { Resizable = false, SortColumnId = 0, Title = GettextCatalog.GetString("File") }; fileNameColumn.FixedWidth = 200; var fileNamePixbufRenderer = new CellRendererPixbuf(); fileNameColumn.PackStart(fileNamePixbufRenderer, false); fileNameColumn.SetCellDataFunc(fileNamePixbufRenderer, FileIconDataFunc); fileNameColumn.PackStart(treeviewSearchResults.TextRenderer, true); fileNameColumn.SetCellDataFunc(treeviewSearchResults.TextRenderer, FileNameDataFunc); treeviewSearchResults.AppendColumn(fileNameColumn); // TreeViewColumn lineColumn = treeviewSearchResults.AppendColumn (GettextCatalog.GetString ("Line"), new CellRendererText (), ResultLineDataFunc); // lineColumn.SortColumnId = 1; // lineColumn.FixedWidth = 50; // TreeViewColumn textColumn = treeviewSearchResults.AppendColumn(GettextCatalog.GetString("Text"), treeviewSearchResults.TextRenderer, ResultTextDataFunc); textColumn.SortColumnId = 2; textColumn.Resizable = false; textColumn.FixedWidth = 300; TreeViewColumn pathColumn = treeviewSearchResults.AppendColumn(GettextCatalog.GetString("Path"), treeviewSearchResults.TextRenderer, ResultPathDataFunc); pathColumn.SortColumnId = 3; pathColumn.Resizable = false; pathColumn.FixedWidth = 500; store.SetSortFunc(0, CompareFileNames); // store.SetSortFunc (1, CompareLineNumbers); store.SetSortFunc(3, CompareFilePaths); treeviewSearchResults.RowActivated += TreeviewSearchResultsRowActivated; buttonStop = new ToolButton(Stock.Stop) { Sensitive = false }; buttonStop.Clicked += ButtonStopClicked; buttonStop.TooltipText = GettextCatalog.GetString("Stop"); toolbar.Insert(buttonStop, -1); var buttonClear = new ToolButton(Gtk.Stock.Clear); buttonClear.Clicked += ButtonClearClicked; buttonClear.TooltipText = GettextCatalog.GetString("Clear results"); toolbar.Insert(buttonClear, -1); var buttonOutput = new ToggleToolButton(Gui.Stock.OutputIcon); buttonOutput.Clicked += ButtonOutputClicked; buttonOutput.TooltipText = GettextCatalog.GetString("Show output"); toolbar.Insert(buttonOutput, -1); buttonPin = new ToggleToolButton(Gui.Stock.PinUp); buttonPin.Clicked += ButtonPinClicked; buttonPin.TooltipText = GettextCatalog.GetString("Pin results pad"); toolbar.Insert(buttonPin, -1); store.SetSortColumnId(3, SortType.Ascending); ShowAll(); scrolledwindowLogView.Hide(); }
private void RenderRecommendationData(string artist, XmlNodeList artistsXmlList, XmlNodeList tracksXmlList, XmlNodeList albumsXmlList) { // Wipe the old recommendations here, we keep them around in case // where the the artist is the same as the last song. similar_artists_view.ClearWidgets(); foreach (Widget child in tracks_items_box.Children) { tracks_items_box.Remove(child); } foreach (Widget child in albums_items_box.Children) { albums_items_box.Remove(child); } // Display recommendations and artist information current_artist = artist; tracks_header.Markup = "<b>" + String.Format(Catalog.GetString("Top Tracks by {0}"), GLib.Markup.EscapeText(artist)) + "</b>"; albums_header.Markup = "<b>" + String.Format(Catalog.GetString("Top Albums by {0}"), GLib.Markup.EscapeText(artist)) + "</b>"; artists_widgets_list.Clear(); ShowAll(); if (artistsXmlList != null && artistsXmlList.Count > 0) { for (int i = 0; i < artistsXmlList.Count && i < NUM_MAX_ARTISTS; i++) { artists_widgets_list.Add(RenderSimilarArtist(artistsXmlList[i])); } RenderSimilarArtists(); no_artists_pane.Hide(); similar_artists_view_sw.ShowAll(); } else { similar_artists_view_sw.Hide(); no_artists_pane.ShowAll(); } if (tracksXmlList != null) { for (int i = 0; i < tracksXmlList.Count && i < NUM_TRACKS; i++) { tracks_items_box.PackStart(RenderTrack(tracksXmlList[i], i + 1), false, true, 0); } tracks_items_box.ShowAll(); } if (albumsXmlList != null) { for (int i = 0; i < albumsXmlList.Count && i < NUM_ALBUMS; i++) { albums_items_box.PackStart(RenderAlbum(albumsXmlList[i], i + 1), false, true, 0); } albums_items_box.ShowAll(); } }