33 lines
1.1 KiB
Go
33 lines
1.1 KiB
Go
|
package core
|
||
|
|
||
|
import (
|
||
|
"errors"
|
||
|
|
||
|
"fyne.io/fyne/v2"
|
||
|
"fyne.io/fyne/v2/container"
|
||
|
)
|
||
|
|
||
|
// ServiceNameMainWindow is a name for main window service.
|
||
|
const ServiceNameMainWindow = "core/mainwindow"
|
||
|
|
||
|
var (
|
||
|
// ErrMainWindow indicates that error appeared somewhere in main window service.
|
||
|
ErrMainWindow = errors.New("main window service")
|
||
|
// ErrMainWindowIsInvalid indicates that main window service implementation is invalid.
|
||
|
ErrMainWindowIsInvalid = errors.New("main window service implementation is invalid")
|
||
|
)
|
||
|
|
||
|
// MainWindow is an interface for main window service.
|
||
|
type MainWindow interface {
|
||
|
// AddTab adds tab in main window.
|
||
|
AddTab(tab *container.TabItem)
|
||
|
// MainWindow returns main window instance (e.g. for using as parent with dialogs).
|
||
|
MainWindow() fyne.Window
|
||
|
// RegisterAboutWindowSysInfoHandler registers handler for System Info tab in About dialog.
|
||
|
RegisterAboutWindowSysInfoHandler(name string, hndl SysInfoHandler) error
|
||
|
}
|
||
|
|
||
|
// SysInfoHandler is a function signature for registering with additional system information handler for About dialog.
|
||
|
// It should return valid markdown and should end with "\n".
|
||
|
type SysInfoHandler func() string
|