自定义菜单

阅读(990) 标签: 设计器菜单, cmaction, icmhandler, gvide,

背景说明与实现思路

润乾报表设计器提供的菜单项可以由用户自定义,用户可以追加一些菜单项,也可以替换一些现有的菜单项。目前可以追加菜单项的有文件菜单、编辑菜单、报表菜单、填报菜单、工具菜单、帮助菜单或重定向系统菜单。

 

菜单的定制包括两个步骤:1、写程序实现菜单的功能2、增加菜单按钮

 

自定义菜单类必须继承com.raqsoft.report.ide.configmenu.CMAction,实现其public void actionPerformed(ActionEvent e)方法,该类有两个保护变量:

protected String argument;

protected ICMHandler handler;

argument  即在配置菜单按钮时配置文件指定的argument字符串

handler  ICMHandler,这是一个润乾报表提供的消息处理类,程序员可以通过这个接口发送消息以获取到自己想得到的一些东西。

 

◆ com.raqsoft.report.ide.configmenu.ICMHandler

public Object processMessage(String desc, Object argument);  //此方法供程序员发送消息并接收返回值

desc  消息的简短描述,大小写无关

argument 传给润乾报表

返回值 润乾报表执行消息后返回给程序员的想要得到的东西

 

另外:润乾报表设计器中com.raqsoft.report.ide.GVIde是一静态类,里面包含了润乾报表设计器IDE的界面组成构件,用户可以直接访问该类的属性以获取自己感兴趣的IDE构件。

可以访问的构件说明:

