⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aknexlistbaseview.cpp

📁 Symbian手机编程
💻 CPP
📖 第 1 页 / 共 2 页
字号:
            break;
        case EAknExListCmdOutline54: // OUTLINE54 screen.
            // Next : OUTLINE55 screen.
            outlineId = EAknExListCmdOutline55;
            break;
        case EAknExListCmdOutline55: // OUTLINE55 screen.
            // Next : OUTLINE57 screen.
            outlineId = EAknExListCmdOutline57;
            break;
        case EAknExListCmdOutline57: // OUTLINE57 screen.
            // Next : OUTLINE58 screen.
            outlineId = EAknExListCmdOutline58;
            break;
        case EAknExListCmdOutline58: // OUTLINE58 screen.
            // Next : OUTLINE59 screen.
            outlineId = EAknExListCmdOutline59;
            break;
        case EAknExListCmdOutline59: // OUTLINE59 screen.
            // Next : OUTLINE60 screen.
            outlineId = EAknExListCmdOutline60;
            break;
        case EAknExListCmdOutline60: // OUTLINE60 screen.
            // Next : OUTLINE61 screen.
            outlineId = EAknExListCmdOutline61;
            break;
        case EAknExListCmdOutline61: // OUTLINE61 screen.
            // Next : OUTLINE62 screen.
            outlineId = EAknExListCmdOutline62;
            break;
        case EAknExListCmdOutline62: // OUTLINE62 screen.
            // Next : OUTLINE63 screen.
            outlineId = EAknExListCmdOutline63;
            break;
        case EAknExListCmdOutline63: // OUTLINE63 screen.
            // Next : OUTLINE64 screen.
            outlineId = EAknExListCmdOutline64;
            break;
        case EAknExListCmdOutline64: // OUTLINE64 screen.
            // Next : OUTLINE66 screen.
            outlineId = EAknExListCmdOutline66;
            break;
        case EAknExListCmdOutline66: // OUTLINE66 screen.
            // Next : OUTLINE67 screen.
            outlineId = EAknExListCmdOutline67;
            break;
        case EAknExListCmdOutline67: // OUTLINE67 screen.
            // Next : OUTLINE68 screen.
            outlineId = EAknExListCmdOutline68;
            break;
        case EAknExListCmdOutline68: // OUTLINE68 screen.
            // Next : OUTLINE69 screen.
            outlineId = EAknExListCmdOutline69;
            break;
        case EAknExListCmdOutline69: // OUTLINE69 screen.
            // Next : OUTLINE70 screen.
            outlineId = EAknExListCmdOutline70;
            break;
        case EAknExListCmdOutline70: // OUTLINE70 screen.
            // Next : OUTLINE71 screen.
            outlineId = EAknExListCmdOutline71;
            break;
        case EAknExListCmdOutline71: // OUTLINE71 screen.
            // Next : OUTLINE74 screen.
            outlineId = EAknExListCmdOutline74;
            break;
        case EAknExListCmdOutline74: // OUTLINE74 screen.
            // Next : OUTLINE75 screen.
            outlineId = EAknExListCmdOutline75;
            break;
        case EAknExListCmdOutline75: // OUTLINE75 screen.
            // Next : OUTLINE76 screen.
            outlineId = EAknExListCmdOutline76;
            break;
        case EAknExListCmdOutline76: // OUTLINE76 screen.
            // Next : OUTLINE77.
            outlineId = EAknExListCmdOutline77;
            break;
        case EAknExListCmdOutline77: // OUTLINE77 screen.
            // Next : OUTLINE78 screen.
            outlineId = EAknExListCmdOutline78;
            break;
        case EAknExListCmdOutline78: // OUTLINE78 screen.
            // Next : OUTLINE79 screen.
            outlineId = EAknExListCmdOutline79;
            break;
        case EAknExListCmdOutline79: // OUTLINE79 screen.
            // Next : OUTLINE80 screen.
            outlineId = EAknExListCmdOutline80;
            break;
        case EAknExListCmdOutline80: // OUTLINE80 screen.
            // Next : OUTLINE81 screen.
            outlineId = EAknExListCmdOutline81;
            break;
        case EAknExListCmdOutline81: // OUTLINE81 screen.
            // Next : OUTLINE82 screen.
            outlineId = EAknExListCmdOutline82;
            break;
        case EAknExListCmdOutline82: // OUTLINE82 screen.
            // Next : OUTLINE83 screen.
            outlineId = EAknExListCmdOutline83;
            break;
        case EAknExListCmdOutline83: // OUTLINE83 screen.
            // Next : OUTLINE83 screen.
            outlineId = EAknExListCmdOutline85;
            break;
        case EAknExListCmdOutline85: // OUTLINE85 screen.
            // Next : OUTLINE83 screen.
            outlineId = EAknExListCmdOutline87;
            break;
        case EAknExListCmdOutline87: // OUTLINE87 screen.
            // Next : OUTLINE88 screen.
            outlineId = EAknExListCmdOutline88;
            break;
        case EAknExListCmdOutline88: // OUTLINE88 screen.
            // Next : OUTLINE90 screen.
            outlineId = EAknExListCmdOutline90;
            break;
        case EAknExListCmdOutline89: // OUTLINE89 screen.
            // Next : OUTLINE90 screen.
            outlineId = EAknExListCmdOutline90;
            break;
        case EAknExListCmdOutline90: // OUTLINE90 screen.
            // Next : OUTLINE91 screen.
            outlineId = EAknExListCmdOutline91;
            break;
        case EAknExListCmdOutline91: // OUTLINE91 screen.
            // Next : OUTLINE93 screen.
            outlineId = EAknExListCmdOutline93;
            break;
        case EAknExListCmdOutline92: // OUTLINE92 screen.
            // Next : OUTLINE93 screen.
            outlineId = EAknExListCmdOutline93;
            break;
        case EAknExListCmdOutline93: // OUTLINE93 screen.
            // Next : OUTLINE95 screen.
            outlineId = EAknExListCmdOutline95;
            break;
        case EAknExListCmdOutline94: // OUTLINE94 screen.
            // Next : OUTLINE95 screen.
            outlineId = EAknExListCmdOutline95;
            break;
        case EAknExListCmdOutline95: // OUTLINE95 screen.
            // Next : OUTLINE97 screen.
            outlineId = EAknExListCmdOutline97;
            break;
        case EAknExListCmdOutline96: // OUTLINE96 screen.
            // Next : OUTLINE97 screen.
            outlineId = EAknExListCmdOutline97;
            break;
        case EAknExListCmdOutline97: // OUTLINE97 screen.
            // Next : OUTLINE99 screen.
            outlineId = EAknExListCmdOutline99;
            break;
        case EAknExListCmdOutline98: // OUTLINE98 screen.
            // Next : OUTLINE99 screen.
            outlineId = EAknExListCmdOutline99;
            break;
        case EAknExListCmdOutline99: // OUTLINE99 screen.
            // Next : OUTLINE102 screen.
            outlineId = EAknExListCmdOutline102;
            break;
        case EAknExListCmdOutline102: // OUTLINE102 screen.
            outlineId = EAknExListCmdEmptyOutline;
            break;
        default:
            // Ecepstion : OUTLINE1 screen.
            outlineId = EAknExListCmdOutline01;
            break;
        }

    HandleCommandL( outlineId );
    }

