コード例 #1
0
        /// <summary>
        /// Load fields when editing an item; called from the parent
        /// </summary>
        /// <param name="itemToLoad">The item whose values are to fill the window's fields with</param>
        public void LoadFields(ArchivedItem itemToLoad)
        {
            Textbox_ItemName.Text          = itemToLoad.itemName;
            Textbox_SourcePath.Text        = itemToLoad.sourcePath;
            Textbox_DestinationPath.Text   = itemToLoad.destinationPath;
            Textbox_FileName.Text          = itemToLoad.fileName;
            Textbox_Password.Text          = itemToLoad.password;
            Dropdown_FileType.SelectedItem = itemToLoad.type.ToString();
            Numeric_CompLevel.Value        = itemToLoad.compressionLevel;
            Dropdown_Method.SelectedItem   = itemToLoad.compressionMethod.ToString();

            List_Exclusions.Items.AddRange(itemToLoad.exclusions.ToArray());
            exclusionRecursiveDefinitions = itemToLoad.exclusionRecursiveDefinitions;
        }
コード例 #2
0
            static IReadOnlyList <Tile> CombineTiles(ArchivedItem archivedItem, ArchivedItem secondTileset1)
            {
                var tiles = new List <Tile>();

                {
                    var(tiles1, tiles2) = (new TileCollection(archivedItem).Load(),
                                           new TileCollection(secondTileset1).Load());

                    var newSeoTiles = tiles2.Skip(tiles1.Count).ToArray();
                    {
                        tiles.AddRange(tiles1);
                        tiles.AddRange(newSeoTiles);
                    }
                }

                return(tiles);
            }
コード例 #3
0
        /// <summary>
        /// Constructs and sets up an item editor window
        /// </summary>
        /// <param name="_editingItem">An item to edit, otherwise leave null for item creation</param>
        /// <param name="_parent">The editor's parent window</param>
        public ArchivedItemEditingWindow(ArchivedItem _editingItem, MainWindow _parent)
        {
            InitializeComponent();
            exclusionRecursiveDefinitions = new Dictionary <string, bool>();
            editingItem = _editingItem;
            parent      = _parent;
            if (editingItem == null)
            {
                Textbox_ItemName.Enabled = true;
            }
            else
            {
                Textbox_ItemName.Enabled = false;
            }

            string[] types = Enum.GetNames(typeof(ArchiveType));
            Dropdown_FileType.Items.AddRange(types);
            Dropdown_FileType.DropDownStyle = ComboBoxStyle.DropDownList;

            string[] methods = Enum.GetNames(typeof(CompressionMethod));
            Dropdown_Method.Items.AddRange(methods);
            Dropdown_Method.DropDownStyle = ComboBoxStyle.DropDownList;

            if (editingItem == null)
            {
                Textbox_ItemName.Enabled       = true;
                Dropdown_FileType.SelectedItem = parent.DefaultFileType;
                Dropdown_Method.SelectedItem   = parent.DefaultMethod;
                Numeric_CompLevel.Value        = parent.DefaultLevel;
                Textbox_DestinationPath.Text   = parent.DefaultDestination;
                Textbox_Password.Text          = parent.DefaultPassword;

                if (System.IO.Directory.Exists(parent.DefaultDestination))
                {
                    FolderBrowser.SelectedPath = parent.DefaultDestination;
                }
            }

            else
            {
                Textbox_ItemName.Enabled = false;
            }
        }
コード例 #4
0
        protected void ItemSetUp()
        {
            DraftItem = CreateAndSave();

            ActiveItem = DomainRepository <T> .AddNew();

            ActiveItem.Publish();
            SaveItem(ActiveItem);

            ArchivedItem = DomainRepository <T> .AddNew();

            ArchivedItem.Publish();
            ArchivedItem.Archive();
            SaveItem(ArchivedItem);

            ActiveDeletedItem = DomainRepository <T> .AddNew();

            ActiveDeletedItem.Publish();
            With.Transaction(delegate
            {
                DomainRepository <T> .Delete(ActiveDeletedItem);
            });

            ArchivedDeletedItem = DomainRepository <T> .AddNew();

            ArchivedDeletedItem.Publish();
            ArchivedDeletedItem.Archive();
            With.Transaction(delegate
            {
                DomainRepository <T> .Delete(ArchivedDeletedItem);
            });


            DraftDeletedItem = DomainRepository <T> .AddNew();

            With.Transaction(delegate
            {
                DomainRepository <T> .Delete(DraftDeletedItem);
            });
        }
