예제 #1
0
        private MenuDefinition MenuStatement(ExpressionValue ident)
        {
            var ctx = PopExpected(Tokens.Menu, Tokens.MenuEx);

            if (Lexer.Peek() == Tokens.Discardable)
            {
                PopExpected(Tokens.Discardable);
            }

            PopExpected(Tokens.LBrace, Tokens.Begin);

            var st = new MenuDefinition();

            st.Context    = ctx.Context;
            st.Identifier = ident;

            while (Lexer.Peek() != Tokens.RBrace && Lexer.Peek() != Tokens.IdEnd)
            {
                var ste = MenuItemStatement();
                if (ste != null)
                {
                    st.Entries.Add(ste);
                }
            }

            PopExpected(Tokens.RBrace, Tokens.IdEnd);
            return(st);
        }
        public void SetContextAwareActions([NotNull] IEnumerable <IContextAwareAction> actions)
        {
            var menu = new MenuDefinition(actions, SupportedScopes);

            _contextMenu      = menu.CreateMenu();
            menu.MenuClicked += OnMenuClicked;
        }
예제 #3
0
 private void SetupEditGlobal()
 {
     editGlobal              = new MenuDefinition(viewEditGroup, "&Edit Tag", editGlobalTag);
     editGlobal.Icon         = Resources.document_edit16;
     editGlobal.ToolTipText  = "Opens the tag in the Tag Editor for editing.<br/><br/><b>Note:</b> This tag exists in the Game Archive and, if saved, will be copied to the local project folder and added to the project references<br/><br/>The default Essential Tag will be replaced with the local copy.";
     editGlobal.MenuItemTest = documentOpenedTest;
 }
예제 #4
0
        public override void SetNavigation(INavigationProviderContext context)
        {
            MenuDefinition menuDefinition = new MenuDefinition("Frontend", new FixedLocalizableString("Frontend menu"), null);

            context.Manager.Menus["Frontend"] = menuDefinition;
            menuDefinition.AddItem(new MenuItemDefinition("Frontend.Home", FrontEndNavigationProvider.L("HomePage"), null, "", false, null, 0, null, null)).AddItem(new MenuItemDefinition("Frontend.About", FrontEndNavigationProvider.L("AboutUs"), null, "About", false, null, 0, null, null));
        }
예제 #5
0
 private void SetupCopyFromGameArchive()
 {
     copyFromGameArchive = new MenuDefinition(
         referenceManagementGroup, "&Copy from Game Archive", extractFromGameArchive);
     copyFromGameArchive.ToolTipText = "Attempts to replace the missing file with a matching tag in the Game Archive.";
     copyFromGameArchive.Icon        = Resources.document_add16;
 }
예제 #6
0
        public MenuItemGroupDefinition(MenuDefinition parent, int sortOrder)
        {
            Parent    = parent;
            SortOrder = sortOrder;

            IoC.RegisterConstant(this);
        }
        public async Task <int> Post(MenuDefinition model)
        {
            var result = 0;

            if (ModelState.IsValid)
            {
                // if Add New or Update an definition exist
                // set Status is Using (value = 1)
                model.Status = 1;

                var idExist = await _menuDefinitionBusiness.CheckExist(model.RestaurantId,
                                                                       model.BranchId.GetValueOrDefault(), model.MenuId, model.SizeId, model.IngredientId);

                if (idExist > 0)
                {
                    model.Id = idExist;
                    if (await _menuDefinitionBusiness.Update(model))
                    {
                        result = 1;
                    }
                }
                else
                {
                    var modelInsert = await _menuDefinitionBusiness.Add(model);

                    result = modelInsert.Id;
                }
            }
            return(result);
        }
