亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? alarmorganiserdefaultcontainer.cpp

?? s60源碼
?? CPP
字號:
/**
* 
* @brief Definition of CAlarmOrganiserDefaultContainer
*
* Copyright (c) EMCC Software Ltd 2003
* @version 1.0
*/

// INCLUDES

//  Class include
#include "AlarmOrganiserDefaultContainer.h"

// System includes
#include <AlarmOrganiser.rsg>		// R_EMPTY_LIST_TEXT
#include <aknlists.h>				// CAknSingleNumberStyleListBox
#include <AknQueryDialog.h>			// CAknQueryDialog

// User Includes
#include "AlarmOrganiserDefaultEngine.h"	// CAlarmOrganiserDefaultEngine

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

/**
* Symbian OS 2 phase constructor.
* Constructs the CAlarmOrganiserDefaultContainer using the NewLC method, popping
* the constructed object from the CleanupStack before returning it.
* 
* @param aRect The rectangle for this window
* @return The newly constructed CAlarmOrganiserDefaultContainer
*/
CAlarmOrganiserDefaultContainer* CAlarmOrganiserDefaultContainer::NewL(const TRect& aRect)
	{
	CAlarmOrganiserDefaultContainer* self = CAlarmOrganiserDefaultContainer::NewLC(aRect);
	CleanupStack::Pop(self);
	return self;
	}

/**
* Symbian OS 2 phase constructor.
* Constructs the CAlarmOrganiserDefaultContainer using the constructor and ConstructL 
* method, leaving the constructed object on the CleanupStack before returning it.
* 
* @param aRect The rectangle for this window
* @return The newly constructed CAlarmOrganiserDefaultContainer
*/
CAlarmOrganiserDefaultContainer* CAlarmOrganiserDefaultContainer::NewLC(const TRect& aRect)
	{
	CAlarmOrganiserDefaultContainer* self = new (ELeave) CAlarmOrganiserDefaultContainer;
	CleanupStack::PushL(self);
	self->ConstructL(aRect);
	return self;
	}

/**
* Symbian OS 2nd phase constructor.  Creates a Window for the controls, creates the listbox
* and then creates the AlarmOrganiser engine
* @param aRect The rectangle for this window
*/ 
void CAlarmOrganiserDefaultContainer::ConstructL(const TRect& aRect)
	{
	CreateWindowL();
	
	// Create the List Box
	iListBox = new (ELeave) CAknSingleNumberStyleListBox();
	iListBox->ConstructL(this, EAknListBoxSelectionList);
	iListBox->SetContainerWindowL(*this);
	iListBox->CreateScrollBarFrameL(ETrue);
    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto);
	iListBox->SetRect(Rect());
	iListBox->SetListBoxObserver(this);

	// Show the empty list box text rather than the default "no data"	
	HBufC* emptyListText = iEikonEnv->AllocReadResourceLC(R_EMPTY_LIST_TEXT);
	iListBox->View()->SetListEmptyTextL(*emptyListText);
	CleanupStack::PopAndDestroy (emptyListText);

	SetRect(aRect);
	ActivateL();
	
	// Create the alarm engine
	iEngine = CAlarmOrganiserDefaultEngine::NewL(*this);
	}

/**
*
* Called by framework when the view size is changed.
* Resizes the iListBox accordingly.
*
*/
void CAlarmOrganiserDefaultContainer::SizeChanged()
	{
	if (iListBox)
		{
		iListBox->SetRect(Rect());
		}
	}

/**
* Called by the framework in compound controls	
* @return The number of controls in this CAlarmOrganiserDefaultContainer
*/
TInt CAlarmOrganiserDefaultContainer::CountComponentControls() const
	{
	return 1;
	}

/**
* Called by the framework in compound controls	
* @param The index of the control to return
* @return The control for aIndex
*/
CCoeControl* CAlarmOrganiserDefaultContainer::ComponentControl(TInt aIndex) const
	{
	switch (aIndex)
		{
		case 0:
			return iListBox;
		default:
			return NULL;
		}
	}

/** 
* Destructor.
*/
CAlarmOrganiserDefaultContainer::~CAlarmOrganiserDefaultContainer()
	{
	delete iEngine;
	delete iListBox;
	}

/**
* Called by the framework to draw this control.  Clears the area in 
* aRect.
* @param aRect in which to draw
*/
void CAlarmOrganiserDefaultContainer::Draw(const TRect& aRect) const
	{
	CWindowGc& gc = SystemGc();
	gc.Clear(aRect);
	}

/**
* Inherited from MAgnProgressCallBack.
* This function is called at intervals while an activity on an 
* Agenda model (in this case OpenL()) is in progress. If the 
* activity completes quickly this function may not be called at all.
* @param aPercentageCompleted what percentage of the process has been completed
*/
void CAlarmOrganiserDefaultContainer::Progress(TInt /*aPercentageCompleted*/)
	{
	}

/**
* Inherited from MAgnProgressCallBack.
* Called when the activity has completed. 
* @param aError any error which has occurred.
*/
void CAlarmOrganiserDefaultContainer::Completed(TInt /*aError*/)
	{
	}

