Ejemplo n.º 1
0
        public override void CreateControlProperties(CodeWriter output,
                                                     EnumField f, bool instantiate, bool enableViewState,
                                                     string addControlFormat)
        {
            ComponentArtEnumFieldExtension extension = (ComponentArtEnumFieldExtension)
                                                       f.GetExtension(typeof(ComponentArtEnumFieldExtension));

            // TODO - MAKE THE CSS CLASSES EXTENSIONS ON REFERENCES

            output.WriteLine("combo{0} = new ComponentArt.Web.UI.ComboBox();", f.Name);
            output.WriteLine("combo{0}.ID = \"combo{0}\";", f.Name);
            output.WriteLine("combo{0}.CssClass = \"" + extension.CssClass + "\";", f.Name);
            output.WriteLine("combo{0}.HoverCssClass = \"" + extension.HoverCssClass + "\";", f.Name);
            output.WriteLine("combo{0}.FocusedCssClass = \"" + extension.FocusedCssClass + "\";", f.Name);
            output.WriteLine("combo{0}.TextBoxCssClass = \"" + extension.TextBoxCssClass + "\";", f.Name);
            output.WriteLine("combo{0}.DropDownCssClass = \"" + extension.DropDownCssClass + "\";", f.Name);
            output.WriteLine("combo{0}.ItemCssClass = \"" + extension.ItemCssClass + "\";", f.Name);
            output.WriteLine("combo{0}.ItemHoverCssClass = \"" + extension.ItemHoverCssClass + "\";", f.Name);
            output.WriteLine("combo{0}.SelectedItemCssClass = \"" + extension.SelectedItemCssClass + "\";", f.Name);
            output.WriteLine("combo{0}.DropHoverImageUrl = \"" + extension.DropHoverImageUrl + "\";", f.Name);
            output.WriteLine("combo{0}.DropImageUrl = \"" + extension.DropImageUrl + "\";", f.Name);
            if (extension.Width.Type == System.Web.UI.WebControls.UnitType.Pixel)
            {
                output.WriteLine("combo{0}.Width = Unit.Pixel(" + extension.Width.Value.ToString() + ");", f.Name);
            }
            else if (extension.Width.Type == System.Web.UI.WebControls.UnitType.Percentage)
            {
                output.WriteLine("combo{0}.Width = Unit.Percentage(" + extension.Width.Value.ToString() + ");", f.Name);
            }
            output.WriteLine("combo{0}.TextBoxEnabled = false;", f.Name);
            if (!enableViewState)
            {
                output.WriteLine("// combo{0}.EnableViewState = false;      // This is not " +
                                 " yet possible, ComponentArt's ComboBox Requires ViewState!!!", f.Name);
            }

            if (addControlFormat.Length > 0)
            {
                output.WriteLine(addControlFormat,
                                 string.Format("combo{0}", f.Name),
                                 f.Caption.Length > 0 ? f.Caption : f.Name);
            }
            else
            {
                output.Write("Controls.Add(combo{0});", f.Name);
            }
        }
Ejemplo n.º 2
0
 public static ComponentArtEnumFieldExtension Find(EnumField f)
 {
     return((ComponentArtEnumFieldExtension)
            f.GetExtension(typeof(ComponentArtEnumFieldExtension)));
 }
Ejemplo n.º 3
0
 public static WebEditorEnumFieldExtension Find(EnumField f)
 {
     return((WebEditorEnumFieldExtension)
            f.GetExtension(typeof(WebEditorEnumFieldExtension)));
 }
Ejemplo n.º 4
0
        public override string Render()
        {
            CodeWriter output = new CodeWriter();

            output.WriteLine("/* ********************************************************** *");
            output.WriteLine(" * AMNS NitroCast v1.0 Web Grid Generator - GreyFox             *");
            output.WriteLine(" * Autogenerated by NitroCast © 2004 Roy A.E Hodges             *");
            output.WriteLine(" * All Rights Reserved                                        *");
            output.WriteLine(" * ---------------------------------------------------------- *");
            output.WriteLine(" * Source code may not be reproduced or redistributed without *");
            output.WriteLine(" * written expressed permission from the author.              *");
            output.WriteLine(" * Permission is granted to modify source code by licencee.   *");
            output.WriteLine(" * These permissions do not extend to third parties.          *");
            output.WriteLine(" * ********************************************************** */");
            output.WriteLine();

            output.WriteLine("using System;");
            output.WriteLine("using System.ComponentModel;");
            output.WriteLine("using System.Web;");
            output.WriteLine("using System.Web.UI;");
            output.WriteLine("using Amns.GreyFox.Web.UI.WebControls;");
            //
            // Add imported namespaces
            //
            int  importCount = -1;
            bool addImport   = true;

            string[] namespacelist = new string[_modelClass.ReferenceFields.Count];
            foreach (ReferenceField c in _modelClass.ReferenceFields)
            {
                addImport = true;

                foreach (string name in namespacelist)
                {
                    if (c.ReferenceType.NameSpace == name | c.ReferenceType.NameSpace == _modelClass.Namespace)
                    {
                        addImport = false;
                        break;
                    }
                }

                if (addImport)
                {
                    importCount++;
                    namespacelist[importCount] = c.ReferenceType.NameSpace;
                }
            }

            for (int x = 0; x <= importCount; x++)
            {
                output.WriteLine("using {0};", namespacelist[x]);
            }

            output.WriteLine();
            output.WriteLine("namespace {0}.Web.UI.WebControls", _modelClass.Namespace);
            output.WriteLine("{");

            output.Indent++;
            output.WriteLine("/// <summary>");
            output.WriteXmlSummary(string.Format("A custom grid for {0}.", _modelClass.Name));
            output.WriteLine("/// </summary>");
            output.Write("[ToolboxData(\"<{0}:");
            output.Write("{0}Grid runat=server>", _modelClass.Name);
            output.Write("</{0}:");
            output.WriteLine("{0}Grid>\")]", _modelClass.Name);

            //
            // Class Start
            //
            output.WriteLine("public class {0}Grid : TableGrid", _modelClass.Name);
            output.WriteLine("{");
            output.Indent++;

            //
            // Private Fields
            //
            if (!_modelClass.IsTableCoded)
            {
                if (_modelClass.DefaultTableName != string.Empty)
                {
                    output.WriteLine("private string tableName = \"{0}\";", _modelClass.DefaultTableName);
                }
                else
                {
                    output.WriteLine("private string tableName;");
                }
            }
            output.WriteLine();

            output.WriteLine("#region Public Properties");

            if (!_modelClass.IsTableCoded)
            {
                output.WriteLine("[Bindable(false),");
                output.Indent++;
                output.WriteLine("Category(\"Data\"),");
                output.WriteLine("DefaultValue(\"{0}\")]", _modelClass.DefaultTableName);
                output.Indent--;
                output.WriteProperty("string", "tableName", "TableName");
                output.WriteLine();
            }

            output.WriteLine("#endregion");
            output.WriteLine();

            output.WriteLine("protected override void OnInit(EventArgs e)");
            output.WriteLine("{");
            output.Indent++;

            output.WriteLine("base.OnInit(e);");
            output.WriteLine("features = TableWindowFeatures.ClipboardCopier | ");
            output.Indent++;
            output.WriteLine("TableWindowFeatures.Scroller |");
            output.WriteLine("TableWindowFeatures.WindowPrinter |");
            output.WriteLine("TableWindowFeatures.ClientSideSelector;");
            output.Indent--;

            //output.WriteLine("components = TableWindowComponents.Toolbar |");
            //output.Indent++;
            //output.WriteLine("TableWindowComponents.ViewPane;");
            //output.Indent--;

            output.Indent--;
            output.WriteLine("}");
            output.WriteLine();

            output.WriteLine("#region Rendering");
            output.WriteLine();

            output.WriteLine("/// <summary> ");
            output.WriteLine("/// Render this control to the output parameter specified.");
            output.WriteLine("/// </summary>");
            output.WriteLine("/// <param name=\"output\"> The HTML writer to write out to </param>");
            output.WriteLine("protected override void RenderContent(HtmlTextWriter output)");
            output.WriteLine("{");
            output.Indent++;

            if (_modelClass.IsTableCoded)
            {
                output.WriteLine("{0}Manager m = new {0}Manager();", _modelClass.Name);
            }
            else
            {
                output.WriteLine("{0}Manager m = new {0}Manager(tableName);", _modelClass.Name);
            }

            if (_modelClass.ReferenceFields.Count > 0)
            {
                output.WriteLine("{0}Collection {1}Collection = m.GetCollection(string.Empty, string.Empty, null);",
                                 _modelClass.Name, _modelClass.PrivateName);
            }
            else
            {
                output.WriteLine("{0}Collection {1}Collection = m.GetCollection(string.Empty, string.Empty);",
                                 _modelClass.Name, _modelClass.PrivateName);
            }

            #region Header Locked Row

            bool   commaEnabled = false;
            string headerRow    = "";            // <<----- REPLACE WITH STRINGBUILDER

            foreach (ClassFolder folder in _modelClass.Folders)
            {
                foreach (object i in folder.Items)
                {
                    if (i is ValueField)
                    {
                        ValueField f = (ValueField)i;

                        WebGridValueFieldExtension e = (WebGridValueFieldExtension)
                                                       f.GetExtension(typeof(WebGridValueFieldExtension));

                        if (e.GridEnabled)
                        {
                            if (commaEnabled)
                            {
                                headerRow += ", ";
                            }
                            headerRow   += "\"" + (f.Caption.Length > 0 ? f.Caption : f.Name) + "\"";
                            commaEnabled = true;
                        }
                    }
                    else if (i is ReferenceField)
                    {
                        ReferenceField f = (ReferenceField)i;
                        WebGridReferenceFieldExtension e = (WebGridReferenceFieldExtension)
                                                           f.GetExtension(typeof(WebGridReferenceFieldExtension));
                        if (e.GridEnabled)
                        {
                            if (commaEnabled)
                            {
                                headerRow += ", ";
                            }
                            headerRow   += "\"" + (f.Caption.Length > 0 ? f.Caption : f.Name) + "\"";
                            commaEnabled = true;
                        }
                    }
                    else if (i is EnumField)
                    {
                        EnumField f = (EnumField)i;
                        WebGridEnumFieldExtension e = (WebGridEnumFieldExtension)
                                                      f.GetExtension(typeof(WebGridEnumFieldExtension));
                        if (e.GridEnabled)
                        {
                            if (commaEnabled)
                            {
                                headerRow += ", ";
                            }
                            headerRow   += "\"" + (f.Caption.Length > 0 ? f.Caption : f.Name) + "\"";
                            commaEnabled = true;
                        }
                    }
                }
            }

            if (headerRow.Length > 0)
            {
                output.WriteLine("// Render Header Row");
                output.WriteLine("this.headerLockEnabled = true;");
                output.Write("RenderRow(this.HeaderRowCssClass, ");
                output.Write(headerRow);
                output.WriteLine(");");
                output.WriteLine();
            }

            #endregion

            output.WriteLine("bool rowflag = false;");
            output.WriteLine("string rowCssClass;");

            output.WriteLine("//");
            output.WriteLine("// Render Records");
            output.WriteLine("//");
            output.WriteLine("foreach({0} {1} in {1}Collection)", _modelClass.Name, _modelClass.PrivateName);
            output.WriteLine("{");
            output.Indent++;
            output.WriteLine("if(rowflag) rowCssClass = defaultRowCssClass;");
            output.WriteLine("else rowCssClass = alternateRowCssClass;");

            output.WriteLine("rowflag = !rowflag;");
            output.WriteLine("output.WriteBeginTag(\"tr\");");
            output.WriteLine("output.WriteAttribute(\"i\", {0}.ID.ToString());", _modelClass.PrivateName);
            output.WriteLine("output.WriteLine(HtmlTextWriter.TagRightChar);");
            output.WriteLine("output.Indent++;");
            output.WriteLine();

            foreach (ClassFolder folder in _modelClass.Folders)
            {
                foreach (object i in folder.Items)
                {
                    if (i is ValueField)
                    {
                        ValueField f = (ValueField)i;
                        WebGridValueFieldExtension e = (WebGridValueFieldExtension)
                                                       f.GetExtension(typeof(WebGridValueFieldExtension));
                        if (e.GridEnabled)
                        {
                            output.WriteLine("//");
                            output.WriteLine("// Render Main Representation of Record");
                            output.WriteLine("//");
                            output.WriteLine("output.WriteBeginTag(\"td\");");
                            output.WriteLine("output.WriteAttribute(\"valign\", \"top\");");
                            output.WriteLine("output.WriteAttribute(\"class\", rowCssClass);");
                            output.WriteLine("output.Write(HtmlTextWriter.TagRightChar);");
                            if (e.GridFormat.Length > 0)
                            {
                                output.WriteLine("output.Write({0}.{1}.ToString(\"{2}\"));", _modelClass.PrivateName, f.Name, e.GridFormat);
                            }
                            else
                            {
                                output.WriteLine("output.Write({0}.{1});", _modelClass.PrivateName, f.Name);
                            }
                            output.WriteLine("output.WriteEndTag(\"td\");");
                            output.WriteLine("output.WriteLine();");
                            output.WriteLine();
                        }
                    }
                    else if (i is ReferenceField)
                    {
                        ReferenceField c = (ReferenceField)i;
                        WebGridReferenceFieldExtension e = (WebGridReferenceFieldExtension)
                                                           c.GetExtension(typeof(WebGridReferenceFieldExtension));
                        if (e.GridEnabled)
                        {
                            output.WriteLine("//");
                            output.WriteLine("// Render Main Representation of Record");
                            output.WriteLine("//");
                            output.WriteLine("output.WriteBeginTag(\"td\");");
                            output.WriteLine("output.WriteAttribute(\"valign\", \"top\");");
                            output.WriteLine("output.WriteAttribute(\"class\", rowCssClass);");
                            output.WriteLine("output.Write(HtmlTextWriter.TagRightChar);");
                            output.WriteLine("if({0}.{1} != null)", _modelClass.PrivateName, c.Name);
                            output.WriteLine("{");
                            output.Indent++;
                            if (e.GridFormat.Length > 0)
                            {
                                output.WriteLine("output.Write({0}.{1}.ToString(\"{2}\"));", _modelClass.PrivateName, c.Name, e.GridFormat);
                            }
                            else
                            {
                                output.WriteLine("output.Write({0}.{1});", _modelClass.PrivateName, c.Name);
                            }
                            output.Indent--;
                            output.WriteLine("}");
                            output.WriteLine("else");
                            output.WriteLine("{");
                            output.Indent++;
                            output.WriteLine("output.Write(\"null\");");
                            output.Indent--;
                            output.WriteLine("}");
                            output.WriteLine("output.WriteEndTag(\"td\");");
                            output.WriteLine("output.WriteLine();");
                            output.WriteLine();
                        }
                    }
                    else if (i is EnumField)
                    {
                        EnumField f = (EnumField)i;
                        WebGridEnumFieldExtension e = (WebGridEnumFieldExtension)
                                                      f.GetExtension(typeof(WebGridEnumFieldExtension));
                        if (e.GridEnabled)
                        {
                            output.WriteLine("//");
                            output.WriteLine("// Render Main Representation of Record");
                            output.WriteLine("//");
                            output.WriteLine("output.WriteBeginTag(\"td\");");
                            output.WriteLine("output.WriteAttribute(\"valign\", \"top\");");
                            output.WriteLine("output.WriteAttribute(\"class\", rowCssClass);");
                            output.WriteLine("output.Write(HtmlTextWriter.TagRightChar);");
                            output.WriteLine("output.Write({0}.{1}.ToString());", _modelClass.PrivateName, f.Name);
                            output.WriteLine("output.WriteEndTag(\"td\");");
                            output.WriteLine("output.WriteLine();");
                            output.WriteLine();
                        }
                    }
                }
            }

            output.WriteLine("output.Indent--;");
            output.WriteLine("output.WriteEndTag(\"tr\");");
            output.WriteLine("output.WriteLine();");
            output.Indent--;
            output.WriteLine("}");
            output.Indent--;
            output.WriteLine("}");
            output.WriteLine();

            output.WriteLine("#endregion");
            output.WriteLine();

            //
            // Class End
            //
            output.Indent--;
            output.WriteLine("}");

            //
            // Namespace End
            //
            output.Indent--;
            output.WriteLine("}");

            return(output.ToString());
        }