예제 #8
0
        public static MenuDefinition GetNavigation()
        {
            MenuDefinition menu = new MenuDefinition("MainMenu", "主菜单")
                                  .AddItem(new MenuItemDefinition(
                                               PageNames.Users,
                                               "系统管理",
                                               "user"
                                               ).AddItem(
                                               new MenuItemDefinition(
                                                   PageNames.Users,
                                                   "用户管理",
                                                   "user",
                                                   "/User/Index",
                                                   requiredPermissionName: PermissionNames.Pages_Users
                                                   )
                                               ).AddItem(
                                               new MenuItemDefinition(
                                                   PageNames.Roles,
                                                   "角色管理",
                                                   "user",
                                                   "/Role/Index",
                                                   requiredPermissionName: PermissionNames.Pages_Roles))
                                           );

            return(menu);
        }
        public override void SetNavigation(INavigationProviderContext context)
        {
//todo inject product repository and get categories over linq

            var sideMenu = new MenuDefinition("SideBarMenu",
                                              new LocalizableString("SideBarMenu", SportsstoreConsts.LocalizationSourceName));

            sideMenu
            .AddItem(new MenuItemDefinition(
                         "Watersports",
                         L("Watersports"),
                         url: "/Watersports",
                         icon: "fa fa-info"
                         ))
            .AddItem(new MenuItemDefinition(
                         "Soccer",
                         L("Soccer"),
                         url: "/Soccer",
                         icon: "fa fa-info"
                         ))
            .AddItem(new MenuItemDefinition(
                         "Chess",
                         L("Chess"),
                         url: "/Chess",
                         icon: "fa fa-info"
                         ));

            context.Manager.Menus.Add("SideMenu", sideMenu);
        }
        public void CreateMenuItemDefinition(MenuDefinition menuDefinition)
        {
            //获取所有模块
            List <SysMenus> data = _menusRepository.GetAllList().Where(p => p.IsActive == true).ToList();

            //转换模块数据格式,转换成子父节点包含的形式
            data = _sysMenusRepository.ConvertMenusByChildrenList(data);

            foreach (SysMenus item in data)
            {
                MenuItemDefinition menuItemDefinition = new MenuItemDefinition(
                    name: item.MenuName,
                    //displayName: item.MenuDisplayName.L(),
                    displayName: GetMenuLocalizable(item.MenuDisplayName),
                    icon: item.Icon,
                    url: item.Url,
                    requiresAuthentication: item.IsRequiresAuth,
                    requiredPermissionName: item.PermissionName,
                    customData: null,
                    order: Convert.ToInt32(item.OrderBy)
                    );

                SetChildrenMenusNavigation(menuItemDefinition, item);

                menuDefinition.AddItem(menuItemDefinition);
            }
        }
예제 #11
0
        /// <summary>
        /// Creates the entries menu
        /// </summary>
        private void CreateEntriesMenu(MenuDefinition menu)
        {
            menu.AddItem(CreateMenuItem(
                             "entries",
                             L("Navigation_Entries"),
                             "#/entries",
                             "fa-list",
                             templateUrl: "/app/main/views/entries/index.cshtml",
                             routeUrl: "/entries"
                             ));

            menu.AddItem(CreateMenuItem(
                             "entries_create",
                             L("entries_create"),
                             "#/entries/create",
                             null,
                             templateUrl: "/app/main/views/entries/create.cshtml",
                             routeUrl: "/entries/create",
                             hidden: true
                             ));

            menu.AddItem(CreateMenuItem(
                             "entries_edit",
                             L("entries_edit"),
                             "#/entries/edit/",
                             null,
                             templateUrl: "/app/main/views/entries/edit.cshtml",
                             routeUrl: "/entries/:entryid/edit",
                             hidden: true
                             ));
        }
예제 #12
0
 private void SetupRevertEssentialTag()
 {
     revertEssentialTag              = new MenuDefinition(referenceManagementGroup, "&Revert to Default", revertToDefault);
     revertEssentialTag.ToolTipText  = "Removes the local reference to this template element and reverts to the default file located within the Game Archive.";
     revertEssentialTag.Icon         = Resources.document_add16;
     revertEssentialTag.MenuItemTest = templateElementHasDefault;
 }
        public async Task <MenuDefinition> Add(MenuDefinition model)
        {
            var entity = _menuDefinitionRepository.Add(model);
            await _menuDefinitionRepository.SaveChangeAsync();

            return(model);
        }
        /// <summary>
        /// Extends the menu.
        /// </summary>
        /// <remarks>
        /// </remarks>
        protected override void ExtendMenu()
        {
            // Create menu definition with one tab which contains one group
            var menuDefinition = new MenuDefinition(this, string.Empty);
            var tabDefinition  = new MenuTabDefinition(this.Caption, "T");

            menuDefinition.Add(tabDefinition);
            var groupDefinition = new MenuGroupDefinition(this, this.Caption);

            tabDefinition.Add(groupDefinition);

            // register module specific menu definition
            // and retrieve associated menu group manager
            this.MenuService.CreateUIModuleMenu(menuDefinition);
            IMenuGroupManager groupManager = this.MenuService.GetMenuGroupManager(this.ModuleId);

            // add commands to the menu group manager
            if (groupManager != null)
            {
                var viewModel = this.Container.Resolve <IFeatureExtractionUIViewModel>();
                groupManager.AddCommandTool(
                    viewModel.ToggleCommandA,
                    this.GetImageFromImageFile("Images/TestImage.png"));
                groupManager.AddCommandTool(
                    viewModel.TriggerCommandB,
                    this.GetImageFromImageFile("Images/TestImage.png"));
            }
        }
