Ejemplo n.º 1
0
        void updateRendering()
        {
            InputGroupViewModel model = DataContext as InputGroupViewModel;

            if (model.IsShadow)
            {
                mainGrid.Background    = Application.Current.Resources.MergedDictionaries[0]["lightBrush"] as SolidColorBrush;
                border.BorderThickness = new Thickness(4);
            }
            else
            {
                mainGrid.Background    = Application.Current.Resources.MergedDictionaries[0]["lightBrush"] as SolidColorBrush;
                border.BorderThickness = new Thickness(0);
            }
        }
Ejemplo n.º 2
0
        private TileMenuItemViewModel recursiveCreateTileMenu(object inputModel, TileMenuItemViewModel parent)
        {
            TileMenuItemViewModel currentTileMenuItemViewModel = null;

            if (inputModel is AttributeGroupModel)
            {
                var inputGroupModel = inputModel as AttributeGroupModel;
                currentTileMenuItemViewModel = new TileMenuItemViewModel(parent);
                var inputGroupViewModel = new InputGroupViewModel(null, inputGroupModel);
                currentTileMenuItemViewModel.TileMenuContentViewModel = new InputGroupViewTileMenuContentViewModel
                {
                    Name = inputGroupModel.RawName,
                    InputGroupViewModel = inputGroupViewModel
                };

                currentTileMenuItemViewModel.ChildrenNrColumns =
                    (int)Math.Ceiling(inputGroupModel.InputModels.Count() / 10.0);
                currentTileMenuItemViewModel.ChildrenNrRows = (int)Math.Min(10.0, inputGroupModel.InputModels.Count());
                currentTileMenuItemViewModel.Alignment      = Alignment.Center;
                currentTileMenuItemViewModel.AttachPosition = AttachPosition.Right;

                var count = 0;
                foreach (var childInputModel in inputGroupModel.InputModels /*.OrderBy(am => am.RawName)*/)
                {
                    var childTileMenu = recursiveCreateTileMenu(childInputModel, currentTileMenuItemViewModel);
                    childTileMenu.Row    = count; // TileMenuItemViewModel.Children.Count;
                    childTileMenu.Column = currentTileMenuItemViewModel.ChildrenNrColumns - 1 -
                                           (int)Math.Floor((currentTileMenuItemViewModel.Children.Count - 1) / 10.0);
                    childTileMenu.RowSpan    = 1;
                    childTileMenu.ColumnSpan = 1;
                    //currentTileMenuItemViewModel.Children.Add(childTileMenu);
                    count++;
                    if (count == 10.0)
                    {
                        count = 0;
                    }
                }
            }
            else if (inputModel is AttributeFieldModel)
            {
                currentTileMenuItemViewModel = new TileMenuItemViewModel(parent);
                var attributeTransformationViewModel = new AttributeTransformationViewModel(null,
                                                                                            new AttributeTransformationModel(inputModel as AttributeFieldModel));
                currentTileMenuItemViewModel.TileMenuContentViewModel = new InputFieldViewTileMenuContentViewModel
                {
                    Name = (inputModel as AttributeFieldModel).RawName,
                    AttributeTransformationViewModel = attributeTransformationViewModel
                };
            }
            else if (inputModel is OperationTypeGroupModel)
            {
                var taskGroupModel = inputModel as OperationTypeGroupModel;
                currentTileMenuItemViewModel = new TileMenuItemViewModel(parent);
                currentTileMenuItemViewModel.TileMenuContentViewModel = new OperationTypeGroupTileMenuContentViewModel
                {
                    Name = taskGroupModel.Name,
                    OperationTypeGroupModel = taskGroupModel
                };

                currentTileMenuItemViewModel.ChildrenNrColumns =
                    (int)Math.Ceiling(taskGroupModel.OperationTypeModels.Count() / 10.0);
                currentTileMenuItemViewModel.ChildrenNrRows = (int)Math.Min(10.0, taskGroupModel.OperationTypeModels.Count());
                currentTileMenuItemViewModel.Alignment      = Alignment.Center;
                currentTileMenuItemViewModel.AttachPosition = AttachPosition.Right;

                var count = 0;
                foreach (var childInputModel in taskGroupModel.OperationTypeModels /*.OrderBy(am => am.RawName)*/)
                {
                    var childTileMenu = recursiveCreateTileMenu(childInputModel, currentTileMenuItemViewModel);
                    childTileMenu.Row    = count; // TileMenuItemViewModel.Children.Count;
                    childTileMenu.Column = currentTileMenuItemViewModel.ChildrenNrColumns - 1 -
                                           (int)Math.Floor((currentTileMenuItemViewModel.Children.Count - 1) / 10.0);
                    childTileMenu.RowSpan    = 1;
                    childTileMenu.ColumnSpan = 1;
                    //currentTileMenuItemViewModel.Children.Add(childTileMenu);
                    count++;
                    if (count == 10.0)
                    {
                        count = 0;
                    }
                }
            }
            else if (inputModel is OperationTypeModel)
            {
                currentTileMenuItemViewModel = new TileMenuItemViewModel(parent);
                currentTileMenuItemViewModel.TileMenuContentViewModel = new OperationTypeTileMenuContentViewModel
                {
                    Name = (inputModel as OperationTypeModel).Name,
                    OperationTypeModel = inputModel as OperationTypeModel
                };
            }
            parent.Children.Add(currentTileMenuItemViewModel);
            currentTileMenuItemViewModel.Alignment      = Alignment.Center;
            currentTileMenuItemViewModel.AttachPosition = AttachPosition.Right;
            return(currentTileMenuItemViewModel);
        }