Example #1
0
		protected void HookupPropertyManager (PropertyManager pm)
		{
			pm.CurrentChanged += new EventHandler (CurrentChanged);
			pm.PositionChanged += new EventHandler (PositionChanged);
#if NET_2_0
			pm.BindingComplete += new BindingCompleteEventHandler (BindingComplete);
			pm.CurrentItemChanged += new EventHandler (CurrentItemChanged);
			pm.DataError += new BindingManagerDataErrorEventHandler (DataError);
#endif
		}
Example #2
0
        public void CreateDefaultLang()
        {
            Language l = new Language();
            Form1 f1 = new Form1();
            Form2 f2 = new Form2();
            DLCExplorer dlc = new DLCExplorer();
            TOCeditor toc = new TOCeditor();
            Conditionals con = new Conditionals();
            Language_Selector lng = new Language_Selector();
            AFCExtract afc = new AFCExtract();
            BIKExtract bik = new BIKExtract();
            PropertyManager prop = new PropertyManager();
            XBoxConverter xbox = new XBoxConverter();
            Language_Editor lne = new Language_Editor();
            string[] t = new string[0];
            MainWindow tlk = new MainWindow();
            l.name = "Default";
            l.Entries = new List<string>();
#region Form1
            l.Entries.Add(f1.userToolsToolStripMenuItem.Text);                  //0
            l.Entries.Add(f1.dLCEditorToolStripMenuItem.Text);
            l.Entries.Add(f1.tLKEditorToolStripMenuItem.Text);

            l.Entries.Add(f1.tOCbinEditorToolStripMenuItem.Text);           //5
            l.Entries.Add(f1.decompressorToolStripMenuItem.Text);
            l.Entries.Add(f1.conditionalsToolStripMenuItem.Text);
            l.Entries.Add(f1.lanugageSelectorToolStripMenuItem.Text);
            //l.Entries.Add("Extractor");  // KFreon: Not sure what all this is for exactly, so just filling in bits

            l.Entries.Add(f1.aFCToWAVToolStripMenuItem.Text);                    //10
            l.Entries.Add(f1.moviestfcToBIKToolStripMenuItem.Text);
            l.Entries.Add(f1.propertyManagerToolStripMenuItem.Text);
            //l.Entries.Add(f1.xBoxConverterToolStripMenuItem.Text);
            l.Entries.Add(f1.optionsToolStripMenuItem.Text);

            l.Entries.Add(f1.selectToolLanguageToolStripMenuItem.Text);     //15
#endregion
#region Form2
            l.Entries.Add(f2.Text);
            l.Entries.Add(f2.fileOpenToolStripMenuItem.Text);
#endregion
#region DLC Explorer
            l.Entries.Add(dlc.Text);                                        //60
            l.Entries.Add(dlc.groupBoxSfar.Text);
            l.Entries.Add(dlc.labelNumOfFiles.Text);
            l.Entries.Add(dlc.labelTotalUncSize.Text);
            l.Entries.Add(dlc.labelTotalUncBytes.Text);

            l.Entries.Add(dlc.labelTotalComprSize.Text);                    //65
            l.Entries.Add(dlc.labelTotalComprBytes.Text);
            l.Entries.Add(dlc.labelComprRatio.Text);
            l.Entries.Add(dlc.labelFirstEntryOffset.Text);
            l.Entries.Add(dlc.labelFirstBlockOffset.Text);

            l.Entries.Add(dlc.labelFirstDataOffset.Text);                   //70
            l.Entries.Add(dlc.groupBoxFile.Text);
            l.Entries.Add(dlc.labelFullName.Text);
            l.Entries.Add(dlc.labelHash.Text);
            l.Entries.Add(dlc.labelFileSize.Text);

            l.Entries.Add(dlc.labelUncSizeBytes.Text);                      //75
            l.Entries.Add(dlc.labelComprSize.Text);
            l.Entries.Add(dlc.labelComprSizeBytes.Text);
            l.Entries.Add(dlc.labelEntry.Text);
            l.Entries.Add(dlc.labelBlockIndex.Text);

            l.Entries.Add(dlc.labelDataOffset.Text);                        //80
            l.Entries.Add(dlc.toolStripOpenFile.Text);
            l.Entries.Add(dlc.toolStripSaveFile.Text);
            l.Entries.Add(dlc.toolStripInfo.Text);
            l.Entries.Add(dlc.toolStripAbout.Text);
#endregion
#region TOC Editor
            l.Entries.Add(toc.Text);                                        //85
            l.Entries.Add(toc.fileToolStripMenuItem.Text);
            l.Entries.Add(toc.openToolStripMenuItem.Text);
            l.Entries.Add(toc.saveToolStripMenuItem.Text);
            l.Entries.Add(toc.searchToolStripMenuItem.Text);

            l.Entries.Add(toc.searchAgainToolStripMenuItem.Text);           //90
            l.Entries.Add(toc.editFilesizeToolStripMenuItem.Text);
#endregion
#region Conditionals
            l.Entries.Add(con.Text);
            l.Entries.Add(con.fileToolStripMenuItem.Text);
            l.Entries.Add(con.openToolStripMenuItem.Text);

            l.Entries.Add(con.saveToolStripMenuItem.Text);                  //95
            l.Entries.Add(con.mapToSVGToolStripMenuItem.Text);
            l.Entries.Add(con.editToolStripMenuItem.Text);
#endregion
#region Language Select
            l.Entries.Add(lng.Text);
            l.Entries.Add(lng.radioButton1.Text);

            l.Entries.Add(lng.radioButton2.Text);                           //100
            l.Entries.Add(lng.radioButton3.Text);
            l.Entries.Add(lng.radioButton4.Text);
            l.Entries.Add(lng.radioButton5.Text);
            l.Entries.Add(lng.radioButton6.Text);

            l.Entries.Add(lng.button1.Text);                                //105
            l.Entries.Add(lng.button2.Text);
#endregion
#region AFC
            l.Entries.Add(afc.Text);
            l.Entries.Add(afc.fileToolStripMenuItem.Text);
            l.Entries.Add(afc.openToolStripMenuItem.Text);

            l.Entries.Add(afc.extractToolStripMenuItem.Text);               //110
            l.Entries.Add(afc.selectedToolStripMenuItem.Text);
            l.Entries.Add(afc.allToolStripMenuItem.Text);
#endregion
#region BIK
            l.Entries.Add(bik.Text);
            l.Entries.Add(bik.fileToolStripMenuItem.Text);

            l.Entries.Add(bik.openToolStripMenuItem.Text);                  //115
            l.Entries.Add(bik.extractToolStripMenuItem.Text);
            l.Entries.Add(bik.selectedToolStripMenuItem.Text);
            l.Entries.Add(bik.allToolStripMenuItem.Text);
#endregion
#region PropertyMan
            l.Entries.Add(prop.Text);

            l.Entries.Add(prop.fileToolStripMenuItem.Text);                 //120
            l.Entries.Add(prop.newToolStripMenuItem.Text);
            l.Entries.Add(prop.loadDefinitonsToolStripMenuItem.Text);
            l.Entries.Add(prop.saveDefinitionsToolStripMenuItem.Text);
            l.Entries.Add(prop.loadDefaultToolStripMenuItem.Text);

            l.Entries.Add(prop.saveAsDefaultToolStripMenuItem.Text);        //125
            l.Entries.Add(prop.importFromFileToolStripMenuItem.Text);
            l.Entries.Add(prop.actionToolStripMenuItem.Text);
            l.Entries.Add(prop.addClassToolStripMenuItem.Text);
            l.Entries.Add(prop.addPropertyToolStripMenuItem.Text);

            l.Entries.Add(prop.deleteClassToolStripMenuItem.Text);          //130
            l.Entries.Add(prop.deletePropertyToolStripMenuItem.Text);
#endregion
#region xboxconverter
            l.Entries.Add(xbox.Text);
            l.Entries.Add(xbox.fileToolStripMenuItem.Text);
            l.Entries.Add(xbox.xXXPCCToolStripMenuItem.Text);

            l.Entries.Add(xbox.pCCXXXToolStripMenuItem.Text);               //135
#endregion
#region Language Editor
            l.Entries.Add(lne.Text);
            l.Entries.Add(lne.fileToolStripMenuItem.Text);
            l.Entries.Add(lne.saveToolStripMenuItem.Text);
            l.Entries.Add(lne.editToolStripMenuItem.Text);

            l.Entries.Add(lne.copyLanguagToolStripMenuItem.Text);           //140
            l.Entries.Add(lne.deleteLanguageToolStripMenuItem.Text);
            l.Entries.Add(lne.renameLanguageToolStripMenuItem.Text);
            l.Entries.Add(lne.editEntryToolStripMenuItem.Text);
            l.Entries.Add(lne.setLanguageAsDefaultToolStripMenuItem.Text);
#endregion
            GlobalLang.Add(l);
        }
        /// <include file='doc\BindingContext.uex' path='docs/doc[@for="BindingContext.EnsureListManager"]/*' />
        /// <devdoc>
        ///    Create a suitable binding manager for the specified dataSource/dataMember combination.
        ///    - If one has already been created and cached by this BindingContext, return that instead.
        ///    - If the data source is an ICurrencyManagerProvider, just delegate to the data source.
        /// </devdoc>
        internal BindingManagerBase EnsureListManager(object dataSource, string dataMember) {
            BindingManagerBase bindingManagerBase = null;

            if (dataMember == null)
                dataMember = "";

            // Check whether data source wants to provide its own binding managers
            // (but fall through to old logic if it fails to provide us with one)
            //
            if (dataSource is ICurrencyManagerProvider) {
                bindingManagerBase = (dataSource as ICurrencyManagerProvider).GetRelatedCurrencyManager(dataMember);

                if (bindingManagerBase != null) {
                    return bindingManagerBase;
                }
            }

            // Check for previously created binding manager
            //
            HashKey key = GetKey(dataSource, dataMember);
            WeakReference wRef;
            wRef = listManagers[key] as WeakReference;
            if (wRef != null)
                bindingManagerBase = (BindingManagerBase) wRef.Target;
            if (bindingManagerBase != null) {
                return bindingManagerBase;
            }

            if (dataMember.Length == 0) {
                // No data member specified, so create binding manager directly on the data source
                //
                if (dataSource is IList || dataSource is IListSource) {
                    // IListSource so we can bind the dataGrid to a table and a dataSet
                    bindingManagerBase = new CurrencyManager(dataSource);
                }
                else {
                    // Otherwise assume simple property binding
                    bindingManagerBase = new PropertyManager(dataSource);
                }
            }
            else {
                // Data member specified, so get data source's binding manager, and hook a 'related' binding manager to it
                //
                int lastDot = dataMember.LastIndexOf(".");            
                string dataPath = (lastDot == -1) ? "" : dataMember.Substring(0, lastDot);
                string dataField = dataMember.Substring(lastDot + 1);

                BindingManagerBase formerManager = EnsureListManager(dataSource, dataPath);

                PropertyDescriptor prop = formerManager.GetItemProperties().Find(dataField, true);
                if (prop == null)
                    throw new ArgumentException(SR.GetString(SR.RelatedListManagerChild, dataField));

                if (typeof(IList).IsAssignableFrom(prop.PropertyType))
                    bindingManagerBase = new RelatedCurrencyManager(formerManager, dataField);
                else
                    bindingManagerBase = new RelatedPropertyManager(formerManager, dataField);
            }

            // if wRef == null, then it is the first time we want this bindingManagerBase: so add it
            // if wRef != null, then the bindingManagerBase was GC'ed at some point: keep the old wRef and change its target
            if (wRef == null)
                listManagers.Add(key, new WeakReference(bindingManagerBase, false));
            else
                wRef.Target = bindingManagerBase;

            IntSecurity.UnmanagedCode.Demand();
            ScrubWeakRefs();
            // Return the final binding manager
            return bindingManagerBase;
        }
