public MainWindowController() { GLib.ExceptionManager.UnhandledException += args => { Console.Write(args.ToString()); }; _collection = new Collection(); AudioPlayer audioPlayer = new AudioPlayer(); _filteredTrackListViewController = new FilteredTrackListViewController(_collection, audioPlayer); _sourceTreeViewController = new SourceTreeViewController(_filteredTrackListViewController, _collection); _playerControlPanelController = new PlayerControlPanelController(audioPlayer); _nowPlayingPanelController = new NowPlayingPanelController(audioPlayer, _filteredTrackListViewController); _menuBarController = new MenuBarController(); _window = new MainWindow(); _window.DeleteEvent += (o, args) => Application.Quit(); _window.AddWest(_sourceTreeViewController.View); _window.AddCenter(_filteredTrackListViewController.View); _window.AddEast(_nowPlayingPanelController.View); _window.AddSouth(_playerControlPanelController.View); _window.AddNorth(_menuBarController.View); _window.QueueResize(); _window.ShowAll(); }
public SourceTreeViewController(FilteredTrackListViewController filteredTrackListViewController, Collection collection) { _filteredTrackListViewController = filteredTrackListViewController; _sourceTreeView = new SourceTreeView(); _sourceTreeView.Model = CreateSourceTreeStore(collection); SourceTreeViewColumn sourceColumn = new SourceTreeViewColumn(); SourceCellRenderer sourceCellRenderer = new SourceCellRenderer(); sourceColumn.PackStart(sourceCellRenderer, true); sourceColumn.SetCellDataFunc(sourceCellRenderer, (TreeViewColumn column, CellRenderer cell, TreeModel model, TreeIter iter) => { SourceTreeStoreValue value = (SourceTreeStoreValue)model.GetValue(iter, 0); ((CellRendererText)cell).Text = value.DisplayString; }); _sourceTreeView.AppendColumn(sourceColumn); _sourceTreeView.Selection.Changed += SelectionOnChanged; View = new ScrolledWindow {_sourceTreeView}; View.SetSizeRequest(200, -1); }