コード例 #1
0
        public PackageDatabaseTreeViewModel(CompositionContainer container, IEventAggregator eventAggregator, IPackageRepository repository)
        {
            this._eventAggregator = eventAggregator;
            this._rootNodes = new ObservableCollection<PackageTreeNodeViewModel>();
            this._container = container;
            this._contextMenuStyleSelector = new ContextMenuItemStyleSelector();
            this._repository = repository;

            this._eventAggregator.GetEvent<CompositePresentationEvent<PackageDatabaseOpenedEvent>>()
                .Subscribe(PackageDatabaseOpened, ThreadOption.UIThread, true);

            eventAggregator.GetEvent<CompositePresentationEvent<PackageCreatedEvent>>().Subscribe(
             x =>
             {
                 _rootNodes.First().AddChild(new PackageNodeViewModel(x.NewPackage, this, container, _repository));
             }, ThreadOption.UIThread, true);

            eventAggregator.GetEvent<CompositePresentationEvent<AssetCreatedEvent>>().Subscribe(
             x =>
             {
                 var packageNode = _rootNodes.First().Children.Where(node => ((Package)node.Model).Id == x.NewAsset.PackageId).Single();
                 packageNode.AddChild(new AssetNodeViewModel(x.NewAsset, this, container));
             }, ThreadOption.UIThread, true);

            eventAggregator.GetEvent<CompositePresentationEvent<PackageDeletedEvent>>().Subscribe(
             x =>
             {
                 var packageNode = _rootNodes.First().Children.Where(node => ((Package)node.Model).Id == x.PackageId).Single();
                 _rootNodes.First().RemoveChild(packageNode);
             }, ThreadOption.UIThread, true);
        }
コード例 #2
0
 public override void InitializeConfig() {
     lstTextFileTypes.ItemsSource = TextFileTypes = new ObservableCollection<FileTypeEntry>(
             WorkingConfig.tips.TextExt.Select(ext => new FileTypeEntry(this, ext)));
     lstMediaFileTypes.ItemsSource = MediaFileTypes = new ObservableCollection<FileTypeEntry>(
             WorkingConfig.tips.ImageExt.Select(ext => new FileTypeEntry(this, ext)));
     lstTextFileTypes.ScrollIntoView(TextFileTypes.First());
     lstMediaFileTypes.ScrollIntoView(MediaFileTypes.First());
 }
コード例 #3
0
 private void btnResetTextFileTypes_Click(object sender, RoutedEventArgs e) {
     lstTextFileTypes.ItemsSource = TextFileTypes = new ObservableCollection<FileTypeEntry>(
             new Config._Tips().TextExt.Select(ext => new FileTypeEntry(this, ext)));
     lstTextFileTypes.ScrollIntoView(TextFileTypes.First());
 }
コード例 #4
0
 public void Init()
 {
     _Window.cbStation.SelectionChanged += new SelectionChangedEventHandler(cbStation_SelectionChanged);
     StationDA _staDA = new StationDA();
     StationORList = _staDA.selectAllStation();
     if (StationORList != null && StationORList.Count> 0)
     {
         SelectStationOR = StationORList.First();
     }
 }
コード例 #5
0
        private ObservableCollection<ScreenCategoryButton> CreateCategoryButtons(ScreenMenu screenMenu)
        {
            if (screenMenu != null)
            {
                if (MenuItems != null) MenuItems.Clear();

                _currentScreenMenu = screenMenu;
                var result = new ObservableCollection<ScreenCategoryButton>();

                foreach (var category in screenMenu.Categories.OrderBy(x => x.Order).Where(x => !x.MostUsedItemsCategory))
                {
                    var sButton = new ScreenCategoryButton(category, CategoryCommand);
                    result.Add(sButton);
                }

                if (result.Count > 0)
                {
                    var c = result.First();
                    if (_selectedCategory != null)
                        c = result.SingleOrDefault(x => x.Category.Name.ToLower() == _selectedCategory.Name.ToLower());
                    if (c == null && result.Count > 0) c = result.ElementAt(0);
                    if (c != null) OnCategoryCommandExecute(c.Category);
                }

                return result;
            }

            if (MenuItems != null) MenuItems.Clear();
            if (Categories != null) Categories.Clear();
            _currentScreenMenu = null;

            return Categories;
        }
コード例 #6
0
ファイル: MusicViewModel.cs プロジェクト: kostyatab/meridian
        private async Task LoadTracks(CancellationToken token)
        {
            if (SelectedAlbum == null)
                return;

            IsWorking = true;
            OnTaskStarted("audio");

            try
            {
                var response = await DataService.GetUserTracks(0, 0, SelectedAlbum.Id != 0 ? SelectedAlbum.Id : 0);
                if (response.Items != null && response.Items.Count > 0)
                {
                    if (token.IsCancellationRequested)
                    {
                        Debug.WriteLine("Tracks load cancelled");
                        return;
                    }

                    Tracks = new ObservableCollection<Audio>(response.Items);

                    if (AudioService.CurrentAudio == null)
                    {
                        AudioService.SetCurrentPlaylist(Tracks.ToList());
                        AudioService.CurrentAudio = Tracks.First();
                        AudioService.CurrentAudio.IsPlaying = true;
                    }
                }
                else
                {
                    OnTaskError("audio", ErrorResources.LoadAudiosErrorEmpty);
                    Tracks = null;
                }
            }
            catch (Exception ex)
            {
                LoggingService.Log(ex);

                OnTaskError("audio", ErrorResources.LoadAudiosErrorCommon);
            }

            IsWorking = false;
            OnTaskFinished("audio");
        }
コード例 #7
0
 private void LoadKeyTypesList()
 {
     keyTypes = new ObservableCollection<string>();
     keyTypes.Add(MergedResources.Common_All);
     keyTypes.Add(KeyType.Standard.ToString());
     keyTypes.Add(KeyType.MBR.ToString());
     keyTypes.Add(KeyType.MAT.ToString());
     selectedKeyType = keyTypes.First();
 }
コード例 #8
0
 private void LoadKeyRetuernState()
 {
     ReturnStates = new ObservableCollection<string>();
     ReturnStates.Add(ResourcesOfR6.Common_AllReturnedKeys);
     ReturnStates.Add(ResourcesOfR6.Common_ReturnedWithCredit);
     ReturnStates.Add(ResourcesOfR6.Common_ReturnedWithNoCredit);
     SelectReturnState = ReturnStates.First();
 }