コード例 #1
0
frmGrantWizard::frmGrantWizard(frmMain *form, pgObject *obj) : ExecutionDialog(form, obj)
{
	nbNotebook = 0;

	SetFont(settings->GetSystemFont());
	LoadResource(form, wxT("frmGrantWizard"));
	RestorePosition();

	SetTitle(object->GetTranslatedMessage(GRANTWIZARDTITLE));

	// Icon
	SetIcon(*index_png_ico);
	nbNotebook = CTRL_NOTEBOOK("nbNotebook");
	sqlPane = 0;

	Restore();
	EnableOK(false);
}
コード例 #2
0
frmGrantWizard::frmGrantWizard(frmMain *form, pgObject *obj) : ExecutionDialog(form, obj)
{
    nbNotebook = 0;

    wxWindowBase::SetFont(settings->GetSystemFont());
    LoadResource(form, wxT("frmGrantWizard"));
    RestorePosition();

    if (object->IsCollection())
        SetTitle(wxString::Format(_("Privileges for %s"), object->GetTranslatedTypeName().c_str(), ""));
    else
        SetTitle(wxString::Format(_("Privileges for %s %s"), object->GetTranslatedTypeName().c_str(), object->GetFullIdentifier().c_str()));

    // Icon
    SetIcon(wxIcon(index_xpm));
    nbNotebook = CTRL_NOTEBOOK("nbNotebook");
    sqlPane = 0;

    Restore();
    EnableOK(false);
}
コード例 #3
0
ファイル: dlgClasses.cpp プロジェクト: kleopatra999/pgadmin3
void ExecutionDialog::OnOK(wxCommandEvent &ev)
{
#ifdef __WXGTK__
	if (!btnOK->IsEnabled())
		return;
#endif
	if (!thread)
	{
		wxString sql = GetSql();
		if (sql.IsEmpty())
			return;

		btnOK->Disable();
		// Reset the variables
		bIsAborted = false;
		bIsExecutionStarted = false;
		bIsExecutionCompleted = false;

		thread = new pgQueryThread(conn, sql);
		if (thread->Create() != wxTHREAD_NO_ERROR)
		{
			Abort();
			return;
		}

		wxLongLong startTime = wxGetLocalTimeMillis();
		thread->Run();
		// When execution is started then set the variable
		bIsExecutionStarted = true;
		wxNotebook *nb = CTRL_NOTEBOOK("nbNotebook");
		if (nb)
			nb->SetSelection(nb->GetPageCount() - 1);

		while (thread && thread->IsRunning())
		{
			wxMilliSleep(10);
			// here could be the animation
			if (txtMessages)
			{
				wxString msg = thread->GetMessagesAndClear();
				if (!msg.IsEmpty())
					txtMessages->AppendText(msg + wxT("\n"));
			}

			wxTheApp->Yield(true);
		}

		if (thread)
		{
			bool isOk = (thread->ReturnCode() == PGRES_COMMAND_OK || thread->ReturnCode() == PGRES_TUPLES_OK);

			if (txtMessages)
			{
				txtMessages->AppendText(thread->GetMessagesAndClear());
			}

			if (thread->DataSet() != NULL)
			{
				wxLogInfo(wxString::Format(wxT("%d rows."), thread->DataSet()->NumRows()));
			}

			if (isOk)
			{
				if (txtMessages)
					txtMessages->AppendText(_("Total query runtime: ")
					                        + (wxGetLocalTimeMillis() - startTime).ToString() + wxT(" ms."));

				btnOK->SetLabel(_("Done"));
				btnCancel->Disable();
			}
			else
			{
				if (txtMessages)
					txtMessages->AppendText(conn->GetLastError());
				Abort();
			}
		}
		else if (txtMessages)
			txtMessages->AppendText(_("\nCancelled.\n"));

		btnOK->Enable();
		bIsExecutionCompleted = true;
	}
	else
	{
		Abort();
		delete conn;
		Destroy();
	}
}