idlehomescreen/inc/xnproperty.h
branchRCL_3
changeset 34 5456b4e8b3a8
child 35 3321d3e205b6
equal deleted inserted replaced
33:5f0182e07bfb 34:5456b4e8b3a8
       
     1 /*
       
     2 * Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:
       
    15 * Xuikon property header file
       
    16 *
       
    17 */
       
    18 
       
    19 #ifndef XNPROPERTY_H
       
    20 #define XNPROPERTY_H
       
    21 
       
    22 // System includes
       
    23 #include <e32base.h>
       
    24 
       
    25 // User includes
       
    26 #include "xndompropertyvalue.h"
       
    27 
       
    28 // Forward declarations
       
    29 class CXnDomProperty;
       
    30 class CXnDomPropertyValue;
       
    31 class CXnDomStringPool;
       
    32 
       
    33 // Constants
       
    34 namespace XnPropertyNames
       
    35     {
       
    36     _LIT8(KTrue, "true");
       
    37     _LIT8(KFalse, "false");
       
    38     _LIT8(KNone, "none");
       
    39     _LIT8(KWidget, "widget");
       
    40     _LIT8(KPlugin, "plugin");
       
    41 
       
    42     namespace common
       
    43         {
       
    44         _LIT8(KId, "id");
       
    45         _LIT8(KClass, "class");
       
    46         _LIT8(KPCData, "pcdata");
       
    47         _LIT8(KFocusable, "focusable");
       
    48         _LIT8(KInitialFocus, "_s60-initial-focus");
       
    49         _LIT8(KFocusAppearance, "_s60-focus-appearance");                
       
    50         _LIT8(KDisabled, "disabled");
       
    51         _LIT8(KLongTap, "_s60-longtap");
       
    52         _LIT8(KSwipe, "swipe");
       
    53         _LIT8(KSwipeDestination, "_s60-swipe-destination");
       
    54         _LIT8(KBackgroundMask, "backgroundmask" );
       
    55         _LIT8(KEffectId, "effectid");
       
    56         _LIT8(KSizeAware, "sizeaware");
       
    57         _LIT8(KVisualisationAware, "visualisationaware");
       
    58         }
       
    59     namespace tooltip
       
    60         {
       
    61         _LIT8(KStartDelay, "_s60-start-delay");
       
    62         _LIT8(KDisplayTime, "_s60-display-time");
       
    63         _LIT8(KPositionHint, "_s60-position-hint");
       
    64         namespace positionhint
       
    65             {
       
    66             _LIT8(KAboveLeft, "aboveleft");
       
    67             _LIT8(KAboveRight, "aboveright");
       
    68             _LIT8(KBelowLeft, "belowleft");
       
    69             _LIT8(KBelowRight, "belowright");
       
    70             _LIT8(KRight, "right");
       
    71             _LIT8(KLeft, "left");
       
    72             }
       
    73         }
       
    74     namespace popup
       
    75         {
       
    76         _LIT8(KPopupType, "_s60-popup-type");
       
    77         
       
    78         namespace popuptype
       
    79             {
       
    80             _LIT8(KNormal, "normal");
       
    81             _LIT8(KPermanent, "permanent");
       
    82             }
       
    83         }
       
    84     namespace view
       
    85         {
       
    86         _LIT8(KStatusPaneLayout, "_s60-status-pane-layout");
       
    87         namespace statuspanelayout
       
    88             {
       
    89             _LIT8( KNone, "none" );            
       
    90             _LIT8( KBasic, "basic" );            
       
    91             _LIT8( KBasicFlat, "basic-flat" );            
       
    92             _LIT8( KWideScreen, "widescreen" );
       
    93             _LIT8( KWideScreenFlat, "widescreen-flat" );            
       
    94             _LIT8( KWideScreenFlat3Softkeys, "widescreen-flat-3softkeys" );
       
    95             }
       
    96         }
       
    97     namespace newsticker
       
    98         {
       
    99         _LIT8(KXnNewsticker, "newsticker");
       
   100         _LIT8(KXnScrollAmount, "_s60-scroll-amount");
       
   101         _LIT8(KXnScrollDelay, "_s60-scroll-delay");
       
   102         _LIT8(KXnStartDelay, "_s60-start-delay");
       
   103         _LIT8(KDisplayTime, "_s60-display-time");
       
   104         _LIT8(KScrollBehaviour, "_s60-scroll-behaviour");
       
   105         _LIT8(KScrollLoop, "_s60-scroll-loop");
       
   106         _LIT8(KRestartAfterUpdate, "_s60-restart-after-update");
       
   107         namespace scroll_behaviour
       
   108             {
       
   109             _LIT8(KSlide, "slide");
       
   110             _LIT8(KAlternate, "alternate");
       
   111             _LIT8(KScrollAlternate, "scroll-alternate");
       
   112             }
       
   113         }
       
   114     namespace title
       
   115         {
       
   116         _LIT8(KTitleIndex, "titleindex" );
       
   117         _LIT8(KTitle, "title" );
       
   118         }
       
   119     namespace menu
       
   120         {
       
   121         namespace menutype
       
   122             {
       
   123             _LIT8(KMenuOptionsNoTaskSwapper, "menuoptionsnotaskswapper");
       
   124             }
       
   125         _LIT8(KMenuItem, "menuitem" );
       
   126         _LIT8(KDynMenuItem, "dynmenuitem" );
       
   127         _LIT8(KMenuExtension, "menuextension" );
       
   128         _LIT8(KMenuType, "menutype");                
       
   129         _LIT8(KEvent, "event");
       
   130         _LIT8(KLabel, "label");
       
   131         _LIT8(KChecked, "checked");
       
   132         _LIT(KMSKDotImage16,"#mskdot");       
       
   133         _LIT8(KItemType, "type");
       
   134         }
       
   135     namespace listquerydialog
       
   136         {
       
   137         _LIT8(KListQueryDialog, "listquerydialog" );
       
   138         _LIT8(KS60Heading, "_s60-heading");
       
   139         }        
       
   140     namespace softkey
       
   141         {
       
   142         _LIT8(KNodeName, "softkey");
       
   143         _LIT8(KTypeAttribute,"type");
       
   144         _LIT8(KModeAttribute,"mode");
       
   145         namespace type
       
   146             {
       
   147             _LIT8(KLeft, "left");
       
   148             _LIT8(KRight, "right");
       
   149             _LIT8(KMiddle, "middle");
       
   150             }
       
   151         namespace mode
       
   152             {
       
   153             _LIT8(KModeCallActive, "mode_callactive");
       
   154             _LIT8(KModeCallInactive, "mode_callinactive");
       
   155             _LIT8(KModeEdit, "mode_edit");
       
   156             }
       
   157         }
       
   158     namespace image
       
   159         {
       
   160         _LIT8(KPath, "path");
       
   161         _LIT8(KMaskPath, "maskpath");
       
   162         _LIT8(KMaskInverted, "maskinverted");
       
   163         _LIT8(KS60AspectRatio, "_s60-aspect-ratio");
       
   164         _LIT8(KPreserve, "preserve");
       
   165         _LIT8(KNone, "none");
       
   166         }
       
   167     namespace clock
       
   168         {
       
   169         _LIT8(KS60Format, "_s60-format");
       
   170         namespace format
       
   171             {
       
   172             _LIT8(KDigital, "digital");
       
   173             _LIT8(KAnalog, "analog");
       
   174             }
       
   175             
       
   176         _LIT8(KS60AmPmFontSize, "_s60-ampm-font-size" );  
       
   177         _LIT8(KS60DigitalFontSize, "_s60-digital-font-size");                 
       
   178         _LIT8( KS60DateFontSize, "_s60-date-font-size" );
       
   179         }
       
   180     namespace volumecontrol
       
   181         {
       
   182         _LIT8( KMinRange, "minrange" );
       
   183         _LIT8( KMaxRange, "maxrange" );
       
   184         _LIT8( KSlider, "slider" );
       
   185         _LIT8( KIncrease, "increase" );
       
   186         _LIT8( KDecrease, "decrease" );
       
   187         _LIT8( KMute, "mute" );
       
   188         _LIT8( KVolumeLevelAdjustment, "_s60-volume-level-adjustment" ); 
       
   189         }
       
   190     namespace texteditor
       
   191         {
       
   192         _LIT8( KEditorMarginLeft, "editor-margin-left" );
       
   193         _LIT8( KEditorMarginRight, "editor-margin-right" );
       
   194         _LIT8( KEditorMarginTop, "editor-margin-top" );
       
   195         _LIT8( KEditorMarginBottom, "editor-margin-bottom" );
       
   196         }
       
   197     namespace action
       
   198         {
       
   199         _LIT8(KActions, "actions");
       
   200         _LIT8(KAction, "action");
       
   201         _LIT8(KProperty, "property");
       
   202         _LIT8(KName, "name");
       
   203         _LIT8(KValue, "value");
       
   204         _LIT8(KTrigger, "trigger");
       
   205         _LIT8(KEvent, "event");
       
   206         namespace trigger
       
   207             {
       
   208             _LIT8(KName, "name");
       
   209             namespace name 
       
   210                 {
       
   211                 _LIT8(KLeft, "left");
       
   212                 _LIT8(KRight, "right");
       
   213                 _LIT8(KUp, "up");
       
   214                 _LIT8(KDown, "down");
       
   215                 _LIT8(KDownAndUp, "downup");
       
   216                 _LIT8(KActivate, "activate");
       
   217                 _LIT8(KHold, "hold");
       
   218                 _LIT8(KFocus, "focus");
       
   219                 _LIT8(KPassiveFocus, "passivefocus");
       
   220                 _LIT8(KGainFocus, "gainfocus");
       
   221                 _LIT8(KLoseFocus, "losefocus");
       
   222                 _LIT8(KKeyEvent,     "keyevent");
       
   223                 _LIT8(KViewActivate, "viewactivate");
       
   224                 _LIT8(KViewDeactivate, "viewdeactivate");
       
   225                 _LIT8(KScreenDeviceChange, "screendevicechange");
       
   226                 _LIT8(KStylus, "stylus");
       
   227                 _LIT8(KGainVisualisation, "gainvisualisation");
       
   228                 _LIT8(KLoseVisualisation, "losevisualisation");
       
   229                 _LIT8(KSwipe, "swipe");
       
   230                 _LIT8(KSizeChanged, "sizechanged");                
       
   231                 _LIT8(KWidgetAmount, "widgetamount");
       
   232                 _LIT8(KTitleToScroll, "titletoscroll");
       
   233                 _LIT8(KTitleScrolled, "titlescrolled");
       
   234                 _LIT8(KTitleIndex, "titleindex");
       
   235                 _LIT8(KCallState, "callstate");
       
   236                 _LIT8(KEditMode, "editmode" );                
       
   237 
       
   238                 namespace swipe
       
   239                      {
       
   240                      _LIT8(KDirection, "direction");
       
   241                      namespace direction
       
   242                          {
       
   243                          _LIT8(KLeft, "left");
       
   244                          _LIT8(KRight, "right");
       
   245                          }
       
   246                      }
       
   247                 namespace keyevent
       
   248                     {
       
   249                     _LIT8(KKeyCode, "keycode");
       
   250                     _LIT8(KScanCode, "scancode");
       
   251                     _LIT8(KModifiers, "modifiers");
       
   252                     _LIT8(KEventType, "eventtype");
       
   253                     _LIT8(KRepeats, "repeats");
       
   254                     }
       
   255                 namespace orientation
       
   256                     {
       
   257                     _LIT8(KReason, "reason");
       
   258                     namespace reason
       
   259                         {
       
   260                         _LIT8(KLandscape, "landscape");
       
   261                         _LIT8(KPortrait, "portrait");
       
   262                         }
       
   263                     }
       
   264                 namespace callstate
       
   265                     {
       
   266                     _LIT8(KActive, "active");
       
   267                     _LIT8(KInActive, "inactive");
       
   268                     }
       
   269                 namespace editmode
       
   270                     {
       
   271                     _LIT8(KEnter, "enter");
       
   272                     _LIT8(KExit, "exit");
       
   273                     }                     
       
   274                 }
       
   275             }
       
   276         namespace event
       
   277             {
       
   278             _LIT8(KSystemPrefix, "system/");
       
   279             _LIT8(KName, "name");
       
   280             _LIT8(KSetFocus, "system/setfocus");
       
   281             _LIT8(KSetInitialFocus, "system/setinitialfocus");
       
   282             _LIT8(KSetPassiveFocus, "system/setpassivefocus");
       
   283             _LIT8(KSetActiveFocus, "system/setactivefocus");
       
   284             _LIT8(KResetPassiveFocus, "system/resetpassivefocus");
       
   285             _LIT8(KSetEditMode, "system/seteditmode");            
       
   286             _LIT8(KResetEditMode, "system/reseteditmode");            
       
   287             _LIT8(KClearPassiveFocuses, "system/clearpassivefocuses");
       
   288             _LIT8(KRunAddWidgetQuery, "system/runaddwidgetquery");            
       
   289             _LIT8(KRemoveFocusedWidget, "system/removefocusedwidget");            
       
   290             _LIT8(KRemoveWidget, "system/removewidget");            
       
   291             _LIT8(KAddWidget, "system/addwidget");
       
   292             _LIT8(KActivateView, "system/activateview");
       
   293             _LIT8(KActivateNextView, "system/activatenextview");
       
   294             _LIT8(KActivatePreviousView, "system/activatepreviousview");
       
   295             _LIT8(KAddView,"system/addview");
       
   296             _LIT8(KRemoveView,"system/removeview");
       
   297             _LIT8(KActivate, "system/activate");
       
   298             _LIT8(KDeactivate, "system/deactivate");
       
   299             _LIT8(KSet, "system/set");
       
   300             _LIT8(KTryDisplayingMenu, "system/trydisplayingmenu");
       
   301             _LIT8(KTryDisplayingListQueryDialog, "system/trydisplayinglistquerydialog");
       
   302             _LIT8(KTryDisplayingStylusPopup, "system/trydisplayingstyluspopup");
       
   303             _LIT8(KToggleWidgetsVisibilty, "system/togglewidgetsvisibilty");
       
   304             _LIT8(KSetWallpaper, "system/setwallpaper");
       
   305             _LIT8(KActivateTextEditor, "system/activatetexteditor");
       
   306             _LIT8(KDeactivateTextEditor, "system/deactivatetexteditor");
       
   307             _LIT8(KActivateSelectedItem, "system/activateselecteditem");
       
   308             _LIT8(KDestination, "destination");
       
   309             _LIT8(KBroadcast, "broadcast");
       
   310             _LIT8(KReportEnterEditMode, "system/reportentereditmode" );
       
   311             _LIT8(KReportExitEditMode, "system/reportexiteditmode" );
       
   312             namespace systemset
       
   313                 {
       
   314                 _LIT8(KId, "id");
       
   315                 _LIT8(KPseudoClass, "pseudoclass");
       
   316                 _LIT8(KName, "name");
       
   317                 _LIT8(KValue, "value");
       
   318                 _LIT8(KType, "type");
       
   319                 _LIT8(KUnit, "unit");                
       
   320                 _LIT8(KClass, "class");
       
   321                 namespace type
       
   322                     {
       
   323                     _LIT8(KNumeric, "numeric");
       
   324                     _LIT8(KString, "string");
       
   325                     _LIT8(KAttribute, "attribute");
       
   326                     _LIT8(KRGB, "rgb");
       
   327                     _LIT8(KUrl, "url");                    
       
   328                     }
       
   329                 }
       
   330             }
       
   331         }
       
   332     namespace style
       
   333         {
       
   334         namespace common
       
   335             {
       
   336             _LIT8(KDisplay, "display");
       
   337             _LIT8(KNavIndex, "nav-index");
       
   338             _LIT8(KS60NavLooping, "_s60-nav-looping");
       
   339             _LIT8(KFocus, "focus");
       
   340             _LIT8(KPressedDown, "presseddown");
       
   341             _LIT8(KPassiveFocus, "passivefocus");
       
   342             _LIT8(KHold, "hold");
       
   343             _LIT8(KActive, "active");            
       
   344             _LIT8(KEdit, "edit");            
       
   345             namespace edit
       
   346                 {
       
   347                 _LIT8(KEditable, "editable");
       
   348                 }
       
   349             namespace display
       
   350                 {
       
   351                 _LIT8(KBlock, "block");
       
   352                 _LIT8(KNone, "none");
       
   353                 }
       
   354             _LIT8(KS60DisplayPriority, "_s60-display-priority");
       
   355             _LIT8(KVisibility, "visibility");
       
   356             namespace visibility
       
   357                     {
       
   358                     _LIT8(KVisible, "visible");
       
   359                     _LIT8(KHidden, "hidden");
       
   360                     _LIT8(KBlank, "blank");
       
   361                     }
       
   362             _LIT8(KBlockProgression, "block-progression");
       
   363             namespace block_progression
       
   364                     {
       
   365                     _LIT8(KTB, "tb");
       
   366                     _LIT8(KBT, "bt");
       
   367                     _LIT8(KRL, "rl");
       
   368                     _LIT8(KLR, "lr");
       
   369                     }
       
   370             _LIT8(KDirection, "direction");
       
   371             namespace direction
       
   372                     {
       
   373                     _LIT8(KLTR, "ltr");
       
   374                     _LIT8(KRTL, "rtl");
       
   375                     }
       
   376             _LIT8(KWidth, "width");
       
   377             _LIT8(KHeight, "height");
       
   378             _LIT8(KMarginTop, "margin-top");
       
   379             _LIT8(KMarginRight, "margin-right");
       
   380             _LIT8(KMarginBottom, "margin-bottom");
       
   381             _LIT8(KMarginLeft, "margin-left");
       
   382             _LIT8(KBorderWidth, "border-width");
       
   383             namespace border_width
       
   384                     {
       
   385                     _LIT8(KThin, "thin");
       
   386                     _LIT8(KMedium, "medium");
       
   387                     _LIT8(KThick, "thick");
       
   388                     }
       
   389             _LIT8(KBorderTopWidth, "border-top-width");
       
   390             _LIT8(KBorderRightWidth, "border-right-width");
       
   391             _LIT8(KBorderBottomWidth, "border-bottom-width");
       
   392             _LIT8(KBorderLeftWidth, "border-left-width");
       
   393             _LIT8(KPaddingTop, "padding-top");
       
   394             _LIT8(KPaddingRight, "padding-right");
       
   395             _LIT8(KPaddingBottom, "padding-bottom");
       
   396             _LIT8(KPaddingLeft, "padding-left");
       
   397             _LIT8(KPosition, "position");
       
   398             namespace position 
       
   399                 {
       
   400                 _LIT8(KAbsolute, "absolute");
       
   401                 _LIT8(KStatic, "static");
       
   402                 _LIT8(KRelative, "relative");
       
   403                 _LIT8(KFloating, "floating");
       
   404                 }
       
   405             _LIT8(KTop, "top");
       
   406             _LIT8(KRight, "right");
       
   407             _LIT8(KBottom, "bottom");
       
   408             _LIT8(KLeft, "left");
       
   409             _LIT8(KMinWidth, "min-width");
       
   410             _LIT8(KMaxWidth, "max-width");
       
   411             _LIT8(KMinHeight, "min-height");
       
   412             _LIT8(KMaxHeight, "max-height");
       
   413             _LIT8(KOverflow, "overflow");
       
   414             _LIT8(KZIndex, "z-index");
       
   415             _LIT8(KAuto, "auto");
       
   416             _LIT8(KAdaptive, "adaptive");
       
   417             _LIT8(KAppearance, "appearance");
       
   418             namespace s60_focus_looping
       
   419                 {
       
   420                 _LIT8(KStop, "stop");
       
   421                 }
       
   422             }
       
   423         }//style
       
   424     namespace appearance
       
   425         {
       
   426         namespace common
       
   427             {
       
   428             //Color and background properties
       
   429             _LIT8(KColor,            "color");
       
   430             _LIT8(KEffectsColor,     "font-effects-color");
       
   431             _LIT8(KBackGroundColor,  "background-color");
       
   432             _LIT8(KFocusBackground,  "focus-background");
       
   433             _LIT8(KBackGroundImage,  "background-image");
       
   434             _LIT8(KBackGroundSize,   "background-size");
       
   435             _LIT8(KBackGroundRepeat, "background-repeat");
       
   436             _LIT8(KFallBackImage,    "fallback-image");                                
       
   437             namespace backgroundrepeat
       
   438                 {
       
   439                 _LIT8(KRepeat, "repeat");
       
   440                 _LIT8(KRepeatX, "repeat-x");
       
   441                 _LIT8(KRepeatY, "repeat-y");
       
   442                 _LIT8(KSpace, "space");
       
   443                 _LIT8(KNoRepeat, "no-repeat");
       
   444                 }
       
   445             _LIT8(KBackGroundPosition, "background-position");
       
   446             namespace backgroundposition
       
   447                 {
       
   448                 _LIT8(KLeft, "left");
       
   449                 _LIT8(KRight, "right");
       
   450                 _LIT8(KTop, "top");
       
   451                 _LIT8(KBottom, "bottom");
       
   452                 }
       
   453             // Border properties
       
   454             _LIT8(KBorderStyle,     "border-style");
       
   455             _LIT8(KBorderTopStyle,   "border-top-style");
       
   456             _LIT8(KBorderRightStyle, "border-right-style");
       
   457             _LIT8(KBorderBottomStyle,"border-bottom-style");
       
   458             _LIT8(KBorderLeftStyle,  "border-left-style");
       
   459             namespace borderstyle
       
   460                 {
       
   461                 _LIT8(KDotted, "dotted");
       
   462                 _LIT8(KSolid, "solid");
       
   463                 _LIT8(KGroove, "groove");
       
   464                 _LIT8(KRidge, "ridge");
       
   465                 _LIT8(KInset, "inset");
       
   466                 _LIT8(KOutset, "outset"); 
       
   467                 }
       
   468             _LIT8(KBorderColor,      "border-color");
       
   469             _LIT8(KBorderLeftColor,      "border-left-color");
       
   470             _LIT8(KBorderRightColor,      "border-right-color");
       
   471             _LIT8(KBorderTopColor,      "border-top-color");
       
   472             _LIT8(KBorderBottomColor,      "border-bottom-color");
       
   473             _LIT8(KBorderImage,      "border-image");
       
   474             namespace borderimage
       
   475                 {
       
   476                 _LIT8(KStretch, "stretch");
       
   477                 _LIT8(KRepeat, "repeat");
       
   478                 _LIT8(KRound, "round");
       
   479                 }
       
   480             //Font properties
       
   481             _LIT8(KFontFamily,     "font-family");
       
   482             _LIT8(KFontSize,       "font-size");
       
   483             _LIT8(KFontWeight,     "font-weight");
       
   484             _LIT8(KFontLineSpace,  "font-line-space");
       
   485             namespace fontweight
       
   486                 {
       
   487                 _LIT8(KBold, "bold");
       
   488                 }
       
   489             _LIT8(KFontStyle,      "font-style");
       
   490             namespace fontstyle
       
   491                 {
       
   492                 _LIT8(KItalic, "italic");
       
   493                 }
       
   494             _LIT8(KTextDecoration, "text-decoration");
       
   495             namespace textdecoration
       
   496                 {
       
   497                 _LIT8(KUnderline, "underline");
       
   498                 _LIT8(KLinethrough, "line-through");
       
   499                 }
       
   500             _LIT8(KTextAlign, "text-align");
       
   501             namespace textalign
       
   502                 {
       
   503                 _LIT8( KAlignLeft,"left");
       
   504                 _LIT8( KAlignRight,"right");
       
   505                 _LIT8( KAlignCenter,"center");
       
   506                 _LIT8( KAlignJustify,"justify");
       
   507                 }
       
   508             _LIT8(KS60TextVAlign, "_s60-text-valign");
       
   509             namespace textvalign
       
   510                 {
       
   511                 _LIT8( KAlignTop, "top");
       
   512                 _LIT8( KAlignCenter, "center");
       
   513                 _LIT8( KAlignBottom, "bottom");                               
       
   514                 }                               
       
   515             _LIT8(KTextEffects, "font-effects");
       
   516             namespace fonteffects
       
   517                 {
       
   518                 _LIT8( KEffectsAlgorithmicbold, "algorithmicbold");
       
   519                 _LIT8( KEffectsDropshadow, "dropshadow");
       
   520                 _LIT8( KEffectsOutline, "outline");
       
   521                 _LIT8( KEffectsEmbossed, "embossed");
       
   522                 _LIT8( KEffectsEngraved, "engraved");
       
   523                 _LIT8( KEffectsSoftedge, "softedge");
       
   524                 }
       
   525             _LIT8(KTextOverflowMode, "text-overflow-mode");
       
   526             namespace textoverflow
       
   527                 {
       
   528                 _LIT8(KClipMode, "clip");
       
   529                 _LIT8(KWrapMode,"wrap");
       
   530                 _LIT8(KMaxLineAmount,"max-line-amount");
       
   531                 }
       
   532             _LIT8(KWhiteSpaceCollapse, "white-space-collapse");
       
   533             namespace whitespace
       
   534                 {
       
   535                 _LIT8(KCollapse, "collapse");
       
   536                 _LIT8(KPreserveBreaks, "preserve-breaks");
       
   537                 _LIT8(KDiscard, "discard");
       
   538                 }
       
   539             //View properties missing
       
   540             }//common
       
   541         }
       
   542     }
       
   543 
       
   544 // Class declaration
       
   545 /**
       
   546  * Xuikon property class implementation.
       
   547  *
       
   548  * @ingroup group_xnlayoutengine
       
   549  * @lib ?library
       
   550  * @since Series 60 3.1
       
   551  */
       
   552 class CXnProperty : public CBase
       
   553     {
       
   554 public:
       
   555     // Constructors and destructor
       
   556 
       
   557     /**
       
   558      * Two-phased constructor.
       
   559      *
       
   560      * @param aProperty DOM property to embed
       
   561      */
       
   562     IMPORT_C static CXnProperty* NewL( CXnDomProperty* aProperty );
       
   563 
       
   564     /**
       
   565      * Two-phased constructor.
       
   566      *
       
   567      * @param aName Property name
       
   568      * @param aPropertyValue Property value
       
   569      * @param aStringPool String pool to use
       
   570      */
       
   571     IMPORT_C static CXnProperty* NewL(
       
   572         const TDesC8& aName,
       
   573         CXnDomPropertyValue* aPropertyValue,
       
   574         CXnDomStringPool& aStringPool );
       
   575 
       
   576     /**
       
   577      * Two-phased constructor.
       
   578      *
       
   579      * @param aName Property name
       
   580      * @param aPropertyValue Property value
       
   581      * @param aValueType Property value type
       
   582      * @param aStringPool String pool to use
       
   583      */
       
   584     IMPORT_C static CXnProperty* NewL(
       
   585         const TDesC8& aPropertyName,
       
   586         const TDesC8& aPropertyValue,
       
   587         CXnDomPropertyValue::TPrimitiveValueType aValueType,
       
   588         CXnDomStringPool& aStringPool );
       
   589 
       
   590     /**
       
   591      * Two-phased constructor.
       
   592      *
       
   593      * @param aName Property name
       
   594      * @param aPropertyValue Property value
       
   595      * @param aValueType Property value type
       
   596      * @param aStringPool String pool to use
       
   597      */
       
   598     IMPORT_C static CXnProperty* NewL(
       
   599         const TDesC8& aPropertyName,
       
   600         TReal aPropertyValue,
       
   601         CXnDomPropertyValue::TPrimitiveValueType aValueType,
       
   602         CXnDomStringPool& aStringPool );
       
   603 
       
   604     /**
       
   605      * Two-phased constructor. Does not take ownership of the DOM property
       
   606      *
       
   607      * @param aProperty DOM property to embed
       
   608      */
       
   609     static CXnProperty* NewSharedL( CXnDomProperty* aProperty );
       
   610 
       
   611     /**
       
   612      * Destructor.
       
   613      */
       
   614     virtual ~CXnProperty();
       
   615 
       
   616 public:
       
   617     // new functions
       
   618 
       
   619     /**
       
   620      * Compares two propertys
       
   621      *
       
   622      * @since Series 60 3.2
       
   623      * @return ETrue if properties equals, EFalse otherwise
       
   624      */
       
   625     IMPORT_C TBool EqualsL( CXnProperty& aProperty ) const;
       
   626 
       
   627     /**
       
   628      * Get the embedded DOM property
       
   629      *
       
   630      * @since Series 60 3.1
       
   631      * @return Embedded DOM property
       
   632      */
       
   633     IMPORT_C CXnDomProperty* Property();
       
   634 
       
   635     /**
       
   636      * Get the value of the property as a 16-bit descriptor. Ownership is
       
   637      * transferred to caller.
       
   638      *
       
   639      * @since Series 60 3.1
       
   640      * @return String value of the property
       
   641      */
       
   642     IMPORT_C HBufC* StringValueL();
       
   643 
       
   644     /**
       
   645      * Get the value of the property as an 8-bit descriptor.
       
   646      *
       
   647      * @since Series 60 3.1
       
   648      * @return String value of the property
       
   649      */
       
   650     IMPORT_C const TDesC8& StringValue();
       
   651 
       
   652     /**
       
   653      * Get the value of the property as a number
       
   654      *
       
   655      * @since Series 60 3.1
       
   656      * @return Numeric value of the property
       
   657      */
       
   658     IMPORT_C TReal FloatValueL();
       
   659 
       
   660     /**
       
   661      * Clone the property
       
   662      *
       
   663      * @since Series 60 3.1
       
   664      * @return Clone of the property
       
   665      */
       
   666     IMPORT_C CXnProperty* CloneL();
       
   667 
       
   668 private:
       
   669     /**
       
   670      * C++ default constructor.
       
   671      */
       
   672     CXnProperty();
       
   673 
       
   674     /**
       
   675      * Two-phased constructor.
       
   676      *
       
   677      * @param aProperty DOM property to embed
       
   678      */
       
   679     void ConstructL( CXnDomProperty* aProperty );
       
   680 
       
   681     /**
       
   682      * Two-phased constructor.
       
   683      *
       
   684      * @param aName Property name
       
   685      * @param aPropertyValue Property value
       
   686      * @param aStringPool String pool to use
       
   687      */
       
   688     void ConstructL(
       
   689         const TDesC8& aName,
       
   690         CXnDomPropertyValue* aPropertyValue,
       
   691         CXnDomStringPool& aStringPool );
       
   692 
       
   693     /**
       
   694      * Two-phased constructor.
       
   695      *
       
   696      * @param aName Property name
       
   697      * @param aPropertyValue Property value
       
   698      * @param aValueType Property value type
       
   699      * @param aStringPool String pool to use
       
   700      */
       
   701     void ConstructL(
       
   702         const TDesC8& aPropertyName,
       
   703         const TDesC8& aPropertyValue,
       
   704         CXnDomPropertyValue::TPrimitiveValueType aValueType,
       
   705         CXnDomStringPool& aStringPool );
       
   706 
       
   707     /**
       
   708      * Two-phased constructor.
       
   709      *
       
   710      * @param aName Property name
       
   711      * @param aPropertyValue Property value
       
   712      * @param aValueType Property value type
       
   713      * @param aStringPool String pool to use
       
   714      */
       
   715     void ConstructL(
       
   716         const TDesC8& aPropertyName,
       
   717         TReal aPropertyValue,
       
   718         CXnDomPropertyValue::TPrimitiveValueType aValueType,
       
   719         CXnDomStringPool& aStringPool );
       
   720 
       
   721     /**
       
   722      * Two-phased constructor. Does not take ownership of the DOM property
       
   723      *
       
   724      * @param aProperty DOM property to embed
       
   725      */
       
   726     void ConstructSharedL( CXnDomProperty* aProperty );
       
   727 
       
   728 private:
       
   729     // Data
       
   730 
       
   731     /**
       
   732      * embedded DOM property.
       
   733      * Own or Not own, depending on the iIsDomPropertyOwned flag
       
   734      */
       
   735     CXnDomProperty* iProperty;
       
   736 
       
   737     /**
       
   738      * flag indicating whether the DOM property is owned by the
       
   739      * CXnProperty object
       
   740      */
       
   741     TBool iIsDomPropertyOwned;
       
   742     };
       
   743 
       
   744 #endif