public static void CreateGuiSaveClasses()
        {
            List<SaveClassOptions> optionList = new List<SaveClassOptions>();

            #region Window
            SaveClassOptions options = new SaveClassOptions(typeof(Window));

            options.MembersToExclude.Add("SpriteFrame");
            options.MembersToExclude.Add("CurrentChain");
            //options.MembersToExclude.Add("Parent");
            //options.MembersToExclude.Add("FloatingParent");
            options.MembersToExclude.Add("NextInTabSequence");
            options.MembersToExclude.Add("GuiManagerDrawn");

            // not supported at the time of this writing
            options.MembersToExclude.Add("AnimationSpeed");
            options.MembersToExclude.Add("AnimationChains");
            options.MembersToExclude.Add("CurrentChainIndex");
            options.MembersToExclude.Add("CurrentChainName");
            options.MembersToExclude.Add("CurrentFrameIndex");
            options.MembersToExclude.Add("UseAnimationRelativePosition");
            /////////////////////////////////////////////
            options.MembersToMakeOptional.Add("Visible");

            /////////////////////////////////////////////
            options.MembersToExcludeFromToRuntime.Add("Parent");
            options.MembersToExcludeFromToRuntime.Add("FloatingParent");

            options.NewFieldsInSaveOnly.Add("public static bool ApplyVisible = true;");

            options.NewFieldsInSaveOnly.Add("public static bool ApplyMinimumScales = true;");

            options.UseCommonNamedTypes = true;

            options.MethodCode.Add(
                "FloatingChildren",
                new MethodCode(
                    "List<Window> windowList",
                    "throw new NotImplementedException();"));

            options.MethodCode.Add(
                "Children",
                new MethodCode(
                    "List<Window> windowList",
                    "throw new NotImplementedException();"));

            optionList.Add(options);

            #endregion

            #region CollapseWindow

            SaveClassOptions collapseWindowOptions = new SaveClassOptions(typeof(CollapseWindow));
            optionList.Add(collapseWindowOptions);

            #endregion

            #region Button

            SaveClassOptions buttonOptions = new SaveClassOptions(typeof(Button));
            optionList.Add(buttonOptions);

            #endregion

            #region ListBoxBase

            SaveClassOptions listBoxBaseOptions = new SaveClassOptions(typeof(ListBoxBase));

            listBoxBaseOptions.MembersToExclude.Add("Font");
            listBoxBaseOptions.MembersToExclude.Add("HighlightBar");
            listBoxBaseOptions.MembersToExclude.Add("NextInTabSequence");
            listBoxBaseOptions.MembersToExclude.Add("Items");

            optionList.Add(listBoxBaseOptions);

            #endregion

            #region ListBox

            optionList.Add(new SaveClassOptions(typeof(ListBox)));

            #endregion

            #region CollapseListBox

            optionList.Add(new SaveClassOptions(typeof(CollapseListBox)));

            #endregion

            #region ColorDisplay


            SaveClassOptions colorDisplaySaveClassOptions = new SaveClassOptions(typeof(ColorDisplay));

            colorDisplaySaveClassOptions.MembersToExclude.Add("ValueChanged");
            colorDisplaySaveClassOptions.MembersToExclude.Add("ColorValue");
            optionList.Add(colorDisplaySaveClassOptions);

            #endregion

            #region ComboBox

            SaveClassOptions comboBoxSaveClassOptions = new SaveClassOptions(typeof(ComboBox));

            comboBoxSaveClassOptions.MembersToExclude.Add("SelectedObject");

            optionList.Add(comboBoxSaveClassOptions);

            #endregion

            #region TimeLine

            optionList.Add(new SaveClassOptions(typeof(TimeLine)));

            #endregion

            #region MarkerTimeLine

            SaveClassOptions markerTimeLineSaveClassOptions = new SaveClassOptions(typeof(MarkerTimeLine));

            markerTimeLineSaveClassOptions.MembersToExclude.Add("MarkerClicked");

            optionList.Add(markerTimeLineSaveClassOptions);

            #endregion

            #region ScrollBar

            optionList.Add(new SaveClassOptions(typeof(ScrollBar)));

            #endregion

            #region TextBox

            SaveClassOptions textBoxSaveClassOptions = new SaveClassOptions(typeof(TextBox));
            textBoxSaveClassOptions.MembersToExclude.Add("CursorSprite");
            textBoxSaveClassOptions.MembersToExclude.Add("Font");
            optionList.Add(textBoxSaveClassOptions);

            #endregion

            #region TextDisplay

            optionList.Add(new SaveClassOptions(typeof(TextDisplay)));

            #endregion

            #region ToggleButton

            SaveClassOptions toggleButtonSaveClassOptions = 
                new SaveClassOptions(typeof(ToggleButton));

            toggleButtonSaveClassOptions.MembersToExclude.Add("radioGroup");

            optionList.Add(toggleButtonSaveClassOptions);

            #endregion

            #region UpDown
            SaveClassOptions upDownSaveClassOptions = new SaveClassOptions(typeof(UpDown));
            upDownSaveClassOptions.MembersToExclude.Add("textBox");
            upDownSaveClassOptions.MembersToExclude.Add("UpDownButton");
            optionList.Add(upDownSaveClassOptions);

            #endregion

            #region Vector3Display

            SaveClassOptions vector3DisplaySaveClassOptions = new SaveClassOptions(typeof(Vector3Display));
            vector3DisplaySaveClassOptions.MembersToExclude.Add("ValueChanged");
            vector3DisplaySaveClassOptions.MembersToExclude.Add("AfterValueChanged");
            optionList.Add(vector3DisplaySaveClassOptions);

            #endregion

            // When adding new types, be sure to update the WindowSaveCollection.FromRuntime method!

            foreach (SaveClassOptions sco in optionList)
            {
                sco.Namespace = "FlatRedBall.Content.Gui";
                sco.TypesToNotFullyQualify.Add(typeof(Vector3).FullName);
                sco.TypesToNotFullyQualify.Add(typeof(Vector2).FullName);
                sco.TypesToNotFullyQualify.Add(typeof(Microsoft.Xna.Framework.Graphics.Texture2D).FullName);
            }

            SaveClassCodeGenerator sccg = new SaveClassCodeGenerator();
            bool isTesting = false;
            if (isTesting)
            {
                sccg.CreateSaveClasses(optionList, @"V:\FlatRedBall\Content\GuiTEST");
            }
            else
            {
                sccg.CreateSaveClasses(optionList, @"V:\FlatRedBall\Content\Gui");
            }
        }
        public static void CreateGuiSaveClasses()
        {
            List <SaveClassOptions> optionList = new List <SaveClassOptions>();

            #region Window
            SaveClassOptions options = new SaveClassOptions(typeof(Window));

            options.MembersToExclude.Add("SpriteFrame");
            options.MembersToExclude.Add("CurrentChain");
            //options.MembersToExclude.Add("Parent");
            //options.MembersToExclude.Add("FloatingParent");
            options.MembersToExclude.Add("NextInTabSequence");
            options.MembersToExclude.Add("GuiManagerDrawn");

            // not supported at the time of this writing
            options.MembersToExclude.Add("AnimationSpeed");
            options.MembersToExclude.Add("AnimationChains");
            options.MembersToExclude.Add("CurrentChainIndex");
            options.MembersToExclude.Add("CurrentChainName");
            options.MembersToExclude.Add("CurrentFrameIndex");
            options.MembersToExclude.Add("UseAnimationRelativePosition");
            /////////////////////////////////////////////
            options.MembersToMakeOptional.Add("Visible");

            /////////////////////////////////////////////
            options.MembersToExcludeFromToRuntime.Add("Parent");
            options.MembersToExcludeFromToRuntime.Add("FloatingParent");

            options.NewFieldsInSaveOnly.Add("public static bool ApplyVisible = true;");

            options.NewFieldsInSaveOnly.Add("public static bool ApplyMinimumScales = true;");

            options.UseCommonNamedTypes = true;

            options.MethodCode.Add(
                "FloatingChildren",
                new MethodCode(
                    "List<Window> windowList",
                    "throw new NotImplementedException();"));

            options.MethodCode.Add(
                "Children",
                new MethodCode(
                    "List<Window> windowList",
                    "throw new NotImplementedException();"));

            optionList.Add(options);

            #endregion

            #region CollapseWindow

            SaveClassOptions collapseWindowOptions = new SaveClassOptions(typeof(CollapseWindow));
            optionList.Add(collapseWindowOptions);

            #endregion

            #region Button

            SaveClassOptions buttonOptions = new SaveClassOptions(typeof(Button));
            optionList.Add(buttonOptions);

            #endregion

            #region ListBoxBase

            SaveClassOptions listBoxBaseOptions = new SaveClassOptions(typeof(ListBoxBase));

            listBoxBaseOptions.MembersToExclude.Add("Font");
            listBoxBaseOptions.MembersToExclude.Add("HighlightBar");
            listBoxBaseOptions.MembersToExclude.Add("NextInTabSequence");
            listBoxBaseOptions.MembersToExclude.Add("Items");

            optionList.Add(listBoxBaseOptions);

            #endregion

            #region ListBox

            optionList.Add(new SaveClassOptions(typeof(ListBox)));

            #endregion

            #region CollapseListBox

            optionList.Add(new SaveClassOptions(typeof(CollapseListBox)));

            #endregion

            #region ColorDisplay


            SaveClassOptions colorDisplaySaveClassOptions = new SaveClassOptions(typeof(ColorDisplay));

            colorDisplaySaveClassOptions.MembersToExclude.Add("ValueChanged");
            colorDisplaySaveClassOptions.MembersToExclude.Add("ColorValue");
            optionList.Add(colorDisplaySaveClassOptions);

            #endregion

            #region ComboBox

            SaveClassOptions comboBoxSaveClassOptions = new SaveClassOptions(typeof(ComboBox));

            comboBoxSaveClassOptions.MembersToExclude.Add("SelectedObject");

            optionList.Add(comboBoxSaveClassOptions);

            #endregion

            #region TimeLine

            optionList.Add(new SaveClassOptions(typeof(TimeLine)));

            #endregion

            #region MarkerTimeLine

            SaveClassOptions markerTimeLineSaveClassOptions = new SaveClassOptions(typeof(MarkerTimeLine));

            markerTimeLineSaveClassOptions.MembersToExclude.Add("MarkerClicked");

            optionList.Add(markerTimeLineSaveClassOptions);

            #endregion

            #region ScrollBar

            optionList.Add(new SaveClassOptions(typeof(ScrollBar)));

            #endregion

            #region TextBox

            SaveClassOptions textBoxSaveClassOptions = new SaveClassOptions(typeof(TextBox));
            textBoxSaveClassOptions.MembersToExclude.Add("CursorSprite");
            textBoxSaveClassOptions.MembersToExclude.Add("Font");
            optionList.Add(textBoxSaveClassOptions);

            #endregion

            #region TextDisplay

            optionList.Add(new SaveClassOptions(typeof(TextDisplay)));

            #endregion

            #region ToggleButton

            SaveClassOptions toggleButtonSaveClassOptions =
                new SaveClassOptions(typeof(ToggleButton));

            toggleButtonSaveClassOptions.MembersToExclude.Add("radioGroup");

            optionList.Add(toggleButtonSaveClassOptions);

            #endregion

            #region UpDown
            SaveClassOptions upDownSaveClassOptions = new SaveClassOptions(typeof(UpDown));
            upDownSaveClassOptions.MembersToExclude.Add("textBox");
            upDownSaveClassOptions.MembersToExclude.Add("UpDownButton");
            optionList.Add(upDownSaveClassOptions);

            #endregion

            #region Vector3Display

            SaveClassOptions vector3DisplaySaveClassOptions = new SaveClassOptions(typeof(Vector3Display));
            vector3DisplaySaveClassOptions.MembersToExclude.Add("ValueChanged");
            vector3DisplaySaveClassOptions.MembersToExclude.Add("AfterValueChanged");
            optionList.Add(vector3DisplaySaveClassOptions);

            #endregion

            // When adding new types, be sure to update the WindowSaveCollection.FromRuntime method!

            foreach (SaveClassOptions sco in optionList)
            {
                sco.Namespace = "FlatRedBall.Content.Gui";
                sco.TypesToNotFullyQualify.Add(typeof(Vector3).FullName);
                sco.TypesToNotFullyQualify.Add(typeof(Vector2).FullName);
                sco.TypesToNotFullyQualify.Add(typeof(Microsoft.Xna.Framework.Graphics.Texture2D).FullName);
            }

            SaveClassCodeGenerator sccg = new SaveClassCodeGenerator();
            bool isTesting = false;
            if (isTesting)
            {
                sccg.CreateSaveClasses(optionList, @"V:\FlatRedBall\Content\GuiTEST");
            }
            else
            {
                sccg.CreateSaveClasses(optionList, @"V:\FlatRedBall\Content\Gui");
            }
        }