当前位置: 首页 > news >正文

西门子 Teamcenter13 Eclipse RCP 开发 1.3 工具栏 单选按钮

西门子 Teamcenter13 Eclipse RCP 开发 1.3 工具栏 单选按钮

  • 1 配置文件
  • 2 插件控制
  • 3 命令框架

位置locationURI备注
菜单栏menu:org.eclipse.ui.main.menu添加到传统菜单
工具栏toolbar:org.eclipse.ui.main.toolbar添加到工具栏
style 值含义显示效果
push普通按钮(默认)普通的点击按钮,点一下执行一次
toggle切换按钮有按下/弹起两种状态,比如"开关"
radio单选按钮多个按钮互斥选择,比如 “模式切换”

1 配置文件

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin><extension point="org.eclipse.ui.menus"><menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar"><toolbar id="com.example.toolbar"><command commandId="com.xu.work.tool.bar" icon="icons/sample.png" label="单选按钮1" style="radio"><parameter name="option" value="1"/></command><command commandId="com.xu.work.tool.bar" icon="icons/sample.png" label="单选按钮2" style="radio"><parameter name="option" value="2"/></command><command commandId="com.xu.work.tool.bar" icon="icons/sample.png" label="单选按钮3" style="radio"><parameter name="option" value="3"/></command></toolbar></menuContribution></extension><extension point="org.eclipse.ui.commands"><command id="com.xu.work.tool.bar" name="工具栏:单选按钮" defaultHandler="com.xu.work.tool3.handlers.SampleHandler"><commandParameter id="option" name="选项" optional="false"/></command></extension></plugin>

2 插件控制

