// File: /workspace/github_c_makefile_star2_O3/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 0xc47d
movq %rsi, %r14
leaq 0x20(%rsi), %rdi
leaq 0xd1d7(%rip), %rax      # 0x194da
movswl (%rax), %esi
callq 0x72d0
movq 0x648(%rbx), %r15
testb %al, %al
je 0xc614
movq %rsp, %r12
movq %r12, %rdi
xorl %esi, %esi
callq 0x7480
movq (%r15), %rax
movq %r15, %rdi
movq %r12, %rsi
callq *0xa0(%rax)
movq %rsp, %rdi
callq 0x7980
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
movl $0x2, %esi
callq *0x180(%rax)
movq (%rax), %rcx
movq %rax, %rdi
callq *0x68(%rcx)
movq 0x5e0(%rbx), %rdi
movq (%rdi), %rax
movl $0x3, %esi
callq *0x180(%rax)
movq (%rax), %rcx
movq %rax, %rdi
callq *0x70(%rcx)
movq 0x650(%rbx), %r14
leaq 0x6126(%rip), %rsi      # 0x12554
movq %rsp, %r15
movq %r15, %rdi
callq 0x77f0
movq (%r14), %rax
movq %r14, %rdi
movq %r15, %rsi
callq *0xa0(%rax)
movq %rsp, %rdi
callq 0x7980
movq 0x660(%rbx), %r14
leaq 0x60fd(%rip), %rsi      # 0x1255b
movq %rsp, %r15
movq %r15, %rdi
callq 0x77f0
movq (%r14), %rax
movq %r14, %rdi
movq %r15, %rsi
callq *0xa0(%rax)
jmp 0xc777
movq 0x648(%rbx), %r14
movq %rsp, %r15
movq %r15, %rdi
xorl %esi, %esi
callq 0x7480
movq (%r14), %rax
movq %r14, %rdi
movq %r15, %rsi
callq *0xa0(%rax)
movq %rsp, %rdi
callq 0x7980
movq 0x658(%rbx), %r14
movq %rsp, %r15
movq %r15, %rdi
xorl %esi, %esi
callq 0x7480
movq (%r14), %rax
movq %r14, %rdi
movq %r15, %rsi
callq *0xa0(%rax)
movq %rsp, %rdi
callq 0x7980
movq 0x668(%rbx), %r14
movq %rsp, %r15
movq %r15, %rdi
xorl %esi, %esi
callq 0x7480
movq (%r14), %rax
movq %r14, %rdi
movq %r15, %rsi
callq *0xa0(%rax)
movq %rsp, %rdi
callq 0x7980
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
movl $0x2, %esi
callq *0x180(%rax)
movq (%rax), %rcx
movq %rax, %rdi
callq *0x70(%rcx)
movq 0x5e0(%rbx), %rdi
movq (%rdi), %rax
movl $0x3, %esi
callq *0x180(%rax)
movq (%rax), %rcx
movq %rax, %rdi
callq *0x70(%rcx)
movq 0x650(%rbx), %r14
leaq 0x5e11(%rip), %rsi      # 0x123ce
movq %rsp, %r15
movq %r15, %rdi
callq 0x77f0
movq (%r14), %rax
movq %r14, %rdi
movq %r15, %rsi
callq *0xa0(%rax)
movq %rsp, %rdi
callq 0x7980
movq 0x660(%rbx), %rbx
leaq 0x5deb(%rip), %rsi      # 0x123d8
movq %rsp, %r14
movq %r14, %rdi
callq 0x77f0
movq (%rbx), %rax
movq %rbx, %rdi
movq %r14, %rsi
callq *0xa0(%rax)
movq %rsp, %rdi
callq 0x7980
jmp 0xc792
movslq 0x630(%r14), %rsi
movq %rsp, %r12
movq %r12, %rdi
callq 0x7220
movq (%r15), %rax
movq %r15, %rdi
movq %r12, %rsi
callq *0xa0(%rax)
movq %rsp, %rdi
callq 0x7980
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
movl $0x2, %esi
callq *0x180(%rax)
movq (%rax), %rcx
movq %rax, %rdi
callq *0x68(%rcx)
movq 0x5e0(%rbx), %rdi
movq (%rdi), %rax
movl $0x3, %esi
callq *0x180(%rax)
movq (%rax), %rcx
movq %rax, %rdi
callq *0x68(%rcx)
movq 0x650(%rbx), %r14
leaq 0x5ca1(%rip), %rsi      # 0x123ce
movq %rsp, %r15
movq %r15, %rdi
callq 0x77f0
movq (%r14), %rax
movq %r14, %rdi
movq %r15, %rsi
callq *0xa0(%rax)
movq %rsp, %rdi
callq 0x7980
movq 0x660(%rbx), %r14
leaq 0x5c7b(%rip), %rsi      # 0x123d8
movq %rsp, %r15
movq %r15, %rdi
callq 0x77f0
movq (%r14), %rax
movq %r14, %rdi
movq %r15, %rsi
callq *0xa0(%rax)
movq %rsp, %rdi
callq 0x7980
movq 0x668(%rbx), %rax
movq 0x5b8(%rax), %rdi
callq 0x73d0
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0xc7b2
jmp 0xc7b2
jmp 0xc7b2
jmp 0xc7b2
jmp 0xc7b2
jmp 0xc7b2
jmp 0xc7b2
jmp 0xc7b2
jmp 0xc7b2
jmp 0xc7b2
movq %rax, %rbx
movq %rsp, %rdi
callq 0x7980
movq %rbx, %rdi
callq 0x7290
nop