data/testpublisher/src/testpublisherappview.cpp
author jake
Wed, 02 Jun 2010 13:22:05 +0300
changeset 0 b856a9924bbc
permissions -rw-r--r--
initial contribution
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b856a9924bbc initial contribution
jake
parents:
diff changeset
     1
/*
b856a9924bbc initial contribution
jake
parents:
diff changeset
     2
* Copyright (c) {Year(s)} {Copyright owner}.
b856a9924bbc initial contribution
jake
parents:
diff changeset
     3
* All rights reserved.
b856a9924bbc initial contribution
jake
parents:
diff changeset
     4
* This component and the accompanying materials are made available
b856a9924bbc initial contribution
jake
parents:
diff changeset
     5
* under the terms of the "Eclipse Public License v1.0"
b856a9924bbc initial contribution
jake
parents:
diff changeset
     6
* which accompanies this distribution, and is available
b856a9924bbc initial contribution
jake
parents:
diff changeset
     7
* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
b856a9924bbc initial contribution
jake
parents:
diff changeset
     8
*
b856a9924bbc initial contribution
jake
parents:
diff changeset
     9
* Initial Contributors:
b856a9924bbc initial contribution
jake
parents:
diff changeset
    10
* {Name} {Company} ? Initial contribution
b856a9924bbc initial contribution
jake
parents:
diff changeset
    11
*
b856a9924bbc initial contribution
jake
parents:
diff changeset
    12
* Contributors:
b856a9924bbc initial contribution
jake
parents:
diff changeset
    13
* {Name} {Company} ? {{Description of contribution}}
b856a9924bbc initial contribution
jake
parents:
diff changeset
    14
*
b856a9924bbc initial contribution
jake
parents:
diff changeset
    15
* Description:
b856a9924bbc initial contribution
jake
parents:
diff changeset
    16
* {{Description of the file}}
b856a9924bbc initial contribution
jake
parents:
diff changeset
    17
*
b856a9924bbc initial contribution
jake
parents:
diff changeset
    18
*/
b856a9924bbc initial contribution
jake
parents:
diff changeset
    19
b856a9924bbc initial contribution
jake
parents:
diff changeset
    20
b856a9924bbc initial contribution
jake
parents:
diff changeset
    21
// INCLUDE FILES
b856a9924bbc initial contribution
jake
parents:
diff changeset
    22
#include <coemain.h>
b856a9924bbc initial contribution
jake
parents:
diff changeset
    23
#include <aknglobalnote.h>
b856a9924bbc initial contribution
jake
parents:
diff changeset
    24
#include <aknsconstants.h>
b856a9924bbc initial contribution
jake
parents:
diff changeset
    25
#include "TestPublisherAppView.h"
b856a9924bbc initial contribution
jake
parents:
diff changeset
    26
#include "hspublisher.h"
b856a9924bbc initial contribution
jake
parents:
diff changeset
    27
b856a9924bbc initial contribution
jake
parents:
diff changeset
    28
_LIT( KId, "#replaceuid#:#replace#" );
b856a9924bbc initial contribution
jake
parents:
diff changeset
    29
b856a9924bbc initial contribution
jake
parents:
diff changeset
    30
// Type definitions
b856a9924bbc initial contribution
jake
parents:
diff changeset
    31
enum TFlags
b856a9924bbc initial contribution
jake
parents:
diff changeset
    32
    {
b856a9924bbc initial contribution
jake
parents:
diff changeset
    33
    ERequirePublish =1,
b856a9924bbc initial contribution
jake
parents:
diff changeset
    34
    EPublishAllowed
b856a9924bbc initial contribution
jake
parents:
diff changeset
    35
    };
b856a9924bbc initial contribution
jake
parents:
diff changeset
    36
b856a9924bbc initial contribution
jake
parents:
diff changeset
    37
b856a9924bbc initial contribution
jake
parents:
diff changeset
    38
_LIT( KGNews1, "World news!");
b856a9924bbc initial contribution
jake
parents:
diff changeset
    39
_LIT( KGFeed1, "Bangkok tense as thousands remain on streets." );
b856a9924bbc initial contribution
jake
parents:
diff changeset
    40
