Exemple #1
0
        /// <summary>
        /// Default Constructor.
        /// </summary>
        /// <param name="passedFileInfo"></param>
        /// <param name="passedDirectoryInfo"></param>
        /// <param name="passedTreeView"></param>
        /// <param name="passedListView"></param>
        /// <param name="passedHEImageList"></param>
        public DocumentWorkspace(FileInfo passedFileInfo, DirectoryInfo passedDirectoryInfo,
            TreeView passedTreeView, ListView passedListView, EmbeddedImages_ImageList passedHEImageList)
        {
            // Initialise the GameData, SolarSystem and SearchHandler objects.
            if (passedFileInfo == null || passedDirectoryInfo == null
                || !passedFileInfo.Exists || !passedDirectoryInfo.Exists)
                throw new InvalidOperationException("DocumentWorkspace Constructor: A problem occurred with a passed parameter - something doesn't exist.");
            else
            {
                // Create the core objects.
                GameData = new GameData(passedFileInfo, passedDirectoryInfo);
                SolarSystem = new SolarSystem(GameData);
                SearchHandler = new SearchHandler(GameData, SolarSystem);


                // Add the parameters related to the MainForm controls.
                _mainFormTreeView = passedTreeView ?? throw new NullReferenceException("passedTreeView was null.");
                _mainFormListView = passedListView ?? throw new NullReferenceException("passedListView was null.");
                _mainProgramHEImageList = passedHEImageList ?? throw new NullReferenceException("passedHEImageList was null.");

                InitialiseTreeView(_mainFormTreeView, _mainProgramHEImageList.IconImageList);
                InitialiseListView(_mainFormListView, _mainProgramHEImageList.IconImageList);

                IsWorkspaceReady = true;
            }
        }
Exemple #2
0
        /// <summary>
        /// Normal Constructor.
        /// </summary>
        /// <param name="passedSourceNode"></param>
        /// <param name="imageList"></param>
        public JsonDataViewForm(Json_TN passedSourceNode, EmbeddedImages_ImageList imageList) : this()
        {
            // Store a reference to the ImageList
            _imageList = imageList ?? throw new NullReferenceException("passed ImageList was null.");

            SourceNode     = passedSourceNode ?? throw new NullReferenceException("passedSourceNode was null.");
            _formTitleText = passedSourceNode.FullPath;
            Text           = _formTitleText;
            _appliedText   = SourceNode.JData.ToString();


            // Find the parent Json_File.
            Json_File parentFile = HellionExplorerProgram.docCurrent?.GameData.FindOwningFile(SourceNode);

            if (parentFile == HellionExplorerProgram.docCurrent.GameData.SaveFile)
            {
                fastColoredTextBox1.ReadOnly    = false;
                toolStripReadOnlyStatus.Visible = false;
                deserialiseAsYouTypeToolStripMenuItem.Checked = true;
                deserialiseAsYouTypeToolStripMenuItem.Enabled = true;
                applyChangesToolStripMenuItem.Enabled         = true;
            }
            else
            {
                fastColoredTextBox1.ReadOnly = true;
                deserialiseAsYouTypeToolStripMenuItem.Checked = false;
                deserialiseAsYouTypeToolStripMenuItem.Enabled = false;
                toolStripReadOnlyStatus.Visible       = true;
                applyChangesToolStripMenuItem.Enabled = true;
            }


            // Character length limit -  this is a guessed figure!
            if (_appliedText.Length > 25000)
            {
                deserialiseAsYouTypeToolStripMenuItem.Checked = false;
            }

            // Apply the text.
            fastColoredTextBox1.Text = _appliedText;

            // Required as setting the FastColouredTextBox triggers the _isDirty
            IsDirty = false;
        }