public SessionCreator()
{
_session = new Session();
_session.Processes.Add(new PortManagerProcess());
_session.Processes.Add(new RouterProcess());
_session.Processes.Add(new HostProcess());
_session.Processes.Add(new DeviceFinderProcess ());
_session.Processes.Add(new NetworkDatabaseProcess());
var left = new TableLayout(1, 3);
_processesList = new ListBox();
_processesList.Size = new Size(250, -1);
_processesList.DataStore = _session.Processes;
_processesList.SelectedValueChanged += _selectedProcessChanged;
left.Add(_processesList, 0, 0);
_portTypesCombo = new ComboBox();
foreach (var portType in PortType.All())
{
_portTypesCombo.Items.Add(portType);
}
_addPortButton = new Button();
_addPortButton.Text = Constants.AddPortButtonText;
_addPortButton.Click += _addPortButtonClicked;
var newPortLayout = new DynamicLayout();
newPortLayout.Padding = Eto.Drawing.Padding.Empty;
newPortLayout.AddRow(_portTypesCombo, _addPortButton);
left.Add(newPortLayout, 0, 1);
_contentPanel = new Panel();
_contentPanel.Content = new SessionSettings(_session);
_createSessionButton = new Button();
_createSessionButton.Text = Constants.CreateSessionButtonText;
_createSessionButton.Click += _createSessionButtonClicked;
this.BeginVertical(padding:null, xscale: true, yscale: true);
this.AddRow(left, _contentPanel);
this.EndVertical();
this.BeginVertical(padding:null, xscale: true, yscale: false);
this.AddRow(null, _createSessionButton);
this.EndVertical();
}