public void LoadFile(string fileName)
        {
            GLContext.PreviewScale = 1.0f;

            var fileFormat = STFileLoader.OpenFileFormat(fileName);

            //Set filename as workspace tab name
            Name             = System.IO.Path.GetFileName(fileName);
            ActiveFileFormat = fileFormat;

            var wrappers = ObjectWrapperFileLoader.OpenFormat(fileFormat);

            if (wrappers != null)
            {
                Outliner.Nodes.Add(wrappers);
            }

            if (fileFormat is IRenderableFile)
            {
                AddDrawable(fileFormat);
            }

            string dir = System.IO.Path.GetDirectoryName(fileName);

            TryLoadCourseDir(dir);
        }
        public void OpenFileFormat()
        {
            if (!IsFile)
            {
                return;
            }

            var fileFormat = ArchiveFileInfo.OpenFile();

            if (fileFormat == null)
            {
                return;
            }

            this.Tag      = fileFormat;
            ArchiveEditor = "File Editor";

            WorkspaceWindow.ActiveWorkspace.ActiveFileFormat = fileFormat;
            WorkspaceWindow.ActiveWorkspace.AddDrawable(fileFormat);

            var wrapper = ObjectWrapperFileLoader.OpenFormat(fileFormat);

            if (wrapper == null)
            {
                return;
            }

            this.Children.Clear();
            foreach (var node in wrapper.Children)
            {
                this.Children.Add(node);
            }
        }