client/config/config.go

40 lines
1.2 KiB
Go

package config
import (
"fyne.io/fyne/v2"
)
// WidgetConfig хранит настройки для каждого виджета
type WidgetConfig struct {
Name string // Добавлено поле для имени виджета
Widget fyne.Widget // Виджет
Width float32 // Ширина
Height float32 // Высота
XPos float32 // Позиция X
YPos float32 // Позиция Y
}
var WidgetConfigs []WidgetConfig
// AddWidget добавляет новый виджет в конфигурацию
func AddWidget(w WidgetConfig) {
WidgetConfigs = append(WidgetConfigs, w)
}
// GetWidgets возвращает текущие конфигурации виджетов
func GetWidgets() []WidgetConfig {
return WidgetConfigs
}
// GetWidgetByName возвращает виджет по имени
func GetWidgetByName(name string) (fyne.Widget, bool) {
for _, config := range WidgetConfigs {
if config.Name == name {
return config.Widget, true
}
}
return nil, false // Если виджет не найден
}
// TODO: добавить возможность удаления конфига при удалении плагина