made input bar bigger

This commit is contained in:
grimsace
2026-03-24 10:11:07 -05:00
parent 09b634d0df
commit 2e91081c61
2 changed files with 32 additions and 14 deletions
+4 -2
View File
@@ -21,8 +21,10 @@ func main() {
var historyList *widget.List var historyList *widget.List
// Dice input bar // Dice input bar
diceInputEntry := newCustomEntry(fyne.CurrentApp().Settings().Theme().Size(theme.SizeNameText) * 2) inputTextSize := fyne.CurrentApp().Settings().Theme().Size(theme.SizeNameText) * 2
diceInputEntry := newCustomEntry(inputTextSize)
diceInputEntry.SetPlaceHolder("e.g., 2d20H, 3d6+5") diceInputEntry.SetPlaceHolder("e.g., 2d20H, 3d6+5")
diceInputContainer := container.NewThemeOverride(diceInputEntry, newSizeOverrideTheme(fyne.CurrentApp().Settings().Theme(), inputTextSize))
historyList = widget.NewList( historyList = widget.NewList(
func() int { func() int {
@@ -202,7 +204,7 @@ func main() {
} }
topContent := container.NewBorder( topContent := container.NewBorder(
diceInputEntry, diceInputContainer,
nil, nil,
nil, nil,
nil, nil,
+28 -12
View File
@@ -218,6 +218,15 @@ type customEntry struct {
TextSize float32 TextSize float32
} }
func (e *customEntry) MinSize() fyne.Size {
min := e.Entry.MinSize()
targetHeight := e.TextSize * 2.2
if min.Height < targetHeight {
min.Height = targetHeight
}
return min
}
func (e *customEntry) CreateRenderer() fyne.WidgetRenderer { func (e *customEntry) CreateRenderer() fyne.WidgetRenderer {
// Call the parent's CreateRenderer to ensure proper initialization // Call the parent's CreateRenderer to ensure proper initialization
renderer := e.Entry.CreateRenderer() renderer := e.Entry.CreateRenderer()
@@ -235,12 +244,6 @@ type customEntryRenderer struct {
} }
func (r *customEntryRenderer) Layout(size fyne.Size) { func (r *customEntryRenderer) Layout(size fyne.Size) {
// Update TextSize on all canvas text objects
for _, obj := range r.parentRenderer.Objects() {
if text, ok := obj.(*canvas.Text); ok {
text.TextSize = r.entry.TextSize
}
}
r.parentRenderer.Layout(size) r.parentRenderer.Layout(size)
} }
@@ -249,12 +252,6 @@ func (r *customEntryRenderer) MinSize() fyne.Size {
} }
func (r *customEntryRenderer) Refresh() { func (r *customEntryRenderer) Refresh() {
// Update TextSize on all canvas text objects
for _, obj := range r.parentRenderer.Objects() {
if text, ok := obj.(*canvas.Text); ok {
text.TextSize = r.entry.TextSize
}
}
r.parentRenderer.Refresh() r.parentRenderer.Refresh()
} }
@@ -427,3 +424,22 @@ func maxUniformButtonTextSize(label string, size fyne.Size) float32 {
} }
return maxByHeight return maxByHeight
} }
type sizeOverrideTheme struct {
fyne.Theme
textSize float32
}
func (t *sizeOverrideTheme) Size(name fyne.ThemeSizeName) float32 {
if name == theme.SizeNameText {
return t.textSize
}
return t.Theme.Size(name)
}
func newSizeOverrideTheme(base fyne.Theme, textSize float32) fyne.Theme {
return &sizeOverrideTheme{
Theme: base,
textSize: textSize,
}
}