// ----------------------------------------------------------------------------
// void CAknExListBaseView::IndicateTitlePaneTextL
// Sets text to titie pane.
// This is for outline 100, 101, 103, 104.
// ----------------------------------------------------------------------------
void CAknExListBaseView::IndicateTitlePaneTextL( const TDesC& aTitle )
    {
    // Fetches pointer to the default title pane control.
    CAknTitlePane* titlePane = STATIC_CAST(
        CAknTitlePane*,
        StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );

    titlePane->SetTextL( aTitle );
    }


// ----------------------------------------------------------------------------
// void CAknExListBaseView::HandleCommandL( TInt )
// Handles the commands. If the command is command which is require to display
// outline-screen, the command display outline-screen corresponded to required.
// ----------------------------------------------------------------------------
void CAknExListBaseView::HandleCommandL( TInt aCommand )
    {
    switch ( aCommand ) // Command is...
        {
        case EAknSoftkeyBack:
            AppUi()->ProcessCommandL( EEikCmdExit /*EAknCmdExit*/);
            break;
        //case EEikCmdExit:
        case EAknCmdExit:
            AppUi()->ProcessCommandL( EEikCmdExit /*EAknCmdExit*/ );
            break;
        case EAknExListSoftkeyNextOutline:
            DisplayNextOutlineL();
            break;
        default:
            DeleteTabGroup(); // Deletes tab group.
            STATIC_CAST( CAknExListAppUi*, AppUi() )->SetOutlineId( aCommand );
            SwitchDisplayOutlineL( aCommand );
            break;
        }
    }

// ----------------------------------------------------------------------------
// void CAknExListBaseView::IndicateTitlePaneTextL( const TInt )
// Sets text by resource ID in title pane.
// ----------------------------------------------------------------------------
//
void CAknExListBaseView::IndicateTitlePaneTextL( const TInt aResourceId )
    {
    // Fetches pointer to the default title pane control.
    CAknTitlePane* titlePane = STATIC_CAST(
        CAknTitlePane*,
        StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );

    // Makes and sets text which is used title pane.
    if ( aResourceId == KAknExListInitTitleId )
        {
        titlePane->SetTextToDefaultL();
        }
    else
        {
        TBuf<KAknExListTitleBufLength> titleText( 0 );
        iCoeEnv->ReadResource( titleText, aResourceId );
        titlePane->SetTextL( titleText );
        }
    }

