Exemplo n.º 1
0
            public override void MouseDown(Rectangle rect, MouseButtons button, int x, int y)
            {
                if (button == MouseButtons.Right)
                {
                    foreach (var reference in _drawnReferences)
                    {
                        if (reference.Rectangle.X <= x && reference.Rectangle.Right > x)
                        {
                            var menu = default(ContextMenuStrip);
                            switch (reference.Reference)
                            {
                            case BranchBase branch:
                                menu = new BranchMenu(branch);
                                break;

                            case Tag tag:
                                menu = new TagMenu(tag);
                                break;

                            case Head head:
                                menu = new HeadMenu(head);
                                break;
                            }
                            if (menu != null)
                            {
                                Utility.MarkDropDownForAutoDispose(menu);
                                Owner.OnContextMenuRequested(menu, new Point(x + 1, y + 1));
                            }
                            return;
                        }
                    }
                }
            }
Exemplo n.º 2
0
 static void WriteTreeIndexToConsole(BranchMenu bMenu)
 {
     Console.WriteLine(bMenu.Text + " => " + bMenu.GetTreeIndexString());
     foreach (var i in bMenu.Items)
     {
         WriteTreeIndexToConsole(i);
     }
 }
Exemplo n.º 3
0
 /// <summary>
 /// BranchMenu yü Json formatına dönüştürür
 /// </summary>
 /// <param name="menu">BranchMenu</param>
 /// <param name="path">Jsonun formatındaki dosyanın kaydedileceği yer</param>
 public static void BranchMenuToJSON(BranchMenu menu, string path)
 {
     using (FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite))
         using (StreamWriter sw = new StreamWriter(fs))
         {
             sw.Write(JsonConvert.SerializeObject(menu, jss));
         }
 }
Exemplo n.º 4
0
        //BranchMenu den ToolStripMenuItem oluştur
        static ToolStripMenuItem GetMainMenu(BranchMenu menu)
        {
            var mainStripMenu = new ToolStripMenuItem();

            ApplyStripMenuItem(ref mainStripMenu, menu);

            mainStripMenu.Tag = menu;//SmartOperation stripMenuItem_Click kontrol et
            return(mainStripMenu);
        }
Exemplo n.º 5
0
    public IMenuBuilder AddBranch(string name)
    {
        var branchMenu = new BranchMenu {
            Name = name
        };

        branchMenu.ParentId = menu.Id;
        menu.AddSubMenu(branchMenu);
        return(new MenuBuilder(this, branchMenu));
    }
Exemplo n.º 6
0
        /// <summary>
        /// Json formatındaki dosyayı okur ve BranchMenuye dönüştürür
        /// </summary>
        /// <param name="path">Okunacak dosya</param>
        /// <returns>Dönüştürülen BranchMenu</returns>
        public static BranchMenu JSONToBranchMenu(string path)
        {
            BranchMenu returnObj = null;

            using (StreamReader sr = new StreamReader(path))
            {
                returnObj = JsonConvert.DeserializeObject <BranchMenu>(sr.ReadToEnd(), jss);
            }
            return(returnObj);
        }
Exemplo n.º 7
0
        static void BranchMenuBuilder()
        {
            BranchMenu branchMenu = new BranchMenu()
            {
                CanShowMenu = true,
                IsEnabled   = true,
                Text        = "Ogz's Context",
                Script      = new ContextLua()
                {
                    Show = "_MENU.Items[2][\"ExtData\"]={IsVisible=true}"
                }
            };

            branchMenu.Items.Add(new BranchMenuItem()
            {
                ExtData = new ExpandoObject()
                {
                },

                IsEnabled = true,
                Text      = "Run Batch",
                Commands  = new List <OgzShell.CLASSES.Command>()
                {
                    new OgzShell.CLASSES.BatchScript()
                    {
                        CanShowConsole = true,
                        Parameters     = " custom par",
                        Path           = @"C:\OguzhanE\Projects\CSharp\WinForms\OgzShell\tst\ts.bat",
                    },
                }
            });

            branchMenu.Items[0].ExtData.IsVisible = false;

            branchMenu.Items.Add(new BranchMenuItem()
            {
                IsEnabled = false,
                Text      = "Run PS",
                ImagePath = @"C:\Users\unquiet\Downloads\1415656688_wooman.png",
                Commands  = new List <OgzShell.CLASSES.Command>()
                {
                    new OgzShell.CLASSES.PowerShellScript()
                    {
                        CanShowConsole = true,
                        Parameters     = " my pars",
                        Path           = @"C:\OguzhanE\Projects\CSharp\WinForms\OgzShell\tst\test.ps1",
                    }
                }
            });

            BranchMenuToJSON(branchMenu, @"C:\OguzhanE\Projects\CSharp\WinForms\OgzShell\src\OgzContext\bin\Release\Branches\pp.ogz");
            Console.WriteLine("BrancMenu oluşturulup json formatında kaydedildi");
        }
