📄 aknexlistcolumncontainer.cpp
字号:
break;
case EAknExListCmdOutline15:
case EAknExListCmdOutline52:
aIcons->AppendL( iEikonEnv->CreateIconL( KAknExListMbmFileName,
EMbmAknexlistMarked_add,
EMbmAknexlistMarked_add_m ) );
aIcons->AppendL(
iEikonEnv->CreateIconL( KAknExListMbmFileName,
EMbmAknexlistGolgo2,
EMbmAknexlistGolgo2m ) );
break;
case EAknExListCmdOutline44:
aIcons->AppendL( iEikonEnv->CreateIconL( KAknExListMbmFileName,
EMbmAknexlistMarked_add,
EMbmAknexlistMarked_add_m ) );
aIcons->AppendL(
iEikonEnv->CreateIconL( KAknExListMbmFileName,
EMbmAknexlistGolgo4,
EMbmAknexlistGolgo4m ) );
aIcons->AppendL(
iEikonEnv->CreateIconL( KAknExListMbmFileName,
EMbmAknexlistGolgo5,
EMbmAknexlistGolgo5m ) );
aIcons->AppendL(
iEikonEnv->CreateIconL( KAknExListMbmFileName,
EMbmAknexlistGolgo6,
EMbmAknexlistGolgo6m ) );
break;
case EAknExListCmdOutline43:
aIcons->AppendL( iEikonEnv->CreateIconL( KAknExListMbmFileName,
EMbmAknexlistMarked_add,
EMbmAknexlistMarked_add_m ) );
aIcons->AppendL(
iEikonEnv->CreateIconL( KAknExListMbmFileName,
EMbmAknexlistGolgo3,
EMbmAknexlistGolgo3m ) );
aIcons->AppendL(
iEikonEnv->CreateIconL( KAknExListMbmFileName,
EMbmAknexlistAthene,
EMbmAknexlistAthenem ) );
break;
case EAknExListCmdOutline31:
// Appends icon.
aIcons->AppendL( iEikonEnv->CreateIconL( KAknExListMbmFileName,
EMbmAknexlistCheck,
EMbmAknexlistCheckm ) );
// Appends icon.
aIcons->AppendL( iEikonEnv->CreateIconL( KAknExListMbmFileName,
EMbmAknexlistNon_check,
EMbmAknexlistNon_checkm ) );
break;
default:
break;
}
}
}
// ----------------------------------------------------------------------------
// void CAknExListColumnContainer::SetCountAndAddItemL( const TKeyEvent& )
// Sets count of added list items and calls AddItemL().
// ----------------------------------------------------------------------------
//
void CAknExListColumnContainer::SetCountAndAddItemL(
const TKeyEvent& aKeyEvent )
{
if ( iListBox )
{
TInt addCount( KAknExListAddInitCount );
// Sets number(addCount) of adding list items
switch ( aKeyEvent.iCode )
{
case AKNEXLIST_ADDINGTYPE1_KEY: // 'a' key.
addCount = KAknExListNumberOfItemType1;
break;
case AKNEXLIST_ADDINGTYPE2_KEY: // 'z' key.
addCount = KAknExListNumberOfItemType2;
break;
case AKNEXLIST_ADDINGTYPE3_KEY: // 'x' key.
addCount = KAknExListNumberOfItemType3;
break;
case AKNEXLIST_ADDINGTYPE4_KEY: // 'c' key.
addCount = KAknExListNumberOfItemType4;
break;
case AKNEXLIST_ADDINGTYPE5_KEY: // 'v' key.
addCount = KAknExListNumberOfItemType5;
break;
default:
break;
}
if ( addCount )
{
// Adds list items.
CTextListBoxModel* model = iListBox->Model();
AddItemL( iListBox, model, addCount, R_AKNEXLIST_ADD_ITEM_SINGLE );
// Displays information for total number of list items.
CountMessage( model );
}
}
}
// ----------------------------------------------------------------------------
// void CAknExListColumnContainer::SetCountAndRemoveItemL( const TKeyEvent& )
// Sets count of removed list items and calls RemoveItemL().
// ----------------------------------------------------------------------------
//
void CAknExListColumnContainer::SetCountAndRemoveItemL(
const TKeyEvent& aKeyEvent )
{
if ( iListBox )
{
TInt removeCount( KAknExListRemoveInitCount );
// Sets number(removeCount) of removing list items.
switch ( aKeyEvent.iCode )
{
case AKNEXLIST_REMOVINGTYPE1_KEY: // 'd' key.
removeCount = KAknExListNumberOfItemType1;
break;
case AKNEXLIST_REMOVINGTYPE2_KEY: // 'p' key.
removeCount = KAknExListNumberOfItemType2;
break;
case AKNEXLIST_REMOVINGTYPE3_KEY: // 'o' key.
removeCount = KAknExListNumberOfItemType3;
break;
case AKNEXLIST_REMOVINGTYPE4_KEY: // 'i' key.
removeCount = KAknExListNumberOfItemType4;
break;
case AKNEXLIST_REMOVINGTYPE5_KEY: // 'u' key.
removeCount = KAknExListNumberOfItemType5;
break;
default:
break;
}
if ( removeCount )
{
// Removes list items.
CTextListBoxModel* model = iListBox->Model();
RemoveItemL( iListBox, model, removeCount );
// Displays information for total number of list items.
CountMessage( model );
}
}
}
// ----------------------------------------------------------------------------
// void CAknExListColumnContainer::AdditionalIconPriorityL()
// Confirms priority of additional icons.
// ----------------------------------------------------------------------------
//
void CAknExListColumnContainer::AdditionalIconPriorityL()
{
if ( iListBox )
{
// Gets current item.
TInt currentItem( iListBox->CurrentItemIndex() );
MDesCArray* itemList = iListBox->Model()->ItemTextArray();
CDesCArray* itemArray = STATIC_CAST( CDesCArray* ,itemList );
TPtrC item( ( *itemArray )[currentItem] );
// Gets position and count of tab.
TBuf<KAknExListTabBufLength> tab( 0 );
iCoeEnv->ReadResource( tab, R_AKNEXLIST_TAB );
TInt oldPosition( item.Find( tab ) );
TInt count( KAknExListInitTabCount );
TInt position( KAknExListInitPosition );
while ( oldPosition != KErrNotFound )
{
count++;
position += oldPosition;
oldPosition = item.Mid( ++position ).Find( tab );
}
// Sets number of additional icons.
TInt iconNumber( KErrNotFound );
switch ( count )
{
case EKAknExListFirstPriority:
iconNumber = EKAknExListFirstIconIndex;
break;
case EKAknExListSecondPriority:
iconNumber = EKAknExListSecondIconIndex;
break;
case EKAknExListThirdPriority:
iconNumber = EKAknExListThirdIconIndex;
break;
default:
break;
}
if ( iconNumber != KErrNotFound )
{
// Update new item.
TBuf<KAknExListItemBufLength> newItem( 0 );
newItem.Copy( item );
newItem.Append( tab );
newItem.AppendNum( iconNumber );
itemArray->Delete( currentItem );
itemArray->InsertL( currentItem, newItem );
iListBox->View()->DrawItem( currentItem );
}
if ( count > EKAknExListSecondPriority )
{
InfoMessage( R_AKNEXLIST_MSG ); // Displays information message.
}
}
}
// ----------------------------------------------------------------------------
// void CAknExListColumnContainer::SizeChangedForFindBox()
// Called by framework when the view size is changed for creating listbox with
// findbox.
// ----------------------------------------------------------------------------
//
void CAknExListColumnContainer::SizeChangedForFindBox()
{
if ( iListBox && iFindBox )
{
// Initialize of resource ID for layout of findbox(These initial
// values are layout for fixed findbox).
TInt findWindowResourceId( R_AVKON_FIND_PANE );
TInt listAreaResourceId( R_AVKON_LIST_GEN_PANE_X );
TInt findWindowParentId( R_AVKON_MAIN_PANE_PARENT_NONE );
TBool flagsOfPopup( EFalse ); // Flag for find popup.
switch ( iOutlineId ) // Outline ID is...
{
case EAknExListCmdOutline41T2: // Layout for find popup.
findWindowResourceId = R_AVKON_POPUP_FIND_WINDOW;
listAreaResourceId = R_AVKON_LIST_GEN_PANE;
findWindowParentId = R_AVKON_MAIN_PANE_WITH_STATUS_PANE;
flagsOfPopup = ETrue;
break;
default:
break;
}
// Calls HandleFindSizeChanged after creates findbox.
AknFind::HandleFindSizeChanged(
this, iListBox, iFindBox, flagsOfPopup, findWindowResourceId,
listAreaResourceId, R_AVKON_LIST_GEN_PANE_WITH_FIND_POPUP,
findWindowParentId );
}
}
// ----------------------------------------------------------------------------
// void CAknExListColumnContainer::SizeChanged()
// Called by framework when the view size is changed.
// ----------------------------------------------------------------------------
//
void CAknExListColumnContainer::SizeChanged()
{
if ( iLabel )
{
iLabel->SetRect( Rect() );
}
if ( iListBox )
{
if ( iFindBox )
{
SizeChangedForFindBox(); // Sets rectangle of listbox with findbox.
}
else
{
iListBox->SetRect( Rect() ); // Sets rectangle of listbox.
}
}
}
// ----------------------------------------------------------------------------
// TInt CAknExListColumnContainer::CountComponentControls() const
// Returns number of components.
// ----------------------------------------------------------------------------
//
TInt CAknExListColumnContainer::CountComponentControls() const
{
TInt count( KAknExListInitCount );
if ( iLabel )
{
count++;
}
if ( iListBox )
{
count++;
}
if ( iFindBox )
{
count++;
}
return count; // Returns number of controls inside this container.
}
// ----------------------------------------------------------------------------
// CCoeControl* CAknExListColumnContainer::ComponentControl( TInt ) const
// Returns pointer to particular component.
// ----------------------------------------------------------------------------
//
CCoeControl* CAknExListColumnContainer::ComponentControl( TInt aIndex ) const
{
switch ( aIndex )
{
case EAknExListDefaultComponent:
if ( iLabel )
{
return iLabel; // Returns the pointer to label object.
}
else if ( iListBox )
{
return iListBox; // Returns the pointer to listbox object.
}
return iFindBox; // Returns the pointer to findbox object.
case EAknExListComponent1:
if ( iFindBox )
{
return iFindBox; // Returns the pointer to findbox object.
}
return iListBox; // Returns the pointer to listbox object.
case EAknExListComponent2:
return iListBox; // Returns the pointer to listbox object.
default:
return NULL; // Exception : Returns NULL.
}
}
// End of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -