| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- // package view_use_case -- отображение вариант использования
- package view_use_case
- import (
- svg "github.com/ajstarks/svgo"
- "gitp78su.ipnodns.ru/svi/goarch/lev0/types"
- "gitp78su.ipnodns.ru/svi/goarch/lev1/arch_use_case"
- "gitp78su.ipnodns.ru/svi/goarch/lev1/view_coord"
- "gitp78su.ipnodns.ru/svi/goarch/lev1/view_text"
- )
- // ViewUseCase -- вариант использования
- type ViewUseCase struct {
- *arch_use_case.ArchUseCase
- Size_ types.IViewSize
- Coord_ view_coord.ViewCoord
- text *view_text.ViewText
- }
- // NewViewUseCase -- возвращает новый вариант использования
- func NewViewUseCase(useCase *arch_use_case.ArchUseCase) *ViewUseCase {
- sf := &ViewUseCase{
- ArchUseCase: useCase,
- }
- sf.SelfCheck()
- return sf
- }
- // SelfCheck -- проверяет корректность элемента
- func (sf *ViewUseCase) SelfCheck() {
- sf.ArchUseCase.SelfCheck()
- sf.Size_.SelfCheck()
- }
- // Draw -- рисует вариант использования
- func (sf *ViewUseCase) Draw(canvas *svg.SVG) {
- x, y := sf.Coord_.Int()
- // offX := int(sf.Label().Offset().X())
- w, h := sf.Size_.Int()
- // Овал
- canvas.Ellipse(x+70, y, w, h, "fill:none;stroke:black")
- // strLabel := sf.Label().String()
- sf.text.Draw(canvas)
- // 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()
- }
|