base

package module
v0.0.0-...-6e8b2b8 Latest Latest
Warning

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

Go to latest
Published: May 16, 2020 License: MIT Imports: 7 Imported by: 5

Documentation

Index

Constants

View Source
const (
	Class_ManagedObject     = "goui.base.ManagedObject"
	Class_EventProvider     = "goui.base.EventProvider"
	Class_EventProviderProp = "goui.base.EventProvider$Prop"
	Class_EventProviderAggr = "goui.base.EventProvider$Aggr"
)

Variables

View Source
var (
	MD_Object            = createObject()
	MD_EventProvider     EventProviderMetadata
	MD_EventProviderProp EventProviderMetadata
	MD_EventProviderAggr EventProviderMetadata
	MD_ManagedObject     ManagedObjectMetaData

	MD_EventProvider_Defaults = []MetaDataSetting{
		MDSettingConstructor(constructEventProvider),
		MetaModelBuilder(eventProviderMetadataBuilder),
	}
	MD_EventProviderProp_Defaults = []MetaDataSetting{
		Event_changed.AsSet(Class_EventProviderProp),
		Event_updateHTML.AsSet(Class_EventProviderProp),
	}
	MD_EventProviderAggr_Defaults = []MetaDataSetting{
		Event_changed.AsSet(Class_EventProviderAggr),
		Event_updateHTML.AsSet(Class_EventProviderAggr),
	}

	MD_ManagedObject_Defaults = []MetaDataSetting{
		Event_formatError.AsSet(Class_ManagedObject),
		Event_modelContextChange.AsSet(Class_ManagedObject),
		Event_parseError.AsSet(Class_ManagedObject),
		Event_validationError.AsSet(Class_ManagedObject),
		Event_validationSuccess.AsSet(Class_ManagedObject),
		MDSettingConstructor(constructorManagedObject),
		MetaModelBuilder(managedObjectMetaDataBuilder),
	}
)
View Source
var (
	Event_formatError        = EventSettingFactor(EventDef{Name: "formatError"})
	Event_modelContextChange = EventSettingFactor(EventDef{Name: "modelContextChange"})
	Event_parseError         = EventSettingFactor(EventDef{Name: "parseError"})
	Event_validationError    = EventSettingFactor(EventDef{Name: "validationError"})
	Event_validationSuccess  = EventSettingFactor(EventDef{Name: "validationSuccess"})
	Event_DataReceived       = EventSettingFactor(EventDef{Name: "DataReceived"})
	Event_DataRequested      = EventSettingFactor(EventDef{Name: "DataRequested"})
	Event_changed            = EventSettingFactor(EventDef{Name: "changed"})
	Event_updateHTML         = EventSettingFactor(EventDef{Name: "updateHTML"})
)

Functions

func PropTypeBool

func PropTypeBool(v interface{}) (interface{}, bool)

func PropTypeInt

func PropTypeInt(v interface{}) (interface{}, bool)

func PropTypeString

func PropTypeString(v interface{}) (interface{}, bool)

func TypeCheckBool

func TypeCheckBool(v interface{}) bool

func TypeCheckInt

func TypeCheckInt(v interface{}) bool

func TypeCheckManagedObject

func TypeCheckManagedObject(v interface{}) bool

func TypeCheckString

func TypeCheckString(v interface{}) bool

Types

type Aggregation

type Aggregation interface {
	EventProvider
	Get() []interface{}
	Set([]interface{})
	Add(interface{})
	Bind(com.Binding)
	AttachChanged(data com.EventData, fn com.EventHandler)
	AttachChangedOnce(data com.EventData, fn com.EventHandler)
	FireChanged(param com.EventParam)
	DetachChanged(fn com.EventHandler)
	HasChanged() bool
	AttachUpdateHTML(data com.EventData, fn com.EventHandler)
	AttachUpdateHTMLOnce(data com.EventData, fn com.EventHandler)
	FireUpdateHTML(param com.EventParam)
	DetachUpdateHTML(fn com.EventHandler)
	HasUpdateHTML() bool
}

type AggregationDef

type AggregationDef struct {
	Name        string
	Type        func(interface{}) bool
	Cardinality string
}

type Callback

type Callback func(item MetaData, prev MetaData) MetaData

type Constructor

type Constructor func(id string, s ...InstanceSetting) Object

func (Constructor) New

func (c Constructor) New(id string, s ...InstanceSetting) Object

type ConstructorBuilder

type ConstructorBuilder func(m MetaData, embbed Constructor) Constructor

type EventDef

type EventDef struct {
	Name    string
	Details map[string]interface{}
}

type EventProvider

type EventProvider interface {
	Object
	AttachEvent(eventId string, data com.EventData, fn com.EventHandler)
	AttachEventOnce(eventId string, data com.EventData, fn com.EventHandler)
	FireEvent(eventId string, param com.EventParam)
	DetachEvent(eventId string, fn com.EventHandler)
	HasListener(eventId string) bool
	Destroy()
	GetSource() EventProvider
}

type EventProviderMetadata

type EventProviderMetadata interface {
	MetaData
	AllEvents() []EventDef
	Event(s string) (EventDef, bool)
}

type EventSettingFactor

type EventSettingFactor EventDef

func (EventSettingFactor) AsSet

type InstanceSetting

type InstanceSetting interface {
	IType() SettingType
}

func AdjustSelfSetting

