EXPORT_C CFbsBitmap* AknsUtils::CreateBitmapL( MAknsSkinInstance* aInstance, const TAknsItemID& aID ) { CFbsBitmap* bitmap = NULL; CreateIconL( aInstance, aID, bitmap, KNullDesC, -1 ); return bitmap; }
void CAknInputFrame::HandleResourceChange( TInt aType ) { CCoeControl::HandleResourceChange( aType ); switch ( aType ) { case KAknsMessageSkinChange: case KEikDynamicLayoutVariantSwitch: CreateIconL(); break; default: break; } }
// ----------------------------------------------------------------------------- // AknsUtils::GetAppIconFromSkin // ----------------------------------------------------------------------------- // TInt AknsUtils::GetAppIconFromSkin( MAknsSkinInstance* aInstance, TUid aAppUid, TSize aSize, CFbsBitmap*& aBitmap, CFbsBitmap*& aMask ) { if( !aInstance ) { return KErrNotSupported; } TAknsItemID iid; iid.Set( EAknsMajorAppIcon, aAppUid.iUid ); TInt err( KErrNone ); TAknsItemID iconIID; TRAP( err, ( iconIID = SelectBestAppIconBitmapL( aSize, aInstance, iid ) ) ); if( err ) { return err; } CFbsBitmap* bitmap = NULL; CFbsBitmap* mask = NULL; TRAPD( createErr, CreateIconL( aInstance, iconIID, bitmap, mask, KNullDesC, -1, -1 ) ); //lint !e645 Initialized if( createErr ) { delete bitmap; delete mask; return createErr; } __ASSERT_DEBUG( bitmap && mask, AKNS_DEBUG_PANIC( EAknsDPanicNotInitialized ) ); AknInternalIconUtils::SetAppIcon(aBitmap); //icon case aBitmap = bitmap; aMask = mask; return KErrNone; } //lint !e1746 GetAppIcon syntax
/* * Landmark objects will make use of an SVG file for rendering (demo purposes) */ void CLMXObject::ConstructL() { _LIT(KIconFile, "\\resource\\apps\\Landmarks_0x2002E1AF.mif"); CGulIcon* icon = CreateIconL(KIconFile, EMbmLandmarks_0x2002e1afIcon, EMbmLandmarks_0x2002e1afIcon_mask); CleanupStack::PushL(icon); CFbsBitmap* bitmap = icon->Bitmap(); // Ownership NOT transferred CFbsBitmap* mask = icon->Mask(); // Ownership NOT transferred // Always expect 16M bitmap to make conversion to GL_RGBA easier if (bitmap->DisplayMode() != EColor16M) { bitmap = new(ELeave) CFbsBitmap; CleanupStack::PushL(bitmap); User::LeaveIfError(bitmap->Create(icon->Bitmap()->SizeInPixels(), EColor16M)); CFbsBitmapDevice* bitmapDevice = CFbsBitmapDevice::NewL(bitmap); CleanupStack::PushL(bitmapDevice); CFbsBitGc* bitmapContext = 0; User::LeaveIfError(bitmapDevice->CreateContext(bitmapContext)); CleanupStack::PushL(bitmapContext); bitmapContext->BitBlt(TPoint(0, 0), icon->Bitmap()); CleanupStack::PopAndDestroy(2, bitmapDevice); icon->SetBitmap(bitmap); // Ownership transferred CleanupStack::Pop(bitmap); } // Always expect 256 mask to make conversion to GL_RGBA easier if (mask->DisplayMode() != EGray256) { mask = new(ELeave) CFbsBitmap; CleanupStack::PushL(mask); User::LeaveIfError(mask->Create(icon->Mask()->SizeInPixels(), EGray256)); CFbsBitmapDevice* bitmapDevice = CFbsBitmapDevice::NewL(mask); CleanupStack::PushL(bitmapDevice); CFbsBitGc* bitmapContext = 0; User::LeaveIfError(bitmapDevice->CreateContext(bitmapContext)); CleanupStack::PushL(bitmapContext); bitmapContext->BitBlt(TPoint(0, 0), icon->Mask()); CleanupStack::PopAndDestroy(2, bitmapDevice); icon->SetMask(mask); // Ownership transferred CleanupStack::Pop(mask); } // Now bitmap and mask point to either original or converted bitmaps, // and ownership belongs to icon const TSize bitmapSize = bitmap->SizeInPixels(); // sizeof(TUint32) == sizeof(RGBA) const TInt dataSize = bitmapSize.iWidth * bitmapSize.iHeight * sizeof(TUint32); TUint8* data = new(ELeave) TUint8[dataSize]; // Perform copy and conversion from BGR(A) to RGB(A) bitmap->LockHeap(); mask->LockHeap(); // TODO: Alpha component removed, as it seems to be corrupted from // subsequent reads from SVG file TUint8* rgb = reinterpret_cast<TUint8*>(bitmap->DataAddress()); // TUint8* alpha = reinterpret_cast<TUint8*>(mask->DataAddress()); for(TInt i = 0, j = 0; i < dataSize; i += 4, j += 3) { data[i + 0] = rgb[j + 2]; data[i + 1] = rgb[j + 1]; data[i + 2] = rgb[j + 0]; data[i + 3] = 0xc0; //alpha[i / 4]; } // Generate OpenGL texture ::glGenTextures(1, &iTextureId); ::glBindTexture(GL_TEXTURE_2D, iTextureId); ::glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); ::glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); ::glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); ::glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); ::glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, bitmapSize.iWidth, bitmapSize.iHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, data); mask->UnlockHeap(); bitmap->UnlockHeap(); delete data; CleanupStack::PopAndDestroy(icon); }
void CBCTestButtonCase::TestAknButtonUtiL() { _LIT( strConstructL, "Class CAknButton function ConstructL( CGulIcon... ) invoked" ); CAknButtonEx* aknbtn = new( ELeave ) CAknButtonEx( KOne ); CleanupStack::PushL( aknbtn ); aknbtn->ConstructL( CreateIconL(), CreateIconL(), CreateIconL(), CreateIconL(), strOK, strHelp, KOne ); AssertNotNullL( aknbtn, strConstructL ); aknbtn->SetContainerWindowL( *iContainer ); _LIT( strSetTooltipPosition, "Class CAknButton function SetTooltipPosition invoked" ); aknbtn->SetTooltipPosition( CAknButton::EPositionTop ); AssertTrueL( ETrue, strSetTooltipPosition ); _LIT( strSetRequestExit, "Class CAknButton function SetTooltipPosition invoked" ); aknbtn->SetRequestExit( ETrue ); AssertTrueL( ETrue, strSetRequestExit ); _LIT( strIsDimmed, "Class CAknButton function IsDimmed invoked" ); aknbtn->IsDimmed(); AssertTrueL( ETrue, strIsDimmed ); _LIT( strSetDimmedHelpTextL, "Class CAknButton function SetDimmedHelpTextL invoked" ); aknbtn->SetDimmedHelpTextL( strHelp ); AssertTrueL( ETrue, strSetDimmedHelpTextL ); _LIT( strState, "Class CAknButton function State invoked" ); CAknButtonState* aknbst = aknbtn->State(); AssertNotNullL( aknbst, strState ); aknbst = NULL; _LIT( strStatePr, "Class CAknButton function State( TInt ) invoked" ); aknbst = aknbtn->State( KZero ); AssertNotNullL( aknbst, strStatePr ); _LIT( strButtonFlags, "Class CAknButton function ButtonFlags invoked" ); aknbtn->ButtonFlags(); AssertTrueL( ETrue, strButtonFlags ); TMargins8 margin; margin.iLeft = KLeft; margin.iRight = KRight; margin.iBottom = KBottom; margin.iTop = KTop; _LIT( strSetMargins, "Class CAknButton function SetMargins invoked" ); aknbtn->SetMargins( margin ); AssertTrueL( ETrue, strSetMargins ); TSize size( KRight, KBottom ); _LIT( strSetIconSize, "Class CAknButton function SetIconSize invoked" ); aknbtn->SetIconSize( size ); AssertTrueL( ETrue, strSetIconSize ); _LIT( KResetState, "Class CAknButton function ResetState invoked" ); aknbtn->ResetState(); AssertTrueL( ETrue, KResetState ); _LIT(KPositionChanged,"Class CAknButton function PositionChanged invoked"); aknbtn->PositionChanged(); AssertTrueL( ETrue, KPositionChanged ); _LIT( strSizeChanged, "Class CAknButton function SizeChanged invoked" ); aknbtn->SizeChanged(); AssertTrueL( ETrue, strSizeChanged ); _LIT( strFocusChanged, "Class CAknButton function FocusChanged invoked" ); aknbtn->FocusChanged( EDrawNow ); AssertTrueL( ETrue, strFocusChanged ); _LIT( strExtensionInterface, "Class CAknButton function ExtensionInterface invoked" ); TUid uid = TUid::Uid( KZero ); aknbtn->ExtensionInterface( uid ); AssertTrueL( ETrue, strExtensionInterface ); _LIT( strChangeState, "Class CAknButton function ChangeState invoked" ); aknbtn->ChangeState( ETrue ); AssertTrueL( ETrue, strChangeState ); _LIT( strGetCurrentText, "Class CAknButton function GetCurrentText invoked" ); TDesC tdText = aknbtn->GetCurrentText(); AssertTrueL( ETrue, strGetCurrentText ); _LIT( strGetCurrentIcon, "Class CAknButton function GetCurrentIcon invoked" ); const CGulIcon* icon = aknbtn->GetCurrentIcon(); AssertNotNullL( const_cast< CGulIcon* >( icon ), strGetCurrentIcon ); aknbtn->SetContainerWindowL( *iContainer ); aknbtn->SetDimmed( EFalse ); _LIT( strShowHelpL, "Class CAknButton function ShowHelpL invoked" ); aknbtn->ShowHelpL(); AssertTrueL( ETrue, strShowHelpL ); _LIT( strHideHelp, "Class CAknButton function HideHelp invoked" ); aknbtn->HideHelp(); AssertTrueL( ETrue, strHideHelp ); CleanupStack::PopAndDestroy(); aknbtn = NULL; }
void CBCTestButtonCase::TestAknButtonProL() { _LIT( strConstructProL, "Class CAknButton function ConstructL( const TDesC... ) invoked" ); CAknButtonEx* aknbtn = new( ELeave ) CAknButtonEx( KOne ); CleanupStack::PushL( aknbtn ); aknbtn->ConstructL( AknIconUtils::AvkonIconFileName(), EMbmAvkonQgn_indi_button_decrease, EMbmAvkonQgn_indi_button_decrease_mask, EMbmAvkonQgn_indi_button_decrease_pressed, EMbmAvkonQgn_indi_button_decrease_pressed_mask, EMbmAvkonQgn_indi_button_increase, EMbmAvkonQgn_indi_button_increase_mask, EMbmAvkonQgn_indi_button_increase_pressed, EMbmAvkonQgn_indi_button_increase_pressed_mask, strOK, strHelp, KOne ); AssertNotNullL( aknbtn, strConstructProL ); _LIT( strSetCurrentState, "Class CAknButton function SetCurrentState invoked" ); aknbtn->SetCurrentState( KOne, ETrue ); AssertTrueL( ETrue, strSetCurrentState ); _LIT( strAddStateL, "Class CAknButton function SetAddStateL invoked" ); aknbtn->AddStateL( CreateIconL(), CreateIconL(), CreateIconL(), CreateIconL(), strOK, strHelp, KOne ); AssertTrueL( ETrue, strAddStateL ); _LIT( strSetAddStateProL, "Class CAknButton function SetCurrentState( const TDesC...) invoked" ); aknbtn->AddStateL( AknIconUtils::AvkonIconFileName(), EMbmAvkonQgn_indi_button_decrease, EMbmAvkonQgn_indi_button_decrease_mask, EMbmAvkonQgn_indi_button_decrease_pressed, EMbmAvkonQgn_indi_button_decrease_pressed_mask, EMbmAvkonQgn_indi_button_increase, EMbmAvkonQgn_indi_button_increase_mask, EMbmAvkonQgn_indi_button_increase_pressed, EMbmAvkonQgn_indi_button_increase_pressed_mask, strOK, strHelp, KOne, KAknsIIDNone, KAknsIIDNone, KAknsIIDNone, KAknsIIDNone ); AssertTrueL( ETrue, strSetAddStateProL ); _LIT( strSetButtonFlags, "Class CAknButton function SetButtonFlags invoked" ); aknbtn->SetButtonFlags( KOne ); AssertTrueL( ETrue, strSetButtonFlags ); TAknsItemID id; id.Set( KAknsIIDDefault ); _LIT( strSetFrameAndCenterIds, "Class CAknButton function SetFrameAndCenterIds invoked" ); aknbtn->SetFrameAndCenterIds( id, id, id ,id ,id, id, id, id, id, id ); AssertTrueL( ETrue, strSetFrameAndCenterIds ); _LIT( strSetBackgroundIds, "Class CAknButton function SetSetBackgroundIds invoked" ); aknbtn->SetBackgroundIds( id, id, id, id, id ); AssertTrueL( ETrue, strSetBackgroundIds ); //const CFont *font = CEikonEnv::Static()->NormalFont(); const CFont *font = eikEnv->NormalFont(); _LIT( strSetTextFont, "Class CAknButton function SetTextFont invoked" ); aknbtn->SetTextFont( font ); AssertTrueL( ETrue, strSetTextFont ); _LIT( strSetTextColorIds, "Class CAknButton function SetTextColorIds invoked" ); aknbtn->SetTextColorIds( id, 0 ); AssertTrueL( ETrue, strSetTextColorIds ); _LIT( strSetTextHorizontalAlignment, "Class CAknButton function SetTextHorizontalAlignment invoked" ); aknbtn->SetTextHorizontalAlignment( CGraphicsContext::ELeft ); AssertTrueL( ETrue, strSetTextHorizontalAlignment ); _LIT( strSetTextVerticalAlignment, "Class CAknButton function SetTextVerticalAlignment invoked" ); aknbtn->SetTextVerticalAlignment( CAknButton::EBottom ); AssertTrueL( ETrue, strSetTextVerticalAlignment ); _LIT( strSetTextUnderlineStyle, "Class CAknButton function SetTextUnderlineStyle invoked" ); aknbtn->SetTextUnderlineStyle( EUnderlineOff ); AssertTrueL( ETrue, strSetTextUnderlineStyle ); // HS _LIT( strSetTextAndIconAlignment, "Class CAknButton function SetTextAndIconAlignment invoked" ); aknbtn->SetTextAndIconAlignment( CAknButton::EIconBeforeText ); AssertTrueL( ETrue, strSetTextAndIconAlignment ); _LIT( strSetIconScaleMode, "Class CAknButton function SetIconScaleMode invoked" ); aknbtn->SetIconScaleMode( EAspectRatioPreserved ); AssertTrueL( ETrue, strSetIconScaleMode ); _LIT( strSetIconHorizontalAlignment, "Class CAknButton function SetIconHorizontalAlignment invoked" ); aknbtn->SetIconHorizontalAlignment( CAknButton::EBottom ); AssertTrueL( ETrue, strSetIconHorizontalAlignment ); _LIT( strSetIconVerticalAlignment, "Class CAknButton function SetIconVerticalAlignment invoked" ); aknbtn->SetIconVerticalAlignment( CAknButton::EBottom ); AssertTrueL( ETrue, strSetIconVerticalAlignment ); _LIT( strSetHelpNoteTimeouts, "Class CAknButton function SetHelpNoteTimeouts invoked" ); aknbtn->SetHelpNoteTimeouts( KHundred, KHundred ); AssertTrueL( ETrue, strSetHelpNoteTimeouts ); _LIT( strSetKeyRepeatInterval, "Class CAknButton function SetKeyRepeatInterval invoked" ); aknbtn->SetKeyRepeatInterval( KHundred, KHundred ); AssertTrueL( ETrue, strSetKeyRepeatInterval ); _LIT( strSetLongPressInterval, "Class CAknButton function SetLongPressInterval invoked" ); aknbtn->SetLongPressInterval( KHundred ); AssertTrueL( ETrue, strSetLongPressInterval ); _LIT( strStateIndex, "Class CAknButton function StateIndex invoked" ); aknbtn->StateIndex(); AssertTrueL( ETrue, strStateIndex ); _LIT( strDisablePictographs, "Class CAknButton function DisablePictographs invoked" ); aknbtn->DisablePictographs(); AssertTrueL( ETrue, strDisablePictographs ); _LIT( strEnablePictographsL, "Class CAknButton function EnablePictographsL invoked" ); CAknPictographInterface* interface = NULL; aknbtn->EnablePictographsL( *interface ); AssertTrueL( ETrue, strEnablePictographsL ); CleanupStack::PopAndDestroy(); aknbtn = NULL; }
void CBCTestButtonCase::TestAknButtonL() { _LIT( strCAknButton, "Class CAknButton function CAknButton invoked" ); _LIT( strCAknButtonDes, "Class CAknButton function ~CAknButton invoked" ); CAknButton *aknbtn = new( ELeave ) CAknButtonEx( KZero ); AssertNotNullL( aknbtn, strCAknButton ); delete aknbtn; AssertTrueL( ETrue, strCAknButtonDes ); aknbtn = NULL; _LIT( strNewL, "Class CAknButton function NewL invoked" ); aknbtn = CAknButtonEx::NewL(); AssertNotNullL( aknbtn, strNewL ); delete aknbtn; aknbtn = NULL; _LIT( strNewLC, "Class CAknButton function NewLC invoked" ); aknbtn = CAknButtonEx::NewLC(); AssertNotNullL( aknbtn, strNewLC ); CleanupStack::PopAndDestroy(); aknbtn = NULL; //CEikonEnv *eikEnv = CEikonEnv::Static(); TResourceReader resourceReader; eikEnv->CreateResourceReaderLC( resourceReader, R_BCTEST_AVKON_BUTTON ); _LIT( strNewLr, "Class CAknButton function NewL( ResourceReader ) invoked" ); aknbtn = CAknButtonEx::NewL( resourceReader ); AssertNotNullL( aknbtn, strNewLr ); delete aknbtn; CleanupStack::PopAndDestroy(); aknbtn = NULL; TResourceReader reader; eikEnv->CreateResourceReaderLC( reader, R_BCTEST_AVKON_BUTTON ); _LIT( strNewLCr, "Class CAknButton function NewLC( ResourceReader ) overload invoked" ); aknbtn = CAknButtonEx::NewLC( reader ); AssertNotNullL( aknbtn, strNewLCr ); CleanupStack::PopAndDestroy();//aknbtn CleanupStack::PopAndDestroy();//reader aknbtn = NULL; _LIT( strNewLri, "Class CAknButton function NewL( TInt ResourceID ) invoked" ); aknbtn = CAknButtonEx::NewL( R_BCTEST_AVKON_BUTTON ); AssertNotNullL( aknbtn, strNewLri ); delete aknbtn; aknbtn = NULL; _LIT( strNewLCri, "Class CAknButton function NewLC( TInt ResourceID ) invoked" ); aknbtn = CAknButtonEx::NewLC( R_BCTEST_AVKON_BUTTON ); AssertNotNullL( aknbtn, strNewLCri ); CleanupStack::PopAndDestroy(); aknbtn = NULL; _LIT( strNewLion, "Class CAknButton function NewL( CGulIcon... ) invoked" ); aknbtn = CAknButtonEx::NewL( CreateIconL(), CreateIconL(), CreateIconL(), CreateIconL(), strOK, strHelp, KZero, KOne ); AssertNotNullL( aknbtn, strNewLion ); delete aknbtn; aknbtn = NULL; _LIT( strNewLCion, "Class CAknButton function NewLC( CGulIcon... ) invoked" ); aknbtn = CAknButtonEx::NewLC( CreateIconL(), CreateIconL(), CreateIconL(), CreateIconL(), strOK, strHelp, KZero, KOne ); AssertNotNullL( aknbtn, strNewLCion ); CleanupStack::PopAndDestroy();//aknbtn aknbtn = NULL; _LIT( strNewLfile, "Class CAknButton function NewL( const TDesC...) invoked" ); aknbtn = CAknButtonEx::NewL( AknIconUtils::AvkonIconFileName(), EMbmAvkonQgn_indi_button_decrease, EMbmAvkonQgn_indi_button_decrease_mask, EMbmAvkonQgn_indi_button_decrease_pressed, EMbmAvkonQgn_indi_button_decrease_pressed_mask, EMbmAvkonQgn_indi_button_increase, EMbmAvkonQgn_indi_button_increase_mask, EMbmAvkonQgn_indi_button_increase_pressed, EMbmAvkonQgn_indi_button_increase_pressed_mask, strOK, strHelp, KZero, KOne ); AssertNotNullL( aknbtn, strNewLfile ); delete aknbtn; aknbtn = NULL; _LIT( strNewLCfile, "Class CAknButton function NewLC( const TDesC...) invoked" ); aknbtn = CAknButtonEx::NewLC( AknIconUtils::AvkonIconFileName(), EMbmAvkonQgn_indi_button_decrease, EMbmAvkonQgn_indi_button_decrease_mask, EMbmAvkonQgn_indi_button_decrease_pressed, EMbmAvkonQgn_indi_button_decrease_pressed_mask, EMbmAvkonQgn_indi_button_increase, EMbmAvkonQgn_indi_button_increase_mask, EMbmAvkonQgn_indi_button_increase_pressed, EMbmAvkonQgn_indi_button_increase_pressed_mask, strOK, strHelp, KZero, KOne ); AssertNotNullL( aknbtn, strNewLCfile ); CleanupStack::PopAndDestroy(); aknbtn = NULL; }
// --------------------------------------------------------------------------- // CBCTestButtonCase::TestLayoutDecorator // --------------------------------------------------------------------------- // void CBCTestButtonCase::TestAknButtonStateL() { // Test some API here _LIT( strCAknButtonState, "Class CAknButtonState function CAknButtonState invoked" ); _LIT( strCAknButtonStateDes, "Class CAknButtonState function ~CAknButtonState invoked" ); CAknButtonStateEx *btnstat = new( ELeave ) CAknButtonStateEx( KOne ); AssertNotNullL( btnstat, strCAknButtonState ); _LIT( strNewL, "Class CAknButtonState function ConstructL invoked" ); CleanupStack::PushL( btnstat ); btnstat->ConstructL( CreateIconL(), NULL, NULL, NULL, strOK, strCancel ); CleanupStack::Pop( btnstat ); AssertNotNullL( btnstat, strNewL ); delete btnstat; AssertTrueL( ETrue, strCAknButtonStateDes ); btnstat = NULL; _LIT( strNewLOverLoad, "Class CAknButtonState function ConstructL( OverLoad ) invoked" ); CAknButtonStateEx *btnstate = new( ELeave ) CAknButtonStateEx( KOne ); CleanupStack::PushL( btnstate ); btnstate->ConstructL( AknIconUtils::AvkonIconFileName(), EMbmAvkonQgn_indi_button_decrease, EMbmAvkonQgn_indi_button_decrease_mask, EMbmAvkonQgn_indi_button_decrease_pressed, EMbmAvkonQgn_indi_button_decrease_pressed_mask, EMbmAvkonQgn_indi_button_increase, EMbmAvkonQgn_indi_button_increase_mask, EMbmAvkonQgn_indi_button_increase_pressed, EMbmAvkonQgn_indi_button_increase_pressed_mask, strOK, strCancel ); AssertNotNullL( btnstate, strNewLOverLoad ); _LIT( strHasText, "Class CAknButtonState function HasText invoked" ); _LIT( strHasHelp, "Class CAknButtonState function HasHelp invoked" ); TBool hasText = btnstate->HasText(); AssertTrueL( hasText, strHasText ); TBool hasHelp = btnstate->HasHelp(); AssertTrueL( hasHelp, strHasHelp ); _LIT( strSizeChanged, "Class CAknButtonState function SizeChanged invoked" ); TRect client( KLeft, KTop, KRight, KBottom ); btnstate->SizeChanged( client, EAspectRatioPreserved ); AssertTrueL( ETrue, strSizeChanged ); _LIT( strIcon, "Class CAknButtonState function Icon invoked" ); _LIT( strDimmedIcon, "Class CAknButtonState function DimmedIcon invoked" ); _LIT( strPressedIcon, "Class CAknButtonState function PressedIcon invoked" ); _LIT( strHoverIcon, "Class CAknButtonState function HoverIcon invoked" ); const CGulIcon *ico = btnstate->Icon(); AssertNotNullL( const_cast<CGulIcon*>( ico ), strIcon ); ico = btnstate->DimmedIcon(); AssertNotNullL( const_cast<CGulIcon*>( ico ), strDimmedIcon ); ico = btnstate->PressedIcon(); AssertNotNullL( const_cast<CGulIcon*>( ico ), strPressedIcon ); ico = btnstate->HoverIcon(); AssertNotNullL( const_cast<CGulIcon*>( ico ), strHoverIcon ); _LIT( strTxt, "Class CAknButtonState function Text invoked" ); _LIT( strHelpText, "Class CAknButtonState function HelpText invoked" ); TDesC strText = btnstate->Text(); AssertTrueL( ETrue, strTxt ); strText = btnstate->HelpText(); AssertTrueL( ETrue, strHelpText ); _LIT( strFlags, "Class CAknButtonState function Flags invoked" ); TInt iFlag = btnstate->Flags(); AssertTrueL( ETrue, strFlags ); _LIT( strSetIcon, "Class CAknButtonState function SetIcon invoked" ); _LIT( strSetDimmedIcon, "Class CAknButtonState function SetDimmedIcon invoked" ); _LIT( strSetPressedIcon, "Class CAknButtonState function SetPressedIcon invoked" ); _LIT( strSetHoverIcon, "Class CAknButtonState function SetHoverIcon invoked" ); _LIT( strSetTextL, "Class CAknButtonState function SetTextL invoked" ); _LIT( strSetHelpTextL, "Class CAknButtonState function SetHelpTextL invoked" ); _LIT( strSetFlags, "Class CAknButtonState function SetFlags invoked" ); btnstate->SetIcon( CreateIconL() ); AssertTrueL( ETrue, strSetIcon ); btnstate->SetDimmedIcon ( CreateIconL() ); AssertTrueL( ETrue, strSetDimmedIcon ); btnstate->SetPressedIcon( CreateIconL() ); AssertTrueL( ETrue, strSetPressedIcon ); btnstate->SetHoverIcon( CreateIconL() ); AssertTrueL( ETrue, strSetHoverIcon ); btnstate->SetTextL( strOK ); AssertTrueL( ETrue, strSetTextL ); btnstate->SetHelpTextL( strHelp ); AssertTrueL( ETrue, strSetHelpTextL ); btnstate->SetFlags ( KOne ); AssertTrueL( ETrue, strSetFlags ); CleanupStack::PopAndDestroy(); _LIT( strConstructFromResourceL, "Class CAknButtonStateEx function ConstructFromResourceL invoked" ); //CEikonEnv *eikEnv = CEikonEnv::Static(); TResourceReader resourceReader; eikEnv->CreateResourceReaderLC( resourceReader, R_BCTESTAKN_BUTTON_STATE ); CAknButtonStateEx *aknbtnst = new( ELeave ) CAknButtonStateEx( KZero ); CleanupStack::PushL( aknbtnst ); aknbtnst->ConstructFromResourceL( resourceReader ); CleanupStack::Pop( aknbtnst ); AssertNotNullL( aknbtnst, strConstructFromResourceL ); delete aknbtnst; CleanupStack::PopAndDestroy(); }