The values for all options are stored in the HTMLPrintToolSettings class for both clients. The settings dialog has to be implemented separately for Web and Windows Forms. Each implementation is registered in the client specific AddIn.
The Windows Forms Dialog
registrar.Register(
typeof(Form),
typeof(HTMLPrintToolSettings),
typeof(HtmlPrintToolSettingsDialog));
The HtmlPrintToolSettingsDialog class keeps an HTMLPrintToolSettings instance. It is filled in when clicking the OK button.
The Web Forms Dialog
registrar.Register(
typeof(PromptControl),
typeof(HTMLPrintToolSettings),
typeof(HTMLPrintToolSettingsWebPromptControl));
The HTMLPrintToolSettingsWebPromptControl is a CustomWizardPromptControl. AddPage is used to add the only page in this wizard, a CustomWizardPromptControlPage. It overrides OnGetContentsCore to render the HTML form. In OnLeavePageCore the results from the form is retrieved and copied to the HTMLPrintToolSettings. The OnValidatePromptCore always returns true since there is no need to validate the values.