Example #1
0
        /**
         * Constructor called when creating a data validation from the API
         */
        public DVParser(int c1, int r1, int c2, int r2)
        {
            wasCopied  = false;
            type       = LIST;
            errorStyle = STOP;
            condition  = BETWEEN;
            hasExtendedCellsValidation = false;

            // the options
            stringListGiven   = false;
            emptyCellsAllowed = true;
            suppressArrow     = false;
            showPrompt        = true;
            showError         = true;

            promptTitle = "\0";
            errorTitle  = "\0";
            promptText  = "\0";
            errorText   = "\0";
            StringBuilder formulaString = new StringBuilder();

            CellReferenceHelper.getCellReference(c1, r1, formulaString);
            formulaString.Append(':');
            CellReferenceHelper.getCellReference(c2, r2, formulaString);
            formula1String = formulaString.ToString();
        }
Example #2
0
        /**
         * Constructor called when creating a data validation from the API
         */
        public DVParser(double val1, double val2, Condition c)
        {
            wasCopied  = false;
            type       = DECIMAL;
            errorStyle = STOP;
            condition  = c;
            hasExtendedCellsValidation = false;

            // the options
            stringListGiven   = false;
            emptyCellsAllowed = true;
            suppressArrow     = false;
            showPrompt        = true;
            showError         = true;

            promptTitle    = "\0";
            errorTitle     = "\0";
            promptText     = "\0";
            errorText      = "\0";
            formula1String = DECIMAL_FORMAT.format(val1);

            if (!System.Double.IsNaN(val2))
            {
                formula2String = DECIMAL_FORMAT.format(val2);
            }
        }
Example #3
0
        /// <Summary>Render the  control</Summary>
        /// <Param name="writer">An Html Text Writer</Param>
        protected override void Render(HtmlTextWriter writer)
        {
            ControlStyle.AddAttributesToRender(writer);

            //Render outer <div> Tag
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            //Render image <img> Tag
            writer.AddAttribute(HtmlTextWriterAttribute.Src, GetUrl());
            writer.AddAttribute(HtmlTextWriterAttribute.Border, "0");
            if (!String.IsNullOrEmpty(ToolTip))
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Alt, ToolTip);
            }
            writer.RenderBeginTag(HtmlTextWriterTag.Img);
            writer.RenderEndTag();

            //Render Help Text
            if (!String.IsNullOrEmpty(Text))
            {
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                writer.Write(Text);
                writer.RenderEndTag();
            }

            //Render text box <input> Tag
            writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
            writer.AddAttribute(HtmlTextWriterAttribute.Style, "width:" + Width);
            writer.AddAttribute(HtmlTextWriterAttribute.Maxlength, _CaptchaText.Length.ToString());
            writer.AddAttribute(HtmlTextWriterAttribute.Name, this.UniqueID);
            if (!String.IsNullOrEmpty(AccessKey))
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Accesskey, AccessKey);
            }
            if (!Enabled)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Disabled, "disabled");
            }
            if (TabIndex > 0)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Tabindex, TabIndex.ToString());
            }
            writer.AddAttribute(HtmlTextWriterAttribute.Value, "");
            writer.RenderBeginTag(HtmlTextWriterTag.Input);
            writer.RenderEndTag();

            //Render error message
            if (!IsValid && Page.IsPostBack)
            {
                ErrorStyle.AddAttributesToRender(writer);
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                writer.Write(ErrorMessage);
                writer.RenderEndTag();
            }

            //Render </div>
            writer.RenderEndTag();
        }
Example #4
0
            public static ErrorStyle getErrorStyle(int v)
            {
                ErrorStyle found = null;

                for (int i = 0; i < types.Length && found == null; i++)
                {
                    if (types[i].value == v)
                    {
                        found = types[i];
                    }
                }
                return(found);
            }
