예제 #1
0
void QueryDayBillForm::OnKeyEvent(JEvent* e)
{
	int key = e->GetEventCode();
	if (key == KEY_ESC)
	{
		JForm* form;
		ClearWindow();
		form = Singleton<FormManager>::Instance().Get("DetailStatementForm");
		dynamic_cast<DetailStatementForm*>(form)->btnDetail1_->SetCurrent();
		form->Show();
		e->Done();
	}
	else if (key == KEY_ENTER)
	{
		if (e->GetSender() == btnCancel_)
		{
			JForm* form;
			ClearWindow();
			form = Singleton<FormManager>::Instance().Get("DetailStatementForm");
			dynamic_cast<DetailStatementForm*>(form)->btnDetail1_->SetCurrent();
			form->Show();
			e->Done();
		}
		if (e->GetSender() == btnQuery_)
		{
			Query();
			e->Done();
		}
	}

	JForm::OnKeyEvent(e);
}
예제 #2
0
 MidpError lfpport_form_get_viewport_height(int *height)
 {
   JForm *form = JForm::current();
   if (form)
     *height = form->viewportHeight();
   qDebug("Viewport height reported %d", *height);
   return KNI_OK;
 }
예제 #3
0
 MidpError lfpport_form_get_scroll_position(int *pos)
 {
   JForm *form = JForm::current();
   if (form)
     *pos = form->getScrollPosition();
   qDebug("lfpport_form_get_scroll_position -> %d", *pos);
   return KNI_OK;
 }
예제 #4
0
 MidpError lfpport_form_set_scroll_position(int pos)
 {
   JForm *form = JForm::current();
   qDebug("lfpport_form_set_scroll_position(%d)", pos);
   if (form)
     return form->setScrollPosition(pos);
   else
     return KNI_OK;
 }
예제 #5
0
 MidpError lfpport_form_set_current_item(MidpItem *itemPtr, int yOffset)
 {
   qDebug("lfpport_form_set_current_item(...)");
   JForm *form = JForm::current();
   if (form)
     return form->setCurrentItem(qobject_cast<JItem*>(static_cast<QObject *>(itemPtr->widgetPtr)), yOffset);
   else
     return KNI_OK;
 }