_LIT( KGFeed2, "France frees killer of former Iran PM." );
b856a9924bbc initial contribution
jake
parents:
diff changeset
    41
_LIT( KGFeed3, "Lingering ash cloud spurs new rules." );
b856a9924bbc initial contribution
jake
parents:
diff changeset
    42
b856a9924bbc initial contribution
jake
parents:
diff changeset
    43
_LIT( KSNews1, "Sport news!");
b856a9924bbc initial contribution
jake
parents:
diff changeset
    44
_LIT( KSFeed1, "Motorsport: Webber dampens title talk." );
b856a9924bbc initial contribution
jake
parents:
diff changeset
    45
_LIT( KSFeed2, "Cricket: IPL boss seeks reinstatement." );
b856a9924bbc initial contribution
jake
parents:
diff changeset
    46
_LIT( KSFeed3, "Tennis: Nadal too strong for Federer." );
b856a9924bbc initial contribution
jake
parents:
diff changeset
    47
b856a9924bbc initial contribution
jake
parents:
diff changeset
    48
b856a9924bbc initial contribution
jake
parents:
diff changeset
    49
// ============================ MEMBER FUNCTIONS ===============================
b856a9924bbc initial contribution
jake
parents:
diff changeset
    50
b856a9924bbc initial contribution
jake
parents:
diff changeset
    51
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
    52
// Two-phased constructor.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    53
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
    54
//
b856a9924bbc initial contribution
jake
parents:
diff changeset
    55
CTestPublisherAppView* CTestPublisherAppView::NewL(const TRect& aRect)
b856a9924bbc initial contribution
jake
parents:
diff changeset
    56
    {
b856a9924bbc initial contribution
jake
parents:
diff changeset
    57
    CTestPublisherAppView* self = CTestPublisherAppView::NewLC(aRect);
b856a9924bbc initial contribution
jake
parents:
diff changeset
    58
    CleanupStack::Pop(self);
b856a9924bbc initial contribution
jake
parents:
diff changeset
    59
    return self;
b856a9924bbc initial contribution
jake
parents:
diff changeset
    60
    }
b856a9924bbc initial contribution
jake
parents:
diff changeset
    61
b856a9924bbc initial contribution
jake
parents:
diff changeset
    62
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
    63
// Two-phased constructor.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    64
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
    65
//
b856a9924bbc initial contribution
jake
parents:
diff changeset
    66
CTestPublisherAppView* CTestPublisherAppView::NewLC(const TRect& aRect)
b856a9924bbc initial contribution
jake
parents:
diff changeset
    67
    {
b856a9924bbc initial contribution
jake
parents:
diff changeset
    68
    CTestPublisherAppView* self = new (ELeave) CTestPublisherAppView;
b856a9924bbc initial contribution
jake
parents:
diff changeset
    69
    CleanupStack::PushL(self);
b856a9924bbc initial contribution
jake
parents:
diff changeset
    70
    self->ConstructL(aRect);
b856a9924bbc initial contribution
jake
parents:
diff changeset
    71
    return self;
b856a9924bbc initial contribution
jake
parents:
diff changeset
    72
    }
b856a9924bbc initial contribution
jake
parents:
diff changeset
    73
b856a9924bbc initial contribution
jake
parents:
diff changeset
    74
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
    75
// Symbian 2nd phase constructor can leave.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    76
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
    77
//
b856a9924bbc initial contribution
jake
parents:
diff changeset
    78