Example #4
0
 public void SetLang(PropertyManager prop)
 {
     prop.Text = GlobalLang[CurrentLanguage].Entries[119];
     prop.fileToolStripMenuItem.Text = GlobalLang[CurrentLanguage].Entries[120];                 //120
     prop.newToolStripMenuItem.Text = GlobalLang[CurrentLanguage].Entries[121];
     prop.loadDefinitonsToolStripMenuItem.Text = GlobalLang[CurrentLanguage].Entries[122];
     prop.saveDefinitionsToolStripMenuItem.Text = GlobalLang[CurrentLanguage].Entries[123];
     prop.loadDefaultToolStripMenuItem.Text = GlobalLang[CurrentLanguage].Entries[124];
     prop.saveAsDefaultToolStripMenuItem.Text = GlobalLang[CurrentLanguage].Entries[125];        //125
     prop.importFromFileToolStripMenuItem.Text = GlobalLang[CurrentLanguage].Entries[126];
     prop.actionToolStripMenuItem.Text = GlobalLang[CurrentLanguage].Entries[127];
     prop.addClassToolStripMenuItem.Text = GlobalLang[CurrentLanguage].Entries[128];
     prop.addPropertyToolStripMenuItem.Text = GlobalLang[CurrentLanguage].Entries[129];
     prop.deleteClassToolStripMenuItem.Text = GlobalLang[CurrentLanguage].Entries[130];          //130
     prop.deletePropertyToolStripMenuItem.Text = GlobalLang[CurrentLanguage].Entries[131];
 }
