`
yesjavame
  • 浏览: 687128 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

打造自己的Carbide C++工程向导和模板

阅读更多
首先感谢dyw的博客:Carbide.c++下自制向导生成CView派生类及相关Container ,本文是在他的研究基础上完成的。不知道是不是因为版本的问题(我用的是Carbide C++ v1.3 OEM,在修改模板过程中与dyw提供的方法有点出入)。

一、多视图的工程向导
原来在2nd版本时候,carbide是提供一个多视图的程序框架向导的,但是在3rd以后就取消了。正如我在学习笔记中所说,其实我还是挺喜欢这种多视图的应用程序框架。

carbide的向导位于" \Apps\Nokia\Carbide.c++ v1.3\plugins\com.nokia.cdt.templates_1.3.0.023"。打开这个目录大伙都能明白个大概了。

第一步:我们需要建立工程的源文件,并放在这个目录下:\Apps\Nokia\Carbide.c++ v1.3\plugins\com.nokia.cdt.templates_1.3.0.023\templates\com\nokia\cdt\templates\projecttemplates\S603rd-ViewApplication。其中S603rd_ViewApplication是我新建的。

源文件就是拿自己手工写的多视图应用框架,修改一下罢了。关键在于如何将向导收集到工程名、UID等信息放入源代码中,其实也很简单,随便打开一个原来的向导看看它们是怎么写的,就明白了。

无非就是$(baseName)表示工程名称,$(uid3)表示UID,如果$(baseName$upper)表示工程名称全大写,如果是$(uid3-WITHOUT_0X)表示UID不要前导的0x…………

很容易吧,剩下的事情就是用这些标记去修改自己的源文件了。

第二步:修改源目录下的template.xml文件,因为我整个S603rd_ViewApplication都是在原来的S60-PlatsecApp工程模板的基础上修改的,因为它会有个"hello world"的对话框,这个是我们不需要的,所以我稍改动了一点地方。主要是在<wizardPage>中去掉了几个<textfield>(不再收集email,message了)。并且,在拷贝文件的时候,也要多拷几个文件(就是保证将源目录下的那些东西都拷到工程目标里去)。

第三步:修改那个plugin.xml文件(这是关键,dyw没有提到这个,可能是1.2版本不需要这个做吧)。
<template
filterArguments="S60:3.0-5.0"
groupLabel
="%S60.3.label"
image
="icons/icon_S60.png"
location
="templates/com/nokia/cdt/templates/projecttemplates/S603rd-ViewApplication/template.xml"
templateId
="com.nokia.cdt.templates.s60.viewApp"
wizardId
="com.nokia.carbide.cpp.project.ui.wizards.NewSymbianOSCppProjectWizard"/>

加一个模板,过滤参数声明它是S60 3rd的,location定位到源目录下的template.xml文件。templateId只要是唯一即可,wizardId说明跟其它的工程向导没啥差别,就用现成的即可。

这样就OK了。

二、视图/容器类模板
利用上面的工程向导得到的应用程序框架中包括一个基本的视图和容器,如果在开发过程中需要增加新的视图/容器对,则可以在“Symbian C++ Class”向导中创建一对View/Container类。

同样,第一步是写源文件,放在\Apps\Nokia\Carbide.c++ v1.3\plugins\com.nokia.cdt.templates_1.3.0.023\templates\com\nokia\cdt\templates\classtemplates目录下。

这里不能用$(baseName)了,但是可以用$(classname)以及$(projectName)。也不能用$(uid3)。

这个目录下也有properties和template.xml文件,其中template.xml文件引用了一个shared/aknviewSymbian.inc文件。

第二步做这个shared/aknviewSymbian.inc文件,也是拿个现成的classSymbian.inc来修改,主要是改一下拷贝的文件。

第三步也在plugin.xml中增加对它的引用:
<template
groupLabel="%SymbianOS.label"
image
="icons/icon_symbian.gif"
location
="templates/com/nokia/cdt/templates/classtemplates/CAknView/template.xml"
templateId
="com.nokia.cdt.templates.symbian.caknview"
wizardId
="com.nokia.carbide.cpp.project.ui.wizards.NewSymbianOSCppClassWizard"/>

就OK了。

在使用类模板生成一对View/Container时,要注意手工修改三个地方:
1)在view的cpp中,需要引入rsg文件和hrh文件,可以直接从AppView.cpp前面拷过来即可。
2)在hrh中,需要增加这个视图的枚举值。
3)在rss中,需要增加这个视图的资源。

我把这两个模板打包放在资源里,大家可以去下载,直接使用:
http://download.csdn.net/source/396068


分享到:
评论

相关推荐

    Carbide C++工具编写Symbian S60程序范例实例

    在Carbide C++中,你可以选择"New -&gt; Symbian C++ Project"来启动新工程向导。在向导中,你需要指定工程类型(如应用程序、服务、库等)、目标平台(如S60 3rd Edition FP1等)以及项目名称。完成这些设置后,...

    Carbide c++ 2.0 2nd 配置文件

    2. 将补丁文件直接覆盖过程carbide c++安装路径下,例如我的E:\nokia\Carbide.c++ v2.0下, 3 将configuration(例如:E:\nokia\Carbide.c++ v2.0\configuration)目录下的文件除qt,altserver.properties,config....

    Carbide.C++ S60 3rd 多视图工程模板

    为了简化这一过程,Carbide.C++ 提供了一个名为“S60 3rd 多视图工程模板”的工具,它基于Symbian 3rd Edition平台,为开发者提供了更加规范化和高效的开发起点。 Carbide.C++ 是一个强大的集成开发环境(IDE),专...

    carbide c++ v1.3 编辑器

    对于已经存在的Symbian C++项目,可以通过简单的步骤将其导入到Carbide C++ V1.3中进行编辑和调试。这一过程通常非常直观,只需按照IDE提供的向导即可完成。 ##### 2. 创建新项目 对于新建的Symbian C++项目,...

    Carbide.C++s60.3rd 多视图工程模板

    【Carbide.C++ s60 3rd 多视图工程模板】是为S60平台开发的C++编程工具Carbide.C++提供的一个模板,它支持创建具有多个视图的Symbian应用程序。这个模板使得开发者能够更轻松地构建用户界面丰富,功能多样的移动应用...

    Nokia最新Symbian开发工具Carbide.c++

    虽然随着Android和iOS的崛起,Symbian的市场份额逐渐减少,但Carbide.c++仍然是学习和研究Symbian系统开发的重要工具。对于那些对移动操作系统历史和技术感兴趣的开发者来说,了解和使用Carbide.c++仍具有一定的价值...

    Carbide.C++s60.3rd 多视图工程模板(更新)

    carbide.c++针对第三版修改的多视图工程模板,至于如何添加进carbide.c++新建工程向导,请参考http://blog.csdn.net/yunlong202/archive/2008/10/16/3087030.aspx

    Carbide.c++使用方法搜集.rar

    Carbide.c++ IDE的常用快捷键和技巧 Carbide.c++简单使用 carbide_c++ 如何生成sis文件 Carbide_c++使用技巧及有用的插件_起点 使用Carbide C++工具编写Symbian S60程序范例 用carbide生成SISX

    carbide c++ 1.2 (04)

    Symbian 2nd,3rd程序开发工具,共10个压缩分卷

    carbide c++ 1.2 (09)

    Symbian 2nd,3rd程序开发工具,共10个压缩分卷

    carbide c++ 1.2 (01)

    Symbian 开发工具,适用于 2nd ,3rd 程序开发,由于文件较大,分卷压缩的,有10个文件

    Symbian carbide.c++

    对于开发者来说,能够高效地编写和调试Symbian应用至关重要,而Carbide.c++就是这样一个强大的集成开发环境(IDE)。Carbide.c++专为Symbian平台设计,提供了全面的工具集,旨在简化诺基亚设备应用程序的开发流程。 ...

    Carbide.c++ V1.3

    大家在网上找个破解文件就行,仅供学习用!

    carbide1.3的多视图模板(2.0)

    Carbide.C++的模板系统允许用户自定义和创建模板,以便根据个人需求构建项目结构。 "多视图"在软件开发中通常指的是用户界面中可以同时展示多个独立内容区域的能力。在IDE中,多视图意味着开发者可以在同一个窗口内...

    CARBIDE C++视频操作指导

    对最新的CARBIDE C++2.0若何操作应用深入讲解

    Carbide.c++1.3

    总的来说,Carbide.c++1.3是一个专门为嵌入式开发打造的强大工具,其OEM类型的安装选项赋予了用户更高的灵活性,使开发者能够根据自身需求定制开发环境。通过充分利用这个IDE的功能,开发者可以更高效地完成Symbian...

    carbide C++ 开发常用按键

    "Carbide C++"是一款专门用于手机开发的C++集成开发环境,它提供了一系列便捷的快捷键以提高开发效率。以下是对标题和描述中提到的一些常用快捷键及其功能的详细解释: 1. **Ctrl+ ↓ / Ctrl+↑**:在编辑区域中...

Global site tag (gtag.js) - Google Analytics