func AdjustSelfSetting(self Object, m MetaData, ms []InstanceSetting) []InstanceSetting

func SelectInstanceSettings

func SelectInstanceSettings(is []InstanceSetting, f func(InstanceSetting) bool) []InstanceSetting

type MDSetting

type MDSetting struct {
	Name string
}

func (MDSetting) Class

func (mds MDSetting) Class() string

type MDSettingAbstract

type MDSettingAbstract bool

func (MDSettingAbstract) Mtype

func (s MDSettingAbstract) Mtype() SettingType

type MDSettingAggregationDef

type MDSettingAggregationDef struct {
	AggregationDef
}

func (MDSettingAggregationDef) Mtype

type MDSettingCallback

type MDSettingCallback struct {
	Level    int
	Callback Callback
}

func (MDSettingCallback) Mtype

func (s MDSettingCallback) Mtype() SettingType

type MDSettingConstructor

type MDSettingConstructor ConstructorBuilder

func (MDSettingConstructor) Mtype

type MDSettingEventDef

type MDSettingEventDef struct {
	EventDef
}

func (MDSettingEventDef) Mtype

func (s MDSettingEventDef) Mtype() SettingType

type MDSettingExtend

type MDSettingExtend struct {
	MDSetting
	New func(s string, m ...MetaDataSetting) (MetaData, func(MetaData) MetaData)
}

type MDSettingFinal

type MDSettingFinal bool

func (MDSettingFinal) Mtype

func (s MDSettingFinal) Mtype() SettingType

type MDSettingParent

type MDSettingParent struct {
	MetaData MetaData
}

func (MDSettingParent) Mtype

func (s MDSettingParent) Mtype() SettingType

type MDSettingPropertyDef

type MDSettingPropertyDef struct {
	PropertyDef
}

func (MDSettingPropertyDef) Mtype

type ManagedObject

type ManagedObject interface {
	EventProvider
	Property(n string) Property
	Aggregation(n string) Aggregation
	DefaultAggregation() string
}

type ManagedObjectMetaData

type ManagedObjectMetaData interface {
	EventProviderMetadata
	AllProperties() []PropertyDef
	AllAggregations() []AggregationDef
	Property(s string) (PropertyDef, bool)
	Aggregation(s string) (AggregationDef, bool)
	DefaultAggregation() (AggregationDef, bool)
}

type MetaData

type MetaData interface {
	GetName() string
	// Give back the constructor for creating a new instance
	GetClass() Constructor
	GetParent() MetaData
	IsAbstract() bool
	IsFinal() bool
	// Checks whether the described class or one of its ancestor classes implements the given interface.
	IsInstanceOf(s string) bool
	// contains filtered or unexported methods
}

The MetaData contains all information for creating a new object instance. The main point is a standarized constructor, which creates a instance of object or any derived sub object.

MetaData can also be derived, so that it contains additional meta information for creating the corrosponding instance. Creating new MetaData can be done with Extend.

func Extend

func Extend(m MetaData, n string, cfg ...MetaDataSetting) MetaData

func LoadMetaData

func LoadMetaData(n string) (m MetaData, ok bool)

type MetaDataSetting

type MetaDataSetting interface {
	Mtype() SettingType
}

func SelectMetadataSettings

func SelectMetadataSettings(is []MetaDataSetting, f func(MetaDataSetting) bool) []MetaDataSetting

type MetaModelBuilder

type MetaModelBuilder func(string, ...MetaDataSetting) []MetaDataSetting

func (MetaModelBuilder) Mtype

func (_ MetaModelBuilder) Mtype() SettingType

type Object

type Object interface {
	Metadata() MetaData
	Self() Object
}

type ObjectFactory

type ObjectFactory func(b com.Binding) ManagedObject

type ObjectFactorySetting

type ObjectFactorySetting struct {
	Factory            ObjectFactory
	BindingDescription com.BindingDescription
	Aggregation        string
}

func (ObjectFactorySetting) IType

type Property

type Property interface {
	EventProvider
	Get() interface{}
	Set(interface{})
	Bind(com.Binding)
	AttachChanged(data com.EventData, fn com.EventHandler)
	AttachChangedOnce(data com.EventData, fn com.EventHandler)
	FireChanged(param com.EventParam)
	DetachChanged(fn com.EventHandler)
	HasChanged() bool
	AttachUpdateHTML(data com.EventData, fn com.EventHandler)
	AttachUpdateHTMLOnce(data com.EventData, fn com.EventHandler)
	FireUpdateHTML(param com.EventParam)
	DetachUpdateHTML(fn com.EventHandler)
	HasUpdateHTML() bool
}

type PropertyChanged

type PropertyChanged struct {
	Old interface{}
	New interface{}
}

func (PropertyChanged) NewValue

func (pc PropertyChanged) NewValue() interface{}

func (PropertyChanged) Param

func (pc PropertyChanged) Param() interface{}

func (PropertyChanged) Previous

func (pc PropertyChanged) Previous() com.Event

type PropertyDef

type PropertyDef struct {
	Name         string
	Type         func(interface{}) (interface{}, bool)
	Required     bool
	DefaultValue interface{}
}

type SelfSetting

type SelfSetting struct {
	Object
	MetaData
}

func (SelfSetting) IType

func (_ SelfSetting) IType() SettingType

type SettingType

type SettingType int
const (
	Unspecific SettingType = iota
	Required
	Overwrite
	Combine
)

Jump to

Keyboard shortcuts

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