예제 #6
0
void QueryDayBillForm::EscCancel(JEvent* e)
{
	Reset();
	JForm* form;
	form = Singleton<FormManager>::Instance().Get("DetailStatementForm");
	dynamic_cast<DetailStatementForm*>(form)->btnDetail1_->SetCurrent();
	form->ClearWindow();
	form->Show();
	e->Done();
}
예제 #7
0
void BalanceInquiryForm::EscCancel(JEvent* e)
{
	Reset();
	JForm* form;
	form = Singleton<FormManager>::Instance().Get("MainMenuForm");
	dynamic_cast<MainMenuForm*>(form)->GetItems()[4]->SetCurrent();
	form->ClearWindow();
	form->Show();
	e->Done();
}
예제 #8
0
void MainMenuForm::Quit()
{
	JForm* from = jFormManager.Get( "ExitMessage" );

	jScreenManager.Dump( from );
	int res = from->Exec();
	jScreenManager.Restore( from );
	///确定退出
	if ( res == 0 )
		jScreenManager.Restore( this );
}
예제 #9
0
void TransferForm::OnKeyEvent(JEvent* e)
{
	int key = e->GetEventCode();
	if (key == KEY_ESC)
	{
		Reset();
		JForm* form;
		//ClearWindow();
		form = Singleton<FormManager>::Instance().Get("MainMenuForm");
		dynamic_cast<MainMenuForm*>(form)->GetItems()[3]->SetCurrent();
		form->ClearWindow();
		form->Show();
		e->Done();
	}
	else if (key == KEY_ENTER)
	{
		if (e->GetSender() == btnCancel_)
		{
			Reset();
			JForm* form;
			//ClearWindow();
			form = Singleton<FormManager>::Instance().Get("MainMenuForm");
			dynamic_cast<MainMenuForm*>(form)->GetItems()[3]->SetCurrent();
			form->ClearWindow();
			form->Show();
			e->Done();
		}
		else if (e->GetSender() == btnReset_)
		{
			Reset();
			editAccountId_->SetCurrent();
			ClearWindow();
			Show();
			e->Done();
		}
		else if (e->GetSender() == btnSubmit_)
		{
			Submit();
			e->Done();
		}
	}

	JForm::OnKeyEvent(e);
}
예제 #10
0
파일: main.cpp 프로젝트: widon1104/ABCBank
int main()
{
    //Singleton<BankClient>::Instance().Login();
    //return 0;
#if 1
    JApplication app;

    JForm* form = Singleton<FormManager>::Instance().Get("LoginForm");
    form->Show();

    return app.Exec();	// 消息循环
#endif
#if 0
    JApplication app;

	printw("%d %d", CONSOLE_WIDTH, CONSOLE_HEIGHT);
	printw("%d %d", LINES, COLS);
	refresh();
    return app.Exec();	// 消息循环
#endif

#if 0
    initscr();
    raw();
    noecho();
    keypad(stdscr, TRUE);
    while (true) {
        int key = getch();
        printw("key: %d\n", key);
		printw("KEY_ENTER: %d", KEY_ENTER);

        if (key == KEY_ENTER) {
            printw("enter\n");
        } else if (key == KEY_1) {
            printw("one--\n");
        } else if (key == KEY_DOWN) {
            printw("down\n");
        } else if (key == KEY_UP) {
            printw("up\n");
        } else if (key == KEY_LEFT) {
            printw("LEFT\n");
        } else if (key == KEY_RIGHT) {
            printw("RIGHT\n");
        }
    }
#endif
#if 0
	JWindowBase jb(0, 0, CONSOLE_WIDTH, CONSOLE_HEIGHT);
	jb.DrawText("test");
	jb.Refresh();

	/*
	init_pair(1, COLOR_RED, COLOR_YELLOW);
	attron(COLOR_PAIR(1));
	mvaddstr(0, 0, "test");
	addstr("test");
	attroff(COLOR_PAIR(1));
	jb.Refresh();
	jb.SetBkColor(COLOR_RED);
	jb.SetTextColor(COLOR_YELLOW);
	JRECT rect = {10, 10, 20, 20};
    curs_set(1);
	jb.SetCursorPos(10, 10);
	init_pair(1, COLOR_RED, COLOR_YELLOW);
	WINDOW *scrwin = newwin(10, 10, 5, 5);
	wbkgd(scrwin, COLOR_PAIR(1));
	wrefresh(scrwin);
	*/
	//jb.Refresh();
	sleep(3);
#endif
#if 0
	JWindow jw(0, 0, CONSOLE_WIDTH, CONSOLE_HEIGHT, 0);
	jw.Draw();
	sleep(3);
#endif
#if 0
	JApplication app;
	char * filename = "scrdumpfile";

	JButton btn2(25, 2, 10, 3, "test2");
	btn2.SetCurrent();
	btn2.Draw();
	btn2.Refresh();

	JButton btn(11, 2, 10, 3, "test");
	//btn.SetCurrent();
	btn.Draw();
	btn.Refresh();

    return app.Exec();
#endif
}
예제 #11
0
파일: LoginForm.cpp 프로젝트: abumusk/study
void LoginForm::Login()
{
	if (editUser_->GetText().length() < 3)
	{
		std::vector<std::string> v;
		v.push_back(" YES ");
		std::string msg = "用户名小于3位";

		int result = JMessageBox::Show("-ERROR-", msg, v);

		JWindow* win = jApp->GetCurrent();		//这里的win是之前按纽,就是引发消息窗的按纽
		editUser_->Show();
		win->Draw();
		win->Refresh();
		return;
	}
	if (editPass_->GetText().length() < 6)
	{
		std::vector<std::string> v;
		v.push_back(" YES ");
		std::string msg = "密码小于6位";

		int result = JMessageBox::Show("-ERROR-", msg, v);

		JWindow* win = jApp->GetCurrent();
		editPass_->Show();
		win->Draw();
		win->Refresh();
		return;
	}
	//TODO:以下为实际的登陆操作
	/*

	Socket sock;
	sock.Create();
	sock.Connect("127.0.0.1", 8888);
	std::string str;
	str.append(editUser_->GetText());
	str.append("#");
	str.append(editPass_->GetText());
	sock.Send(str.c_str(), str.length());

	char buffer[1024] = {0};
	sock.Recv(buffer, sizeof(buffer));

	std::vector<std::string> v;
	v.push_back(" YES ");

	JMessageBox::Show("-ERROR-", buffer, v);


	Rest();
	JForm* form = Singleton<FormManager>::Instance().Get("MainMenuForm");
	form->ClearWindow();
	form->Show();
	*/

	try
	{
		BankSession bs;
		bs.SetCmd(CMD_LOGIN);
		bs.SetAttribute("name", editUser_->GetText());
		bs.SetAttribute("pass", editPass_->GetText());

		Singleton<TransactionManager>::Instance().DoAction(bs);

		if (bs.GetErrorCode() == 0)
		{	
			std::vector<std::string> v;
			v.push_back(" YES ");

			JMessageBox::Show("-MESSAGE-", "登录成功", v);

			Rest();
			JForm* form = Singleton<FormManager>::Instance().Get("MainMenuForm");
			form->ClearWindow();
			form->Show();

		}
		else
		{
			std::vector<std::string> v;
			v.push_back(" YES ");
			JMessageBox::Show("-ERROR-", bs.GetErrorMsg(), v);

			ClearWindow();
			Show();
		}
	}
	catch (Exception& e)
	{
		std::vector<std::string> v;
		v.push_back(" YES ");
		JMessageBox::Show("-ERROR-", e.what(), v);
		
		ClearWindow();
		Show();
	}


}
예제 #12
0
void DetailStatementForm::OnKeyEvent(JEvent* e)
{
	int key = e->GetEventCode();
	if (key == KEY_ESC)
	{
		JForm* form;
		//ClearWindow();
		form = Singleton<FormManager>::Instance().Get("MainMenuForm");
		dynamic_cast<MainMenuForm*>(form)->GetItems()[6]->SetCurrent();
		form->ClearWindow();
		form->Show();
		e->Done();
	}
	else if (key == KEY_ENTER)
	{
		if (e->GetSender() == btnDetail1_)
		{
			JForm* form;
			ClearWindow();
			
			form = Singleton<FormManager>::Instance().Get("QueryDayBillForm");
			form->Show();

			e->Done();
		}
		if (e->GetSender() == btnDetail2_)
		{
			JForm* form;
			//ClearWindow();

			form = Singleton<FormManager>::Instance().Get("QueryHistoryBillForm");
			form->ClearWindow();
			form->Show();

			e->Done();
		}
		if (e->GetSender() == btnDetail3_)
		{

			JForm* form;
			//ClearWindow();

			form = Singleton<FormManager>::Instance().Get("QueryAccountHistoryBillForm");
			form->ClearWindow();
			form->Show();

			e->Done();

		}
		if (e->GetSender() == btnReturn_)
		{
			JForm* form;
			//ClearWindow();
			form = Singleton<FormManager>::Instance().Get("MainMenuForm");
			dynamic_cast<MainMenuForm*>(form)->GetItems()[6]->SetCurrent();
			form->ClearWindow();
			form->Show();
			e->Done();
		}
	}

	JForm::OnKeyEvent(e);
}
예제 #13
0
 MidpError lfpport_form_set_content_size(MidpDisplayable *formPtr, int w, int h)
 {
   JForm *form = (static_cast<JDisplayable *>(formPtr->frame.widgetPtr))->toForm();
   return form->setContentSize(w, h);
 }