// package wui_text -- WUI текст. package wui_text import ( "strings" "sync" mWt "gitp78su.ipnodns.ru/svi/kern/v4/lev2/wui/wui_types" "gitp78su.ipnodns.ru/svi/kern/v4/lev2/wui/wui_widget" ) // WuiText -- текст для WUI. type WuiText struct { mWt.IWuiWidget sync.RWMutex val string } // NewWuiText -- возвращает новый текст WUI. func NewWuiText(val string) *WuiText { sf := &WuiText{ IWuiWidget: wui_widget.NewWuiWidget(), val: val, } _ = mWt.IWuiText(sf) return sf } const ( strBeg = `{.txt}` ) // Html -- возвращает HTML-представление текста. func (sf *WuiText) Html() string { sf.RLock() defer sf.RUnlock() strRes := strings.ReplaceAll(strBeg, "{.id}", sf.Id()) strRes = strings.ReplaceAll(strRes, "{.txt}", sf.val) return strRes } // Set -- устанавливает хранимое значение. func (sf *WuiText) Set(val string) { sf.Lock() defer sf.Unlock() sf.val = val } // Get -- возвращает хранимое значение. func (sf *WuiText) Get() string { sf.RLock() defer sf.RUnlock() return sf.val }