/// <summary>Initializes a new instance of the <see cref="LevelsViewPresenter"/> class.</summary>
        /// <param name="view">The view.</param>
        /// <param name="msgBoxService">The msg box service.</param>
        /// <param name="fileBrowserService">The file browser service.</param>
        /// <param name="eventAggregator">The event aggregator.</param>
        /// <param name="fileManagerService">The file Manager Service.</param>
        /// <param name="strategyService"></param>
        public LevelsViewPresenter(
            ILevelsView view,
            IMessageBoxService msgBoxService,
            IFileBrowserService fileBrowserService,
            IEventAggregator eventAggregator,
            IFileManagerService fileManagerService,
            IStrategyService strategyService)
        {
            // Wire up our services
            this.msgBoxService = msgBoxService;
            this.fileBrowserService = fileBrowserService;
            this.fileManagerService = fileManagerService;
            this.eventAggregator = eventAggregator;
            this.strategyService = strategyService;

            this.view = view;

            view.ViewLoad += this.LevelsViewOnViewLoad;
            view.SelectionChanged += this.LevelsViewOnSelectionChanged;
            view.LevelDrag += this.OnLevelItemDrag;
            view.LevelDragDrop += this.OnLevelDragDrop;
            view.LevelDragEnter += this.OnLevelDragEnter;

            view.Tree.AllowDrop = true;

            this.eventAggregator.GetEvent<SaveLevelsMessage>().Subscribe(this.OnSaveLevels);
            this.eventAggregator.GetEvent<AddLevelMessage>().Subscribe(this.OnAddLevel);
            this.eventAggregator.GetEvent<RemoveLevelMessage>().Subscribe(this.OnRemoveLevel);
            this.eventAggregator.GetEvent<OpenPartMessage>().Subscribe(this.OnOpenParts);
            this.eventAggregator.GetEvent<SaveStrategyMessage>().Subscribe(this.OnSaveStrategyEvent);
            this.eventAggregator.GetEvent<OpenStrategyMessage>().Subscribe(this.OnLoadStrategyEvent);
            this.eventAggregator.GetEvent<OpenLevelsMessage>().Subscribe(this.OnOpenLevelsEvent);
        }
        /// <summary>Initializes a new instance of the <see cref="LevelsViewPresenter"/> class.</summary>
        /// <param name="view">The levels tree view.</param>
        /// <param name="msgBoxService">The msg box service.</param>
        /// <param name="eventAggregator">The event aggregator.</param>
        public LevelsViewPresenter(ILevelsView view, IMessageBoxService msgBoxService, IEventAggregator eventAggregator)
        {
            this.msgBoxService = msgBoxService;
            this.eventAggregator = eventAggregator;

            this.view = view;

            view.ViewLoad += this.LevelsViewOnViewLoad;
            view.SelectionChanged += this.LevelsViewOnSelectionChanged;
            view.LevelDrag += this.OnLevelItemDrag;
            view.LevelDragDrop += this.OnLevelDragDrop;
            view.LevelDragEnter += this.OnLevelDragEnter;
            view.AfterLabelEdit += this.OnAfterLabelEdit;

            this.eventAggregator.GetEvent<CreateFolderMessage>().Subscribe(this.OnCreateFolderMessage);
        }
Example #3
0
        /// <summary>Initializes a new instance of the <see cref="LevelsViewPresenter"/> class.</summary>
        /// <param name="view">The levels tree view.</param>
        /// <param name="msgBoxService">The msg box service.</param>
        /// <param name="eventAggregator">The event aggregator.</param>
        public LevelsViewPresenter(ILevelsView view, IMessageBoxService msgBoxService, IEventAggregator eventAggregator)
        {
            this.msgBoxService   = msgBoxService;
            this.eventAggregator = eventAggregator;

            this.view = view;

            view.ViewLoad         += this.LevelsViewOnViewLoad;
            view.SelectionChanged += this.LevelsViewOnSelectionChanged;
            view.LevelDrag        += this.OnLevelItemDrag;
            view.LevelDragDrop    += this.OnLevelDragDrop;
            view.LevelDragEnter   += this.OnLevelDragEnter;
            view.AfterLabelEdit   += this.OnAfterLabelEdit;

            this.eventAggregator.GetEvent <CreateFolderMessage>().Subscribe(this.OnCreateFolderMessage);
        }