Example #5
0
        /**
         * Constructor called when creating a data validation from the API
         */
        public DVParser(IList strings)
        {
            wasCopied  = false;
            type       = LIST;
            errorStyle = STOP;
            condition  = BETWEEN;
            hasExtendedCellsValidation = false;

            // the options
            stringListGiven   = true;
            emptyCellsAllowed = true;
            suppressArrow     = false;
            showPrompt        = true;
            showError         = true;

            promptTitle = "\0";
            errorTitle  = "\0";
            promptText  = "\0";
            errorText   = "\0";
            if (strings.Count == 0)
            {
                //logger.warn("no validation strings - ignoring");
            }

            StringBuilder formulaString = new StringBuilder();

            foreach (string s in strings)
            {
                if (formulaString.Length > 0)
                {
                    formulaString.Append('\0');
                    formulaString.Append(' ');
                }
                formulaString.Append(s);
            }

            // If the formula string exceeds
            // the maximum validation list length, then truncate and stop there
            if (formulaString.Length > MAX_VALIDATION_LIST_LENGTH)
            {
                //logger.warn("Validation list exceeds maximum number of characters - truncating");
                formulaString.Remove(MAX_VALIDATION_LIST_LENGTH, formulaString.Length - MAX_VALIDATION_LIST_LENGTH);
            }

            // Put the string in quotes
            formulaString.Insert(0, '\"');
            formulaString.Append('\"');
            formula1String = formulaString.ToString();
        }
Example #6
0
        public CodeEditorControl(CodeEditorContent content, OpenedFile file)
        {
            InitializeComponent();

            _content   = content;
            _extension = (CodeEditorExtension)content.ParentExtension;
            _file      = file;

            SetupTextBox();
            _errorStyle   = new ErrorStyle(_extension.StyleMap.DefaultText.Description);
            _warningStyle = new WarningStyle(_extension.StyleMap.DefaultText.Description);

            contextMenuStrip1.Renderer = _extension.ExtensionHost.ControlManager.MenuRenderer;

            _componentMuiIdentifiers = new Dictionary <object, string>()
            {
                { this.cutToolStripMenuItem, "CodeEditorControl.ContextMenu.Cut" },
                { this.copyToolStripMenuItem, "CodeEditorControl.ContextMenu.Copy" },
                { this.pasteToolStripMenuItem, "CodeEditorControl.ContextMenu.Paste" },
                { this.selectAllToolStripMenuItem, "CodeEditorControl.ContextMenu.SelectAll" },
            };

            _extension.ExtensionHost.UILanguageChanged += ExtensionHost_UILanguageChanged;
            _extension.ExtensionHost.BookmarkManager.Bookmarks.InsertedItem += Bookmarks_InsertedItem;
            _extension.ExtensionHost.BookmarkManager.Bookmarks.RemovedItem  += Bookmarks_RemovedItem;
            _extension.ExtensionHost.ErrorManager.Errors.InsertedItem       += Errors_InsertedItem;
            _extension.ExtensionHost.ErrorManager.Errors.RemovedItem        += Errors_RemovedItem;
            _extension.ExtensionHost.ErrorManager.Errors.ClearedCollection  += Errors_ClearedCollection;
            _extension.ExtensionHost.DebugStarted += ExtensionHost_DebugStarted;
            _extension.ExtensionHost.DebugStopped += ExtensionHost_DebugStopped;

            _instructionPointer = new CodeEditorInstructionPointer(TextBox, _extension.StyleMap.InstructionPointerStyle);

            if (_extension.ExtensionHost.IsDebugging)
            {
                ExtensionHost_DebugStarted(null, null);
            }

            ExtensionHost_UILanguageChanged(null, null);

            _extension.AppliedSettings += extension_AppliedSettings;
            extension_AppliedSettings(null, null);

            file.HasUnsavedDataChanged += file_HasUnsavedDataChanged;
        }
Example #7
0
        /**
         * Constructor called when creating a data validation from the API
         */
        public DVParser(string namedRange)
        {
            // Handle the case for an empty string
            if (namedRange.Length == 0)
            {
                wasCopied  = false;
                type       = FORMULA;
                errorStyle = STOP;
                condition  = EQUAL;
                hasExtendedCellsValidation = false;
                // the options
                stringListGiven   = false;
                emptyCellsAllowed = false;
                suppressArrow     = false;
                showPrompt        = true;
                showError         = true;

                promptTitle    = "\0";
                errorTitle     = "\0";
                promptText     = "\0";
                errorText      = "\0";
                formula1String = "\"\"";
                return;
            }

            wasCopied  = false;
            type       = LIST;
            errorStyle = STOP;
            condition  = BETWEEN;
            hasExtendedCellsValidation = false;

            // the options
            stringListGiven   = false;
            emptyCellsAllowed = true;
            suppressArrow     = false;
            showPrompt        = true;
            showError         = true;

            promptTitle    = "\0";
            errorTitle     = "\0";
            promptText     = "\0";
            errorText      = "\0";
            formula1String = namedRange;
        }
