smartrcp菜单栏的实现

<?xml version="1.0" encoding="utf-8"?>
<gui:RCPModule xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:gui="cn.smartinvoke.gui.*"
 xmlns:rcp="cn.smartinvoke.rcp.*"
	layout="vertical" creationComplete="init()">
	<mx:Script>
		<![CDATA[
			import cn.smartinvoke.smartrcp.util.CWorkbenchActions; 
			import cn.smartinvoke.smartrcp.gui.control.CActionManager;
			import cn.smartinvoke.smartrcp.gui.control.CAppMenuBarManager;
			import cn.smartinvoke.smartrcp.gui.module.CActionEvent;
			import cn.smartinvoke.rcp.CAction;
			import org.eclipse.swt.CEventType;
			import org.eclipse.swt.widgets.Display;
			function init():void{
			   var actionManager:CActionManager=CActionManager.Instance;
			   for(var i:int=0;i<this.cActions1.length;i++){
			     actionManager.addAction(this.cActions1[i]);
			   }
			   
			   actionManager.addListener('a1',function (evt:CActionEvent):void{
			   	 this.infoLabel.text=evt.actionId+"   "+evt.path;
			   },this);
			   
			}
			//设置菜单条
			function onSetMenuBarClick():void{
				var menuFile:CMenuRelation=new CMenuRelation("文件");
				menuFile.actions=["a5","-","a1",CWorkbenchActions.ID_QUIT];
				var menuEdit:CMenuRelation=new CMenuRelation("编辑");
				menuEdit.actions=["a2"];
				var menuSearch:CMenuRelation=new CMenuRelation("查找");
				menuSearch.actions=["a3"];
				
			CAppMenuBarManager.Instance.initMenuBar([menuFile,menuEdit,menuSearch]);
				
			}
			function onAddMenuClick():void{
			   //添加菜单\
			   
			   CAppMenuBarManager.Instance.setMenu(menuRelation);
			}
			function onDelMenuClick():void{
			  //删除菜单
			  CAppMenuBarManager.Instance.removeMenu(menuRelation.label);
			}
			function onRemoveAll():void{
			  //清除所有菜单	
			  CAppMenuBarManager.Instance.removeAll();
			}
			
			function addMenuItem():void{
				var action:CAction=new 
                             CAction("file_save","保存文件","/icons/help.gif","保存当前文件");
				//action.actionId
				CActionManager.Instance.addAction(action);
				
				CAppMenuBarManager.Instance.addMenuItem(action.actionId,"文件");
			}
			function removeMenuItem():void{
				CAppMenuBarManager.Instance.removeMenuItem("file_save","文件");
			}
			 var isEnable:Boolean=false;
			function changeState():void{
				CActionManager.Instance.updateEnable("file_save",isEnable=!isEnable);
			}
		]]>
	</mx:Script>
	
	<rcp:CMenuRelation  id="menuRelation" label="添加的菜单">
   		 <rcp:actions>
   		 	<mx:String>a1</mx:String>
   		 	<mx:String>a2</mx:String>
   		 	<rcp:CMenuRelation label="子菜单">
   		 	  <rcp:actions>
   		 		<mx:String>a3</mx:String>
   		 		<mx:String>a4</mx:String>
   		 		<rcp:CMenuRelation label="子菜单1">
   		 		  <rcp:actions>
   		 			<mx:String>a5</mx:String>
   		 		  </rcp:actions>
   		 		</rcp:CMenuRelation>
   		 	  </rcp:actions>
   		 	</rcp:CMenuRelation>
   		 </rcp:actions>
   	</rcp:CMenuRelation>
	<mx:Array id="cActions1">
    	<rcp:CAction  actionId="a1" enable="false" type="{CAction.AS_RADIO_BUTTON}"
 text="测试2" toolTip="toolTipTest1..."/>
   		<rcp:CAction  actionId="a2" type="{CAction.AS_RADIO_BUTTON}" text="测试3"
 toolTip="toolTipTest2..."/>
   		<rcp:CAction  actionId="a3" type="{CAction.AS_RADIO_BUTTON}" text="测试4"
 toolTip="toolTipTest3..."/>
   		<rcp:CAction  actionId="a4" type="{CAction.AS_RADIO_BUTTON}" text="a4"
 toolTip="toolTipTest3..."/>
   		<rcp:CAction  actionId="a5" type="{CAction.AS_RADIO_BUTTON}" text="a5" 