Example #5
0
		public void TestGetEnumerator ()
		{
			BindingContextPoker p = new BindingContextPoker ();
			object data_source = new object ();
			PropertyManager pm = new PropertyManager ();
			p._Add (data_source, pm);
			IEnumerator e = ((IEnumerable) p).GetEnumerator ();
			Assert.IsNotNull (e, "#1");
			IDictionaryEnumerator de = e as IDictionaryEnumerator;
			Assert.IsNotNull (de, "#2");
			Assert.IsTrue (de.MoveNext (), "#3");
			// In .NET Key is its internal type.
			//Assert.AreEqual (data_source, de.Key, "#4");
			//Assert.AreEqual (pm, de.Value, "#5");
			Assert.IsFalse (de.MoveNext (), "#6");
		}
        /// <include file='doc\BindingContext.uex' path='docs/doc[@for="BindingContext.EnsureListManager"]/*' />
        /// <devdoc>
        ///    Create a suitable binding manager for the specified dataSource/dataMember combination.
        ///    - If one has already been created and cached by this BindingContext, return that instead.
        ///    - If the data source is an ICurrencyManagerProvider, just delegate to the data source.
        /// </devdoc>
        internal BindingManagerBase EnsureListManager(object dataSource, string dataMember)
        {
            BindingManagerBase bindingManagerBase = null;

            if (dataMember == null)
            {
                dataMember = "";
            }

            // Check whether data source wants to provide its own binding managers
            // (but fall through to old logic if it fails to provide us with one)
            //
            if (dataSource is ICurrencyManagerProvider)
            {
                bindingManagerBase = (dataSource as ICurrencyManagerProvider).GetRelatedCurrencyManager(dataMember);

                if (bindingManagerBase != null)
                {
                    return(bindingManagerBase);
                }
            }

            // Check for previously created binding manager
            //
            HashKey       key = GetKey(dataSource, dataMember);
            WeakReference wRef;

            wRef = listManagers[key] as WeakReference;
            if (wRef != null)
            {
                bindingManagerBase = (BindingManagerBase)wRef.Target;
            }
            if (bindingManagerBase != null)
            {
                return(bindingManagerBase);
            }

            if (dataMember.Length == 0)
            {
                // No data member specified, so create binding manager directly on the data source
                //
                if (dataSource is IList || dataSource is IListSource)
                {
                    // IListSource so we can bind the dataGrid to a table and a dataSet
                    bindingManagerBase = new CurrencyManager(dataSource);
                }
                else
                {
                    // Otherwise assume simple property binding
                    bindingManagerBase = new PropertyManager(dataSource);
                }
            }
            else
            {
                // Data member specified, so get data source's binding manager, and hook a 'related' binding manager to it
                //
                int    lastDot   = dataMember.LastIndexOf(".");
                string dataPath  = (lastDot == -1) ? "" : dataMember.Substring(0, lastDot);
                string dataField = dataMember.Substring(lastDot + 1);

                BindingManagerBase formerManager = EnsureListManager(dataSource, dataPath);

                PropertyDescriptor prop = formerManager.GetItemProperties().Find(dataField, true);
                if (prop == null)
                {
                    throw new ArgumentException(SR.GetString(SR.RelatedListManagerChild, dataField));
                }

                if (typeof(IList).IsAssignableFrom(prop.PropertyType))
                {
                    bindingManagerBase = new RelatedCurrencyManager(formerManager, dataField);
                }
                else
                {
                    bindingManagerBase = new RelatedPropertyManager(formerManager, dataField);
                }
            }

            // if wRef == null, then it is the first time we want this bindingManagerBase: so add it
            // if wRef != null, then the bindingManagerBase was GC'ed at some point: keep the old wRef and change its target
            if (wRef == null)
            {
                listManagers.Add(key, new WeakReference(bindingManagerBase, false));
            }
            else
            {
                wRef.Target = bindingManagerBase;
            }

            IntSecurity.UnmanagedCode.Demand();
            ScrubWeakRefs();
            // Return the final binding manager
            return(bindingManagerBase);
        }
        internal BindingManagerBase EnsureListManager(object dataSource, string dataMember)
        {
            if (dataMember == null)
            {
                dataMember = "";
            }
            HashKey            key = GetKey(dataSource, dataMember);
            WeakReference      wRef;
            BindingManagerBase bindingManagerBase = null;

            wRef = listManagers[key] as WeakReference;
            if (wRef != null)
            {
                bindingManagerBase = (BindingManagerBase)wRef.Target;
            }
            if (bindingManagerBase != null)
            {
                return(bindingManagerBase);
            }

            // create base listManager.
            if (dataMember.Length == 0)
            {
                //IListSource so we can bind the dataGrid to a table and a dataSet
                if (dataSource is IList || dataSource is IListSource)
                {
                    bindingManagerBase = new CurrencyManager(dataSource);
                }
                else
                {
                    bindingManagerBase = new PropertyManager(dataSource);
                }

                // if wRef == null, then it is the first time we want this bindingManagerBase: so add it
                // if wRef != null, then the bindingManagerBase was GC'ed at some point: keep the old wRef and change its target
                if (wRef == null)
                {
                    listManagers.Add(key, new WeakReference(bindingManagerBase, false));
                }
                else
                {
                    wRef.Target = bindingManagerBase;
                }
                return(bindingManagerBase);
            }

            // handle relation.
            int lastDot = dataMember.LastIndexOf(".");
            BindingManagerBase formerManager = EnsureListManager(dataSource, lastDot == -1 ? "" : dataMember.Substring(0, lastDot));
            PropertyDescriptor prop          = formerManager.GetItemProperties().Find(dataMember.Substring(lastDot + 1), true);

            if (prop == null)
            {
                throw new ArgumentException(SR.GetString(SR.RelatedListManagerChild, dataMember.Substring(lastDot + 1)));
            }
            if (typeof(IList).IsAssignableFrom(prop.PropertyType))
            {
                bindingManagerBase = new RelatedCurrencyManager(formerManager, dataMember.Substring(lastDot + 1));
            }
            else
            {
                bindingManagerBase = new RelatedPropertyManager(formerManager, dataMember.Substring(lastDot + 1));
            }

            // if wRef == null, then it is the first time we want this bindingManagerBase: so add it
            // if wRef != null, then the bindingManagerBase was GC'ed at some point: keep the old wRef and change its target
            if (wRef == null)
            {
                listManagers.Add(GetKey(dataSource, dataMember), new WeakReference(bindingManagerBase, false));
            }
            else
            {
                wRef.Target = bindingManagerBase;
            }
            return(bindingManagerBase);
        }
 internal BindingManagerBase EnsureListManager(object dataSource, string dataMember)
 {
     BindingManagerBase target = null;
     if (dataMember == null)
     {
         dataMember = "";
     }
     if (dataSource is ICurrencyManagerProvider)
     {
         target = (dataSource as ICurrencyManagerProvider).GetRelatedCurrencyManager(dataMember);
         if (target != null)
         {
             return target;
         }
     }
     HashKey key = this.GetKey(dataSource, dataMember);
     WeakReference reference = this.listManagers[key] as WeakReference;
     if (reference != null)
     {
         target = (BindingManagerBase) reference.Target;
     }
     if (target == null)
     {
         if (dataMember.Length == 0)
         {
             if ((dataSource is IList) || (dataSource is IListSource))
             {
                 target = new CurrencyManager(dataSource);
             }
             else
             {
                 target = new PropertyManager(dataSource);
             }
         }
         else
         {
             int length = dataMember.LastIndexOf(".");
             string str = (length == -1) ? "" : dataMember.Substring(0, length);
             string name = dataMember.Substring(length + 1);
             BindingManagerBase parentManager = this.EnsureListManager(dataSource, str);
             PropertyDescriptor descriptor = parentManager.GetItemProperties().Find(name, true);
             if (descriptor == null)
             {
                 throw new ArgumentException(System.Windows.Forms.SR.GetString("RelatedListManagerChild", new object[] { name }));
             }
             if (typeof(IList).IsAssignableFrom(descriptor.PropertyType))
             {
                 target = new RelatedCurrencyManager(parentManager, name);
             }
             else
             {
                 target = new RelatedPropertyManager(parentManager, name);
             }
         }
         if (reference == null)
         {
             this.listManagers.Add(key, new WeakReference(target, false));
             return target;
         }
         reference.Target = target;
     }
     return target;
 }