void CTestPublisherAppView::ConstructL(const TRect& aRect)
b856a9924bbc initial contribution
jake
parents:
diff changeset
    79
    {
b856a9924bbc initial contribution
jake
parents:
diff changeset
    80
    // Create a window for this application view
b856a9924bbc initial contribution
jake
parents:
diff changeset
    81
    CreateWindowL();
b856a9924bbc initial contribution
jake
parents:
diff changeset
    82
b856a9924bbc initial contribution
jake
parents:
diff changeset
    83
    // Set the windows size
b856a9924bbc initial contribution
jake
parents:
diff changeset
    84
    SetRect(aRect);
b856a9924bbc initial contribution
jake
parents:
diff changeset
    85
b856a9924bbc initial contribution
jake
parents:
diff changeset
    86
    iWidgetIds = new (ELeave) CDesCArrayFlat(5);
b856a9924bbc initial contribution
jake
parents:
diff changeset
    87
    //Create the publihser interface
b856a9924bbc initial contribution
jake
parents:
diff changeset
    88
    iPublisher = CHsPublisher::NewL( *this );
b856a9924bbc initial contribution
jake
parents:
diff changeset
    89
    // Activate the window, which makes it ready to be drawn
b856a9924bbc initial contribution
jake
parents:
diff changeset
    90
    ActivateL();
b856a9924bbc initial contribution
jake
parents:
diff changeset
    91
    }
b856a9924bbc initial contribution
jake
parents:
diff changeset
    92
b856a9924bbc initial contribution
jake
parents:
diff changeset
    93
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
    94
// C++ default constructor can NOT contain any code, that might leave.
b856a9924bbc initial contribution
jake
parents:
diff changeset
    95
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
    96
//
b856a9924bbc initial contribution
jake
parents:
diff changeset
    97
CTestPublisherAppView::CTestPublisherAppView()
b856a9924bbc initial contribution
jake
parents:
diff changeset
    98
    {
b856a9924bbc initial contribution
jake
parents:
diff changeset
    99
    // No implementation required
b856a9924bbc initial contribution
jake
parents:
diff changeset
   100
    }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   101
b856a9924bbc initial contribution
jake
parents:
diff changeset
   102
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
   103
// Destructor.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   104
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
   105
//
b856a9924bbc initial contribution
jake
parents:
diff changeset
   106
CTestPublisherAppView::~CTestPublisherAppView()
b856a9924bbc initial contribution
jake
parents:
diff changeset
   107
    {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   108
    delete iPublisher;
b856a9924bbc initial contribution
jake
parents:
diff changeset
   109
    delete iWidgetIds;
b856a9924bbc initial contribution
jake
parents:
diff changeset
   110
    }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   111
b856a9924bbc initial contribution
jake
parents:
diff changeset
   112
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
   113
// Draws the display.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   114
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
   115
//
b856a9924bbc initial contribution
jake
parents:
diff changeset
   116
void CTestPublisherAppView::Draw(const TRect& /*aRect*/) const
b856a9924bbc initial contribution
jake
parents:
diff changeset
   117
    {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   118
    // Get the standard graphics context
b856a9924bbc initial contribution
jake
parents:
diff changeset
   119
    CWindowGc& gc = SystemGc();
b856a9924bbc initial contribution
jake
parents:
diff changeset
   120
b856a9924bbc initial contribution
jake
parents:
diff changeset
   121
    // Gets the control's extent
b856a9924bbc initial contribution
jake
parents:
diff changeset
   122
    TRect drawRect(Rect());
b856a9924bbc initial contribution
jake
parents:
diff changeset
   123
b856a9924bbc initial contribution
jake
parents:
diff changeset
   124
    // Clears the screen
b856a9924bbc initial contribution
jake
parents:
diff changeset
   125
    gc.Clear(drawRect);
b856a9924bbc initial contribution
jake
parents:
diff changeset
   126
b856a9924bbc initial contribution
jake
parents:
diff changeset
   127
    }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   128
b856a9924bbc initial contribution
jake
parents:
diff changeset
   129
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
   130
// Called by framework when the view size is changed.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   131
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
   132
//
b856a9924bbc initial contribution
jake
parents:
diff changeset
   133
void CTestPublisherAppView::SizeChanged()
b856a9924bbc initial contribution
jake
parents:
diff changeset
   134
    {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   135
    DrawNow();
b856a9924bbc initial contribution
jake
parents:
diff changeset
   136
    }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   137
b856a9924bbc initial contribution
jake
parents:
diff changeset
   138
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
   139
// Called by framework to handle pointer touch events.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   140
// Note: although this method is compatible with earlier SDKs, 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   141
// it will not be called in SDKs without Touch support.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   142
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
   143
