LINUX.ORG.RU

[wxPerl] Окно логина


0

1

Появилась необходимость сделать окно логина с проверкой в БД, но что-то не идут идеи, как это всё лучше провернуть.

Есть модуль Loader.pm, в котором идёт создание главного окна. Перед этим хочу вывести окно логина и если успех, то создавать и показывать главное окно.

Проблемы конкретно с архитектурой. Окно логина будет в отдельном модуле, проверку авторизации надо будет сунуть в другой. Как всё это совместить?

★★

В модуле логина загружаем модуль проверки авторизации и создания главного окна. Берем то что ввел пользователь и проверяем через функцию модуля проверки авторизации. Если верно создаем главное окно функцией модуля главного окна.

Olegymous ★★★
()
Ответ на: комментарий от Olegymous

В Wx::App->OnInit написал:


sub OnInit {
	print "MyApp::OnInit()\n";

	my $self = shift;

	# Sign in
	my $login = LoginFrame->new;
	$login->ShowModal;

	if($login->GetReturnCode) {
		print "[".$login->GetReturnCode."]\n";
	} else {
		print "[".$login->GetReturnCode."]\n";
		$self->ExitMainLoop(1);
	}

	return 1;
}

Если я закрываю окно логина (возвращается -1), то дальше ничего не происходит. Как правильно завершить выполнение?

VeroLom ★★
() автор топика

Проблему решил, но насколько решение корректно?


my $f = LoginFrame->new;
$f->ShowModal;

if(int($f->GetReturnCode)) {
	print '['.$f->GetReturnCode."]\n";
	$f->Destroy;

	my $app = new MyApp;
	$app->MainLoop;
} else {
	print "PLEASE NOT THIS SHIT AGAIN!!!\n";
	print '['.$f->GetReturnCode."]\n";
}
VeroLom ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.