// File: /workspace/github_c_makefile_star2_O2/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 0x562b0
movq 0xd6438(%rip), %rax     # 0x161918
addq $0x10, %rax
movq %rax, (%rbx)
leaq 0x630(%rbx), %r14
movq %r14, %rdi
callq 0x59310
andq $0x0, 0xd08(%rbx)
leaq 0xcd313(%rip), %rax     # 0x158818
movq %rax, 0xd00(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0xd10(%rbx)
andq $0x0, 0xd28(%rbx)
leaq 0xcc243(%rip), %rax     # 0x157768
movq %rax, 0xd20(%rbx)
movups %xmm0, 0xd30(%rbx)
andq $0x0, 0xd48(%rbx)
leaq 0xd00(%rbx), %r15
movq %rax, 0xd40(%rbx)
movups %xmm0, 0xd50(%rbx)
movq 0xd6679(%rip), %rax     # 0x161bd0
movzwl (%rax), %eax
movw %ax, 0x20(%rbx)
movl $0x2, 0x660(%rbx)
leaq 0xcb8(%rbx), %rdi
movq %r15, %rsi
callq 0x80f32
movq (%rbx), %rax
movq %rbx, %rdi
movq %r14, %rsi
callq *0x30(%rax)
movl $0x5b8, %edi            # imm = 0x5B8
callq 0x56700
movq %rax, %r13
leaq 0x8(%rsp), %rsi
andq $0x0, (%rsi)
movl 0xb0(%rbx), %eax
movq %rsp, %rdx
movl %eax, (%rdx)
movl $0x10, 0x4(%rdx)
movq %r13, %rdi
callq 0x56aa0
movq %r13, 0xcf8(%rbx)
addq $0x2b8, %r13            # imm = 0x2B8
movq 0xd68f8(%rip), %rsi     # 0x161ec0
movq %r13, %rdi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x8cb26
movl $0x2d8, %edi            # imm = 0x2D8
addq 0xcf8(%rbx), %rdi
movq 0xd6918(%rip), %rsi     # 0x161f00
xorl %edx, %edx
movq %rbx, %rcx
callq 0x8cb26
movl $0x2f8, %edi            # imm = 0x2F8
addq 0xcf8(%rbx), %rdi
leaq 0x5d0(%rbx), %rsi
callq 0x71412
movq 0xcf8(%rbx), %rsi
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x30(%rax)
movl $0x2f8, %edi            # imm = 0x2F8
addq 0x5c0(%rbx), %rdi
movq 0xd645b(%rip), %rsi     # 0x161a88
xorl %edx, %edx
movq %rbx, %rcx
callq 0x8cbc2
movq 0xd666a(%rip), %rdi     # 0x161ca8
movq 0xd672b(%rip), %rsi     # 0x161d70
xorl %edx, %edx
movq %rbx, %rcx
callq 0x8cc2c
leaq 0x298(%rbx), %rdi
movq 0xd5cf3(%rip), %rsi     # 0x161350
xorl %edx, %edx
movq %rbx, %rcx
callq 0x8ccc8
leaq 0x610(%rbx), %rdi
movq 0xd5e3b(%rip), %rsi     # 0x1614b0
xorl %edx, %edx
movq %rbx, %rcx
callq 0x8cd64
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 0x564c0
jmp 0x8b6a7
movq %rax, %r12
jmp 0x8b6d2
movq %rax, %r12
leaq 0xd20(%rbx), %r13
leaq 0xd40(%rbx), %rdi
callq 0x700e0
movq %r13, %rdi
callq 0x700e0
movq %r15, %rdi
callq 0x75a48
movq %r14, %rdi
callq 0x58680
movq %rbx, %rdi
callq 0x5a240
movq %r12, %rdi
callq 0x58260