/// <inheritdoc/>
            public ILookup GetContext(IPort item, IPortStyle style)
            {
                var adapter = ((EventPortStyle)style).adapter;

                fallbackLookup = adapter.Renderer.GetContext(item, adapter);
                return(this);
            }
Esempio n. 2
0
        /// <summary>
        /// Adds a <see cref="IOptionItem"/>s that are bound to the port's <see cref="IPort.Style"/>
        /// to the builder.
        /// </summary>
        /// <param name="context">The context to use for building.</param>
        /// <param name="port"></param>
        protected virtual void AddStyleItems(IOptionBuilderContext context, IPort port)
        {
            //style group...
            //retrieve current style...
            IPortStyle style = port.Style;

            if (style != null)
            {
                //retrieve OptionBuilder from style
                IOptionBuilder styleBuilder = GetStyleOptionBuilder(context, style);
                if (styleBuilder != null)
                {
                    styleBuilder.AddItems(context.CreateChildContext(DefaultPortPropertyMapBuilder.StyleProperty), style.GetType(), style);
                }
            }
        }
Esempio n. 3
0
 /// <summary>
 /// Builds the property for the port's <see cref="IPort.Style"/>.
 /// </summary>
 protected virtual void BuildPortStylesProperty(IPropertyBuildContext <IPort> context)
 {
     context.AddEntry(PortStyleProperty,
                      new ValueGetterDelegate <Type>(delegate {
         var type = context.CurrentInstance.Style.GetType();
         while (!type.IsPublic)
         {
             type = type.BaseType;
         }
         return(type);
     })
                      , new ValueSetterDelegate <Type>(delegate(Type value) {
         IGraph graph     = context.Lookup(typeof(IGraph)) as IGraph;
         IPortStyle style = Activator.CreateInstance(value) as IPortStyle;
         if (graph != null && style != null)
         {
             graph.SetStyle(context.CurrentInstance, style);
         }
     }), null);
 }
 public EdgeStyleDecorator(IPortStyle bendStyle)
 {
     this.bendStyle = bendStyle;
 }
            /// <inheritdoc/>
            public IMarqueeTestable GetMarqueeTestable(IPort item, IPortStyle style)
            {
                var adapter = ((EventPortStyle)style).adapter;

                return(adapter.Renderer.GetMarqueeTestable(item, adapter));
            }
            /// <inheritdoc/>
            public IVisibilityTestable GetVisibilityTestable(IPort item, IPortStyle style)
            {
                var adapter = ((EventPortStyle)style).adapter;

                return(adapter.Renderer.GetVisibilityTestable(item, adapter));
            }
            /// <inheritdoc/>
            public IBoundsProvider GetBoundsProvider(IPort item, IPortStyle style)
            {
                var adapter = ((EventPortStyle)style).adapter;

                return(adapter.Renderer.GetBoundsProvider(item, adapter));
            }
            /// <inheritdoc/>
            public IVisualCreator GetVisualCreator(IPort item, IPortStyle style)
            {
                var adapter = ((EventPortStyle)style).adapter;

                return(adapter.Renderer.GetVisualCreator(item, adapter));
            }
Esempio n. 9
0
 /// <summary>
 /// Retrieves the builder for the given style.
 /// </summary>
 protected virtual IPropertyMapBuilder GetStyleBuilder(IPropertyBuildContext <IPort> context, IPortStyle style)
 {
     return(context.GetPropertyMapBuilder(style));
 }
Esempio n. 10
0
 /// <summary>
 /// Builds the properties for the port's <see cref="IPort.Style"/>
 /// </summary>
 protected virtual void BuildStyleProperties(IPropertyBuildContext <IPort> context, IPortStyle style)
 {
     //style group...
     //retrieve current style...
     if (style != null)
     {
         IPropertyMapBuilder propertyBuilder = GetStyleBuilder(context, style);
         if (propertyBuilder != null)
         {
             propertyBuilder.BuildPropertyMap(context.CreateChildContext <IPortStyle>(StyleProperty,
                                                                                      delegate { return(context.CurrentInstance.Style); },
                                                                                      delegate(IPortStyle newInstance) {
                 IGraph graph = context.Lookup(typeof(IGraph)) as IGraph;
                 if (graph != null)
                 {
                     graph.SetStyle(context.CurrentInstance, newInstance);
                 }
             }, styleAssignmentPolicy));
         }
     }
 }
Esempio n. 11
0
 /// <summary>
 /// Retrieves the <see cref="IOptionBuilder"/> to use for the given style.
 /// </summary>
 /// <remarks>
 /// This implementation simply delegates to <see cref="IOptionBuilderContext.GetOptionBuilder(object)"/>.
 /// </remarks>
 /// <param name="context">The context to use.</param>
 /// <param name="style">The current style instance.</param>
 /// <returns>The builder or <see langword="null"/>.</returns>
 protected virtual IOptionBuilder GetStyleOptionBuilder(IOptionBuilderContext context, IPortStyle style)
 {
     return(context.GetOptionBuilder(style));
 }