https://web.archive.org/web/20071011232812/http://weblogs.asp.net/justin_rogers/pages/126345.aspx
From the link above the code to update the TabPage UI control needs to jump on the thread that created it, via a UIInvoke.
ActivationService.cs adds a watcher.
oWatcher = FiddlerApplication.Prefs.AddWatcher(sPrefixToMatch, ExtensionPreferenceChangeNotification);
ExtensionPreferenceChangeNotification:
MenuUI.Instance.UpdateUIControls(); // works just fine.
ContextMenuUI.Instance.UpdateUIControls(); // works just fine.
Office365FiddlerExtensionTabPage.TabPageUIInvoke(Office365FiddlerExtensionTabPage.UIInvoke); // does work.
Office365TabPage.cs has two functions UIInvoke and TabPageUIInvoke which I am still working on.
They fire, but the UI control does not refresh. Extension Enabled and other UI controls checked / enabled status does not change, even though the underlying values have changed.
Using the 'Update Debug Page' button on the control in debug mode is a direct interaction, and the control then refreshes as expected.
The button does these two things:
ExtensionEnabledCheckBox.Checked = extensionSettings.ExtensionSessionProcessingEnabled;
ExtensionSettingsTextbox.Text = Preferences.ExtensionSettings;
https://web.archive.org/web/20071011232812/http://weblogs.asp.net/justin_rogers/pages/126345.aspx
From the link above the code to update the TabPage UI control needs to jump on the thread that created it, via a UIInvoke.
ActivationService.cs adds a watcher.
oWatcher = FiddlerApplication.Prefs.AddWatcher(sPrefixToMatch, ExtensionPreferenceChangeNotification);
ExtensionPreferenceChangeNotification:
MenuUI.Instance.UpdateUIControls(); // works just fine.
ContextMenuUI.Instance.UpdateUIControls(); // works just fine.
Office365FiddlerExtensionTabPage.TabPageUIInvoke(Office365FiddlerExtensionTabPage.UIInvoke); // does work.
Office365TabPage.cs has two functions UIInvoke and TabPageUIInvoke which I am still working on.
They fire, but the UI control does not refresh. Extension Enabled and other UI controls checked / enabled status does not change, even though the underlying values have changed.
Using the 'Update Debug Page' button on the control in debug mode is a direct interaction, and the control then refreshes as expected.
The button does these two things:
ExtensionEnabledCheckBox.Checked = extensionSettings.ExtensionSessionProcessingEnabled;
ExtensionSettingsTextbox.Text = Preferences.ExtensionSettings;