void VersionListBox_SelectedIndexChanged(object sender, EventArgs e) { SaveToNewVersionButton.Enabled = false; SaveToSelectedButton.Enabled = false; mTempCondDef = null; mTempEffectDef = null; ConditionDefinition condDef = VersionListBox.SelectedItem as ConditionDefinition; EffectDefinition effDef = VersionListBox.SelectedItem as EffectDefinition; mCurrentCondDef = condDef; mCurrentEffectDef = effDef; TriggerComponentDefinition compDef = VersionListBox.SelectedItem as TriggerComponentDefinition; if (condDef != null) { mTempCondDef = new ConditionDefinition(); condDef.CopyTo(mTempCondDef); ItemPropertyGrid.SelectedObject = mTempCondDef; InVariblesList.ObjectList = mTempCondDef.InParameterDefinitions; OutVariablesList.ObjectList = mTempCondDef.OutParameterDefinitions; ConversionList.ObjectList = mTempCondDef.ParameterConversionOverrides; } if (effDef != null) { mTempEffectDef = new EffectDefinition(); effDef.CopyTo(mTempEffectDef); ItemPropertyGrid.SelectedObject = mTempEffectDef; InVariblesList.ObjectList = mTempEffectDef.InParameterDefinitions; OutVariablesList.ObjectList = mTempEffectDef.OutParameterDefinitions; ConversionList.ObjectList = mTempEffectDef.ParameterConversionOverrides; } if (compDef != null) { int version = compDef.Version; if (version > 1) { TriggerComponentDefinition lastversion = null; foreach (object o in mEntries[compDef.Type]) { TriggerComponentDefinition oldCompDef = o as TriggerComponentDefinition; if (oldCompDef != null) { if (oldCompDef.Version == version - 1) { lastversion = oldCompDef; break; } } } ConversionList.AddMetaDataForProp("ParameterConversionOverride", "OldParameter", "StringIntEnumeration", GetParameterConversionInfo(lastversion)); ConversionList.AddMetaDataForProp("ParameterConversionOverride", "NewParameter", "StringIntEnumeration", GetParameterConversionInfo(compDef)); ConversionList.ObjectList = compDef.ParameterConversionOverrides; } } }
public TriggerDataDefinitionPage() { InitializeComponent(); TriggerSystemMain.Init(); mTriggerDefinitionFilename = CoreGlobals.getWorkPaths().mEditorSettings + "\\triggerDescription.xml"; mTriggerDefinitionDBIDs = CoreGlobals.getWorkPaths().mEditorSettings + "\\triggerDBIDs.xml"; ConditionsListBox.SelectedIndexChanged += new EventHandler(EffectsConditionsListBox_SelectedIndexChanged); EffectsListBox.SelectedIndexChanged += new EventHandler(EffectsListBox_SelectedIndexChanged); VersionListBox.SelectedIndexChanged += new EventHandler(VersionListBox_SelectedIndexChanged); ItemPropertyGrid.AddMetaDataForProp("ConditionDefinition", "Documentation", "Multiline", true); ItemPropertyGrid.AddMetaDataForProp("EffectDefinition", "Documentation", "Multiline", true); ItemPropertyGrid.IgnoreProperties("ConditionDefinition", new string[] { "Type", "InParameterDefinitions", "OutParameterDefinitions", "ParameterConversionOverrides" }); ItemPropertyGrid.IgnoreProperties("EffectDefinition", new string[] { "Type", "InParameterDefinitions", "OutParameterDefinitions", "ParameterConversionOverrides" }); ItemPropertyGrid.AddMetaDataForProps("ConditionDefinition", new string[] { "Version", "DBID", "MaxVarID" }, "ReadOnly", true); ItemPropertyGrid.AddMetaDataForProps("EffectDefinition", new string[] { "Version", "DBID", "MaxVarID" }, "ReadOnly", true); ItemPropertyGrid.AnyPropertyChanged += new ObjectEditorControl.PropertyChanged(On_AnyPropertyChanged); InVariblesList.AddMetaDataForProp("InParameterDefintion", "Type", "SimpleEnumeration", TriggerSystemMain.mTriggerDefinitions.GetTypeNames()); InVariblesList.SetTypeEditor("InParameterDefintion", "Type", typeof(EnumeratedProperty)); InVariblesList.AddMetaDataForProp("InParameterDefintion", "SigID", "ReadOnly", true); InVariblesList.AddMetaDataForProp("InParameterDefintion", "Type", "UpdateEvent", true); InVariblesList.SelectedObjectPropertyChanged += new BasicTypedSuperList.PropertyChanged(InVariblesList_SelectedObjectPropertyChanged); InVariblesList.NewObjectAdded += new BasicTypedSuperList.ObjectChanged(InVariblesList_NewObjectAdded); InVariblesList.mListDataObjectType = typeof(InParameterDefintion); InVariblesList.AutoScroll = true; InVariblesList.AnyObjectPropertyChanged += new BasicTypedSuperList.PropertyChanged(On_AnyPropertyChanged); OutVariablesList.AddMetaDataForProp("OutParameterDefition", "Type", "SimpleEnumeration", TriggerSystemMain.mTriggerDefinitions.GetTypeNames()); OutVariablesList.SetTypeEditor("OutParameterDefition", "Type", typeof(EnumeratedProperty)); OutVariablesList.AddMetaDataForProp("OutParameterDefition", "SigID", "ReadOnly", true); OutVariablesList.AddMetaDataForProp("OutParameterDefition", "Type", "UpdateEvent", true); OutVariablesList.SelectedObjectPropertyChanged += new BasicTypedSuperList.PropertyChanged(OutVariablesList_SelectedObjectPropertyChanged); OutVariablesList.NewObjectAdded += new BasicTypedSuperList.ObjectChanged(OutVariablesList_NewObjectAdded); OutVariablesList.mListDataObjectType = typeof(OutParameterDefition); OutVariablesList.AutoScroll = true; OutVariablesList.AnyObjectPropertyChanged += new BasicTypedSuperList.PropertyChanged(On_AnyPropertyChanged); ConversionList.AutoScroll = true; ConversionList.AddMetaDataForProp("ParameterConversionOverride", "OldParameter", "StringIntEnumeration", new Pair <List <int>, List <string> >()); ConversionList.AddMetaDataForProp("ParameterConversionOverride", "NewParameter", "StringIntEnumeration", new Pair <List <int>, List <string> >()); ConversionList.SetTypeEditor("ParameterConversionOverride", "OldParameter", typeof(EnumeratedProperty)); ConversionList.SetTypeEditor("ParameterConversionOverride", "NewParameter", typeof(EnumeratedProperty)); ConversionList.mListDataObjectType = typeof(ParameterConversionOverride); LoadData(); LoadUI(); UpdateVersionsButton.Visible = false; SaveToNewVersionButton.Enabled = false; SaveToSelectedButton.Enabled = false; this.SaveButton.Visible = false; this.SaveNewNameButton.Click += new EventHandler(SaveNewNameButton_Click); NameTextBox.TextChanged += new EventHandler(NameTextBox_TextChanged); SaveNewNameButton.Enabled = false; //add in the template editor //TemplateVersionControl tvc = new TemplateVersionControl(); //tabPage2.Controls.Add(tvc); //tvc.Dock = DockStyle.Fill; }