예제 #15
0
        private List <MenuDefinition> LoadMenu()
        {
            string xmlString;

            using (var stream = Assembly.GetEntryAssembly().GetManifestResourceStream("JK.Web.appMenus.config"))
            {
                xmlString = Utf8Helper.ReadStringFromStream(stream);
            }

            using (var sr = new StringReader(xmlString))
            {
                using (var xr = XmlReader.Create(sr,
                                                 new XmlReaderSettings
                {
                    CloseInput = true,
                    IgnoreWhitespace = true,
                    IgnoreComments = true,
                    IgnoreProcessingInstructions = true
                }))
                {
                    var xmlDocument = new XmlDocument();
                    xmlDocument.Load(xr);
                    var root = xmlDocument.SelectSingleNode("/root");
                    var menuDefinitionNode = root.SelectNodes("menuDefinition");
                    if (menuDefinitionNode == null || menuDefinitionNode.Count <= 0)
                    {
                        throw new AbpException("A Menu Xml must include menuDefinition as root node.");
                    }
                    List <MenuDefinition> list = new List <MenuDefinition>();

                    foreach (XmlNode node in menuDefinitionNode)
                    {
                        var name = node.GetAttributeValueOrNull("name");
                        if (string.IsNullOrEmpty(name))
                        {
                            throw new AbpException("name is not defined in menu XML file!");
                        }
                        var displayName    = node.GetAttributeValueOrNull("displayName");
                        var menuDefinition = new MenuDefinition(name, L(displayName));
                        if (node.HasChildNodes)
                        {
                            foreach (XmlNode item in node.ChildNodes)
                            {
                                var itemName = item.GetAttributeValueOrNull("name");
                                if (string.IsNullOrEmpty(name))
                                {
                                    throw new AbpException("name is not defined in menu XML file!");
                                }
                                var itemDisplayName    = item.GetAttributeValueOrNull("displayName");
                                var menuItemDefinition = new MenuItemDefinition(itemName, L(itemDisplayName));
                                Iterate(menuItemDefinition, item);
                                menuDefinition.AddItem(menuItemDefinition);
                            }
                        }
                        list.Add(menuDefinition);
                    }
                    return(list);
                }
            }
        }
예제 #16
0
        private void AddGroupsRecursive(MenuDefinition menu, StandardMenuItem menuModel)
        {
            var groups = _menuItemGroups
                         .Where(x => x.Parent == menu)
                         .Where(x => !_excludeMenuItemGroups.Contains(x))
                         .OrderBy(x => x.SortOrder)
                         .ToList();

            for (var i = 0; i < groups.Count; i++)
            {
                var group     = groups[i];
                var menuItems = _menuItems
                                .Where(x => x.Group == group)
                                .Where(x => !_excludeMenuItems.Contains(x))
                                .OrderBy(x => x.SortOrder);

                foreach (var menuItem in menuItems)
                {
                    var menuItemModel = new MenuItem(menuItem);

                    //AddGroupsRecursive(menuItem, menuItemModel);
                    menuModel.Add(menuItemModel);
                }

                if (i < groups.Count - 1 && menuItems.Any())
                {
                    menuModel.Add(new MenuItemSeparator());
                }
            }
        }
예제 #17
0
 public void AddMenuItem(MenuDefinition parent, params MenuItemDefinition[] menuItem)
 {
     foreach (var menuItemDefinition in menuItem)
     {
         parent.Childrens.Add(menuItemDefinition);
     }
 }
