Esempio n. 1
0
        protected void AddLastFieldToSelect(QSqlSelectMaker	select, QField availableField, QField exField,bool bFinalStep)
        {
            bool bShowAlias	=	false;

            // Add Root Static Field [4/21/2004]
            select.AddField(new QSqlSelectFieldMaker(new QField(_ReportName),false,bShowAlias?"Report!1!Name":null));

            // Add Group Fields [4/20/2004]
            foreach(QField tmpGroupField in this.Groups)
            {
                // Step 1. Add Groups Item [4/21/2004]
                select.AddField(new QSqlSelectFieldMaker(new QField(tmpGroupField.FriendlyName),false,null));

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField,false,null));

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField.Relations==null?tmpGroupField:(new QField(tmpGroupField.FriendlyName,tmpGroupField.FriendlyName,tmpGroupField.FieldValueIsKey?tmpGroupField.DBName:tmpGroupField.Relations[tmpGroupField.Relations.Length-1].DestKey,tmpGroupField.DataType,tmpGroupField.UsingType,tmpGroupField.Relations)),false,null));
            }

            // Add Key Field [4/21/2004]
            if(this.OwnerObject.KeyField!=null)
            {
                QField	keyField = this.OwnerObject.KeyField;
                if(_KeyUniquePrefix!=null)
                {
                    keyField = new QField(this.OwnerObject.KeyField.Name, this.OwnerObject.KeyField.FriendlyName,
                        "'" + _KeyUniquePrefix+ "' + CONVERT(NVARCHAR(3000),{0}.["+this.OwnerObject.KeyField.DBName+"],20)",
                        this.OwnerObject.KeyField.DataType,this.OwnerObject.KeyField.UsingType,true);
                }
                select.AddField(new QSqlSelectFieldMaker(keyField,false,null));
            }

            if(bFinalStep)
            {
                // [FieldName!Tag!Id] [4/22/2004]
                select.AddField(new QSqlSelectFieldMaker(new QField(this.Fields.IndexOf(availableField).ToString("000")), false, null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.Name),false,null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.FriendlyName),false,null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.Relations==null?"1":(availableField.Relations.Length==1?"2":"3") ),false,null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.DataType.ToString()),false,null));
                if(exField!=null)
                    select.AddField(new QSqlSelectFieldMaker(exField,false,null));
                else
                    select.AddField(new QSqlSelectFieldMaker(availableField,false,null));
            }
            else
            {
                // Add Fields [4/20/2004]
                //foreach(QField availableFields in this.Fields)
                //{
                select.AddField(new QSqlSelectFieldMaker(new QField(this.Fields.IndexOf(availableField).ToString("000")),false,null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.Name),false,null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.FriendlyName),false,null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.Relations==null?"1":(availableField.Relations.Length==1?"2":"3") ),false,null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.DataType.ToString()),false,null));
                select.AddField(new QSqlSelectFieldMaker(null,true,null));
                //}
            }
        }
Esempio n. 2
0
        protected void AddItemKeyToSelect(QSqlSelectMaker	select)
        {
            bool bShowAlias	=	false;

            // Add Root Static Field [4/21/2004]
            select.AddField(new QSqlSelectFieldMaker(new QField(_ReportName),false,bShowAlias?"Report!1!Name":null));

            // Add Group Fields [4/20/2004]
            foreach(QField tmpGroupField in this.Groups)
            {
                // Step 1. Add Groups Item [4/21/2004]

                select.AddField(new QSqlSelectFieldMaker(new QField(tmpGroupField.FriendlyName),false,null));

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField,false,null));

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField.Relations==null?tmpGroupField:(new QField(tmpGroupField.Name,tmpGroupField.FriendlyName,tmpGroupField.FieldValueIsKey?tmpGroupField.DBName:tmpGroupField.Relations[tmpGroupField.Relations.Length-1].DestKey,tmpGroupField.DataType,tmpGroupField.UsingType,tmpGroupField.Relations)),false,null));
            }

            // Add Key Field [4/21/2004]
            if(this.OwnerObject.KeyField!=null)
            {
                QField	keyField = this.OwnerObject.KeyField;
                if(_KeyUniquePrefix!=null)
                {
                    keyField = new QField(this.OwnerObject.KeyField.Name, this.OwnerObject.KeyField.FriendlyName,
                        "'" + _KeyUniquePrefix+ "' + CONVERT(NVARCHAR(3000),{0}.["+this.OwnerObject.KeyField.DBName+"],20)",
                        this.OwnerObject.KeyField.DataType,this.OwnerObject.KeyField.UsingType,true);
                }
                select.AddField(new QSqlSelectFieldMaker(keyField,false,null));
            }

            // [FieldName!Tag!Id] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null,true,null));
            // [Field!Tag!Name] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null,true,null));
            // [Field!Tag!Description] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null,true,null));
            // [FieldName!Tag!Type] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null,true,null));
            // [FieldName!Tag!DataType] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null,true,null));

            // New Addon [4/22/2004]
            // [Values!Tag!Value] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null,true,null));
            // End New Addon [4/22/2004]
        }
