splitter

43 views
Skip to first unread message

Сергей Владимирович

unread,
Nov 28, 2018, 9:51:55 AM11/28/18
to guiserver
цель нарисовать splitter по центру между панелями. квадратик обведенный бордюром.

// style splitter
egui.CreateStyle(&(egui.Style{Name: "stsplitter", Colors: []int32{clrBLUE}, BorderW: 1, BorderClr: clrBLACK}))

  //panelleft фиксированная слева
  panelleft := pWindow.AddWidget(&egui.Widget{Type: "panel", Name: "lpan", X: 0, Y: 52, W: 100, H: 158, Anchor: egui.A_TOPABS + egui.A_BOTTOMABS,
    AProps: map[string]string{"HStyle": "st2"}})
  panelleft.AddWidget(&egui.Widget{Type: "paneltop", H: 50, Anchor: egui.A_TOPABS + egui.A_BOTTOMABS, AProps: map[string]string{"HStyle": "st1"}})
  //panelright растягивается
  panelright := pWindow.AddWidget(&egui.Widget{Type: "panel", Name: "rpan", X: 102, Y: 52, W: 300, H: 158, Anchor: egui.A_TOPABS + egui.A_BOTTOMABS + egui.A_RIGHTABS + egui.A_LEFTABS,
    AProps: map[string]string{"HStyle": "st1"}})

// splitter
pWindow.AddWidget(&egui.Widget{Type: "splitter", X: 101, Y: 104, W: 4, H: 50,Anchor: egui.A_VERTFIX,
    AProps: map[string]string{"ALeft": egui.ToString(panelleft), "ARight": egui.ToString(panelright),"HStyle": "stsplitter"}})

можно ли такое если да, то где ошибка.

alkresin

unread,
Nov 28, 2018, 11:36:37 AM11/28/18
to guiserver
Ошибка в том, что свойство HStyle не поддерживается сплиттером - при ширине 4px (хотя можно сделать и больше) там особо не развернешься с рисованием. Хотя добавить будет можно.
В extwidg.go, ф-ии init() определена map mWidgs - там перечислены все типы поддерживаемых виджетов и их дополнительные свойства (которые в AProps). Если в AddWidget() будет тип или свойство, не включенное в mWidgs, программа запишет сообщение в egui.log - посмотрите, он должен был у вас появиться.
Так что уберите пока оттуда HStyle, я его на днях добавлю.

Сергей Владимирович

unread,
Dec 18, 2018, 4:14:08 AM12/18/18
to guiserver
в designer  не обнаружил splitter. Там его нет или плохо смотрю?

alkresin

unread,
Dec 18, 2018, 8:59:19 AM12/18/18
to guiserver
Нет.
Надо будет вставить.

alkresin

unread,
Dec 23, 2018, 7:23:37 AM12/23/18
to guiserver
Добавил в Designer недостающие виджеты - splitter, top panel, status panel, static link и выложил на сайт. Guiserver тоже обновлен - пересобран с HwgGui 2.22 build 2.
Reply all
Reply to author
Forward
0 new messages