Пример #1
0
        /// <summary>
        /// Handles event whenever target changes
        /// </summary>
        /// <param name="aAdaptor">
        /// Adaptor <see cref="IAdaptor"/>
        /// </param>
        private void HandleTargetChanged(IAdaptor aAdaptor)
        {
            if (adaptor == null)
            {
                return;
            }
            if (adaptor.DestroyInProgress == true)
            {
                return;
            }
            if ((internalAdaptor.Mappings == "") || (internalAdaptor.Mapping(0) == null))
            {
                DataWidget = null;
                return;
            }
            System.Type type = null;
            if (Adaptor.Adaptor.FinalTarget == null)
            {
                if (Adaptor.Adaptor.DataSourceType == null)
                {
                    DataWidget = null;
                    return;
                }
                type = Adaptor.Adaptor.DataSourceType;
            }
            else
            {
                type = Adaptor.Adaptor.FinalTarget.GetType();
            }

            FactoryInvocationArgs args;
            PropertyDefinition    def = internalAdaptor.Mapping(0).OriginalRWFlags.GetPropertyDefinition();

            if (Editable == false)
            {
                def = PropertyDefinition.ReadOnly;
            }
            args = new GtkFactoryInvocationArgs(def, type, internalAdaptor.Mapping(0).Name);
            args.AddDefaultTheme();
            if ((WidgetFilter.Trim() != "") && (WidgetFilter.Trim().ToLower() != "gtk"))
            {
                args.AddFilter(WidgetFilter);
            }
            DataWidget = GtkWidgetFactory.CreateWidget(args);
        }
Пример #2
0
 /// <summary>
 /// Returns MappedProperty by Index
 /// </summary>
 public MappedProperty this [int aIdx] {
     get { return(Adaptor.Mapping(aIdx)); }
 }