Esempio n. 3
0
        protected void AddFieldToSelect(QSqlSelectMaker	select)
        {
            bool bShowAlias	=	QSqlSelectList.Count==0;

            // Add Root Static Field [4/21/2004]
            select.AddField(new QSqlSelectFieldMaker(new QField(_ReportName),false,bShowAlias?"[Report!1!Name]":null));

            // Add Group Fields [4/20/2004]
            int	tmpGroupTagNumber	=	2;

            foreach(QField tmpGroupField in this.Groups)
            {
                // Step 1. Add Groups Item [4/21/2004]
                string FieldAlias	=	null;

                if(bShowAlias)
                {
                    FieldAlias	=	string.Format("[{0}!{1}!{2}]","Groups",tmpGroupTagNumber.ToString(),"Name");

                    if(!OrderByFields.Contains(FieldAlias))
                        OrderByFields.Add(FieldAlias);
                }

                bool FieldIsNull	=	false;

                if((tmpGroupTagNumber-2)>=ProcessedGroupItems)
                    FieldIsNull = true;

                select.AddField(new QSqlSelectFieldMaker(new QField(tmpGroupField.FriendlyName),FieldIsNull,FieldAlias));

                tmpGroupTagNumber++;

                // Step 2. Add Group Item [4/21/2004]
                //////////////////////////////////////////////////////////////////////////
                if(bShowAlias)
                {
                    FieldAlias	=	string.Format("[{0}!{1}!{2}]","Group",tmpGroupTagNumber.ToString(),"Name");

                    if(!OrderByFields.Contains(FieldAlias))
                        OrderByFields.Add(FieldAlias);
                }

                if((tmpGroupTagNumber-2)>=ProcessedGroupItems)
                    FieldIsNull = true;

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField,FieldIsNull,FieldAlias));
                //////////////////////////////////////////////////////////////////////////

                //////////////////////////////////////////////////////////////////////////
                if(bShowAlias)
                {
                    FieldAlias	=	string.Format("[{0}!{1}!{2}]","Group",tmpGroupTagNumber.ToString(),"Id");

                    if(!OrderByFields.Contains(FieldAlias))
                        OrderByFields.Add(FieldAlias);
                }

                if((tmpGroupTagNumber-2)>=ProcessedGroupItems)
                    FieldIsNull = true;

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField.Relations==null?tmpGroupField:(new QField(tmpGroupField.Name,tmpGroupField.FriendlyName,tmpGroupField.FieldValueIsKey?tmpGroupField.DBName:tmpGroupField.Relations[tmpGroupField.Relations.Length-1].DestKey,tmpGroupField.DataType,tmpGroupField.UsingType,tmpGroupField.Relations)),FieldIsNull,FieldAlias));
                //////////////////////////////////////////////////////////////////////////

                tmpGroupTagNumber++;
            }

            // Add Key Field [4/21/2004]
            if(this.OwnerObject.KeyField!=null)
            {
                string KeyFieldAlias	=	null;

                if(bShowAlias)
                {
                    KeyFieldAlias	=	string.Format("[{0}!{1}!Key]","Item",tmpGroupTagNumber);

                    if(!OrderByFields.Contains(KeyFieldAlias))
                        OrderByFields.Add(KeyFieldAlias);
                }

                select.AddField(new QSqlSelectFieldMaker(this.OwnerObject.KeyField,true,KeyFieldAlias));
            }

            tmpGroupTagNumber++;

            // Add Fields [4/20/2004]
            //foreach(QField availableFields in this.Fields)
            {
                string FieldAlias	=	null;

                // [FieldName!Tag!Id] [4/22/2004]
                if(bShowAlias)
                {
                    FieldAlias	=	string.Format("[{0}!{1}!{2}]","Field",tmpGroupTagNumber,"Id");
                    if(!OrderByFields.Contains(FieldAlias))
                        OrderByFields.Add(FieldAlias);
                }
                select.AddField(new QSqlSelectFieldMaker(null,true,FieldAlias));

                // [Field!Tag!Name] [4/22/2004]
                if(bShowAlias)
                {
                    FieldAlias	=	string.Format("[{0}!{1}!{2}]","Field",tmpGroupTagNumber,"Name");
                    if(!OrderByFields.Contains(FieldAlias))
                        OrderByFields.Add(FieldAlias);
                }
                select.AddField(new QSqlSelectFieldMaker(null,true,FieldAlias));

                // [Field!Tag!Description] [4/22/2004]
                if(bShowAlias)
                {
                    FieldAlias	=	string.Format("[{0}!{1}!{2}]","Field",tmpGroupTagNumber,"Description");
                    if(!OrderByFields.Contains(FieldAlias))
                        OrderByFields.Add(FieldAlias);
                }
                select.AddField(new QSqlSelectFieldMaker(null,true,FieldAlias));

                // [FieldName!Tag!Type] [4/22/2004]
                if(bShowAlias)
                {
                    FieldAlias	=	string.Format("[{0}!{1}!{2}]","Field",tmpGroupTagNumber,"Type");
                    if(!OrderByFields.Contains(FieldAlias))
                        OrderByFields.Add(FieldAlias);
                }
                select.AddField(new QSqlSelectFieldMaker(null,true,FieldAlias));

                // [FieldName!Tag!DataType] [4/22/2004]
                if(bShowAlias)
                {
                    FieldAlias	=	string.Format("[{0}!{1}!{2}]","Field",tmpGroupTagNumber,"DataType");
                    if(!OrderByFields.Contains(FieldAlias))
                        OrderByFields.Add(FieldAlias);
                }
                select.AddField(new QSqlSelectFieldMaker(null,true,FieldAlias));

                // New Addon [4/22/2004]
                tmpGroupTagNumber++;

                // [Values!Tag!Value] [4/22/2004]
                if(bShowAlias)
                {
                    FieldAlias	=	string.Format("[{0}!{1}!{2}!element]","Values",tmpGroupTagNumber,"Value");
                    if(!OrderByFields.Contains(FieldAlias))
                        OrderByFields.Add(FieldAlias);
                }
                select.AddField(new QSqlSelectFieldMaker(null,true,FieldAlias));
                // End New Addon [4/22/2004]
            }
        }
