From 01f5ee2263b0dc8fd59a6b39a8d6f9ba6bcb848d Mon Sep 17 00:00:00 2001 From: Bel LaPointe Date: Thu, 2 May 2019 09:35:50 -0600 Subject: [PATCH] no more logger --- clid/cli.go | 127 ++++++++ guid/build_android.sh | 2 + guid/build_gui.sh | 1 + guid/gui.go | 51 +++ guid/moc.cpp | 268 ++++++++++++++++ guid/moc.go | 482 ++++++++++++++++++++++++++++ guid/moc.h | 55 ++++ guid/moc_cgo_darwin_darwin_amd64.go | 14 + guid/moc_moc.h | 117 +++++++ guid/qml/.application.qml | 148 +++++++++ guid/qml/application.qml | 110 +++++++ guid/rcc.cpp | 145 +++++++++ guid/rcc.qrc | 5 + guid/rcc_cgo_darwin_darwin_amd64.go | 14 + 14 files changed, 1539 insertions(+) create mode 100644 clid/cli.go create mode 100644 guid/build_android.sh create mode 100644 guid/build_gui.sh create mode 100644 guid/gui.go create mode 100644 guid/moc.cpp create mode 100644 guid/moc.go create mode 100644 guid/moc.h create mode 100644 guid/moc_cgo_darwin_darwin_amd64.go create mode 100644 guid/moc_moc.h create mode 100644 guid/qml/.application.qml create mode 100644 guid/qml/application.qml create mode 100644 guid/rcc.cpp create mode 100644 guid/rcc.qrc create mode 100644 guid/rcc_cgo_darwin_darwin_amd64.go diff --git a/clid/cli.go b/clid/cli.go new file mode 100644 index 0000000..cf80dbe --- /dev/null +++ b/clid/cli.go @@ -0,0 +1,127 @@ +package main + +import ( + "bufio" + "errors" + "fmt" + "local/mytinytodoclient/mytinytodo" + "local/mytinytodoclient/mytinytodo/remote" + "log" + "os" + "strings" +) + +var ErrQuit = errors.New("received quit") + +func main() { + conf, err := remote.NewConfig() + if err != nil { + panic(err) + } + buffer, err := mytinytodo.NewBuffer(&mytinytodo.Config{Config: conf}) + if err != nil { + panic(err) + } + log.Printf("config: %v", *conf) + for { + line := readLine() + first := strings.Split(line, " ")[0] + if err := doLine(buffer, first, line); err == ErrQuit { + break + } else if err != nil { + log.Printf("err doing %s: %v", first, err) + } + } +} + +func readLine() string { + reader := bufio.NewReader(os.Stdin) + text, _ := reader.ReadString('\n') + return strings.TrimSpace(text) +} + +func doLine(buffer *mytinytodo.Buffer, key, line string) error { + segments := strings.Split(line, " ") + defer func() { + if err := recover(); err != nil { + log.Printf("err on %s: %v", key, err) + } + }() + err := fmt.Errorf("unknown command %q", key) + switch key { + case "refresh": + buffer.RefreshLocal() + err = nil + case "lists": + var lists remote.Lists + lists, err = buffer.Lists() + if err == nil { + log.Printf("%s: %v", key, lists) + } + case "tasks": + var tasks remote.Tasks + id := segments[1] + tasks, err = buffer.Tasks(remote.List{ID: id}) + if err == nil { + log.Printf("%s: %v", key, tasks) + } + case "enqueue": + action := segments[1] + err = fmt.Errorf("unknown enqueue op %v", action) + op := remote.OpFromString(action) + var listID, taskTitle, taskID string + var taskTags []string + switch op { + case remote.NEW: + op = remote.NEW + listID = segments[2] + taskTitle = strings.Join(segments[3:], " ") + taskTagsStr := segments[len(segments)-1] + if strings.HasPrefix(taskTagsStr, "/") && strings.HasSuffix(taskTagsStr, "/") { + taskTitle = strings.TrimSuffix(taskTitle, taskTagsStr) + taskTags = strings.Split(taskTagsStr[1:len(taskTagsStr)-1], ",") + } + case remote.CLOSE: + fallthrough + case remote.OPEN: + taskID = segments[2] + } + err = buffer.Enqueue(op, remote.List{ID: listID}, remote.Task{Title: taskTitle, ID: taskID}, taskTags...) + case "dequeue": + buffer.Dequeue() + err = nil + case "help": + fallthrough + case "h": + log.Printf("refresh") + log.Printf("lists") + log.Printf("tasks ") + log.Printf("enqueue new /tag1,tag2,tag3/") + log.Printf("enqueue ") + log.Printf("dequeue") + log.Printf("help") + log.Printf("quit") + err = nil + case "quit": + fallthrough + case "exit": + fallthrough + case "q": + err = ErrQuit + } + return err +} + +func oldMain() { + conf, err := remote.NewConfig() + if err != nil { + panic(err) + } + remote, err := remote.NewClient(conf) + if err != nil { + panic(err) + } + if err := remote.ParseArgs(); err != nil { + panic(err) + } +} diff --git a/guid/build_android.sh b/guid/build_android.sh new file mode 100644 index 0000000..9797964 --- /dev/null +++ b/guid/build_android.sh @@ -0,0 +1,2 @@ +#! /bin/bash +qtdeploy -docker build android ${PWD#${GOPATH}/src/} diff --git a/guid/build_gui.sh b/guid/build_gui.sh new file mode 100644 index 0000000..aea693e --- /dev/null +++ b/guid/build_gui.sh @@ -0,0 +1 @@ +qtdeploy test desktop ${PWD#${GOPATH}/src/} diff --git a/guid/gui.go b/guid/gui.go new file mode 100644 index 0000000..d3e7e92 --- /dev/null +++ b/guid/gui.go @@ -0,0 +1,51 @@ +package main + +import ( + "local/mytinytodoclient/mytinytodo" + "log" + "os" + + "github.com/therecipe/qt/core" + "github.com/therecipe/qt/gui" + "github.com/therecipe/qt/qml" +) + +type Buffer struct { + core.QObject + + _ func() `constructor:"init"` + _ func(string) `slot:"test"` + + buffer *mytinytodo.Buffer +} + +func (b *Buffer) init() { + b.ConnectTest(b.test) +} + +func (b *Buffer) test(s string) { + log.Printf("gui.buffer.test: %s", s) +} + +func main() { + core.QCoreApplication_SetAttribute(core.Qt__AA_EnableHighDpiScaling, true) + + gui.NewQGuiApplication(len(os.Args), os.Args) + + Buffer_QmlRegisterType2("Buffer", 1, 0, "Buffer") + engine := qml.NewQQmlEngine(nil) + component := qml.NewQQmlComponent5(engine, core.NewQUrl3("qrc:/qml/application.qml", 0), nil) + buffer := NewBufferFromPointer(component.Create(nil).Pointer()) + if buffer.Pointer() != nil { + buffer.Test("hello world") + } else { + for _, e := range component.Errors() { + log.Println(e.Description()) + } + } + + var app = qml.NewQQmlApplicationEngine(nil) + app.Load(core.NewQUrl3("qrc:/qml/application.qml", 0)) + + gui.QGuiApplication_Exec() +} diff --git a/guid/moc.cpp b/guid/moc.cpp new file mode 100644 index 0000000..9d15f64 --- /dev/null +++ b/guid/moc.cpp @@ -0,0 +1,268 @@ + + +#define protected public +#define private public + +#include "moc.h" +#include "_cgo_export.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +class Buffer33fca3: public QObject +{ +Q_OBJECT +public: + Buffer33fca3(QObject *parent = Q_NULLPTR) : QObject(parent) {qRegisterMetaType("quintptr");Buffer33fca3_Buffer33fca3_QRegisterMetaType();Buffer33fca3_Buffer33fca3_QRegisterMetaTypes();callbackBuffer33fca3_Constructor(this);}; + ~Buffer33fca3() { callbackBuffer33fca3_DestroyBuffer(this); }; + bool event(QEvent * e) { return callbackBuffer33fca3_Event(this, e) != 0; }; + bool eventFilter(QObject * watched, QEvent * event) { return callbackBuffer33fca3_EventFilter(this, watched, event) != 0; }; + void childEvent(QChildEvent * event) { callbackBuffer33fca3_ChildEvent(this, event); }; + void connectNotify(const QMetaMethod & sign) { callbackBuffer33fca3_ConnectNotify(this, const_cast(&sign)); }; + void customEvent(QEvent * event) { callbackBuffer33fca3_CustomEvent(this, event); }; + void deleteLater() { callbackBuffer33fca3_DeleteLater(this); }; + void Signal_Destroyed(QObject * obj) { callbackBuffer33fca3_Destroyed(this, obj); }; + void disconnectNotify(const QMetaMethod & sign) { callbackBuffer33fca3_DisconnectNotify(this, const_cast(&sign)); }; + void Signal_ObjectNameChanged(const QString & objectName) { QByteArray taa2c4f = objectName.toUtf8(); Moc_PackedString objectNamePacked = { const_cast(taa2c4f.prepend("WHITESPACE").constData()+10), taa2c4f.size()-10 };callbackBuffer33fca3_ObjectNameChanged(this, objectNamePacked); }; + void timerEvent(QTimerEvent * event) { callbackBuffer33fca3_TimerEvent(this, event); }; +signals: +public slots: + void test(QString v0) { QByteArray tea1dd7 = v0.toUtf8(); Moc_PackedString v0Packed = { const_cast(tea1dd7.prepend("WHITESPACE").constData()+10), tea1dd7.size()-10 };callbackBuffer33fca3_Test(this, v0Packed); }; +private: +}; + +Q_DECLARE_METATYPE(Buffer33fca3*) + + +void Buffer33fca3_Buffer33fca3_QRegisterMetaTypes() { +} + +void Buffer33fca3_Test(void* ptr, struct Moc_PackedString v0) +{ + QMetaObject::invokeMethod(static_cast(ptr), "test", Q_ARG(QString, QString::fromUtf8(v0.data, v0.len))); +} + +int Buffer33fca3_Buffer33fca3_QRegisterMetaType() +{ + return qRegisterMetaType(); +} + +int Buffer33fca3_Buffer33fca3_QRegisterMetaType2(char* typeName) +{ + return qRegisterMetaType(const_cast(typeName)); +} + +int Buffer33fca3_Buffer33fca3_QmlRegisterType() +{ +#ifdef QT_QML_LIB + return qmlRegisterType(); +#else + return 0; +#endif +} + +int Buffer33fca3_Buffer33fca3_QmlRegisterType2(char* uri, int versionMajor, int versionMinor, char* qmlName) +{ +#ifdef QT_QML_LIB + return qmlRegisterType(const_cast(uri), versionMajor, versionMinor, const_cast(qmlName)); +#else + return 0; +#endif +} + +void* Buffer33fca3___dynamicPropertyNames_atList(void* ptr, int i) +{ + return new QByteArray(({QByteArray tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; })); +} + +void Buffer33fca3___dynamicPropertyNames_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(*static_cast(i)); +} + +void* Buffer33fca3___dynamicPropertyNames_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* Buffer33fca3___findChildren_atList2(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void Buffer33fca3___findChildren_setList2(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* Buffer33fca3___findChildren_newList2(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* Buffer33fca3___findChildren_atList3(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void Buffer33fca3___findChildren_setList3(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* Buffer33fca3___findChildren_newList3(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* Buffer33fca3___findChildren_atList(void* ptr, int i) +{ + return ({QObject* tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void Buffer33fca3___findChildren_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* Buffer33fca3___findChildren_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* Buffer33fca3___children_atList(void* ptr, int i) +{ + return ({QObject * tmp = static_cast*>(ptr)->at(i); if (i == static_cast*>(ptr)->size()-1) { static_cast*>(ptr)->~QList(); free(ptr); }; tmp; }); +} + +void Buffer33fca3___children_setList(void* ptr, void* i) +{ + static_cast*>(ptr)->append(static_cast(i)); +} + +void* Buffer33fca3___children_newList(void* ptr) +{ + Q_UNUSED(ptr); + return new QList(); +} + +void* Buffer33fca3_NewBuffer(void* parent) +{ + if (dynamic_cast(static_cast(parent))) { + return new Buffer33fca3(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new Buffer33fca3(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new Buffer33fca3(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new Buffer33fca3(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new Buffer33fca3(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new Buffer33fca3(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new Buffer33fca3(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new Buffer33fca3(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new Buffer33fca3(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new Buffer33fca3(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new Buffer33fca3(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new Buffer33fca3(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new Buffer33fca3(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new Buffer33fca3(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new Buffer33fca3(static_cast(parent)); + } else if (dynamic_cast(static_cast(parent))) { + return new Buffer33fca3(static_cast(parent)); + } else { + return new Buffer33fca3(static_cast(parent)); + } +} + +void Buffer33fca3_DestroyBuffer(void* ptr) +{ + static_cast(ptr)->~Buffer33fca3(); +} + +void Buffer33fca3_DestroyBufferDefault(void* ptr) +{ + Q_UNUSED(ptr); + +} + +char Buffer33fca3_EventDefault(void* ptr, void* e) +{ + return static_cast(ptr)->QObject::event(static_cast(e)); +} + +char Buffer33fca3_EventFilterDefault(void* ptr, void* watched, void* event) +{ + return static_cast(ptr)->QObject::eventFilter(static_cast(watched), static_cast(event)); +} + +void Buffer33fca3_ChildEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QObject::childEvent(static_cast(event)); +} + +void Buffer33fca3_ConnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QObject::connectNotify(*static_cast(sign)); +} + +void Buffer33fca3_CustomEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QObject::customEvent(static_cast(event)); +} + +void Buffer33fca3_DeleteLaterDefault(void* ptr) +{ + static_cast(ptr)->QObject::deleteLater(); +} + +void Buffer33fca3_DisconnectNotifyDefault(void* ptr, void* sign) +{ + static_cast(ptr)->QObject::disconnectNotify(*static_cast(sign)); +} + +void Buffer33fca3_TimerEventDefault(void* ptr, void* event) +{ + static_cast(ptr)->QObject::timerEvent(static_cast(event)); +} + + + +#include "moc_moc.h" diff --git a/guid/moc.go b/guid/moc.go new file mode 100644 index 0000000..6c90b27 --- /dev/null +++ b/guid/moc.go @@ -0,0 +1,482 @@ +package main + +//#include +//#include +//#include +//#include "moc.h" +import "C" +import ( + "runtime" + "unsafe" + + "github.com/therecipe/qt" + std_core "github.com/therecipe/qt/core" +) + +func cGoUnpackString(s C.struct_Moc_PackedString) string { + if int(s.len) == -1 { + return C.GoString(s.data) + } + return C.GoStringN(s.data, C.int(s.len)) +} +func cGoUnpackBytes(s C.struct_Moc_PackedString) []byte { + if int(s.len) == -1 { + return []byte(C.GoString(s.data)) + } + return C.GoBytes(unsafe.Pointer(s.data), C.int(s.len)) +} + +type Buffer_ITF interface { + std_core.QObject_ITF + Buffer_PTR() *Buffer +} + +func (ptr *Buffer) Buffer_PTR() *Buffer { + return ptr +} + +func (ptr *Buffer) Pointer() unsafe.Pointer { + if ptr != nil { + return ptr.QObject_PTR().Pointer() + } + return nil +} + +func (ptr *Buffer) SetPointer(p unsafe.Pointer) { + if ptr != nil { + ptr.QObject_PTR().SetPointer(p) + } +} + +func PointerFromBuffer(ptr Buffer_ITF) unsafe.Pointer { + if ptr != nil { + return ptr.Buffer_PTR().Pointer() + } + return nil +} + +func NewBufferFromPointer(ptr unsafe.Pointer) (n *Buffer) { + if gPtr, ok := qt.Receive(ptr); !ok { + n = new(Buffer) + n.SetPointer(ptr) + } else { + switch deduced := gPtr.(type) { + case *Buffer: + n = deduced + + case *std_core.QObject: + n = &Buffer{QObject: *deduced} + + default: + n = new(Buffer) + n.SetPointer(ptr) + } + } + return +} + +//export callbackBuffer33fca3_Constructor +func callbackBuffer33fca3_Constructor(ptr unsafe.Pointer) { + this := NewBufferFromPointer(ptr) + qt.Register(ptr, this) + this.init() +} + +//export callbackBuffer33fca3_Test +func callbackBuffer33fca3_Test(ptr unsafe.Pointer, v0 C.struct_Moc_PackedString) { + if signal := qt.GetSignal(ptr, "test"); signal != nil { + signal.(func(string))(cGoUnpackString(v0)) + } + +} + +func (ptr *Buffer) ConnectTest(f func(v0 string)) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "test"); signal != nil { + qt.ConnectSignal(ptr.Pointer(), "test", func(v0 string) { + signal.(func(string))(v0) + f(v0) + }) + } else { + qt.ConnectSignal(ptr.Pointer(), "test", f) + } + } +} + +func (ptr *Buffer) DisconnectTest() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "test") + } +} + +func (ptr *Buffer) Test(v0 string) { + if ptr.Pointer() != nil { + var v0C *C.char + if v0 != "" { + v0C = C.CString(v0) + defer C.free(unsafe.Pointer(v0C)) + } + C.Buffer33fca3_Test(ptr.Pointer(), C.struct_Moc_PackedString{data: v0C, len: C.longlong(len(v0))}) + } +} + +func Buffer_QRegisterMetaType() int { + return int(int32(C.Buffer33fca3_Buffer33fca3_QRegisterMetaType())) +} + +func (ptr *Buffer) QRegisterMetaType() int { + return int(int32(C.Buffer33fca3_Buffer33fca3_QRegisterMetaType())) +} + +func Buffer_QRegisterMetaType2(typeName string) int { + var typeNameC *C.char + if typeName != "" { + typeNameC = C.CString(typeName) + defer C.free(unsafe.Pointer(typeNameC)) + } + return int(int32(C.Buffer33fca3_Buffer33fca3_QRegisterMetaType2(typeNameC))) +} + +func (ptr *Buffer) QRegisterMetaType2(typeName string) int { + var typeNameC *C.char + if typeName != "" { + typeNameC = C.CString(typeName) + defer C.free(unsafe.Pointer(typeNameC)) + } + return int(int32(C.Buffer33fca3_Buffer33fca3_QRegisterMetaType2(typeNameC))) +} + +func Buffer_QmlRegisterType() int { + return int(int32(C.Buffer33fca3_Buffer33fca3_QmlRegisterType())) +} + +func (ptr *Buffer) QmlRegisterType() int { + return int(int32(C.Buffer33fca3_Buffer33fca3_QmlRegisterType())) +} + +func Buffer_QmlRegisterType2(uri string, versionMajor int, versionMinor int, qmlName string) int { + var uriC *C.char + if uri != "" { + uriC = C.CString(uri) + defer C.free(unsafe.Pointer(uriC)) + } + var qmlNameC *C.char + if qmlName != "" { + qmlNameC = C.CString(qmlName) + defer C.free(unsafe.Pointer(qmlNameC)) + } + return int(int32(C.Buffer33fca3_Buffer33fca3_QmlRegisterType2(uriC, C.int(int32(versionMajor)), C.int(int32(versionMinor)), qmlNameC))) +} + +func (ptr *Buffer) QmlRegisterType2(uri string, versionMajor int, versionMinor int, qmlName string) int { + var uriC *C.char + if uri != "" { + uriC = C.CString(uri) + defer C.free(unsafe.Pointer(uriC)) + } + var qmlNameC *C.char + if qmlName != "" { + qmlNameC = C.CString(qmlName) + defer C.free(unsafe.Pointer(qmlNameC)) + } + return int(int32(C.Buffer33fca3_Buffer33fca3_QmlRegisterType2(uriC, C.int(int32(versionMajor)), C.int(int32(versionMinor)), qmlNameC))) +} + +func (ptr *Buffer) __dynamicPropertyNames_atList(i int) *std_core.QByteArray { + if ptr.Pointer() != nil { + tmpValue := std_core.NewQByteArrayFromPointer(C.Buffer33fca3___dynamicPropertyNames_atList(ptr.Pointer(), C.int(int32(i)))) + runtime.SetFinalizer(tmpValue, (*std_core.QByteArray).DestroyQByteArray) + return tmpValue + } + return nil +} + +func (ptr *Buffer) __dynamicPropertyNames_setList(i std_core.QByteArray_ITF) { + if ptr.Pointer() != nil { + C.Buffer33fca3___dynamicPropertyNames_setList(ptr.Pointer(), std_core.PointerFromQByteArray(i)) + } +} + +func (ptr *Buffer) __dynamicPropertyNames_newList() unsafe.Pointer { + return C.Buffer33fca3___dynamicPropertyNames_newList(ptr.Pointer()) +} + +func (ptr *Buffer) __findChildren_atList2(i int) *std_core.QObject { + if ptr.Pointer() != nil { + tmpValue := std_core.NewQObjectFromPointer(C.Buffer33fca3___findChildren_atList2(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*std_core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *Buffer) __findChildren_setList2(i std_core.QObject_ITF) { + if ptr.Pointer() != nil { + C.Buffer33fca3___findChildren_setList2(ptr.Pointer(), std_core.PointerFromQObject(i)) + } +} + +func (ptr *Buffer) __findChildren_newList2() unsafe.Pointer { + return C.Buffer33fca3___findChildren_newList2(ptr.Pointer()) +} + +func (ptr *Buffer) __findChildren_atList3(i int) *std_core.QObject { + if ptr.Pointer() != nil { + tmpValue := std_core.NewQObjectFromPointer(C.Buffer33fca3___findChildren_atList3(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*std_core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *Buffer) __findChildren_setList3(i std_core.QObject_ITF) { + if ptr.Pointer() != nil { + C.Buffer33fca3___findChildren_setList3(ptr.Pointer(), std_core.PointerFromQObject(i)) + } +} + +func (ptr *Buffer) __findChildren_newList3() unsafe.Pointer { + return C.Buffer33fca3___findChildren_newList3(ptr.Pointer()) +} + +func (ptr *Buffer) __findChildren_atList(i int) *std_core.QObject { + if ptr.Pointer() != nil { + tmpValue := std_core.NewQObjectFromPointer(C.Buffer33fca3___findChildren_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*std_core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *Buffer) __findChildren_setList(i std_core.QObject_ITF) { + if ptr.Pointer() != nil { + C.Buffer33fca3___findChildren_setList(ptr.Pointer(), std_core.PointerFromQObject(i)) + } +} + +func (ptr *Buffer) __findChildren_newList() unsafe.Pointer { + return C.Buffer33fca3___findChildren_newList(ptr.Pointer()) +} + +func (ptr *Buffer) __children_atList(i int) *std_core.QObject { + if ptr.Pointer() != nil { + tmpValue := std_core.NewQObjectFromPointer(C.Buffer33fca3___children_atList(ptr.Pointer(), C.int(int32(i)))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*std_core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue + } + return nil +} + +func (ptr *Buffer) __children_setList(i std_core.QObject_ITF) { + if ptr.Pointer() != nil { + C.Buffer33fca3___children_setList(ptr.Pointer(), std_core.PointerFromQObject(i)) + } +} + +func (ptr *Buffer) __children_newList() unsafe.Pointer { + return C.Buffer33fca3___children_newList(ptr.Pointer()) +} + +func NewBuffer(parent std_core.QObject_ITF) *Buffer { + tmpValue := NewBufferFromPointer(C.Buffer33fca3_NewBuffer(std_core.PointerFromQObject(parent))) + if !qt.ExistsSignal(tmpValue.Pointer(), "destroyed") { + tmpValue.ConnectDestroyed(func(*std_core.QObject) { tmpValue.SetPointer(nil) }) + } + return tmpValue +} + +//export callbackBuffer33fca3_DestroyBuffer +func callbackBuffer33fca3_DestroyBuffer(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "~Buffer"); signal != nil { + signal.(func())() + } else { + NewBufferFromPointer(ptr).DestroyBufferDefault() + } +} + +func (ptr *Buffer) ConnectDestroyBuffer(f func()) { + if ptr.Pointer() != nil { + + if signal := qt.LendSignal(ptr.Pointer(), "~Buffer"); signal != nil { + qt.ConnectSignal(ptr.Pointer(), "~Buffer", func() { + signal.(func())() + f() + }) + } else { + qt.ConnectSignal(ptr.Pointer(), "~Buffer", f) + } + } +} + +func (ptr *Buffer) DisconnectDestroyBuffer() { + if ptr.Pointer() != nil { + + qt.DisconnectSignal(ptr.Pointer(), "~Buffer") + } +} + +func (ptr *Buffer) DestroyBuffer() { + if ptr.Pointer() != nil { + C.Buffer33fca3_DestroyBuffer(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +func (ptr *Buffer) DestroyBufferDefault() { + if ptr.Pointer() != nil { + C.Buffer33fca3_DestroyBufferDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackBuffer33fca3_Event +func callbackBuffer33fca3_Event(ptr unsafe.Pointer, e unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "event"); signal != nil { + return C.char(int8(qt.GoBoolToInt(signal.(func(*std_core.QEvent) bool)(std_core.NewQEventFromPointer(e))))) + } + + return C.char(int8(qt.GoBoolToInt(NewBufferFromPointer(ptr).EventDefault(std_core.NewQEventFromPointer(e))))) +} + +func (ptr *Buffer) EventDefault(e std_core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.Buffer33fca3_EventDefault(ptr.Pointer(), std_core.PointerFromQEvent(e))) != 0 + } + return false +} + +//export callbackBuffer33fca3_EventFilter +func callbackBuffer33fca3_EventFilter(ptr unsafe.Pointer, watched unsafe.Pointer, event unsafe.Pointer) C.char { + if signal := qt.GetSignal(ptr, "eventFilter"); signal != nil { + return C.char(int8(qt.GoBoolToInt(signal.(func(*std_core.QObject, *std_core.QEvent) bool)(std_core.NewQObjectFromPointer(watched), std_core.NewQEventFromPointer(event))))) + } + + return C.char(int8(qt.GoBoolToInt(NewBufferFromPointer(ptr).EventFilterDefault(std_core.NewQObjectFromPointer(watched), std_core.NewQEventFromPointer(event))))) +} + +func (ptr *Buffer) EventFilterDefault(watched std_core.QObject_ITF, event std_core.QEvent_ITF) bool { + if ptr.Pointer() != nil { + return int8(C.Buffer33fca3_EventFilterDefault(ptr.Pointer(), std_core.PointerFromQObject(watched), std_core.PointerFromQEvent(event))) != 0 + } + return false +} + +//export callbackBuffer33fca3_ChildEvent +func callbackBuffer33fca3_ChildEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "childEvent"); signal != nil { + signal.(func(*std_core.QChildEvent))(std_core.NewQChildEventFromPointer(event)) + } else { + NewBufferFromPointer(ptr).ChildEventDefault(std_core.NewQChildEventFromPointer(event)) + } +} + +func (ptr *Buffer) ChildEventDefault(event std_core.QChildEvent_ITF) { + if ptr.Pointer() != nil { + C.Buffer33fca3_ChildEventDefault(ptr.Pointer(), std_core.PointerFromQChildEvent(event)) + } +} + +//export callbackBuffer33fca3_ConnectNotify +func callbackBuffer33fca3_ConnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "connectNotify"); signal != nil { + signal.(func(*std_core.QMetaMethod))(std_core.NewQMetaMethodFromPointer(sign)) + } else { + NewBufferFromPointer(ptr).ConnectNotifyDefault(std_core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *Buffer) ConnectNotifyDefault(sign std_core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.Buffer33fca3_ConnectNotifyDefault(ptr.Pointer(), std_core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackBuffer33fca3_CustomEvent +func callbackBuffer33fca3_CustomEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "customEvent"); signal != nil { + signal.(func(*std_core.QEvent))(std_core.NewQEventFromPointer(event)) + } else { + NewBufferFromPointer(ptr).CustomEventDefault(std_core.NewQEventFromPointer(event)) + } +} + +func (ptr *Buffer) CustomEventDefault(event std_core.QEvent_ITF) { + if ptr.Pointer() != nil { + C.Buffer33fca3_CustomEventDefault(ptr.Pointer(), std_core.PointerFromQEvent(event)) + } +} + +//export callbackBuffer33fca3_DeleteLater +func callbackBuffer33fca3_DeleteLater(ptr unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "deleteLater"); signal != nil { + signal.(func())() + } else { + NewBufferFromPointer(ptr).DeleteLaterDefault() + } +} + +func (ptr *Buffer) DeleteLaterDefault() { + if ptr.Pointer() != nil { + C.Buffer33fca3_DeleteLaterDefault(ptr.Pointer()) + ptr.SetPointer(nil) + runtime.SetFinalizer(ptr, nil) + } +} + +//export callbackBuffer33fca3_Destroyed +func callbackBuffer33fca3_Destroyed(ptr unsafe.Pointer, obj unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "destroyed"); signal != nil { + signal.(func(*std_core.QObject))(std_core.NewQObjectFromPointer(obj)) + } + +} + +//export callbackBuffer33fca3_DisconnectNotify +func callbackBuffer33fca3_DisconnectNotify(ptr unsafe.Pointer, sign unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "disconnectNotify"); signal != nil { + signal.(func(*std_core.QMetaMethod))(std_core.NewQMetaMethodFromPointer(sign)) + } else { + NewBufferFromPointer(ptr).DisconnectNotifyDefault(std_core.NewQMetaMethodFromPointer(sign)) + } +} + +func (ptr *Buffer) DisconnectNotifyDefault(sign std_core.QMetaMethod_ITF) { + if ptr.Pointer() != nil { + C.Buffer33fca3_DisconnectNotifyDefault(ptr.Pointer(), std_core.PointerFromQMetaMethod(sign)) + } +} + +//export callbackBuffer33fca3_ObjectNameChanged +func callbackBuffer33fca3_ObjectNameChanged(ptr unsafe.Pointer, objectName C.struct_Moc_PackedString) { + if signal := qt.GetSignal(ptr, "objectNameChanged"); signal != nil { + signal.(func(string))(cGoUnpackString(objectName)) + } + +} + +//export callbackBuffer33fca3_TimerEvent +func callbackBuffer33fca3_TimerEvent(ptr unsafe.Pointer, event unsafe.Pointer) { + if signal := qt.GetSignal(ptr, "timerEvent"); signal != nil { + signal.(func(*std_core.QTimerEvent))(std_core.NewQTimerEventFromPointer(event)) + } else { + NewBufferFromPointer(ptr).TimerEventDefault(std_core.NewQTimerEventFromPointer(event)) + } +} + +func (ptr *Buffer) TimerEventDefault(event std_core.QTimerEvent_ITF) { + if ptr.Pointer() != nil { + C.Buffer33fca3_TimerEventDefault(ptr.Pointer(), std_core.PointerFromQTimerEvent(event)) + } +} diff --git a/guid/moc.h b/guid/moc.h new file mode 100644 index 0000000..d283ab8 --- /dev/null +++ b/guid/moc.h @@ -0,0 +1,55 @@ + + +#pragma once + +#ifndef GO_MOC_33fca3_H +#define GO_MOC_33fca3_H + +#include + +#ifdef __cplusplus +class Buffer33fca3; +void Buffer33fca3_Buffer33fca3_QRegisterMetaTypes(); +extern "C" { +#endif + +struct Moc_PackedString { char* data; long long len; }; +struct Moc_PackedList { void* data; long long len; }; +void Buffer33fca3_Test(void* ptr, struct Moc_PackedString v0); +int Buffer33fca3_Buffer33fca3_QRegisterMetaType(); +int Buffer33fca3_Buffer33fca3_QRegisterMetaType2(char* typeName); +int Buffer33fca3_Buffer33fca3_QmlRegisterType(); +int Buffer33fca3_Buffer33fca3_QmlRegisterType2(char* uri, int versionMajor, int versionMinor, char* qmlName); +void* Buffer33fca3___dynamicPropertyNames_atList(void* ptr, int i); +void Buffer33fca3___dynamicPropertyNames_setList(void* ptr, void* i); +void* Buffer33fca3___dynamicPropertyNames_newList(void* ptr); +void* Buffer33fca3___findChildren_atList2(void* ptr, int i); +void Buffer33fca3___findChildren_setList2(void* ptr, void* i); +void* Buffer33fca3___findChildren_newList2(void* ptr); +void* Buffer33fca3___findChildren_atList3(void* ptr, int i); +void Buffer33fca3___findChildren_setList3(void* ptr, void* i); +void* Buffer33fca3___findChildren_newList3(void* ptr); +void* Buffer33fca3___findChildren_atList(void* ptr, int i); +void Buffer33fca3___findChildren_setList(void* ptr, void* i); +void* Buffer33fca3___findChildren_newList(void* ptr); +void* Buffer33fca3___children_atList(void* ptr, int i); +void Buffer33fca3___children_setList(void* ptr, void* i); +void* Buffer33fca3___children_newList(void* ptr); +void* Buffer33fca3_NewBuffer(void* parent); +void Buffer33fca3_DestroyBuffer(void* ptr); +void Buffer33fca3_DestroyBufferDefault(void* ptr); +char Buffer33fca3_EventDefault(void* ptr, void* e); +char Buffer33fca3_EventFilterDefault(void* ptr, void* watched, void* event); +void Buffer33fca3_ChildEventDefault(void* ptr, void* event); +void Buffer33fca3_ConnectNotifyDefault(void* ptr, void* sign); +void Buffer33fca3_CustomEventDefault(void* ptr, void* event); +void Buffer33fca3_DeleteLaterDefault(void* ptr); +void Buffer33fca3_DisconnectNotifyDefault(void* ptr, void* sign); +void Buffer33fca3_TimerEventDefault(void* ptr, void* event); +; + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/guid/moc_cgo_darwin_darwin_amd64.go b/guid/moc_cgo_darwin_darwin_amd64.go new file mode 100644 index 0000000..9e1c290 --- /dev/null +++ b/guid/moc_cgo_darwin_darwin_amd64.go @@ -0,0 +1,14 @@ +// +build !ios + +package main + +/* +#cgo CFLAGS: -pipe -O2 -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=10.12 -Wall -W -fPIC -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_DESIGNER_LIB -DQT_UIPLUGIN_LIB -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_DBUS_LIB -DQT_XML_LIB -DQT_CORE_LIB +#cgo CXXFLAGS: -pipe -stdlib=libc++ -O2 -std=gnu++11 -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=10.12 -Wall -W -fPIC -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_DESIGNER_LIB -DQT_UIPLUGIN_LIB -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_DBUS_LIB -DQT_XML_LIB -DQT_CORE_LIB +#cgo CXXFLAGS: -I../../mytinytodoclient -I. -I../../../github.com/therecipe/env_darwin_amd64_512/5.12.0/clang_64/lib/QtMultimedia.framework/Headers -I../../../github.com/therecipe/env_darwin_amd64_512/5.12.0/clang_64/lib/QtDesigner.framework/Headers -I../../../github.com/therecipe/env_darwin_amd64_512/5.12.0/clang_64/lib/QtUiPlugin.framework/Headers -I../../../github.com/therecipe/env_darwin_amd64_512/5.12.0/clang_64/lib/QtWidgets.framework/Headers -I../../../github.com/therecipe/env_darwin_amd64_512/5.12.0/clang_64/lib/QtQuick.framework/Headers -I../../../github.com/therecipe/env_darwin_amd64_512/5.12.0/clang_64/lib/QtGui.framework/Headers -I../../../github.com/therecipe/env_darwin_amd64_512/5.12.0/clang_64/lib/QtQml.framework/Headers -I../../../github.com/therecipe/env_darwin_amd64_512/5.12.0/clang_64/lib/QtNetwork.framework/Headers -I../../../github.com/therecipe/env_darwin_amd64_512/5.12.0/clang_64/lib/QtDBus.framework/Headers -I../../../github.com/therecipe/env_darwin_amd64_512/5.12.0/clang_64/lib/QtXml.framework/Headers -I../../../github.com/therecipe/env_darwin_amd64_512/5.12.0/clang_64/lib/QtCore.framework/Headers -I. -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/AGL.framework/Headers -I../../../github.com/therecipe/env_darwin_amd64_512/5.12.0/clang_64/mkspecs/macx-clang -F/Users/breel/Go/src/github.com/therecipe/env_darwin_amd64_512/5.12.0/clang_64/lib +#cgo LDFLAGS: -stdlib=libc++ -headerpad_max_install_names -arch x86_64 -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=10.12 -Wl,-rpath,/Users/breel/Go/src/github.com/therecipe/env_darwin_amd64_512/5.12.0/clang_64/lib +#cgo LDFLAGS: -F/Users/breel/Go/src/github.com/therecipe/env_darwin_amd64_512/5.12.0/clang_64/lib -framework QtMultimedia -framework QtDesigner -framework QtWidgets -framework QtQuick -framework QtGui -framework QtQml -framework QtNetwork -framework QtDBus -framework QtXml -framework QtCore -framework OpenGL -framework AGL +#cgo CFLAGS: -Wno-unused-parameter -Wno-unused-variable -Wno-return-type +#cgo CXXFLAGS: -Wno-unused-parameter -Wno-unused-variable -Wno-return-type +*/ +import "C" diff --git a/guid/moc_moc.h b/guid/moc_moc.h new file mode 100644 index 0000000..a8bf210 --- /dev/null +++ b/guid/moc_moc.h @@ -0,0 +1,117 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'moc.cpp' +** +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.0) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'moc.cpp' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 67 +#error "This file was generated using the moc from 5.12.0. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED +struct qt_meta_stringdata_Buffer33fca3_t { + QByteArrayData data[4]; + char stringdata0[22]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + qptrdiff(offsetof(qt_meta_stringdata_Buffer33fca3_t, stringdata0) + ofs \ + - idx * sizeof(QByteArrayData)) \ + ) +static const qt_meta_stringdata_Buffer33fca3_t qt_meta_stringdata_Buffer33fca3 = { + { +QT_MOC_LITERAL(0, 0, 12), // "Buffer33fca3" +QT_MOC_LITERAL(1, 13, 4), // "test" +QT_MOC_LITERAL(2, 18, 0), // "" +QT_MOC_LITERAL(3, 19, 2) // "v0" + + }, + "Buffer33fca3\0test\0\0v0" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_Buffer33fca3[] = { + + // content: + 8, // revision + 0, // classname + 0, 0, // classinfo + 1, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + // slots: name, argc, parameters, tag, flags + 1, 1, 19, 2, 0x0a /* Public */, + + // slots: parameters + QMetaType::Void, QMetaType::QString, 3, + + 0 // eod +}; + +void Buffer33fca3::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + Buffer33fca3 *_t = static_cast(_o); + Q_UNUSED(_t) + switch (_id) { + case 0: _t->test((*reinterpret_cast< QString(*)>(_a[1]))); break; + default: ; + } + } +} + +QT_INIT_METAOBJECT const QMetaObject Buffer33fca3::staticMetaObject = { { + &QObject::staticMetaObject, + qt_meta_stringdata_Buffer33fca3.data, + qt_meta_data_Buffer33fca3, + qt_static_metacall, + nullptr, + nullptr +} }; + + +const QMetaObject *Buffer33fca3::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *Buffer33fca3::qt_metacast(const char *_clname) +{ + if (!_clname) return nullptr; + if (!strcmp(_clname, qt_meta_stringdata_Buffer33fca3.stringdata0)) + return static_cast(this); + return QObject::qt_metacast(_clname); +} + +int Buffer33fca3::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QObject::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 1) + qt_static_metacall(this, _c, _id, _a); + _id -= 1; + } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { + if (_id < 1) + *reinterpret_cast(_a[0]) = -1; + _id -= 1; + } + return _id; +} +QT_WARNING_POP +QT_END_MOC_NAMESPACE diff --git a/guid/qml/.application.qml b/guid/qml/.application.qml new file mode 100644 index 0000000..af68251 --- /dev/null +++ b/guid/qml/.application.qml @@ -0,0 +1,148 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +//Slightly edited the original code for a scrollable TextArea and Qt Quick 2 controls + +import QtQuick 2.2 +import QtQuick.Controls 2.0 +import QtQuick.Layouts 1.3 + +ApplicationWindow { + visible: true + title: "Basic layouts" + property int margin: 11 + minimumWidth: 600 + minimumHeight: 450 + + ColumnLayout { + id: mainLayout + anchors.fill: parent + anchors.margins: margin + GroupBox { + id: rowBox + title: "Row layout" + Layout.fillWidth: true + + RowLayout { + id: rowLayout + anchors.fill: parent + TextField { + placeholderText: "This wants to grow horizontally" + Layout.fillWidth: true + } + Button { + text: "Button" + } + } + } + + GroupBox { + id: gridBox + title: "Grid layout" + Layout.fillWidth: true + + GridLayout { + id: gridLayout + rows: 3 + flow: GridLayout.TopToBottom + anchors.fill: parent + + Label { text: "Line 1" } + Label { text: "Line 2" } + Label { text: "Line 3" } + + TextField { } + TextField { id: textField } + TextField { } + + Flickable { + anchors { + top: parent.top + left: textField.right + right: parent.right + bottom: parent.bottom + } + + contentHeight: textid.width + contentWidth: textid.height + + TextArea.flickable: TextArea { + id: textid + text: "This widget spans over three rows in the GridLayout.\n" + + "All items in the GridLayout are implicitly positioned from top to bottom." + wrapMode: TextArea.Wrap + } + + ScrollBar.vertical: ScrollBar { } + } + } + } + TextArea { + id: t3 + text: "This fills the whole cell" + Layout.minimumHeight: 30 + Layout.fillHeight: true + Layout.fillWidth: true + } + GroupBox { + id: stackBox + title: "Stack layout" + implicitWidth: 200 + implicitHeight: 60 + Layout.fillWidth: true + Layout.fillHeight: true + StackLayout { + id: stackLayout + anchors.fill: parent + + function advance() { currentIndex = (currentIndex + 1) % count } + + Repeater { + id: stackRepeater + model: 5 + Rectangle { + color: Qt.hsla((0.5 + index)/stackRepeater.count, 0.3, 0.7, 1) + Button { anchors.centerIn: parent; text: "Page " + (index + 1); onClicked: { stackLayout.advance() } } + } + } + } + } + } +} \ No newline at end of file diff --git a/guid/qml/application.qml b/guid/qml/application.qml new file mode 100644 index 0000000..15fdd14 --- /dev/null +++ b/guid/qml/application.qml @@ -0,0 +1,110 @@ +import QtQuick 2.2 +import QtQuick.Controls 2.0 +import QtQuick.Layouts 1.3 + +import Buffer 1.0 + +ApplicationWindow { + Buffer {} + + visible: true + title: "Basic layouts" + property int margin: 11 + minimumWidth: 600 + minimumHeight: 450 + + ColumnLayout { + id: mainLayout + anchors.fill: parent + anchors.margins: margin + GroupBox { + id: rowBox + title: "Row layout" + Layout.fillWidth: true + + RowLayout { + id: rowLayout + anchors.fill: parent + TextField { + placeholderText: "This wants to grow horizontally" + Layout.fillWidth: true + } + Button { + text: "Button" + } + } + } + + GroupBox { + id: gridBox + title: "Grid layout" + Layout.fillWidth: true + + GridLayout { + id: gridLayout + rows: 3 + flow: GridLayout.TopToBottom + anchors.fill: parent + + Label { text: "Line 1" } + Label { text: "Line 2" } + Label { text: "Line 3" } + + TextField { } + TextField { id: textField } + TextField { } + + Flickable { + anchors { + top: parent.top + left: textField.right + right: parent.right + bottom: parent.bottom + } + + contentHeight: textid.width + contentWidth: textid.height + + TextArea.flickable: TextArea { + id: textid + text: "This widget spans over three rows in the GridLayout.\n" + + "All items in the GridLayout are implicitly positioned from top to bottom." + wrapMode: TextArea.Wrap + } + + ScrollBar.vertical: ScrollBar { } + } + } + } + TextArea { + id: t3 + text: "This fills the whole cell" + Layout.minimumHeight: 30 + Layout.fillHeight: true + Layout.fillWidth: true + } + GroupBox { + id: stackBox + title: "Stack layout" + implicitWidth: 200 + implicitHeight: 60 + Layout.fillWidth: true + Layout.fillHeight: true + StackLayout { + id: stackLayout + anchors.fill: parent + + function advance() { currentIndex = (currentIndex + 1) % count } + + Repeater { + id: stackRepeater + model: 5 + Rectangle { + color: Qt.hsla((0.5 + index)/stackRepeater.count, 0.3, 0.7, 1) + Button { anchors.centerIn: parent; text: "Page " + (index + 1); onClicked: { stackLayout.advance() } } + } + } + } + } + } +} diff --git a/guid/rcc.cpp b/guid/rcc.cpp new file mode 100644 index 0000000..ed30375 --- /dev/null +++ b/guid/rcc.cpp @@ -0,0 +1,145 @@ +/**************************************************************************** +** Resource object code +** +** Created by: The Resource Compiler for Qt version 5.12.0 +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +static const unsigned char qt_resource_data[] = { + // /Users/breel/Go/src/local/mytinytodoclient/guid/qml/application.qml + 0x0,0x0,0x3,0x84, + 0x0, + 0x0,0xb,0xea,0x78,0x9c,0x8d,0x56,0xdf,0x4f,0xdb,0x30,0x10,0x7e,0xef,0x5f,0x71, + 0xaa,0x34,0xa9,0x68,0xc8,0x4b,0xe9,0x60,0x52,0xd0,0x1e,0x28,0x12,0xc,0x89,0x49, + 0x3,0x2a,0xf1,0xb2,0x17,0x93,0xb8,0xad,0x85,0x63,0x47,0x8e,0x43,0x61,0xa8,0xff, + 0xfb,0xce,0x49,0x1d,0xf2,0xc3,0x2e,0xf5,0x43,0x55,0xdf,0x7d,0xf6,0xdd,0x7d,0x77, + 0xbe,0xb,0xcf,0x72,0xa5,0xd,0xdc,0x99,0xbb,0x92,0x27,0xcf,0x70,0x42,0x4e,0x46, + 0xbc,0x23,0x22,0x97,0x4a,0x1a,0xad,0x44,0x81,0xba,0xa8,0xaf,0xbb,0xa5,0x6f,0xaa, + 0x34,0x5,0x4c,0xc9,0x6c,0xe4,0x74,0xf3,0x72,0xb9,0x64,0x1a,0x45,0xd1,0x68,0x74, + 0x91,0xe7,0x82,0x27,0xd4,0x70,0x25,0x1f,0xb9,0x4c,0xd5,0x6,0xde,0x47,0x80,0x6b, + 0x87,0x79,0xdf,0x8e,0xaa,0xed,0xb,0x2f,0xf8,0x93,0x60,0x31,0x18,0x5d,0xb2,0x4a, + 0x62,0xb8,0xb1,0xfb,0xf1,0x9c,0x16,0x3c,0x1,0x51,0x9b,0x19,0x57,0xaa,0x5c,0xab, + 0x9c,0x69,0xf3,0x6,0x5c,0x1a,0xc8,0xa8,0x5e,0x71,0x19,0xc3,0x74,0x5a,0xe9,0x32, + 0x2e,0x79,0x56,0x66,0x8f,0x3c,0x35,0xeb,0x18,0xce,0xa2,0xa8,0x2d,0xfd,0xc5,0xf8, + 0x6a,0x6d,0x62,0xf8,0x7e,0x1a,0xd5,0x66,0x2f,0x95,0x28,0x33,0x59,0xc7,0xb0,0x73, + 0xcc,0x2e,0x9e,0xc6,0x78,0x2f,0xdf,0x29,0x1a,0x31,0x95,0xc9,0x5a,0xe9,0x82,0x2c, + 0xb9,0x10,0x31,0xe4,0x54,0x33,0x39,0x54,0xd6,0xfe,0x14,0xf1,0xce,0xb1,0x46,0x7f, + 0xad,0x55,0x99,0xcf,0xd5,0x6b,0xcb,0x8c,0x33,0xa5,0xd5,0x6,0x15,0x1d,0xb1,0x8b, + 0xfe,0x1e,0x9,0xab,0x63,0x1f,0x77,0xf4,0xb5,0x67,0x95,0x27,0xbb,0x50,0x2b,0xe2, + 0x3a,0x18,0x3c,0x3b,0x88,0xac,0x67,0xb6,0x17,0xe0,0x41,0x81,0xba,0xb5,0x60,0xaf, + 0xe6,0x8a,0x33,0x91,0x7a,0xae,0xb7,0x2b,0x17,0x34,0x61,0x6b,0x25,0x52,0xa6,0x2d, + 0x14,0x83,0x59,0xac,0x79,0x1,0x1b,0x2a,0xb1,0x5c,0x8c,0x82,0x15,0xda,0x7,0x34, + 0xc3,0xff,0x61,0x79,0x51,0x21,0xde,0xc6,0xde,0x6b,0x2,0x91,0xf6,0x61,0xdb,0x81, + 0x64,0x5e,0x1a,0xa3,0x64,0xc0,0x39,0x53,0x7b,0x54,0x63,0x86,0x86,0xbb,0xb7,0x7d, + 0xec,0xb6,0xa3,0xfd,0xf9,0xb4,0xb4,0xae,0x34,0x4f,0xbb,0xe9,0x74,0xc9,0xbc,0x46, + 0x8d,0x27,0x9b,0x9f,0xe7,0xd2,0x1e,0xc,0xa4,0xd2,0x59,0xf4,0x66,0x12,0x19,0xc6, + 0x42,0x9c,0xf5,0xa4,0x4b,0xa1,0x36,0x71,0xeb,0x4e,0xb2,0x50,0xf9,0x42,0xcd,0x15, + 0x52,0x91,0xf5,0xa0,0xde,0x42,0xe8,0x61,0x6e,0xe9,0x13,0x13,0xf0,0xee,0x28,0xbd, + 0xe5,0x92,0xc1,0x74,0x3c,0x48,0x88,0xf,0x76,0x72,0x18,0x6c,0x36,0x6e,0x13,0x5f, + 0xaf,0x56,0xf5,0xd,0xee,0x68,0xeb,0x2c,0x3f,0xa6,0xd9,0xef,0x43,0xe,0x4c,0x5c, + 0x61,0xe3,0x7a,0xa6,0xd8,0x95,0xbc,0x35,0xb4,0xa3,0x26,0x50,0x5f,0x98,0x74,0x95, + 0x3b,0xc6,0x8,0xfe,0xf,0xa0,0x4,0x5b,0x9a,0x96,0x83,0x44,0xdb,0x6,0x15,0xc0, + 0xea,0xba,0x79,0xed,0xee,0xdc,0x87,0x7c,0xaa,0x72,0xd9,0x40,0x9f,0x7c,0xa9,0xb5, + 0x6b,0x10,0xb2,0x5d,0x9,0x3e,0x47,0x3c,0xe5,0x7a,0xa5,0xf5,0x8d,0xa7,0x64,0x63, + 0x2b,0x33,0x8c,0x76,0x85,0x5b,0x83,0xd7,0xd5,0x59,0xdf,0xe5,0x96,0xf0,0xb,0xcd, + 0x28,0x59,0x3a,0x72,0xe3,0x46,0x16,0xa0,0xd2,0x65,0x90,0xa7,0xfb,0x5e,0x72,0xdd, + 0x5b,0x78,0xba,0x62,0x6,0x8a,0x9c,0xca,0x2,0xd4,0xb,0xce,0x17,0xb3,0xd6,0x8c, + 0x55,0xef,0x0,0x87,0x5,0xee,0x58,0xbb,0xee,0xff,0x7a,0x5e,0xbe,0x5b,0x5f,0x61, + 0x7c,0x21,0x4,0x70,0xc3,0x32,0xcf,0x51,0x40,0x62,0x1,0xa7,0x1d,0x6,0x81,0x6f, + 0xfb,0xd,0x72,0x55,0x70,0x3b,0xe2,0x58,0xa,0x4b,0xad,0x32,0x9b,0x7c,0xdb,0xe2, + 0x6a,0xe2,0x89,0xdf,0xca,0x46,0xd3,0xfc,0xb7,0x4a,0x5b,0x4,0x90,0x47,0x14,0x1d, + 0x9a,0xa6,0x87,0x4,0x47,0xb2,0x98,0x53,0x4d,0x30,0x4e,0x83,0x23,0x16,0x1f,0x68, + 0x23,0xf3,0x3c,0x8a,0xf6,0xbe,0xdd,0xd0,0xdc,0xbf,0x40,0x16,0x2a,0xf6,0xbb,0x1d, + 0xa4,0xcd,0xb8,0x6d,0xc,0x45,0x45,0xce,0x6,0x5b,0x3d,0x83,0x84,0x9,0xe1,0x9d, + 0x54,0xbd,0x9,0x3c,0x8b,0x42,0xe3,0xac,0xa9,0xbb,0x7e,0x97,0xff,0x64,0x10,0x7c, + 0x44,0xb2,0x67,0xd2,0x16,0x86,0x26,0xcf,0xa1,0x59,0xfb,0x60,0x95,0xde,0x69,0xeb, + 0x32,0xbd,0xb3,0x7b,0x12,0x45,0x5e,0xb5,0x73,0xfd,0x2c,0x18,0x5c,0x68,0x82,0x1d, + 0x12,0x7f,0xe5,0xde,0xde,0x81,0x5e,0x7c,0x20,0xe,0x1b,0xe9,0x3,0xd4,0xb2,0x94, + 0x89,0xad,0x63,0xa0,0xe9,0xb,0x9e,0x60,0x93,0x23,0xac,0xa4,0xa4,0xd4,0x16,0x7d, + 0x23,0x53,0xf6,0xa,0x3f,0x61,0xd2,0xd9,0x7f,0x85,0xe9,0x11,0x7c,0xc1,0x36,0x50, + 0xe2,0xb7,0x98,0xa7,0x50,0xef,0x59,0xce,0xa8,0xb1,0x5f,0x7a,0xc1,0xc7,0x5d,0xb9, + 0xed,0x70,0x5e,0x54,0x86,0xcf,0x4,0xbd,0x3e,0xf5,0x2a,0xef,0x59,0x62,0xa8,0x5c, + 0x5,0xda,0x74,0xbd,0x12,0x25,0x94,0x8e,0xf1,0xa3,0x95,0xac,0xb,0x41,0x27,0x93, + 0x88,0x9c,0xa2,0xe7,0xdc,0x46,0x70,0xf4,0xad,0x63,0x9f,0x54,0x91,0x1c,0x43,0x44, + 0x66,0xf6,0xe7,0xc7,0x31,0xc6,0x17,0xbc,0xd6,0x7d,0x62,0x34,0xec,0x26,0xc8,0xb, + 0xd3,0x37,0xd2,0x31,0x7c,0xee,0x1e,0xcb,0x1f,0xba,0x62,0x30,0x46,0x9b,0x13,0xde, + 0xd0,0x76,0xe,0x4a,0x5e,0xda,0x36,0xc8,0x90,0x84,0xf7,0x76,0xf6,0xc8,0x7,0xfd, + 0x5b,0xcf,0x97,0x8d,0x5d,0x43,0x69,0xf8,0x9b,0xa5,0xfe,0xdd,0x8e,0xfe,0x3,0xe5, + 0x22,0xf,0xbc, + +}; + +static const unsigned char qt_resource_name[] = { + // qml + 0x0,0x3, + 0x0,0x0,0x78,0x3c, + 0x0,0x71, + 0x0,0x6d,0x0,0x6c, + // application.qml + 0x0,0xf, + 0x2,0x3f,0xc8,0xbc, + 0x0,0x61, + 0x0,0x70,0x0,0x70,0x0,0x6c,0x0,0x69,0x0,0x63,0x0,0x61,0x0,0x74,0x0,0x69,0x0,0x6f,0x0,0x6e,0x0,0x2e,0x0,0x71,0x0,0x6d,0x0,0x6c, + +}; + +static const unsigned char qt_resource_struct[] = { + // : + 0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + // :/qml + 0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x2, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + // :/qml/application.qml + 0x0,0x0,0x0,0xc,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0, +0x0,0x0,0x1,0x69,0x97,0xbd,0xcf,0xe8, + +}; + +#ifdef QT_NAMESPACE +# define QT_RCC_PREPEND_NAMESPACE(name) ::QT_NAMESPACE::name +# define QT_RCC_MANGLE_NAMESPACE0(x) x +# define QT_RCC_MANGLE_NAMESPACE1(a, b) a##_##b +# define QT_RCC_MANGLE_NAMESPACE2(a, b) QT_RCC_MANGLE_NAMESPACE1(a,b) +# define QT_RCC_MANGLE_NAMESPACE(name) QT_RCC_MANGLE_NAMESPACE2( \ + QT_RCC_MANGLE_NAMESPACE0(name), QT_RCC_MANGLE_NAMESPACE0(QT_NAMESPACE)) +#else +# define QT_RCC_PREPEND_NAMESPACE(name) name +# define QT_RCC_MANGLE_NAMESPACE(name) name +#endif + +#ifdef QT_NAMESPACE +namespace QT_NAMESPACE { +#endif + +bool qRegisterResourceData(int, const unsigned char *, const unsigned char *, const unsigned char *); + +bool qUnregisterResourceData(int, const unsigned char *, const unsigned char *, const unsigned char *); + +#ifdef QT_NAMESPACE +} +#endif + +int QT_RCC_MANGLE_NAMESPACE(qInitResources_local_mytinytodoclient_guid)(); +int QT_RCC_MANGLE_NAMESPACE(qInitResources_local_mytinytodoclient_guid)() +{ + QT_RCC_PREPEND_NAMESPACE(qRegisterResourceData) + (0x2, qt_resource_struct, qt_resource_name, qt_resource_data); + return 1; +} + +int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_local_mytinytodoclient_guid)(); +int QT_RCC_MANGLE_NAMESPACE(qCleanupResources_local_mytinytodoclient_guid)() +{ + QT_RCC_PREPEND_NAMESPACE(qUnregisterResourceData) + (0x2, qt_resource_struct, qt_resource_name, qt_resource_data); + return 1; +} + +namespace { + struct initializer { + initializer() { QT_RCC_MANGLE_NAMESPACE(qInitResources_local_mytinytodoclient_guid)(); } + ~initializer() { QT_RCC_MANGLE_NAMESPACE(qCleanupResources_local_mytinytodoclient_guid)(); } + } dummy; +} diff --git a/guid/rcc.qrc b/guid/rcc.qrc new file mode 100644 index 0000000..b6acab6 --- /dev/null +++ b/guid/rcc.qrc @@ -0,0 +1,5 @@ + + +qml/application.qml + + diff --git a/guid/rcc_cgo_darwin_darwin_amd64.go b/guid/rcc_cgo_darwin_darwin_amd64.go new file mode 100644 index 0000000..8674cc5 --- /dev/null +++ b/guid/rcc_cgo_darwin_darwin_amd64.go @@ -0,0 +1,14 @@ +// +build !ios + +package main + +/* +#cgo CFLAGS: -pipe -O2 -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=10.12 -Wall -W -fPIC -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB +#cgo CXXFLAGS: -pipe -stdlib=libc++ -O2 -std=gnu++11 -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=10.12 -Wall -W -fPIC -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB +#cgo CXXFLAGS: -I../../mytinytodoclient -I. -I../../../github.com/therecipe/env_darwin_amd64_512/5.12.0/clang_64/lib/QtGui.framework/Headers -I../../../github.com/therecipe/env_darwin_amd64_512/5.12.0/clang_64/lib/QtCore.framework/Headers -I. -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/AGL.framework/Headers -I../../../github.com/therecipe/env_darwin_amd64_512/5.12.0/clang_64/mkspecs/macx-clang -F/Users/breel/Go/src/github.com/therecipe/env_darwin_amd64_512/5.12.0/clang_64/lib +#cgo LDFLAGS: -stdlib=libc++ -headerpad_max_install_names -arch x86_64 -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=10.12 -Wl,-rpath,/Users/breel/Go/src/github.com/therecipe/env_darwin_amd64_512/5.12.0/clang_64/lib +#cgo LDFLAGS: -F/Users/breel/Go/src/github.com/therecipe/env_darwin_amd64_512/5.12.0/clang_64/lib -framework QtGui -framework QtCore -framework OpenGL -framework AGL +#cgo CFLAGS: -Wno-unused-parameter -Wno-unused-variable -Wno-return-type +#cgo CXXFLAGS: -Wno-unused-parameter -Wno-unused-variable -Wno-return-type +*/ +import "C"