Example #8
0
        /**
         * Constructor called when doing a cell deep copy
         */
        public DVParser(DVParser copy)
        {
            wasCopied                  = true;
            type                       = copy.type;
            errorStyle                 = copy.errorStyle;
            condition                  = copy.condition;
            stringListGiven            = copy.stringListGiven;
            emptyCellsAllowed          = copy.emptyCellsAllowed;
            suppressArrow              = copy.suppressArrow;
            showPrompt                 = copy.showPrompt;
            showError                  = copy.showError;
            promptTitle                = copy.promptTitle;
            promptText                 = copy.promptText;
            errorTitle                 = copy.errorTitle;
            errorText                  = copy.errorText;
            hasExtendedCellsValidation = copy.extendedCellsValidation();

            row1    = copy.row1;
            row2    = copy.row2;
            column1 = copy.column1;
            column2 = copy.column2;

            // Don't copy the formula parsers - just take their string equivalents
            if (copy.formula1String != null)
            {
                formula1String = copy.formula1String;
                formula2String = copy.formula2String;
            }
            else
            {
                try
                {
                    formula1String = copy.formula1.getFormula();
                    formula2String = (copy.formula2 != null) ?
                                     copy.formula2.getFormula() : null;
                }
                catch (FormulaException e)
                {
                    //logger.warn("Cannot parse validation formula:  " + e.Message);
                }
            }
            // Don't copy the cell references - these will be added later
        }
Example #9
0
        /**
         * Constructor called when creating a data validation from the API
         */
        public DVParser(IList strings)
        {
            wasCopied = false;
            type = LIST;
            errorStyle = STOP;
            condition = BETWEEN;
            hasExtendedCellsValidation = false;

            // the options
            stringListGiven = true;
            emptyCellsAllowed = true;
            suppressArrow = false;
            showPrompt = true;
            showError = true;

            promptTitle = "\0";
            errorTitle = "\0";
            promptText = "\0";
            errorText = "\0";
            if (strings.Count == 0)
                {
                //logger.warn("no validation strings - ignoring");
                }

            StringBuilder formulaString = new StringBuilder();
            foreach (string s in strings)
                {
                if (formulaString.Length > 0)
                    {
                    formulaString.Append('\0');
                    formulaString.Append(' ');
                    }
                formulaString.Append(s);
                }

            // If the formula string exceeds
            // the maximum validation list length, then truncate and stop there
            if (formulaString.Length > MAX_VALIDATION_LIST_LENGTH)
                {
                //logger.warn("Validation list exceeds maximum number of characters - truncating");
                formulaString.Remove(MAX_VALIDATION_LIST_LENGTH,formulaString.Length - MAX_VALIDATION_LIST_LENGTH);
                }

            // Put the string in quotes
            formulaString.Insert(0,'\"');
            formulaString.Append('\"');
            formula1String = formulaString.ToString();
        }
Example #10
0
        /**
         * Constructor called when creating a data validation from the API
         */
        public DVParser(string namedRange)
        {
            // Handle the case for an empty string
            if (namedRange.Length == 0)
                {
                wasCopied = false;
                type = FORMULA;
                errorStyle = STOP;
                condition = EQUAL;
                hasExtendedCellsValidation = false;
                // the options
                stringListGiven = false;
                emptyCellsAllowed = false;
                suppressArrow = false;
                showPrompt = true;
                showError = true;

                promptTitle = "\0";
                errorTitle = "\0";
                promptText = "\0";
                errorText = "\0";
                formula1String = "\"\"";
                return;
                }

            wasCopied = false;
            type = LIST;
            errorStyle = STOP;
            condition = BETWEEN;
            hasExtendedCellsValidation = false;

            // the options
            stringListGiven = false;
            emptyCellsAllowed = true;
            suppressArrow = false;
            showPrompt = true;
            showError = true;

            promptTitle = "\0";
            errorTitle = "\0";
            promptText = "\0";
            errorText = "\0";
            formula1String = namedRange;
        }
