本文整理汇总了Golang中github.com/conformal/gotk3/gtk.MainQuit函数的典型用法代码示例。如果您正苦于以下问题:Golang MainQuit函数的具体用法?Golang MainQuit怎么用?Golang MainQuit使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了MainQuit函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: TestWebView_RunJavaScript_exception
func TestWebView_RunJavaScript_exception(t *testing.T) {
webView := NewWebView()
defer webView.Destroy()
wantErr := errors.New("An exception was raised in JavaScript")
webView.Connect("load-changed", func(_ *glib.Object, loadEvent LoadEvent) {
switch loadEvent {
case LoadFinished:
webView.RunJavaScript(`throw new Error("foo")`, func(result *gojs.Value, err error) {
if result != nil {
ctx := webView.JavaScriptGlobalContext()
t.Errorf("want result == nil, got %q", ctx.ToStringOrDie(result))
}
if !reflect.DeepEqual(wantErr, err) {
t.Errorf("want error %q, got %q", wantErr, err)
}
gtk.MainQuit()
})
}
})
glib.IdleAdd(func() bool {
webView.LoadHTML(`<p></p>`, "")
return false
})
gtk.Main()
}
开发者ID:missionMeteora,项目名称:go-webkit2,代码行数:28,代码来源:webview_test.go
示例2: TestWebView_RunJavaScript
func TestWebView_RunJavaScript(t *testing.T) {
webView := NewWebView()
defer webView.Destroy()
wantResultString := "abc"
webView.Connect("load-changed", func(_ *glib.Object, loadEvent LoadEvent) {
switch loadEvent {
case LoadFinished:
webView.RunJavaScript(`document.getElementById("foo").innerHTML`, func(result *gojs.Value, err error) {
if err != nil {
t.Errorf("RunJavaScript error: %s", err)
}
resultString := webView.JavaScriptGlobalContext().ToStringOrDie(result)
if wantResultString != resultString {
t.Errorf("want result string %q, got %q", wantResultString, resultString)
}
gtk.MainQuit()
})
}
})
glib.IdleAdd(func() bool {
webView.LoadHTML(`<p id=foo>abc</p>`, "")
return false
})
gtk.Main()
}
开发者ID:missionMeteora,项目名称:go-webkit2,代码行数:28,代码来源:webview_test.go
示例3: TestWebView_GetSnapshot
func TestWebView_GetSnapshot(t *testing.T) {
webView := NewWebView()
defer webView.Destroy()
webView.Connect("load-changed", func(_ *glib.Object, loadEvent LoadEvent) {
switch loadEvent {
case LoadFinished:
webView.GetSnapshot(func(img *image.RGBA, err error) {
if err != nil {
t.Errorf("GetSnapshot error: %q", err)
}
if img.Pix == nil {
t.Error("!img.Pix")
}
if img.Stride == 0 || img.Rect.Max.X == 0 || img.Rect.Max.Y == 0 {
t.Error("!img.Stride or !img.Rect.Max.X or !img.Rect.Max.Y")
}
gtk.MainQuit()
})
}
})
glib.IdleAdd(func() bool {
webView.LoadHTML(`<p id=foo>abc</p>`, "")
return false
})
gtk.Main()
}
开发者ID:missionMeteora,项目名称:go-webkit2,代码行数:29,代码来源:webview_test.go
示例4: TestWebView_URI
func TestWebView_URI(t *testing.T) {
setup()
defer teardown()
mux.HandleFunc("/", func(w http.ResponseWriter, _ *http.Request) {})
wantURI := server.URL + "/"
var gotURI string
webView.Connect("notify::uri", func() {
glib.IdleAdd(func() bool {
gotURI = webView.URI()
if gotURI != "" {
gtk.MainQuit()
}
return false
})
})
glib.IdleAdd(func() bool {
webView.LoadURI(server.URL)
return false
})
gtk.Main()
if wantURI != gotURI {
t.Errorf("want URI %q, got %q", wantURI, gotURI)
}
}
开发者ID:missionMeteora,项目名称:go-webkit2,代码行数:29,代码来源:webview_test.go
示例5: init
func (ui *Ui) init() {
win, _ := gtk.WindowNew(gtk.WINDOW_TOPLEVEL)
win.SetTitle("GNOMEConnect")
win.SetDefaultSize(800, 600)
win.Connect("destroy", func() {
gtk.MainQuit()
ui.Quit <- true
})
ui.win = win
hbox, _ := gtk.BoxNew(gtk.ORIENTATION_HORIZONTAL, 0)
win.Add(hbox)
scroller := ui.initDevicesList()
hbox.PackStart(scroller, false, true, 0)
sep, _ := gtk.SeparatorNew(gtk.ORIENTATION_HORIZONTAL)
hbox.PackStart(sep, false, true, 0)
box := ui.initDeviceView()
hbox.PackEnd(box, true, true, 0)
titlebar := ui.initTitlebar()
win.SetTitlebar(titlebar)
win.ShowAll()
ui.selectDevice(nil)
}
开发者ID:emersion,项目名称:gnomeconnect,代码行数:28,代码来源:ui.go
示例6: TestWebView_LoadHTML
func TestWebView_LoadHTML(t *testing.T) {
webView := NewWebView()
defer webView.Destroy()
loadOk := false
webView.Connect("load-failed", func() {
t.Errorf("load failed")
})
webView.Connect("load-changed", func(_ *glib.Object, loadEvent LoadEvent) {
switch loadEvent {
case LoadFinished:
loadOk = true
gtk.MainQuit()
}
})
glib.IdleAdd(func() bool {
webView.LoadHTML("<p>hello</p>", "")
return false
})
gtk.Main()
if !loadOk {
t.Error("!loadOk")
}
}
开发者ID:missionMeteora,项目名称:go-webkit2,代码行数:27,代码来源:webview_test.go
示例7: TestWebView_LoadURI_load_failed
func TestWebView_LoadURI_load_failed(t *testing.T) {
webView := NewWebView()
defer webView.Destroy()
loadFailed := false
loadFinished := false
webView.Connect("load-failed", func() {
loadFailed = true
})
webView.Connect("load-changed", func(_ *glib.Object, loadEvent LoadEvent) {
switch loadEvent {
case LoadFinished:
loadFinished = true
gtk.MainQuit()
}
})
glib.IdleAdd(func() bool {
// Load a bad URL to trigger load failure.
webView.LoadURI("http://127.0.0.1:99999")
return false
})
gtk.Main()
if !loadFailed {
t.Error("!loadFailed")
}
if !loadFinished {
t.Error("!loadFinished")
}
}
开发者ID:missionMeteora,项目名称:go-webkit2,代码行数:32,代码来源:webview_test.go
示例8: createFileMenu
func createFileMenu() *gtk.MenuItem {
menu, err := gtk.MenuItemNewWithMnemonic("_File")
if err != nil {
log.Fatal(err)
}
dropdown, err := gtk.MenuNew()
if err != nil {
log.Fatal(err)
}
menu.SetSubmenu(dropdown)
mitem, err := gtk.MenuItemNewWithMnemonic("E_xit")
if err != nil {
log.Fatal(err)
}
mitem.Connect("activate", func() {
gtk.MainQuit()
})
dropdown.Append(mitem)
return menu
}
开发者ID:hsk81,项目名称:btcgui,代码行数:25,代码来源:menubar.go
示例9: main
func main() {
// Initialize GTK without parsing any command line arguments.
gtk.Init(nil)
// Create a new toplevel window, set its title, and connect it to the
// "destroy" signal to exit the GTK main loop when it is destroyed.
win, err := gtk.WindowNew(gtk.WINDOW_TOPLEVEL)
if err != nil {
log.Fatal("Unable to create window:", err)
}
win.SetTitle("Simple Example")
win.Connect("destroy", func() {
gtk.MainQuit()
})
// Create a new label widget to show in the window.
l, err := gtk.LabelNew("Hello, gotk3!")
if err != nil {
log.Fatal("Unable to create label:", err)
}
// Add the label to the window.
win.Add(l)
// Set the default window size.
win.SetDefaultSize(800, 600)
// Recursively show all widgets contained in this window.
win.ShowAll()
// Begin executing the GTK main loop. This blocks until
// gtk.MainQuit() is run.
gtk.Main()
}
开发者ID:alimy,项目名称:gotk3,代码行数:34,代码来源:simple.go
示例10: main
func main() {
// Initialize GTK without parsing any command line arguments.
gtk.Init(nil)
// Create a new toplevel window, set its title, and connect it to the
// "destroy" signal to exit the GTK main loop when it is destroyed.
win, err := gtk.WindowNew(gtk.WINDOW_TOPLEVEL)
if err != nil {
log.Fatal("Unable to create window:", err)
}
win.SetTitle("Simple Example")
win.Connect("destroy", func() {
gtk.MainQuit()
})
// Create a new socket:
s, err := gtkx.SocketNew()
if err != nil {
log.Fatal("Unable to create socket:", err)
}
//Adding the socket to the window:
win.Add(s)
// Getting the socketId:
sId := s.GetId()
fmt.Printf("Our socket: %v\n", sId)
//Building a Plug for our Socket:
p, err := gtkx.PlugNew(sId)
if err != nil {
log.Fatal("Unable to create plug:", err)
}
//Building a Button for our Plug:
b, err := gtk.ButtonNewWithLabel("Click me .)")
if err != nil {
log.Fatal("Unable to create button:", err)
}
//Click events for the Button:
b.Connect("clicked", func() {
fmt.Printf("Yeah, such clicks!\n")
})
//Adding the Button to the Plug:
p.Add(b)
//Displaying the Plug:
p.ShowAll()
// Set the default window size.
win.SetDefaultSize(800, 600)
// Recursively show all widgets contained in this window.
win.ShowAll()
// Begin executing the GTK main loop. This blocks until
// gtk.MainQuit() is run.
gtk.Main()
}
开发者ID:runjak,项目名称:gotk3,代码行数:60,代码来源:selfplug.go
示例11: TestWebView_Title
func TestWebView_Title(t *testing.T) {
webView := NewWebView()
defer webView.Destroy()
wantTitle := "foo"
var gotTitle string
webView.Connect("notify::title", func() {
glib.IdleAdd(func() bool {
gotTitle = webView.Title()
if gotTitle != "" {
gtk.MainQuit()
}
return false
})
})
glib.IdleAdd(func() bool {
webView.LoadHTML("<html><head><title>"+wantTitle+"</title></head><body></body></html>", "")
return false
})
gtk.Main()
if wantTitle != gotTitle {
t.Errorf("want title %q, got %q", wantTitle, gotTitle)
}
}
开发者ID:missionMeteora,项目名称:go-webkit2,代码行数:27,代码来源:webview_test.go
示例12: NewPageManager
// NewPageManager creates and initializes a page manager.
func NewPageManager(session []PageDescription) *PageManager {
nb, _ := gtk.NotebookNew()
nb.SetCanFocus(false)
nb.SetShowBorder(false)
p := &PageManager{
Notebook: nb,
htmls: map[uintptr]*HTMLPage{},
}
if session == nil {
session = []PageDescription{BlankPage}
}
for _, page := range session {
p.OpenPage(page)
}
actions := NewActionMenu()
actions.newTab.Connect("activate", func() {
n := p.OpenPage(BlankPage)
p.FocusPageN(n)
})
actions.quit.Connect("activate", func() {
gtk.MainQuit()
})
nb.SetActionWidget(actions, gtk.PACK_END)
actions.Show()
return p
}
开发者ID:jrick,项目名称:xombrero2,代码行数:31,代码来源:pages.go
示例13: main
func main() {
/*
We set an environment variable so that we don't get bothered by xterm accessibility warnings
like "** (xterm:16917): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-QznzMfGEXB: Connection refused"
See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15154
*/
os.Setenv("NO_AT_BRIDGE", "1")
// Initialize GTK without parsing any command line arguments.
gtk.Init(nil)
// Create a new toplevel window, set its title, and connect it to the
// "destroy" signal to exit the GTK main loop when it is destroyed.
win, err := gtk.WindowNew(gtk.WINDOW_TOPLEVEL)
if err != nil {
log.Fatal("Unable to create window:", err)
}
win.SetTitle("Simple Example")
win.Connect("destroy", func() {
gtk.MainQuit()
})
// Create a new socket:
s, err := gtkx.SocketNew()
if err != nil {
log.Fatal("Unable to create socket:", err)
}
//Adding the socket to the window:
win.Add(s)
// Getting the socketId:
sId := s.GetId()
fmt.Printf("Our socket: %v\n", sId)
// Embedding something in the socket:
xterm := exec.Command("xterm", "-into", gtkx.WindowIdToString(sId))
go func() {
xterm.Run()
}()
// Set the default window size.
win.SetDefaultSize(800, 600)
// Recursively show all widgets contained in this window.
win.ShowAll()
// Begin executing the GTK main loop. This blocks until
// gtk.MainQuit() is run.
gtk.Main()
}
开发者ID:runjak,项目名称:gotk3,代码行数:52,代码来源:xterm.go
示例14: setup_window
func setup_window(title string) *gtk.Window {
win, err := gtk.WindowNew(gtk.WINDOW_TOPLEVEL)
if err != nil {
log.Fatal("Unable to create window:", err)
}
win.SetTitle(title)
win.Connect("destroy", func() {
gtk.MainQuit()
})
win.SetDefaultSize(800, 600)
win.SetPosition(gtk.WIN_POS_CENTER)
return win
}
开发者ID:alimy,项目名称:gotk3,代码行数:13,代码来源:textview.go
示例15: main
func main() {
gtk.Init(nil)
win, err := gtk.WindowNew(gtk.WINDOW_TOPLEVEL)
if err != nil {
log.Fatal("Unable to create window:", err)
}
win.Connect("destroy", func() {
gtk.MainQuit()
})
win.Add(windowWidget())
// Native GTK is not thread safe, and thus, gotk3's GTK bindings may not
// be used from other goroutines. Instead, glib.IdleAdd() must be used
// to add a function to run in the GTK main loop when it is in an idle
// state.
//
// Two examples of using glib.IdleAdd() are shown below. The first runs
// a user created function, LabelSetTextIdle, and passes it two
// arguments for a label and the text to set it with. The second calls
// (*gtk.Label).SetText directly, passing in only the text as an
// argument.
//
// If the function passed to glib.IdleAdd() returns one argument, and
// that argument is a bool, this return value will be used in the same
// manner as a native g_idle_add() call. If this return value is false,
// the function will be removed from executing in the GTK main loop's
// idle state. If the return value is true, the function will continue
// to execute when the GTK main loop is in this state.
go func() {
for {
time.Sleep(time.Second)
s := fmt.Sprintf("Set a label %d time(s)!", nSets)
_, err := glib.IdleAdd(LabelSetTextIdle, topLabel, s)
if err != nil {
log.Fatal("IdleAdd() failed:", err)
}
nSets++
s = fmt.Sprintf("Set a label %d time(s)!", nSets)
_, err = glib.IdleAdd(bottomLabel.SetText, s)
if err != nil {
log.Fatal("IdleAdd() failed:", err)
}
nSets++
}
}()
win.ShowAll()
gtk.Main()
}
开发者ID:alimy,项目名称:gotk3,代码行数:51,代码来源:goroutines.go
示例16: main
func main() {
gtk.Init(nil)
win, err := gtk.WindowNew(gtk.WINDOW_TOPLEVEL)
if err != nil {
log.Fatal("Unable to create window:", err)
}
win.Connect("destroy", func() {
gtk.MainQuit()
})
win.Add(windowWidget())
win.ShowAll()
gtk.Main()
}
开发者ID:kendellfab,项目名称:gotk3,代码行数:16,代码来源:signals.go
示例17: RunGUI
// RunGUI initializes GTK, creates the toplevel window and all child widgets,
// opens the pages for the default session, and runs the Glib main event loop.
// This function blocks until the toplevel window is destroyed and the event
// loop exits.
func RunGUI() {
gtk.Init(nil)
window, _ := gtk.WindowNew(gtk.WINDOW_TOPLEVEL)
window.Connect("destroy", func() {
gtk.MainQuit()
})
window.SetDefaultGeometry(defaultWinWidth, defaultWinHeight)
window.Show()
wc := wk2.DefaultWebContext()
wc.SetProcessModel(wk2.ProcessModelMultipleSecondaryProcesses)
session := []PageDescription{HomePage}
pm := NewPageManager(session)
window.Add(pm)
pm.Show()
gtk.Main()
}
开发者ID:jrick,项目名称:xombrero2,代码行数:24,代码来源:xombrero.go
示例18: displayImage
// Displays image in a new Gtk window
// This function blocks until the window is closed
func displayImage(img image.Image) error {
// Copy img into a new gdk.Pixbuf
pixbuf, err := imageToPixbuf(img)
if err != nil {
return errors.New("Failed to create a pixbuf for image")
}
// Initialize GtkWindow
gtk.Init(nil)
win, err := gtk.WindowNew(gtk.WINDOW_TOPLEVEL)
if err != nil {
return errors.New("Failed to create new window")
}
win.Connect("destroy", func() { gtk.MainQuit() })
// Create GtkImage widget from pixbuf
gimg, err := gtk.ImageNewFromPixbuf(pixbuf)
if err != nil {
return errors.New("Failed to load image into window")
}
win.Add(gimg)
win.ShowAll()
gtk.Main()
return nil
}
开发者ID:postfix,项目名称:kaggle--facial-keypoints,代码行数:25,代码来源:display.go
示例19: TestWebView_LoadURI
func TestWebView_LoadURI(t *testing.T) {
setup()
defer teardown()
responseOk := false
mux.HandleFunc("/", func(w http.ResponseWriter, _ *http.Request) {
w.Write([]byte("abc"))
responseOk = true
})
loadFinished := false
webView.Connect("load-failed", func() {
t.Errorf("load failed")
})
webView.Connect("load-changed", func(_ *glib.Object, loadEvent LoadEvent) {
switch loadEvent {
case LoadFinished:
loadFinished = true
gtk.MainQuit()
}
})
glib.IdleAdd(func() bool {
webView.LoadURI(server.URL)
return false
})
gtk.Main()
if !responseOk {
t.Error("!responseOk")
}
if !loadFinished {
t.Error("!loadFinished")
}
}
开发者ID:missionMeteora,项目名称:go-webkit2,代码行数:36,代码来源:webview_test.go
示例20: main
func main() {
gtk.Init(nil)
win, err := gtk.WindowNew(gtk.WINDOW_TOPLEVEL)
if err != nil {
log.Fatal("Unable to create window:", err)
}
win.SetTitle("UDP client v0.0.1")
win.Connect("destroy", func() {
gtk.MainQuit()
})
var c client.Client
answers := make(chan string)
grid, err := gtk.GridNew()
if err != nil {
log.Fatal("Unable to create grid:", err)
}
messageHistory, err := gtk.TextViewNew()
if err != nil {
log.Fatal("Unable to create TextView:", err)
}
grid.Attach(messageHistory, 0, 0, 4, 1)
messageEntry, err := gtk.EntryNew()
if err != nil {
log.Fatal("Unable to create entry:", err)
}
grid.Attach(messageEntry, 0, 1, 1, 1)
privateEntry, err := gtk.EntryNew()
if err != nil {
log.Fatal("Unable to create entry:", err)
}
grid.Attach(privateEntry, 1, 1, 1, 1)
sendButton, err := gtk.ButtonNewWithLabel("Send")
if err != nil {
log.Fatal("Unable to create button:", err)
}
sendButton.Connect("clicked", func(btn *gtk.Button) {
lbl, _ := btn.GetLabel()
if lbl != "Send" {
return
}
log.Print(lbl)
msg, _ := messageEntry.GetText()
log.Print(msg)
c.Message(msg)
})
grid.Attach(sendButton, 0, 2, 1, 1)
privateButton, err := gtk.ButtonNewWithLabel("Private")
if err != nil {
log.Fatal("Unable to create button:", err)
}
privateButton.Connect("clicked", func(btn *gtk.Button) {
lbl, _ := btn.GetLabel()
if lbl != "Private" {
return
}
log.Print(lbl)
private, _ := privateEntry.GetText()
log.Print(private)
if private != "" {
msg, _ := messageEntry.GetText()
log.Print(msg)
c.Private(private, msg)
}
})
grid.Attach(privateButton, 1, 2, 1, 1)
listButton, err := gtk.ButtonNewWithLabel("List")
if err != nil {
log.Fatal("Unable to create button:", err)
}
listButton.Connect("clicked", func(btn *gtk.Button) {
lbl, _ := btn.GetLabel()
if lbl != "List" {
return
}
log.Print(lbl)
c.List()
log.Print(lbl)
})
grid.Attach(listButton, 2, 1, 1, 1)
leaveButton, err := gtk.ButtonNewWithLabel("Leave")
if err != nil {
log.Fatal("Unable to create button:", err)
}
leaveButton.Connect("clicked", func(btn *gtk.Button) {
lbl, _ := btn.GetLabel()
if lbl != "Leave" {
return
}
log.Print(lbl)
c.Leave()
//.........这里部分代码省略.........
开发者ID:fiddenmar,项目名称:netlabs,代码行数:101,代码来源:gui.go
注:本文中的github.com/conformal/gotk3/gtk.MainQuit函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论