예제 #18
0
        public override void SetNavigation(INavigationProviderContext context)
        {
            var frontEndMenu = new MenuDefinition(MenuName, new FixedLocalizableString("Frontend menu"));

            context.Manager.Menus[MenuName] = frontEndMenu;

            frontEndMenu

            //HOME
            .AddItem(new MenuItemDefinition(
                         PageNames.Frontend.Home,
                         L("HomePage"),
                         url: ""
                         )

                     //ABOUT
                     ).AddItem(new MenuItemDefinition(
                                   PageNames.Frontend.About,
                                   L("AboutUs"),
                                   url: "About"
                                   )

                               //MULTI-LEVEL MENU (JUST FOR EXAMPLE)
                               //).AddItem(new MenuItemDefinition(
                               //    "MultiLevelMenu",
                               //    new FixedLocalizableString("Multi level menu")
                               //    ).AddItem(new MenuItemDefinition(
                               //        "MultiLevelMenu.1",
                               //        new FixedLocalizableString("Sub menu item 1")
                               //        )
                               //    ).AddItem(new MenuItemDefinition(
                               //        "MultiLevelMenu.2",
                               //        new FixedLocalizableString("Sub menu item 2")
                               //        ).AddItem(new MenuItemDefinition(
                               //            "MultiLevelMenu.2.1",
                               //            new FixedLocalizableString("Sub menu item 2.1")
                               //            )
                               //        ).AddItem(new MenuItemDefinition(
                               //            "MultiLevelMenu.2.2",
                               //            new FixedLocalizableString("Sub menu item 2.2")
                               //            )
                               //        ).AddItem(new MenuItemDefinition(
                               //            "MultiLevelMenu.2.3",
                               //            new FixedLocalizableString("Sub menu item 2.3")
                               //            ).AddItem(new MenuItemDefinition(
                               //                "MultiLevelMenu.2.3.1",
                               //                new FixedLocalizableString("ASP.NET Boilerplate"),
                               //                url: "http://aspnetboilerplate.com"
                               //                )
                               //            ).AddItem(new MenuItemDefinition(
                               //                "MultiLevelMenu.2.3.2",
                               //                new FixedLocalizableString("jtable.org"),
                               //                url: "http://jtable.org"
                               //                )
                               //            )
                               //        )
                               //    )
                               );
        }
예제 #19
0
 private void SetupPreviewTag()
 {
     previewTag              = new MenuDefinition(viewEditGroup, "&Preview Tag", previewTag_click);
     previewTag.Priority     = -10;
     previewTag.ToolTipText  = "Loads the tag into the viewport so that it can be previewed.";
     previewTag.Icon         = Resources.cube_molecule16;
     previewTag.MenuItemTest = previewTest;
 }
예제 #20
0
 private void SetupEmptyRecyleBin()
 {
     emptyRecycleBin = new MenuDefinition(
         recycleBinGroup, "&Empty Recycle Bin", emptyRecycleBin_click);
     emptyRecycleBin.ToolTipText  = "Permenantly deletes all files from the recycle bin.<br/><br/><img src=\"global::Prometheus.Properties.Resources.warning16\" /> <b>This action is not undoable.</b>";
     emptyRecycleBin.Icon         = Resources.garbage16;
     emptyRecycleBin.MenuItemTest = RecycleBinContentsCheck;
 }
예제 #21
0
 private void SetupEdit()
 {
     edit              = new MenuDefinition(viewEditGroup, "&Edit Tag", editTag);
     edit.Icon         = Resources.document_edit16;
     edit.BeginGroup   = true;
     edit.ToolTipText  = "Opens the tag in the Tag Editor for editing.";
     edit.MenuItemTest = documentOpenedTest;
 }
예제 #22
0
        public override GlyphDefinition GetDefinitions(string fragment, TSqlStatement statement, GlyphDefinition definition, List<TSqlStatement> queries)
        {
            var scriptTables = ScriptDom.GetTableList(statement).Where(p => p is NamedTableReference).Cast<NamedTableReference>().ToList();
            
            var dacTables = GetDacTables();

            var rewriter = new TableReferenceRewriter(fragment, scriptTables);
            var replacements = rewriter.GetReplacements(dacTables);

            if (replacements.Count > 0)
            {
                definition.Menu.Add(new MenuDefinition()
                {
                    Caption = "Correct Case Table Identifiers",
                    Action = () => { },
                    Type = MenuItemType.Header
                    ,
                    Glyph = definition
                });

                var offsettedReplacments = new List<Replacements>();
                foreach (var replacement in replacements)
                {
                    var replacement1 = replacement;
                    
                    replacement1.Original = fragment.Substring(replacement1.OriginalOffset-statement.StartOffset, replacement1.OriginalLength);
                  
                    offsettedReplacments.Add(replacement1);
                }

                if (replacements.Count > 1)
                {
                    var menu = new MenuDefinition();
                    menu.Operation = new ClippyReplacementOperations(offsettedReplacments);
                    menu.Action = () => PerformAction(menu.Operation, menu.Glyph);

                    menu.Glyph = definition;
                    menu.Caption = GetCaptionForAll(statement);
                    menu.Type = MenuItemType.MenuItem;
                    definition.Menu.Add(menu);
                }


                foreach (var replacement in offsettedReplacments)
                {
                    var menu = new MenuDefinition();
                    menu.Action = () => PerformAction(menu.Operation, menu.Glyph);
                    menu.Glyph = definition;
                    menu.Caption = string.Format("\t\"{0}\" into \"{1}\"", replacement.Original, replacement.Replacement);
                    menu.Type = MenuItemType.MenuItem;
                    menu.Operation = new ClippyReplacementOperation(replacement);
                    definition.Menu.Add(menu);
                }

            }

            return definition;
        }
