--- a/idlehomescreen/xmluirendering/uiengine/src/xneditmode.cpp Tue Apr 27 16:26:12 2010 +0300
+++ b/idlehomescreen/xmluirendering/uiengine/src/xneditmode.cpp Tue May 11 16:02:39 2010 +0300
@@ -383,7 +383,7 @@
}
// Update background
- appui.ViewAdapter().BgManager().UpdateScreen();
+ appui.ViewAdapter().BgManager().DrawNow();
}
// -----------------------------------------------------------------------------
@@ -506,7 +506,7 @@
if ( plugin && plugin->Occupied() )
{
- StartDragL( *node );
+ StartDragL( *plugin );
iDrawPos = iDraggingNode->BorderRect().iTl;
@@ -550,12 +550,12 @@
TPoint dp( iPreviousPos - aPointerEvent.iPosition );
iDrawPos -= dp;
-
- // Update previous position
- iPreviousPos = aPointerEvent.iPosition;
-
+
UpdateScreen();
}
+
+ // Update previous position
+ iPreviousPos = aPointerEvent.iPosition;
}
else if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
{
@@ -724,10 +724,15 @@
//
// -----------------------------------------------------------------------------
//
-void CXnEditMode::StartDragL( CXnNode& aNode )
+void CXnEditMode::StartDragL( const CXnPluginData& aPlugin )
{
- CXnControlAdapter* control( aNode.Control() );
-
+ CXnNode* node( aPlugin.Owner()->LayoutNode() );
+
+ CXnControlAdapter* control( node->Control() );
+
+ CXnControlAdapter* parent(
+ aPlugin.Parent()->Node()->LayoutNode()->Control() );
+
TRect rect( control->Rect() );
// Clear first with alpha
@@ -739,42 +744,28 @@
iMapGc->SetBrushStyle( CGraphicsContext::ESolidBrush );
iMapGc->SetBrushColor( rgb );
- iMapGc->Clear( rect );
+ iMapGc->Clear();
iState = CXnEditMode::EShootContent;
CWindowGc* gc( control->CustomGc() );
- control->SetCustomGc( iMapGc );
-
- TBool focusStateChanged( EFalse );
+ parent->SetCustomGc( iMapGc );
- if( aNode.IsStateSet( XnPropertyNames::style::common::KFocus ) )
- {
- aNode.UnsetStateL( XnPropertyNames::style::common::KFocus );
- focusStateChanged = ETrue;
- }
-
control->DrawNow( rect );
- control->SetCustomGc( gc );
-
- if( focusStateChanged )
- {
- aNode.SetStateL( XnPropertyNames::style::common::KFocus );
- iUiEngine.RenderUIL( &aNode );
- }
-
+ parent->SetCustomGc( gc );
+
if ( iWidget->SizeInPixels() != rect.Size() )
{
iWidget->Resize( rect.Size() );
}
- User::LeaveIfError( CopyBitmap( *iWidget, *iMainpane, rect.iTl ) );
-
iState = CXnEditMode::EDragging;
-
- iDraggingNode = &aNode;
+
+ iDraggingNode = node;
+
+ User::LeaveIfError( CopyBitmap( *iWidget, *iMainpane, rect.iTl ) );
}
// -----------------------------------------------------------------------------