代码拉取完成,页面将自动刷新
同步操作将从 qw_1215/Fyne 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
package fyne
import (
"sync"
)
// ShortcutHandler is a default implementation of the shortcut handler
// for the canvasObject
type ShortcutHandler struct {
entry sync.Map // map[string]func(Shortcut)
}
// TypedShortcut handle the registered shortcut
func (sh *ShortcutHandler) TypedShortcut(shortcut Shortcut) {
val, ok := sh.entry.Load(shortcut.ShortcutName())
if !ok {
return
}
f := val.(func(Shortcut))
f(shortcut)
}
// AddShortcut register a handler to be executed when the shortcut action is triggered
func (sh *ShortcutHandler) AddShortcut(shortcut Shortcut, handler func(shortcut Shortcut)) {
sh.entry.Store(shortcut.ShortcutName(), handler)
}
// RemoveShortcut removes a registered shortcut
func (sh *ShortcutHandler) RemoveShortcut(shortcut Shortcut) {
sh.entry.Delete(shortcut.ShortcutName())
}
// Shortcut is the interface used to describe a shortcut action
type Shortcut interface {
ShortcutName() string
}
// KeyboardShortcut describes a shortcut meant to be triggered by a keyboard action.
type KeyboardShortcut interface {
Shortcut
Key() KeyName
Mod() KeyModifier
}
// ShortcutPaste describes a shortcut paste action.
type ShortcutPaste struct {
Clipboard Clipboard
}
var _ KeyboardShortcut = (*ShortcutPaste)(nil)
// Key returns the KeyName for this shortcut.
//
// Implements: KeyboardShortcut
func (se *ShortcutPaste) Key() KeyName {
return KeyV
}
// Mod returns the KeyModifier for this shortcut.
//
// Implements: KeyboardShortcut
func (se *ShortcutPaste) Mod() KeyModifier {
return KeyModifierShortcutDefault
}
// ShortcutName returns the shortcut name
func (se *ShortcutPaste) ShortcutName() string {
return "Paste"
}
// ShortcutCopy describes a shortcut copy action.
type ShortcutCopy struct {
Clipboard Clipboard
}
var _ KeyboardShortcut = (*ShortcutCopy)(nil)
// Key returns the KeyName for this shortcut.
//
// Implements: KeyboardShortcut
func (se *ShortcutCopy) Key() KeyName {
return KeyC
}
// Mod returns the KeyModifier for this shortcut.
//
// Implements: KeyboardShortcut
func (se *ShortcutCopy) Mod() KeyModifier {
return KeyModifierShortcutDefault
}
// ShortcutName returns the shortcut name
func (se *ShortcutCopy) ShortcutName() string {
return "Copy"
}
// ShortcutCut describes a shortcut cut action.
type ShortcutCut struct {
Clipboard Clipboard
}
var _ KeyboardShortcut = (*ShortcutCut)(nil)
// Key returns the KeyName for this shortcut.
//
// Implements: KeyboardShortcut
func (se *ShortcutCut) Key() KeyName {
return KeyX
}
// Mod returns the KeyModifier for this shortcut.
//
// Implements: KeyboardShortcut
func (se *ShortcutCut) Mod() KeyModifier {
return KeyModifierShortcutDefault
}
// ShortcutName returns the shortcut name
func (se *ShortcutCut) ShortcutName() string {
return "Cut"
}
// ShortcutSelectAll describes a shortcut selectAll action.
type ShortcutSelectAll struct{}
var _ KeyboardShortcut = (*ShortcutSelectAll)(nil)
// Key returns the KeyName for this shortcut.
//
// Implements: KeyboardShortcut
func (se *ShortcutSelectAll) Key() KeyName {
return KeyA
}
// Mod returns the KeyModifier for this shortcut.
//
// Implements: KeyboardShortcut
func (se *ShortcutSelectAll) Mod() KeyModifier {
return KeyModifierShortcutDefault
}
// ShortcutName returns the shortcut name
func (se *ShortcutSelectAll) ShortcutName() string {
return "SelectAll"
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。