toolTip="toolTipTest3..."/>
    </mx:Array>
    
    <mx:Panel title="本模块实现了应用程序菜单的修改功能,点击下面的菜单就会发现菜单的变化" 
cornerRadius="0"
            styleName="opaquePanel" width="100%" height="100%">
            <mx:Label id="infoLabel"/>
        <mx:ControlBar horizontalAlign="right">
           <mx:Button label="设置菜单条" click="onSetMenuBarClick()"/>
           <mx:Button label="添加Menu" click="onAddMenuClick()"/>
    	   <mx:Button label="删除Menu" click="onDelMenuClick()"/>
    	   
    	   <mx:Button label="添加文件保存菜单项" click="addMenuItem()"/>
    	   <mx:Button label="删除文件保存菜单项" click="removeMenuItem()"/>
    	   <mx:Button label="改变文件菜单状态" click="changeState()"/>
    	   
    	   <mx:Button label="清除所有菜单" click="onRemoveAll()"/>
    	</mx:ControlBar>
    </mx:Panel>
    
</gui:RCPModule> 
 
YOLOv8作物病害检测实战源码 这是一套基于YOLOv8n的农田病虫害目标检测系统,对叶片照片做目标检测,识别健康叶片、褐斑病、白粉病、锈病四类,并给出对应防治建议。全流程纯CPU可跑,配套交付完整Python源码、9章实战教程(md/html/pdf三种格式)、100张自造样本及YOLO标签、训练曲线与混淆矩阵截图、Tkinter界面和答辩PPT。 系统围绕五项功能展开:同一套推理逻辑覆盖图像、视频、摄像头三种来源;图形界面选文件即检测,画面叠彩色框标注病名与置信度,右侧面板同步给出症状与防治措施;检测记录自动写入CSV,统计页一键生成四类病害占比饼图;训练结束自动产出损失与精度曲线;内置防治建议文案库,检测命中即回填面板。 选型用YOLOv8n nano档,参数量约320万、权重约6.2MB,CPU单帧几十毫秒,小样本训练5到8分钟完成。数据由data_gen.py程序化绘制100张叶片图,固定随机种子,重跑分布一致,不依赖公开数据集。依赖全部锁版本,教程第7章整理了19条真实报错及排查方法,第8章给出换模型档、换PlantVillage数据集的迁移路径。 适合做计算机视觉方向课程设计或毕业设计的学生,也适合智慧农业方向想了解检测模型如何落进业务面板的学习者。不需要GPU,不需要系统学过目标检测,教程第3章会按需补齐原理。 使用时先pip install -r requirements.txt装好依赖,download_data.py下载预训练权重,data_gen.py生成样本后train.py训练,完成后用main.py infer批量检测或main.py gui启动界面。 立即下载

相关推荐

数据挖掘实战:决策树 + 聚类 + 关联规则,零 Key 离线可跑(Python 源码)

数据挖掘实战包。用 Python 标准库实现 CART 风格决策树、K-Means 聚类与 Apriori 关联规则,在虚构「星河便利店」会员表和购物篮上跑通分类、分群与购物篮分析,并给出准确率、轮廓系数、支持度/置信度/提升度。零第三方依赖、零 API Key 即可离线跑通。含 4 个样例、离线冒烟、中文 README(含「使用方法」)。均为作者原创可运行源码。MIT。作者 blog.youkuaiyun.com/mtl1994

基于Teamcenter进行菜单栏开发

在对Teamcenter进行二次开发的时候经常会对菜单进行扩展,Eclipse 提供了两种扩展点供用户添加菜单项到相应的位置。这两种扩展点为 org.eclipse.ui.commands(简称为 Commands 方式)和 org.eclipse.ui.actionSets(简称为 Actions 方式),我现在只写了用Commands方式实现的,为什么不用Actions可以参考这篇文章Ecli...

千里之行,始于足下! 3125