//
b856a9924bbc initial contribution
jake
parents:
diff changeset
   144
void CTestPublisherAppView::HandlePointerEventL(
b856a9924bbc initial contribution
jake
parents:
diff changeset
   145
        const TPointerEvent& aPointerEvent)
b856a9924bbc initial contribution
jake
parents:
diff changeset
   146
    {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   147
b856a9924bbc initial contribution
jake
parents:
diff changeset
   148
    // Call base class HandlePointerEventL()
b856a9924bbc initial contribution
jake
parents:
diff changeset
   149
    CCoeControl::HandlePointerEventL(aPointerEvent);
b856a9924bbc initial contribution
jake
parents:
diff changeset
   150
    }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   151
b856a9924bbc initial contribution
jake
parents:
diff changeset
   152
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
   153
//
b856a9924bbc initial contribution
jake
parents:
diff changeset
   154
// 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   155
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
   156
//
b856a9924bbc initial contribution
jake
parents:
diff changeset
   157
const TDesC& CTestPublisherAppView::Identity()
b856a9924bbc initial contribution
jake
parents:
diff changeset
   158
    {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   159
    return KId();
b856a9924bbc initial contribution
jake
parents:
diff changeset
   160
    }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   161
b856a9924bbc initial contribution
jake
parents:
diff changeset
   162
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
   163
//
b856a9924bbc initial contribution
jake
parents:
diff changeset
   164
// 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   165
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
   166
//
b856a9924bbc initial contribution
jake
parents:
diff changeset
   167
void CTestPublisherAppView::NotifyWidgetStarted( const TDesC& aWidgetId,     
b856a9924bbc initial contribution
jake
parents:
diff changeset
   168
    MHsWidgetObserver::EStartReason /*aReason*/ )
b856a9924bbc initial contribution
jake
parents:
diff changeset
   169
    {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   170
    TInt pos( KErrNotFound );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   171
    if( iWidgetIds->Find( aWidgetId, pos ) != 0)
b856a9924bbc initial contribution
jake
parents:
diff changeset
   172
        {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   173
        iWidgetIds->AppendL( aWidgetId );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   174
        }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   175
    
b856a9924bbc initial contribution
jake
parents:
diff changeset
   176
    // Publish after widget is alive, lazy.
b856a9924bbc initial contribution
jake
parents:
diff changeset
   177
    iFlags.Set( ERequirePublish );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   178
    }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   179
b856a9924bbc initial contribution
jake
parents:
diff changeset
   180
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
   181
// 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   182
// 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   183
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
   184
void CTestPublisherAppView::NotifyWidgetStopped( const TDesC& aWidgetId,     
b856a9924bbc initial contribution
jake
parents:
diff changeset
   185
    MHsWidgetObserver::EStopReason /*aReason*/ )
b856a9924bbc initial contribution
jake
parents:
diff changeset
   186
    {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   187
    TInt pos( KErrNotFound );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   188
    if( iWidgetIds->Find( aWidgetId, pos ) == 0 )
b856a9924bbc initial contribution
jake
parents:
diff changeset
   189
        {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   190
        // widget removed from homescreen or in invisible page
b856a9924bbc initial contribution
jake
parents:
diff changeset
   191
        iWidgetIds->Delete( pos );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   192
        }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   193
    }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   194
b856a9924bbc initial contribution
jake
parents:
diff changeset
   195
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
   196
// 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   197
// 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   198
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
   199
//
b856a9924bbc initial contribution
jake
parents:
diff changeset
   200
void CTestPublisherAppView::NotifyWidgetState( const TDesC& aWidgetId,      
b856a9924bbc initial contribution
jake
parents:
diff changeset
   201
    MHsWidgetObserver::EState aState )
