Beispiel #1
0
        private ToolStripMenuItem createMenuItem(Expandable exa, MenuStruct menuStruct)
        {
            ToolStripMenuItem menuItem = new ToolStripMenuItem();

            exa.strRes.TryGetValue("str_" + menuStruct.id, out string name);
            menuItem.Text     = name != null ? name : menuStruct.name;
            menuItem.Name     = exa.dllFileName + menuStruct.id;
            menuItem.AutoSize = true;

            if (menuStruct.action != null)
            {
                menuItem.Click += menuStruct.action;
            }

            if (menuStruct.dropDownItems != null)
            {
                List <ToolStripMenuItem> items = new List <ToolStripMenuItem>();
                foreach (MenuStruct ms in menuStruct.dropDownItems)
                {
                    items.Add(createMenuItem(exa, ms));
                }
                menuItem.DropDownItems.AddRange(items.ToArray());
            }

            return(menuItem);
        }
        private void ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ToolStripMenuItem item = sender as ToolStripMenuItem;

            Structures.MenuItem menuitem = MenuStruct.FindMenuItemByToolStripMenuItem(item);
            if (menuitem.TypeOfEntity != null)
            {
                if (menuitem.TypeOfEntity.IsSubclassOf(typeof(BaseEntity)))
                {
                    this.ShowManagementForm.ShowManagerForm(menuitem.TypeOfEntity);
                }
                else
                {
                    if (menuitem.TypeOfEntity.IsSubclassOf(typeof(Form)))
                    {
                        this.ShowManagementForm.ShwoForm(menuitem.TypeOfEntity);
                    }
                    else
                    {
                        throw new GwinException(String.Format("The type '{0}' does not inherit from BaseEntity or Form", menuitem.TypeOfEntity));
                    }
                }
            }

            else
            {
                throw new GwinException(String.Format("Type of entity of MenuItem is null"));
            }
        }
Beispiel #3
0
        public static void AddMenu(string Title, Action action)
        {
            ++NoCnt;
            MenuStruct CurrentMenu = new MenuStruct();

            CurrentMenu.No     = NoCnt;
            CurrentMenu.Title  = Title;
            CurrentMenu.action = action;

            MenuList.Add(CurrentMenu);
            MaxLen = (MaxLen < Title.Length + 6) ? Title.Length + 6 : MaxLen;
        }
Beispiel #4
0
        MenuStruct InitializeMenu()
        {
            MenuStruct mainMenu = new MenuStruct("root", "Root");

            MenuStruct projectMenu = new MenuStruct("projects", "Projekte");

            mainMenu.Add(projectMenu);

            MenuStruct financesMenu = new MenuStruct("finances", "Finanzen");

            mainMenu.Add(financesMenu);

            return(mainMenu);
        }
        /// <summary>
        /// Constructor : Create Application Menu
        /// </summary>
        /// <param name="FormMenu">MDI Form that cotain Menu of Application</param>
        public CreateApplicationMenu(IApplicationMenu FormMenu)
        {
            // Params
            this.MdiFormWithMenu = FormMenu;
            this.menuStrip       = FormMenu.getMenuStrip();
            // MenuStruct Instance
            MenuItems  = new Dictionary <string, Type>();
            MenuStruct = new MenuStruct();
            // Properties
            this.ShowManagementForm         = new CreateAndShowManagerFormHelper(GwinApp.Instance.TypeDBContext, FormMenu);
            this.MenuItemApplicationService = GwinBaseBLO <BaseEntity>
                                              .CreateBLO_Instance(typeof(MenuItemApplication), GwinApp.Instance.TypeBaseBLO);

            // Create Menu
            this.CalculateMenuItems();
            this.ShowMenuItems();
        }
Beispiel #6
0
 public void AddMenuEntry(MenuStruct menu)
 {
     this.Menus.Add(menu);
     this.MenuView.AddMenuEntry(menu);
 }
