Beispiel #1
0
        //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);
        }
Beispiel #3
0
        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();
            }
        }
Beispiel #4
0
        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;
        }
Beispiel #5
0
        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();
            }
        }