// File: /workspace/github_c_makefile_star2_O1/enzo1982[P]smooth/classes/gui/widgets/multi/tree/tree.cpp
// Function: smooth::GUI::Tree::Tree(smooth::String const&)
S::GUI::Tree::Tree(const String &iText) : ListEntry(iText)
{
	type	= classID;

	list.SetFlags(LF_ALLOWRESELECT);

	list.onSelectEntry.Connect(&onSelectEntry);

	Add(&list);

	headHotspot	= new Hotspot(Point(), Size(GetWidth(), 16));

	headHotspot->onMouseOver.Connect(&Tree::OnMouseOver, this);
	headHotspot->onMouseOut.Connect(&Tree::OnMouseOut, this);

	headHotspot->onLeftButtonDown.Connect(&onSelect);

	Add(headHotspot);

	hotspot->onLeftButtonDown.Disconnect(&ListEntry::OnSelectEntry, this);

	internalOnSelectEntry.Connect(&Tree::OnSelectEntry, this);

	onChangeSize.Connect(&Tree::OnChangeSize, this);
	onToggleMark.Connect(&Tree::OnToggleMark, this);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
callq 0x55290
movq 0xdde30(%rip), %rax     # 0x16c918
addq $0x10, %rax
movq %rax, (%rbx)
leaq 0x630(%rbx), %r14
movq %r14, %rdi
callq 0x58080
leaq 0xd00(%rbx), %r15
xorl %eax, %eax
movq %rax, 0xd08(%rbx)
leaq 0xd4ce3(%rip), %rcx     # 0x1637f8
movq %rcx, 0xd00(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0xd10(%rbx)
movq %rax, 0xd28(%rbx)
leaq 0xd3c14(%rip), %rcx     # 0x162748
movq %rcx, 0xd20(%rbx)
movups %xmm0, 0xd30(%rbx)
movq %rax, 0xd48(%rbx)
movq %rcx, 0xd40(%rbx)
movups %xmm0, 0xd50(%rbx)
movq 0xde072(%rip), %rax     # 0x16cbd0
movzwl (%rax), %eax
movw %ax, 0x20(%rbx)
movl $0x2, 0x660(%rbx)
leaq 0xcb8(%rbx), %rdi
movq %r15, %rsi
callq 0x834d4
movq (%rbx), %rax
movq %rbx, %rdi
movq %r14, %rsi
callq *0x30(%rax)
movl $0x5b8, %edi            # imm = 0x5B8
callq 0x556b0
movq %rax, %r13
leaq 0x8(%rsp), %rsi
movq $0x0, (%rsi)
movl 0xb0(%rbx), %eax
movq %rsp, %rdx
movl %eax, (%rdx)
movl $0x10, 0x4(%rdx)
movq %r13, %rdi
callq 0x55a30
movq %r13, 0xcf8(%rbx)
addq $0x2b8, %r13            # imm = 0x2B8
movq 0xde2ee(%rip), %rsi     # 0x16cec0
movq %r13, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x903f2
movl $0x2d8, %edi            # imm = 0x2D8
addq 0xcf8(%rbx), %rdi
movq 0xde30e(%rip), %rsi     # 0x16cf00
xorl %edx, %edx
movq %rbx, %rcx
callq 0x903f2
movl $0x2f8, %edi            # imm = 0x2F8
addq 0xcf8(%rbx), %rdi
leaq 0x5d0(%rbx), %rsi
callq 0x71a12
movq 0xcf8(%rbx), %rsi
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x30(%rax)
movl $0x2f8, %edi            # imm = 0x2F8
addq 0x5c0(%rbx), %rdi
movq 0xdde51(%rip), %rsi     # 0x16ca88
xorl %edx, %edx
movq %rbx, %rcx
callq 0x904b0
movq 0xde060(%rip), %rdi     # 0x16cca8
movq 0xde121(%rip), %rsi     # 0x16cd70
xorl %edx, %edx
movq %rbx, %rcx
callq 0x9051c
leaq 0x298(%rbx), %rdi
movq 0xdd6e9(%rip), %rsi     # 0x16c350
xorl %edx, %edx
movq %rbx, %rcx
callq 0x905da
leaq 0x610(%rbx), %rdi
movq 0xdd831(%rip), %rsi     # 0x16c4b0
xorl %edx, %edx
movq %rbx, %rcx
callq 0x90698
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
movq %rax, %r12
movl $0x5b8, %esi            # imm = 0x5B8
movq %r13, %rdi
callq 0x55480
jmp 0x8ecb1
movq %rax, %r12
jmp 0x8ecdc
movq %rax, %r12
leaq 0xd20(%rbx), %r13
leaq 0xd40(%rbx), %rdi
callq 0x703d2
movq %r13, %rdi
callq 0x703d2
movq %r15, %rdi
callq 0x768f2
movq %r14, %rdi
callq 0x57480
movq %rbx, %rdi
callq 0x58ed0
movq %r12, %rdi
callq 0x57090