/*
* ============================================================================
* Name : CSttsPanesNavigationContainer from SttsPanesNavigationContainer.cpp
* Part of : SttsPanes
* Created : 02.04.2005 by ToBeReplacedByAuthor
* Implementation notes:
* Initial content was generated by Series 60 Application Wizard.
* Version :
* Copyright: ToBeReplacedByCopyright
* ============================================================================
*/
// INCLUDE FILES
#include "SttsPanesNavigationContainer.h"
#include <barsread.h> // BAFL, for resource reader
#include <avkon.hrh>
#include <avkon.rsg>
#include <aknnavi.h>
#include <aknnavide.h>
#include <akntabgrp.h>
#include <SttsPanes.mbg>
#include <SttsPanes.rsg>
#include "SttsPanes.hrh"
_LIT( KSttsPanesBitMapFile, "\\system\\apps\\sttspanes\\sttspanes.mbm" );
// ================= MEMBER FUNCTIONS =======================
// ---------------------------------------------------------
// CSttsPanesNavigationContainer::ConstructL(const TRect& aRect)
// EPOC two phased constructor
// ---------------------------------------------------------
//
void CSttsPanesNavigationContainer::ConstructL(const TRect& aRect)
{
CreateWindowL();
CEikStatusPane* sp = iEikonEnv->AppUiFactory()->StatusPane();
iNaviPane = static_cast<CAknNavigationControlContainer *>(
sp->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ));
iListBox = new(ELeave)CAknSingleStyleListBox();
iListBox->SetContainerWindowL(*this);
TResourceReader reader;
CEikonEnv::Static()->CreateResourceReaderLC(reader, R_NAVIGATIONCONTAINER_LISTBOX);
iListBox->ConstructFromResourceL( reader );
CleanupStack::PopAndDestroy(); // resource stuffs.
iListBox->ActivateL();
iListBox->CreateScrollBarFrameL(ETrue);
iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOn, CEikScrollBarFrame::EOn);
SetRect(aRect);
ActivateL();
}
// Destructor
CSttsPanesNavigationContainer::~CSttsPanesNavigationContainer()
{
delete iListBox;
}
// ---------------------------------------------------------
// CSttsPanesNavigationContainer::SizeChanged()
// Called by framework when the view size is changed
// ---------------------------------------------------------
//
void CSttsPanesNavigationContainer::SizeChanged()
{
// TODO: Add here control resize code etc.
iListBox->SetRect( Rect());
}
// ---------------------------------------------------------
// CSttsPanesNavigationContainer::CountComponentControls() const
// ---------------------------------------------------------
//
TInt CSttsPanesNavigationContainer::CountComponentControls() const
{
return 1; // return nbr of controls inside this container
}
// ---------------------------------------------------------
// CSttsPanesNavigationContainer::ComponentControl(TInt aIndex) const
// ---------------------------------------------------------
//
CCoeControl* CSttsPanesNavigationContainer::ComponentControl(TInt aIndex) const
{
switch ( aIndex )
{
case 0:
return iListBox;
default:
return NULL;
}
}
// ---------------------------------------------------------
// CSttsPanesNavigationContainer::Draw(const TRect& aRect) const
// ---------------------------------------------------------
//
void CSttsPanesNavigationContainer::Draw(const TRect& /*aRect*/) const
{
}
// ---------------------------------------------------------
// CSttsPanesNavigationContainer::OfferKeyEventL(...)
// Notify key events to editors.
// ---------------------------------------------------------
//
TKeyResponse CSttsPanesNavigationContainer::OfferKeyEventL(
const TKeyEvent& aKeyEvent, TEventCode aType)
{
if ( aType != EEventKey )
{
return EKeyWasNotConsumed;
}
if (aKeyEvent.iCode == EKeyRightArrow || aKeyEvent.iCode == EKeyLeftArrow)
{
return EKeyWasNotConsumed;
}
if (iListBox)
{
TKeyResponse ret = iListBox->OfferKeyEventL(aKeyEvent, aType);
if (aKeyEvent.iCode == EKeyUpArrow || aKeyEvent.iCode == EKeyDownArrow)
{
TInt idx (iListBox->CurrentItemIndex());
ChangeNavigationPaneL(idx);
}
return ret;
}
return EKeyWasNotConsumed;
}
// ----------------------------------------------------------------------------
// CSttsPanesNavigationContainer::CreateNaviDecoratorsForTabGroupL()
// ----------------------------------------------------------------------------
//
CAknTabGroup* CSttsPanesNavigationContainer::CreateNaviDecoratorsForTabGroupL(
TInt aResourceId )
{
CAknNavigationDecorator* naviDecoratorTemp;
TResourceReader reader;
iCoeEnv->CreateResourceReaderLC( reader, aResourceId );
naviDecoratorTemp = iNaviPane->CreateTabGroupL( reader );
CleanupStack::PopAndDestroy(); // resource reader
iNaviPane->PushL( *naviDecoratorTemp );
ClearDecorators();
iNaviDecorator = naviDecoratorTemp;
return static_cast<CAknTabGroup*>( iNaviDecorator->DecoratedControl());
}
void CSttsPanesNavigationContainer::ClearDecorators()
{
if (iNaviDecorator)
{
iNaviPane->Pop(iNaviDecorator);
delete iNaviDecorator;
iNaviDecorator = NULL;
}
}
void CSttsPanesNavigationContainer::ChangeNavigationPaneL(const TInt& aIdx)
{
switch (aIdx)
{
case 0: // default
{
iNaviPane->PushDefaultL();
ClearDecorators();
break;
}
case 1: //Two tabs
{
CreateNaviDecoratorsForTabGroupL( R_STTSPANES_NAVI_TAB_GROUP_TWO );
break;
}
case 2: // Three tabs
{
CreateNaviDecoratorsForTabGroupL(R_STTSPANES_NAVI_TAB_GROUP_THREE );
break;
}
case 3: // Four tabs
{
CreateNaviDecoratorsForTabGroupL(R_STTSPANES_NAVI_TAB_GROUP_FOUR );
break;
}
case 4: // Two Long tabs
{
CreateNaviDecoratorsForTabGroupL(R_STTSPANES_NAVI_TAB_GROUP_TWO_LONG );
break;
}
case 5: // Three Long tabs
{
CreateNaviDecoratorsForTabGroupL(R_STTSPANES_NAVI_TAB_GROUP_THREE_LONG );
break;
}
case 6: // image
{
TResourceReader reader;
iCoeEnv->CreateResourceReaderLC( reader, R_STTSPANES_NAVIIMAGE);
CAknNavigationDecorator* naviDecorator = iNaviPane->CreateNavigationImageL( reader );
CleanupStack::PopAndDestroy(); // resource reader
iNaviPane->PushL( *naviDecorator );
ClearDecorators();
iNaviDecorator = naviDecorator;
break;
}
case 7: // image plus text
{
CreateNaviDecoratorsForTabGroupL(R_STTSPANES_NAVI_TAB_GROUP_ONE );
break;
}
case 8: // text label
{
TResourceReader reader;
iCoeEnv->CreateResourceReaderLC( reader,R_STTSPANES_NAVI_LABEL );
CAknNavigationDecorator* naviDecorator = iNaviPane->CreateNavigationLabelL( reader );
CleanupStack::PopAndDestroy(); // resource reader
naviDecorator->MakeScrollButtonVisible( ETrue );
naviDecorator->SetScrollButtonDimmed(CAknNavigationDecorator::ELeftButton, EFalse );
naviDecorator->SetScrollButtonDimmed(CAknNavigationDecorator::ERightButton, EFalse );
iNaviPane->PushL
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
书由3位外企资深Symbian手机开发专家历时一年精心编写,主要介绍基于Symbian操作系统S60系列的应用程序开发。书中绝大部分内容都是实际开发经验的总结,给出的83个案例极具代表性,有非常高的实际指导意义。 全书共分3部分17章,第1~6章为基础知识部分,主要介绍Symbian系统基础知识、Symbian编程语言、创建S60应用程序的过程以及$60的界面风格;第7~11章为基本图形界面开发部分,主要介绍如何在S60环境中创建基于控件、视图、面板、对话框、列表框的应用程序;第12~17章为提高部分,主要介绍异步事件处理、文件系统开发、多媒体编程、串口通信编程、TCP/IP网络编程,以及提高开发速度保证开发质量的辅助开发技术等内容。 书不提供代码光盘,在这里本人下载下来共享一下!
资源推荐
资源详情
资源评论
收起资源包目录
基于Symbian OS的手机开发与应用实践配带源代码.rar (1872个子文件)
video.3gp 11B
HelloWorldaif.aif 2KB
Frame3.bmp 74KB
Frame1.bmp 74KB
Frame2.bmp 74KB
Arrow.bmp 10KB
Qdial61.bmp 9KB
Qdial61.bmp 9KB
title2.bmp 8KB
title1.bmp 8KB
Face.bmp 7KB
Face.bmp 7KB
Face.bmp 7KB
GMS5.bmp 6KB
GMS8.bmp 6KB
GMS2.bmp 6KB
GMS4.bmp 6KB
GMS3.bmp 6KB
GMS9.bmp 6KB
GMS7.bmp 6KB
GMS6.bmp 6KB
GMS2.bmp 6KB
GMS1.bmp 6KB
GMS4.bmp 6KB
GMS3.bmp 6KB
GMS8.bmp 6KB
GMS6.bmp 6KB
GMS7.bmp 6KB
GMS5.bmp 6KB
GMS5.bmp 6KB
GMS1.bmp 6KB
GMS7.bmp 6KB
GMS4.bmp 6KB
GMS3.bmp 6KB
GMS8.bmp 6KB
GMS9.bmp 6KB
GMS6.bmp 6KB
Qdial51.bmp 6KB
Icon8.bmp 6KB
Icon7.bmp 6KB
Default.bmp 6KB
Icon9.bmp 6KB
Qdial51.bmp 6KB
Icon4.bmp 6KB
Icon1.bmp 6KB
Icon3.bmp 6KB
Icon2.bmp 6KB
Icon6.bmp 6KB
Icon5.bmp 6KB
Qdial21.bmp 5KB
Qdial11.bmp 5KB
Qdial21.bmp 5KB
Qdial11.bmp 5KB
Qdial31.bmp 4KB
Qdial31.bmp 4KB
Qdial41.bmp 4KB
Qdial41.bmp 4KB
FrameMask1.bmp 3KB
FrameMask2.bmp 3KB
FrameMask3.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context3.bmp 3KB
context2.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
context_pane_icon.bmp 3KB
共 1872 条
- 1
- 2
- 3
- 4
- 5
- 6
- 19
资源评论
- ndsccn2013-03-30我还以为是电子书,一堆源代码,还要10分!
- jiangshx2014-07-21开发该系统下应用有点帮助,可惜Symbian OS过时。
艺博云天
- 粉丝: 10
- 资源: 38
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功