b856a9924bbc initial contribution
jake
parents:
diff changeset
   202
    {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   203
    if ( aState == MHsWidgetObserver::EAlive )
b856a9924bbc initial contribution
jake
parents:
diff changeset
   204
        {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   205
        iFlags.Set( EPublishAllowed );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   206
        
b856a9924bbc initial contribution
jake
parents:
diff changeset
   207
        // PublishL will determine if it is necessary to update widget data
b856a9924bbc initial contribution
jake
parents:
diff changeset
   208
        TRAP_IGNORE( PublishL( aWidgetId ) );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   209
        }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   210
    else if ( aState == MHsWidgetObserver::ESuspend )
b856a9924bbc initial contribution
jake
parents:
diff changeset
   211
        {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   212
        iFlags.Clear( EPublishAllowed );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   213
        }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   214
    }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   215
b856a9924bbc initial contribution
jake
parents:
diff changeset
   216
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
   217
// 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   218
// 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   219
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
   220
//
b856a9924bbc initial contribution
jake
parents:
diff changeset
   221
void CTestPublisherAppView::NotifyWidgetEvent( const TDesC& aWidgetId,    
b856a9924bbc initial contribution
jake
parents:
diff changeset
   222
    const TDesC& aEvent, const TDesC& /*aParam*/ )