예제 #23
0
        public override GlyphDefinition GetDefintions(string fragment, TSqlStatement statement, GlyphDefinition definition, List <QuerySpecification> queries)
        {
            var rewriter     = new OrderByOrdinalRewrites();
            var replacements = rewriter.GetReplacements(queries);

            if (replacements == null)
            {
                return(definition);
            }

            if (replacements.Count > 0)
            {
                definition.Menu.Add(new MenuDefinition()
                {
                    Caption = "Replace Ordinals in Order By",
                    Action  = () => { },
                    Type    = MenuItemType.Header
                    ,
                    Glyph = definition
                });

                var offsettedReplacments = new List <Replacements>();
                foreach (var replacement in replacements)
                {
                    var replacement1 = replacement;
                    replacement1.OriginalOffset += statement.StartOffset;
                    offsettedReplacments.Add(replacement1);
                }

                if (replacements.Count > 1)
                {
                    var menu = new MenuDefinition();
                    menu.Operation = new ClippyReplacementOperations(offsettedReplacments);
                    menu.Action    = () => PerformAction(menu.Operation, menu.Glyph);

                    menu.Glyph   = definition;
                    menu.Caption = GetCaptionForAll(statement);
                    menu.Type    = MenuItemType.MenuItem;
                    definition.Menu.Add(menu);
                }


                foreach (var replacement in offsettedReplacments)
                {
                    var menu = new MenuDefinition();
                    menu.Action    = () => PerformAction(menu.Operation, menu.Glyph);
                    menu.Glyph     = definition;
                    menu.Caption   = string.Format("\t\"{0}\" into \"{1}\"", replacement.Original, replacement.Replacement);
                    menu.Type      = MenuItemType.MenuItem;
                    menu.Operation = new ClippyReplacementOperation(replacement);
                    definition.Menu.Add(menu);
                }

                definition.GenerateKey();
            }
            return(definition);
        }
