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 |
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 |
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 } |