--- a/webengine/wmlengine/src/css/include/CSSVariableStyleSheet.h Fri Jun 25 18:06:10 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,326 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Map containing the Variable CSS style rules
-*
-*/
-
-
-#ifndef CCSSVariableStyleSheet_H
-#define CCSSVariableStyleSheet_H
-
-// INCLUDES
-#include <e32base.h>
-#include "nw_css_defaultstylesheeti.h"
-#include "CSSRuleList.h"
-
-// CONSTANTS
-
-// MACROS
-
-// FUNCTION PROTOTYPES
-class TCSSParser;
-struct TCSSPropertyTablePropEntry;
-
-// CLASS DECLARATION
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
- extern NW_WBXML_Dictionary_t NW_XHTML_WBXMLDictionary;
-
-#ifdef __cplusplus
-} // extern "C" {
-#endif /* __cplusplus */
-
-
-
-/** *****************************************************************
- * These structs are simple wrappers for the css property and string
- * entries. They wrap the same structures found in the default style
- * sheets. Note that a flag indicates whether they entry is a static
- * referring to the fixed table or a dynamic one referring to the
- * dynamic one. The dynamic (e.g. variable) entry is heap allocated and
- * as such it and its components should be deallocated.
- *
- * @lib css.lib
- * @since 2.7
- ******************************************************************* */
-
-typedef struct _TCSSStringEntry{
- TBool variableEntry;
- NW_Ucs2* entry;
-}TCSSStringEntry;
-
-
-typedef struct _TCSSPropEntry{
- TInt key; // MUST BE FIRST
- TBool variableEntry;
- NW_CSS_DefaultStyleSheet_PropEntry_s* entry;
-}TCSSPropEntry;
-
-// DATA TYPES
-typedef RArray<TCSSStringEntry> CCSSStringEntryList;
-typedef RArray<TCSSPropEntry> CCSSPropEntryList;
-
-/** *****************************************************************
- * The CCSSVariableStyleSheet is a repository for the default and
- * variable style sheet entries. If no entries variable entries are
- * found (i.e. file not found or corrupt) then only the default entries
- * will be used to populate the structure.
- *
- * @lib css.lib
- * @since 2.7
- ******************************************************************* */
-class CCSSVariableStyleSheet : public CBase
-{
-
-
-public: // Constructors and destructor
-
- /**
- * Two-phased constructor. It is private because it is created as a
- * singleton and shared.
- * @return CCSSVariableStyleSheet*
- */
- static CCSSVariableStyleSheet* NewL();
-
- /**
- * Creates the CCSSVariableStyleSheet singleton.
- * @since 2.7
- * @return style sheet.
- */
- static CCSSVariableStyleSheet* CreateSingleton();
-
- /**
- * Deletes the CCSSVariableStyleSheet singleton.
- * @since 2.7
- * @return void.
- */
- static void DeleteSingleton();
-
- /**
- * Get the CCSSVariableStyleSheet singleton. If it doesn't exist
- * then return NULL.
- * @since 2.7
- * @return a pointer to CCSSVariableStyleSheet
- */
- static CCSSVariableStyleSheet* GetSingleton();
-
-/**
- * Applies the combined variable and default styles to the element node
- * in the document after pattern matching. This is called frequently by
- * XHTMLElementHandler. Duplicates have already been removed so that the
- * default and variable styles do not need to be treated differently or
- * applied separately.
- *
- * @param elementNode Element node for which pattern matching needs to be done
- * @param box Box to which CSS is applied
- * @param dictionary
- * @param event event resulting in style application (for e.g. focus)
- * This is usually NULL.
- * @param documentNode
- * @param domHelper for resolving entities
- * @since 2.7
- * @return KBrsrSuccess or KBrsrOutOfMemory
- */
-TBrowserStatusCode ApplyStyles(NW_DOM_ElementNode_t* aElementNode,
- NW_LMgr_Box_t* aBox,
- NW_WBXML_Dictionary_t* aDictionary,
- const NW_Evt_Event_t* aEvent,
- NW_HED_DocumentNode_t* aDocumentNode,
- NW_HED_DomHelper_t* aDomHelper);
-
-/**
- * Parses the loaded variable CSS buffer stores entries in the tables.
- * @param buffer data to parse. Stored as text
- * @param length size of buffer in bytes. Does not include a null terminator
- * @return ETrue if parsed.
- */
-TBool ProcessBuffer(const TUint8* aBuffer, TUint32 aLength);
-
-/**
- * Accessor for the state of the default property sheet. It is true if
- * the values were successfully loaded.
- * @return ETrue if loaded
- */
-TBool IsStaticCSSLoaded(){
- return iStaticCSSLoaded;
-}
-
-
-/**
- * Accessor for the state of the variable property sheet. It is true if
- * the values were successfully loaded.
- * @return ETrue if loaded
- */
-TBool IsVariableCSSLoaded(){
- return iVariableCSSLoaded;
-}
-
-private: // Data
-
- TBool iStaticCSSLoaded;
- TBool iVariableCSSLoaded;
- CCSSPropEntryList* iPropList;
- CCSSStringEntryList* iStringList;
-
-private:
-
-/**
- * C++ default constructor.
- */
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
-void ConstructL();
-
-
-/**
- * Destructor. It is private because it is created as a singleton.
- */
- virtual ~CCSSVariableStyleSheet();
-
-
-/**
- * Assignment operator. It is private because it should not be called.
- */
-void operator=(const CCSSVariableStyleSheet& obj);
-
-
-/**
- * Loads a file into the buffer. Looks first in on the C drive and then
- * if not found looks on the Z drive.
- * @return Pointer to buffer containing loaded file contents.
- * Otherwise returns NULL.
- */
- HBufC8* ReadVariableCSSFile();
-
-
-/**
- * Loads a file into the buffer. This is a generic utility.
- * @return Pointer to buffer containing loaded file contents.
- * Otherwise returns NULL.
- */
- HBufC8* ReadFile(const TDesC& aFile);
-
-
-/**
- * Parses the css file that has been loaded. The results are stored into
- * the variable style sheet list. Duplicates are ignored. That is, the
- * first entry is added and subsequent duplicates are ignored. This list
- * is added before the lower priority default list so if a duplicate is
- * found it is assumed to be equal or higher priority.
- * @param buffer The buffer contains the css variable file.
- * @return ETrue if successfully parsed. Otherwise it returns EFalse
- */
- TBool AddVariableStyles(HBufC8* aBuffer);
-
-
-/**
- * Loads the CSS strings from the default tables. These are placed in a
- * string table.
- */
- void AddDefaultStyleStrings();
-
-
-/**
- * Loads the default css styles. They are merged with the previously
- * loaded variable styles. That is, if a style is not found in the list
- * it is added. If it is already present the default value is
- * ignored. Duplicates are not allowed. Note that if duplicates exist in
- * this default list, only the first entry is applied.
- */
- void AddDefaultStyleProperties();
-
-
-/**
- * Initializes the property using the entry loaded from the variable table.
- * @param propEntry Default/variable entry to be applied.
- * @param prop Property that is being initialized.
- * @param box Box to which CSS is applied
- * @param val Value to apply. Requires valType for interpretation.
- * @param valType Data type
- * @return KBrsrSuccess if operation successful. Otherwise KBrsrFailure.
- */
-TBrowserStatusCode InitProperty(const TCSSPropertyTablePropEntry* aPropEntry,
- NW_LMgr_Property_t* aProp,
- NW_LMgr_Box_t* aBox,
- NW_Float32 aVal,
- NW_Uint8 aValType);
-
-
-/**
- * Adds the styles for the element to the list.
- * @param aParser loaded parser for the style sheet
- * @param aRuleList list for this element token
- * @param aElementToken
- * @return KBrsrSuccess if operation successful. Otherwise KBrsrFailure.
- */
-TBrowserStatusCode UpdateList(TCSSParser* aParser,
- CCSSRules* aRuleList,
- NW_Uint16 aElementToken);
-
-/**
- * Updates one entry in the list.
- * @param aParser The parser
- * @param aElementToken The token to add
- * @param aAsciiPatternStr Optional pattern to include with token.
- * @return Status of operation
- */
-TBrowserStatusCode UpdateEntry(TCSSParser* aParser,
- TUint16 aElementToken,
- char* aAsciiPatternStr);
-
-
-/**
- * Wrapper method to call the correct setting method.
- * @param aParser The parser.
- * @param aVal The property value type
- * @param aPropertyValue The actual value.
- * @param aValStorage The text value
- * @return Property type
- */
-NW_LMgr_PropertyValueType_t SetPropertyVal(TCSSParser* aParser,
- const TCSSPropertyTablePropEntry* aPropEntry,
- NW_LMgr_PropertyValue_t* aVal,
- TCSSPropertyVal* aPropertyVal,
- TText16* aValStorage);
-
-/**
- * Inserts a value into the list. If there is an error or a duplicate
- * the value is not entered.
- * @param aPropEntry Value to enter into the list.
- * @return index of inserted value or -1 if error
- */
-TInt InsertProperty(TCSSPropEntry aPropEntry);
-
-
-/**
- * Dumps the contents of the style sheet to the log.
- */
-TBrowserStatusCode DumpVariableStyleSheet();
-
-void ConstructCSSFileName();
-
-TFileName CSS_USER_SUPPLIED_FILE;
-TFileName CSS_OPERATOR_SUPPLIED_FILE;
-
-
-
-};
-
-
-#endif /* CCSSVariableStyleSheet_H */