Beispiel #7
0
        /// <summary>
        /// Parse a menu panel describe by a file
        /// </summary>
        /// <param name="pathName">Path to the file</param>
        public static List <MenuStruct> ReadMenuPanel(string pathName)
        {
            List <MenuStruct> panel = new List <MenuStruct>();

            using (StreamReader reader = new StreamReader(new FileStream(pathName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))) {
                string nameContent;
                while ((nameContent = reader.ReadLine()) != null)
                {
                    while (nameContent == "")
                    {
                        nameContent = reader.ReadLine();
                    }

                    if (nameContent == null)
                    {
                        break;
                    }

                    string     line, key;
                    MenuStruct menuObject = new MenuStruct();
                    if (nameContent == "<Button>")
                    {
                        menuObject.menuType = MenuType.Button;
                    }
                    else if (nameContent == "<Text>")
                    {
                        menuObject.menuType = MenuType.Text;
                    }
                    else if (nameContent == "<Image>")
                    {
                        menuObject.menuType = MenuType.Image;
                    }
                    else if (nameContent == "<Slider>")
                    {
                        menuObject.menuType = MenuType.Slider;
                    }
                    else if (nameContent == "<TickBox>")
                    {
                        menuObject.menuType = MenuType.TickBox;
                    }

                    menuObject.Active = true;

                    while ((!(line = reader.ReadLine()).Contains("</")))
                    {
                        key = line.Split(':')[0];
                        string[] values = line.Split(':')[1].Substring(1).Split(' ');

                        switch (key)
                        {
                        case "Position":
                            menuObject.Position = new Vector2(float.Parse(values[0]), float.Parse(values[1]));
                            break;

                        case "Texture":
                            menuObject.TextureName = values[0];
                            break;

                        case "TextureInside":
                            menuObject.TextureInsideName = values[0];
                            break;

                        case "Text":
                            menuObject.Text = line.Split(':')[1].Substring(1);
                            break;

                        case "ScaleWidth":
                            menuObject.ScaleWidth = float.Parse(values[0]);
                            break;

                        case "ScaleHeight":
                            menuObject.ScaleHeight = float.Parse(values[0]);
                            break;

                        case "Color":
                            menuObject.Color = new Color(int.Parse(values[0]), int.Parse(values[1]), int.Parse(values[2]));
                            break;

                        case "ColorInside":
                            menuObject.ColorInside = new Color(int.Parse(values[0]), int.Parse(values[1]), int.Parse(values[2]));
                            break;

                        case "Transparency":
                            menuObject.transparency = int.Parse(values[0]);
                            break;

                        case "Functions":
                            menuObject.Functions = new List <string>();
                            foreach (var elem in values)
                            {
                                menuObject.Functions.Add(elem);
                            }
                            break;

                        case "UniqueChoiceWith":
                            menuObject.UniqueChoiceButtonWith = new List <string>();
                            foreach (var elem in values)
                            {
                                menuObject.UniqueChoiceButtonWith.Add(elem);
                            }
                            break;

                        case "NeighborsUpDownLeftRight":
                            menuObject.NeighborsUpDownLeftRight = new string[4];
                            for (int i = 0; i < 4; ++i)
                            {
                                menuObject.NeighborsUpDownLeftRight[i] = values[i];
                            }
                            break;

                        case "NameIdentifier":
                            menuObject.Name = values[0];
                            break;

                        case "NameSwitchTo":
                            menuObject.NameToSwitchTo = values[0];
                            break;

                        case "ScaleWidthInside":
                            menuObject.ScaleWidthInside = float.Parse(values[0]);
                            break;

                        case "ScaleHeightInside":
                            menuObject.ScaleHeightInside = float.Parse(values[0]);
                            break;

                        case "Index":
                            menuObject.Index = Int32.Parse(values[0]);
                            break;

                        case "CurrentSelection":
                            menuObject.CurrentSelection = values[0] == "yes" ? true : false;
                            break;

                        case "IsClicked":
                            menuObject.IsClicked = values[0] == "yes" ? true : false;
                            break;

                        case "UseBigFont":
                            menuObject.UseBigFont = values[0] == "yes" ? true : false;
                            break;

                        case "DeSelectOnMove":
                            menuObject.deSelectOnMove = values[0] == "yes" ? true : false;
                            break;

                        case "Active":
                            menuObject.Active = values[0] == "no" ? false : true;
                            break;

                        default:
                            Debug.LogError("key: " + key + "  Menu Panel not found !");
                            break;
                        }
                    }
                    panel.Add(menuObject);
                }
            }
            return(panel);
        }
Beispiel #8
0
        public static async Task InitializTask(IEnumerable <string> codes, IEnumerable <string> proxies, int dop)
        {
            try
            {
                var reqList = await ProxyHelper.GetRequestList(proxies);

                await codes.Distinct().ForEachAsync(dop, async code =>
                {
                    string result;
                    while (true)
                    {
                        try
                        {
                            HttpRequest req;
                            var challenge = string.Empty;
                            lock (Locker)
                            {
                                req = reqList[0];
                                reqList.Move(req);

                                while (Utils.IsPermit)
                                {
                                    if (Utils.CaptchaQueueCount > 0)
                                    {
                                        challenge = Utils.CaptchaQueue.Challenge;
                                        break;
                                    }
                                    Task.Delay(500).Wait();
                                }
                            }

                            if (!Utils.IsPermit)
                            {
                                return;
                            }

                            result = await MainRequest.Get(code, req, challenge);

                            if (result.StartsWith("403"))
                            {
                                result = "403";
                                //continue;
                            }
                            else
                            {
                                dynamic json = JObject.Parse(result);
                                result       = json.products[0]["title"].ToString();
                            }
                        }
                        catch (Exception)
                        {
                            result = "Invalid";
                        }
                        break;
                    }

                    var res = new MenuStruct {
                        Code = code, Result = result
                    };
                    Informer.RaiseStrReceived(res);
                    Utils.ResultAll.Add(res);
                    switch (result)
                    {
                    case "403":
                        Utils.Result403.Add(res);
                        break;

                    case "Invalid":
                        Utils.ResultFalse.Add(res);
                        break;

                    default:
                        Utils.ResultTrue.Add(res);
                        break;
                    }

                    Utils.SetIncrement();
                });
            }
            catch (Exception ex)
            {
                Informer.RaiseOnResultReceived(ex);
            }
        }
Beispiel #9
0
        public static void RaiseStrReceived(MenuStruct str)
        {
            var handler = OnResultStruct;

            handler?.Invoke(str);
        }