Esempio n. 4
0
        protected void AddFieldToSelect(QSqlSelectMaker select)
        {
            bool bShowAlias = QSqlSelectList.Count == 0;

            // Add Root Static Field [4/21/2004]
            select.AddField(new QSqlSelectFieldMaker(new QField(_ReportName), false, bShowAlias?"[Report!1!Name]":null));

            // Add Group Fields [4/20/2004]
            int tmpGroupTagNumber = 2;

            foreach (QField tmpGroupField in this.Groups)
            {
                // Step 1. Add Groups Item [4/21/2004]
                string FieldAlias = null;

                if (bShowAlias)
                {
                    FieldAlias = string.Format("[{0}!{1}!{2}]", "Groups", tmpGroupTagNumber.ToString(), "Name");

                    if (!OrderByFields.Contains(FieldAlias))
                    {
                        OrderByFields.Add(FieldAlias);
                    }
                }

                bool FieldIsNull = false;

                if ((tmpGroupTagNumber - 2) >= ProcessedGroupItems)
                {
                    FieldIsNull = true;
                }

                select.AddField(new QSqlSelectFieldMaker(new QField(tmpGroupField.FriendlyName), FieldIsNull, FieldAlias));

                tmpGroupTagNumber++;

                // Step 2. Add Group Item [4/21/2004]
                //////////////////////////////////////////////////////////////////////////
                if (bShowAlias)
                {
                    FieldAlias = string.Format("[{0}!{1}!{2}]", "Group", tmpGroupTagNumber.ToString(), "Name");

                    if (!OrderByFields.Contains(FieldAlias))
                    {
                        OrderByFields.Add(FieldAlias);
                    }
                }

                if ((tmpGroupTagNumber - 2) >= ProcessedGroupItems)
                {
                    FieldIsNull = true;
                }

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField, FieldIsNull, FieldAlias));
                //////////////////////////////////////////////////////////////////////////


                //////////////////////////////////////////////////////////////////////////
                if (bShowAlias)
                {
                    FieldAlias = string.Format("[{0}!{1}!{2}]", "Group", tmpGroupTagNumber.ToString(), "Id");

                    if (!OrderByFields.Contains(FieldAlias))
                    {
                        OrderByFields.Add(FieldAlias);
                    }
                }

                if ((tmpGroupTagNumber - 2) >= ProcessedGroupItems)
                {
                    FieldIsNull = true;
                }

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField.Relations == null?tmpGroupField:(new QField(tmpGroupField.Name, tmpGroupField.FriendlyName, tmpGroupField.FieldValueIsKey?tmpGroupField.DBName:tmpGroupField.Relations[tmpGroupField.Relations.Length - 1].DestKey, tmpGroupField.DataType, tmpGroupField.UsingType, tmpGroupField.Relations)), FieldIsNull, FieldAlias));
                //////////////////////////////////////////////////////////////////////////


                tmpGroupTagNumber++;
            }

            // Add Key Field [4/21/2004]
            if (this.OwnerObject.KeyField != null)
            {
                string KeyFieldAlias = null;

                if (bShowAlias)
                {
                    KeyFieldAlias = string.Format("[{0}!{1}!Key]", "Item", tmpGroupTagNumber);

                    if (!OrderByFields.Contains(KeyFieldAlias))
                    {
                        OrderByFields.Add(KeyFieldAlias);
                    }
                }

                select.AddField(new QSqlSelectFieldMaker(this.OwnerObject.KeyField, true, KeyFieldAlias));
            }

            tmpGroupTagNumber++;

            // Add Fields [4/20/2004]
            //foreach(QField availableFields in this.Fields)
            {
                string FieldAlias = null;

                // [FieldName!Tag!Id] [4/22/2004]
                if (bShowAlias)
                {
                    FieldAlias = string.Format("[{0}!{1}!{2}]", "Field", tmpGroupTagNumber, "Id");
                    if (!OrderByFields.Contains(FieldAlias))
                    {
                        OrderByFields.Add(FieldAlias);
                    }
                }
                select.AddField(new QSqlSelectFieldMaker(null, true, FieldAlias));

                // [Field!Tag!Name] [4/22/2004]
                if (bShowAlias)
                {
                    FieldAlias = string.Format("[{0}!{1}!{2}]", "Field", tmpGroupTagNumber, "Name");
                    if (!OrderByFields.Contains(FieldAlias))
                    {
                        OrderByFields.Add(FieldAlias);
                    }
                }
                select.AddField(new QSqlSelectFieldMaker(null, true, FieldAlias));

                // [Field!Tag!Description] [4/22/2004]
                if (bShowAlias)
                {
                    FieldAlias = string.Format("[{0}!{1}!{2}]", "Field", tmpGroupTagNumber, "Description");
                    if (!OrderByFields.Contains(FieldAlias))
                    {
                        OrderByFields.Add(FieldAlias);
                    }
                }
                select.AddField(new QSqlSelectFieldMaker(null, true, FieldAlias));

                // [FieldName!Tag!Type] [4/22/2004]
                if (bShowAlias)
                {
                    FieldAlias = string.Format("[{0}!{1}!{2}]", "Field", tmpGroupTagNumber, "Type");
                    if (!OrderByFields.Contains(FieldAlias))
                    {
                        OrderByFields.Add(FieldAlias);
                    }
                }
                select.AddField(new QSqlSelectFieldMaker(null, true, FieldAlias));

                // [FieldName!Tag!DataType] [4/22/2004]
                if (bShowAlias)
                {
                    FieldAlias = string.Format("[{0}!{1}!{2}]", "Field", tmpGroupTagNumber, "DataType");
                    if (!OrderByFields.Contains(FieldAlias))
                    {
                        OrderByFields.Add(FieldAlias);
                    }
                }
                select.AddField(new QSqlSelectFieldMaker(null, true, FieldAlias));

                // New Addon [4/22/2004]
                tmpGroupTagNumber++;

                // [Values!Tag!Value] [4/22/2004]
                if (bShowAlias)
                {
                    FieldAlias = string.Format("[{0}!{1}!{2}!element]", "Values", tmpGroupTagNumber, "Value");
                    if (!OrderByFields.Contains(FieldAlias))
                    {
                        OrderByFields.Add(FieldAlias);
                    }
                }
                select.AddField(new QSqlSelectFieldMaker(null, true, FieldAlias));
                // End New Addon [4/22/2004]
            }
        }