Exemplo n.º 8
0
        /// <summary>
        /// Json formatındaki dosyayı okr vs BranchMenuye dönüştürür
        /// </summary>
        /// <param name="path">Okunacak ddosya</param>
        /// <returns>Dönüştürülen BranchMenu</returns>
        public static BranchMenu JSONToBranchMenu(string path)
        {
            JsonSerializerSettings jss = new JsonSerializerSettings()
            {
                Formatting        = Formatting.Indented,
                NullValueHandling = NullValueHandling.Ignore,
                TypeNameHandling  = TypeNameHandling.Auto,
            };
            BranchMenu returnObj = null;

            using (StreamReader sr = new StreamReader(path))
            {
                returnObj = JsonConvert.DeserializeObject <BranchMenu>(sr.ReadToEnd(), jss);
            }
            return(returnObj);
        }
Exemplo n.º 9
0
        /// <summary>
        /// BranchMenu yü Json formatına dönüştürür
        /// </summary>
        /// <param name="menu">BranchMenu</param>
        /// <param name="path">Jsonun formatındaki dosyanın kaydedileceği yer</param>
        public static void BranchMenuToJSON(BranchMenu menu, string path)
        {
            JsonSerializerSettings jss = new JsonSerializerSettings()
            {
                Formatting        = Formatting.Indented,
                NullValueHandling = NullValueHandling.Ignore,
                TypeNameHandling  = TypeNameHandling.Auto,//abstract classlar sorun çıkartıyor sınıfın tipini belirterek serialize et
            };

            if (File.Exists(path))
            {
                File.Delete(path);
            }
            using (FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite))
                using (StreamWriter sw = new StreamWriter(fs))
                {
                    sw.Write(JsonConvert.SerializeObject(menu, jss));
                }
        }
Exemplo n.º 10
0
        // adds New BranchMenu to Context
        static void AddBranchToContextMenuStrip(ref ContextMenuStrip cxtMenuStrip, BranchMenu branchMenu)
        {
            try
            {
                //ana branch
                var mainStripMenu = GetMainMenu(branchMenu);

                foreach (var item in branchMenu.Items)
                {
                    // child branch
                    var stripMenuItem = GetMenuItem(item);
                    mainStripMenu.DropDownItems.Add(stripMenuItem);
                    AddItemToStripMenuItem(item, stripMenuItem);
                }

                cxtMenuStrip.Items.Add(mainStripMenu);
            }
            catch { }
        }
Exemplo n.º 11
0
 public override void MouseDown(Rectangle rect, MouseButtons button, int x, int y)
 {
     if (button == MouseButtons.Right)
     {
         foreach (var reference in _drawnReferences)
         {
             if (reference.Rectangle.X <= x && reference.Rectangle.Right > x)
             {
                 var branch = reference.Reference as BranchBase;
                 if (branch != null)
                 {
                     var menu = new BranchMenu(branch);
                     Utility.MarkDropDownForAutoDispose(menu);
                     Owner.OnContextMenuRequested(menu, new Point(x + 1, y + 1));
                     return;
                 }
                 var tag = reference.Reference as Tag;
                 if (tag != null)
                 {
                     var menu = new TagMenu(tag);
                     Utility.MarkDropDownForAutoDispose(menu);
                     Owner.OnContextMenuRequested(menu, new Point(x + 1, y + 1));
                     return;
                 }
                 var head = reference.Reference as Head;
                 if (head != null)
                 {
                     var menu = new HeadMenu(head);
                     Utility.MarkDropDownForAutoDispose(menu);
                     Owner.OnContextMenuRequested(menu, new Point(x + 1, y + 1));
                     return;
                 }
                 return;
             }
         }
     }
 }