view_use_case.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // package view_use_case -- отображение вариант использования
  2. package view_use_case
  3. import (
  4. svg "github.com/ajstarks/svgo"
  5. "gitp78su.ipnodns.ru/svi/goarch/lev0/types"
  6. )
  7. // ViewUseCase -- вариант использования
  8. type ViewUseCase struct {
  9. types.IElemUseCase
  10. Size_ types.IViewSize
  11. }
  12. // NewViewUseCase -- возвращает новый вариант использования
  13. func NewViewUseCase(useCase types.IElemUseCase) *ViewUseCase {
  14. sf := &ViewUseCase{
  15. IElemUseCase: useCase,
  16. }
  17. sf.SelfCheck()
  18. return sf
  19. }
  20. // SelfCheck -- проверяет корректность элемента
  21. func (sf *ViewUseCase) SelfCheck() {
  22. sf.IElemUseCase.SelfCheck()
  23. sf.Size_.SelfCheck()
  24. }
  25. // Draw -- рисует вариант использования
  26. func (sf *ViewUseCase) Draw(canvas *svg.SVG) {
  27. x, y := sf.Coord().Int()
  28. // offX := int(sf.Label().Offset().X())
  29. w, h := sf.Size_.Int()
  30. // Овал
  31. canvas.Ellipse(x+70, y, w, h, "fill:none;stroke:black")
  32. // strLabel := sf.Label().String()
  33. sf.Label().Draw(canvas)
  34. // if strLabel != "" {
  35. // canvas.Text(x+offX, y+6, strLabel, "font-size: 14px; font-family: Courier; fill: black")
  36. // }
  37. // if msgErr := sf.Check(mapElem); msgErr != "" {
  38. // canvas.Group("Ошибка")
  39. // canvas.Title(msgErr)
  40. // canvas.Image(x-20, y-20, 16, 16, "/static/img/warning.png")
  41. // }
  42. canvas.Gend()
  43. }