void dlgTablespace::OnVarAdd(wxCommandEvent &ev)
{
    wxString name=cbVarname->GetValue();
    wxString value;
    if (chkValue->IsShown())
        value = chkValue->GetValue() ? wxT("on") : wxT("off");
    else
        value = txtValue->GetValue().Strip(wxString::both);

    if (value.IsEmpty())
        value = wxT("DEFAULT");

    if (!name.IsEmpty())
    {
        long pos=lstVariables->FindItem(-1, name);
        if (pos < 0)
        {
            pos = lstVariables->GetItemCount();
            lstVariables->InsertItem(pos, name, 0);
        }
        lstVariables->SetItem(pos, 1, value);
    }
	dirtyVars = true;
    CheckChange();
}
Пример #2
0
void dlgTrigger::OnChange(wxCommandEvent &ev)
{
	if (chkUpdate->GetValue())
	{
		cbColumns->Enable();
	}
	else
	{
		if (lstColumns->GetItemCount() > 0)
		{
			if (wxMessageBox(_("Removing the UPDATE event will cause the column list to be cleared. Do you wish to continue?"), _("Remove UPDATE event?"), wxYES_NO) != wxYES)
			{
				chkUpdate->SetValue(true);
				return;
			}

			// Move all the columns back to the combo
			for (int pos = lstColumns->GetItemCount(); pos > 0; pos--)
			{
				wxString colName = lstColumns->GetItemText(pos - 1);

				lstColumns->DeleteItem(pos - 1);
				cbColumns->Append(colName);
			}
		}

		cbColumns->Disable();
		btnAddCol->Disable();
		btnRemoveCol->Disable();
	}

	CheckChange();
}
Пример #3
0
void dlgJob::OnChangeSchedule(wxCommandEvent &ev)
{
	long pos = lstSchedules->GetSelection();
	pgaSchedule *obj = (pgaSchedule *) StrToLong(lstSchedules->GetText(pos, 3));

	dlgSchedule schedule(&scheduleFactory, mainForm, obj, job);
	schedule.CenterOnParent();
	schedule.SetConnection(connection);

	if (schedule.Go(true) != wxID_CANCEL)
	{
		lstSchedules->SetItem(pos, 0, schedule.GetName());
		lstSchedules->SetItem(pos, 1, schedule.GetComment());

		if (lstSchedules->GetText(pos, 3).IsEmpty())
		{
			wxString *scheduleSql = new wxString(schedule.GetInsertSql());
			lstSchedules->SetItemData(pos, (long)scheduleSql);
		}
		else
		{
			wxString *scheduleSql = new wxString(schedule.GetUpdateSql());
			lstSchedules->SetItemData(pos, (long)scheduleSql);
		}

		CheckChange();
	}
}
Пример #4
0
void dlgFunction::OnChangeArg(wxCommandEvent &ev)
{
	if (GetSelectedDirection() == wxT("VARIADIC") &&
	        !cbDatatype->GetValue().EndsWith(wxT("[]")))
	{
		wxLogError(_("Only array types can be VARIADIC."));
		return;
	}

	int row = lstArguments->GetSelection();

	if (row >= 0)
	{
		lstArguments->SetItem(row, 0, cbDatatype->GetValue());
		lstArguments->SetItem(row, 1, GetSelectedDirection());
		lstArguments->SetItem(row, 2, txtArgName->GetValue());
		if (isBackendMinVer84)
			lstArguments->SetItem(row, 3, txtArgDefVal->GetValue());

		if (!function)
			argOids.Item(row) = typOids.Item(cbDatatype->GetGuessedSelection());
		txtArguments->SetValue(GetArgs());
	}
	OnChangeArgName(ev);
	CheckChange();
}
Пример #5
0
void dlgRole::OnVarRemove(wxCommandEvent &ev)
{
	if (lstVariables->GetSelection() == wxNOT_FOUND)
		return;
	lstVariables->DeleteCurrentItem();
	CheckChange();
}
Пример #6
0
void dlgForeignServer::OnAddOption(wxCommandEvent &ev)
{
	bool found = false;

	for (int pos = 0 ; pos < lstOptions->GetItemCount() ; pos++)
	{
		if (lstOptions->GetText(pos).IsSameAs(txtOption->GetValue(), false))
		{
			lstOptions->SetItem(pos, 1, txtValue->GetValue());
			found = true;
			break;
		}
	}

	if (!found)
	{
		lstOptions->AppendItem(txtOption->GetValue(), txtValue->GetValue());
	}

	txtOption->SetValue(wxT(""));
	txtValue->SetValue(wxT(""));
	btnAdd->Disable();

	CheckChange();
}
Пример #7
0
void dlgForeignTable::OnSelChangeTypOrLen(wxCommandEvent &ev)
{
	CheckLenEnable();
	txtLength->Enable(isVarLen);
	txtPrecision->Enable(isVarPrec);
	CheckChange();
	OnChangeMember(ev);
}
Пример #8
0
void dlgIndex::OnAddCol(wxCommandEvent &ev)
{
	wxString colName = cbColumns->GetValue();

	if (!colName.IsEmpty())
	{
		long colIndex = lstColumns->InsertItem(lstColumns->GetItemCount(), colName, columnFactory.GetIconId());


		if (this->database->BackendMinimumVersion(8, 3))
		{
			if (chkDesc->GetValue())
			{
				if (chkDesc->IsEnabled())
					lstColumns->SetItem(colIndex, 1, wxT("DESC"));


				if (rdbNullsLast->GetValue())
				{
					if (rdbNullsLast->IsEnabled())
						lstColumns->SetItem(colIndex, 2, wxT("LAST"));
				}
				else
				{
					if (rdbNullsLast->IsEnabled())
						lstColumns->SetItem(colIndex, 2, wxT("FIRST"));
				}
			}
			else
			{
				if (chkDesc->IsEnabled())
					lstColumns->SetItem(colIndex, 1, wxT("ASC"));

				if (rdbNullsFirst->GetValue())
				{
					if (rdbNullsFirst->IsEnabled())
						lstColumns->SetItem(colIndex, 2, wxT("FIRST"));
				}
				else
				{
					if (rdbNullsLast->IsEnabled())
						lstColumns->SetItem(colIndex, 2, wxT("LAST"));
				}
			}

			lstColumns->SetItem(colIndex, 3, cbOpClass->GetValue());
			lstColumns->SetItem(colIndex, 4, cbCollation->GetValue());
		}

		cbColumns->Delete(cbColumns->GetCurrentSelection());
		if (cbColumns->GetCount())
			cbColumns->SetSelection(0);

		CheckChange();
		if (!cbColumns->GetCount())
			btnAddCol->Disable();
	}
}
Пример #9
0
void dlgFunction::OnChangeSetof(wxCommandEvent &ev)
{
	if (chkSetof->GetValue() && connection->BackendMinimumVersion(8, 3) && !isProcedure)
		txtRows->Enable();
	else
		txtRows->Disable();

	CheckChange();
}
void dlgTablespace::OnVarRemove(wxCommandEvent &ev)
{
    if (lstVariables->GetSelection() >= 0)
    {
        lstVariables->DeleteCurrentItem();
	    dirtyVars = true;
        CheckChange();
    }
}
Пример #11
0
int dlgServer::GoNew()
{
	if (cbSSL->GetValue().IsEmpty())
		return Go(true);
	else
	{
		CheckChange();
		return ShowModal();
	}
}
Пример #12
0
void dlgJob::OnRemoveSchedule(wxCommandEvent &ev)
{
	delete (wxString *)lstSchedules->GetItemData(lstSchedules->GetSelection());
	lstSchedules->DeleteCurrentItem();

	btnChangeSchedule->Disable();
	btnRemoveSchedule->Disable();

	CheckChange();
}
Пример #13
0
void dlgDomain::OnSelChangeTyp(wxCommandEvent &ev)
{
	if (!domain)
	{
		cbDatatype->GuessSelection(ev);
		CheckLenEnable();
		txtLength->Enable(isVarLen);
		CheckChange();
	}
}
Пример #14
0
void OpPackageKitProgress::Update()
{
    if (CheckChange() == false) {
        // No change has happened skip
        return;
    }

    // Set the new percent
    pk_backend_job_set_percentage(m_job, static_cast<unsigned int>(Percent));
}
Пример #15
0
void dlgRole::OnChangeDate(wxDateEvent &ev)
{
	bool timEn = ev.GetDate().IsValid();
	timValidUntil->Enable(timEn);
	if (!timEn)
		timValidUntil->SetTime(wxDefaultDateTime);
	else
		timValidUntil->SetTime(wxDateTime::Today());

	CheckChange();
}
Пример #16
0
void dlgUser::OnChangeCal(wxCalendarEvent &ev)
{
	CheckChange();

    bool timEn=ev.GetDate().IsValid();
    timValidUntil->Enable(timEn);
    if (!timEn)
        timValidUntil->SetTime(wxDefaultDateTime);
    else
        timValidUntil->SetTime(wxDateTime::Today());
}
Пример #17
0
void dlgForeignServer::OnRemoveOption(wxCommandEvent &ev)
{
	int sel = lstOptions->GetSelection();
	lstOptions->DeleteItem(sel);

	txtOption->SetValue(wxT(""));
	txtValue->SetValue(wxT(""));
	btnRemove->Disable();

	CheckChange();
}
Пример #18
0
void dlgSchedule::OnChangeException(wxCommandEvent &ev)
{
	if (!calException->GetValue().IsValid() && timException->GetValue().IsNull())
	{
		wxMessageBox(_("You must enter a valid date and/or time!"), _("Add exception"), wxICON_EXCLAMATION | wxOK, this);
		return;
	}

	wxString exDate, exTime;

	if (calException->GetValue().IsValid())
		exDate = calException->GetValue().FormatDate();
	else
		exDate = _("<any>");

	if (!timException->GetValue().IsNull())
		exTime = timException->GetValue().Format();
	else
		exTime = _("<any>");

	long item = lstExceptions->GetFocusedItem();

	for (int pos = 0; pos < lstExceptions->GetItemCount(); pos++)
	{
		if (item != pos)
		{
			if (lstExceptions->GetText(pos, 0) == exDate &&
			        lstExceptions->GetText(pos, 1) == exTime)
			{
				wxMessageBox(_("The specified exception already exists!"), _("Add exception"), wxICON_EXCLAMATION | wxOK, this);
				return;
			}

			if (lstExceptions->GetText(pos, 0) == exDate &&
			        lstExceptions->GetText(pos, 1) == _("<any>"))
			{
				wxMessageBox(_("An exception already exists for any time on this date!"), _("Add exception"), wxICON_EXCLAMATION | wxOK, this);
				return;
			}

			if (lstExceptions->GetText(pos, 1) == exTime &&
			        lstExceptions->GetText(pos, 0) == _("<any>"))
			{
				wxMessageBox(_("An exception already exists for this time on any date!"), _("Add exception"), wxICON_EXCLAMATION | wxOK, this);
				return;
			}
		}
	}

	lstExceptions->SetItem(item, 0, exDate);
	lstExceptions->SetItem(item, 1, exTime);
	lstExceptions->SetItem(item, 2, BoolToStr(true));
	CheckChange();
}
Пример #19
0
void dlgColumn::OnSelChangeTyp(wxCommandEvent &ev)
{
	cbDatatype->GuessSelection(ev);

	CheckLenEnable();
	txtLength->Enable(isVarLen);

	bool isSerial = (cbDatatype->GetValue() == wxT("serial") || cbDatatype->GetValue() == wxT("bigserial") || cbDatatype->GetValue() == wxT("smallserial"));
	txtDefault->Enable(!isSerial);

	CheckChange();
}
Пример #20
0
void dlgDatabase::OnVarAdd(wxCommandEvent &ev)
{
	wxString username = cbVarUsername->GetValue();
	wxString name = cbVarname->GetValue();
	wxString value;
	if (chkValue->IsShown())
		value = chkValue->GetValue() ? wxT("on") : wxT("off");
	else
		value = txtValue->GetValue().Strip(wxString::both);

	if (value.IsEmpty())
		value = wxT("DEFAULT");

	if (!name.IsEmpty())
	{
		bool found = false;
		long prevpos = -1;
		for (long item = 0; item < lstVariables->GetItemCount(); item++)
		{
			if (name == lstVariables->GetText(item, 1))
			{
				if (username == lstVariables->GetText(item))
				{
					found = true;
					lstVariables->SetItem(item, 2, value);
				}
				else
				{
					prevpos = item;
				}
			}
		}
		if (!found)
		{
			if (prevpos != -1)
			{
				lstVariables->InsertItem(prevpos, username, 1);
				lstVariables->SetItem(prevpos, 1, name);
				lstVariables->SetItem(prevpos, 2, value);
			}
			else
			{
				long pos = lstVariables->GetItemCount();
				lstVariables->InsertItem(pos, username, 1);
				lstVariables->SetItem(pos, 1, name);
				lstVariables->SetItem(pos, 2, value);
			}
		}
	}
	dirtyVars = true;
	CheckChange();
}
Пример #21
0
void dlgGroup::OnUserAdd(wxCommandEvent &ev)
{
    if (!readOnly)
    {
        int pos = lbUsersNotIn->GetSelection();
        if (pos >= 0)
        {
            lbUsersIn->Append(lbUsersNotIn->GetString(pos));
            lbUsersNotIn->Delete(pos);
        }
        CheckChange();
    }
}
Пример #22
0
void dlgJob::OnAddSchedule(wxCommandEvent &ev)
{
	dlgSchedule schedule(&scheduleFactory, mainForm, NULL, job);
	schedule.CenterOnParent();
	schedule.SetConnection(connection);
	if (schedule.Go(true) != wxID_CANCEL)
	{
		int pos = lstSchedules->AppendItem(scheduleFactory.GetIconId(), schedule.GetName(), schedule.GetComment());
		wxString *scheduleSql = new wxString(schedule.GetInsertSql());
		lstSchedules->SetItemData(pos, (long)scheduleSql);
		CheckChange();
	}
}
Пример #23
0
void dlgUser::OnGroupRemove(wxCommandEvent &ev)
{
    if (!readOnly)
    {
        int pos=lbGroupsIn->GetSelection();
        if (pos >= 0)
        {
            lbGroupsNotIn->Append(lbGroupsIn->GetString(pos));
            lbGroupsIn->Delete(pos);
        }
        CheckChange();
    }
}
Пример #24
0
void dlgSchedule::OnRemoveException(wxCommandEvent &ev)
{
	if (lstExceptions->GetText(lstExceptions->GetFocusedItem(), 3) != wxEmptyString)
	{
		deleteExceptions.Add(lstExceptions->GetText(lstExceptions->GetFocusedItem(), 3));
	}
	lstExceptions->DeleteCurrentItem();

	btnChangeException->Disable();
	btnRemoveException->Disable();

	CheckChange();
}
Пример #25
0
void dlgTrigger::OnRemoveCol(wxCommandEvent &ev)
{
	long pos = lstColumns->GetSelection();
	if (pos >= 0)
	{
		wxString colName = lstColumns->GetItemText(pos);

		lstColumns->DeleteItem(pos);
		cbColumns->Append(colName);

		CheckChange();
		btnRemoveCol->Disable();
	}
}
Пример #26
0
void dlgFunction::OnSelChangeLanguage(wxCommandEvent &ev)
{
	bool isC = (cbLanguage->GetValue().IsSameAs(wxT("C"), false));

	stObjectFile->Show(isC);
	txtObjectFile->Show(isC);
	stLinkSymbol->Show(isC);
	txtLinkSymbol->Show(isC);
	txtSqlBox->Show(!isC);

	txtSqlBox->GetContainingSizer()->Layout();

	CheckChange();
}
Пример #27
0
void dlgForeignTable::OnMemberRemove(wxCommandEvent &ev)
{
	long pos = lstMembers->GetSelection();

	if (pos >= 0)
	{
		lstMembers->DeleteItem(pos);
		memberTypes.RemoveAt(pos);
		memberLengths.RemoveAt(pos);
		memberPrecisions.RemoveAt(pos);
		memberNotNulls.RemoveAt(pos);
	}
	CheckChange();
}
Пример #28
0
void dlgSchedule::OnSelectAll(wxCommandEvent &ev, int origin)
{
	bool check = false;
	wxBitmapButton *btn;
	wxCheckListBox *lb;
	wxString tooltip;

	switch (origin)
	{
		case 1:
			btn = ((wxBitmapButton *)btnWeekdays);
			lb = chkWeekdays;
			break;
		case 2:
			btn = ((wxBitmapButton *)btnMonthdays);
			lb = chkMonthdays;
			break;
		case 3:
			btn = ((wxBitmapButton *)btnMonths);
			lb = chkMonths;
			break;
		case 4:
			btn = ((wxBitmapButton *)btnHours);
			lb = chkHours;
			break;
		case 5:
			btn = ((wxBitmapButton *)btnMinutes);
			lb = chkMinutes;
			break;
		default:
			return;
			break;
	}

	for (unsigned int x = 0; x < lb->GetCount(); x++)
	{
		if (!lb->IsChecked(x))
		{
			check = true;
			break;
		}
	}
	for (unsigned int x = 0; x < lb->GetCount(); x++)
	{
		lb->Check(x, check);
	}

	CheckChange();
}
Пример #29
0
void dlgUser::OnChangeSuperuser(wxCommandEvent &ev)
{
    if (user && user->GetSuperuser() && !chkCreateUser->GetValue())
    {
        wxMessageDialog dlg(this,
            _("Deleting a superuser might result in unwanted behaviour (e.g. when restoring the database).\nAre you sure?"),
            _("Confirm superuser deletion"),
                     wxICON_EXCLAMATION | wxYES_NO |wxNO_DEFAULT);
        if (dlg.ShowModal() != wxID_YES)
        {
            chkCreateUser->SetValue(true);
            return;
        }
    }
    CheckChange();
}
Пример #30
0
void dlgRole::OnRoleAdd(wxCommandEvent &ev)
{
	if (!readOnly)
	{
		int pos = lbRolesNotIn->GetSelection();
		if (pos >= 0)
		{
			wxString roleName = lbRolesNotIn->GetString(pos);
			if (chkAdminOption->GetValue())
				roleName += PGROLE_ADMINOPTION;
			lbRolesIn->Append(roleName);
			lbRolesNotIn->Delete(pos);
		}
		CheckChange();
	}
}