Stanislav N. aka pztrn e3b9c9ae40
Some checks failed
Linting and tests / Linting (push) Failing after 5s
Linting and tests / Tests (push) Failing after 4s
The very basic client app, not adapted for mobiles.
2025-09-10 19:34:49 +05:00

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