idlehomescreen/xmluirendering/uiengine/src/xnnodeimpl.cpp
changeset 2 08c6ee43b396
parent 1 5315654608de
child 4 4d54b72983ae
equal deleted inserted replaced
1:5315654608de 2:08c6ee43b396
    48 #include "xnviewdata.h"
    48 #include "xnviewdata.h"
    49 #include "xnpanic.h"
    49 #include "xnpanic.h"
    50 #include "xnlistquerydialogadapter.h"
    50 #include "xnlistquerydialogadapter.h"
    51 #include "xneffectmanager.h"
    51 #include "xneffectmanager.h"
    52 #include "xnviewadapter.h"
    52 #include "xnviewadapter.h"
       
    53 #include "xnbackgroundmanager.h"
    53 
    54 
    54 // Local constants
    55 // Local constants
    55 _LIT8( KRef, "ref" );
    56 _LIT8( KRef, "ref" );
    56 _LIT8( KId, "id" );
    57 _LIT8( KId, "id" );
    57 _LIT8( KName, "name" );
    58 _LIT8( KName, "name" );
  1910     nameValue->SetStringValueL(
  1911     nameValue->SetStringValueL(
  1911         CXnDomPropertyValue::EString,
  1912         CXnDomPropertyValue::EString,
  1912         XnPropertyNames::action::trigger::name::keyevent::KEventType );
  1913         XnPropertyNames::action::trigger::name::keyevent::KEventType );
  1913     CXnProperty* name = CXnProperty::NewL(
  1914     CXnProperty* name = CXnProperty::NewL(
  1914         XnPropertyNames::action::KName,
  1915         XnPropertyNames::action::KName,
  1915         nameValue, aUiEngine.ODT()->DomDocument().StringPool() );
  1916         nameValue, *aUiEngine.ODT()->DomDocument().StringPool() );
  1916     CleanupStack::Pop( nameValue );
  1917     CleanupStack::Pop( nameValue );
  1917     CleanupStack::PushL( name );
  1918     CleanupStack::PushL( name );
  1918     node->SetPropertyL( name );
  1919     node->SetPropertyL( name );
  1919     CleanupStack::Pop( name );
  1920     CleanupStack::Pop( name );
  1920     CXnDomPropertyValue* valueValue = CXnDomPropertyValue::NewL(
  1921     CXnDomPropertyValue* valueValue = CXnDomPropertyValue::NewL(
  1921         aUiEngine.ODT()->DomDocument().StringPool() );
  1922         aUiEngine.ODT()->DomDocument().StringPool() );
  1922     CleanupStack::PushL( valueValue );
  1923     CleanupStack::PushL( valueValue );
  1923     valueValue->SetFloatValueL( CXnDomPropertyValue::ENumber, aType );
  1924     valueValue->SetFloatValueL( CXnDomPropertyValue::ENumber, aType );
  1924     CXnProperty* value = CXnProperty::NewL(
  1925     CXnProperty* value = CXnProperty::NewL(
  1925         XnPropertyNames::action::KValue, valueValue,
  1926         XnPropertyNames::action::KValue, valueValue,
  1926         aUiEngine.ODT()->DomDocument().StringPool() );
  1927         *aUiEngine.ODT()->DomDocument().StringPool() );
  1927     CleanupStack::Pop( valueValue );
  1928     CleanupStack::Pop( valueValue );
  1928     CleanupStack::PushL( value );
  1929     CleanupStack::PushL( value );
  1929     node->SetPropertyL( value );
  1930     node->SetPropertyL( value );
  1930     CleanupStack::Pop( value );
  1931     CleanupStack::Pop( value );
  1931     CleanupStack::Pop( node );
  1932     CleanupStack::Pop( node );
  1955         CXnDomPropertyValue::EString,
  1956         CXnDomPropertyValue::EString,
  1956         XnPropertyNames::action::trigger::name::keyevent::KModifiers );
  1957         XnPropertyNames::action::trigger::name::keyevent::KModifiers );
  1957     CXnProperty* name = CXnProperty::NewL(
  1958     CXnProperty* name = CXnProperty::NewL(
  1958         XnPropertyNames::action::KName,
  1959         XnPropertyNames::action::KName,
  1959         nameValue,
  1960         nameValue,
  1960         aUiEngine.ODT()->DomDocument().StringPool() );
  1961         *aUiEngine.ODT()->DomDocument().StringPool() );
  1961     CleanupStack::Pop( nameValue );
  1962     CleanupStack::Pop( nameValue );
  1962     CleanupStack::PushL( name );
  1963     CleanupStack::PushL( name );
  1963     node->SetPropertyL( name );
  1964     node->SetPropertyL( name );
  1964     CleanupStack::Pop( name );
  1965     CleanupStack::Pop( name );
  1965     CXnDomPropertyValue* valueValue = CXnDomPropertyValue::NewL(
  1966     CXnDomPropertyValue* valueValue = CXnDomPropertyValue::NewL(
  1968     valueValue->SetFloatValueL(
  1969     valueValue->SetFloatValueL(
  1969         CXnDomPropertyValue::ENumber, aKeyEvent.iModifiers );
  1970         CXnDomPropertyValue::ENumber, aKeyEvent.iModifiers );
  1970     CXnProperty* value = CXnProperty::NewL(
  1971     CXnProperty* value = CXnProperty::NewL(
  1971         XnPropertyNames::action::KValue,
  1972         XnPropertyNames::action::KValue,
  1972         valueValue,
  1973         valueValue,
  1973         aUiEngine.ODT()->DomDocument().StringPool() );
  1974         *aUiEngine.ODT()->DomDocument().StringPool() );
  1974     CleanupStack::Pop( valueValue );
  1975     CleanupStack::Pop( valueValue );
  1975     CleanupStack::PushL( value );
  1976     CleanupStack::PushL( value );
  1976     node->SetPropertyL( value );
  1977     node->SetPropertyL( value );
  1977     CleanupStack::Pop( value );
  1978     CleanupStack::Pop( value );
  1978     CleanupStack::Pop( node );
  1979     CleanupStack::Pop( node );
  2002         CXnDomPropertyValue::EString,
  2003         CXnDomPropertyValue::EString,
  2003         XnPropertyNames::action::trigger::name::keyevent::KKeyCode );
  2004         XnPropertyNames::action::trigger::name::keyevent::KKeyCode );
  2004     CXnProperty* name = CXnProperty::NewL(
  2005     CXnProperty* name = CXnProperty::NewL(
  2005         XnPropertyNames::action::KName,
  2006         XnPropertyNames::action::KName,
  2006         nameValue,
  2007         nameValue,
  2007         aUiEngine.ODT()->DomDocument().StringPool() );
  2008         *aUiEngine.ODT()->DomDocument().StringPool() );
  2008     CleanupStack::Pop( nameValue );
  2009     CleanupStack::Pop( nameValue );
  2009     CleanupStack::PushL( name );
  2010     CleanupStack::PushL( name );
  2010     node->SetPropertyL( name );
  2011     node->SetPropertyL( name );
  2011     CleanupStack::Pop( name );
  2012     CleanupStack::Pop( name );
  2012     CXnDomPropertyValue* valueValue = CXnDomPropertyValue::NewL(
  2013     CXnDomPropertyValue* valueValue = CXnDomPropertyValue::NewL(
  2014     CleanupStack::PushL( valueValue );
  2015     CleanupStack::PushL( valueValue );
  2015     valueValue->SetFloatValueL( CXnDomPropertyValue::ENumber, aKeyEvent.iCode );
  2016     valueValue->SetFloatValueL( CXnDomPropertyValue::ENumber, aKeyEvent.iCode );
  2016     CXnProperty* value = CXnProperty::NewL(
  2017     CXnProperty* value = CXnProperty::NewL(
  2017         XnPropertyNames::action::KValue,
  2018         XnPropertyNames::action::KValue,
  2018         valueValue,
  2019         valueValue,
  2019         aUiEngine.ODT()->DomDocument().StringPool() );
  2020         *aUiEngine.ODT()->DomDocument().StringPool() );
  2020     CleanupStack::Pop( valueValue );
  2021     CleanupStack::Pop( valueValue );
  2021     CleanupStack::PushL( value );
  2022     CleanupStack::PushL( value );
  2022     node->SetPropertyL( value );
  2023     node->SetPropertyL( value );
  2023     CleanupStack::Pop( value );
  2024     CleanupStack::Pop( value );
  2024     CleanupStack::Pop( node );
  2025     CleanupStack::Pop( node );
  2048         CXnDomPropertyValue::EString,
  2049         CXnDomPropertyValue::EString,
  2049         XnPropertyNames::action::trigger::name::keyevent::KScanCode );
  2050         XnPropertyNames::action::trigger::name::keyevent::KScanCode );
  2050     CXnProperty* name = CXnProperty::NewL(
  2051     CXnProperty* name = CXnProperty::NewL(
  2051         XnPropertyNames::action::KName,
  2052         XnPropertyNames::action::KName,
  2052         nameValue,
  2053         nameValue,
  2053         aUiEngine.ODT()->DomDocument().StringPool() );
  2054         *aUiEngine.ODT()->DomDocument().StringPool() );
  2054     CleanupStack::Pop( nameValue );
  2055     CleanupStack::Pop( nameValue );
  2055     CleanupStack::PushL( name );
  2056     CleanupStack::PushL( name );
  2056     node->SetPropertyL( name );
  2057     node->SetPropertyL( name );
  2057     CleanupStack::Pop( name );
  2058     CleanupStack::Pop( name );
  2058     CXnDomPropertyValue* valueValue = CXnDomPropertyValue::NewL(
  2059     CXnDomPropertyValue* valueValue = CXnDomPropertyValue::NewL(
  2061     valueValue->SetFloatValueL(
  2062     valueValue->SetFloatValueL(
  2062         CXnDomPropertyValue::ENumber, aKeyEvent.iScanCode );
  2063         CXnDomPropertyValue::ENumber, aKeyEvent.iScanCode );
  2063     CXnProperty* value = CXnProperty::NewL(
  2064     CXnProperty* value = CXnProperty::NewL(
  2064         XnPropertyNames::action::KValue,
  2065         XnPropertyNames::action::KValue,
  2065         valueValue,
  2066         valueValue,
  2066         aUiEngine.ODT()->DomDocument().StringPool() );
  2067         *aUiEngine.ODT()->DomDocument().StringPool() );
  2067     CleanupStack::Pop( valueValue );
  2068     CleanupStack::Pop( valueValue );
  2068     CleanupStack::PushL( value );
  2069     CleanupStack::PushL( value );
  2069     node->SetPropertyL( value );
  2070     node->SetPropertyL( value );
  2070     CleanupStack::Pop( value );
  2071     CleanupStack::Pop( value );
  2071     CleanupStack::Pop( node );
  2072     CleanupStack::Pop( node );
  2095         CXnDomPropertyValue::EString,
  2096         CXnDomPropertyValue::EString,
  2096         XnPropertyNames::action::trigger::name::keyevent::KRepeats );
  2097         XnPropertyNames::action::trigger::name::keyevent::KRepeats );
  2097     CXnProperty* name = CXnProperty::NewL(
  2098     CXnProperty* name = CXnProperty::NewL(
  2098         XnPropertyNames::action::KName,
  2099         XnPropertyNames::action::KName,
  2099         nameValue,
  2100         nameValue,
  2100         aUiEngine.ODT()->DomDocument().StringPool() );
  2101         *aUiEngine.ODT()->DomDocument().StringPool() );
  2101     CleanupStack::Pop( nameValue );
  2102     CleanupStack::Pop( nameValue );
  2102     CleanupStack::PushL( name );
  2103     CleanupStack::PushL( name );
  2103     node->SetPropertyL( name );
  2104     node->SetPropertyL( name );
  2104     CleanupStack::Pop( name );
  2105     CleanupStack::Pop( name );
  2105     CXnDomPropertyValue* valueValue = CXnDomPropertyValue::NewL(
  2106     CXnDomPropertyValue* valueValue = CXnDomPropertyValue::NewL(
  2108     valueValue->SetFloatValueL(
  2109     valueValue->SetFloatValueL(
  2109         CXnDomPropertyValue::ENumber, aKeyEvent.iRepeats );
  2110         CXnDomPropertyValue::ENumber, aKeyEvent.iRepeats );
  2110     CXnProperty* value = CXnProperty::NewL(
  2111     CXnProperty* value = CXnProperty::NewL(
  2111         XnPropertyNames::action::KValue,
  2112         XnPropertyNames::action::KValue,
  2112         valueValue,
  2113         valueValue,
  2113         aUiEngine.ODT()->DomDocument().StringPool()) ;
  2114         *aUiEngine.ODT()->DomDocument().StringPool()) ;
  2114     CleanupStack::Pop( valueValue );
  2115     CleanupStack::Pop( valueValue );
  2115     CleanupStack::PushL( value );
  2116     CleanupStack::PushL( value );
  2116     node->SetPropertyL( value );
  2117     node->SetPropertyL( value );
  2117     CleanupStack::Pop( value );
  2118     CleanupStack::Pop( value );
  2118     CleanupStack::Pop( node );
  2119     CleanupStack::Pop( node );
  2139     nameValue->SetStringValueL( CXnDomPropertyValue::EString,
  2140     nameValue->SetStringValueL( CXnDomPropertyValue::EString,
  2140         XnPropertyNames::action::trigger::name::KActivate );
  2141         XnPropertyNames::action::trigger::name::KActivate );
  2141     CXnProperty* name = CXnProperty::NewL(
  2142     CXnProperty* name = CXnProperty::NewL(
  2142         XnPropertyNames::action::trigger::KName,
  2143         XnPropertyNames::action::trigger::KName,
  2143         nameValue,
  2144         nameValue,
  2144         aUiEngine.ODT()->DomDocument().StringPool() );
  2145         *aUiEngine.ODT()->DomDocument().StringPool() );
  2145     CleanupStack::Pop( nameValue );
  2146     CleanupStack::Pop( nameValue );
  2146     CleanupStack::PushL( name );
  2147     CleanupStack::PushL( name );
  2147     node->SetPropertyL( name );
  2148     node->SetPropertyL( name );
  2148     CleanupStack::Pop( name );
  2149     CleanupStack::Pop( name );
  2149     CleanupStack::Pop( node );
  2150     CleanupStack::Pop( node );
  2206         CXnDomPropertyValue::EString,
  2207         CXnDomPropertyValue::EString,
  2207         XnPropertyNames::action::trigger::name::KKeyEvent );
  2208         XnPropertyNames::action::trigger::name::KKeyEvent );
  2208     CXnProperty* name = CXnProperty::NewL(
  2209     CXnProperty* name = CXnProperty::NewL(
  2209         XnPropertyNames::action::trigger::KName,
  2210         XnPropertyNames::action::trigger::KName,
  2210         nameValue,
  2211         nameValue,
  2211         aUiEngine.ODT()->DomDocument().StringPool() );
  2212         *aUiEngine.ODT()->DomDocument().StringPool() );
  2212     CleanupStack::Pop( nameValue );
  2213     CleanupStack::Pop( nameValue );
  2213     CleanupStack::PushL( name );
  2214     CleanupStack::PushL( name );
  2214     node->SetPropertyL( name );
  2215     node->SetPropertyL( name );
  2215     CleanupStack::Pop( name );
  2216     CleanupStack::Pop( name );
  2216     BuildPropertyNodesL( *node, aKeyEvent, aType, aUiEngine );
  2217     BuildPropertyNodesL( *node, aKeyEvent, aType, aUiEngine );
  3288    
  3289    
  3289     // Set plugins to edit state
  3290     // Set plugins to edit state
  3290     RPointerArray< CXnPluginData>& plugins( 
  3291     RPointerArray< CXnPluginData>& plugins( 
  3291             aEngine.ViewManager()->ActiveViewData().PluginData() );
  3292             aEngine.ViewManager()->ActiveViewData().PluginData() );
  3292 
  3293 
  3293     CXnDomStringPool& sp( aEventNode.StringPool() );
  3294     CXnDomStringPool* sp( aEventNode.StringPool() );
  3294     
  3295     
  3295     CXnDomList& children( aEventNode.ChildNodes() );
  3296     CXnDomList& children( aEventNode.ChildNodes() );
  3296 
  3297 
  3297     TInt count( children.Length() );
  3298     TInt count( children.Length() );
  3298 
  3299 
  3399             node->SetStateL( XnPropertyNames::style::common::KEdit );
  3400             node->SetStateL( XnPropertyNames::style::common::KEdit );
  3400                                    
  3401                                    
  3401             if ( !plugins[i]->Occupied() && useEmpty )
  3402             if ( !plugins[i]->Occupied() && useEmpty )
  3402                 {                               
  3403                 {                               
  3403                 // Make empty space visible
  3404                 // Make empty space visible
  3404                 SetStringPropertyToNodeL( sp, *node,
  3405                 SetStringPropertyToNodeL( *sp, *node,
  3405                     XnPropertyNames::style::common::KVisibility,
  3406                     XnPropertyNames::style::common::KVisibility,
  3406                     XnPropertyNames::style::common::visibility::KVisible );                    
  3407                     XnPropertyNames::style::common::visibility::KVisible );                    
  3407                 }                                              
  3408                 }                                              
  3408             }
  3409             }
  3409         
  3410         
  3481         }
  3482         }
  3482 
  3483 
  3483     RPointerArray< CXnPluginData>& plugins( 
  3484     RPointerArray< CXnPluginData>& plugins( 
  3484             aEngine.ViewManager()->ActiveViewData().PluginData() );
  3485             aEngine.ViewManager()->ActiveViewData().PluginData() );
  3485 
  3486 
  3486     CXnDomStringPool& sp( aEventNode.StringPool() );
  3487     CXnDomStringPool* sp( aEventNode.StringPool() );
  3487 
  3488 
  3488     if ( keyEditMode )
  3489     if ( keyEditMode )
  3489         {
  3490         {
  3490         for ( TInt i = 0; i < plugins.Count(); i++ )
  3491         for ( TInt i = 0; i < plugins.Count(); i++ )
  3491             {
  3492             {
  3508             node->UnsetStateL( XnPropertyNames::style::common::KEdit );
  3509             node->UnsetStateL( XnPropertyNames::style::common::KEdit );
  3509             
  3510             
  3510             if ( !plugins[i]->Occupied() && useEmpty )
  3511             if ( !plugins[i]->Occupied() && useEmpty )
  3511                 {                               
  3512                 {                               
  3512                 // Make empty space blank
  3513                 // Make empty space blank
  3513                 SetStringPropertyToNodeL( sp, *node,
  3514                 SetStringPropertyToNodeL( *sp, *node,
  3514                     XnPropertyNames::style::common::KVisibility,
  3515                     XnPropertyNames::style::common::KVisibility,
  3515                     XnPropertyNames::style::common::visibility::KBlank );                    
  3516                     XnPropertyNames::style::common::visibility::KBlank );                    
  3516                 }
  3517                 }
  3517             }                
  3518             }                
  3518         }
  3519         }
  3635     const TDesC8& aName,
  3636     const TDesC8& aName,
  3636     const RPointerArray< HBufC8 >& aValues )
  3637     const RPointerArray< HBufC8 >& aValues )
  3637     {
  3638     {
  3638     if ( aNode )
  3639     if ( aNode )
  3639         {
  3640         {
  3640         CXnDomStringPool& sp = aEngine.ODT()->DomDocument().StringPool();
  3641         CXnDomStringPool* sp = aEngine.ODT()->DomDocument().StringPool();
  3641         CXnDomProperty* prop = CXnDomProperty::NewL( aName, sp );
  3642         CXnDomProperty* prop = CXnDomProperty::NewL( aName, sp );
  3642         CleanupStack::PushL( prop );
  3643         CleanupStack::PushL( prop );
  3643 
  3644 
  3644         for ( TInt i = 0; i < aValues.Count(); i++ )
  3645         for ( TInt i = 0; i < aValues.Count(); i++ )
  3645             {
  3646             {
  3679     const TDesC8& aName,
  3680     const TDesC8& aName,
  3680     const RPointerArray< HBufC8 >& aValues )
  3681     const RPointerArray< HBufC8 >& aValues )
  3681     {
  3682     {
  3682     if ( aNode )
  3683     if ( aNode )
  3683         {
  3684         {
  3684         CXnDomStringPool& sp = aEngine.ODT()->DomDocument().StringPool();
  3685         CXnDomStringPool* sp = aEngine.ODT()->DomDocument().StringPool();
  3685         CXnDomProperty* prop = CXnDomProperty::NewL( aName, sp );
  3686         CXnDomProperty* prop = CXnDomProperty::NewL( aName, sp );
  3686         CleanupStack::PushL( prop );
  3687         CleanupStack::PushL( prop );
  3687 
  3688 
  3688         for ( TInt i = 0; i < aValues.Count(); i++ )
  3689         for ( TInt i = 0; i < aValues.Count(); i++ )
  3689             {
  3690             {
  3728     const RPointerArray< HBufC8 >& aValues,
  3729     const RPointerArray< HBufC8 >& aValues,
  3729     const CXnDomPropertyValue::TPrimitiveValueType aValueType )
  3730     const CXnDomPropertyValue::TPrimitiveValueType aValueType )
  3730     {
  3731     {
  3731     if ( aNode )
  3732     if ( aNode )
  3732         {
  3733         {
  3733         CXnDomStringPool& sp = aEngine.ODT()->DomDocument().StringPool();
  3734         CXnDomStringPool* sp = aEngine.ODT()->DomDocument().StringPool();
  3734         CXnDomProperty* prop = CXnDomProperty::NewL( aName, sp );
  3735         CXnDomProperty* prop = CXnDomProperty::NewL( aName, sp );
  3735         CleanupStack::PushL( prop );
  3736         CleanupStack::PushL( prop );
  3736 
  3737 
  3737         for ( TInt i = 0; i < aValues.Count(); i++ )
  3738         for ( TInt i = 0; i < aValues.Count(); i++ )
  3738             {
  3739             {
  4401         {
  4402         {
  4402         CXnNode* trigger( BuildTriggerNodeL( aEngine,                    
  4403         CXnNode* trigger( BuildTriggerNodeL( aEngine,                    
  4403             XnPropertyNames::action::trigger::name::KEditMode ) );
  4404             XnPropertyNames::action::trigger::name::KEditMode ) );
  4404         CleanupStack::PushL( trigger );
  4405         CleanupStack::PushL( trigger );
  4405 
  4406 
  4406         CXnDomStringPool& sp( aEngine.ODT()->DomDocument().StringPool() );
  4407         CXnDomStringPool* sp( aEngine.ODT()->DomDocument().StringPool() );
  4407         
  4408         
  4408         CXnProperty* value( CXnProperty::NewL(
  4409         CXnProperty* value( CXnProperty::NewL(
  4409             XnPropertyNames::action::KValue,
  4410             XnPropertyNames::action::KValue,
  4410             XnPropertyNames::action::trigger::name::editmode::KEnter, 
  4411             XnPropertyNames::action::trigger::name::editmode::KEnter, 
  4411             CXnDomPropertyValue::EString, sp ) );
  4412             CXnDomPropertyValue::EString, *sp ) );
  4412         CleanupStack::PushL( value );
  4413         CleanupStack::PushL( value );
  4413         
  4414         
  4414         trigger->SetPropertyL( value );
  4415         trigger->SetPropertyL( value );
  4415         CleanupStack::Pop( value );
  4416         CleanupStack::Pop( value );
  4416 
  4417 
  4424         {
  4425         {
  4425         CXnNode* trigger( BuildTriggerNodeL( aEngine,                    
  4426         CXnNode* trigger( BuildTriggerNodeL( aEngine,                    
  4426             XnPropertyNames::action::trigger::name::KEditMode ) );
  4427             XnPropertyNames::action::trigger::name::KEditMode ) );
  4427         CleanupStack::PushL( trigger );
  4428         CleanupStack::PushL( trigger );
  4428         
  4429         
  4429         CXnDomStringPool& sp( aEngine.ODT()->DomDocument().StringPool() );
  4430         CXnDomStringPool* sp( aEngine.ODT()->DomDocument().StringPool() );
  4430         
  4431         
  4431         CXnProperty* value( CXnProperty::NewL(
  4432         CXnProperty* value( CXnProperty::NewL(
  4432             XnPropertyNames::action::KValue,
  4433             XnPropertyNames::action::KValue,
  4433             XnPropertyNames::action::trigger::name::editmode::KExit, 
  4434             XnPropertyNames::action::trigger::name::editmode::KExit, 
  4434             CXnDomPropertyValue::EString, sp ) );
  4435             CXnDomPropertyValue::EString, *sp ) );
  4435         CleanupStack::PushL( value );
  4436         CleanupStack::PushL( value );
  4436         
  4437         
  4437         trigger->SetPropertyL( value );
  4438         trigger->SetPropertyL( value );
  4438         CleanupStack::Pop( value );
  4439         CleanupStack::Pop( value );
  4439         
  4440         
  4466         aNode.RestartTimedTrigger();
  4467         aNode.RestartTimedTrigger();
  4467         return ETrue;
  4468         return ETrue;
  4468         }
  4469         }
  4469     else if ( nameString == XnPropertyNames::action::event::KSetWallpaper )
  4470     else if ( nameString == XnPropertyNames::action::event::KSetWallpaper )
  4470         {
  4471         {
  4471         aEngine.Editor()->SetWallpaperL();
  4472         aEngine.Editor()->BgManager().SetWallpaperL();
  4472         return ETrue;
  4473         return ETrue;
  4473         }
  4474         }
  4474            
  4475            
  4475     return EFalse;
  4476     return EFalse;
  4476     }
  4477     }
  6889     for ( TInt i = 0; i < siblingCount; i++ )
  6890     for ( TInt i = 0; i < siblingCount; i++ )
  6890         {
  6891         {
  6891         node = aSiblingArray[i];
  6892         node = aSiblingArray[i];
  6892         if ( DisplayValueMatchL( *node, KBlock ) )
  6893         if ( DisplayValueMatchL( *node, KBlock ) )
  6893             {
  6894             {
  6894             CXnDomStringPool& sp = node->DomNode()->StringPool();
  6895             CXnDomStringPool* sp = node->DomNode()->StringPool();
  6895             //Switch the display to 'none' to visible siblings.
  6896             //Switch the display to 'none' to visible siblings.
  6896             SetStringPropertyToNodeL( sp, *node, KDisplay, KNone );
  6897             SetStringPropertyToNodeL( *sp, *node, KDisplay, KNone );
  6897             node = aSiblingArray[toBeDisplayed];
  6898             node = aSiblingArray[toBeDisplayed];
  6898             toBeDisplayed++;
  6899             toBeDisplayed++;
  6899             //Switch the display to 'block' to hidden siblings.
  6900             //Switch the display to 'block' to hidden siblings.
  6900             SetStringPropertyToNodeL( sp, *node, KDisplay, KBlock );
  6901             SetStringPropertyToNodeL( *sp, *node, KDisplay, KBlock );
  6901             }
  6902             }
  6902         }
  6903         }
  6903     }
  6904     }
  6904 
  6905 
  6905 // -----------------------------------------------------------------------------
  6906 // -----------------------------------------------------------------------------
  6915     for ( TInt i = siblingCount; i > 0; )
  6916     for ( TInt i = siblingCount; i > 0; )
  6916         {
  6917         {
  6917         node = aSiblingArray[--i];
  6918         node = aSiblingArray[--i];
  6918         if ( DisplayValueMatchL( *node, KBlock ) )
  6919         if ( DisplayValueMatchL( *node, KBlock ) )
  6919             {
  6920             {
  6920             CXnDomStringPool& sp = node->DomNode()->StringPool();
  6921             CXnDomStringPool* sp = node->DomNode()->StringPool();
  6921             //Switch the display to 'none' to visible siblings.
  6922             //Switch the display to 'none' to visible siblings.
  6922             SetStringPropertyToNodeL( sp, *node, KDisplay, KNone );
  6923             SetStringPropertyToNodeL( *sp, *node, KDisplay, KNone );
  6923             node = aSiblingArray[toBeDisplayed];
  6924             node = aSiblingArray[toBeDisplayed];
  6924             toBeDisplayed--;
  6925             toBeDisplayed--;
  6925             //Switch the display to 'block' to hidden siblings.
  6926             //Switch the display to 'block' to hidden siblings.
  6926             SetStringPropertyToNodeL( sp, *node, KDisplay, KBlock );
  6927             SetStringPropertyToNodeL( *sp, *node, KDisplay, KBlock );
  6927             }
  6928             }
  6928         }
  6929         }
  6929     }
  6930     }
  6930 
  6931 
  6931 // -----------------------------------------------------------------------------
  6932 // -----------------------------------------------------------------------------
  7019     if ( node && node == aFocusedNode )
  7020     if ( node && node == aFocusedNode )
  7020         {
  7021         {
  7021         if ( oldestIndex - 1 >= 0 )
  7022         if ( oldestIndex - 1 >= 0 )
  7022             {
  7023             {
  7023             node = aChildren[oldestIndex - 1];
  7024             node = aChildren[oldestIndex - 1];
  7024             CXnDomStringPool& sp = node->DomNode()->StringPool();
  7025             CXnDomStringPool* sp = node->DomNode()->StringPool();
  7025             SetStringPropertyToNodeL( sp, *node, KDisplay, KBlock );
  7026             SetStringPropertyToNodeL( *sp, *node, KDisplay, KBlock );
  7026             // find youngest sibling with display block
  7027             // find youngest sibling with display block
  7027             TInt index( 0 );
  7028             TInt index( 0 );
  7028             node = FindYoungestSiblingWithDisplayL( aChildren, KBlock, index );
  7029             node = FindYoungestSiblingWithDisplayL( aChildren, KBlock, index );
  7029             if ( node )
  7030             if ( node )
  7030                 {
  7031                 {
  7031                 SetStringPropertyToNodeL( sp, *node, KDisplay, KNone );
  7032                 SetStringPropertyToNodeL( *sp, *node, KDisplay, KNone );
  7032                 }
  7033                 }
  7033             }
  7034             }
  7034         else
  7035         else
  7035             {
  7036             {
  7036             if ( IsLoopingNodeL( node ) )
  7037             if ( IsLoopingNodeL( node ) )
  7067     if ( node && node == aFocusedNode )
  7068     if ( node && node == aFocusedNode )
  7068         {
  7069         {
  7069         if ( index < siblingCount - 1 )
  7070         if ( index < siblingCount - 1 )
  7070             {
  7071             {
  7071             node = aChildren[index + 1];
  7072             node = aChildren[index + 1];
  7072             CXnDomStringPool& sp = node->DomNode()->StringPool();
  7073             CXnDomStringPool* sp = node->DomNode()->StringPool();
  7073             SetStringPropertyToNodeL( sp , *node, KDisplay, KBlock );
  7074             SetStringPropertyToNodeL( *sp , *node, KDisplay, KBlock );
  7074             // find oldest sibling with display block
  7075             // find oldest sibling with display block
  7075             TInt oldestIndex( 0 );
  7076             TInt oldestIndex( 0 );
  7076             node = FindOldestSiblingWithDisplayL( aChildren, KBlock, oldestIndex );
  7077             node = FindOldestSiblingWithDisplayL( aChildren, KBlock, oldestIndex );
  7077             if ( node )
  7078             if ( node )
  7078                 {
  7079                 {
  7079                 SetStringPropertyToNodeL( sp, *node, KDisplay, KNone );
  7080                 SetStringPropertyToNodeL( *sp, *node, KDisplay, KNone );
  7080                 }
  7081                 }
  7081             }
  7082             }
  7082         else // we are end of list
  7083         else // we are end of list
  7083             {
  7084             {
  7084             if ( IsLoopingNodeL( node ) )
  7085             if ( IsLoopingNodeL( node ) )
  7221     CleanupStack::PushL( nameValue );
  7222     CleanupStack::PushL( nameValue );
  7222     nameValue->SetStringValueL( CXnDomPropertyValue::EString, aTriggerName );
  7223     nameValue->SetStringValueL( CXnDomPropertyValue::EString, aTriggerName );
  7223     CXnProperty* name = CXnProperty::NewL(
  7224     CXnProperty* name = CXnProperty::NewL(
  7224         XnPropertyNames::action::trigger::KName,
  7225         XnPropertyNames::action::trigger::KName,
  7225         nameValue,
  7226         nameValue,
  7226         aUiEngine.ODT()->DomDocument().StringPool() );
  7227         *aUiEngine.ODT()->DomDocument().StringPool() );
  7227     CleanupStack::Pop( nameValue );
  7228     CleanupStack::Pop( nameValue );
  7228     CleanupStack::PushL( name );
  7229     CleanupStack::PushL( name );
  7229     node->SetPropertyL( name );
  7230     node->SetPropertyL( name );
  7230     CleanupStack::Pop( name );
  7231     CleanupStack::Pop( name );
  7231     CleanupStack::Pop( node );
  7232     CleanupStack::Pop( node );
  7462     {
  7463     {
  7463     iDomNode->SetPCDataL( aData );
  7464     iDomNode->SetPCDataL( aData );
  7464 
  7465 
  7465     SetDirtyL( XnDirtyLevel::ERender );
  7466     SetDirtyL( XnDirtyLevel::ERender );
  7466 
  7467 
  7467     CXnDomStringPool& sp( iDomNode->StringPool() );
  7468     CXnDomStringPool* sp( iDomNode->StringPool() );
  7468 
  7469 
  7469     CXnDomPropertyValue* newValue = CXnDomPropertyValue::NewL( sp );
  7470     CXnDomPropertyValue* newValue = CXnDomPropertyValue::NewL( sp );
  7470     CleanupStack::PushL( newValue );
  7471     CleanupStack::PushL( newValue );
  7471     newValue->SetStringValueL( CXnDomPropertyValue::EString, KNullDesC8 );
  7472     newValue->SetStringValueL( CXnDomPropertyValue::EString, KNullDesC8 );
  7472     // create property
  7473     // create property
  7473     CXnProperty* prop = CXnProperty::NewL(
  7474     CXnProperty* prop = CXnProperty::NewL(
  7474         XnPropertyNames::common::KPCData, newValue, sp );
  7475         XnPropertyNames::common::KPCData, newValue, *sp );
  7475     CleanupStack::Pop( newValue );
  7476     CleanupStack::Pop( newValue );
  7476     CleanupStack::PushL( prop );
  7477     CleanupStack::PushL( prop );
  7477 
  7478 
  7478     InformPropertyChangeL( *iNode, prop );
  7479     InformPropertyChangeL( *iNode, prop );
  7479 
  7480 
  7514 // -----------------------------------------------------------------------------
  7515 // -----------------------------------------------------------------------------
  7515 // CXnNodeImpl::ShowPopupsL()
  7516 // CXnNodeImpl::ShowPopupsL()
  7516 // Searchs and shoes tooltips
  7517 // Searchs and shoes tooltips
  7517 // -----------------------------------------------------------------------------
  7518 // -----------------------------------------------------------------------------
  7518 //
  7519 //
  7519 void CXnNodeImpl::ShowPopupsL( TRect aRect, TInt aSource )
  7520 void CXnNodeImpl::ShowPopupsL( TRect aRect, TInt /*aSource*/ )
  7520     {
  7521     {
  7521     if ( iHandleTooltip )
  7522     if ( iHandleTooltip )
  7522         {
  7523         {
  7523         for ( TInt i = 0; i < iChildren.Count(); i++ )
  7524         for ( TInt i = 0; i < iChildren.Count(); i++ )
  7524             {
  7525             {
 10012            !( iAdaptive & XnAdaptive::EWidth ) )
 10013            !( iAdaptive & XnAdaptive::EWidth ) )
 10013         {
 10014         {
 10014         iAdaptive |= XnAdaptive::EIgnoreDirty;
 10015         iAdaptive |= XnAdaptive::EIgnoreDirty;
 10015 
 10016 
 10016         SetStringPropertyToNodeL(
 10017         SetStringPropertyToNodeL(
 10017             DomNode()->StringPool(), *Node(),
 10018             *DomNode()->StringPool(), *Node(),
 10018             XnPropertyNames::style::common::KWidth,
 10019             XnPropertyNames::style::common::KWidth,
 10019             XnPropertyNames::style::common::KAuto );
 10020             XnPropertyNames::style::common::KAuto );
 10020 
 10021 
 10021         // Width is adaptive
 10022         // Width is adaptive
 10022         iAdaptive |= XnAdaptive::EWidth;
 10023         iAdaptive |= XnAdaptive::EWidth;
 10028          !( iAdaptive & XnAdaptive::EHeight ) )
 10029          !( iAdaptive & XnAdaptive::EHeight ) )
 10029         {
 10030         {
 10030         iAdaptive |= XnAdaptive::EIgnoreDirty;
 10031         iAdaptive |= XnAdaptive::EIgnoreDirty;
 10031 
 10032 
 10032         SetStringPropertyToNodeL(
 10033         SetStringPropertyToNodeL(
 10033             DomNode()->StringPool(), *Node(),
 10034             *DomNode()->StringPool(), *Node(),
 10034             XnPropertyNames::style::common::KHeight,
 10035             XnPropertyNames::style::common::KHeight,
 10035             XnPropertyNames::style::common::KAuto );
 10036             XnPropertyNames::style::common::KAuto );
 10036 
 10037 
 10037         // Height is adaptive
 10038         // Height is adaptive
 10038         iAdaptive |= XnAdaptive::EHeight;
 10039         iAdaptive |= XnAdaptive::EHeight;
 10060         if ( iAdaptive & XnAdaptive::EWidth )
 10061         if ( iAdaptive & XnAdaptive::EWidth )
 10061             {
 10062             {
 10062             iAdaptive |= XnAdaptive::EIgnoreDirty;
 10063             iAdaptive |= XnAdaptive::EIgnoreDirty;
 10063 
 10064 
 10064             SetFloatPropertyToNodeL(
 10065             SetFloatPropertyToNodeL(
 10065                 DomNode()->StringPool(), *Node(),
 10066                 *DomNode()->StringPool(), *Node(),
 10066                 XnPropertyNames::style::common::KWidth,
 10067                 XnPropertyNames::style::common::KWidth,
 10067                 aFixedSize.iWidth, CXnDomPropertyValue::EPx );
 10068                 aFixedSize.iWidth, CXnDomPropertyValue::EPx );
 10068 
 10069 
 10069             iAdaptive &= ~XnAdaptive::EIgnoreDirty;
 10070             iAdaptive &= ~XnAdaptive::EIgnoreDirty;
 10070             }
 10071             }
 10072         if ( iAdaptive & XnAdaptive::EHeight )
 10073         if ( iAdaptive & XnAdaptive::EHeight )
 10073             {
 10074             {
 10074             iAdaptive |= XnAdaptive::EIgnoreDirty;
 10075             iAdaptive |= XnAdaptive::EIgnoreDirty;
 10075 
 10076 
 10076             SetFloatPropertyToNodeL(
 10077             SetFloatPropertyToNodeL(
 10077                 DomNode()->StringPool(), *Node(),
 10078                 *DomNode()->StringPool(), *Node(),
 10078                 XnPropertyNames::style::common::KHeight,
 10079                 XnPropertyNames::style::common::KHeight,
 10079                 aFixedSize.iHeight, CXnDomPropertyValue::EPx );
 10080                 aFixedSize.iHeight, CXnDomPropertyValue::EPx );
 10080 
 10081 
 10081             iAdaptive &= ~XnAdaptive::EIgnoreDirty;
 10082             iAdaptive &= ~XnAdaptive::EIgnoreDirty;
 10082             }
 10083             }