/////
// Derive(this)
// pargs, args for parent1, parent2...
func Derive(obj interface{}, pargs ...[]interface{}) {
// fill obj's inherit struct
// parse obj's signal and fill function body
// 所有的public方法都是slot
}
func Underive(obj interface{}) {}
type WantAsQClass struct {
*qtcore.QThread `qt:"inherit"` // 要继承的类
*qtcore.QProcess `qt:"inherit"`
_ struct{} `qt:"classinfo" key:"12345s" value:"hehehhe"` //
Prop123 int `qt:"property" value:"123"` // 最后字段为默认值
Prop456 string `qt:"property" value:"testv123"`
// Enum123 AType `qt:enum` // 就怕无法支持
_ qtmeta.Q_SIGNALS_BEGIN
Clicked123 func(bool) `qt:"signal"`
_SlotFunc1 func(int) `qt:"slot"` // Prefix _ of real method name
_SlotFunc2 func(float32) `qt:"slot"`
_SlotFunc3 func() `qt:"slot"`
}
func (this *WantAsQClass) SlotFunc1(int) {}
func (this *WantAsQClass) SlotFunc2(float32) {}
func (this *WantAsQClass) SlotFunc3() {}
func NewWantAsQClass() *WantAsQClass {
this := &WantAsQClass{}
Derive(this)
return this
}
func (this *WantAsQClass) SlotFunc1(int) {
}
type Q_SIGNALS_BEGIN struct{}
type Q_SIGNALS_END struct{}
type Q_META_SECTION_END struct{}
type AType int
const (
One AType = 1 << iota // 1
Two // 2 (i.e. 1 << 1)
Three // 4 (i.e 1 << 2)
)