Beispiel #1
0
        private void Tree_ItemSelected(TreeViewItemVM sender)
        {
            Tab.SetPreview(sender.BitmapSource);

            statusBar = "";
            int size = sender.PersonaFile.GameData.GetSize();

            statusBar = "Size: " + String.Format("0x{0:X8}", size) + " (" + size + ")";
            Notify("StatusBar");
        }
Beispiel #2
0
 private void Tree_ItemAction(TreeViewItemVM sender, UserTreeViewItemEventEnum action)
 {
     if (action == UserTreeViewItemEventEnum.Selected)
     {
         Tree_ItemSelected(sender);
     }
     else if (action == UserTreeViewItemEventEnum.Open)
     {
         Tree_ItemOpen(sender);
     }
 }
        private void Update(GameFile newObject)
        {
            if (newObject.GameData is IGameData item)
            {
                UpdateContextMenu();

                _subItems.Clear();

                var list = item.SubFiles;
                foreach (var a in list)
                {
                    TreeViewItemVM temp = new TreeViewItemVM(a);
                    temp.ItemAction += SubFile_ItemAction;
                    _subItems.Add(temp);
                }
            }
            if (newObject.GameData is IImage image)
            {
                BitmapSource = image.GetBitmap().GetBitmapSource();
            }
        }
        public void SetRoot(GameFile personaFile)
        {
            if (tree.Count > 0)
            {
                if (!tree[0].Close())
                {
                    return;
                }
            }

            tree.Clear();

            TreeViewItemVM item = new TreeViewItemVM(personaFile);

            item.ItemAction += Item_Action;
            tree.Add(item);

            if (personaFile.GameData.Type == FormatEnum.PTP)
            {
                ItemAction(item, UserTreeViewItemEventEnum.Open);
            }
        }
 private void Item_Action(TreeViewItemVM sender, UserTreeViewItemEventEnum action) => ItemAction?.Invoke(sender, action);
Beispiel #6
0
        public bool Open(TreeViewItemVM sender)
        {
            if (!sender.CanEdit())
            {
                MessageBox.Show(String.Format("Can't open {0}", sender.Header));
                return(false);
            }

            object DataContext;
            string Title = sender.PersonaFile.Name;

            switch (sender.PersonaFile.GameData.Type)
            {
            case FormatEnum.SPR:
                DataContext = new SPREditorVM(sender.PersonaFile.GameData as SPR);
                break;

            case FormatEnum.SPD:
                DataContext = new SPDEditorVM(sender.PersonaFile.GameData as SPD);
                break;

            case FormatEnum.PTP:
                DataContext = new PTPEditorVM(sender.PersonaFile.GameData as PTP);
                break;

            case FormatEnum.BMD:
                DataContext = new BMDEditorVM(sender.PersonaFile);
                break;

            case FormatEnum.FTD:
                DataContext = new FTDEditorVM(sender.PersonaFile.GameData as FTD);
                break;

            case FormatEnum.FNT:
                DataContext = new FNTEditorVM(sender.PersonaFile.GameData as FNT);
                break;

            case FormatEnum.FNT0:
                DataContext = new FNT0EditorVM(sender.PersonaFile.GameData as FNT0);
                break;

            case FormatEnum.DAT:
                DataContext = new HEXEditorVM(sender.PersonaFile.GameData as DAT);
                break;

            default:
                return(false);
            }

            ClosableTabItemVM closableTabItemVM = new ClosableTabItemVM();

            closableTabItemVM.DataContext      = DataContext;
            closableTabItemVM.TabTitle         = Title;
            closableTabItemVM.PropertyChanged += ClosableTabItemVM_PropertyChanged;
            closableTabItemVM.PersonaFile      = sender;

            tabCollection.Add(closableTabItemVM);
            SelectedTabIndex = tabCollection.IndexOf(closableTabItemVM);

            sender.UnEnable();
            return(true);
        }
Beispiel #7
0
 private void Tree_ItemSaveAs(TreeViewItemVM sender)
 {
 }
Beispiel #8
0
 private void Tree_ItemOpen(TreeViewItemVM sender)
 {
     MainWindowType = "Single";
     Tab.Open(sender);
 }