//To check permission equal with value in the Typecontrol //Example : 9 = 1001 = 1000 + 0001 = 8 + 1= View + AddNew //Working public static bool HasPermission(TypeControl control, int permission) { if (((int)control & permission) == (int)control) { return(true); } return(false); }
// ReSharper disable once InternalOrPrivateMemberNotDocumented private string SetupTypeControl(out TypeControl control) { const string controlName = TypeControlName; control = new TypeControl { Name = controlName }; control.SetValue( Props.RenderedTypeProperty , typeof(Dictionary <string, List <Tuple <int, object> > >) ); return(controlName); }
private void HandleNodeSelection(TreeNode node) { if (tvProperties.SelectedNode != node) { tvProperties.SelectedNode = node; } LoadContextMenuForTreeNode(node); UserControl ctrl = null; pnlPropertiesContainer.Controls.Clear(); if (node != null) { var attributes = (Dictionary <string, string>)node.Tag; switch (node.Name.ToLower()) { case "property": ctrl = new PropertyControl(this, attributes, ParentControl.ControlDetails); break; case "type-group": ctrl = new TypeGroupControl(this, attributes, ParentControl.ControlDetails); break; case "type": ctrl = new TypeControl(this, attributes, ParentControl.ControlDetails); break; default: break; } node.ContextMenuStrip = this.contextMenuNode; } if (ctrl != null) { pnlPropertiesContainer.Controls.Add(ctrl); InformProjectNeedsBuild(); ctrl.BringToFront(); } }
private async void Writecontroldatatofile() { Task <bool> writeta = new Task <bool>(() => { ControlShellDataList controlShellDataList = new ControlShellDataList(); string Fk = "None"; string Bk = "None"; this.Dispatcher.Invoke(() => { foreach (var item in MangagerControl_PS.Children) { try { var itemf = item as Button; if (itemf == null) { continue; } TypeControl type = (TypeControl)Enum.Parse(typeof(TypeControl), itemf.Uid, true); switch (type) { case TypeControl.JOY_STICK: //1 Fk = "W-S"; Bk = "A-D"; break; case TypeControl.MOUSE_VIEW: //2 Fk = "Mou"; Bk = "Mou"; break; case TypeControl.FIRE_BUTTON_R: //3 Fk = "Left"; Bk = "Clik"; break; case TypeControl.TPPORFPP: //4 Fk = "M"; Bk = "Key"; break; case TypeControl.LAY_BUTTON: //5 Fk = "X"; Bk = "Key"; break; case TypeControl.SIT_BUTTON: //6 Fk = "C"; Bk = "Key"; break; case TypeControl.SCOPE_ON_OF: //7 Fk = "Right"; Bk = "Clik"; break; case TypeControl.LOAD_BULLET: //8 Fk = "R"; Bk = "Key"; break; case TypeControl.JUMP_BUTTON: //9 Fk = "Spa"; Bk = "Key"; break; case TypeControl.TILT_LEFT_BUTTON: //10 Fk = "Q"; Bk = "Key"; break; case TypeControl.TILT_RIGHT_BUTTON: //11 Fk = "E"; Bk = "Key"; break; case TypeControl.GUN_THIRD: //12 Fk = "3"; Bk = "Key"; break; case TypeControl.VEHICLECHANGESIT: //13 Fk = "0"; Bk = "Num"; break; case TypeControl.EXIT_VEHICLE: //14 Fk = "F"; Bk = "Key"; break; case TypeControl.DRIVE_VEHICLE: //15 Fk = "F"; Bk = "Key"; break; case TypeControl.GET_IN_VEHICLE: //16 Fk = "G"; Bk = "Key"; break; case TypeControl.OPEN_CLOSE_DOOR: //17 Fk = "G"; Bk = "Key"; break; case TypeControl.CANCEL_BOM: //18 Fk = "T"; Bk = "Key"; break; case TypeControl.REVICE: //19 Fk = "Z"; Bk = "Key"; break; case TypeControl.GUN_FIRST: //20 Fk = "1"; Bk = "Key"; break; case TypeControl.GUN_SECOND: //21 Fk = "2"; Bk = "Key"; break; case TypeControl.BOMB: //22 Fk = "B"; Bk = "Key"; break; case TypeControl.ADD_BLOOD: //23 Fk = "4"; Bk = "Key"; break; case TypeControl.OPEN_MAP: //24 Fk = "M"; Bk = "Key"; break; case TypeControl.OPEN_BAG: //25 Fk = "Tab"; Bk = "Key"; break; case TypeControl.SETTING: //26 Fk = "Esc"; Bk = "Key"; break; case TypeControl.TAKE: //27 Fk = "J"; Bk = "Key"; break; case TypeControl.MOUSE_EYE: //28 Fk = "Mid"; Bk = "Clik"; break; case TypeControl.QUICKCHAT: //29 Fk = "4-6"; Bk = "8-5"; break; case TypeControl.HOLD_BOX: //30 Fk = "T"; Bk = "Key"; break; case TypeControl.VEHICLEBOOSTER: //31 Fk = "Up"; Bk = "Key"; break; case TypeControl.VEHICLEBRAKE: //32 Fk = "Down"; Bk = "Key"; break; case TypeControl.VEHICLERIGHT: //33 Fk = "Right"; Bk = "Key"; break; case TypeControl.VEHICLELEFT: //34 Fk = "Left"; Bk = "Key"; break; case TypeControl.VEHICLELOOKOUT: //35 Fk = "Ctrl"; Bk = "Right"; break; case TypeControl.PARACHUTE: //36 Fk = "L"; Bk = "Key"; break; case TypeControl.VEHICLEUP: //37 Fk = "Del"; Bk = "key"; break; case TypeControl.VEHICLEDOWN: //38 Fk = "Ent"; Bk = "key"; break; case TypeControl.SWIMUP: //39 Fk = "U"; Bk = "Key"; break; case TypeControl.SWIMDOWN: //40 Fk = "J"; Bk = "Key"; break; default: break; } ControlShell controlShell = new ControlShell(); controlShell.Fontkey = Fk; controlShell.Behindkey = Bk; controlShell.Height = itemf.Height; controlShell.Width = itemf.Width; controlShell.X = itemf.Margin.Left; controlShell.Y = itemf.Margin.Top; controlShell.Namecontrol = itemf.Name; controlShellDataList.ControlShellList.Add(controlShell); } catch (Exception) { } } }); XmlSerializer serializer = new XmlSerializer(typeof(ControlShellDataList)); FileStream fileStream = new FileStream(FileDatausercontrol, FileMode.Create); serializer.Serialize(fileStream, controlShellDataList); fileStream.Close(); return(true); }); writeta.Start(); await writeta; }
private void HandleNodeMenuClick(string clickedNode, string op, object tag) { if (op.Equals("add")) { UserControl ctrl = null; pnlPropertiesContainer.Controls.Clear(); switch (clickedNode) { case "property": ctrl = new PropertyControl(this, null, ParentControl.ControlDetails); break; case "type-group": ctrl = new TypeGroupControl(this, null, ParentControl.ControlDetails); break; case "type": ctrl = new TypeControl(this, null, ParentControl.ControlDetails, tag); break; default: break; } if (ctrl != null) { pnlPropertiesContainer.Controls.Add(ctrl); InformProjectNeedsBuild(); ctrl.BringToFront(); } } else if (op.Equals("delete")) { contextMenuNode.Hide(); string mboxCaption = "Confirm Delete"; Dictionary <string, string> details = (Dictionary <string, string>)tag; ControlManifestHelper manifestHelper = new ControlManifestHelper(); string mboxMessage = string.Empty; switch (clickedNode) { case "property": if (MessageBox.Show("Are you sure you want to remove this property?", mboxCaption, MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { manifestHelper.DeleteProperty(ParentControl.ControlDetails, details["Name"]); } break; case "type-group": int refCount = manifestHelper.RetrieveTypeGroupReferenceCount(ParentControl.ControlDetails, details["Name"]); mboxMessage = string.Empty; if (refCount > 0) { mboxMessage = $"There {(refCount == 1 ? "is" : "are")} {refCount} reference{(refCount == 1 ? "" : "s")} for this TypeGroup. Do you still want to remove this TypeGroup?\n" + $"Removing this TypeGroup will cause build errors. Recommendation is to select 'No' and fix the references then remove the TypeGroup."; } else { mboxMessage = "Are you sure you want to remove this type group?"; } if (MessageBox.Show(mboxMessage, mboxCaption, MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { manifestHelper.DeleteTypeGroup(ParentControl.ControlDetails, details["Name"]); } break; case "type": int typeCount = manifestHelper.RetrieveTypeInTypeGroupCount(ParentControl.ControlDetails, details["type-groups"]); mboxMessage = string.Empty; if (typeCount == 1) { mboxMessage = $"You are attempting to delete the last type in {details["type-groups"]} TypeGroup. Atleast one type is required in the TypeGroup. " + $"\nDo you still want to proceed?"; } else { mboxMessage = "Are you sure you want to remove this type?"; } if (MessageBox.Show(mboxMessage, mboxCaption, MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { manifestHelper.DeleteTypeInTypeGroup(ParentControl.ControlDetails, details["type-groups"], details["type"]); } break; default: break; } RefreshControlManifestDetails(); } }