settingslist.cpp

来自「基于symbian 平台 ocr 示例程序」· C++ 代码 · 共 76 行

CPP
76
字号
/*
* ==============================================================================
*  Name        : SettingsList.cpp
*  Part of     : OcrExample
*  Interface   :
*  Description :
*  Version     :
*
*  Copyright (c) 2006 Nokia Corporation.
*  This material, including documentation and any related
*  computer programs, is protected by copyright controlled by
*  Nokia Corporation.
* ==============================================================================
*/

#include "SettingsList.h"
#include "OcrExampleSettingsData.h"
#include "OcrExample.hrh"

using namespace NOCRUtils;

CSettingsList::CSettingsList(TOcrExampleSettingsData &aData)
    : iSettings(aData)
    {
    }

CAknSettingItem* CSettingsList::CreateSettingItemL( TInt aId )
    {
    CAknSettingItem* item = NULL;

    switch (aId)
        {
         case EOCRExampleSettingHighlightColor:
            item = new (ELeave) CAknEnumeratedTextPopupSettingItem(aId,
                                                        iSettings.iHighlightColor);
            break;

        case EOCRExampleSettingEnglish:
            item = new (ELeave) CAknBinaryPopupSettingItem(aId, iSettings.iUseEnglish);
            break;

        case EOCRExampleSettingChinese:
            item = new (ELeave) CAknBinaryPopupSettingItem(aId, iSettings.iUseChinese);
            break;

        case EOCRExampleSettingJapanese:
            item = new (ELeave) CAknBinaryPopupSettingItem(aId, iSettings.iUseJapanese);
            break;

        case EOCRExampleSettingCrosshairHeigth:
            item = new (ELeave) CAknSliderSettingItem(aId, iSettings.iCrossHairHeight );
            break;

        case EOCRExampleSettingCrosshairWidth:
            item = new (ELeave) CAknSliderSettingItem(aId, iSettings.iCrossHairWidth );
            break;
        }

    return item;
    }

void CSettingsList::EditItemL( TInt aIndex, TBool aCalledFromMenu )
    {
    CAknSettingItemList::EditItemL( aIndex, aCalledFromMenu );
    ( *SettingItemArray() )[aIndex]->StoreL();
    }

void CSettingsList::SizeChanged()
    {
    if (ListBox())
        {
        ListBox()->SetRect(Rect());
        }
    }

⌨️ 快捷键说明

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