Пример #1
0
        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();
        }
Пример #2
0
        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);
        }