Example #11
0
        /**
         * Constructor
         */
        public DVParser(byte[] data,
                        ExternalSheet es,
                        WorkbookMethods nt,
                        WorkbookSettings ws)
        {
            Assert.verify(nt != null);

            wasCopied = false;
            int options = IntegerHelper.getInt(data[0], data[1], data[2], data[3]);

            int typeVal = options & 0xf;

            type = DVType.getType(typeVal);

            int errorStyleVal = (options & 0x70) >> 4;

            errorStyle = ErrorStyle.getErrorStyle(errorStyleVal);

            int conditionVal = (options & 0xf00000) >> 20;

            condition = Condition.getCondition(conditionVal);

            stringListGiven   = (options & STRING_LIST_GIVEN_MASK) != 0;
            emptyCellsAllowed = (options & EMPTY_CELLS_ALLOWED_MASK) != 0;
            suppressArrow     = (options & SUPPRESS_ARROW_MASK) != 0;
            showPrompt        = (options & SHOW_PROMPT_MASK) != 0;
            showError         = (options & SHOW_ERROR_MASK) != 0;

            int pos    = 4;
            int length = IntegerHelper.getInt(data[pos], data[pos + 1]);

            if (length > 0 && data[pos + 2] == 0)
            {
                promptTitle = StringHelper.getString(data, length, pos + 3, ws);
                pos        += length + 3;
            }
            else if (length > 0)
            {
                promptTitle = StringHelper.getUnicodeString(data, length, pos + 3);
                pos        += length * 2 + 3;
            }
            else
            {
                pos += 3;
            }

            length = IntegerHelper.getInt(data[pos], data[pos + 1]);
            if (length > 0 && data[pos + 2] == 0)
            {
                errorTitle = StringHelper.getString(data, length, pos + 3, ws);
                pos       += length + 3;
            }
            else if (length > 0)
            {
                errorTitle = StringHelper.getUnicodeString(data, length, pos + 3);
                pos       += length * 2 + 3;
            }
            else
            {
                pos += 3;
            }

            length = IntegerHelper.getInt(data[pos], data[pos + 1]);
            if (length > 0 && data[pos + 2] == 0)
            {
                promptText = StringHelper.getString(data, length, pos + 3, ws);
                pos       += length + 3;
            }
            else if (length > 0)
            {
                promptText = StringHelper.getUnicodeString(data, length, pos + 3);
                pos       += length * 2 + 3;
            }
            else
            {
                pos += 3;
            }

            length = IntegerHelper.getInt(data[pos], data[pos + 1]);
            if (length > 0 && data[pos + 2] == 0)
            {
                errorText = StringHelper.getString(data, length, pos + 3, ws);
                pos      += length + 3;
            }
            else if (length > 0)
            {
                errorText = StringHelper.getUnicodeString(data, length, pos + 3);
                pos      += length * 2 + 3;
            }
            else
            {
                pos += 3;
            }

            int formula1Length = IntegerHelper.getInt(data[pos], data[pos + 1]);

            pos += 4;
            int formula1Pos = pos;

            pos += formula1Length;

            int formula2Length = IntegerHelper.getInt(data[pos], data[pos + 1]);

            pos += 4;
            int formula2Pos = pos;

            pos += formula2Length;

            pos += 2;

            row1 = IntegerHelper.getInt(data[pos], data[pos + 1]);
            pos += 2;

            row2 = IntegerHelper.getInt(data[pos], data[pos + 1]);
            pos += 2;

            column1 = IntegerHelper.getInt(data[pos], data[pos + 1]);
            pos    += 2;

            column2 = IntegerHelper.getInt(data[pos], data[pos + 1]);
            pos    += 2;

            hasExtendedCellsValidation = (row1 == row2 && column1 == column2) ? false : true;

            // Do the formulas
            try
            {
                // First, create a temporary  blank cell for any formula relative
                // references
                EmptyCell tmprt = new EmptyCell(column1, row1);

                if (formula1Length != 0)
                {
                    byte[] tokens = new byte[formula1Length];
                    System.Array.Copy(data, formula1Pos, tokens, 0, formula1Length);
                    formula1 = new FormulaParser(tokens, tmprt, es, nt, ws,
                                                 ParseContext.DATA_VALIDATION);
                    formula1.parse();
                }

                if (formula2Length != 0)
                {
                    byte[] tokens = new byte[formula2Length];
                    System.Array.Copy(data, formula2Pos, tokens, 0, formula2Length);
                    formula2 = new FormulaParser(tokens, tmprt, es, nt, ws,
                                                 ParseContext.DATA_VALIDATION);
                    formula2.parse();
                }
            }
            catch (FormulaException e)
            {
                //logger.warn(e.Message + " for cells " +
                //    CellReferenceHelper.getCellReference(column1,row1) + "-" +
                //    CellReferenceHelper.getCellReference(column2,row2));
            }
        }
