StonehearthEditor.FilePreview.Dispose C# (CSharp) Method

Dispose() protected method

Clean up any resources being used.
protected Dispose ( bool disposing ) : void
disposing bool true if managed resources should be disposed; otherwise, false.
return void
      protected override void Dispose(bool disposing)
      {
         if (disposing && (components != null))
         {
            components.Dispose();
         }
         base.Dispose(disposing);
      }

Usage Example

Exemplo n.º 1
0
        private void UpdateSelectedNodeInfo(GameMasterNode node)
        {
            if (mSelectedNode == node)
            {
                return;
            }

            mSelectedNode = node;

            if (mNodePreview != null)
            {
                if (!mNodePreview.TrySetFileDataFromTextbox())
                {
                    // Don't allow switching nodes if the file is invalid.
                    // This is terrible, but since we currently don't allow writing out invalid JSON,
                    // switching away could cause data loss.
                    return;
                }

                editorInfoSplitter.Panel1.Controls.Remove(mNodePreview);
                mNodePreview.Dispose();
                mNodePreview = null;
            }

            if (node != null)
            {
                // Add a text editor.
                mNodePreview      = new FilePreview(this, node.FileData);
                mNodePreview.Dock = DockStyle.Fill;
                editorInfoSplitter.Panel1.Controls.Add(mNodePreview);
                UpdateValidationSchema();
                mNodePreview.OnModifiedChanged += (bool isModified) =>
                {
                    if (mSelectedNode?.FileData == mNodePreview.FileData)
                    {
                        mSelectedNode.IsModified = isModified;
                        mSelectedNode.NodeData.UpdateGraphNode(mSelectedDNode.DrawingNode);
                        graphViewer.Invalidate(mSelectedDNode);
                    }
                };

                // Add some extra labels to the text editor toolbar.
                var nodeNameLabel = mNodePreview.toolStrip.Items.Add(node.Name + (node.NodeType == GameMasterNodeType.ENCOUNTER ? (" (" + ((EncounterNodeData)node.NodeData).EncounterType + ")") : ""));
                nodeNameLabel.Margin  = new Padding(24, 0, 0, 0);
                nodeNameLabel.Enabled = false;
                var nodePathLabel = mNodePreview.toolStrip.Items.Add(node.Path);
                nodePathLabel.Enabled   = false;
                nodePathLabel.Alignment = ToolStripItemAlignment.Right;

                // Set up the details panel.
                PopulateFileDetails(node);
                editorInfoSplitter.Panel2Collapsed = fileDetailsListBox.Items.Count == 0;
            }
            else
            {
                PopulateFileDetails(null);
                editorInfoSplitter.Panel2Collapsed = true;
            }
        }