Exemplo n.º 1
0
 private void buildTree(string p, IList <ReportDTO> res, ObservableCollection <TreeElementViewModel <ReportCommandVM> > tree)
 {
     res.Where(l => l.Path == p).ToList().ForEach(parentElement =>
     {
         var x = new TreeElementViewModel <ReportCommandVM>
         {
             IsExpanded = false,
             Childs     = new ObservableCollection <TreeElementViewModel <ReportCommandVM> >()
         };
         if (parentElement.TypeName == "Report")
         {
             x.Data = new ReportCommandVM(parentElement.Description, new DelegateCommand(
                                              () =>
             {
                 controller.OpenReport(parentElement);
             }
                                              ));
         }
         else
         {
             x.Data = new ReportCommandVM(parentElement.Description, new DelegateCommand(
                                              () =>
             {
             }
                                              ), true);
         }
         buildTree(p + parentElement.Name + "/", res, x.Childs);
         tree.Add(x);
     });
 }
Exemplo n.º 2
0
        private TreeElementViewModel GetElementInHierarchy(TreeElementViewModel root, string[] hierarchyPath)
        {
            var parent = root;

            foreach (var currentPath in hierarchyPath)
            {
                parent = parent.Children.FirstOrDefault(c => c.Name == currentPath)
                         ?? parent.AddChild(new TreeElementViewModel(this, currentPath, TreeElementType.Folder));
            }
            return(parent);
        }
Exemplo n.º 3
0
        private void OnOpenGameModeCommand()
        {
            var selectedPath = PlatformService.ShowSelectFolderDialog();

            if (string.IsNullOrEmpty(selectedPath) || !Directory.Exists(selectedPath))
            {
                return;
            }

            var gameModeModel = GameModeModel.Open(selectedPath);

            Root = new TreeElementViewModel(this, "Root", TreeElementType.Folder);
            var contentElement   = Root.AddChild(new TreeElementViewModel(this, "Content", TreeElementType.Folder));
            var dataElement      = Root.AddChild(new TreeElementViewModel(this, "Data", TreeElementType.Folder));
            var fragmentsElement = Root.AddChild(new TreeElementViewModel(this, "Fragments", TreeElementType.Folder));
            var MapsElement      = Root.AddChild(new TreeElementViewModel(this, "Maps", TreeElementType.Folder));
            var ScriptsElement   = Root.AddChild(new TreeElementViewModel(this, "Scripts", TreeElementType.Folder));

            Root.AddChild(new TreeElementViewModel(this, GameModeModel.GameModeJsonFile, TreeElementType.JsonFile)
            {
                //DetailsViewModel = new GameModeDataViewModel(gameModeModel.GameModeDataModel)
            });

            var texturesElement = contentElement.AddChild(new TreeElementViewModel(this, "Textures", TreeElementType.Folder));

            FillResourcesInHierarchy(texturesElement, gameModeModel.TextureModels, r => new TextureDetailViewModel(r));

            var modelsElement = contentElement.AddChild(new TreeElementViewModel(this, "Models", TreeElementType.Folder));

            FillResourcesInHierarchy(modelsElement, gameModeModel.ModelModels, r => new ModelDetailViewModel(PlatformService, r));

            var movesElement = dataElement.AddChild(new TreeElementViewModel(this, "Moves", TreeElementType.Folder));

            foreach (var move in gameModeModel.MoveModels)
            {
                movesElement.AddChild(new TreeElementViewModel(this, move.Id, TreeElementType.JsonFile)
                {
                    //DetailsViewModel = new MoveDataViewModel(move)
                });
            }

            var pokemonElement = dataElement.AddChild(new TreeElementViewModel(this, "Pokemon", TreeElementType.Folder));

            foreach (var pokemon in gameModeModel.PokemonModels)
            {
                pokemonElement.AddChild(new TreeElementViewModel(this, pokemon.Id, TreeElementType.JsonFile)
                {
                    //DetailsViewModel = new PokemonDataViewModel(pokemon)
                });
            }

            Root.SortChildren();
        }
Exemplo n.º 4
0
 private static void setChildNodes(TreeElementViewModel <T> parent, List <T> elements)
 {
     parent.Childs = new ObservableCollection <TreeElementViewModel <T> >();
     foreach (var element in elements.Where(e => e.ParentId == ((IChildElement)parent.Data).Id))
     {
         var treeElement = new TreeElementViewModel <T> {
             Data = element
         };
         parent.Childs.Add(treeElement);
         setChildNodes(treeElement, elements);
     }
 }
 public override DataTemplate SelectTemplate(object item, DependencyObject container)
 {
     if (item is TreeElementViewModel)
     {
         TreeElementViewModel elem = (TreeElementViewModel)item;
         if (elem.NbLeaves > 0 || elem.Parent == null)
         {
             return(BranchTemplate);
         }
         return(LeafTemplate);
     }
     return(null);
 }
Exemplo n.º 6
0
 private void FillResourcesInHierarchy <TResourceType>(TreeElementViewModel parentElement,
                                                       IEnumerable <TResourceType> resources,
                                                       Func <TResourceType, DetailViewModel> createDetails = null)
     where TResourceType : ResourceModel
 {
     foreach (var resourceModel in resources.OrderBy(t => t.FilePath))
     {
         var parent = GetElementInHierarchy(parentElement, resourceModel.HierarchyPath);
         parent.AddChild(new TreeElementViewModel(this, resourceModel.Name, ResourceTypeToTreeElementType[resourceModel.ResourceType])
         {
             DetailsViewModel = createDetails != null ? createDetails(resourceModel) : null
         });
     }
 }
 protected override BaseLeafTreeElement CreateLeaf(TreeElementViewModel parent, ExecutedCommand item, IEnumerable<CriteriaEnum> criteres)
 {
     return new ExecutedCommandLeaf(parent, criteres, SearchCriteria, LogCategoryEnum.ExecutedCommand, item);
 }
 protected override BaseBranchTreeElement CreateBranch(TreeElementViewModel parent, CriteriaEnum currentCritere, string value, IEnumerable<CriteriaEnum> usedCriteres, LogCategoryEnum category)
 {
     return new ExecutedCommandBranch(parent, usedCriteres, currentCritere, category);
 }
Exemplo n.º 9
0
 public ExpandMenuItem(TreeElementViewModel element)
     : base(element)
 {
 }
Exemplo n.º 10
0
 public CollapseAllMenuItem(TreeElementViewModel element)
     : base(element)
 {
 }