b856a9924bbc initial contribution
jake
parents:
diff changeset
   223
    {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   224
    if ( aEvent == _L("imageclicked"))
b856a9924bbc initial contribution
jake
parents:
diff changeset
   225
        {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   226
        CAknGlobalNote* globalNote = CAknGlobalNote::NewLC();
b856a9924bbc initial contribution
jake
parents:
diff changeset
   227
        TInt noteId = globalNote->ShowNoteL( EAknGlobalInformationNote, _L("Image clicked"));
b856a9924bbc initial contribution
jake
parents:
diff changeset
   228
        User::After( 2000 );  // waiting for 3 seconds
b856a9924bbc initial contribution
jake
parents:
diff changeset
   229
        // discard note
b856a9924bbc initial contribution
jake
parents:
diff changeset
   230
        globalNote->CancelNoteL( noteId );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   231
        CleanupStack::PopAndDestroy();
b856a9924bbc initial contribution
jake
parents:
diff changeset
   232
        iPublisher->StartTransaction( aWidgetId );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   233
        iPublisher->PublishText(
b856a9924bbc initial contribution
jake
parents:
diff changeset
   234
                aWidgetId, _L8("text2"), KGFeed3 );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   235
        iPublisher->CommitTransaction( aWidgetId );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   236
        }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   237
    else if ( aEvent == _L("textclicked") )
b856a9924bbc initial contribution
jake
parents:
diff changeset
   238
        {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   239
        CAknGlobalNote* globalNote = CAknGlobalNote::NewLC();
b856a9924bbc initial contribution
jake
parents:
diff changeset
   240
        TInt noteId = globalNote->ShowNoteL( EAknGlobalInformationNote, _L("Text clicked") );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   241
        User::After( 2000 );  // waiting for 3 seconds
b856a9924bbc initial contribution
jake
parents:
diff changeset
   242
        // discard note
b856a9924bbc initial contribution
jake
parents:
diff changeset
   243
        globalNote->CancelNoteL( noteId );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   244
        CleanupStack::PopAndDestroy();
b856a9924bbc initial contribution
jake
parents:
diff changeset
   245
        iPublisher->StartTransaction( aWidgetId );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   246
        iPublisher->PublishText(
b856a9924bbc initial contribution
jake
parents:
diff changeset
   247
            aWidgetId, _L8("text3"), KGFeed2 );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   248
        iPublisher->CommitTransaction( aWidgetId );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   249
        }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   250
    else if ( aEvent == _L("widgetclicked") )
b856a9924bbc initial contribution
jake
parents:
diff changeset
   251
        {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   252
        CAknGlobalNote* globalNote = CAknGlobalNote::NewLC();
b856a9924bbc initial contribution
jake
parents:
diff changeset
   253
        TInt noteId = globalNote->ShowNoteL( EAknGlobalInformationNote, _L("Widget clicked") );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   254
        User::After( 3000 );  // waiting for 3 seconds
b856a9924bbc initial contribution
jake
parents:
diff changeset
   255
        // discard note
b856a9924bbc initial contribution
jake
parents:
diff changeset
   256
        globalNote->CancelNoteL( noteId );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   257
        CleanupStack::PopAndDestroy();
b856a9924bbc initial contribution
jake
parents:
diff changeset
   258
        iPublisher->StartTransaction( aWidgetId );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   259
        if( !iFeedCnt )
b856a9924bbc initial contribution
jake
parents:
diff changeset
   260
            {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   261
            iPublisher->PublishText(
b856a9924bbc initial contribution
jake
parents:
diff changeset
   262
                aWidgetId, _L8("text2"), KGFeed3 );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   263
            iFeedCnt = ETrue;
b856a9924bbc initial contribution
jake
parents:
diff changeset
   264
            }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   265
        else
b856a9924bbc initial contribution
jake
parents:
diff changeset
   266
            {iPublisher->PublishText(
b856a9924bbc initial contribution
jake
parents:
diff changeset
   267
                    aWidgetId, _L8("text3"), KGFeed2 );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   268
            iFeedCnt = EFalse;
b856a9924bbc initial contribution
jake
parents:
diff changeset
   269
            }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   270
        
b856a9924bbc initial contribution
jake
parents:
diff changeset
   271
        iPublisher->CommitTransaction( aWidgetId );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   272
        }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   273
    else if( aEvent == _L("OnTitleScrolled"))
b856a9924bbc initial contribution
jake
parents:
diff changeset
   274
        {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   275
        TInt pos( KErrNotFound );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   276
        if( iWidgetIds->Find( aWidgetId, pos ) == 0 && pos % 2 == 1 )
b856a9924bbc initial contribution
jake
parents:
diff changeset
   277
            {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   278
            iPublisher->StartTransaction( aWidgetId );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   279
            if( iFeedCnt == 0 )
b856a9924bbc initial contribution
jake
parents:
diff changeset
   280
                {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   281
                iPublisher->PublishImage(aWidgetId,
b856a9924bbc initial contribution
jake
parents:
diff changeset
   282
                         _L8("image1"), _L("c:\\data\\Installs\\cricket.png"));
b856a9924bbc initial contribution
jake
parents:
diff changeset
   283
                iFeedCnt++;
b856a9924bbc initial contribution
jake
parents:
diff changeset
   284
                }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   285
            else if( iFeedCnt == 1 )
b856a9924bbc initial contribution
jake
parents:
diff changeset
   286
                {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   287
                iPublisher->PublishImage(aWidgetId,
b856a9924bbc initial contribution
jake
parents:
diff changeset
   288
                         _L8("image1"), _L("c:\\data\\Installs\\tennis.png"));
b856a9924bbc initial contribution
jake
parents:
diff changeset
   289
                iFeedCnt++;
b856a9924bbc initial contribution
jake
parents:
diff changeset
   290
                }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   291
            else if( iFeedCnt == 2)
b856a9924bbc initial contribution
jake
parents:
diff changeset
   292
                {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   293
                iPublisher->PublishImage(aWidgetId,
b856a9924bbc initial contribution
jake
parents:
diff changeset
   294
                         _L8("image1"), _L("c:\\data\\Installs\\f1.png"));
b856a9924bbc initial contribution
jake
parents:
diff changeset
   295
                iFeedCnt = 0;
b856a9924bbc initial contribution
jake
parents:
diff changeset
   296
                }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   297
            iPublisher->CommitTransaction( aWidgetId );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   298
            }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   299
        }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   300
    
b856a9924bbc initial contribution
jake
parents:
diff changeset
   301
    }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   302
b856a9924bbc initial contribution
jake
parents:
diff changeset
   303
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
   304
// 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   305
// 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   306
// -----------------------------------------------------------------------------
b856a9924bbc initial contribution
jake
parents:
diff changeset
   307
//
b856a9924bbc initial contribution
jake
parents:
diff changeset
   308
