| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- // package view_use_case -- отображение вариант использования
- package view_use_case
- import (
- svg "github.com/ajstarks/svgo"
- "gitp78su.ipnodns.ru/svi/goarch/lev0/alias"
- "gitp78su.ipnodns.ru/svi/goarch/lev0/types"
- "gitp78su.ipnodns.ru/svi/goarch/pkg/elems/use_case"
- "gitp78su.ipnodns.ru/svi/kern/v3"
- )
- // ViewUseCase -- вариант использования
- type ViewUseCase struct {
- UseCase_ *use_case.UseCase
- }
- var (
- hassert = kern.GetFnHassert()
- )
- // NewViewUseCase -- возвращает новый вариант использования
- func NewViewUseCase(useCase *use_case.UseCase, elem map[string]interface{}) *ViewUseCase {
- hassert(useCase != nil,"NewViewUseCase(): useCase=nil")
- sf := &ViewUseCase{
- UseCase_: useCase,
- }
- return sf
- }
- // Draw -- рисует вариант использования
- func (sf *ViewUseCase) Draw(canvas *svg.SVG, mapElem map[alias.Id]types.IElemDrawer) {
- x := int(sf.UseCase_.ElemBase_.Label_.Coord_.X_)
- y := int(sf.UseCase_.ElemBase_.Label_.Coord_.Y_)
- offX := int(sf.UseCase_.ElemBase_.Label_.Offset_.X_)
- w := int(sf.UseCase_.Size_.W_)
- h := int(sf.UseCase_.Size_.H_)
- // Овал
- canvas.Ellipse(x+70, y, w, h, "fill:none;stroke:black")
- strLabel:=string(sf.UseCase_.ElemBase_.Label_.Val_)
- if strLabel != "" {
- canvas.Text(x+offX, y+6, strLabel, "font-size: 14px; font-family: Courier; fill: black")
- }
- if msgErr := sf.Check(mapElem); msgErr != "" {
- canvas.Group("Ошибка")
- canvas.Title(msgErr)
- canvas.Image(x-20, y-20, 16, 16, "/static/img/warning.png")
- canvas.Gend()
- }
- }
|