// File: /workspace/github_c_makefile_star2_O2/enzo1982[P]smooth/tools/translator/translator.cpp
// Function: Translator::SelectEntry(smooth::GUI::ListEntry*)
Void Translator::SelectEntry(ListEntry *entry)
{
	if (entry == NIL)
	{
		edit_id->SetText(NIL);
		edit_original->SetText(NIL);
		edit_translated->SetText(NIL);

		text_id->Deactivate();
		edit_id->Deactivate();
		text_original->Deactivate();
		edit_original->Deactivate();
		text_translated->Deactivate();
		edit_translated->Deactivate();
		button_save->Deactivate();
		button_remove->Deactivate();
		button_copy->Deactivate();

		menu_entry->GetNthEntry(2)->Deactivate();
		menu_entry->GetNthEntry(3)->Deactivate();

		text_original->SetText("Original:");
		text_translated->SetText("Translation:");
	}
	else if (entry->GetObjectType() == InfoItem::classID)
	{
		edit_id->SetText(NIL);
		edit_original->SetText(((InfoItem *) entry)->GetName());
		edit_translated->SetText(((InfoItem *) entry)->GetValue());

		text_id->Deactivate();
		edit_id->Deactivate();
		text_original->Activate();
		edit_original->Deactivate();
		text_translated->Activate();
		edit_translated->Activate();
		button_save->Activate();
		button_remove->Deactivate();
		button_copy->Deactivate();

		menu_entry->GetNthEntry(2)->Activate();
		menu_entry->GetNthEntry(3)->Deactivate();

		text_original->SetText("Field:");
		text_translated->SetText("Value:");

		edit_translated->MarkAll();
	}
	else
	{
		edit_id->SetText(String::FromInt(((StringItem *) entry)->GetID()));
		edit_original->SetText(((StringItem *) entry)->GetOriginal());
		edit_translated->SetText(((StringItem *) entry)->GetTranslation());

		text_id->Activate();
		edit_id->Activate();
		text_original->Activate();
		edit_original->Activate();
		text_translated->Activate();
		edit_translated->Activate();
		button_save->Activate();
		button_remove->Activate();
		button_copy->Activate();

		menu_entry->GetNthEntry(2)->Activate();
		menu_entry->GetNthEntry(3)->Activate();

		text_original->SetText("Original:");
		text_translated->SetText("Translation:");

		edit_translated->MarkAll();
	}
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
testq %rsi, %rsi
je 0xd23d
movq %rsi, %r14
leaq 0x20(%rsi), %rdi
leaq 0xc41b(%rip), %rax      # 0x194e2
movswl (%rax), %esi
callq 0x82d0
movq 0x648(%rbx), %r15
testb %al, %al
je 0xd3d0
movq %rsp, %r12
movq %r12, %rdi
xorl %esi, %esi
callq 0x8480
movq (%r15), %rax
movq %r15, %rdi
movq %r12, %rsi
callq *0xa0(%rax)
movq %rsp, %rdi
callq 0x8990
movq 0x658(%rbx), %rdi
leaq 0x630(%r14), %rsi
movq (%rdi), %rax
callq *0xa0(%rax)
movq 0x668(%rbx), %rdi
addq $0x648, %r14            # imm = 0x648
movq (%rdi), %rax
movq %r14, %rsi
callq *0xa0(%rax)
movq 0x640(%rbx), %rdi
movq (%rdi), %rax
callq *0x70(%rax)
movq 0x648(%rbx), %rdi
movq (%rdi), %rax
callq *0x70(%rax)
movq 0x650(%rbx), %rdi
movq (%rdi), %rax
callq *0x68(%rax)
movq 0x658(%rbx), %rdi
movq (%rdi), %rax
callq *0x70(%rax)
movq 0x660(%rbx), %rdi
movq (%rdi), %rax
callq *0x68(%rax)
movq 0x668(%rbx), %rdi
movq (%rdi), %rax
callq *0x68(%rax)
movq 0x670(%rbx), %rdi
movq (%rdi), %rax
callq *0x68(%rax)
movq 0x678(%rbx), %rdi
movq (%rdi), %rax
callq *0x70(%rax)
movq 0x680(%rbx), %rdi
movq (%rdi), %rax
callq *0x70(%rax)
movq 0x5e0(%rbx), %rdi
movq (%rdi), %rax
pushq $0x2
popq %rsi
callq *0x180(%rax)
movq (%rax), %rcx
movq %rax, %rdi
callq *0x68(%rcx)
movq 0x5e0(%rbx), %rdi
movq (%rdi), %rax
pushq $0x3
popq %rsi
callq *0x180(%rax)
movq (%rax), %rcx
movq %rax, %rdi
callq *0x70(%rcx)
movq 0x650(%rbx), %r14
leaq 0x5356(%rip), %rsi      # 0x12544
movq %rsp, %r15
movq %r15, %rdi
callq 0x8800
movq (%r14), %rax
movq %r14, %rdi
movq %r15, %rsi
callq *0xa0(%rax)
movq %rsp, %rdi
callq 0x8990
movq 0x660(%rbx), %r14
leaq 0x532d(%rip), %rsi      # 0x1254b
movq %rsp, %r15
movq %r15, %rdi
callq 0x8800
movq (%r14), %rax
movq %r14, %rdi
movq %r15, %rsi
callq *0xa0(%rax)
jmp 0xd52f
movq 0x648(%rbx), %r14
movq %rsp, %r15
movq %r15, %rdi
xorl %esi, %esi
callq 0x8480
movq (%r14), %rax
movq %r14, %rdi
movq %r15, %rsi
callq *0xa0(%rax)
movq %rsp, %rdi
callq 0x8990
movq 0x658(%rbx), %r14
movq %rsp, %r15
movq %r15, %rdi
xorl %esi, %esi
callq 0x8480
movq (%r14), %rax
movq %r14, %rdi
movq %r15, %rsi
callq *0xa0(%rax)
movq %rsp, %rdi
callq 0x8990
movq 0x668(%rbx), %r14
movq %rsp, %r15
movq %r15, %rdi
xorl %esi, %esi
callq 0x8480
movq (%r14), %rax
movq %r14, %rdi
movq %r15, %rsi
callq *0xa0(%rax)
movq %rsp, %rdi
callq 0x8990
movq 0x640(%rbx), %rdi
movq (%rdi), %rax
callq *0x70(%rax)
movq 0x648(%rbx), %rdi
movq (%rdi), %rax
callq *0x70(%rax)
movq 0x650(%rbx), %rdi
movq (%rdi), %rax
callq *0x70(%rax)
movq 0x658(%rbx), %rdi
movq (%rdi), %rax
callq *0x70(%rax)
movq 0x660(%rbx), %rdi
movq (%rdi), %rax
callq *0x70(%rax)
movq 0x668(%rbx), %rdi
movq (%rdi), %rax
callq *0x70(%rax)
movq 0x670(%rbx), %rdi
movq (%rdi), %rax
callq *0x70(%rax)
movq 0x678(%rbx), %rdi
movq (%rdi), %rax
callq *0x70(%rax)
movq 0x680(%rbx), %rdi
movq (%rdi), %rax
callq *0x70(%rax)
movq 0x5e0(%rbx), %rdi
movq (%rdi), %rax
pushq $0x2
popq %rsi
callq *0x180(%rax)
movq (%rax), %rcx
movq %rax, %rdi
callq *0x70(%rcx)
movq 0x5e0(%rbx), %rdi
movq (%rdi), %rax
pushq $0x3
popq %rsi
callq *0x180(%rax)
movq (%rax), %rcx
movq %rax, %rdi
callq *0x70(%rcx)
movq 0x650(%rbx), %r14
leaq 0x5045(%rip), %rsi      # 0x123be
movq %rsp, %r15
movq %r15, %rdi
callq 0x8800
movq (%r14), %rax
movq %r14, %rdi
movq %r15, %rsi
callq *0xa0(%rax)
movq %rsp, %rdi
callq 0x8990
movq 0x660(%rbx), %rbx
leaq 0x501f(%rip), %rsi      # 0x123c8
movq %rsp, %r14
movq %r14, %rdi
callq 0x8800
movq (%rbx), %rax
movq %rbx, %rdi
movq %r14, %rsi
callq *0xa0(%rax)
movq %rsp, %rdi
callq 0x8990
jmp 0xd543
movslq 0x630(%r14), %rsi
movq %rsp, %r12
movq %r12, %rdi
callq 0x8220
movq (%r15), %rax
movq %r15, %rdi
movq %r12, %rsi
callq *0xa0(%rax)
movq %rsp, %rdi
callq 0x8990
movq 0x658(%rbx), %rdi
leaq 0x638(%r14), %rsi
movq (%rdi), %rax
callq *0xa0(%rax)
movq 0x668(%rbx), %rdi
addq $0x650, %r14            # imm = 0x650
movq (%rdi), %rax
movq %r14, %rsi
callq *0xa0(%rax)
movq 0x640(%rbx), %rdi
movq (%rdi), %rax
callq *0x68(%rax)
movq 0x648(%rbx), %rdi
movq (%rdi), %rax
callq *0x68(%rax)
movq 0x650(%rbx), %rdi
movq (%rdi), %rax
callq *0x68(%rax)
movq 0x658(%rbx), %rdi
movq (%rdi), %rax
callq *0x68(%rax)
movq 0x660(%rbx), %rdi
movq (%rdi), %rax
callq *0x68(%rax)
movq 0x668(%rbx), %rdi
movq (%rdi), %rax
callq *0x68(%rax)
movq 0x670(%rbx), %rdi
movq (%rdi), %rax
callq *0x68(%rax)
movq 0x678(%rbx), %rdi
movq (%rdi), %rax
callq *0x68(%rax)
movq 0x680(%rbx), %rdi
movq (%rdi), %rax
callq *0x68(%rax)
movq 0x5e0(%rbx), %rdi
movq (%rdi), %rax
pushq $0x2
popq %rsi
callq *0x180(%rax)
movq (%rax), %rcx
movq %rax, %rdi
callq *0x68(%rcx)
movq 0x5e0(%rbx), %rdi
movq (%rdi), %rax
pushq $0x3
popq %rsi
callq *0x180(%rax)
movq (%rax), %rcx
movq %rax, %rdi
callq *0x68(%rcx)
movq 0x650(%rbx), %r14
leaq 0x4ed9(%rip), %rsi      # 0x123be
movq %rsp, %r15
movq %r15, %rdi
callq 0x8800
movq (%r14), %rax
movq %r14, %rdi
movq %r15, %rsi
callq *0xa0(%rax)
movq %rsp, %rdi
callq 0x8990
movq 0x660(%rbx), %r14
leaq 0x4eb3(%rip), %rsi      # 0x123c8
movq %rsp, %r15
movq %r15, %rdi
callq 0x8800
movq (%r14), %rax
movq %r14, %rdi
movq %r15, %rsi
callq *0xa0(%rax)
movq %rsp, %rdi
callq 0x8990
movq 0x668(%rbx), %rdi
callq 0x1148c
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0xd563
jmp 0xd563
jmp 0xd563
jmp 0xd563
jmp 0xd563
jmp 0xd563
jmp 0xd563
jmp 0xd563
jmp 0xd563
jmp 0xd563
movq %rax, %rbx
movq %rsp, %rdi
callq 0x8990
movq %rbx, %rdi
callq 0x8290