fckeuspy-go/vendor/fyne.io/fyne/v2/test/window.go

154 lines
2.6 KiB
Go

package test
import (
"testing"
"fyne.io/fyne/v2"
)
type window struct {
title string
fullScreen bool
fixedSize bool
focused bool
onClosed func()
onCloseIntercepted func()
canvas *canvas
driver *driver
menu *fyne.MainMenu
}
// NewTempWindow creates and registers a new window for test purposes.
// This window will get removed automatically once the running test ends.
//
// Since: 2.5
func NewTempWindow(t testing.TB, content fyne.CanvasObject) fyne.Window {
window := NewWindow(content)
t.Cleanup(window.Close)
return window
}
// NewWindow creates and registers a new window for test purposes
func NewWindow(content fyne.CanvasObject) fyne.Window {
window := fyne.CurrentApp().NewWindow("")
window.SetContent(content)
return window
}
func (w *window) Canvas() fyne.Canvas {
return w.canvas
}
func (w *window) CenterOnScreen() {
// no-op
}
func (w *window) Clipboard() fyne.Clipboard {
return NewClipboard()
}
func (w *window) Close() {
if w.onClosed != nil {
w.onClosed()
}
w.focused = false
w.driver.removeWindow(w)
}
func (w *window) Content() fyne.CanvasObject {
return w.Canvas().Content()
}
func (w *window) FixedSize() bool {
return w.fixedSize
}
func (w *window) FullScreen() bool {
return w.fullScreen
}
func (w *window) Hide() {
w.focused = false
}
func (w *window) Icon() fyne.Resource {
return fyne.CurrentApp().Icon()
}
func (w *window) MainMenu() *fyne.MainMenu {
return w.menu
}
func (w *window) Padded() bool {
return w.canvas.Padded()
}
func (w *window) RequestFocus() {
for _, win := range w.driver.AllWindows() {
win.(*window).focused = false
}
w.focused = true
}
func (w *window) Resize(size fyne.Size) {
w.canvas.Resize(size)
}
func (w *window) SetContent(obj fyne.CanvasObject) {
w.Canvas().SetContent(obj)
}
func (w *window) SetFixedSize(fixed bool) {
w.fixedSize = fixed
}
func (w *window) SetIcon(_ fyne.Resource) {
// no-op
}
func (w *window) SetFullScreen(fullScreen bool) {
w.fullScreen = fullScreen
}
func (w *window) SetMainMenu(menu *fyne.MainMenu) {
w.menu = menu
}
func (w *window) SetMaster() {
// no-op
}
func (w *window) SetOnClosed(closed func()) {
w.onClosed = closed
}
func (w *window) SetCloseIntercept(callback func()) {
w.onCloseIntercepted = callback
}
func (w *window) SetOnDropped(dropped func(fyne.Position, []fyne.URI)) {
}
func (w *window) SetPadded(padded bool) {
w.canvas.SetPadded(padded)
}
func (w *window) SetTitle(title string) {
w.title = title
}
func (w *window) Show() {
w.RequestFocus()
}
func (w *window) ShowAndRun() {
w.Show()
}
func (w *window) Title() string {
return w.title
}