public void DisplayForm(AvailableForms form, IFormBacking backingObject)
        {
            Form window = null;

            switch (form)
            {
            case AvailableForms.MainWindow:
                window = new Main((IMainFormBacking)backingObject);
                break;

            case AvailableForms.SiteProperties:
                window = new DialogSiteProperties((ISitePropertiesBacking)backingObject);
                break;

            case AvailableForms.Polling:
                window = new DialogPolling((IPollingBacking)backingObject);
                break;

            case AvailableForms.AgwEngine:
                window = new DialogAGWEngine((IAGWEngineBacking)backingObject);
                break;

            default:
                throw new ArgumentException(string.Format("Invalid form: {0}", form));
            }

            if (form == AvailableForms.MainWindow)
            {
                window.Show();
            }
            else
            {
                window.ShowDialog();
            }
        }
示例#2
0
        public static void RegisterInternal <T>() where T : Form
        {
            var type = typeof(T);

            SandboxExtensionAttribute attr;

            if (type.TryGetAttribute(out attr))
            {
                AvailableForms.Add(new FormInfo {
                    Type = type, Data = attr
                });
            }
            else
            {
                throw new Exception(string.Format("The internal Sandbox extension of type {0} has no SandboxExtensionAttribute.", type.Name));
            }
        }