Esempio n. 5
0
        protected void AddLastFieldToSelect(QSqlSelectMaker select, QField availableField, QField exField, bool bFinalStep)
        {
            bool bShowAlias = false;

            // Add Root Static Field [4/21/2004]
            select.AddField(new QSqlSelectFieldMaker(new QField(_ReportName), false, bShowAlias?"Report!1!Name":null));

            // Add Group Fields [4/20/2004]
            foreach (QField tmpGroupField in this.Groups)
            {
                // Step 1. Add Groups Item [4/21/2004]
                select.AddField(new QSqlSelectFieldMaker(new QField(tmpGroupField.FriendlyName), false, null));

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField, false, null));

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField.Relations == null?tmpGroupField:(new QField(tmpGroupField.FriendlyName, tmpGroupField.FriendlyName, tmpGroupField.FieldValueIsKey?tmpGroupField.DBName:tmpGroupField.Relations[tmpGroupField.Relations.Length - 1].DestKey, tmpGroupField.DataType, tmpGroupField.UsingType, tmpGroupField.Relations)), false, null));
            }

            // Add Key Field [4/21/2004]
            if (this.OwnerObject.KeyField != null)
            {
                QField keyField = this.OwnerObject.KeyField;
                if (_KeyUniquePrefix != null)
                {
                    keyField = new QField(this.OwnerObject.KeyField.Name, this.OwnerObject.KeyField.FriendlyName,
                                          "'" + _KeyUniquePrefix + "' + CONVERT(NVARCHAR(3000),{0}.[" + this.OwnerObject.KeyField.DBName + "],20)",
                                          this.OwnerObject.KeyField.DataType, this.OwnerObject.KeyField.UsingType, true);
                }
                select.AddField(new QSqlSelectFieldMaker(keyField, false, null));
            }

            if (bFinalStep)
            {
                // [FieldName!Tag!Id] [4/22/2004]
                select.AddField(new QSqlSelectFieldMaker(new QField(this.Fields.IndexOf(availableField).ToString("000")), false, null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.Name), false, null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.FriendlyName), false, null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.Relations == null?"1":(availableField.Relations.Length == 1?"2":"3")), false, null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.DataType.ToString()), false, null));
                if (exField != null)
                {
                    select.AddField(new QSqlSelectFieldMaker(exField, false, null));
                }
                else
                {
                    select.AddField(new QSqlSelectFieldMaker(availableField, false, null));
                }
            }
            else
            {
                // Add Fields [4/20/2004]
                //foreach(QField availableFields in this.Fields)
                //{
                select.AddField(new QSqlSelectFieldMaker(new QField(this.Fields.IndexOf(availableField).ToString("000")), false, null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.Name), false, null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.FriendlyName), false, null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.Relations == null?"1":(availableField.Relations.Length == 1?"2":"3")), false, null));
                select.AddField(new QSqlSelectFieldMaker(new QField(availableField.DataType.ToString()), false, null));
                select.AddField(new QSqlSelectFieldMaker(null, true, null));
                //}
            }
        }