예제 #24
0
        public override GlyphDefinition GetDefinitions(string fragment, TSqlStatement statement, GlyphDefinition definition, List <TSqlStatement> queries)
        {
            var scriptTables = ScriptDom.GetTableList(statement).Where(p => p is NamedTableReference).Cast <NamedTableReference>().ToList();

            var dacTables = GetDacTables();

            var rewriter     = new TableReferenceRewriter(fragment, scriptTables);
            var replacements = rewriter.GetReplacements(dacTables);

            if (replacements.Count > 0)
            {
                definition.Menu.Add(new MenuDefinition()
                {
                    Caption = "Correct Case Table Identifiers",
                    Action  = () => { },
                    Type    = MenuItemType.Header
                    ,
                    Glyph = definition
                });

                var offsettedReplacments = new List <Replacements>();
                foreach (var replacement in replacements)
                {
                    var replacement1 = replacement;

                    replacement1.Original = fragment.Substring(replacement1.OriginalOffset - statement.StartOffset, replacement1.OriginalLength);

                    offsettedReplacments.Add(replacement1);
                }

                if (replacements.Count > 1)
                {
                    var menu = new MenuDefinition();
                    menu.Operation = new ClippyReplacementOperations(offsettedReplacments);
                    menu.Action    = () => PerformAction(menu.Operation, menu.Glyph);

                    menu.Glyph   = definition;
                    menu.Caption = GetCaptionForAll(statement);
                    menu.Type    = MenuItemType.MenuItem;
                    definition.Menu.Add(menu);
                }


                foreach (var replacement in offsettedReplacments)
                {
                    var menu = new MenuDefinition();
                    menu.Action    = () => PerformAction(menu.Operation, menu.Glyph);
                    menu.Glyph     = definition;
                    menu.Caption   = string.Format("\t\"{0}\" into \"{1}\"", replacement.Original, replacement.Replacement);
                    menu.Type      = MenuItemType.MenuItem;
                    menu.Operation = new ClippyReplacementOperation(replacement);
                    definition.Menu.Add(menu);
                }
            }

            return(definition);
        }
        /// <summary>
        /// Extends the menu.
        /// </summary>
        /// <remarks>
        /// </remarks>
        protected override void ExtendMenu()
        {
            var menuDefinition = new MenuDefinition(this, string.Empty);

            var tabDefinition = new MenuTabDefinition("Experiment Setup", "E");

            menuDefinition.Add(tabDefinition);

            var tabDefinition1 = new MenuTabDefinition("Process", "P");

            menuDefinition.Add(tabDefinition1);

            var groupDefinition1 = new MenuGroupDefinition(this, "Workflow");

            tabDefinition1.Add(groupDefinition1);

            var tabDefinition2 = new MenuTabDefinition("Export/Report", "R");

            menuDefinition.Add(tabDefinition2);

            this.MenuService.CreateControllerModuleMenu(menuDefinition);

            var viewModel = this.Container.Resolve <IProfinderControllerViewModel>();

            IMenuGroupManager groupManager = this.MenuService.GetMenuGroupManager(this.ModuleId);

            if (groupManager != null)

            {
                groupManager.AddCommandTool(

                    viewModel.ExperimentSetupCommand,

                    this.GetImageFromImageFile("Images/experiment-setup.png"), this.GetImageFromImageFile("Images/experiment-setup.png"));

                groupManager.AddCommandTool(

                    viewModel.FeatureExtractionCommand,

                    this.GetImageFromImageFile("Images/feature-extraction.png"), this.GetImageFromImageFile("Images/feature-extraction.png"));
                groupManager.AddCommandTool(

                    viewModel.StatisticAnalysisCommand,

                    this.GetImageFromImageFile("Images/statistical-analysis.png"), this.GetImageFromImageFile("Images/statistical-analysis.png"));
                groupManager.AddCommandTool(

                    viewModel.IdentificationCommand,

                    this.GetImageFromImageFile("Images/compound-identification.png"), this.GetImageFromImageFile("Images/compound-identification.png"));
                groupManager.AddCommandTool(

                    viewModel.ReportCommand,

                    this.GetImageFromImageFile("Images/report-create.png"), this.GetImageFromImageFile("Images/report-create.png"));
            }
        }
예제 #26
0
 private void SetupDebugInfo()
 {
     debugInfo = new MenuDefinition(debugGroup, "View Debug Info", infoHandler);
     //debugInfo.DynamicTooltipCallback = delegate(MultiSourceTreeNode node, NodeInfo info)
     //{
     //  return GenerateDebugInfo(node, info);
     //};
     debugInfo.ToolTipText = "For developer use only!";
     debugInfo.Icon        = Resources.debug_next16;
 }
        public async Task <bool> Put(MenuDefinition model)
        {
            var result = false;

            if (ModelState.IsValid)
            {
                result = await _menuDefinitionBusiness.Update(model);
            }
            return(result);
        }
예제 #28
0
 private void SetupBrowseRecycleBin()
 {
     browseRecycleBin = new MenuDefinition(
         recycleBinGroup, "&Browse Recycle Bin", browseRecycleBin_Click);
     browseRecycleBin.ToolTipText   = "Opens the Recycle Bin to allow browsing and restoration of deleted files and folders.";
     browseRecycleBin.Icon          = Resources.view16;
     browseRecycleBin.MenuItemTest  = RecycleBinContentsCheck;
     browseRecycleBin.MenuItemTest += RecycleBinDocumentNotOpenTest;
     browseRecycleBin.BeginGroup    = true;
 }
예제 #29
0
        public override void SetNavigation(INavigationProviderContext context)
        {
            var menu = new MenuDefinition(MenuGroupName, new FixedLocalizableString("主菜单"));

            context.Manager.Menus["Code"] = menu;
            menu
            .AddItem(
                new MenuItemDefinition("系统管理", L("系统管理"))
                .AddItem(
                    new MenuItemDefinition(
                        "organization",
                        L("组织机构"),
                        url: "/organization",
                        icon: "",
                        requiredPermissionName: PermissionNames.Pages_Administration_OrganizationUnits_Lookup
                        )
                    )
                .AddItem(
                    new MenuItemDefinition(
                        "role",
                        L("角色"),
                        url: "/role",
                        icon: "",
                        requiredPermissionName: PermissionNames.Pages_Administration_Roles_Lookup
                        )
                    )
                .AddItem(
                    new MenuItemDefinition(
                        "user",
                        L("用户"),
                        url: "/user",
                        icon: "",
                        requiredPermissionName: PermissionNames.Pages_Administration_Users_Lookup
                        )
                    )
                .AddItem(
                    new MenuItemDefinition(
                        "auditLog",
                        L("审计日志"),
                        url: "/auditLog",
                        icon: "",
                        requiredPermissionName: PermissionNames.Pages_Administration_AuditLogs
                        )
                    )
                .AddItem(
                    new MenuItemDefinition(
                        "configuration",
                        L("设置"),
                        url: "/configuration",
                        icon: "",
                        requiredPermissionName: PermissionNames.Pages_Administration_Settings
                        )
                    )
                );
        }
        public override GlyphDefinition GetDefintions(string fragment, TSqlStatement statement, GlyphDefinition definition, List<QuerySpecification> queries)
        {
            var rewriter = new OrderByOrdinalRewrites();
            var replacements = rewriter.GetReplacements(queries);

            if (replacements == null)
                return definition;

            if (replacements.Count > 0)
            {
                definition.Menu.Add(new MenuDefinition()
                {
                    Caption = "Replace Ordinals in Order By",
                    Action = () => { },
                    Type = MenuItemType.Header
                    ,
                    Glyph = definition
                });

                var offsettedReplacments = new List<Replacements>();
                foreach (var replacement in replacements)
                {
                    var replacement1 = replacement;
                    replacement1.OriginalOffset += statement.StartOffset;
                    offsettedReplacments.Add(replacement1);
                }

                if (replacements.Count > 1)
                {
                    var menu = new MenuDefinition();
                    menu.Operation = new ClippyReplacementOperations(offsettedReplacments);
                    menu.Action = () => PerformAction(menu.Operation, menu.Glyph);

                    menu.Glyph = definition;
                    menu.Caption = GetCaptionForAll(statement);
                    menu.Type = MenuItemType.MenuItem;
                    definition.Menu.Add(menu);
                }


                foreach (var replacement in offsettedReplacments)
                {
                    var menu = new MenuDefinition();
                    menu.Action = () => PerformAction(menu.Operation, menu.Glyph);
                    menu.Glyph = definition;
                    menu.Caption = string.Format("\t\"{0}\" into \"{1}\"", replacement.Original, replacement.Replacement);
                    menu.Type = MenuItemType.MenuItem;
                    menu.Operation = new ClippyReplacementOperation(replacement);
                    definition.Menu.Add(menu);
                }

                definition.GenerateKey();
            }
            return definition;
        }
예제 #31
0
        public MenuDefinition Menu(ClientPlatform platform)
        {
            if (_cachedMenu.ContainsKey(platform))
            {
                return(_cachedMenu[platform]);
            }

            var unsecureMenu = MetadataProvider.Menu(platform);

            if (unsecureMenu == null)
            {
                Log.Warn(String.Format(MenuNotFound, platform));
                return(null);
            }

            var secureLeafs = new List <MenuBaseDefinition>();

            if (unsecureMenu.Leafs != null)
            {
                foreach (var leaf in unsecureMenu.Leafs)
                {
                    if (!Login.Equals("swadmin") && leaf.Role != null &&
                        (Roles == null || !Roles.Any(r => r.Active && r.Name == leaf.Role)))
                    {
                        Log.DebugFormat("ignoring leaf {0} for user {1} due to absence of role {2}", leaf.Id, Login, leaf.Role);
                        continue;
                    }
                    if (leaf is MenuContainerDefinition)
                    {
                        var secured = ((MenuContainerDefinition)leaf).Secure(this);
                        if (secured != null)
                        {
                            secureLeafs.Add(secured);
                        }
                    }
                    else
                    {
                        secureLeafs.Add(leaf);
                    }
                }
            }
            if (!secureLeafs.Any())
            {
                Log.Warn(String.Format(BlankUser, Login));
            }
            var menuDefinition = new MenuDefinition(secureLeafs, unsecureMenu.MainMenuDisplacement.ToString(), unsecureMenu.ItemindexId);

            try {
                _cachedMenu.Add(platform, menuDefinition);
                // ReSharper disable once EmptyGeneralCatchClause
            } catch {
                //No op
            }
            return(menuDefinition);
        }
예제 #32
0
        public async Task SaveMenuAsync(MenuDefinition menu, CancellationToken cancellationToken = default(CancellationToken))
        {
            var persistableMenu = new PersistableMenu(menu);

            var connection = Database.GetConnection(cancellationToken);

            // Replaces all application metadata.
            await connection.DeleteAsync(persistableMenu);

            await connection.InsertAsync(persistableMenu);
        }
예제 #33
0
        public override GlyphDefinition GetDefintions(string fragment, TSqlStatement statement, GlyphDefinition definition, List<DeleteSpecification> queries)
        {
            var nonSargableRewriter = new ChunkDeletesRewriter(fragment);
            var replacements = nonSargableRewriter.GetReplacements(queries);

            if (replacements.Count > 0)
            {
                definition.Menu.Add(new MenuDefinition()
                {
                    Caption = "Run Delete Statement in Batches",
                    Action = () => { },
                    Type = MenuItemType.Header
                    ,
                    Glyph = definition
                });

                var offsettedReplacments = new List<Replacements>();
                foreach (var replacement in replacements)
                {
                    var replacement1 = replacement;
                    replacement1.OriginalOffset += statement.StartOffset;
                    offsettedReplacments.Add(replacement1);
                }

                if (replacements.Count > 1)
                {
                    var menu = new MenuDefinition();
                    menu.Operation = new ClippyReplacementOperations(offsettedReplacments);
                    menu.Action = () => PerformAction(menu.Operation, menu.Glyph);

                    menu.Glyph = definition;
                    menu.Caption = GetCaptionForAll(statement);
                    menu.Type = MenuItemType.MenuItem;
                    definition.Menu.Add(menu);
                }


                foreach (var replacement in offsettedReplacments)
                {
                    var menu = new MenuDefinition();
                    menu.Action = () => PerformAction(menu.Operation, menu.Glyph);
                    menu.Glyph = definition;
                    menu.Caption = string.Format("\t\"{0}\" into Chunked Delete", replacement.Original);
                    menu.Type = MenuItemType.MenuItem;
                    menu.Operation = new ClippyReplacementOperation(replacement);
                    definition.Menu.Add(menu);
                }

                definition.GenerateKey();
            }

            return definition;

        }
        public override GlyphDefinition GetDefintions(string fragment, TSqlStatement statement, GlyphDefinition definition, List<QuerySpecification> queries)
        {
            var rewriter = new InEqualityRewriter(fragment);
            var replacements = rewriter.GetReplacements(queries);

            if (replacements == null)
                return definition;

            if (replacements.Count > 0)
            {
                definition.Menu.Add(new MenuDefinition()
                {
                    Caption = "Replace != with <>",
                    Action = () => { },
                    Type = MenuItemType.Header
                    ,
                    Glyph = definition
                });

                var offsettedReplacments = new List<Replacements>();

                //span.Snapshot.CreateTrackingSpan(glyph.Tag.ParentTag.Span.Start+offset, _replacement.OriginalLength, SpanTrackingMode.EdgeNegative);
                foreach (var replacement in replacements)
                {
                    var replacement1 = replacement;
                    replacement1.OriginalOffset += statement.StartOffset;
                    offsettedReplacments.Add(replacement1);
                }

                if (replacements.Count > 1)
                {
                    var menu = new MenuDefinition();
                    menu.Operation = new ClippyReplacementOperations(offsettedReplacments);
                    menu.Action = () => PerformAction(menu.Operation, menu.Glyph);

                    menu.Glyph = definition;
                    menu.Caption = GetCaptionForAll(statement);
                    menu.Type = MenuItemType.MenuItem;
                    definition.Menu.Add(menu);
                }


                foreach (var replacement in offsettedReplacments)
                {
                    var menu = new MenuDefinition();
                    menu.Action = () => PerformAction(menu.Operation, menu.Glyph);
                    menu.Glyph = definition;
                    menu.Caption = string.Format("\t\"{0}\" into \"{1}\"", replacement.Original, replacement.Replacement);
                    menu.Type = MenuItemType.MenuItem;
                    Debug.WriteLine("\tLine {2} \"{0}\" into \"{1}\"", replacement.Original, replacement.Replacement, replacement.OriginalFragment.StartLine);
                    menu.Operation = new ClippyReplacementOperation(replacement);
                    
                    definition.Menu.Add(menu);

                }

                definition.GenerateKey();
            }
            return definition;


        }
예제 #35
0
 public MenuManager()
 {
     XMLMenuHandler xml_menu = new XMLMenuHandler(MENU_DEF_FILE_NAME);
     MenuDefinition md = new MenuDefinition(xml_menu.getMenuPages());
     this.menu_def = md;
 }
		public ExcludeMenuDefinition(MenuDefinition menuDefinition)
		{
			MenuDefinitionToExclude = menuDefinition;
		}