diff options
Diffstat (limited to 'cmd/mist')
-rw-r--r-- | cmd/mist/ext_app.go | 117 | ||||
-rw-r--r-- | cmd/mist/gui.go | 2 | ||||
-rw-r--r-- | cmd/mist/ui_lib.go | 20 |
3 files changed, 2 insertions, 137 deletions
diff --git a/cmd/mist/ext_app.go b/cmd/mist/ext_app.go deleted file mode 100644 index 84041a553..000000000 --- a/cmd/mist/ext_app.go +++ /dev/null @@ -1,117 +0,0 @@ -/* - This file is part of go-ethereum - - go-ethereum is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - go-ethereum is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with go-ethereum. If not, see <http://www.gnu.org/licenses/>. -*/ -/** - * @authors - * Jeffrey Wilcke <i@jev.io> - */ -package main - -import ( - "github.com/ethereum/go-ethereum/core" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" - "github.com/ethereum/go-ethereum/xeth" - "github.com/obscuren/qml" -) - -type AppContainer interface { - Create() error - Destroy() - - Window() *qml.Window - Engine() *qml.Engine - - NewBlock(*types.Block) - NewWatcher(chan bool) - Post(string, int) -} - -type ExtApplication struct { - *xeth.XEth - eth core.Backend - - events event.Subscription - watcherQuitChan chan bool - - filters map[string]*core.Filter - - container AppContainer - lib *UiLib -} - -func NewExtApplication(container AppContainer, lib *UiLib) *ExtApplication { - return &ExtApplication{ - XEth: xeth.New(lib.eth), - eth: lib.eth, - watcherQuitChan: make(chan bool), - filters: make(map[string]*core.Filter), - container: container, - lib: lib, - } -} - -func (app *ExtApplication) run() { - // Set the "eth" api on to the containers context - context := app.container.Engine().Context() - context.SetVar("eth", app) - context.SetVar("ui", app.lib) - - err := app.container.Create() - if err != nil { - guilogger.Errorln(err) - return - } - - // Call the main loop - go app.mainLoop() - - app.container.NewWatcher(app.watcherQuitChan) - - win := app.container.Window() - win.Show() - win.Wait() - - app.stop() -} - -func (app *ExtApplication) stop() { - app.events.Unsubscribe() - - // Kill the main loop - app.watcherQuitChan <- true - - app.container.Destroy() -} - -func (app *ExtApplication) mainLoop() { - for ev := range app.events.Chan() { - switch ev := ev.(type) { - case core.NewBlockEvent: - app.container.NewBlock(ev.Block) - - /* TODO remove - case state.Messages: - for id, filter := range app.filters { - msgs := filter.FilterMessages(ev) - if len(msgs) > 0 { - app.container.Messages(msgs, id) - } - } - */ - } - } -} diff --git a/cmd/mist/gui.go b/cmd/mist/gui.go index 869b689dd..53ca35574 100644 --- a/cmd/mist/gui.go +++ b/cmd/mist/gui.go @@ -88,7 +88,7 @@ func NewWindow(ethereum *eth.Ethereum, config *ethutil.ConfigManager, session st panic(err) } - xeth := xeth.New(ethereum) + xeth := xeth.New(ethereum, nil) gui := &Gui{eth: ethereum, txDb: db, xeth: xeth, diff --git a/cmd/mist/ui_lib.go b/cmd/mist/ui_lib.go index 098e8fca5..187d5b2d6 100644 --- a/cmd/mist/ui_lib.go +++ b/cmd/mist/ui_lib.go @@ -58,7 +58,7 @@ type UiLib struct { } func NewUiLib(engine *qml.Engine, eth *eth.Ethereum, assetPath string) *UiLib { - x := xeth.New(eth) + x := xeth.New(eth, nil) lib := &UiLib{XEth: x, engine: engine, eth: eth, assetPath: assetPath, jsEngine: javascript.NewJSRE(x), filterCallbacks: make(map[int][]int)} //, filters: make(map[int]*xeth.JSFilter)} lib.filterManager = filter.NewFilterManager(eth.EventMux()) go lib.filterManager.Start() @@ -91,24 +91,6 @@ func (self *UiLib) EvalJavascriptString(str string) string { return fmt.Sprintf("%v", value) } -func (ui *UiLib) OpenQml(path string) { - container := NewQmlApplication(path[7:], ui) - app := NewExtApplication(container, ui) - - go app.run() -} - -func (ui *UiLib) OpenHtml(path string) { - container := NewHtmlApplication(path, ui) - app := NewExtApplication(container, ui) - - go app.run() -} - -func (ui *UiLib) OpenBrowser() { - ui.OpenHtml("file://" + ui.AssetPath("ext/home.html")) -} - func (ui *UiLib) Muted(content string) { component, err := ui.engine.LoadFile(ui.AssetPath("qml/muted.qml")) if err != nil { |