vtedit

package
v0.0.0-...-ec457a0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 9, 2026 License: Apache-2.0 Imports: 18 Imported by: 0

README

### 说明

是 IEditLink 的自定义组件包

当有不满足自定义组件需求时在此包添加

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddPropertyNodeData

func AddPropertyNodeData(tree lcl.ILazVirtualStringTree, parent types.PVirtualNode, data *TEditNodeData) types.PVirtualNode

添加数据到指定节点

func DelPropertyNodeData

func DelPropertyNodeData(node types.PVirtualNode)

删除节点属性数据

Types

type IBaseEditLink interface {
	lcl.IObject
	BeginEdit() bool
	CancelEdit() bool
	EndEdit() bool
	PrepareEdit(tree lcl.ILazVirtualStringTree, node types.PVirtualNode, column int32) bool
	GetBounds() types.TRect
	ProcessMessage(msg *types.TLMessage)
	SetBounds(R types.TRect)
	Destroy(sender lcl.IObject)
}

IBaseEditLink 基础接口,需被实现

type IDesigningComponent

type IDesigningComponent interface {
	UpdateComponentPropertyToObject(nodeData *TEditNodeData)
	UpdateComponentBindEventToCode(updateNodeData *TEditNodeData)
	GetRecvMethods() []*dast.TFuncInfo
	GetClassName() string
	GetName() string
	GetMod() string
	OriginObject() any
}

设计组件接口

type TBaseEditLink struct {
	lcl.TObject

	BindData *TEditNodeData
	VTree    lcl.ILazVirtualStringTree
	Node     types.PVirtualNode
	Column   int32
	// contains filtered or unexported fields
}

TBaseEditLink 基础对象,被嵌套继承

func NewEditLink(self IBaseEditLink) *TBaseEditLink

NewEditLink 基础实现, 需实现 IBaseEditLink 接口

func (m *TBaseEditLink) AsIVTEditLink() lcl.IVTEditLink

func (*TBaseEditLink) OnBeginEdit

func (m *TBaseEditLink) OnBeginEdit() bool

func (*TBaseEditLink) OnCancelEdit

func (m *TBaseEditLink) OnCancelEdit() bool

func (*TBaseEditLink) OnDestroy

func (m *TBaseEditLink) OnDestroy(sender lcl.IObject)

func (*TBaseEditLink) OnEndEdit

func (m *TBaseEditLink) OnEndEdit() bool

func (*TBaseEditLink) OnGetBounds

func (m *TBaseEditLink) OnGetBounds() (R types.TRect)

func (*TBaseEditLink) OnPrepareEdit

func (m *TBaseEditLink) OnPrepareEdit(tree lcl.IBaseVirtualTree, node types.PVirtualNode, column int32) bool

func (*TBaseEditLink) OnProcessMessage

func (m *TBaseEditLink) OnProcessMessage(msg *types.TLMessage)

func (*TBaseEditLink) OnSetBounds

func (m *TBaseEditLink) OnSetBounds(R types.TRect)
type TCheckBoxEditLink struct {
	*TBaseEditLink
	// contains filtered or unexported fields
}
func NewCheckBoxEditLink(bindData *TEditNodeData) *TCheckBoxEditLink

func (*TCheckBoxEditLink) BeginEdit

func (m *TCheckBoxEditLink) BeginEdit() bool

func (*TCheckBoxEditLink) CancelEdit

func (m *TCheckBoxEditLink) CancelEdit() bool

func (*TCheckBoxEditLink) Create

func (m *TCheckBoxEditLink) Create()

func (*TCheckBoxEditLink) Destroy

func (m *TCheckBoxEditLink) Destroy(sender lcl.IObject)

func (*TCheckBoxEditLink) EndEdit

func (m *TCheckBoxEditLink) EndEdit() bool

func (*TCheckBoxEditLink) GetBounds

func (m *TCheckBoxEditLink) GetBounds() (R types.TRect)

func (*TCheckBoxEditLink) PrepareEdit

func (m *TCheckBoxEditLink) PrepareEdit(tree lcl.ILazVirtualStringTree, node types.PVirtualNode, column int32) bool

func (*TCheckBoxEditLink) ProcessMessage

func (m *TCheckBoxEditLink) ProcessMessage(msg *types.TLMessage)

func (*TCheckBoxEditLink) SetBounds