Example #12
0
        /**
         * Constructor called when creating a data validation from the API
         */
        public DVParser(int c1,int r1,int c2,int r2)
        {
            wasCopied = false;
            type = LIST;
            errorStyle = STOP;
            condition = BETWEEN;
            hasExtendedCellsValidation = false;

            // the options
            stringListGiven = false;
            emptyCellsAllowed = true;
            suppressArrow = false;
            showPrompt = true;
            showError = true;

            promptTitle = "\0";
            errorTitle = "\0";
            promptText = "\0";
            errorText = "\0";
            StringBuilder formulaString = new StringBuilder();
            CellReferenceHelper.getCellReference(c1,r1,formulaString);
            formulaString.Append(':');
            CellReferenceHelper.getCellReference(c2,r2,formulaString);
            formula1String = formulaString.ToString();
        }
Example #13
0
        /**
         * Constructor called when creating a data validation from the API
         */
        public DVParser(double val1,double val2,Condition c)
        {
            wasCopied = false;
            type = DECIMAL;
            errorStyle = STOP;
            condition = c;
            hasExtendedCellsValidation = false;

            // the options
            stringListGiven = false;
            emptyCellsAllowed = true;
            suppressArrow = false;
            showPrompt = true;
            showError = true;

            promptTitle = "\0";
            errorTitle = "\0";
            promptText = "\0";
            errorText = "\0";
            formula1String = DECIMAL_FORMAT.format(val1);

            if (!System.Double.IsNaN(val2))
                formula2String = DECIMAL_FORMAT.format(val2);
        }
Example #14
0
        /// <summary>
        /// Render the  control
        /// </summary>
        /// <param name="writer">An Html Text Writer</param>
        /// <history>
        ///     [cnurse]	03/17/2006	created
        /// </history>
        protected override void Render(HtmlTextWriter writer)
        {
            ControlStyle.AddAttributesToRender(writer);

            //Render outer <div> Tag
            writer.AddAttribute("class", "dnnLeft");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            //Render image <img> Tag
            writer.AddAttribute(HtmlTextWriterAttribute.Src, GetUrl());
            writer.AddAttribute(HtmlTextWriterAttribute.Border, "0");
            if (!String.IsNullOrEmpty(ToolTip))
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Alt, ToolTip);
            }
            else
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Alt, Localization.GetString("CaptchaAlt.Text", Localization.SharedResourceFile));
            }
            writer.RenderBeginTag(HtmlTextWriterTag.Img);
            writer.RenderEndTag();

            //Render Help Text
            if (!String.IsNullOrEmpty(Text))
            {
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                writer.Write(Text);
                writer.RenderEndTag();
            }

            //Render text box <input> Tag
            TextBoxStyle.AddAttributesToRender(writer);
            writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
            writer.AddAttribute(HtmlTextWriterAttribute.Style, "width:" + Width);
            writer.AddAttribute(HtmlTextWriterAttribute.Maxlength, _CaptchaText.Length.ToString());
            writer.AddAttribute(HtmlTextWriterAttribute.Name, UniqueID);
            if (!String.IsNullOrEmpty(AccessKey))
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Accesskey, AccessKey);
            }
            if (!Enabled)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Disabled, "disabled");
            }
            if (TabIndex > 0)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Tabindex, TabIndex.ToString());
            }
            if (_UserText == _CaptchaText)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Value, _UserText);
            }
            else
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Value, "");
            }
            writer.RenderBeginTag(HtmlTextWriterTag.Input);
            writer.RenderEndTag();

            //Render error message
            if (!IsValid && Page.IsPostBack && !string.IsNullOrEmpty(_UserText))
            {
                ErrorStyle.AddAttributesToRender(writer);
                writer.RenderBeginTag(HtmlTextWriterTag.Span);
                writer.Write(ErrorMessage);
                writer.RenderEndTag();
            }

            //Render </div>
            writer.RenderEndTag();
        }
