提交 e3b55693 编写于 作者: yanghye's avatar yanghye

A: view's component events/procs

上级 0ffde7bd
......@@ -2587,4 +2587,9 @@ const (
TextfieldComponent_HasSelection
TextfieldComponent_SetOnTextfieldKeyEvent
TextfieldComponent_SetOnAfterUserAction
// ICefTextFieldDelegate
TextfieldDelegate_Create
TextfieldDelegate_CreateForCustom
TextfieldDelegate_SetOnKeyEvent
TextfieldDelegate_SetOnAfterUserAction
) //end
......@@ -2587,6 +2587,11 @@ func init() {
dllimports.NewEnergyImport("TextfieldComponent_HasSelection", 0),
dllimports.NewEnergyImport("TextfieldComponent_SetOnTextfieldKeyEvent", 0),
dllimports.NewEnergyImport("TextfieldComponent_SetOnAfterUserAction", 0),
// ICefTextFieldDelegate
dllimports.NewEnergyImport("TextfieldDelegate_Create", 0),
dllimports.NewEnergyImport("TextfieldDelegate_CreateForCustom", 0),
dllimports.NewEnergyImport("TextfieldDelegate_SetOnKeyEvent", 0),
dllimports.NewEnergyImport("TextfieldDelegate_SetOnAfterUserAction", 0),
} //end
imports.SetEnergyImportDefs(energyImportDefs)
}
......@@ -9,3 +9,56 @@
//----------------------------------------
package cef
import (
"github.com/energye/energy/v2/cef/internal/def"
"github.com/energye/energy/v2/common/imports"
"github.com/energye/energy/v2/consts"
"github.com/energye/golcl/lcl/api"
"unsafe"
)
// TextFieldDelegateRef -> ICefTextFieldDelegate
var TextFieldDelegateRef textFieldDelegate
type textFieldDelegate uintptr
func (*textFieldDelegate) New() *ICefTextFieldDelegate {
var result uintptr
imports.Proc(def.TextfieldDelegate_Create).Call(uintptr(unsafe.Pointer(&result)))
if result != 0 {
return &ICefTextFieldDelegate{&ICefViewDelegate{
instance: getInstance(result),
}}
}
return nil
}
func (*textFieldDelegate) NewForCustom(textFieldComponent *TCEFTextFieldComponent) *ICefTextFieldDelegate {
if !textFieldComponent.IsValid() {
return nil
}
var result uintptr
imports.Proc(def.TextfieldDelegate_CreateForCustom).Call(uintptr(unsafe.Pointer(&result)))
if result != 0 {
return &ICefTextFieldDelegate{&ICefViewDelegate{
instance: getInstance(result),
ct: consts.CtOther,
}}
}
return nil
}
func (m *ICefTextFieldDelegate) SetOnKeyEvent(fn onTextFieldKeyEvent) {
if !m.IsValid() {
return
}
imports.Proc(def.TextfieldDelegate_SetOnKeyEvent).Call(m.Instance(), api.MakeEventDataPtr(fn))
}
func (m *ICefTextFieldDelegate) SetOnAfterUserAction(fn onAfterUserAction) {
if !m.IsValid() {
return
}
imports.Proc(def.TextfieldDelegate_SetOnAfterUserAction).Call(m.Instance(), api.MakeEventDataPtr(fn))
}
......@@ -24,7 +24,7 @@ var TextFieldRef textField
type textField uintptr
func (*textField) New(delegate *ICefTextfieldDelegate) *ICefTextfield {
func (*textField) New(delegate *ICefTextFieldDelegate) *ICefTextfield {
var result uintptr
imports.Proc(def.TextfieldRef_CreateTextField).Call(delegate.Instance(), uintptr(unsafe.Pointer(&result)))
if result != 0 {
......
......@@ -578,8 +578,8 @@ type ICefPanelDelegate struct {
*ICefViewDelegate
}
// ICefTextfieldDelegate
type ICefTextfieldDelegate struct {
// ICefTextFieldDelegate
type ICefTextFieldDelegate struct {
*ICefViewDelegate
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册