// ----------------------------------------------------------------------------
// void CAknExListBaseView::DisplayInitOutlineL()
// Displays initial outline when view changed.
// ----------------------------------------------------------------------------
//
void CAknExListBaseView::DisplayInitOutlineL()
    {
    TInt outlineId( STATIC_CAST( CAknExListAppUi*, AppUi() )->OutlineId() );

    if ( !iNaviPane )
        {
        iNaviPane = STATIC_CAST(
            CAknNavigationControlContainer*,
            StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
        }

    iDecoratedTabGroup = iNaviPane->Top();

    if ( iDecoratedTabGroup )
        {
        iTabGroup = STATIC_CAST(
            CAknTabGroup*, iDecoratedTabGroup->DecoratedControl() );
        if ( !iTabGroup->ActiveTabIndex() ) // Is active tab first tab?
            {
            SetTitlePaneL( outlineId );
            }
        DisplayListBoxL( iTabGroup->TabIdFromIndex( iTabGroup->
                                                    ActiveTabIndex() ) );
        }
    else
        {
        if ( iTabGroup )
            {
            iTabGroup = NULL;
            }
        SetTitlePaneL( outlineId );
        DisplayListBoxL( outlineId );
        }
    }

// ------------------------------------------------------------------------------
// CAknExListBaseView::SetNavigationPaneL()
// Sets Navigation pane.
// ------------------------------------------------------------------------------
//
void CAknExListBaseView::SetNavigationPaneL()
    {
    if ( !iNaviPane )
        {
        iNaviPane = STATIC_CAST(
            CAknNavigationControlContainer*,
            StatusPane()->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );
        }

    TInt outlineId( STATIC_CAST( CAknExListAppUi*, AppUi() )->OutlineId() );

    TInt resourceId(0);

    switch ( outlineId )
        {
        case EAknExListCmdOutline26:
            resourceId = R_AKNEXLIST_SELECTION_TAB;
            break;
        case EAknExListCmdOutline30:
            resourceId = R_AKNEXLIST_MULTISELECTION_TAB;
            break;
        case EAknExListCmdOutline41:
            resourceId = R_AKNEXLIST_STYLE_OF_FINDBOX_TAB;
            break;
        case EAknExListCmdOutline06:
        case EAknExListCmdOutline88:
        case EAknExListCmdOutline90:
        case EAknExListCmdOutline91:
        case EAknExListCmdOutline93:
        case EAknExListCmdOutline95:
        case EAknExListCmdOutline97:
        case EAknExListCmdOutline99:
        case EAknExListCmdOutline102:
            resourceId = R_AKNEXLIST_FLAGTEST_TAB;
            break;
        case EAknExListCmdOutline89:
        case EAknExListCmdOutline92:
        case EAknExListCmdOutline94:
        case EAknExListCmdOutline96:
        case EAknExListCmdOutline98:
            resourceId = R_AKNEXLIST_FLAGTEST_WITHS_TAB;
            break;
        default:
            break;
        }

    if ( resourceId )
        {
        if ( !iDecoratedTabGroup ) // Isn't tab group created?
            {
            SetTitlePaneL( outlineId );

            TResourceReader reader;
            iCoeEnv->CreateResourceReaderLC( reader, resourceId );
            iDecoratedTabGroup = iNaviPane->CreateTabGroupL( reader );
            CleanupStack::PopAndDestroy();  // resource reader

            iTabGroup = STATIC_CAST( CAknTabGroup*,
                                     iDecoratedTabGroup->DecoratedControl() );

            iNaviPane->PushL( *iDecoratedTabGroup );
            }
        }
    }

// ----------------------------------------------------------------------------
// void CAknExListBaseView::SetTitlePaneL( TInt )
// Sets text of title pane by outline ID.
// ----------------------------------------------------------------------------
void CAknExListBaseView::SetTitlePaneL( TInt /*aOutlineId*/ )
    {
    IndicateTitlePaneTextL( KAknExListInitTitleId );
    }

// ----------------------------------------------------------------------------
// CAknExListBaseView::DeleteTabGroup()
// Deletes tab group.
// ----------------------------------------------------------------------------
//
void CAknExListBaseView::DeleteTabGroup()
    {
    if ( iNaviPane )
        {
        if ( iDecoratedTabGroup )
            {
            iNaviPane->Pop( iDecoratedTabGroup );
            delete iDecoratedTabGroup;
            iDecoratedTabGroup = NULL;
            iTabGroup = NULL;
            }
        }
    }

// End of File

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -