protected void CreatePositionedItems() { _positionedItems.Clear(); int x = 0; foreach (var menuItem in MenuItems) { object action; if (!menuItem.AdditionalProperties.TryGetValue(Consts.KEY_ITEM_ACTION, out action)) continue; WorkflowAction wfAction = action as WorkflowAction; if (wfAction == null) continue; // intercept the menu item commands, so we can set the item as LastSelectedItem // since the menu items are recreated when an sub screen is opened we have to check if the item is already intercepted each time if (!(menuItem.Command is MenuItemCommandInterceptor)) { menuItem.Command = new MenuItemCommandInterceptor(this, menuItem); } // Under "others" all items are places, that do not fit into any other category if (CurrentKey == MenuSettings.MENU_NAME_OTHERS) { bool found = _menuSettings.Settings.MenuItems.Keys.Any(key => _menuSettings.Settings.MenuItems[key].ContainsKey(wfAction.ActionId)); if (!found) { GridListItem gridItem = new GridListItem(menuItem) { GridColumn = x % MenuSettings.DEFAULT_NUM_COLS, GridRow = (x / MenuSettings.DEFAULT_NUM_COLS) * MenuSettings.DEFAULT_ROWSPAN_SMALL, GridRowSpan = MenuSettings.DEFAULT_ROWSPAN_SMALL, GridColumnSpan = MenuSettings.DEFAULT_COLSPAN_SMALL, }; _positionedItems.Add(gridItem); x += MenuSettings.DEFAULT_COLSPAN_SMALL; } } else { GridPosition gridPosition; if (Positions.TryGetValue(wfAction.ActionId, out gridPosition)) { GridListItem gridItem = new GridListItem(menuItem) { GridRow = gridPosition.Row, GridColumn = gridPosition.Column, GridRowSpan = gridPosition.RowSpan, GridColumnSpan = gridPosition.ColumnSpan, }; _positionedItems.Add(gridItem); } } } _positionedItems.FireChange(); }
protected void CreatePositionedItems() { _positionedItems.Clear(); int x = 0; foreach (var menuItem in MenuItems) { object action; if (!menuItem.AdditionalProperties.TryGetValue(Consts.KEY_ITEM_ACTION, out action)) continue; WorkflowAction wfAction = action as WorkflowAction; if (wfAction == null) continue; // Under "others" all items are places, that do not fit into any other category if (CurrentKey == MenuSettings.MENU_NAME_OTHERS) { bool found = IsManuallyPositioned(wfAction); if (!found) { GridListItem gridItem = new GridListItem(menuItem) { GridColumn = x % MenuSettings.DEFAULT_NUM_COLS, GridRow = (x / MenuSettings.DEFAULT_NUM_COLS) * MenuSettings.DEFAULT_ROWSPAN_SMALL, GridRowSpan = MenuSettings.DEFAULT_ROWSPAN_SMALL, GridColumnSpan = MenuSettings.DEFAULT_COLSPAN_SMALL, }; _positionedItems.Add(gridItem); x += MenuSettings.DEFAULT_COLSPAN_SMALL; } } else { GridPosition gridPosition; if (Positions.TryGetValue(wfAction.ActionId, out gridPosition)) { GridListItem gridItem = new GridListItem(menuItem) { GridRow = gridPosition.Row, GridColumn = gridPosition.Column, GridRowSpan = gridPosition.RowSpan, GridColumnSpan = gridPosition.ColumnSpan, }; _positionedItems.Add(gridItem); } } } _positionedItems.FireChange(); }