The very basic client app, not adapted for mobiles.
Some checks failed
Linting and tests / Linting (push) Failing after 5s
Linting and tests / Tests (push) Failing after 4s

This commit is contained in:
2025-09-10 19:34:49 +05:00
parent b65b8a9e72
commit e3b9c9ae40
50 changed files with 2816 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
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