科技中介服务机构在技术供需对接中如何实现服务流程的自动化与标准化?.docx

科技中介服务机构在技术供需对接中如何实现服务流程的自动化与标准化?

eclipse RCP开发一个简单的MYSQL客户端工具介绍

开发前准备: 1、安装mysql 5.1.15 2、安装jdk1.6并配置JDK环境 3、安装eclipse 3.5.2 http://www.eclipse.org/downloads/packages/eclipse-rcpplug-developers/galileosr2 下载RCP版本的(包含了swt和rcp) 4、安装windowbuilder,先安装eclip

Slive的专栏 5001

产业园区如何高效对接企业技术需求与高校科研成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

国央企创新负责人如何快速掌握本地科技资源分布与匹配情况?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

smartrcp开源平台使用Java与Flex构建桌面程序 五(程序菜单与工具条)

1:什么是Action     在一标准程序中,菜单栏,工具条,右键菜单,都是必不可少的。一般来说   工具栏提供的功能按钮都能在菜单栏中找到对应的菜单项与之对应。   比如工具栏上有一退出按钮,在菜单栏上也有一退出菜单与之对应。他们的   功能一样只是位置不同罢了。所以我们在这里抽象出一个表示退出动作的   Action,该Action包含描述该Action的属性如:text表示该...

smartinvoke的专栏 153

国央企创新负责人如何实现科技成果的精准识别与高效筛选?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

产业园区运营负责人如何利用平台实现企业创新需求的精准分析与服务推送?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

高校技术转移办公室人员如何系统化管理科技成果信息?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

科技中介服务机构如何构建标准化、模块化的智能服务工具?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

高校技术转移办公室人员在推动成果转化落地过程中,如何实现科技成果的高效推介与价值评估?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

fab-pm-optimizer-python-entry-py39-20261021-v1-1-0

fab-pm-optimizer-python-entry-py39-20261021-v1-1-0

科技中介服务机构如何通过数智工具提升技术需求挖掘的精准度?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

PSIM-三相维也纳VIENNA整流器电压电流双闭环+中点电位平衡SVPWM控制仿真

内容概要:本文档详细介绍了一种基于PSIM软件实现的三相维也纳(VIENNA)整流器仿真模型,重点实现了电压电流双闭环控制与中点电位平衡的SVPWM调制策略。该仿真系统通过精确的控制算法有效提升了整流器的功率因数,降低了输入电流谐波含量,并解决了三电平拓扑中常见的直流侧中点电位偏移问题,具有较高的工程实用价值,适用于高效率、高功率密度的电力电子系统设计与科研验证。文档还整合了丰富的配套资源,涵盖多种电力电子变换器拓扑结构、先进控制算法及典型应用场景,形成了系统化的技术资料体系,有助于深入理解现代整流技术的核心原理与发展动态。; 适合人群:面向从事电力电子、电气工程、新能源变换系统等领域的科研人员、高校研究生以及具备一定仿真基础的工程技术人员。; 使用场景及目标:①深入研究三相VIENNA整流器的工作机理与控制特性;②掌握电压外环、电流内环双闭环控制结构的设计方法;③理解并实现SVPWM调制技术与中点电位平衡控制策略的协同作用;④开展相关控制算法的仿真验证、性能优化与实验对比,为高性能整流装置的研发提供理论支撑和技术原型。; 阅读建议:建议结合文中列出的其他仿真案例(如PWM整流器、LLC谐振变换器、DAB变换器等)进行横向对比学习,充分利用所提供的PSIM、MATLAB/Simulink等多平台仿真资源,重点关注控制逻辑与主电路的耦合关系,通过参数调试与波形分析深化对系统动态响应和稳态性能的理解,强化“理论—建模—仿真—优化”的闭环研究能力。

产业园区运营负责人如何利用数智工具提升园区企业的技术对接效率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

政府科技管理者如何在政策支持中更精准地识别和支持高价值科技项目?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

ICD10 openGauss版

ICD10 openGauss版

上一篇: smartrcp入门视频系列五(flex调用IE浏览器)
下一篇: smartrcp工具栏的实现
smartinvoke
博客等级 码龄17年 4粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值