made input bar bigger
This commit is contained in:
@@ -21,8 +21,10 @@ func main() {
|
||||
var historyList *widget.List
|
||||
|
||||
// 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")
|
||||
diceInputContainer := container.NewThemeOverride(diceInputEntry, newSizeOverrideTheme(fyne.CurrentApp().Settings().Theme(), inputTextSize))
|
||||
|
||||
historyList = widget.NewList(
|
||||
func() int {
|
||||
@@ -202,7 +204,7 @@ func main() {
|
||||
}
|
||||
|
||||
topContent := container.NewBorder(
|
||||
diceInputEntry,
|
||||
diceInputContainer,
|
||||
nil,
|
||||
nil,
|
||||
nil,
|
||||
|
||||
@@ -218,6 +218,15 @@ type customEntry struct {
|
||||
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 {
|
||||
// Call the parent's CreateRenderer to ensure proper initialization
|
||||
renderer := e.Entry.CreateRenderer()
|
||||
@@ -235,12 +244,6 @@ type customEntryRenderer struct {
|
||||
}
|
||||
|
||||
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)
|
||||
}
|
||||
|
||||
@@ -249,12 +252,6 @@ func (r *customEntryRenderer) MinSize() fyne.Size {
|
||||
}
|
||||
|
||||
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()
|
||||
}
|
||||
|
||||
@@ -427,3 +424,22 @@ func maxUniformButtonTextSize(label string, size fyne.Size) float32 {
|
||||
}
|
||||
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,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user