コード例 #1
0
        public IEnumerable <ElementAction> Provide(EntityToken entityToken)
        {
            var generatedDataTypetoken = (GeneratedDataTypesElementProviderTypeEntityToken)entityToken;

            if (generatedDataTypetoken.Source != "GeneratedDataTypesElementProvider")
            {
                yield break;
            }

            var type = TypeManager.GetType(generatedDataTypetoken.SerializedTypeName);

            if (typeof(IPageMetaData).IsAssignableFrom(type))
            {
                yield break;
            }

            string message;
            string icon;

            if (typeof(IGenericSortable).IsAssignableFrom(type))
            {
                message = "Disable sorting";
                icon    = "delete";
            }
            else
            {
                message = "Enable sorting";
                icon    = "accept";
            }

            var actionToken = new ToggleSuperInterfaceActionToken(SortableType);

            yield return(Actions.CreateInterfaceToggleAction(actionToken, icon, message));
        }
        public IEnumerable <ElementAction> GetActions(EntityToken entityToken)
        {
            var generatedDataTypetoken = entityToken as GeneratedDataTypesElementProviderTypeEntityToken;

            if (generatedDataTypetoken != null)
            {
                if (generatedDataTypetoken.Source == "GeneratedDataTypesElementProvider")
                {
                    var type = TypeManager.GetType(generatedDataTypetoken.SerializedTypeName);

                    if (!typeof(IPageMetaData).IsAssignableFrom(type))
                    {
                        string message;
                        string icon;

                        if (typeof(IChangeHistory).IsAssignableFrom(type))
                        {
                            message = "Disable history";
                            icon    = "delete";
                        }
                        else
                        {
                            message = "Enable history";
                            icon    = "accept";
                        }

                        var actionToken = new ToggleSuperInterfaceActionToken(typeof(IChangeHistory));

                        yield return(new ElementAction(new ActionHandle(actionToken))
                        {
                            VisualData = new ActionVisualizedData
                            {
                                Label = message,
                                ToolTip = message,
                                Icon = new ResourceHandle("Composite.Icons", icon),
                                ActionLocation = _actionLocation
                            }
                        });
                    }
                }
            }
        }