1.  appMenu :设计器的主菜单对象。类型(JMenu

2.  dsActive :当前活动的数据源定义,类型(com.raqsoft.report.ide.base.DataSource

3.  dsModel :数据源列表定义,类型(com.raqsoft.report.ide.base.DataSourceListModel

4.  toolBarProperty :设计器第一个工具条,可设置颜色的那条。类型(com.raqsoft.report.ide.ToolBarProperty

5.  toolBarEditor 设计其第二个工具条,可设置表达式的那条,类型(com.raqsoft.report.ide.ToolBarEditor

 

自定义菜单类

代码示例

package one.client;

 

import javax.swing.*;

import java.net.*;

import java.io.*;

import java.awt.event.ActionEvent;

import java.util.*;

 

import com.raqsoft.report.ide.configmenu.CMAction;

 

public class OneRpx extends CMAction {

  public void actionPerformed( ActionEvent e ) {

public void actionPerformed( ActionEvent e ) {

…………

}

}

参考文件:MyMenu.java

 

自定义菜单按钮的配置

菜单按钮的配置在reportsystemconfig_zh.xml文件中,该文件所处位置应为类路径可以搜索到的位置。

 

文件结构:

<REPORT>

<CONFIG_MENU>

<F_20000 argument="" classname="one.client.MyMenu" hotkey="ctrl+h" text="打开报表" object="report" />

</CONFIG_MENU>

<CONFIG splashFile="config/runqiansplash.jpg">

</CONFIG>

</REPORT>

 

F_10为菜单项的数字标识号,

F_ 前缀表示菜单将添加到润乾报表的文件菜单中;

E_ 前缀表示菜单将添加到润乾报表的编辑菜单中;

R_ 前缀表示菜单将添加到润乾报表的报表菜单中;

I_ 前缀表示菜单将添加到润乾报表的填报菜单中;

T_ 前缀表示菜单将添加到润乾报表的工具菜单中;

C_ 前缀表示菜单将添加到润乾报表的远程菜单中;

H_ 前缀表示菜单将添加到润乾报表的帮助菜单中。

 

后面跟的序号原则上大于 20000。但是如果小于20000而和系统的其他命令冲突则会造成程序菜单混乱。但是和以下的系统菜单序号相同时,则程序不追加新的配置菜单项,而会把如下列出的系统菜单的行为重定向到配置菜单指定的操作。

 

可替换的系统菜单命令列表:

报表菜单

文件菜单

编辑菜单

报表菜单

新建

5

撤销

205

参数

505

新建报表向导

6

重复

210

510

新建报表组

7

剪切

215

数据集

515

新建填报

9

复制

220

报表组设置

520

新建行式填报

2005

粘贴

225

报表属性

350

打开

10

插入

 

行属性

305

打开填报

11

插入行

405

列属性

310

快速打开

15

插入列

410

边框设置

325

关闭

30

追加数据行

415

统计图

335

关闭全部

35

追加数据列

420

条形图

345

保存

20

插入格

441

第三方图形

346

另存为

25

追加格

443

表达式

348

打印

50

局部报表

430

子报表

340

预览

55

行区域

455

数据类型

330

导出

 

列区域

456

图片

331

excel文件

101

删除

 

数据图层

333

分页excel文件

102

删除行

261

编辑风格

365

带公式excel

103

删除列

263

设置密码

366

word文件

106

删除前格

265

 

 

pdf文件

104

清除

 

工具菜单

分页pdf文件

105

设为空白格

230

添加到样式

610

文本式pdf文件

111

设为初始格

235

添加为预定义格

611

文本式分页pdf文件

112

清除格式

240

配色方案

618

Text文件

108

清除内容

245

JSP编辑器

615

Html文件

110

清除编辑风格

246

脚本编辑

616

Xml文件

109

清除数据图层

247

导入Excel

612

excel文件

121

移动

 

上载文件

622

分页excel文件

122

上移行

461

报表迁移

620

带公式excel

123

下移行

463

数据源

605

最近文件

97

左移列

465

多维数据库

650

最近连接

98

右移列

467

选项

625

退出

60

上移单元格

471

 

 

 

 

下移单元格

473

远程菜单

帮助菜单

左移单元格

475

登录

801

关于

1005

右移单元格

477

注销

802

技术支持

1015

搜索

250

连接数据源

811

清理内存

1010

替换

255

上传文件

812

 

 

 

 

打开文件

810

 

填报菜单

文件菜单

编辑菜单

填报菜单

新建

5

撤销

2115

参数

2301

新建报表向导

6

重复

2117

格间校验

2305

新建报表组

7

剪切

2121

页属性

2315

新建填报

9

复制

2123

行属性

2325

新建行式填报

2005

粘贴

2125

列属性

2331

打开

10

插入

 

边框设置

2335

打开填报

11

插入行

2101

单元格校验

2321

快速打开

15

插入列

2102

编辑风格

2323

关闭

2030

追加数据行

2104

数据图层

2333

关闭全部

2035

追加数据列

2105

数据处理

2311

保存

2020

插入表格

2111

上载文件

2313

另存为

2025

追加表格

2113

数据源

605

最近文件

97

删除

 

选项

2341

最近连接

98

删除行

2107

 

 

退出

60

删除列

2108

远程菜单

 

 

删除表格

2139

登录

2801

帮助菜单

清除

 

注销

2802

关于

1005

设为初始格

2131

连接数据源

2811

技术支持

1015

清除格式

2133

上传文件

2812

清理内存

1010

清除内容

2135

打开文件

2810

 

 

清除填报属性

2137

 

 

 

 

移动

 

 

 

 

 

上移行

2141

 

 

 

 

下移行

2143

 

 

 

 

左移列

2145

 

 

 

 

右移列

2147

 

 

 

 

左移表格

2151

 

 

 

 

右移表格

2153

 

 

 

Argument 为任意意义的字符串参数,用户在自定义的类里面可以使用该参数,当然也可以不用。

Classname 增加的菜单项需要执行的类名, 且该类必须实现com.raqsoft.report.ide.configmenu.CMAction抽象类。

Text  菜单显示的中文名称

Hotkey 为菜单项指定热键,只能为某个字母,或者 ctrl+字母  两种格式。

Object  增加的菜单项显示在报表菜单还是填报菜单,有reportinputall三个取值。

report时表示只在报表菜单上增加

input时表示只在填报菜单上增加

object不填或all时表示是公用的,报表和填报都增加

 

CONFIG 系统的配置选项:

Splahfile IDE启动时的splash 画面文件。该文件为类路径上搜索的相对路径。

不指定该选项则不启动splash窗口。