public static Mode GroupsBuilder(UltraExplorerBar exBar) { var startMode = new Mode(); exBar.Groups.Clear(); var modeGroup = new UltraExplorerBarGroup() {Text = "Modes"}; var modes = DataHelper.GetModes(); var modeCnt = 0; foreach (var mode in modes) { if(modeCnt++ == 0) { startMode.ModeID = mode.ModeID; startMode.ModeName = mode.ModeName; } var modeItem = modeGroup.Items.Add("M" + mode.ModeID.ToString(), mode.ModeName); modeItem.Tag = mode.ModeID; } exBar.Groups.Add(modeGroup); var stateGroup = new UltraExplorerBarGroup() {Text = "States"}; var states = DataHelper.GetStates(); foreach (var state in states) { var stateItem = stateGroup.Items.Add("S" + state.StateID.ToString(), state.StateName); stateItem.Tag = state.StateID; } exBar.Groups.Add(stateGroup); var eventGroup = new UltraExplorerBarGroup() {Text = "Events"}; var events = DataHelper.GetEvents(); foreach (var myEvent in events) { var eventItem = eventGroup.Items.Add("S" + myEvent.EventID.ToString(), myEvent.EventName); eventItem.Tag = myEvent.EventID; } exBar.Groups.Add(eventGroup); var functionGroup = new UltraExplorerBarGroup() { Text = "Functions" }; var functionList = FSMFunctionLoader.GetFunctionList(); var functions = DataHelper.GetFunctions(functionList); foreach (var function in functions) { var functionItem = functionGroup.Items.Add("S" + function.FunctionID.ToString(), function.FunctionName); functionItem.Tag = function.FunctionID; } exBar.Groups.Add(functionGroup); return startMode; }
public frmFSMManager() { InitializeComponent(); _viewMode = ExplorerHelper.GroupsBuilder(exbarGroups); exbarGroups.Groups.CollapseAll(); if(_viewMode != null) { LoadTransitionGrid(_viewMode); } }
private Transition DefaultTransition(Event myEvent, State state, Mode mode) { var transition = new Transition(); transition.TranistionID = 0; transition.Event = myEvent; transition.Mode = mode; transition.State = state; transition.NextStateID = 0; // This will fail in the future transition.NextStateReturnMax = 0; transition.TransitionName = "Ignored"; transition.Description = "This Event/State has no Transition defined"; return transition; }
public bool CheckModeAssociation(Mode mode, string groupName, int itemID) { var returnCode = false; switch (groupName) { case "States": returnCode = CreateStateAssociation(mode, itemID); break; case "Events": returnCode = CreateEventAssociation(mode, itemID); break; } return returnCode; }
private bool CreateStateAssociation(Mode mode, int itemID) { var returnCode = false; var association = (from ModeState ms in _db.ModeStates where ms.ModeID == mode.ModeID && ms.StateID == itemID select ms).FirstOrDefault(); // If not found, then we create it if(association == null) { returnCode = true; association = new ModeState(); association.ModeID = mode.ModeID; association.StateID = itemID; _db.ModeStates.AddObject(association); SaveChanges(); } return returnCode; }
private static DataTable BuildTransitionTable(Mode mode) { var newTable = new DataTable("Transitions"); var states = DataHelper.GetModeStates(mode.ModeID); var eventColumn = new DataColumn("Events", typeof(string)); eventColumn.Caption = "EVENTS"; newTable.Columns.Add(eventColumn); foreach (var state in states) { var column = new DataColumn(state.StateName, typeof (object)); column.Caption = state.StateName; column.ExtendedProperties.Add("StateID", state.StateID); newTable.Columns.Add(column); } var events = DataHelper.GetModeEvents(mode.ModeID); foreach (var @event in events) { var row = newTable.Rows.Add(); foreach (DataColumn column in newTable.Columns) { if(column.ColumnName == "Events") { row[column] = @event.EventName; } else { row[column] = GetTransitionEntry(@event.EventID,int.Parse(column.ExtendedProperties["StateID"].ToString()), mode.ModeID); } } } return newTable; }
// When an item is double clicked, it's associated editor is openned modally private void exbarGroups_ItemDoubleClick(object sender, Infragistics.Win.UltraWinExplorerBar.ItemEventArgs e) { if(e.Item.Group.Text == "Modes") { // This is mode change request if(e.Item.Text == _viewMode.ModeName) { return; } else { _viewMode = DataHelper.GetMode(e.Item.Text); LoadTransitionGrid(_viewMode); } } else // This is request to add state or event to current mode { if(DataHelper.AddModeAssociation(_viewMode, e.Item.Group.Text, (int)e.Item.Tag)) { LoadTransitionGrid(_viewMode); } } }
public static void CreateMode(Mode item) { var data = dataAccess(); data.CreateMode(item); }
/// <summary> /// Create a new Mode object. /// </summary> /// <param name="modeID">Initial value of the ModeID property.</param> /// <param name="modeName">Initial value of the ModeName property.</param> /// <param name="defaultStateID">Initial value of the DefaultStateID property.</param> /// <param name="defaultEventID">Initial value of the DefaultEventID property.</param> public static Mode CreateMode(global::System.Int32 modeID, global::System.String modeName, global::System.Int32 defaultStateID, global::System.Int32 defaultEventID) { Mode mode = new Mode(); mode.ModeID = modeID; mode.ModeName = modeName; mode.DefaultStateID = defaultStateID; mode.DefaultEventID = defaultEventID; return mode; }
/// <summary> /// Deprecated Method for adding a new object to the Modes EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToModes(Mode mode) { base.AddObject("Modes", mode); }
private void UpdateCreateRealObject(string groupName, object realItem) { _groupItem.Name = txtName.Text; _groupItem.Description = txtDescription.Text; _groupItem.Priority = (int) numPriority.Value; _groupItem.URI = txtURI.Text; if(_isAdd) { switch (groupName) { case "Modes": var mode = new Mode(); mode.ModeName = txtName.Text; mode.Description = txtDescription.Text; DataHelper.CreateMode(mode); _groupItem.ID = mode.ModeID; break; case "States": var state = new State(); state.StateName = txtName.Text; state.Description = txtDescription.Text; DataHelper.CreateState(state); _groupItem.ID = state.StateID; break; case "Events": var myEvent = new Event(); myEvent.EventName = txtName.Text; myEvent.Description = txtDescription.Text; DataHelper.CreateEvent(myEvent); _groupItem.ID = myEvent.EventID; break; case "Functions": var function = new Function(); function.FunctionName = txtName.Text; function.Description = txtDescription.Text; function.FunctionURI = txtURI.Text; DataHelper.CreateFunction(function); _groupItem.ID = function.FunctionID; break; } } else { // Is Update switch (groupName) { case "Modes": var mode = (Mode) realItem; mode.ModeName = txtName.Text; mode.Description = txtDescription.Text; mode.Event = (Event)cboDefaultEvent.SelectedRow.ListObject; mode.State = (State)cboDefaultState.SelectedRow.ListObject; break; case "States": var state = (State) realItem; state.StateName = txtName.Text; state.Description = txtDescription.Text; break; case "Events": var myEvent =(Event) realItem; myEvent.EventName = txtName.Text; myEvent.Description = txtDescription.Text; myEvent.Priority = (int)numPriority.Value; break; } DataHelper.SaveChanges(); } }
public void CreateMode(Mode mode) { _db.Modes.AddObject(mode); _db.SaveChanges(); }
private void cboModes_ValueChanged(object sender, EventArgs e) { IValueList vl = this.cboModes; if(vl.SelectedItemIndex >= 0) { var id = (int) vl.GetValue(vl.SelectedItemIndex); _currentMode = (from Mode m in _modes where m.ModeID == id select m).FirstOrDefault(); InitializeFSMGrid(_currentMode); } }
private void InitializeFSMGrid(Mode mode) { grdMachine.DataSource = TransitionTable.GetTransitionTable(mode); grdMachine.Text = "Mode = " + mode.ModeName; }
private void LoadTransitionGrid(Mode mode) { grdTransitions.DataSource = TransitionTable.GetTransitionTable(mode); grdTransitions.Text = "Mode = " + mode.ModeName; }
public static void DeleteMode(Mode mode) { var data = dataAccess(); data.DeleteMode(mode); }
public static bool AddModeAssociation(Mode mode, string groupName, int itemID) { var data = dataAccess(); return data.CheckModeAssociation(mode, groupName, itemID); }
public static DataTable GetTransitionTable(Mode mode) { _trasitionTable = BuildTransitionTable(mode); return _trasitionTable; }
public void DeleteMode(Mode mode) { _db.Modes.DeleteObject(mode); _db.SaveChanges(); }
private void LoadModeCombos(Mode mode) { var events = DataHelper.GetModeEvents(mode.ModeID); var states = DataHelper.GetModeStates(mode.ModeID); cboDefaultEvent.DataSource = events; cboDefaultEvent.DisplayMember = "EventName"; cboDefaultState.DataSource = states; cboDefaultState.DisplayMember = "StateName"; if(mode.Event != null) { cboDefaultEvent.Text = mode.Event.EventName; cboDefaultState.Text = mode.State.StateName; } else { cboDefaultEvent.Text = "Select Event"; cboDefaultState.Text = "Select State"; } }