diff options
author | obscuren <geffobscura@gmail.com> | 2014-09-17 21:58:26 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-09-17 21:58:26 +0800 |
commit | e4cc365e89cfd7a9862aa96a77d56fbd2d41ff4a (patch) | |
tree | 7b1a9ffdd60aca8df0b8cb96a3086a9385776288 /Mist/qml_container.go | |
parent | 15ded0bea9600f489d7f9fb5430c26a84a021bd2 (diff) | |
download | go-tangerine-e4cc365e89cfd7a9862aa96a77d56fbd2d41ff4a.tar go-tangerine-e4cc365e89cfd7a9862aa96a77d56fbd2d41ff4a.tar.gz go-tangerine-e4cc365e89cfd7a9862aa96a77d56fbd2d41ff4a.tar.bz2 go-tangerine-e4cc365e89cfd7a9862aa96a77d56fbd2d41ff4a.tar.lz go-tangerine-e4cc365e89cfd7a9862aa96a77d56fbd2d41ff4a.tar.xz go-tangerine-e4cc365e89cfd7a9862aa96a77d56fbd2d41ff4a.tar.zst go-tangerine-e4cc365e89cfd7a9862aa96a77d56fbd2d41ff4a.zip |
Renamed ethereal
Diffstat (limited to 'Mist/qml_container.go')
-rw-r--r-- | Mist/qml_container.go | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/Mist/qml_container.go b/Mist/qml_container.go new file mode 100644 index 000000000..85bd7c699 --- /dev/null +++ b/Mist/qml_container.go @@ -0,0 +1,68 @@ +package main + +import ( + "fmt" + "runtime" + + "github.com/ethereum/eth-go/ethchain" + "github.com/ethereum/eth-go/ethpipe" + "github.com/ethereum/eth-go/ethstate" + "github.com/ethereum/eth-go/ethutil" + "gopkg.in/qml.v1" +) + +type QmlApplication struct { + win *qml.Window + engine *qml.Engine + lib *UiLib + path string +} + +func NewQmlApplication(path string, lib *UiLib) *QmlApplication { + engine := qml.NewEngine() + return &QmlApplication{engine: engine, path: path, lib: lib} +} + +func (app *QmlApplication) Create() error { + path := string(app.path) + + // For some reason for windows we get /c:/path/to/something, windows doesn't like the first slash but is fine with the others so we are removing it + if app.path[0] == '/' && runtime.GOOS == "windows" { + path = app.path[1:] + } + + component, err := app.engine.LoadFile(path) + if err != nil { + logger.Warnln(err) + } + app.win = component.CreateWindow(nil) + + return nil +} + +func (app *QmlApplication) Destroy() { + app.engine.Destroy() +} + +func (app *QmlApplication) NewWatcher(quitChan chan bool) { +} + +// Events +func (app *QmlApplication) NewBlock(block *ethchain.Block) { + pblock := ðpipe.JSBlock{Number: int(block.BlockInfo().Number), Hash: ethutil.Bytes2Hex(block.Hash())} + app.win.Call("onNewBlockCb", pblock) +} + +func (self *QmlApplication) Messages(msgs ethstate.Messages, id string) { + fmt.Println("IMPLEMENT QML APPLICATION MESSAGES METHOD") +} + +// Getters +func (app *QmlApplication) Engine() *qml.Engine { + return app.engine +} +func (app *QmlApplication) Window() *qml.Window { + return app.win +} + +func (app *QmlApplication) Post(data string, s int) {} |