60 lines
1.5 KiB
Go
60 lines
1.5 KiB
Go
package ui
|
|
|
|
import (
|
|
"fyne.io/fyne/v2"
|
|
"fyne.io/fyne/v2/theme"
|
|
"fyne.io/fyne/v2/widget"
|
|
)
|
|
|
|
type ppfApp struct {
|
|
// Container for the borderlayout
|
|
Toolbar fyne.CanvasObject
|
|
Metadata *Metadata
|
|
Extensions *fyne.Container
|
|
ContextBar *fyne.Container
|
|
ContentTabs *fyne.Container
|
|
Workarea *fyne.Container
|
|
// Once initialized metadata containers for swapping
|
|
ProtocolMeta *ProtocolMetadata
|
|
PacketMeta *PacketMetadata
|
|
// Global important stuff
|
|
Settings map[string]string
|
|
ProtocolForging bool
|
|
// Once initialized instances of the editor views
|
|
EditorPacket *PacketEditor
|
|
EditorProtocol *ProtocolEditor
|
|
}
|
|
|
|
var PPF ppfApp
|
|
|
|
func CreateToolbar(fyneApp fyne.App) fyne.CanvasObject {
|
|
toolbar := widget.NewToolbar()
|
|
toolbar.Append(widget.NewToolbarAction(theme.StorageIcon(), func() {
|
|
PPF.ProtocolForging = !PPF.ProtocolForging
|
|
//TODO: implement the switch
|
|
}))
|
|
toolbar.Append(widget.NewToolbarSeparator())
|
|
toolbar.Append(widget.NewToolbarAction(theme.FolderNewIcon(), func() {
|
|
|
|
}))
|
|
toolbar.Append(widget.NewToolbarAction(theme.FolderOpenIcon(), func() {
|
|
|
|
}))
|
|
toolbar.Append(widget.NewToolbarAction(theme.DocumentSaveIcon(), func() {
|
|
|
|
}))
|
|
toolbar.Append(widget.NewToolbarAction(theme.SettingsIcon(), func() {
|
|
|
|
}))
|
|
toolbar.Append(widget.NewToolbarSpacer())
|
|
toolbar.Append(widget.NewToolbarAction(theme.LogoutIcon(), func() {
|
|
fyneApp.Quit()
|
|
}))
|
|
|
|
return toolbar
|
|
}
|
|
|
|
func CreateWorkarea() *fyne.Container {
|
|
return GetProtocolEditor().Representation
|
|
}
|