Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
energye
energy
提交
2d285d85
energy
项目概览
energye
/
energy
通知
13
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
energy
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
2d285d85
编写于
1月 24, 2023
作者:
yanghye
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
v2.3.56 add new sys tray
上级
71e0865b
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
109 addition
and
22 deletion
+109
-22
cef/cef-component.go
cef/cef-component.go
+7
-0
cef/cef-tray-cef-commponent_windows.go
cef/cef-tray-cef-commponent_windows.go
+4
-4
cef/cef-tray-commponent.go
cef/cef-tray-commponent.go
+6
-8
cef/cef-tray-lcl-commponent.go
cef/cef-tray-lcl-commponent.go
+4
-4
cef/cef-tray-sys-commponent.go
cef/cef-tray-sys-commponent.go
+75
-0
cef/cef-tray-views-frame-commponent_windows.go
cef/cef-tray-views-frame-commponent_windows.go
+4
-4
example/dev-test/combination-sundry-browser/src/browser-process.go
...ev-test/combination-sundry-browser/src/browser-process.go
+6
-0
example/dev-test/sys-tray/sys-tray.go
example/dev-test/sys-tray/sys-tray.go
+3
-2
未找到文件。
cef/cef-component.go
浏览文件 @
2d285d85
...
...
@@ -15,3 +15,10 @@ func (m *LCLBrowserWindow) NewTray() ITray {
}
return
m
.
tray
}
func
(
m
*
LCLBrowserWindow
)
NewSysTray
()
ITray
{
if
m
.
tray
==
nil
{
m
.
tray
=
newSysTray
()
}
return
m
.
tray
}
cef/cef-tray-cef-commponent_windows.go
浏览文件 @
2d285d85
...
...
@@ -41,6 +41,10 @@ func (m *CEFTray) OnFormCreate(sender lcl.IObject) {
m
.
SetShowInTaskBar
(
types
.
StNever
)
}
func
(
m
*
CEFTray
)
AsSysTray
()
*
SysTray
{
return
nil
}
func
(
m
*
CEFTray
)
AsViewsFrameTray
()
*
ViewsFrameTray
{
return
nil
}
...
...
@@ -53,10 +57,6 @@ func (m *CEFTray) AsLCLTray() *LCLTray {
return
nil
}
func
(
m
*
CEFTray
)
Tray
()
ITray
{
return
m
}
func
(
m
*
CEFTray
)
Show
()
{
if
BrowserWindow
.
mainBrowserWindow
.
Chromium
()
==
nil
||
!
BrowserWindow
.
mainBrowserWindow
.
Chromium
()
.
Initialized
()
{
return
...
...
cef/cef-tray-commponent.go
浏览文件 @
2d285d85
...
...
@@ -27,20 +27,17 @@ type ITray interface {
Show
()
//Show 显示托盘菜单窗口 windows有效
Hide
()
//Hide 隐藏托盘菜单窗口 windows有效
close
()
//close 关闭托盘菜单窗口 windows有效
SetOnDblClick
(
fn
TrayICONClick
)
//SetOnDblClick 双击事件 linux 和 macos 可能不启作用
SetOnClick
(
fn
TrayICONClick
)
//SetOnClick 单击事件
SetOnMouseUp
(
fn
TMouseEvent
)
//SetOnMouseUp up事件 linux 和 macos 可能不启作用
SetOnMouseDown
(
fn
lcl
.
TMouseEvent
)
//SetOnMouseDown down事件 linux 和 macos 可能不启作用
SetOnMouseMove
(
fn
lcl
.
TMouseMoveEvent
)
//SetOnMouseMove move事件 linux 和 macos 可能不启作用
SetOnDblClick
(
fn
TrayICONClick
)
//SetOnDblClick 双击事件 linux 和 macos 可能不启作用
SetIconFS
(
iconResourcePath
string
)
//SetIconFS 设置托盘图标
SetIcon
(
iconResourcePath
string
)
//SetIcon 设置托盘图标
SetHint
(
value
string
)
//SetHint 设置托盘hint(鼠标移动到托盘图标显示的文字)
ShowBalloon
()
//ShowBalloon 显示托盘气泡
SetBalloon
(
title
,
content
string
,
timeout
int32
)
ITray
//SetBalloon 设置托盘气泡内容
Tray
()
ITray
//Tray 返回ITray接口
AsViewsFrameTray
()
*
ViewsFrameTray
//AsViewsFrameTray 尝试转换为 views framework 组件托盘, 如果
当前
创建的是其它类型托盘返回nil
AsCEFTray
()
*
CEFTray
//AsCEFTray 尝试转换为 LCL+CEF 组件托盘, 如果
当前
创建的是其它类型托盘返回nil
AsLCLTray
()
*
LCLTray
//AsLCLTray 尝试转换为 LCL 组件托盘, 如果
当前
创建的是其它类型托盘返回nil
AsSysTray
()
*
SysTray
//AsSysTray 尝试转换为 SysTray 组件托盘,如果创建的是其它类型托盘返回nil
AsViewsFrameTray
()
*
ViewsFrameTray
//AsViewsFrameTray 尝试转换为 views framework 组件托盘, 如果创建的是其它类型托盘返回nil
AsCEFTray
()
*
CEFTray
//AsCEFTray 尝试转换为 LCL+CEF 组件托盘, 如果创建的是其它类型托盘返回nil
AsLCLTray
()
*
LCLTray
//AsLCLTray 尝试转换为 LCL 组件托盘, 如果创建的是其它类型托盘返回nil
}
//LCLTray LCL 托盘
...
...
@@ -74,5 +71,6 @@ type CEFTray struct {
//SysTray 系统原生托盘
type
SysTray
struct
{
menu
*
SysMenu
trayStart
,
trayStop
func
()
}
cef/cef-tray-lcl-commponent.go
浏览文件 @
2d285d85
...
...
@@ -22,6 +22,10 @@ func newTray(owner lcl.IComponent) *LCLTray {
}
}
func
(
m
*
LCLTray
)
AsSysTray
()
*
SysTray
{
return
nil
}
func
(
m
*
LCLTray
)
AsViewsFrameTray
()
*
ViewsFrameTray
{
return
nil
}
...
...
@@ -34,10 +38,6 @@ func (m *LCLTray) AsLCLTray() *LCLTray {
return
m
}
func
(
m
*
LCLTray
)
Tray
()
ITray
{
return
m
}
func
(
m
*
LCLTray
)
SetVisible
(
v
bool
)
{
m
.
trayIcon
.
SetVisible
(
v
)
}
...
...
cef/cef-tray-sys-commponent.go
浏览文件 @
2d285d85
...
...
@@ -7,3 +7,78 @@
//----------------------------------------
package
cef
import
"energye/systray"
//创建系统托盘
func
newSysTray
()
*
SysTray
{
return
&
SysTray
{}
}
func
(
m
*
SysTray
)
AsSysTray
()
*
SysTray
{
return
m
}
func
(
m
*
SysTray
)
AsViewsFrameTray
()
*
ViewsFrameTray
{
return
nil
}
func
(
m
*
SysTray
)
AsCEFTray
()
*
CEFTray
{
return
nil
}
func
(
m
*
SysTray
)
AsLCLTray
()
*
LCLTray
{
return
nil
}
func
(
m
*
SysTray
)
Show
()
{
}
func
(
m
*
SysTray
)
Hide
()
{
}
func
(
m
*
SysTray
)
close
()
{
}
func
(
m
*
SysTray
)
SetOnDblClick
(
fn
TrayICONClick
)
{
}
func
(
m
*
SysTray
)
SetOnClick
(
fn
TrayICONClick
)
{
}
func
(
m
*
SysTray
)
Visible
()
bool
{
return
false
}
func
(
m
*
SysTray
)
SetVisible
(
v
bool
)
{
}
func
(
m
*
SysTray
)
SetHint
(
value
string
)
{
systray
.
SetTooltip
(
value
)
}
func
(
m
*
SysTray
)
SetTitle
(
title
string
)
{
systray
.
SetTitle
(
title
)
}
//设置托盘气泡
//title 气泡标题
//content 气泡内容
//timeout 显示时间(毫秒)
func
(
m
*
SysTray
)
SetBalloon
(
title
,
content
string
,
timeout
int32
)
ITray
{
return
nil
}
//显示托盘气泡
func
(
m
*
SysTray
)
ShowBalloon
()
{
}
//设置托盘图标
func
(
m
*
SysTray
)
SetIconFS
(
iconResourcePath
string
)
{
}
//设置托盘图标
func
(
m
*
SysTray
)
SetIcon
(
iconResourcePath
string
)
{
}
cef/cef-tray-views-frame-commponent_windows.go
浏览文件 @
2d285d85
...
...
@@ -121,6 +121,10 @@ func (m *ViewsFrameTray) registerChromiumEvent() {
})
}
func
(
m
*
ViewsFrameTray
)
AsSysTray
()
*
SysTray
{
return
nil
}
func
(
m
*
ViewsFrameTray
)
AsViewsFrameTray
()
*
ViewsFrameTray
{
return
m
}
...
...
@@ -133,10 +137,6 @@ func (m *ViewsFrameTray) AsLCLTray() *LCLTray {
return
nil
}
func
(
m
*
ViewsFrameTray
)
Tray
()
ITray
{
return
m
}
func
(
m
*
ViewsFrameTray
)
Show
()
{
m
.
trayWindow
.
Show
()
}
...
...
example/dev-test/combination-sundry-browser/src/browser-process.go
浏览文件 @
2d285d85
...
...
@@ -6,6 +6,7 @@ import (
"github.com/energye/energy/cef"
"github.com/energye/energy/common"
"github.com/energye/energy/consts"
sys_tray
"github.com/energye/energy/example/dev-test/sys-tray"
"github.com/energye/energy/ipc"
"github.com/energye/golcl/lcl"
"github.com/energye/golcl/lcl/types"
...
...
@@ -395,6 +396,9 @@ func AppBrowserInit() {
})
//添加子窗口初始化
cef
.
BrowserWindow
.
SetBrowserInitAfter
(
func
(
browserWindow
cef
.
IBrowserWindow
)
{
tray
(
browserWindow
)
sys_tray
.
TrayMain
()
return
//在这里创建 一些子窗口 子组件 等
//托盘
if
common
.
IsWindows
()
{
...
...
@@ -451,6 +455,8 @@ func tray(browserWindow cef.IBrowserWindow) {
//托盘 windows linux macos 系统托盘
newTray
:=
window
.
NewTray
()
tray
:=
newTray
.
AsLCLTray
()
tray
.
SetTitle
(
"任务管理器里显示的标题"
)
tray
.
SetHint
(
"这里是文字
\n
文字啊"
)
tray
.
SetIconFS
(
"resources/icon.ico"
)
menu1
:=
tray
.
AddMenuItem
(
"父菜单"
,
nil
)
menu1
.
Add
(
tray
.
NewMenuItem
(
"子菜单"
,
func
(
object
lcl
.
IObject
)
{
...
...
example/dev-test/sys-tray/sys-tray.go
浏览文件 @
2d285d85
...
...
@@ -46,7 +46,8 @@ func addQuitItem() {
func
onReady
()
{
fmt
.
Println
(
"systray.onReady"
)
systray
.
SetTemplateIcon
(
icon
.
Data
,
icon
.
Data
)
//systray.SetTemplateIcon(icon.Data, icon.Data)
systray
.
SetIcon
(
icon
.
Data
)
systray
.
SetTitle
(
"Energy Sys Tray"
)
systray
.
SetTooltip
(
"这里是文字
\n
Energy tooltip"
)
systray
.
SetOnClick
(
func
()
{
...
...
@@ -56,8 +57,8 @@ func onReady() {
fmt
.
Println
(
"SetOnDClick"
)
})
systray
.
SetOnRClick
(
func
(
menu
systray
.
IMenu
)
{
menu
.
ShowMenu
()
fmt
.
Println
(
"SetOnRClick"
)
menu
.
ShowMenu
()
})
systray
.
CreateMenu
()
//return
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录