/**
* Inherited from MAlarmOrganiserEngineMixin. Called back
* when the engine has been initialised.
* @param aError any error which has occurred.
*/
void CAlarmOrganiserDefaultContainer::EngineCallBack(TInt aError)
	{
	if (aError == KErrNone)
		{
		SetListBoxArray();
		}
	}

/**
* Called by the framework whenever a key event occurs.
* Passes the key event to the listbox if it is not null, otherwise returns
* EKeyWasNotConsumed
* @param aKeyEvent the Key event which occured, e.g. select key pressed
* @param aType the type of Key event which occurred, e.g. key up, key down
* @return TKeyResponse EKeyWasNotConsumed if the key was not processed, EKeyWasConsumed if it was
*/
TKeyResponse CAlarmOrganiserDefaultContainer::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType)
	{
	TChar charCode(aKeyEvent.iCode);

    switch (charCode)
		{
		// Switches tab
        case EKeyLeftArrow: // Left key.
        case EKeyRightArrow: // Right Key.
			break;
		default:
			{
			if (iListBox)
				{
				return iListBox->OfferKeyEventL(aKeyEvent, aType);
				}
			}
		}

	return EKeyWasNotConsumed;
	}

/**
* Handles listbox event. Calls remove alarm
* @param aListBox Pointer to ListBox object is not used.
* @param aEventType Type of listbox event.
*/
void CAlarmOrganiserDefaultContainer::HandleListBoxEventL(CEikListBox* /*aListBox*/, TListBoxEvent aListBoxEvent)
	{
	// if the Select Key has been pressed
	if ((aListBoxEvent == MEikListBoxObserver::EEventEnterKeyPressed) ||
		(aListBoxEvent == MEikListBoxObserver::EEventItemClicked))
		{
		RemoveAlarmL();
		}
	}

/** 
* This functions sets the data displayed in the list box
* to the array created by CAlarmOrganiserDefaultEngine
*/
void CAlarmOrganiserDefaultContainer::SetListBoxArray()
	{
	CTextListBoxModel* model = iListBox->Model();

	// Set the model data
	model->SetItemTextArray(iEngine->ListBoxArray());
	model->SetOwnershipType(ELbmDoesNotOwnItemArray);
	iListBox->Reset();
	DrawNow();
	}

/**
* Displays a dialog asking whether to remove the currently selected 
* alarm. Calls the CAlarmOrganiserEngineBase::RemoveAlarmL() if the
* alarm is to be removed
*/
void CAlarmOrganiserDefaultContainer::RemoveAlarmL()  
	{
	TInt alarm = iListBox->CurrentItemIndex();

	if (alarm < 0)
		{
		return;	// Invalid alarm.
		}

	HBufC* text = CEikonEnv::Static()->AllocReadResourceLC(R_REMOVE_ALARM_TEXT);
	CAknQueryDialog* dlg = new (ELeave) CAknQueryDialog(*text);

	if (dlg->ExecuteLD(R_ALARMORGANISER_CONFIRMATION_QUERY))
		{
		iEngine->RemoveAlarmL(alarm);
		}

	CleanupStack::PopAndDestroy(text);
	}

/**
* returns if the list box is empty or not
* @return ETrue if the listbox is empty
*/
TBool CAlarmOrganiserDefaultContainer::ListBoxEmpty()
	{
	return (iListBox->Model()->NumberOfItems() == 0);
	}