package com.xu.work.tool2;import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;/*** 插件激活器类,控制插件的生命周期*/
public class Activator extends AbstractUIPlugin {/*** 插件ID常量,通常与MANIFEST.MF中的Bundle-SymbolicName一致*/public static final String PLUGIN_ID = "com.xu.work.tool2"; //$NON-NLS-1$/*** 单例实例引用*/private static Activator plugin;/*** 构造函数*/public Activator() {}/*** 插件启动时调用*/@Overridepublic void start(BundleContext context) throws Exception {super.start(context);plugin = this;// 在这里注册监听器、服务、加载配置等}/*** 插件停止时调用*/@Overridepublic void stop(BundleContext context) throws Exception {plugin = null;super.stop(context);}/*** 返回此插件的共享实例** @return 共享实例*/public static Activator getDefault() {return plugin;}}

3 命令框架

package com.xu.work.tool3.handlers;import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.commands.State;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.commands.ICommandService;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.handlers.RadioState;public class SampleHandler extends AbstractHandler {// 按钮idprivate static final String RADIO_COMMEND_ID = "com.xu.work.tool.bar";@Overridepublic Object execute(ExecutionEvent event) throws ExecutionException {// 获取选项参数String option = event.getParameter("option");// 获取命令服务和RadioStateICommandService service = PlatformUI.getWorkbench().getService(ICommandService.class);State state = service.getCommand(RADIO_COMMEND_ID).getState(RadioState.STATE_ID);// 获取当前状态值String currentValue = state != null ? (String)state.getValue() : null;// 只在真正选择新选项时显示对话框(避免取消选择时的对话框)// 如果当前值与新选项不同,说明这是一个真正的选择操作if (option != null && !option.equals(currentValue)) {// 显示消息对话框Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();MessageDialog.openInformation(shell, "单选按钮", "您点击了单选按钮 " + option);}// 更新按钮状态if (state != null) {state.setValue(option);}return null;}
}

在这里插入图片描述

相关文章:

西门子 Teamcenter13 Eclipse RCP 开发 1.3 工具栏 单选按钮

西门子 Teamcenter13 Eclipse RCP 开发 1.3 工具栏 单选按钮 1 配置文件2 插件控制3 命令框架 位置locationURI备注菜单栏menu:org.eclipse.ui.main.menu添加到传统菜单工具栏toolbar:org.eclipse.ui.main.toolbar添加到工具栏 style 值含义显示效果push普通按钮&#xff08;默…...

asp.net core api RESTful 风格控制器

在 ASP.NET Core API 中&#xff0c;遵循 RESTful 风格的控制器一般具备以下几个关键特征&#xff1a; ✅ RESTful 风格控制器的命名规范 控制器命名 使用 复数名词&#xff0c;表示资源集合&#xff0c;如 ProductsController、UsersController。 路由风格 路由使用 [Rout…...

智能合约调用全景实战:前端 JS 与后端 Java 两种方式全面解析

目录 前言前端调用以太坊合约新建一个智能合约将合约部署到Hardhat本地链前端(HTML + JavaScript)调用合约后端调用以太坊合约生成java类调用智能合约(maven 插件方式)不生成Java类,通过合约ABI直接调用智能合约前后端调用方式对比开发建议结语前言 随着 Web3 的兴起,越…...

Javascript:WebAPI

获取网页元素 queryselector queryselector是 JavaScript 中用于选择 DOM 元素的重要方法&#xff0c;它允许使用 CSS 选择器语法来查找页面中的元素。 一般queryselector获取的元素都是html中第一个选择器的元素 支持选择器类型&#xff1a;类选择器(.class) &#xff0c…...

(4)python爬虫--JsonPath

文章目录 前言一、安装JsonPath库第一步&#xff1a; 打开pycharm第二步: 安装jsonpath 二、 jsonpath的基本使用2.1 基础语法2.2 语法测试2.2.1 准备json文件(store.json)2.2.2 jsonpath解析json语法 三、实战练习需求:爬取淘票票上所有的城市3.1 下载城市json文件3.2 解析城市…...

CentOS 上配置 Docker 使用 NVIDIA GPU

CentOS 上配置 Docker 使用 NVIDIA GPU&#xff08;前提是已安装 NVIDIA 驱动&#xff09;&#xff1a; 在 CentOS 上配置 Docker 使用 NVIDIA GPU 本文介绍如何在已安装 NVIDIA 驱动的 CentOS 系统中&#xff0c;配置 Docker 使用 GPU 资源进行加速。 ✅ 前提条件 已安装 Cent…...

JAVA Spring MVC+Mybatis Spring MVC的工作流程*

目录 注解总结 将传送到客户端的数据转成json数据 **描述一下Spring MVC的工作流程** 1。属性赋值 BeanUtils.copyProperties(addUserDTO,user); 添加依赖&#xff1a; spring web、mybatis framework、mysql driver Controller和ResponseBody优化 直接改成RestControl…...

【人工智能】DeepSeek解码:揭秘AI大模型训练的创新密码

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 DeepSeek作为开源AI领域的先锋,以其高效、低成本的大模型训练技术震撼业界。本文深入剖析DeepSeek-V3和R1模型的训练密码,聚焦其创新的混…...

Java 方法向 Redis 里操作字符串有什么需要注意的?​

在 Java 开发中&#xff0c;Redis 作为高性能的键值存储数据库&#xff0c;常被用于缓存数据、处理高并发场景等。当我们使用 Java 方法向 Redis 中操作字符串类型数据时&#xff0c;有许多关键要点需要格外注意。这些要点不仅关系到代码的正确性和性能&#xff0c;还影响着整个…...

C#与KepOPC通讯

使用C#连接KepOPC服务器进行数据读写的基础示例 using System; using Opc; using System.Threading;namespace KepOPCDemo {class Program{static void Main(string[] args){// OPC服务器连接参数string serverName "Kepware.KEPServerEX.V6"; // 根据实际安装的服…...

【软件测试】性能测试 —— 工具篇 LoadRunner 介绍与使用

&#x1f970;&#x1f970;&#x1f970;来都来了&#xff0c;不妨点个关注叭&#xff01; &#x1f449;博客主页&#xff1a;欢迎各位大佬!&#x1f448; 文章目录 1. LoadRunner 是什么&#xff1f;2. LoadRunner 安装前提&#xff1a;浏览器的选择 —— IE / 360极速浏览器…...

Linux面试题集合(6)

创建多级目录或者同级目录 mkdir -p 文件名/文件名/文件名 mkdir -p 文件名 文件名 文件名 Linux创建一个文件 touch 文件名 DOS命令创建文件 echo 内容>文件名&#xff08;创建一个有内容的文件&#xff09; echo >文件名&#xff08;创建一个没有内容的文件&#xff09…...

技术测评:小型单文件加密工具的功能解析

最近在测试一款名为OEMexe的文件加密工具&#xff0c;发现它确实有一些独特之处值得分享。这款软件体积非常小巧&#xff0c;仅209KB&#xff0c;属于绿色单文件版程序&#xff0c;无需安装即可直接运行。 主要特点 多格式支持&#xff1a;能够处理多种常见文件格式&#xff0…...

06、基础入门-SpringBoot-依赖管理特性

06、基础入门-SpringBoot-依赖管理特性 Spring Boot 的依赖管理特性是其核心优势之一&#xff0c;极大地简化了项目的构建和维护过程。以下是其主要特点&#xff1a; ## 1. 父项目依赖管理 ### 1.1 继承 spring-boot-starter-parent 在 pom.xml 文件中&#xff0c;通过继承 spr…...

基于 Python 的界面程序复现:标准干涉槽型设计计算及仿真

基于 Python 的界面程序复现&#xff1a;标准干涉槽型设计计算及仿真 在工业设计与制造领域&#xff0c;刀具的设计与优化是提高生产效率和产品质量的关键环节之一。本文将介绍如何使用 Python 复现一个用于标准干涉槽型设计计算及仿真的界面程序&#xff0c;旨在帮助工程师和…...

我的创作纪念日——《惊变256天》

我的创作纪念日——《惊变256天》 机缘收获日常成就憧憬 最近&#xff0c;博主收到了 CSDN 发来的系统消息&#xff0c;这才惊觉&#xff0c;自上次第128天创作纪念日之后&#xff0c;竟又悄然走过了 128 天。站在 256 天这个颇具意义的里程碑前回望&#xff0c;博主在2023 年 …...

Linux 的 UDP 网络编程 -- 回显服务器,翻译服务器

目录 1. 回显服务器 -- echo server 1.1 相关函数介绍 1.1.1 socket() 1.1.2 bind() 1.1.3 recvfrom() 1.1.4 sendto() 1.1.5 inet_ntoa() 1.1.6 inet_addr() 1.2 Udp 服务端的封装 -- UdpServer.hpp 1.3 服务端代码 -- UdpServer.cc 1.4 客户端代码 -- UdpClient.…...

回溯法理论基础 LeetCode 77. 组合 LeetCode 216.组合总和III LeetCode 17.电话号码的字母组合

目录 回溯法理论基础 回溯法 回溯法的效率 用回溯法解决的问题 如何理解回溯法 回溯法模板 LeetCode 77. 组合 回溯算法的剪枝操作 LeetCode 216.组合总和III LeetCode 17.电话号码的字母组合 回溯法理论基础 回溯法 回溯法也可以叫做回溯搜索法&#xff0c;它是一…...

LeetCode --- 156双周赛

题目列表 3541. 找到频率最高的元音和辅音 3542. 将所有元素变为 0 的最少操作次数 3543. K 条边路径的最大边权和 3544. 子树反转和 一、找到频率最高的元音和辅音 分别统计元音和辅音的出现次数最大值&#xff0c;然后相加即可&#xff0c;代码如下 // C class Solution {…...

第五项修炼:打造学习型组织

最近一直接到的需求&#xff0c;都是公司董事长或总经理都特别推崇《第五项修炼&#xff1a;打造学习型组织》的内容&#xff0c;让各个层级的管理者都持续学习、应用、实践。我不禁开始反思&#xff0c;这背后到底隐藏着什么原因&#xff1f; 随着商业环境的变化和复杂性的增加…...

Bellman - Ford 算法与 SPFA 算法求解最短路径问题 ——从零开始的图论讲解(4)

目录 前言 为什么Dijkstra算法面对负权值图会有误差??? 举例说明 什么是Bellman -Ford算法? BF算法的核心思想 什么是松弛 为什么最多松弛N-1次? 代码实现 举例 初始状态&#xff08;dist[] 数组&#xff09; 第 1 轮松弛&#xff08;遍历所有边&#xff09; …...

Python训练营打卡 Day27

函数专题2&#xff1a;装饰器 知识点回顾&#xff1a; 装饰器的思想&#xff1a;进一步复用函数的装饰器写法注意内部函数的返回值 昨天我们接触到了函数大部分的功能&#xff0c;然后在你日常ctrl点进某个复杂的项目&#xff0c;发现函数上方有一个xxx,它就是装饰器 装饰器本质…...

初识计算机网络。计算机网络基本概念,分类,性能指标

初识计算机网络。计算机网络基本概念&#xff0c;分类&#xff0c;性能指标 本系列博客源自作者在大二期末复习计算机网络时所记录笔记&#xff0c;看的视频资料是B站湖科大教书匠的计算机网络微课堂&#xff0c;祝愿大家期末都能考一个好成绩&#xff01; 视频链接地址 一、…...

5月16日day27打卡

函数专题2&#xff1a;装饰器 知识点回顾&#xff1a; 装饰器的思想&#xff1a;进一步复用函数的装饰器写法注意内部函数的返回值 作业&#xff1a; 编写一个装饰器 logger&#xff0c;在函数执行前后打印日志信息&#xff08;如函数名、参数、返回值&#xff09; logger def …...

【生成式AI文本生成实战】DeepSeek系列应用深度解析

目录 &#x1f31f; 前言&#x1f3d7;️ 技术背景与价值&#x1fa79; 当前技术痛点&#x1f6e0;️ 解决方案概述&#x1f465; 目标读者说明 &#x1f9e0; 一、技术原理剖析&#x1f4ca; 核心概念图解&#x1f4a1; 核心作用讲解&#x1f527; 关键技术模块说明⚖️ 技术选…...

【Pandas】pandas DataFrame kurt

Pandas2.2 DataFrame Computations descriptive stats 方法描述DataFrame.abs()用于返回 DataFrame 中每个元素的绝对值DataFrame.all([axis, bool_only, skipna])用于判断 DataFrame 中是否所有元素在指定轴上都为 TrueDataFrame.any(*[, axis, bool_only, skipna])用于判断…...

2025年渗透测试面试题总结-安恒[实习]安全服务工程师(题目+回答)

网络安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 安恒[实习]安全服务工程师 1. SQLMap爆出当前库名的参数是什么&#xff1f; 2. Nmap探测系统的参数&am…...

在 Visual Studio Code (VSCode) 中配置 MCP(Model Context Protocol)

前提条件 安装 VSCode&#xff1a;确保已安装最新版本的 VSCode&#xff08;建议使用 1.99 或以上版本&#xff0c;支持 MCP&#xff09;。安装 GitHub Copilot 扩展&#xff1a;MCP 通常与 GitHub Copilot 的代理模式&#xff08;Agent Mode&#xff09;结合使用&#xff0c;…...

顶层架构 - 消息集群推送方案

一、推送基础概念简述 在即时通讯&#xff08;IM&#xff09;系统中&#xff0c;最基础的一件事就是“如何把消息推送给用户”。为了实现这个过程&#xff0c;我们要先了解两种常见的网络通信方式&#xff1a;HTTP 和 WebSocket。 1. HTTP 是什么&#xff1f; HTTP 就像一次性…...

C++性能测试工具——Vtune等的介绍

一、介绍 我们在前面的相关文章中对C性能的测试和分析工具&#xff08;见“C性能测试工具gprof和gperftools基础”等&#xff09;有一个初步的了解和应用&#xff0c;其实类似的相关工具还有不少。为了进一步的让开发者们掌握更多的相关性能测试分析相关的方法&#xff0c;对另…...

车道线检测----CLRKDNet

今天的最后一篇 车道线检测系列结束 CLRKDNet&#xff1a;通过知识蒸馏加速车道检测 摘要&#xff1a;道路车道是智能车辆视觉感知系统的重要组成部分&#xff0c;在安全导航中发挥着关键作用。在车道检测任务中&#xff0c;平衡精度与实时性能至关重要&#xff0c;但现有方法…...

【AI模型部署】

解决python引入huggingface_hub模块下载超时问题 背景问题解决 背景 AMD Ryzen™ AI处理器通过独特的NPUGPU异构架构&#xff0c;为AI工作负载提供强大的并行计算能力。本方案展示了如何将YOLOv8目标检测、RCAN超分辨率重建和Stable Diffusion文生图三类模型分别部署到NPU和GP…...

排序01:多目标模型

用户-笔记的交互 对于每篇笔记&#xff0c;系统记录曝光次数、点击次数、点赞次数、收藏次数、转发次数。 点击率点击次数/曝光次数 点赞率点赞次数/点击次数 收藏率收藏次数/点击次数 转发率转发次数/点击次数 转发是相对较少的&#xff0c;但是非常重要&#xff0c;例如转发…...

电子电器架构 --- Zonal架构正在开创汽车电子设计新时代

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…...

如何阅读、学习 Tcc (Tiny C Compiler) 源代码?如何解析 Tcc 源代码?

阅读和解析 TCC&#xff08;Tiny C Compiler&#xff09; 的源代码需要对编译器的基本工作原理和代码结构有一定的了解。以下是分步骤的指南&#xff0c;帮助你更高效地学习和理解 TCC 的源代码&#xff1a; 1. 前置知识准备 C 语言基础&#xff1a;TCC 是用 C 语言编写的&…...

Java 泛型与类型擦除:为什么解析对象时能保留泛型信息?

引言&#xff1a;泛型的“魔术”与类型擦除的困境 在 Java 中&#xff0c;泛型为开发者提供了类型安全的集合操作&#xff0c;但其背后的**类型擦除&#xff08;Type Erasure&#xff09;**机制却常常让人困惑。你是否遇到过这样的场景&#xff1f; List<String> list …...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(22):复习

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(22):复习 1、前言(1)情况说明(2)工程师的信仰2、知识点(1)复习(2)復習3、单词(1)日语(2)日语片假名单词4、对话练习5、单词辨析记录6、总结1、前言 (1)情况说明 自己在今年,在日本留学中,目前在语言学校,…...

Java基础学习

Java 基础大纲 1. Java 概述 Java 语言特点&#xff08;跨平台、面向对象、自动内存管理&#xff09; JVM、JRE、JDK 的作用与区别 开发环境搭建&#xff08;安装 JDK、配置环境变量、IDE 使用&#xff09; 2. 基础语法&#xff08;已经学习&#xff09; 变量与数据类型&a…...

MGX:多智能体管理开发流程

MGX的多智能体团队如何通过专家混合系统采用全新方法,彻底改变开发流程,与当前的单一智能体工具截然不同。 Lovable和Cursor在自动化我们的特定开发流程方面取得了巨大飞跃,但问题是它们仅解决软件开发的单一领域。 这就是MGX(MetaGPT X)的用武之地,它是一种正在重新定…...

2025第三届盘古石杯初赛(计算机部分)

前言 比赛的时候时间不对&#xff0c;打一会干一会&#xff0c;导致比赛时候思路都跟不上&#xff0c;赛后简单复现一下&#xff0c;希望大家批批一下 计算机取证 1、分析贾韦码计算机检材&#xff0c;计算机系统Build版本为&#xff1f;【标准格式&#xff1a;19000】 183…...

XML介绍及常用c及c++库

一.xml概述 1.什么是XML&#xff1f; XML&#xff08;eXtensible Markup Language&#xff09;是一种标记语言&#xff0c;1998 年 2 月&#xff1a;XML 1.0 发布&#xff0c;用于存储和传输结构化数据。与HTML专注于数据显示不同&#xff0c;XML专注于数据本身及其结构。 它…...

动态规划-63.不同路径II-力扣(LeetCode)

一、题目解析 与62.不同路径不同的一点是现在网格中有了障碍物&#xff0c;其他的并没有什么不同 二、算法解析 1.状态表示 dp[i][j]表示&#xff1a;到[i,j]位置时&#xff0c;不同的路径数 2.状态转移方程 由于多了障碍物&#xff0c;所以我们要判断是否遇到障碍物 3.初…...

海盗王3.0的数据库3合1并库处理方案

原版的海盗王数据库有3个accountserver&#xff0c;gamedb&#xff0c;tradedb&#xff0c;对应到是账号数据库&#xff0c;游戏数据库&#xff0c;商城数据库。 一直都有个想法&#xff0c;如何把这3个库合并到一起&#xff0c;这样可以实现一些功能。 涉及到sqlserver的数据库…...

Vue百日学习计划Day16-18天详细计划-Gemini版

重要提示&#xff1a; 番茄时钟&#xff1a; 每个番茄钟为25分钟学习&#xff0c;之后休息5分钟。每完成4个番茄钟&#xff0c;进行一次15-30分钟的长休息。动手实践&#xff1a; DOM 操作和事件处理的理解高度依赖于实际编码。请务必在浏览器中创建 HTML 页面&#xff0c;并配…...

【C++】15.并发支持库

本篇内容参考自cplusplus 1. thread 1.1 thread thread库底层是对各个系统的线程库&#xff08;Linux下的pthread库和Windows下Thread库&#xff09;进行封装。C11thread库的第一个特点是可以跨平台&#xff0c;第二个特点是Linux和Windows下提供的线程库都是面向过程的&…...

Linux系统编程——exec族函数

我们来完整、系统、通俗地讲解 Linux 系统编程中非常重要的一类函数&#xff1a;exec 族函数&#xff08;也叫 exec family&#xff09;。 一、什么是 exec&#xff1f; exec 系列函数的作用是&#xff1a; 用一个新的程序&#xff0c;替换当前进程的内容。 也就是说&#xf…...

职教实训室中的写实数字人:技术与应用方案

在当今快速发展的数字化时代&#xff0c;职业教育的重要性日益凸显。面对传统教学模式中个性化不足、互动性差等挑战&#xff0c;深声科技基于2D写实交互数字人的解决方案为职教实训室带来了全新的变革。本文将详细介绍该技术方案的核心原理、产品特色及其在职业培训中的实际应…...

Nginx模块配置与请求处理详解

Nginx 作为模块化设计的 Web 服务器,其核心功能通过不同模块协同完成。以下是各模块的详细配置案例及数据流转解析: 一、核心模块配置案例 1. Handler 模块(内容生成) 功能:直接生成响应内容(如静态文件、重定向等) # 示例1:静态文件处理(ngx_http_static_module)…...

54. 螺旋矩阵

题目链接&#xff1a; a54. 螺旋矩阵 题目描述&#xff1a; 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 题目分析&#xff1a; 改题目需要判断是否溢出边界&#xff0c;与59不同&#xff0c;59可以判断是否为0…...

virtualbox虚拟机中的ubuntu 20.04.6安装新的linux内核5.4.293 | 并增加一个系统调用 | 证书问题如何解决

参考文章&#xff1a;linux添加系统调用【简单易懂】【含32位系统】【含64位系统】_64位 32位 系统调用-CSDN博客 安装新内核 1. 在火狐下载你需要的版本的linux内核压缩包 这里我因为在windows上面下载过&#xff0c;配置过共享文件夹&#xff0c;所以直接复制粘贴通过共享文…...