📄 aknexlistflagtestcontainer.cpp
字号:
/*
* =============================================================================
* Name : CAknExListFlagTestContainer
* Part of : AknExList
* Copyright (c) 2003 Nokia. All rights reserved.
* =============================================================================
*/
// INCLUDE FILES
#include <aknlists.h> // for avrell style listbox
#include <akntabgrp.h>
#include <aknexlist.rsg>
#include <aknexlist.mbg>
#include "AknExList.hrh"
#include "AknExListConst.h" // For bitmap file name
#include "AknExListFlagTestView.h"
#include "AknExListFlagTestContainer.h"
// CONSTANTS
// for initialization.
const TInt KAknExListInitTabId = 0;
const TInt KAknExListInitValueOfListFlags = 0;
const TInt KAknExListInitCount = 0;
// for key event.
#define AKNEXLIST_CHANGE_METHOD_KEY '0'
// ================= MEMBER FUNCTIONS =========================================
// ----------------------------------------------------------------------------
// CAknExListFlagTestContainer::CAknExListFlagTestContainer(
// CAknExListFlagTestView* )
// Copy constructor.
// ----------------------------------------------------------------------------
//
CAknExListFlagTestContainer::CAknExListFlagTestContainer(
CAknExListFlagTestView* aView )
: iListBox( NULL ),
iView( aView ),
iOutlineId( KAknExListInitOutlineId ),
iInternalFlag( EFalse ),
iKeyEvent( EFalse )
{
}
// ----------------------------------------------------------------------------
// void CAknExListFlagTestContainer::ConstructL( const TRect& )
// EPOC constructor.
// ----------------------------------------------------------------------------
//
void CAknExListFlagTestContainer::ConstructL( const TRect& aRect )
{
CreateWindowL(); // Creates window.
SetRect( aRect ); // Sets rectangle of frame.
ActivateL(); // Activates window. (Ready to draw)
}
// ----------------------------------------------------------------------------
// CAknExListFlagTestContainer::~CAknExListFlagTestContainer()
// Destructor.
// ----------------------------------------------------------------------------
//
CAknExListFlagTestContainer::~CAknExListFlagTestContainer()
{
delete iListBox; // Deletes listbox object.
}
// ----------------------------------------------------------------------------
// void CAknExListFlagTestContainer::DisplayListBoxL( const TInt )
// Displays listbox.
// ----------------------------------------------------------------------------
//
void CAknExListFlagTestContainer::DisplayListBoxL( const TInt aTabId )
{
// Deletes listbox object.
if ( iListBox )
{
delete iListBox;
iListBox = NULL;
}
// Initialize of iInternalFlag except via key event.
if ( iKeyEvent == EFalse )
{
iInternalFlag = EFalse;
}
if ( aTabId == EAknExListTabIdType01 ||
aTabId == EAknExListTabIdType01Withs )
{
// Sets outlineId.
iOutlineId = iView->OutlineId();
}
TInt resourceId( KAknExListInitListResourceId ); // For listbox.
TInt messageId( KAknExListMessageInitId ); // For displaying message.
TBool flagsOfGraphic( EFalse ); // Flag for graphic.
TBool flagsOfNumber( EFalse ); // Flag for auto numbering.
CEikColumnListBox* columnListBox = NULL;
CEikFormattedCellListBox* formattedListBox = NULL;
// Creates ListBox control object and sets resource ID.
switch ( aTabId ) // Tab ID is...
{
// Single pane.
case EAknExListTabIdType01:
case EAknExListTabIdType01Withs:
if ( !iInternalFlag )
{
resourceId = ResourceIdSingle();
}
IsNeedGarphic( flagsOfGraphic );
columnListBox = new( ELeave ) CAknSingleStyleListBox();
break;
// Single number pane.
case EAknExListTabIdType02:
case EAknExListTabIdType02Withs:
if ( !iInternalFlag )
{
resourceId = ResourceIdSingleNumber();
}
IsNeedGarphic( flagsOfGraphic );
flagsOfNumber = ETrue;
columnListBox = new( ELeave ) CAknSingleNumberStyleListBox();
break;
// Single heading pane.
case EAknExListTabIdType03:
case EAknExListTabIdType03Withs:
if ( !iInternalFlag )
{
resourceId = ResourceIdSingleHeading();
}
IsNeedGarphic( flagsOfGraphic );
columnListBox = new( ELeave ) CAknSingleHeadingStyleListBox();
break;
// Single graphic pane.
case EAknExListTabIdType04:
case EAknExListTabIdType04Withs:
if ( !iInternalFlag )
{
resourceId = ResourceIdSingleGraphic();
}
flagsOfGraphic = ETrue;
columnListBox = new( ELeave ) CAknSingleGraphicStyleListBox();
break;
// Single graphic heading pane.
case EAknExListTabIdType05:
case EAknExListTabIdType05Withs:
if ( !iInternalFlag )
{
resourceId = ResourceIdSingleGraphicHeading();
}
flagsOfGraphic = ETrue;
columnListBox =
new( ELeave ) CAknSingleGraphicHeadingStyleListBox();
break;
// Single number heading pane.
case EAknExListTabIdType06:
case EAknExListTabIdType06Withs:
if ( !iInternalFlag )
{
resourceId = ResourceIdSingleNumberHeading();
}
IsNeedGarphic( flagsOfGraphic );
flagsOfNumber = ETrue;
columnListBox =
new( ELeave ) CAknSingleNumberHeadingStyleListBox();
break;
// Single large graphic pane.
case EAknExListTabIdType07:
case EAknExListTabIdType07Withs:
if ( !iInternalFlag )
{
resourceId = ResourceIdSingleLargeGraphic();
}
flagsOfGraphic = ETrue;
columnListBox = new( ELeave ) CAknSingleLargeStyleListBox();
break;
// Single big pane.
case EAknExListTabIdType08:
case EAknExListTabIdType08Withs:
if ( !iInternalFlag )
{
resourceId = ResourceIdBigSingle();
}
IsNeedGarphic( flagsOfGraphic );
formattedListBox = new( ELeave ) CAknDoubleStyleListBox();
break;
// Single big number pane.
case EAknExListTabIdType09:
case EAknExListTabIdType09Withs:
if ( !iInternalFlag )
{
resourceId = ResourceIdBigSingleNumber();
}
IsNeedGarphic( flagsOfGraphic );
flagsOfNumber = ETrue;
formattedListBox = new( ELeave ) CAknDoubleNumberStyleListBox();
break;
// Single big large graphic pane.
case EAknExListTabIdType10:
case EAknExListTabIdType10Withs:
if ( !iInternalFlag )
{
resourceId = ResourceIdBigSingleLargeGraphic();
}
flagsOfGraphic = ETrue;
formattedListBox = new( ELeave ) CAknDoubleLargeStyleListBox();
break;
// Double pane.
case EAknExListTabIdType11:
case EAknExListTabIdType11Withs:
if ( !iInternalFlag )
{
resourceId = ResourceIdDouble();
}
IsNeedGarphic( flagsOfGraphic );
formattedListBox = new( ELeave ) CAknDoubleStyleListBox();
break;
// Double number pane.
case EAknExListTabIdType12:
case EAknExListTabIdType12Withs:
if ( !iInternalFlag )
{
resourceId = ResourceIdDoubleNumber();
}
IsNeedGarphic( flagsOfGraphic );
flagsOfNumber = ETrue;
formattedListBox = new( ELeave ) CAknDoubleNumberStyleListBox();
break;
// Double large graphic pane.
case EAknExListTabIdType13:
case EAknExListTabIdType13Withs:
if ( !iInternalFlag )
{
resourceId = ResourceIdDoubleLargeGraphic();
}
flagsOfGraphic = ETrue;
formattedListBox = new( ELeave ) CAknDoubleLargeStyleListBox();
break;
// Setting pane.
case EAknExListTabIdType14:
case EAknExListTabIdType14Withs:
if ( !iInternalFlag )
{
resourceId = ResourceIdSetting();
}
flagsOfGraphic = ETrue;
formattedListBox = new( ELeave ) CAknSettingStyleListBox();
break;
// Setting number pane.
case EAknExListTabIdType15:
case EAknExListTabIdType15Withs:
if ( !iInternalFlag )
{
resourceId = ResourceIdSettingNumber();
}
flagsOfGraphic = ETrue;
flagsOfNumber = ETrue;
formattedListBox = new( ELeave ) CAknSettingNumberStyleListBox();
break;
// Double graphic pane.
case EAknExListTabIdType16:
case EAknExListTabIdType16Withs:
if ( !iInternalFlag )
{
resourceId = ResourceIdDoubleGraphic();
}
flagsOfGraphic = ETrue;
formattedListBox = new( ELeave ) CAknDoubleGraphicStyleListBox();
break;
default:
break;
}
if ( columnListBox )
{
iListBox = columnListBox;
// Sets ListBox.
if ( resourceId )
{
// From resource.
SetListBoxFromResourceL( columnListBox, resourceId );
// If you show the message("Make from resource"), please delete comment('//');
// messageId = R_AKNEXLIST_RESOURCE_MSG;
}
else
{
// From internal(only flag).
TInt flags( ListFlags() );
CDesCArray* textArray = ListItemsL( aTabId );
SetListBoxFromInnerDescriptionL( columnListBox, flags, textArray );
// If you show the message("Make from code"), please delete comment('//');
// messageId = R_AKNEXLIST_INTERNAL_MSG;
}
if ( flagsOfGraphic )
{
// Creates graphic.
SetGraphicIconL( columnListBox );
}
}
else if ( formattedListBox )
{
iListBox = formattedListBox;
// Sets ListBox.
if ( resourceId )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -