public Dialog_StoryTellerComponentDialog(IsValid isValid)
        {
            this.forcePause = true;
            this.doCloseX   = true;
            this.absorbInputAroundWindow = true;
            this.closeOnAccept           = false;
            this.closeOnClickedOutside   = true;

            this.isValid   = isValid;
            this.compInput = new EnumInputWidget <Dialog_StoryTellerComponentDialog, StoryTellerCompPropertyTypes>(
                this, "Component", 100, d =>
            {
                if (d.comp != null)
                {
                    return(StorytellerCompPropertiesStats.GetType(d.comp.compClass.Name));
                }
                return(StoryTellerCompPropertyTypes.None);
            }, (d, v) =>
            {
                this.comp = StorytellerCompPropertiesStats.CreateStorytellerCompProperties(v);
                if (this.comp != null)
                {
                    this.categoryInput = null;
                    this.incidentInput = null;
                    if (StorytellerCompPropertiesStats.HasCategory(d.comp))
                    {
                        CreateCategoryInput();
                    }
                    if (StorytellerCompPropertiesStats.HasIncident(d.comp))
                    {
                        CreateIncidentInput();
                    }
                }
            });
        }