void OnGUI() { if(_previewGUIComponent){ PreviewGUIComponent(); return; } if(!Application.isPlaying){ EditorGUILayout.HelpBox("需要运行状态下才能编辑!", MessageType.Info); ResetEditor(); return; } EditorGUI.BeginChangeCheck(); Object obj = EditorGUILayout.ObjectField("拖动编辑对象至此",_rawAsset, typeof(Object), false); if(EditorGUI.EndChangeCheck()){ ResetEditor(); if(obj){ _roleEditor = Editor.CreateEditor(obj, typeof(RoleEditor)) as RoleEditor; if(_roleEditor){ _roleEditor.RawAsset = _rawAsset = obj; } } return; } if(_roleEditor){ _roleEditor.OnInspectorGUI(); } }
public ActionResult RoleEditor(int?roleId) { var model = new RoleEditor(); var allPermissions = AdapterDb.Database.GetAll <AdapterDb.Permission, Models.Config.Permission>( (dbPermissions) => { var mappedPermissions = Mapper.Map <IEnumerable <AdapterDb.Permission>, IEnumerable <Models.Config.Permission> >(dbPermissions); foreach (var p in mappedPermissions) { p.IsSelected = false; } return(mappedPermissions.OrderBy(p => p.Description)); }); if (roleId.HasValue) { model.Role = AdapterDb.Database.Find <AdapterDb.Roles, Role>( roleId.Value, (dbRole) => { var mappedRole = Mapper.Map <AdapterDb.Roles, Role>(dbRole); foreach (var p in mappedRole.Permissions) { p.IsSelected = true; } return(mappedRole); }); var selectedPermissionIds = model.Role.Permissions.Select(p => p.Id).ToArray(); model.Role.Permissions.AddRange(allPermissions.Where(p => !selectedPermissionIds.Contains(p.Id))); } else { model.Role = new Role { Permissions = new List <Models.Config.Permission>() }; model.Role.Permissions.AddRange(allPermissions); } return(View(model)); }
void OnGUI() { if (_previewGUIComponent) { PreviewGUIComponent(); return; } if (!Application.isPlaying) { EditorGUILayout.HelpBox("需要运行状态下才能编辑!", MessageType.Info); ResetEditor(); return; } EditorGUI.BeginChangeCheck(); Object obj = EditorGUILayout.ObjectField("拖动编辑对象至此", _rawAsset, typeof(Object), false); if (EditorGUI.EndChangeCheck()) { ResetEditor(); if (obj) { _roleEditor = Editor.CreateEditor(obj, typeof(RoleEditor)) as RoleEditor; if (_roleEditor) { _roleEditor.RawAsset = _rawAsset = obj; } } return; } if (_roleEditor) { _roleEditor.OnInspectorGUI(); } }
private void ResetEditor() { _roleEditor = null; _rawAsset = null; }
/// <summary> /// Add button click event. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnAddRole_Activate(object sender, EventArgs e) { RoleEditor roleEditor = new RoleEditor(project); if (roleEditor.ShowDialog() == DialogResult.OK) { iCampaign.TACS.Data.RolesDs.RolesRow row = roleTable.NewRolesRow(); row.AccessLevel = (int)roleEditor.Role.AccessLevel; row.RoleName = roleEditor.Role.Name; row.Project = project; roleTable.AddRolesRow(row); UpdateRoles(); GetRoles(); } roleEditor.Close(); }
/// <summary> /// Open role in editor. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void roleView_DoubleClick(object sender, EventArgs e) { // Get the list item and determine record to edit ListViewItem item = roleView.SelectedItems[0]; long roleId = Convert.ToInt64(item.Name); iCampaign.TACS.Role role = new iCampaign.TACS.Role(); int rowNum = -1; // Find the record in the data table for (int x = 0; x < roleTable.Rows.Count; ++x) { iCampaign.TACS.Data.RolesDs.RolesRow row = roleTable[x]; if (row.RoleId == roleId) { role.Name = row.RoleName; role.AccessLevel = (iCampaign.TACS.AccessLevelEnum)row.AccessLevel; rowNum = x; } } // Edit the role record RoleEditor roleEditor = new RoleEditor(project, role); if (roleEditor.ShowDialog() == DialogResult.OK) { iCampaign.TACS.Data.RolesDs.RolesRow row = roleTable[rowNum]; row.RoleName = roleEditor.Role.Name; row.AccessLevel = (int)roleEditor.Role.AccessLevel; // Save the changes and refresh the list view control UpdateRoles(); GetRoles(); } roleEditor.Close(); }