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

📄 aknexsettinglistview.cpp

📁 symbian下的settinglist 适合初学者
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/* Copyright (c) 2004, Nokia. All rights reserved */


// INCLUDE FILES
#include <avkon.hrh>
#include <avkon.rsg>
#include <akntitle.h>
#include <aknviewappui.h>
#include <aknexsettinglist.rsg>

#include "aknexsettinglist.hrh"
#include "aknexsettinglistview.h"
#include "aknexsettinglistcontainer.h"
#include "aknexsettinglistlistbox.h"
#include "aknexsettinglistitemdata.h"


// ========================= MEMBER FUNCTIONS ==================================


// ------------------------------------------------------------------------------
// CAknExSettingListView::CAknExSettingListView()
// C++ default constructor can NOT contain any code, that might leave.
// ------------------------------------------------------------------------------
//
CAknExSettingListView::CAknExSettingListView(): iCurrentOutlineId( 
                                                EAknExSettingListCmdEmptyOutline )
    {
    // No implementation required
    }

// ------------------------------------------------------------------------------
// CAknExSettingListView::~CAknExSettingListView()
// Destructor.
// ------------------------------------------------------------------------------
//
CAknExSettingListView::~CAknExSettingListView()
    {

    // Deletes the Container class object.
    if ( iContainer )
        {
        // Removes Container from View control stack.
        AppUi()->RemoveFromStack( iContainer );
        }

    if ( iListBox )
        {
        AppUi()->RemoveFromStack( iListBox );
        }

    delete iListBox;
    delete iData;
    }

// ------------------------------------------------------------------------------
// CAknExSettingListView::DisplayNextOutlineL()
// Displays the next outline.
// ------------------------------------------------------------------------------
//
void CAknExSettingListView::DisplayNextOutlineL()
    {

    // Current outline is...
    switch ( iCurrentOutlineId ) 
        {
        case EAknExSettingListCmdEmptyOutline:
            HandleCommandL( EAknExSettingListCmdOutline01 );
            break;

        case EAknExSettingListCmdOutline01:
            HandleCommandL( EAknExSettingListCmdOutline02 );
            break;

        case EAknExSettingListCmdOutline02:
            HandleCommandL( EAknExSettingListCmdOutline03 );
            break;

        case EAknExSettingListCmdOutline03:
            HandleCommandL( EAknExSettingListCmdOutline04 );
            break;

        case EAknExSettingListCmdOutline04:
            HandleCommandL( EAknExSettingListCmdOutline05 );
            break;

        case EAknExSettingListCmdOutline05:
            HandleCommandL( EAknExSettingListCmdOutline06 );
            break;

        case EAknExSettingListCmdOutline06:
            HandleCommandL( EAknExSettingListCmdOutline07 );
            break;

        case EAknExSettingListCmdOutline07:
            HandleCommandL( EAknExSettingListCmdOutline08 );
            break;

        case EAknExSettingListCmdOutline08:
            HandleCommandL( EAknExSettingListCmdOutline09 );
            break;

        case EAknExSettingListCmdOutline09:
            HandleCommandL( EAknExSettingListCmdOutline10 );
            break;

        case EAknExSettingListCmdOutline10:
            HandleCommandL( EAknExSettingListCmdOutline01 );
            break;

        default:
            HandleCommandL( EAknExSettingListCmdEmptyOutline );
            break;
        }
    }

// ------------------------------------------------------------------------------
// CAknExSettingListView::DisplayPreviousOutlineL()
// Displays the previous outline.
// ------------------------------------------------------------------------------
//
void CAknExSettingListView::DisplayPreviousOutlineL()
    {

    // Current outline is...
    switch ( iCurrentOutlineId )
        {
        case EAknExSettingListCmdEmptyOutline:
            HandleCommandL( EAknExSettingListCmdOutline10 );
            break;

        case EAknExSettingListCmdOutline01:
            HandleCommandL( EAknExSettingListCmdOutline10 );
            break;

        case EAknExSettingListCmdOutline02:
            HandleCommandL( EAknExSettingListCmdOutline01 );
            break;

        case EAknExSettingListCmdOutline03:
            HandleCommandL( EAknExSettingListCmdOutline02 );
            break;

        case EAknExSettingListCmdOutline04:
            HandleCommandL( EAknExSettingListCmdOutline03 );
            break;

        case EAknExSettingListCmdOutline05:
            HandleCommandL( EAknExSettingListCmdOutline04 );
            break;

        case EAknExSettingListCmdOutline06:
            HandleCommandL( EAknExSettingListCmdOutline05 );
            break;

        case EAknExSettingListCmdOutline07:
            HandleCommandL( EAknExSettingListCmdOutline06 );
            break;

        case EAknExSettingListCmdOutline08:
            HandleCommandL( EAknExSettingListCmdOutline07 );
            break;

        case EAknExSettingListCmdOutline09:
            HandleCommandL( EAknExSettingListCmdOutline08 );
            break;

        case EAknExSettingListCmdOutline10:
            HandleCommandL( EAknExSettingListCmdOutline09 );
            break;

        default:
            HandleCommandL( EAknExSettingListCmdEmptyOutline );
            break;
        }
    }

// ------------------------------------------------------------------------------
// CAknExSettingListView::SetCurrentOutlineId()
// Set iCurrentOutlineId
// ------------------------------------------------------------------------------
//
void CAknExSettingListView::SetCurrentOutlineId( const TInt aOutlineId )
    {
    iCurrentOutlineId = aOutlineId;
    }

// ------------------------------------------------------------------------------
// CAknExSettingListView::Id() const
// Returns ID of View.
// ------------------------------------------------------------------------------
//
TUid CAknExSettingListView::Id() const
    {
    return KViewId;
    }

// -----------------------------------------------------------------------------
// CAknExSettingListView::HandleCommandL()
// Handles the commands.
// -----------------------------------------------------------------------------
//
void CAknExSettingListView::HandleCommandL( TInt aCommand )
    {

    switch ( aCommand )
        {
        case EAknCmdExit:
        case EAknSoftkeyBack:
            {
            AppUi()->ProcessCommandL( EAknCmdExit );
            break;
            }

        case EAknExSettingListCmdEmptyOutline:
            iCurrentOutlineId = aCommand;
            SwapContainerL( ETrue );
            iContainer->SetCurrentOutlineId( aCommand );
            IndicateTitlePaneTextL( aCommand );
            iContainer->DisplayLabelL( R_AKNEXSETTINGLIST_TEXT_LABEL_TITLE );
            break;

        case EAknExSettingListCmdOutline01:
            iCurrentOutlineId = aCommand;
            SwapContainerL( EFalse );
            CreateListBoxL( R_AKNEXSETTINGLIST_SETTING_LIST_SETTING_TEXT );
            break;

        case EAknExSettingListCmdOutline02:
            iCurrentOutlineId = aCommand;
            SwapContainerL( EFalse );
            CreateListBoxL( R_AKNEXSETTINGLIST_SETTING_LIST_SETTING_SLIDER );
            break;

        case EAknExSettingListCmdOutline03:
            iCurrentOutlineId = aCommand;
            SwapContainerL( EFalse );
            CreateListBoxL( R_AKNEXSETTINGLIST_SETTING_LIST_SETTING_VOLUME );
            break;

        case EAknExSettingListCmdOutline04:
            iCurrentOutlineId = aCommand;
            SwapContainerL( EFalse );
            CreateListBoxL( R_AKNEXSETTINGLIST_SETTING_LIST_SETTING_ENUMTEXT );
            break;

⌨️ 快捷键说明

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