func (m *TCheckBoxEditLink) SetBounds(R types.TRect)
type TColorSelectEditLink struct {
	*TBaseEditLink
	// contains filtered or unexported fields
}
func NewColorSelectEditLink(bindData *TEditNodeData) *TColorSelectEditLink

func (*TColorSelectEditLink) BeginEdit

func (m *TColorSelectEditLink) BeginEdit() bool

func (*TColorSelectEditLink) CancelEdit

func (m *TColorSelectEditLink) CancelEdit() bool

func (*TColorSelectEditLink) CreateEdit

func (m *TColorSelectEditLink) CreateEdit()

func (*TColorSelectEditLink) Destroy

func (m *TColorSelectEditLink) Destroy(sender lcl.IObject)

func (*TColorSelectEditLink) EndEdit

func (m *TColorSelectEditLink) EndEdit() bool

func (*TColorSelectEditLink) GetBounds

func (m *TColorSelectEditLink) GetBounds() types.TRect

func (*TColorSelectEditLink) PrepareEdit

func (m *TColorSelectEditLink) PrepareEdit(tree lcl.ILazVirtualStringTree, node types.PVirtualNode, column int32) bool

func (*TColorSelectEditLink) ProcessMessage

func (m *TColorSelectEditLink) ProcessMessage(msg *types.TLMessage)

func (*TColorSelectEditLink) SetBounds

func (m *TColorSelectEditLink) SetBounds(R types.TRect)
type TComboBoxEditLink struct {
	*TBaseEditLink
	// contains filtered or unexported fields
}
func NewComboBoxEditLink(bindData *TEditNodeData) *TComboBoxEditLink

func (*TComboBoxEditLink) BeginEdit

func (m *TComboBoxEditLink) BeginEdit() bool

func (*TComboBoxEditLink) CancelEdit

func (m *TComboBoxEditLink) CancelEdit() bool

func (*TComboBoxEditLink) CreateEdit

func (m *TComboBoxEditLink) CreateEdit()

func (*TComboBoxEditLink) Destroy

func (m *TComboBoxEditLink) Destroy(sender lcl.IObject)

func (*TComboBoxEditLink) EndEdit

func (m *TComboBoxEditLink) EndEdit() bool

func (*TComboBoxEditLink) GetBounds

func (m *TComboBoxEditLink) GetBounds() types.TRect

func (*TComboBoxEditLink) PrepareEdit

func (m *TComboBoxEditLink) PrepareEdit(tree lcl.ILazVirtualStringTree, node types.PVirtualNode, column int32) bool

func (*TComboBoxEditLink) ProcessMessage

func (m *TComboBoxEditLink) ProcessMessage(msg *types.TLMessage)

func (*TComboBoxEditLink) SetBounds

func (m *TComboBoxEditLink) SetBounds(R types.TRect)

type TEditLinkNodeData

type TEditLinkNodeData struct {
	Metadata      *lcl.ComponentProperties // 组件属性元数据
	Name          string                   // 属性名
	Index         int32                    // 值索引 值是数组类型时,选中的索引
	Checked       bool                     // 选中列表 值是数组类型时,是否选中
	StringValue   string                   // 属性值 string
	FloatValue    float64                  // 属性值 float64
	BoolValue     bool                     // 属性值 bool
	IntValue      int                      // 属性值 int
	EventState    consts.TEventState       // 属性事件更新 状态
	Class         TPropClass               // 属性值 class 实例
	CheckBoxValue []*TEditLinkNodeData     // 属性值 checkbox
	ComboBoxValue []*TEditLinkNodeData     // 属性值 combobox
	Type          consts.PropertyDataType  // 属性值类型
}

节点数据

func NewEditLinkNodeData

func NewEditLinkNodeData(prop *lcl.ComponentProperties) *TEditLinkNodeData

创建一个编辑节点数据

func (*TEditLinkNodeData) Build

func (m *TEditLinkNodeData) Build()

构建节点数据

func (*TEditLinkNodeData) Clone

func (*TEditLinkNodeData) EditStringValue

func (m *TEditLinkNodeData) EditStringValue() string

编辑数据返回字符串值

func (*TEditLinkNodeData) EditValue

func (m *TEditLinkNodeData) EditValue() any

编辑数据返回原始类型值

func (*TEditLinkNodeData) SetEditValue

func (m *TEditLinkNodeData) SetEditValue(value any)

type TEditNodeData