Example #15
0
        /**
         * Constructor
         */
        public DVParser(byte[] data,
            ExternalSheet es,
            WorkbookMethods nt,
            WorkbookSettings ws)
        {
            Assert.verify(nt != null);

            wasCopied = false;
            int options = IntegerHelper.getInt(data[0],data[1],data[2],data[3]);

            int typeVal = options & 0xf;
            type = DVType.getType(typeVal);

            int errorStyleVal = (options & 0x70) >> 4;
            errorStyle = ErrorStyle.getErrorStyle(errorStyleVal);

            int conditionVal = (options & 0xf00000) >> 20;
            condition = Condition.getCondition(conditionVal);

            stringListGiven = (options & STRING_LIST_GIVEN_MASK) != 0;
            emptyCellsAllowed = (options & EMPTY_CELLS_ALLOWED_MASK) != 0;
            suppressArrow = (options & SUPPRESS_ARROW_MASK) != 0;
            showPrompt = (options & SHOW_PROMPT_MASK) != 0;
            showError = (options & SHOW_ERROR_MASK) != 0;

            int pos = 4;
            int length = IntegerHelper.getInt(data[pos],data[pos + 1]);
            if (length > 0 && data[pos + 2] == 0)
                {
                promptTitle = StringHelper.getString(data,length,pos + 3,ws);
                pos += length + 3;
                }
            else if (length > 0)
                {
                promptTitle = StringHelper.getUnicodeString(data,length,pos + 3);
                pos += length * 2 + 3;
                }
            else
                {
                pos += 3;
                }

            length = IntegerHelper.getInt(data[pos],data[pos + 1]);
            if (length > 0 && data[pos + 2] == 0)
                {
                errorTitle = StringHelper.getString(data,length,pos + 3,ws);
                pos += length + 3;
                }
            else if (length > 0)
                {
                errorTitle = StringHelper.getUnicodeString(data,length,pos + 3);
                pos += length * 2 + 3;
                }
            else
                {
                pos += 3;
                }

            length = IntegerHelper.getInt(data[pos],data[pos + 1]);
            if (length > 0 && data[pos + 2] == 0)
                {
                promptText = StringHelper.getString(data,length,pos + 3,ws);
                pos += length + 3;
                }
            else if (length > 0)
                {
                promptText = StringHelper.getUnicodeString(data,length,pos + 3);
                pos += length * 2 + 3;
                }
            else
                {
                pos += 3;
                }

            length = IntegerHelper.getInt(data[pos],data[pos + 1]);
            if (length > 0 && data[pos + 2] == 0)
                {
                errorText = StringHelper.getString(data,length,pos + 3,ws);
                pos += length + 3;
                }
            else if (length > 0)
                {
                errorText = StringHelper.getUnicodeString(data,length,pos + 3);
                pos += length * 2 + 3;
                }
            else
                {
                pos += 3;
                }

            int formula1Length = IntegerHelper.getInt(data[pos],data[pos + 1]);
            pos += 4;
            int formula1Pos = pos;
            pos += formula1Length;

            int formula2Length = IntegerHelper.getInt(data[pos],data[pos + 1]);
            pos += 4;
            int formula2Pos = pos;
            pos += formula2Length;

            pos += 2;

            row1 = IntegerHelper.getInt(data[pos],data[pos + 1]);
            pos += 2;

            row2 = IntegerHelper.getInt(data[pos],data[pos + 1]);
            pos += 2;

            column1 = IntegerHelper.getInt(data[pos],data[pos + 1]);
            pos += 2;

            column2 = IntegerHelper.getInt(data[pos],data[pos + 1]);
            pos += 2;

            hasExtendedCellsValidation = (row1 == row2 && column1 == column2) ? false : true;

            // Do the formulas
            try
                {
                // First, create a temporary  blank cell for any formula relative
                // references
                EmptyCell tmprt = new EmptyCell(column1,row1);

                if (formula1Length != 0)
                    {
                    byte[] tokens = new byte[formula1Length];
                    System.Array.Copy(data,formula1Pos,tokens,0,formula1Length);
                    formula1 = new FormulaParser(tokens,tmprt,es,nt,ws,
                                                 ParseContext.DATA_VALIDATION);
                    formula1.parse();
                    }

                if (formula2Length != 0)
                    {
                    byte[] tokens = new byte[formula2Length];
                    System.Array.Copy(data,formula2Pos,tokens,0,formula2Length);
                    formula2 = new FormulaParser(tokens,tmprt,es,nt,ws,
                                                 ParseContext.DATA_VALIDATION);
                    formula2.parse();
                    }
                }
            catch (FormulaException e)
                {
                //logger.warn(e.Message + " for cells " +
                //    CellReferenceHelper.getCellReference(column1,row1) + "-" +
                //    CellReferenceHelper.getCellReference(column2,row2));
                }
        }
