Package com.sun.star.sheet

Examples of com.sun.star.sheet.FormulaToken


    public String printFormula(com.sun.star.sheet.FormulaToken[] aTokens, com.sun.star.table.CellAddress aReferencePos)
    {
        final StringBuffer ret = new StringBuffer();
        for (int i = 0; i < aTokens.length; i++)
        {
            final FormulaToken formulaToken = aTokens[i];
            if ( formulaToken.OpCode == opCodePush.Token.OpCode && !formulaToken.Data.equals(Any.VOID) )
            {
                ret.append(formulaToken.Data);
            }
            else if ( parserAllOpCodes.containsKey(formulaToken.OpCode) )
View Full Code Here


            }
            if ( i >= opCodes.length )
            {
                if ( !add )
                    continue;
                final FormulaToken token = new FormulaToken(ownTokenCounter++, Any.VOID);
                opCode = new FormulaOpCodeMapEntry(names[j], token);
            }
            parserNames.put(names[j], opCode);
            parserAllOpCodes.put(opCode.Token.OpCode, opCode);
            groupOpCodes[group].put(opCode.Token.OpCode, opCode);
View Full Code Here

        SingleReference ref = new SingleReference();
        ref.Column = addr.Column;
        ref.Row    = addr.Row;
        ref.Sheet  = addr.Sheet;
        ref.Flags = ReferenceFlags.SHEET_3D;
        FormulaToken token = new FormulaToken();
        token.OpCode = 0;
        token.Data = ref;
        return token;
    }
View Full Code Here

        for(int i = 0 ; i < tokens.length; i++)
            if (tokens[i].OpCode != 0)
                return false;

        FormulaToken token = tokens[0];

        if (SingleReference.class == token.Data.getClass()){

            SingleReference ref = (SingleReference)token.Data;
            m_xValidSheet = getSheetByIndex(ref.Sheet);
View Full Code Here

        ref.Reference1.Flags = ReferenceFlags.SHEET_3D;
        ref.Reference2.Column = rangeAddr.EndColumn;
        ref.Reference2.Row    = rangeAddr.EndRow;
        ref.Reference2.Sheet  = rangeAddr.Sheet;
        ref.Reference2.Flags = ReferenceFlags.SHEET_DELETED;
        FormulaToken token = new FormulaToken();
        token.OpCode = 0;
        token.Data = ref;
        FormulaToken[] tokens = { token };
        String rangeName = getFormulaParser().printFormula(tokens, new CellAddress());
        String[] sCells = rangeName.split(":", 2);
View Full Code Here

        tokens = getFormulaParser().parseFormula(formula, new CellAddress());
        return parseFormula(tokens);
    }

    public String getCellName(XCell xCell) {
        FormulaToken formulaToken = getRefToken(xCell);
        SingleReference ref = (SingleReference)formulaToken.Data;
        // We don't want to display the sheet name, and the cell position should be absolute, not relative.
        ref.Flags = 0;
        FormulaToken[] tokens = { formulaToken };
        XFormulaParser xParser = getFormulaParser();
View Full Code Here

        SingleReference ref = new SingleReference();
        ref.Column = addr.Column;
        ref.Row    = addr.Row;
        ref.Sheet  = addr.Sheet;
        ref.Flags = ReferenceFlags.SHEET_3D;
        FormulaToken token = new FormulaToken();
        token.OpCode = 0;
        token.Data = ref;
        return token;
    }
View Full Code Here

                int brackets = 0;
                final GeneratedFormulaParserTokenManager tokenParser = new GeneratedFormulaParserTokenManager(new JavaCharStream(new StringReader(formula), 1, 1));
                Token token = tokenParser.getNextToken();
                while (token.kind != GeneratedFormulaParserConstants.EOF)
                {
                    final FormulaToken formulaToken;
                    images.add(token.image);
                    final String upper = token.image.toUpperCase();
                    if (parserNames.containsKey(upper))
                    {
                        if ("(".equals(token.image))
                        {
                            brackets++;
                        }
                        else if (")".equals(token.image))
                        {
                            --brackets;
                        }
                        final FormulaOpCodeMapEntry opCode = (FormulaOpCodeMapEntry) parserNames.get(upper);
                        formulaToken = opCode.Token;
                    }
                    else if (token.kind == GeneratedFormulaParserConstants.WHITESPACE)
                    {
                        final FormulaOpCodeMapEntry opCode = (FormulaOpCodeMapEntry) specialOpCodes.get(FormulaMapGroupSpecialOffset.SPACES);
                        formulaToken = opCode.Token;
                    }
                    else
                    {
                        formulaToken = new FormulaToken();
                        formulaToken.OpCode = opCodePush.Token.OpCode;
                        formulaToken.Data = new Any(Type.STRING, token.image);
                    }

                    tokens.add(formulaToken);
                    token = tokenParser.getNextToken();
                }
                if (brackets > 0)
                {
                    final FormulaOpCodeMapEntry opCode = (FormulaOpCodeMapEntry) parserNames.get(")");
                    while (brackets-- != 0)
                    {
                        formula = formula.concat(")");
                        images.add(")");
                        tokens.add(opCode.Token);
                    }

                }

                parser.parse(formula);
            }
            catch (ParseException ex)
            {
                boolean found = false;
                // error occured so all token must be bad
                for (int i = 0; i < tokens.size(); i++)
                {
                    if (!found && ex.currentToken != null && images.get(i).equals(ex.currentToken.image))
                    {
                        found = true;
                    }
                    if (found)
                    {
                        final FormulaToken dest = new FormulaToken();
                        dest.OpCode = ((FormulaOpCodeMapEntry) specialOpCodes.get(FormulaMapGroupSpecialOffset.BAD)).Token.OpCode;
                        dest.Data = new Any(Type.STRING, images.get(i));
                        tokens.remove(i);
                        tokens.add(i, dest);
                    }
View Full Code Here

    public String printFormula(com.sun.star.sheet.FormulaToken[] aTokens, com.sun.star.table.CellAddress aReferencePos)
    {
        final StringBuffer ret = new StringBuffer();
        for (int i = 0; i < aTokens.length; i++)
        {
            final FormulaToken formulaToken = aTokens[i];
            if (formulaToken.OpCode == opCodePush.Token.OpCode && !formulaToken.Data.equals(Any.VOID))
            {
                ret.append(formulaToken.Data);
            }
            else if (parserAllOpCodes.containsKey(formulaToken.OpCode))
View Full Code Here

            {
                if (!add)
                {
                    continue;
                }
                final FormulaToken token = new FormulaToken(ownTokenCounter++, Any.VOID);
                opCode = new FormulaOpCodeMapEntry(names[j], token);
            }
            parserNames.put(names[j], opCode);
            parserAllOpCodes.put(opCode.Token.OpCode, opCode);
            groupOpCodes[group].put(opCode.Token.OpCode, opCode);
View Full Code Here

TOP

Related Classes of com.sun.star.sheet.FormulaToken

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.