/// <summary> /// Saves a session /// </summary> /// <param name="session">The session to save</param> public void SaveSession(Session session) { var folder = _getSessionsFolder(); using (var stream = File.OpenWrite(Path.Combine(folder, session.Name + ".xml"))) { _serializer.Serialize(stream, session); } }
public SessionSettings(Session session) { _session = session; _name = new TextBox(); _name.Bind( tb => tb.Text, _session, sess => sess.Name, DualBindingMode.TwoWay); this.AddRow(new Label() { Text = Constants.SessionNameLabel }, _name); this.AddRow(); }
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(); }
private void _createSessionButtonClicked(object sender, EventArgs e) { var session = this._session; this._session = new Session(); SessionsStore.Instance.SaveSession(session); if (this.SessionCreated != null) this.SessionCreated(this, session); }
private void _pickerSessionChosen(object sender, Session e) { if (SessionChosen != null) SessionChosen(this, e); this.Close(); }
private void _creatorSessionCreated(object sender, Session e) { if (SessionChosen != null) SessionChosen(this, e); this.Close(); }
/// <summary> /// Called when a session is chosen /// </summary> /// <param name="e">The chosen session</param> private void _sessionChosen(object sender, Session e) { Model.Session = e; var options = e.Processes.Select(p => p.CreateOptions()); BACnetSession.Current = new BACnetSession(options); this._bacnet = BACnetSession.Current; this.Title = string.Format(Constants.MainFormTitle, Model.Session.Name); _createUI(); }