type TEditNodeData struct {
	Parent              *TEditNodeData      // 父属性节点
	Child               []*TEditNodeData    // 子属性节点
	EditNodeData        *TEditLinkNodeData  // 编辑数据
	OriginNodeData      *TEditLinkNodeData  // 原始数据
	AffiliatedNode      types.PVirtualNode  // 所属属性树节点
	AffiliatedComponent IDesigningComponent // 所属组件对象
}

编辑的节点数据

func GetPropertyNodeData

func GetPropertyNodeData(node types.PVirtualNode) *TEditNodeData

获取节点属性数据

func (*TEditNodeData) Build

func (m *TEditNodeData) Build()

构建节点数据

func (*TEditNodeData) Class

func (m *TEditNodeData) Class() TPropClass

func (*TEditNodeData) EditStringValue

func (m *TEditNodeData) EditStringValue() string

编辑数据返回字符串值

func (*TEditNodeData) EditValue

func (m *TEditNodeData) EditValue() any

编辑数据返回原始类型值

func (*TEditNodeData) FormComponentPropertyToInspectorProperty

func (m *TEditNodeData) FormComponentPropertyToInspectorProperty()

从组件属性更新到设计属性

func (*TEditNodeData) FormInspectorEventToComponentEvent

func (m *TEditNodeData) FormInspectorEventToComponentEvent()

func (*TEditNodeData) FormInspectorPropertyToComponentProperty

func (m *TEditNodeData) FormInspectorPropertyToComponentProperty()

从设计属性更新到组件属性

func (*TEditNodeData) Free

func (m *TEditNodeData) Free()

func (*TEditNodeData) GetModifyClassChildNodeData

func (m *TEditNodeData) GetModifyClassChildNodeData() *TEditNodeData

获取修改class的子节点

func (*TEditNodeData) IsModify

func (m *TEditNodeData) IsModify() bool

是否被修改

func (*TEditNodeData) Name

func (m *TEditNodeData) Name() string

func (*TEditNodeData) Paths

func (m *TEditNodeData) Paths() []string

获得类的路径 Txxx.Txxx.Txxx ...

func (*TEditNodeData) SetEditValue

func (m *TEditNodeData) SetEditValue(value any)

返回编辑字符串值

func (*TEditNodeData) Type

type TEventComboBoxEditLink struct {
	*TBaseEditLink
	// contains filtered or unexported fields
}
func NewEventComboBoxEditLink(bindData *TEditNodeData) *TEventComboBoxEditLink

func (*TEventComboBoxEditLink) BeginEdit

func (m *TEventComboBoxEditLink) BeginEdit() bool

func (*TEventComboBoxEditLink) CancelEdit

func (m *TEventComboBoxEditLink) CancelEdit() bool

func (*TEventComboBoxEditLink) CreateEdit

func (m *TEventComboBoxEditLink) CreateEdit()

func (*TEventComboBoxEditLink) Destroy

func (m *TEventComboBoxEditLink) Destroy(sender lcl.IObject)

func (*TEventComboBoxEditLink) EndEdit

func (m *TEventComboBoxEditLink) EndEdit() bool

func (*TEventComboBoxEditLink) GetBounds

func (m *TEventComboBoxEditLink) GetBounds() types.TRect

func (*TEventComboBoxEditLink) PrepareEdit

func (m *TEventComboBoxEditLink) PrepareEdit(tree lcl.ILazVirtualStringTree, node types.PVirtualNode, column int32) bool

func (*TEventComboBoxEditLink) ProcessMessage

func (m *TEventComboBoxEditLink) ProcessMessage(msg *types.TLMessage)

func (*TEventComboBoxEditLink) SetBounds

func (m *TEventComboBoxEditLink) SetBounds(R types.TRect)

func (*TEventComboBoxEditLink) SetValue

func (m *TEventComboBoxEditLink) SetValue(index int32, value string)
type TFloatEditLink struct {
	*TBaseEditLink
	// contains filtered or unexported fields
}
func NewFloatEditLink(bindData *TEditNodeData) *TFloatEditLink

func (*TFloatEditLink) BeginEdit

func (m *TFloatEditLink) BeginEdit() bool

通知编辑链接现在可以开始编辑。后代可以通过返回False来取消节点编辑。

func (*TFloatEditLink) CancelEdit

func (m *TFloatEditLink) CancelEdit() bool

func (*TFloatEditLink) Create

func (m *TFloatEditLink) Create()

func (*TFloatEditLink) Destroy

func (m *TFloatEditLink) Destroy(sender lcl.IObject)

func (*TFloatEditLink) EndEdit

func (m *TFloatEditLink) EndEdit() bool

func (*TFloatEditLink) GetBounds

func (m *TFloatEditLink) GetBounds() types.TRect

func (*TFloatEditLink) PrepareEdit

func (m *TFloatEditLink) PrepareEdit(tree lcl.ILazVirtualStringTree, node types.PVirtualNode, column int32) bool

func (*TFloatEditLink) ProcessMessage

func (m *TFloatEditLink) ProcessMessage(msg *types.TLMessage)

func (*TFloatEditLink) SetBounds

func (m *TFloatEditLink) SetBounds(R types.TRect)
type TIconEditLink struct {
	*TBaseEditLink
	// contains filtered or unexported fields
}
func NewIconEditLink(bindData *TEditNodeData) *TIconEditLink

func (*TIconEditLink) BeginEdit

func (m *TIconEditLink) BeginEdit() bool

func (*TIconEditLink) CancelEdit

func (m *TIconEditLink) CancelEdit() bool

func (*TIconEditLink) Create

func (m *TIconEditLink) Create()

func (*TIconEditLink) Destroy

func (m *TIconEditLink) Destroy(sender lcl.IObject)

func (*TIconEditLink) EndEdit

func (m *TIconEditLink) EndEdit() bool

func (*TIconEditLink) GetBounds

func (m *TIconEditLink) GetBounds() types.TRect

func (*TIconEditLink) PrepareEdit

func (m *TIconEditLink) PrepareEdit(tree lcl.ILazVirtualStringTree, node types.PVirtualNode, column int32) bool

func (*TIconEditLink) ProcessMessage

func (m *TIconEditLink) ProcessMessage(msg *types.TLMessage)

func (*TIconEditLink) SetBounds

func (m *TIconEditLink) SetBounds(R types.TRect)
type TIntEditLink struct {
	*TBaseEditLink
	// contains filtered or unexported fields
}
func NewIntEditLink(bindData *TEditNodeData) *TIntEditLink

func (*TIntEditLink) BeginEdit

func (m *TIntEditLink) BeginEdit() bool

通知编辑链接现在可以开始编辑。后代可以通过返回False来取消节点编辑。

func (*TIntEditLink) CancelEdit

func (m *TIntEditLink) CancelEdit() bool

func (*TIntEditLink) Create

func (m *TIntEditLink) Create()

func (*TIntEditLink) Destroy

func (m *TIntEditLink) Destroy(sender lcl.IObject)

func (*TIntEditLink) EndEdit

func (m *TIntEditLink) EndEdit() bool

func (*TIntEditLink) GetBounds

func (m *TIntEditLink) GetBounds() types.TRect

func (*TIntEditLink) PrepareEdit

func (m *TIntEditLink) PrepareEdit(tree lcl.ILazVirtualStringTree, node types.PVirtualNode, column int32) bool

func (*TIntEditLink) ProcessMessage

func (m *TIntEditLink) ProcessMessage(msg *types.TLMessage)

func (*TIntEditLink) SetBounds

func (m *TIntEditLink) SetBounds(R types.TRect)

type TPropClass

type TPropClass struct {
	Instance uintptr // 属性值 class 实例
	Count    int32   // 属性值 class 属性数量
}

属性值 class

type TStringEditLink struct {
	*TBaseEditLink
	// contains filtered or unexported fields
}
func NewStringEditLink(bindData *TEditNodeData) *TStringEditLink

func (*TStringEditLink) BeginEdit

func (m *TStringEditLink) BeginEdit() bool

func (*TStringEditLink) CancelEdit

func (m *TStringEditLink) CancelEdit() bool

func (*TStringEditLink) Create

func (m *TStringEditLink) Create()

func (*TStringEditLink) Destroy

func (m *TStringEditLink) Destroy(sender lcl.IObject)

func (*TStringEditLink) EndEdit

func (m *TStringEditLink) EndEdit() bool

func (*TStringEditLink) GetBounds

func (m *TStringEditLink) GetBounds() types.TRect

func (*TStringEditLink) PrepareEdit

func (m *TStringEditLink) PrepareEdit(tree lcl.ILazVirtualStringTree, node types.PVirtualNode, column int32) bool

func (*TStringEditLink) ProcessMessage

func (m *TStringEditLink) ProcessMessage(msg *types.TLMessage)

func (*TStringEditLink) SetBounds

func (m *TStringEditLink) SetBounds(R types.TRect)

func (*TStringEditLink) SetReadOnly

func (m *TStringEditLink) SetReadOnly(v bool)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL