// File: /workspace/github_c_makefile_star2_O3/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 0xdd3b0(%rip), %rax     # 0x16b918
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 0xd4263(%rip), %rcx     # 0x1627f8
movq %rcx, 0xd00(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0xd10(%rbx)
movq %rax, 0xd28(%rbx)
leaq 0xd3194(%rip), %rcx     # 0x161748
movq %rcx, 0xd20(%rbx)
movups %xmm0, 0xd30(%rbx)
movq %rax, 0xd48(%rbx)
movq %rcx, 0xd40(%rbx)
movups %xmm0, 0xd50(%rbx)
movq 0xdd5f2(%rip), %rax     # 0x16bbd0
movzwl (%rax), %eax
movw %ax, 0x20(%rbx)
movl $0x2, 0x660(%rbx)
leaq 0xcb8(%rbx), %rdi
movq %r15, %rsi
callq 0x83012
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 0xdd86e(%rip), %rsi     # 0x16bec0
movq %r13, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x8fe56
movl $0x2d8, %edi            # imm = 0x2D8
addq 0xcf8(%rbx), %rdi
movq 0xdd88e(%rip), %rsi     # 0x16bf00
xorl %edx, %edx
movq %rbx, %rcx
callq 0x8fe56
movl $0x2f8, %edi            # imm = 0x2F8
addq 0xcf8(%rbx), %rdi
leaq 0x5d0(%rbx), %rsi
callq 0x71712
movq 0xcf8(%rbx), %rsi
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x30(%rax)
movl $0x2f8, %edi            # imm = 0x2F8
addq 0x5c0(%rbx), %rdi
movq 0xdd3d1(%rip), %rsi     # 0x16ba88
xorl %edx, %edx
movq %rbx, %rcx
callq 0x8ff16
movq 0xdd5e0(%rip), %rdi     # 0x16bca8
movq 0xdd6a1(%rip), %rsi     # 0x16bd70
xorl %edx, %edx
movq %rbx, %rcx
callq 0x8ff82
leaq 0x298(%rbx), %rdi
movq 0xdcc69(%rip), %rsi     # 0x16b350
xorl %edx, %edx
movq %rbx, %rcx
callq 0x90042
leaq 0x610(%rbx), %rdi
movq 0xdcdb1(%rip), %rsi     # 0x16b4b0
xorl %edx, %edx
movq %rbx, %rcx
callq 0x90102
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 0x8e731
movq %rax, %r12
jmp 0x8e75c
movq %rax, %r12
leaq 0xd20(%rbx), %r13
leaq 0xd40(%rbx), %rdi
callq 0x700f4
movq %r13, %rdi
callq 0x700f4
movq %r15, %rdi
callq 0x765fc
movq %r14, %rdi
callq 0x57480
movq %rbx, %rdi
callq 0x58ed0
movq %r12, %rdi
callq 0x57090