Виджет tree

53 views
Skip to first unread message

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

unread,
Feb 7, 2019, 5:47:28 AM2/7/19
to guiserver
1. как экранировать символы. Хочу наименование в дереве  : " подразделение "дружба"" или :" ОП (Мир)"
2. Играет ли роль порядок заполнения дерева. сперва сын потом родитель...

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

unread,
Feb 8, 2019, 3:19:05 AM2/8/19
to guiserver
Заменил " на '  стало отображаться в дереве
порядок принципиален 

alkresin

unread,
Feb 12, 2019, 2:55:55 AM2/12/19
to guiserver
1. Можно еще использовать «»
2. Да, конечно, порядок обязателен. Guiserver не может создать дочерний узел, если нет родительского.

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

unread,
Feb 15, 2019, 7:37:20 AM2/15/19
to guiserver
поместил диалоговое окно с деревом в отдельную папку. перестало отображаться дерево.  
также заметил что иконку не добавить к диалоговому окну.
 и не смог зафиксировать ширину левой панели(пробовал разные якоря) с высотой справился. чтобы была как paneltop.
Tel.7z

alkresin

unread,
Feb 18, 2019, 3:58:37 AM2/18/19
to guiserver
Из-за некоторых особенностей реализации диалоговых окон в Winapi дерево надо создавать, когда диалог уже активирован. Можно, например, посадить buildTree на oninit:

var pTree *egui.Widget
...
func Sotrform(wx, wy, ww, wh int, wtitle string) {
...
    pDlg := &egui.Widget{X: wx, Y: wy, W: ww, H: wh, Title: wtitle}
    egui.InitDialog(pDlg)
    pDlg.SetCallBackProc("oninit", buildTree, "buildTree")
   pTree = ...
...
func buildTree([]string) string {
...
   return ""
}

Icon в диалоге - это я поправлю.

> не смог зафиксировать ширину левой панели(

  О какой панели речь, в каком из файлов?

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

unread,
Feb 20, 2019, 8:33:55 AM2/20/19
to guiserver
у mainform левая панель.

read tcp4 127.0.0.1:56077->127.0.0.1:3101: wsarecv: An existing connection was forcibly closed by the remote host.
write tcp4 127.0.0.1:56077->127.0.0.1:3101: wsasend: An existing connection was forcibly closed by the remote host.

дерево рисуется.

но открыл форму, закрыл форму, открыл в это время открытие делается медленнее, затем(открыл, закрыл несколько раз)
вообще не открывает. потом выдает кучу форм и ошибку в visual code  привел выше.


alkresin

unread,
Feb 20, 2019, 8:57:24 AM2/20/19
to guiserver
> но открыл форму, закрыл форму, открыл в это время открытие делается медленнее, затем(открыл, закрыл несколько раз)
вообще не открывает. потом выдает кучу форм и ошибку в visual code  привел выше.

 У меня здесь все нормально отрабатывает. Пришлите go файлы - может что-то не так сделали.

alkresin

unread,
Feb 20, 2019, 11:51:57 AM2/20/19
to guiserver
А по панели, чтобы ширина не менялась, уберите egui.A_HORFIX - я, честно говоря, и не помню, для чего он предназначен.

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

unread,
Feb 25, 2019, 6:15:29 AM2/25/19
to guiserver
write tcp4 127.0.0.1:52985->127.0.0.1:3101: wsasend: An existing connection was forcibly closed by the remote host.

эта ошибка возникает. при попытках несколько раз подряд открыть закрыть окно. вывожу только дерево. 
плюсики тоже появляются через какое то время, при наведении мышкой.

решил сделать заполнение заранее. 
department.Departs -  [][]string

func buildTree([]string) string {

	for _, ch := range department.Departs {
		egui.InsertNode(pTree, ch[0], ch[1], ch[2], "", nil, nil, "")
	}
	return ""
}


alkresin

unread,
Feb 26, 2019, 8:32:23 AM2/26/19
to guiserver
Сделайте небольшой законченный пример, чтобы я мог проверить. У меня такой ситуации не возникает.
Reply all
Reply to author
Forward
0 new messages