mirror of
https://github.com/bluszcz/cutego.git
synced 2024-09-28 21:25:16 +03:00
62 lines
1.3 KiB
Go
62 lines
1.3 KiB
Go
package qt
|
|
|
|
//#include "qvalidator.h"
|
|
import "C"
|
|
|
|
type qvalidator struct {
|
|
qobject
|
|
}
|
|
|
|
type QValidator interface {
|
|
QObject
|
|
ConnectSignalChanged(f func())
|
|
DisconnectSignalChanged()
|
|
SignalChanged() func()
|
|
}
|
|
|
|
func (p *qvalidator) Pointer() (ptr C.QtObjectPtr) {
|
|
return p.ptr
|
|
}
|
|
|
|
func (p *qvalidator) SetPointer(ptr C.QtObjectPtr) {
|
|
p.ptr = ptr
|
|
}
|
|
|
|
//State
|
|
type State int
|
|
|
|
var (
|
|
INVALID = State(C.QValidator_Invalid())
|
|
INTERMEDIATE = State(C.QValidator_Intermediate())
|
|
ACCEPTABLE = State(C.QValidator_Acceptable())
|
|
)
|
|
|
|
func (p *qvalidator) Destroy() {
|
|
if p.Pointer() != nil {
|
|
getSignal(p.ObjectName(), "destroyed")()
|
|
C.QValidator_Destroy(p.Pointer())
|
|
p.SetPointer(nil)
|
|
}
|
|
}
|
|
|
|
func (p *qvalidator) ConnectSignalChanged(f func()) {
|
|
C.QValidator_ConnectSignalChanged(p.Pointer())
|
|
connectSignal(p.ObjectName(), "changed", f)
|
|
}
|
|
|
|
func (p *qvalidator) DisconnectSignalChanged() {
|
|
C.QValidator_DisconnectSignalChanged(p.Pointer())
|
|
disconnectSignal(p.ObjectName(), "changed")
|
|
}
|
|
|
|
func (p *qvalidator) SignalChanged() func() {
|
|
return getSignal(p.ObjectName(), "changed")
|
|
}
|
|
|
|
//export callbackQValidator
|
|
func callbackQValidator(ptr C.QtObjectPtr, msg *C.char) {
|
|
var qvalidator = new(qvalidator)
|
|
qvalidator.SetPointer(ptr)
|
|
getSignal(qvalidator.ObjectName(), C.GoString(msg))()
|
|
}
|