// End of File

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费人成网站在线观看欧美高清| 午夜精品在线视频一区| 日韩欧美高清dvd碟片| 成人av网在线| 粉嫩一区二区三区性色av| 毛片不卡一区二区| 日本中文字幕不卡| 午夜不卡av免费| 亚洲国产日韩一级| 精品午夜一区二区三区在线观看 | 自拍偷拍欧美激情| 国产午夜精品在线观看| 精品国产乱码久久久久久图片| 欧美影院午夜播放| 3d成人h动漫网站入口| 在线播放视频一区| 欧美一卡2卡三卡4卡5免费| 这里只有精品免费| 久久亚洲精品国产精品紫薇| 国产日韩欧美麻豆| 日韩一区在线看| 亚洲第一福利一区| 视频在线观看一区| 国产一区三区三区| 成人免费看视频| 欧洲一区二区三区在线| 欧美高清www午色夜在线视频| 91精品国产综合久久久久久久| 精品国产髙清在线看国产毛片| 精品少妇一区二区三区在线视频| 2023国产一二三区日本精品2022| 久久精品欧美一区二区三区麻豆| 国产中文字幕一区| 在线观看免费视频综合| 777久久久精品| 国产精品久久久久久久久晋中| 亚洲国产日韩a在线播放| 国产在线精品一区二区夜色| 91丨国产丨九色丨pron| 精品国产人成亚洲区| 亚洲高清视频的网址| 国产成人精品免费| 欧美日高清视频| 亚洲婷婷综合色高清在线| 另类小说一区二区三区| 欧美午夜免费电影| 亚洲婷婷综合色高清在线| 国内精品免费**视频| 91.xcao| 一区二区三区久久| av亚洲精华国产精华| 国产亚洲综合性久久久影院| 日韩精彩视频在线观看| 色婷婷综合在线| 综合av第一页| 99精品欧美一区二区蜜桃免费| 久久精品人人做人人爽人人| 极品少妇一区二区| 欧美不卡一区二区| 美国三级日本三级久久99| 6080亚洲精品一区二区| 视频在线观看一区| 8x8x8国产精品| 日韩黄色在线观看| 日韩一级二级三级精品视频| 日本成人在线一区| 久久综合99re88久久爱| 色就色 综合激情| 一区二区成人在线| 欧美精品久久天天躁| 日韩制服丝袜先锋影音| 欧美精品日韩精品| 另类的小说在线视频另类成人小视频在线 | 亚洲视频一二区| 欧美性猛交xxxxxx富婆| 青青草成人在线观看| 欧美xxxxxxxx| 91视频精品在这里| 午夜欧美电影在线观看| 欧美sm极限捆绑bd| aaa亚洲精品一二三区| 亚洲成人7777| 久久一日本道色综合| av综合在线播放| 免费观看91视频大全| 中文字幕不卡三区| 欧美日韩另类国产亚洲欧美一级| 久草中文综合在线| 亚洲欧美色一区| 国产无遮挡一区二区三区毛片日本| 99久久亚洲一区二区三区青草| 亚洲午夜羞羞片| 亚洲国产电影在线观看| 欧美一二三区在线观看| 欧美做爰猛烈大尺度电影无法无天| 精品一区二区免费视频| 亚洲国产毛片aaaaa无费看| 欧美国产视频在线| 91精品国产色综合久久不卡蜜臀| 97久久久精品综合88久久| 国产精品一区在线观看乱码| 午夜精品福利一区二区三区蜜桃| 国产日本欧洲亚洲| 日韩欧美中文字幕公布| 欧美另类高清zo欧美| 色婷婷av一区二区三区gif | 97久久超碰国产精品| 国产成人精品一区二区三区四区 | 欧美一区二区人人喊爽| 欧美在线色视频| 色综合久久中文字幕| av网站免费线看精品| 成人激情免费视频| 日韩一级黄色大片| 精品国精品自拍自在线| 欧美人伦禁忌dvd放荡欲情| 在线精品视频一区二区三四| 91在线免费看| 欧美日韩黄色影视| 欧美日韩电影一区| 91精品国产综合久久小美女| 3atv在线一区二区三区| 欧美一区二区三区不卡| 亚洲精品一区二区三区99| 久久精品一区二区三区不卡牛牛| 久久品道一品道久久精品| 国产欧美在线观看一区| 亚洲欧美激情视频在线观看一区二区三区 | 欧美精品一区二区三区在线 | 婷婷久久综合九色综合伊人色| 美女一区二区三区在线观看| 国产精品一区二区在线观看不卡| 男男视频亚洲欧美| 成人黄色综合网站| 欧美日韩aaaaaa| 久久精品人人做人人爽人人| 中文字幕中文字幕一区| 亚洲国产日韩在线一区模特 | 91原创在线视频| 日韩美一区二区三区| 亚洲国产精品精华液2区45| 午夜亚洲国产au精品一区二区| 国产一区二区在线观看视频| 色综合久久综合网欧美综合网| 精品欧美一区二区久久| 一区二区三区精品在线观看| 国产精品白丝av| 日韩女优电影在线观看| 夜夜嗨av一区二区三区| 国产综合色视频| 欧美酷刑日本凌虐凌虐| 亚洲欧美色图小说| 国产黄人亚洲片| 综合久久久久综合| 国产一区二区毛片| 日韩免费看网站| 午夜精彩视频在线观看不卡| 色婷婷国产精品| 亚洲欧美区自拍先锋| 北条麻妃国产九九精品视频| 久久久久久黄色| 国产一区二区三区蝌蚪| 精品国产电影一区二区| 美女视频一区在线观看| 3751色影院一区二区三区| 午夜激情久久久| 欧美疯狂性受xxxxx喷水图片| 亚洲精品视频在线观看网站| 91啪在线观看| 一区二区三区日韩欧美精品| 色综合色狠狠综合色| 一区二区三区电影在线播| 91丨porny丨在线| 亚洲福利视频一区| 欧美高清性hdvideosex| 青青草伊人久久| 精品日韩99亚洲| 成人一区二区三区中文字幕| 亚洲国产精品99久久久久久久久| 成人美女在线视频| 亚洲午夜影视影院在线观看| 日韩欧美中文字幕公布| 国产成人鲁色资源国产91色综| 国产欧美日韩综合| 91女厕偷拍女厕偷拍高清| 天堂久久一区二区三区| 久久久精品影视| 91电影在线观看| 韩国成人福利片在线播放| 国产精品国产三级国产普通话三级 | 国产在线不卡一卡二卡三卡四卡| 国产精品久久久久久亚洲毛片| 色诱亚洲精品久久久久久| 色哟哟一区二区在线观看| 日韩国产欧美一区二区三区| 国产欧美日韩在线看| 91精品久久久久久久久99蜜臂| 成人开心网精品视频| 日韩中文字幕亚洲一区二区va在线 | 中文字幕精品一区|