コード例 #5
0
 /// <summary>
 /// Updates an existing item in the list pane
 /// </summary>
 /// <param name="item">The item being edited</param>
 public void UpdateEditedItem(ArchivedItem item)
 {
     List_ArchivedItems.Items[List_ArchivedItems.Items.IndexOf(item.itemName)] = item.itemName;
 }
コード例 #6
0
 /// <summary>
 /// Creates an item by adding it to the working set and the list pane in the main window
 /// </summary>
 /// <param name="newItem">The new item being created</param>
 public void CreateItem(ArchivedItem newItem)
 {
     archivedItems.Add(newItem.itemName, newItem);
     inverseSearchDict.Add(newItem, newItem.itemName);
     List_ArchivedItems.Items.Add(newItem.itemName);
 }
コード例 #7
0
 public TileCollection(ArchivedItem baseTileSet)
 {
     _baseTileSet = baseTileSet;
 }
コード例 #8
0
        /// <summary>
        /// The exit-with-save button saves an item before closing the item editor as long as there are no errors
        /// </summary>
        private void Button_ExitWithSave_Click(object sender, EventArgs e)
        {
            ErrorType errorType;

            if ((errorType = VerifyRequiredFields(out List <string> invalidItems)) != ErrorType.VALID)
            {
                switch (errorType)
                {
                case ErrorType.DUPLICATE:
                    error = new ErrorPrompt(Errors.ERR_DUPL_ITEMS + string.Join("\n", invalidItems));
                    break;

                case ErrorType.INVALID:
                    error = new ErrorPrompt(Errors.ERR_INVALID_ITEMS + string.Join("\n", invalidItems) + Errors.HINT_INVALID_ITEMS);
                    break;

                case ErrorType.MISSING:
                    error = new ErrorPrompt(Errors.ERR_MISSING_ITEMS + string.Join("\n", invalidItems));
                    break;

                default:
                    break;
                }

                error.ShowDialog();
            }

            else
            {
                if (editingItem == null)
                {
                    ArchivedItem newItem = new ArchivedItem();
                    newItem.itemName        = Textbox_ItemName.Text;
                    newItem.sourcePath      = Textbox_SourcePath.Text;
                    newItem.destinationPath = Textbox_DestinationPath.Text;
                    newItem.fileName        = Textbox_FileName.Text;
                    newItem.password        = Textbox_Password.Text;

                    newItem.exclusions = new List <string>();
                    foreach (object o in List_Exclusions.Items)
                    {
                        newItem.exclusions.Add((string)o);
                    }
                    newItem.exclusionRecursiveDefinitions = exclusionRecursiveDefinitions;

                    newItem.type = (ArchiveType)Enum.Parse(
                        typeof(ArchiveType), Dropdown_FileType.SelectedItem.ToString());
                    newItem.compressionLevel  = (int)Numeric_CompLevel.Value;
                    newItem.compressionMethod = (CompressionMethod)Enum.Parse(
                        typeof(CompressionMethod), Dropdown_Method.SelectedItem.ToString());

                    parent.CreateItem(newItem);
                }

                else
                {
                    editingItem.itemName        = Textbox_ItemName.Text;
                    editingItem.sourcePath      = Textbox_SourcePath.Text;
                    editingItem.destinationPath = Textbox_DestinationPath.Text;
                    editingItem.fileName        = Textbox_FileName.Text;
                    editingItem.password        = Textbox_Password.Text;

                    editingItem.exclusions = new List <string>();
                    foreach (object o in List_Exclusions.Items)
                    {
                        editingItem.exclusions.Add((string)o);
                    }
                    editingItem.exclusionRecursiveDefinitions = exclusionRecursiveDefinitions;

                    editingItem.type = (ArchiveType)Enum.Parse(
                        typeof(ArchiveType), Dropdown_FileType.SelectedItem.ToString());
                    editingItem.compressionLevel  = (int)Numeric_CompLevel.Value;
                    editingItem.compressionMethod = (CompressionMethod)Enum.Parse(
                        typeof(CompressionMethod), Dropdown_Method.SelectedItem.ToString());

                    parent.UpdateEditedItem(editingItem);
                }

                Close();
            }
        }