40 lines
1.2 KiB
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: добавить возможность удаления конфига при удалении плагина
|