Example #16
0
        /// <summary>
        /// Render the control
        /// </summary>
        /// <param name="output">An Html Text Writer.</param>
        protected override void RenderContents(HtmlTextWriter output)
        {
            try
            {
                ControlStyle.AddAttributesToRender(output);
                output.RenderBeginTag(HtmlTextWriterTag.Div);

                // Render image <img> Tag
                output.AddAttribute(HtmlTextWriterAttribute.Src, GetUrl());
                output.AddAttribute(HtmlTextWriterAttribute.Border, "0");

                if (ToolTip.Length > 0)
                {
                    output.AddAttribute(HtmlTextWriterAttribute.Alt, ToolTip);
                }
                else
                {
                    output.AddAttribute(HtmlTextWriterAttribute.Alt, "CaptchaAlt.Text");
                }

                output.RenderBeginTag(HtmlTextWriterTag.Img);
                output.RenderEndTag();

                // Render Help Text
                if (_instructions.Length > 0)
                {
                    output.RenderBeginTag(HtmlTextWriterTag.Div);
                    output.Write(_instructions);
                    output.RenderEndTag();
                }

                // Render text box <input> Tag
                TextBoxStyle.AddAttributesToRender(output);
                output.AddAttribute(HtmlTextWriterAttribute.Type, "text");
                output.AddAttribute(HtmlTextWriterAttribute.Style, "width:" + Width.ToString());
                output.AddAttribute(HtmlTextWriterAttribute.Maxlength, _captchaText.Length.ToString());
                output.AddAttribute(HtmlTextWriterAttribute.Name, this.UniqueID);

                if (AccessKey.Length > 0)
                {
                    output.AddAttribute(HtmlTextWriterAttribute.Accesskey, AccessKey);
                }

                if (!Enabled)
                {
                    output.AddAttribute(HtmlTextWriterAttribute.Disabled, "disabled");
                }

                if (TabIndex > 0)
                {
                    output.AddAttribute(HtmlTextWriterAttribute.Tabindex, TabIndex.ToString());
                }

                if (_userText.ToLower() == _captchaText.ToLower())
                {
                    output.AddAttribute(HtmlTextWriterAttribute.Value, _userText);
                }
                else
                {
                    output.AddAttribute(HtmlTextWriterAttribute.Value, "");
                }

                output.RenderBeginTag(HtmlTextWriterTag.Input);
                output.RenderEndTag();

                // Write an error message if the user entered the wrong
                // text for the post back operation.
                if (!IsValid && Page.IsPostBack && !String.IsNullOrEmpty(_userText))
                {
                    ErrorStyle.AddAttributesToRender(output);
                    output.RenderBeginTag(HtmlTextWriterTag.Div);
                    output.Write(ErrorMessage);
                    output.RenderEndTag();
                }

                // Render </div>
                output.RenderEndTag();
            }
            catch (Exception ex)
            {
                OnError(new ErrorMessageArgs(ex.Message));
            }
        }
Example #17
0
        /**
         * Constructor called when doing a cell deep copy
         */
        public DVParser(DVParser copy)
        {
            wasCopied = true;
            type = copy.type;
            errorStyle = copy.errorStyle;
            condition = copy.condition;
            stringListGiven = copy.stringListGiven;
            emptyCellsAllowed = copy.emptyCellsAllowed;
            suppressArrow = copy.suppressArrow;
            showPrompt = copy.showPrompt;
            showError = copy.showError;
            promptTitle = copy.promptTitle;
            promptText = copy.promptText;
            errorTitle = copy.errorTitle;
            errorText = copy.errorText;
            hasExtendedCellsValidation = copy.extendedCellsValidation();

            row1 = copy.row1;
            row2 = copy.row2;
            column1 = copy.column1;
            column2 = copy.column2;

            // Don't copy the formula parsers - just take their string equivalents
            if (copy.formula1String != null)
                {
                formula1String = copy.formula1String;
                formula2String = copy.formula2String;
                }
            else
                {
                try
                    {
                    formula1String = copy.formula1.getFormula();
                    formula2String = (copy.formula2 != null) ?
                      copy.formula2.getFormula() : null;
                    }
                catch (FormulaException e)
                    {
                    //logger.warn("Cannot parse validation formula:  " + e.Message);
                    }
                }
            // Don't copy the cell references - these will be added later
        }