Esempio n. 6
0
        protected void AddItemKeyToSelect(QSqlSelectMaker select)
        {
            bool bShowAlias = false;

            // Add Root Static Field [4/21/2004]
            select.AddField(new QSqlSelectFieldMaker(new QField(_ReportName), false, bShowAlias?"Report!1!Name":null));

            // Add Group Fields [4/20/2004]
            foreach (QField tmpGroupField in this.Groups)
            {
                // Step 1. Add Groups Item [4/21/2004]

                select.AddField(new QSqlSelectFieldMaker(new QField(tmpGroupField.FriendlyName), false, null));

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField, false, null));

                select.AddField(new QSqlSelectFieldMaker(tmpGroupField.Relations == null?tmpGroupField:(new QField(tmpGroupField.Name, tmpGroupField.FriendlyName, tmpGroupField.FieldValueIsKey?tmpGroupField.DBName:tmpGroupField.Relations[tmpGroupField.Relations.Length - 1].DestKey, tmpGroupField.DataType, tmpGroupField.UsingType, tmpGroupField.Relations)), false, null));
            }

            // Add Key Field [4/21/2004]
            if (this.OwnerObject.KeyField != null)
            {
                QField keyField = this.OwnerObject.KeyField;
                if (_KeyUniquePrefix != null)
                {
                    keyField = new QField(this.OwnerObject.KeyField.Name, this.OwnerObject.KeyField.FriendlyName,
                                          "'" + _KeyUniquePrefix + "' + CONVERT(NVARCHAR(3000),{0}.[" + this.OwnerObject.KeyField.DBName + "],20)",
                                          this.OwnerObject.KeyField.DataType, this.OwnerObject.KeyField.UsingType, true);
                }
                select.AddField(new QSqlSelectFieldMaker(keyField, false, null));
            }

            // [FieldName!Tag!Id] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null, true, null));
            // [Field!Tag!Name] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null, true, null));
            // [Field!Tag!Description] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null, true, null));
            // [FieldName!Tag!Type] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null, true, null));
            // [FieldName!Tag!DataType] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null, true, null));

            // New Addon [4/22/2004]
            // [Values!Tag!Value] [4/22/2004]
            select.AddField(new QSqlSelectFieldMaker(null, true, null));
            // End New Addon [4/22/2004]
        }