private void cmbServer_SelectedIndexChanged(object sender, EventArgs e) { if (cmbServer.Text == NEW_SERVER) { // go create a new server ServerForm f = new ServerForm(); if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK) { var sd = new AMPSAddin.ServerDefinition { Name = f.ServerName, URL = f.getURL(), MessageType = f.MessageType }; Globals.AMPSAddin.getWorkbookInfo(_workbook).createOrUpdate(sd); Globals.AMPSAddin.getWorkbookInfo(_workbook).Servers[f.ServerName] = sd; cmbServer.Items.Add(f.ServerName); cmbServer.Text = f.ServerName; } else { cmbServer.SelectedItem = null; cmbServer.Text = null; } } // all topics are gone -- reset them. cmbTopic.Items.Clear(); if (!string.IsNullOrEmpty(cmbServer.Text)) { string url = Globals.AMPSAddin.getWorkbookInfo(_workbook).Servers[cmbServer.Text].URL; beginNewTopicSubscription(url); } updateControls(); }