Beispiel #1
0
 private void AddToMapOfTypeToStandardName(global::System.Type t, global::System.String str)
 {
     if (!_xamlTypeToStandardName.ContainsKey(t))
     {
         _xamlTypeToStandardName.Add(t, str);
     }
 }
Beispiel #2
0
        //--------------------------------------------------------------------------------
        static List <FieldInfo> GetTypeEventFields(Type t)
        {
            if (dicEventFieldInfos.ContainsKey(t))
            {
                return(dicEventFieldInfos[t]);
            }
            var lst = new List <FieldInfo>();

            BuildEventFields(t, lst);
            dicEventFieldInfos.Add(t, lst);
            return(lst);
        }
Beispiel #3
0
        public int stringWidth(string s, TextBlock tb)
        {
            if (width.ContainsKey(s))
            {
                return(width[s]);
            }
            int response = 0;

            using (AutoResetEvent are = new AutoResetEvent(false))
            {
                System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() =>
                {
                    applyFont(tb);
                    tb.Text = s;
                    tb.Measure(new Size(10000, 10000));
                    response = (int)System.Math.Round(tb.DesiredSize.Width);
                    width.Add(s, response);
                    are.Set();
                });
                are.WaitOne();
            }

            return(response);
        }
Beispiel #4
0
		/// <summary>
		/// Construct the mapping from Moniker Xml tag name to DomainClassInfo that derives from ManyToOneRelation.
		/// </summary>
		/// <param name="serializationContext">Serialization context.</param>
		/// <param name="domainDataDirectory">DomainDataDirectory to be used to discover all derived classes.</param>
		private void ConstructDerivedClassMonikersLookupTable(DslModeling::SerializationContext serializationContext, DslModeling::DomainDataDirectory domainDataDirectory)
		{
			global::System.Diagnostics.Debug.Assert(derivedClassMonikers == null); // Shouldn't construct the table more than once.
			derivedClassMonikers = new global::System.Collections.Generic.Dictionary<string, DslModeling::DomainClassInfo> (global::System.StringComparer.CurrentCulture);
	
			DslModeling::DomainClassInfo thisClass = domainDataDirectory.GetDomainClass(ManyToOneRelation.DomainClassId);
			global::System.Diagnostics.Debug.Assert(thisClass != null, "Cannot find DomainClassInfo for ModelRoot!");
	
			global::System.Collections.ObjectModel.ReadOnlyCollection<DslModeling::DomainClassInfo> descendents = thisClass.AllDescendants;
			if (descendents != null)
			{
				foreach (DslModeling::DomainClassInfo descendent in descendents)
				{
					DslModeling::DomainClassXmlSerializer descendentSerializer = serializationContext.Directory.GetSerializer(descendent.Id);
					if (descendentSerializer != null)
					{
						string descendentMonikerTagName = descendentSerializer.MonikerTagName;
						if (!string.IsNullOrEmpty (descendentMonikerTagName))
						{
							global::System.Diagnostics.Debug.Assert(!derivedClassMonikers.ContainsKey (descendentMonikerTagName));
							derivedClassMonikers.Add (descendentMonikerTagName, descendent);
						}
					}
				}
			}
		}
Beispiel #5
0
		/// <summary>
		/// Construct the apping from XmlTagName to DomainClassInfo that derives from ModelHasClass.
		/// </summary>
		/// <param name="serializationContext">Serialization context.</param>
		/// <param name="domainDataDirectory">DomainDataDirectory to be used to discover all derived classes.</param>
		private void ConstructDerivedClassesLookupTable(DslModeling::SerializationContext serializationContext, DslModeling::DomainDataDirectory domainDataDirectory)
		{
			global::System.Diagnostics.Debug.Assert(derivedClasses == null); // Shouldn't construct the table more than once.
			derivedClasses = new global::System.Collections.Generic.Dictionary<string, DslModeling::DomainClassInfo> (global::System.StringComparer.CurrentCulture);
	
			DslModeling::DomainClassInfo thisClass = domainDataDirectory.GetDomainClass(ModelHasClass.DomainClassId);
			global::System.Diagnostics.Debug.Assert(thisClass != null, "Cannot find DomainClassInfo for ModelRoot!");
	
			global::System.Collections.ObjectModel.ReadOnlyCollection<DslModeling::DomainClassInfo> descendents = thisClass.AllDescendants;
			if (descendents != null)
			{
				foreach (DslModeling::DomainClassInfo descendent in descendents)
				{
					global::System.Type descendentType = descendent.ImplementationClass;
					if (!descendentType.IsAbstract)
					{
						DslModeling::DomainClassXmlSerializer descendentSerializer = serializationContext.Directory.GetSerializer(descendent.Id);
						if (descendentSerializer != null)
						{
							string descendentXmlTagName = descendentSerializer.XmlTagName;
							if (!string.IsNullOrEmpty (descendentXmlTagName))
							{
								global::System.Diagnostics.Debug.Assert(!derivedClasses.ContainsKey (descendentXmlTagName));
								derivedClasses.Add (descendentXmlTagName, descendent);
							}
						}
					}
					else
					{   // Ignore abstract derived classes because they cannot be instantiated directly.
					}
				}
			}
		}