コード例 #1
0
ファイル: ObjectBrowser.cs プロジェクト: retahc/old-code
        object AddTypeWithNamespace(Type t, Hashtable ht)
        {
            //Console.WriteLine ("add type {0}", t.FullName);

            if (!IsVisible(t))
            {
                return(null);
            }

            //Console.WriteLine ("try type {0}", t.FullName);
            if (ht [t] != null)
            {
                return((TreeIter)ht [t]);
            }

            //Console.WriteLine ("new line {0}", t.FullName);

            TreeIter iter = new TreeIter();

            if (t.BaseType != null /* FIXME? && t.BaseType.Assembly == assembly */ && t.BaseType.Namespace == t.Namespace)
            {
                typeStore.Append(out iter, (TreeIter)AddTypeWithNamespace(t.BaseType, ht));
            }
            else
            {
                if (t.Namespace != null && t.Namespace != "")
                {
                    typeStore.Append(out iter, NamespaceIter(t.Namespace, ht));
                }
                else
                {
                    typeStore.Append(out iter);
                }
            }

            TypeRecord tr = new TypeRecord(t);

            typeStore.SetValue(iter, 0, new GLib.Value(tr.Label));
            typeStore.SetValue(iter, 1, new GLib.Value(t.FullName));
            typeStore.SetValue(iter, 2, new GLib.Value(tr.Icon));

            ht [t] = iter;

            return(iter);
        }
コード例 #2
0
ファイル: ObjectBrowser.cs プロジェクト: retahc/old-code
        object AddTypeWithoutNamespace(Type t, Hashtable ht)
        {
            TreeIter iter;

            //Console.WriteLine ("add type {0}", t.FullName);

            if (!IsVisible(t))
            {
                return(null);
            }

            //Console.WriteLine ("try type {0}", t.FullName);
            if (ht [t] != null)
            {
                return((TreeIter)ht [t]);
            }

            //Console.WriteLine ("new line {0}", t.FullName);

            iter = new TreeIter();
            if (t.BaseType == null)             // FIXME? || t.BaseType.Assembly != assembly)
            {
                typeStore.Append(out iter);
            }
            else
            {
                typeStore.Append(out iter, (TreeIter)AddTypeWithoutNamespace(t.BaseType, ht));
            }

            TypeRecord tr = new TypeRecord(t);

            typeStore.SetValue(iter, 0, new GLib.Value(tr.Label));
            typeStore.SetValue(iter, 1, new GLib.Value(t.FullName));
            typeStore.SetValue(iter, 2, new GLib.Value(tr.Icon));

            ht [t] = iter;

            return(iter);
        }