void CTestPublisherAppView::PublishL( const TDesC& aWidgetId )
b856a9924bbc initial contribution
jake
parents:
diff changeset
   309
    {
b856a9924bbc initial contribution
jake
parents:
diff changeset
   310
    if ( iFlags.IsClear( ERequirePublish ) )
b856a9924bbc initial contribution
jake
parents:
diff changeset
   311
        {        
b856a9924bbc initial contribution
jake
parents:
diff changeset
   312
        // Can't publish without widget instance id or no reason to publish
b856a9924bbc initial contribution
jake
parents:
diff changeset
   313
        return;
b856a9924bbc initial contribution
jake
parents:
diff changeset
   314
        }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   315
    if ( iFlags.IsSet( EPublishAllowed ) )
b856a9924bbc initial contribution
jake
parents:
diff changeset
   316
        {            
b856a9924bbc initial contribution
jake
parents:
diff changeset
   317
        iPublisher->StartTransaction( aWidgetId );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   318
b856a9924bbc initial contribution
jake
parents:
diff changeset
   319
        iPublisher->PublishImage(aWidgetId,
b856a9924bbc initial contribution
jake
parents:
diff changeset
   320
             _L8("graphic"), _L("c:\\data\\Installs\\rss.png"));
b856a9924bbc initial contribution
jake
parents:
diff changeset
   321
       
b856a9924bbc initial contribution
jake
parents:
diff changeset
   322
        iPublisher->PublishText( aWidgetId, _L8("text1"), KGFeed1 );                    
b856a9924bbc initial contribution
jake
parents:
diff changeset
   323
        /*
b856a9924bbc initial contribution
jake
parents:
diff changeset
   324
        iPublisher->PublishText( 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   325
                    aWidgetId, _L8("text2"), KGFeed2 );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   326
        iPublisher->PublishText( 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   327
                    aWidgetId, _L8("text3"), KGFeed3 );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   328
        iPublisher->PublishText( 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   329
                    aWidgetId, _L8("text4"), KSFeed1 );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   330
        */
b856a9924bbc initial contribution
jake
parents:
diff changeset
   331
        iPublisher->PublishText( 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   332
                    aWidgetId, _L8("title1"), KGFeed1 );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   333
        iPublisher->PublishText( 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   334
                    aWidgetId, _L8("title2"), KGFeed2 );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   335
        iPublisher->PublishText( 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   336
                    aWidgetId, _L8("title4"), KGFeed3 );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   337
        
b856a9924bbc initial contribution
jake
parents:
diff changeset
   338
        iPublisher->PublishText( 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   339
                    aWidgetId, _L8("title3"), KSFeed1 );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   340
        iPublisher->PublishText( 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   341
                    aWidgetId, _L8("title5"), KSFeed2 );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   342
        iPublisher->PublishText( 
b856a9924bbc initial contribution
jake
parents:
diff changeset
   343
                    aWidgetId, _L8("title6"), KSFeed3 );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   344
                    
b856a9924bbc initial contribution
jake
parents:
diff changeset
   345
        
b856a9924bbc initial contribution
jake
parents:
diff changeset
   346
        iPublisher->PublishImage(aWidgetId,
b856a9924bbc initial contribution
jake
parents:
diff changeset
   347
            _L8("image1"), _L("c:\\data\\Installs\\rss_small.png"));
b856a9924bbc initial contribution
jake
parents:
diff changeset
   348
        iPublisher->PublishImage(aWidgetId,
b856a9924bbc initial contribution
jake
parents:
diff changeset
   349
            _L8("image2"), _L("c:\\data\\Installs\\rss_small.png"));
b856a9924bbc initial contribution
jake
parents:
diff changeset
   350
        iPublisher->PublishImage(aWidgetId,
b856a9924bbc initial contribution
jake
parents:
diff changeset
   351
            _L8("image3"), _L("c:\\data\\Installs\\rss_small.png"));
b856a9924bbc initial contribution
jake
parents:
diff changeset
   352
b856a9924bbc initial contribution
jake
parents:
diff changeset
   353
        iPublisher->CommitTransaction( aWidgetId );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   354
b856a9924bbc initial contribution
jake
parents:
diff changeset
   355
        iFlags.Clear( ERequirePublish );
b856a9924bbc initial contribution
jake
parents:
diff changeset
   356
        }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   357
    }
b856a9924bbc initial contribution
jake
parents:
diff changeset
   358
b856a9924bbc initial contribution
jake
parents:
diff changeset
   359
// End of File