Skip to content

Commit

Permalink
spar teh kod
Browse files Browse the repository at this point in the history
  • Loading branch information
roffe committed Dec 12, 2024
1 parent ce9f44b commit c922957
Show file tree
Hide file tree
Showing 34 changed files with 1,506 additions and 452 deletions.
Binary file modified Icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Icon.xcf
Binary file not shown.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Blazing fast data logging for Trionic 7 & 8 ECU's found in Saab 9-5 & 9-3

Created after discussions on [TrionicTuning](https://www.trionictuning.com/forum/viewtopic.php?f=34&t=14297)

Built on top of [goCAN](https://github.com/roffe/gocan) and [Fyne](https://fyne.io/)
Built on top of [goCAN](https://github.com/roffe/gocan)

“Gone but never forgotten”

Expand Down
2 changes: 2 additions & 0 deletions WHATSNEW.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# 1.0.20

- Competely new UI! most windows & maps now opens inside the main window and is resizeable and arrangeable
- Reworked legend to have a more "fixed size" and value moved to the left
- Fixed scaling of IOFF x-axis when live viewing BstKnkCal.MaxAirmass on T8

# 1.0.19

Expand Down
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ require (
)

require (
fyne.io/fyne/v2 v2.5.3-0.20241204220448-ce4fa868b0fb
fyne.io/fyne/v2 v2.5.3-rc6.0.20241212104758-5ee9979bbcd1
fyne.io/systray v1.11.0 // indirect
github.com/TheTitanrain/w32 v0.0.0-20200114052255-2654d97dbd3d // indirect
github.com/albenik/bcd v0.0.0-20170831201648-635201416bc7 // indirect
Expand Down Expand Up @@ -96,4 +96,4 @@ require (

// replace github.com/roffe/gocan => C:\Users\flejd\go\src\github.com\roffe\gocan

// replace github.com/roffe/ecusymbol => C:\Users\flejd\go\src\github.com\roffe\ecusymbol
replace github.com/roffe/ecusymbol => C:\Users\flejd\go\src\github.com\roffe\ecusymbol
6 changes: 2 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
fyne.io/fyne/v2 v2.5.3-0.20241204220448-ce4fa868b0fb h1:FjiKC/zXyDW7dZU8znctY8JYmGwD4FYd2LqAu6tGg8k=
fyne.io/fyne/v2 v2.5.3-0.20241204220448-ce4fa868b0fb/go.mod h1:Dsh1J0yBU6w+LivvLN1d+ueuE1cgiHj+hWlR45JEmpk=
fyne.io/fyne/v2 v2.5.3-rc6.0.20241212104758-5ee9979bbcd1 h1:rZqgqjkjjLEfzyYxITUKOeeLggNZXPE/eDL63U2ZVWU=
fyne.io/fyne/v2 v2.5.3-rc6.0.20241212104758-5ee9979bbcd1/go.mod h1:Dsh1J0yBU6w+LivvLN1d+ueuE1cgiHj+hWlR45JEmpk=
fyne.io/systray v1.11.0 h1:D9HISlxSkx+jHSniMBR6fCFOUjk1x/OOOJLa9lJYAKg=
fyne.io/systray v1.11.0/go.mod h1:RVwqP9nYMo7h5zViCBHri2FgjXF7H2cub7MAq4NSoLs=
fyne.io/x/fyne v0.0.0-20240803204126-8b5b5bfe65ef h1:5qFhIzsvwmIybR4GlmENHHjOkQB5XsRZ6ujO0ktnsl4=
Expand Down Expand Up @@ -298,8 +298,6 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/roffe/ecusymbol v0.0.0-20241205203950-46d2204db29e h1:uYxn+1mEhiol7iVg7GzroNGzGEWStA0c4DYOsvmVrhI=
github.com/roffe/ecusymbol v0.0.0-20241205203950-46d2204db29e/go.mod h1:0nrbfx99ecWTXVjNbaqA9iZYlLlLdXWLE//Hb5hCajQ=
github.com/roffe/gocan v0.0.0-20241207110253-bc5f0434702d h1:1FhnUbWkoSVpBLUqywqyxJuE5ctX6Mb1VSxjRA14Iqs=
github.com/roffe/gocan v0.0.0-20241207110253-bc5f0434702d/go.mod h1:V9kFl4B+XX4dV1aj6nl7FZpOZEisLJZR4ZL6iM1wYWk=
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
Expand Down
21 changes: 12 additions & 9 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@ import (
"image/color"
"log"
"os"
"os/signal"
"path"
"strings"
"syscall"
"time"

_ "embed"
Expand Down Expand Up @@ -66,13 +64,13 @@ func main() {
mw = windows.NewMainWindow(a, "")
}

quitChan := make(chan os.Signal, 1)
signal.Notify(quitChan, os.Interrupt, syscall.SIGTERM)
go func() {
<-quitChan
mw.CloseIntercept()
a.Quit()
}()
//quitChan := make(chan os.Signal, 2)
//signal.Notify(quitChan, os.Interrupt, syscall.SIGTERM)
//go func() {
// <-quitChan
// //mw.CloseIntercept()
// a.Quit()
//}()

lastVersion := a.Preferences().String("lastVersion")
if lastVersion != a.Metadata().Version {
Expand All @@ -83,6 +81,7 @@ func main() {
md.Wrapping = fyne.TextWrapWord
ww.SetContent(container.NewVScroll(md))
ww.Resize(fyne.NewSize(700, 400))
ww.CenterOnScreen()
ww.Show()
time.Sleep(100 * time.Millisecond)
ww.RequestFocus()
Expand All @@ -91,6 +90,10 @@ func main() {
a.Preferences().SetString("lastVersion", a.Metadata().Version)
//go updateCheck(a, mw)

//a.Lifecycle().SetOnEnteredForeground(func() {
// mw.Maximize()
//})

mw.ShowAndRun()
}

Expand Down
6 changes: 6 additions & 0 deletions pkg/assets/assets.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,9 @@ var KvaserLogoBytes []byte

//go:embed maptun_logo.png
var MaptunLogoBytes []byte

//go:embed mackanized.png
var MackanizedBytes []byte

//go:embed left_corner.svg
var LeftCornerBytes []byte
11 changes: 11 additions & 0 deletions pkg/assets/left_corner.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pkg/assets/mackanized.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
92 changes: 48 additions & 44 deletions pkg/dashboard/dashboard.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import (

"fyne.io/fyne/v2"
"fyne.io/fyne/v2/canvas"
"fyne.io/fyne/v2/theme"
"fyne.io/fyne/v2/widget"
"github.com/roffe/txlogger/pkg/assets"
"github.com/roffe/txlogger/pkg/common"
Expand All @@ -29,9 +28,9 @@ type Dashboard struct {
limpMode *canvas.Image
knockIcon *widgets.Icon

fullscreenBtn *widget.Button
closeBtn *widget.Button
logBtn *widget.Button
//fullscreenBtn *widget.Button
//closeBtn *widget.Button
//logBtn *widget.Button

//dbgBar *fyne.Container

Expand All @@ -57,10 +56,10 @@ type Gauges struct {
}

type Config struct {
App fyne.App
Mw fyne.Window
Logplayer bool
LogBtn *widget.Button
App fyne.App
Mw fyne.Window
Logplayer bool
// LogBtn *widget.Button
OnClose func()
AirDemToString func(float64) string
FCutToString func(float64) string
Expand All @@ -86,8 +85,8 @@ func NewDashboard(cfg *Config) *Dashboard {
}

db := &Dashboard{
cfg: cfg,
logBtn: cfg.LogBtn,
cfg: cfg,
//logBtn: cfg.LogBtn,
logplayer: cfg.Logplayer,
gauges: Gauges{
airmass: widgets.NewDualDial(widgets.DualDialConfig{
Expand Down Expand Up @@ -209,9 +208,9 @@ func NewDashboard(cfg *Config) *Dashboard {
},
},
checkEngine: canvas.NewImageFromResource(fyne.NewStaticResource("checkengine.png", assets.CheckengineBytes)),
fullscreenBtn: widget.NewButtonWithIcon("Fullscreen", theme.ZoomFitIcon(), func() {
cfg.Mw.SetFullScreen(!cfg.Mw.FullScreen())
}),
// fullscreenBtn: widget.NewButtonWithIcon("Fullscreen", theme.ZoomFitIcon(), func() {
// cfg.Mw.SetFullScreen(!cfg.Mw.FullScreen())
// }),
knockIcon: widgets.NewIcon(&widgets.IconConfig{
Image: canvas.NewImageFromResource(fyne.NewStaticResource("knock.png", assets.KnockBytes)),
Minsize: fyne.NewSize(90, 90),
Expand All @@ -222,11 +221,11 @@ func NewDashboard(cfg *Config) *Dashboard {

db.metricRouter = db.createRouter()

db.closeBtn = widget.NewButtonWithIcon("Back", theme.NavigateBackIcon(), func() {
if db.cfg.OnClose != nil {
db.cfg.OnClose()
}
})
// db.closeBtn = widget.NewButtonWithIcon("Back", theme.NavigateBackIcon(), func() {
// if db.cfg.OnClose != nil {
// db.cfg.OnClose()
// }
// })

if cfg.Logplayer {
db.text.time = canvas.NewText("00:00:00.00", color.RGBA{R: 0x2c, G: 0xfc, B: 0x03, A: 0xFF})
Expand Down Expand Up @@ -520,8 +519,13 @@ type dims struct {
}

func layoutMainDials(db *Dashboard, space fyne.Size, dims *dims) {

left := db.gauges.pwm.Position().X + db.gauges.pwm.Size().Width
right := db.gauges.throttle.Position().X
width := right - left

centerDialSize := fyne.NewSize(
space.Width,
width,
space.Height-125,
)
centerDialPos := fyne.NewPos(
Expand Down Expand Up @@ -608,29 +612,29 @@ func layoutIcons(db *Dashboard, space fyne.Size, dims *dims) {

func layoutButtons(db *Dashboard, space fyne.Size, dims *dims) {
// Close button
db.closeBtn.Resize(fyne.NewSize(dims.sixthWidth, 55))
db.closeBtn.Move(fyne.NewPos(space.Width-dims.sixthWidth, dims.bottomY))
//db.closeBtn.Resize(fyne.NewSize(dims.sixthWidth, 55))
//db.closeBtn.Move(fyne.NewPos(space.Width-dims.sixthWidth, dims.bottomY))

if !db.logplayer {
// Fullscreen button sizing based on screen width
if space.Width < 1000 {
db.fullscreenBtn.SetText("(F)")
db.fullscreenBtn.Resize(fyne.NewSize(dims.sixthWidth*common.OneHalfOne, 55))
} else if space.Width < 1300 {
db.fullscreenBtn.SetText("Fullscrn")
db.fullscreenBtn.Resize(fyne.NewSize(dims.sixthWidth*common.OneOneEight, 55))
} else {
db.fullscreenBtn.SetText("Fullscreen")
db.fullscreenBtn.Resize(fyne.NewSize(dims.sixthWidth*common.OneOneFive, 55))
}

// Log button
db.logBtn.Resize(fyne.NewSize(db.gauges.wblambda.Position().X-db.fullscreenBtn.Size().Width-14, 55))
db.logBtn.Move(fyne.NewPos(db.fullscreenBtn.Size().Width+5, dims.bottomY))
//// Fullscreen button sizing based on screen width
//if space.Width < 1000 {
// db.fullscreenBtn.SetText("(F)")
// db.fullscreenBtn.Resize(fyne.NewSize(dims.sixthWidth*common.OneHalfOne, 55))
//} else if space.Width < 1300 {
// db.fullscreenBtn.SetText("Fullscrn")
// db.fullscreenBtn.Resize(fyne.NewSize(dims.sixthWidth*common.OneOneEight, 55))
//} else {
// db.fullscreenBtn.SetText("Fullscreen")
// db.fullscreenBtn.Resize(fyne.NewSize(dims.sixthWidth*common.OneOneFive, 55))
//}
//
//// Log button
//db.logBtn.Resize(fyne.NewSize(db.gauges.wblambda.Position().X-db.fullscreenBtn.Size().Width-14, 55))
//db.logBtn.Move(fyne.NewPos(db.fullscreenBtn.Size().Width+5, dims.bottomY))
} else {
db.text.time.Move(fyne.NewPos(dims.centerX-100, space.Height*common.OneHalfSix))
}
db.fullscreenBtn.Move(fyne.NewPos(0, dims.bottomY))
//db.fullscreenBtn.Move(fyne.NewPos(0, dims.bottomY))
}

func layoutTexts(db *Dashboard, space fyne.Size, dims *dims) {
Expand Down Expand Up @@ -709,15 +713,15 @@ func (dr *DashboardRenderer) Layout(space fyne.Size) {
// Layout horizontal bars
layoutHorizontalBars(dr.db, space, dims)

// Layout main dials
layoutMainDials(dr.db, space, dims)

// Layout side dials
layoutSideDials(dr.db, space, dims)

// Layout vertical bars
layoutVerticalBars(dr.db, space, dims)

// Layout main dials
layoutMainDials(dr.db, space, dims)

// Layout icons
layoutIcons(dr.db, space, dims)

Expand All @@ -732,7 +736,7 @@ func (dr *DashboardRenderer) Layout(space fyne.Size) {
}

func (dr *DashboardRenderer) MinSize() fyne.Size {
return fyne.NewSize(400, 250)
return fyne.NewSize(550, 300)
}

func (dr *DashboardRenderer) Refresh() {
Expand Down Expand Up @@ -770,9 +774,9 @@ func (dr *DashboardRenderer) Objects() []fyne.CanvasObject {
}

if !dr.db.logplayer {
cont = append(cont, dr.db.fullscreenBtn)
cont = append(cont, dr.db.closeBtn)
cont = append(cont, dr.db.logBtn)
// cont = append(cont, dr.db.fullscreenBtn)
// cont = append(cont, dr.db.closeBtn)
// cont = append(cont, dr.db.logBtn)
} else {
cont = append(cont, dr.db.text.time)
}
Expand Down
3 changes: 1 addition & 2 deletions pkg/mainmenu/mainmenu.go
Original file line number Diff line number Diff line change
Expand Up @@ -168,11 +168,10 @@ type MainMenu struct {
otherFunc func(string)
}

func New(w fyne.Window, menus []*fyne.Menu, oneFunc func(symbol.ECUType, string), multiFunc func(symbol.ECUType, ...string), otherFunc func(string)) *MainMenu {
func New(w fyne.Window, menus []*fyne.Menu, oneFunc func(symbol.ECUType, string), otherFunc func(string)) *MainMenu {
return &MainMenu{
w: w,
oneFunc: oneFunc,
multiFunc: multiFunc,
menus: menus,
otherFunc: otherFunc,
}
Expand Down
30 changes: 30 additions & 0 deletions pkg/multiwindow/base.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package multiwindow

import "fyne.io/fyne/v2"

type BaseRenderer struct {
objects []fyne.CanvasObject
}

// NewBaseRenderer creates a new BaseRenderer.
func NewBaseRenderer(objects []fyne.CanvasObject) BaseRenderer {
return BaseRenderer{objects}
}

// Destroy does nothing in the base implementation.
//
// Implements: fyne.WidgetRenderer
func (r *BaseRenderer) Destroy() {
}

// Objects returns the objects that should be rendered.
//
// Implements: fyne.WidgetRenderer
func (r *BaseRenderer) Objects() []fyne.CanvasObject {
return r.objects
}

// SetObjects updates the objects of the renderer.
func (r *BaseRenderer) SetObjects(objects []fyne.CanvasObject) {
r.objects = objects
}
Loading

0 comments on commit c922957

Please sign in to comment.