Esempio n. 1
0
// Assume this has been called with an
// application version selected.
void SoaWg::AddServiceVersionSlot() {

	SoaRw *appVer = db.Tb("ApplicationVersion")->FocusRw();
	if (appVer == 0)
		return;

	SoaRw *app = appVer->Ce("Application")->Row();
	if (app == 0)
		return;

	DlgChooseAsset picker(this, app->Children("Service"), "Pick service");
	if (picker.exec()) {

		db.Tb("Service")->SetFocusedRwByViewId(picker.SelectedRow()->ViewId());

		SoaTb *tb = db.Tb("ServiceVersion");
		SoaRw *rw = tb->AllocRw(-1, true);
		DlgNewAsset dlg(this, this, tb, rw);
		if (dlg.exec()) {
			tb->AddRw(dlg.Row());
			RefreshViews();
		}
		else
			delete rw;
	}
}
Esempio n. 2
0
void CBottomView::UseMyTextBlock()
{
	viewstate leftstate;
	viewstate rightstate;
	viewstate bottomstate;
	if ((m_nSelBlockStart < 0)||(m_nSelBlockEnd < 0))
		return;

	for (int i=m_nSelBlockStart; i<=m_nSelBlockEnd; i++)
	{
		bottomstate.difflines[i] = m_pViewData->GetLine(i);
		m_pViewData->SetLine(i, m_pwndRight->m_pViewData->GetLine(i));
		bottomstate.linestates[i] = m_pViewData->GetState(i);
		m_pViewData->SetState(i, m_pwndRight->m_pViewData->GetState(i));
		m_pViewData->SetLineEnding(i, lineendings);
		{
			if (m_pwndRight->m_pViewData->GetState(i) == DIFFSTATE_CONFLICTEMPTY)
				m_pViewData->SetState(i, DIFFSTATE_CONFLICTRESOLVEDEMPTY);
			else
				m_pViewData->SetState(i, DIFFSTATE_CONFLICTRESOLVED);
		}
	}
	CUndo::GetInstance().AddState(leftstate, rightstate, bottomstate, m_ptCaretPos);
	SetModified();
	RefreshViews();
}
Esempio n. 3
0
void SoaWg::DeleteBusinessUnitSlot() {

	SoaRw *rw = db.Tb("BusinessUnit")->FocusRw();
	if (rw == 0)
		return;

	db.Tb("BusinessUnit")->DeleteRowByViewId(rw->ViewId());
	RefreshViews();
}
Esempio n. 4
0
void SoaWg::DeleteOrganizationSlot() {

	SoaRw *rw = db.Tb("Organization")->FocusRw();
	if (rw == 0 || rw == db.Tb("Organization")->front())
		return;

	db.Tb("Organization")->DeleteRowByViewId(rw->ViewId());
	RefreshViews();
}
Esempio n. 5
0
void CBottomView::UseMyThenTheirTextBlock()
{
	viewstate leftstate;
	viewstate rightstate;
	viewstate bottomstate;
	UseYourAndTheirBlock(rightstate, bottomstate, leftstate);
	CUndo::GetInstance().AddState(leftstate, rightstate, bottomstate, m_ptCaretPos);
	RefreshViews();
}
Esempio n. 6
0
void SoaWg::DeleteUseSlot() {

	if (mode == fmRealization) {

		SoaRw *use = db.Tb("DesignTimeServiceUse")->FocusRw();
		if (use) {
			db.Tb("DesignTimeServiceUse")->DeleteRowByViewId(use->ViewId());
			RefreshViews();
		}
	}
	else if (mode == fmRuntime) {

		SoaRw *use = db.Tb("RuntimeServiceUse")->FocusRw();
		if (use) {
			db.Tb("RuntimeServiceUse")->DeleteRowByViewId(use->ViewId());
			RefreshViews();
		}
	}
}
Esempio n. 7
0
void CRightView::UseRightBeforeLeft(bool refreshViews /* = true */)
{
	viewstate rightstate;
	viewstate bottomstate;
	viewstate leftstate;
	UseBothRightFirst(rightstate, leftstate);
	CUndo::GetInstance().AddState(leftstate, rightstate, bottomstate, m_ptCaretPos);
	if (refreshViews)
		RefreshViews();
}
Esempio n. 8
0
void SoaWg::DeleteAsset(SoaTb *tb) {

	SoaRw *rw = tb->FocusRw();
	if (rw == 0)
		return;

	DlgDependencies dlg(this, rw);
	if (dlg.exec()) {
		tb->DeleteRowByViewId(rw->ViewId());
		RefreshViews();
	}
}
Esempio n. 9
0
void SoaWg::AddServiceSlot() {

	SoaTb *tb = db.Tb("Service");
	SoaRw *rw = tb->AllocRw(-1, true);
	DlgNewAsset dlg(this, this, tb, rw);
	if (dlg.exec()) {
		tb->AddRw(dlg.Row());
		RefreshViews();
	}
	else
		delete rw;
}
Esempio n. 10
0
void CBottomView::UseBlock(CBaseView * pwndView, int nFirstViewLine, int nLastViewLine)
{
    if (!IsViewGood(pwndView))
        return;
    CUndo::GetInstance().BeginGrouping(); // start group undo

    for (int viewLine = nFirstViewLine; viewLine <= nLastViewLine; viewLine++)
    {
        viewdata lineData = pwndView->GetViewData(viewLine);
        if ((lineData.ending != EOL_NOENDING)||(viewLine < (GetViewCount()-1)))
            lineData.ending = m_lineendings;
        lineData.state = ResolveState(lineData.state);
        SetViewData(viewLine, lineData);
        SetModified();
    }

    // make sure previous (non empty) line have EOL set
    for (int nCheckViewLine = nFirstViewLine-1; nCheckViewLine > 0; nCheckViewLine--)
    {
        if (!IsViewLineEmpty(nCheckViewLine))
        {
            if (GetViewLineEnding(nCheckViewLine) == EOL_NOENDING)
            {
                SetViewLineEnding(nCheckViewLine, m_lineendings);
                SetModified();
            }
            break;
        }
    }

    int nRemovedLines = CleanEmptyLines();
    SaveUndoStep();
    UpdateViewLineNumbers();
    SaveUndoStep();

    CUndo::GetInstance().EndGrouping();

    // final clean up
    ClearSelection();
    SetupAllViewSelection(nFirstViewLine, nLastViewLine - nRemovedLines);
    BuildAllScreen2ViewVector();
    RefreshViews();
}
Esempio n. 11
0
void SoaWg::AddServiceDomainSlot() {

	SoaTb *tb = db.Tb("ServiceDomain");
	SoaRw *rw = tb->AllocRw(-1, true);
	DlgNewAsset dlg(this, this, tb, rw);
	if (dlg.exec()) {

		tb->AddRw(dlg.Row());

		SoaTb *intermediaries = db.Tb("Intermediary");
		intermediaries->Search().
				Wt("name", DEFAULT_INTERMEDIARY_NAME).
				Wt("ServiceDomain", dlg.Row()).
				Get(intermediaries, true);

		RefreshViews();
	}
	else
		delete rw;
}
Esempio n. 12
0
void SoaWg::ManageIntermediariesSlot() {
	DlgIntermediaries dlg(this, db.Tb("Intermediary"), &db);
	dlg.exec();
	RefreshViews();
}
Esempio n. 13
0
void CRightView::UseBlock(bool refreshViews /* = true */)
{
	if ((m_nSelBlockStart == -1)||(m_nSelBlockEnd == -1))
		return;
	
	viewstate rightstate;
	viewstate bottomstate;
	viewstate leftstate;
	if (m_pwndBottom->IsWindowVisible())
	{
		for (int i=m_nSelBlockStart; i<=m_nSelBlockEnd; i++)
		{
			bottomstate.difflines[i] = m_pwndBottom->m_pViewData->GetLine(i);
			m_pwndBottom->m_pViewData->SetLine(i, m_pViewData->GetLine(i));
			bottomstate.linestates[i] = m_pwndBottom->m_pViewData->GetState(i);
			m_pwndBottom->m_pViewData->SetState(i, m_pViewData->GetState(i));
			m_pwndBottom->m_pViewData->SetLineEnding(i, EOL_AUTOLINE);
			if (m_pwndBottom->IsLineConflicted(i))
			{
				if (m_pViewData->GetState(i) == DIFFSTATE_CONFLICTEMPTY)
					m_pwndBottom->m_pViewData->SetState(i, DIFFSTATE_CONFLICTRESOLVEDEMPTY);
				else
					m_pwndBottom->m_pViewData->SetState(i, DIFFSTATE_CONFLICTRESOLVED);
			}
		}
		m_pwndBottom->SetModified();
	}
	else
	{
		for (int i=m_nSelBlockStart; i<=m_nSelBlockEnd; i++)
		{
			rightstate.difflines[i] = m_pViewData->GetLine(i);
			m_pViewData->SetLine(i, m_pwndLeft->m_pViewData->GetLine(i));
			m_pViewData->SetLineEnding(i, EOL_AUTOLINE);
			DiffStates state = m_pwndLeft->m_pViewData->GetState(i);
			switch (state)
			{
			case DIFFSTATE_ADDED:
			case DIFFSTATE_CONFLICTADDED:
			case DIFFSTATE_CONFLICTED:
			case DIFFSTATE_CONFLICTED_IGNORED:
			case DIFFSTATE_CONFLICTEMPTY:
			case DIFFSTATE_IDENTICALADDED:
			case DIFFSTATE_NORMAL:
			case DIFFSTATE_THEIRSADDED:
			case DIFFSTATE_UNKNOWN:
			case DIFFSTATE_YOURSADDED:
			case DIFFSTATE_EMPTY:
				rightstate.linestates[i] = m_pViewData->GetState(i);
				m_pViewData->SetState(i, state);
				break;
			case DIFFSTATE_IDENTICALREMOVED:
			case DIFFSTATE_REMOVED:
			case DIFFSTATE_THEIRSREMOVED:
			case DIFFSTATE_YOURSREMOVED:
				rightstate.linestates[i] = m_pViewData->GetState(i);
				m_pViewData->SetState(i, DIFFSTATE_ADDED);
				break;
			default:
				break;
			}
		}
		SetModified();
	}
	CUndo::GetInstance().AddState(leftstate, rightstate, bottomstate, m_ptCaretPos);
	if (refreshViews)
		RefreshViews();
}
Esempio n. 14
0
void CRightView::UseFile(bool refreshViews /* = true */)
{
	viewstate rightstate;
	viewstate bottomstate;
	viewstate leftstate;
	if (m_pwndBottom->IsWindowVisible())
	{
		for (int i=0; i<GetLineCount(); i++)
		{
			bottomstate.difflines[i] = m_pwndBottom->m_pViewData->GetLine(i);
			m_pwndBottom->m_pViewData->SetLine(i, m_pViewData->GetLine(i));
			bottomstate.linestates[i] = m_pwndBottom->m_pViewData->GetState(i);
			m_pwndBottom->m_pViewData->SetState(i, m_pViewData->GetState(i));
			m_pwndBottom->m_pViewData->SetLineEnding(i, m_pViewData->GetLineEnding(i));
			if (m_pwndBottom->IsLineConflicted(i))
				m_pwndBottom->m_pViewData->SetState(i, DIFFSTATE_CONFLICTRESOLVED);
		}
		m_pwndBottom->SetModified();
	}
	else
	{
		for (int i=0; i<GetLineCount(); i++)
		{
			rightstate.difflines[i] = m_pViewData->GetLine(i);
			m_pViewData->SetLine(i, m_pwndLeft->m_pViewData->GetLine(i));
			m_pViewData->SetLineEnding(i, m_pwndLeft->m_pViewData->GetLineEnding(i));
			DiffStates state = m_pwndLeft->m_pViewData->GetState(i);
			switch (state)
			{
			case DIFFSTATE_CONFLICTEMPTY:
			case DIFFSTATE_UNKNOWN:
			case DIFFSTATE_EMPTY:
				rightstate.linestates[i] = m_pViewData->GetState(i);
				m_pViewData->SetState(i, state);
				break;
			case DIFFSTATE_YOURSADDED:
			case DIFFSTATE_IDENTICALADDED:
			case DIFFSTATE_NORMAL:
			case DIFFSTATE_THEIRSADDED:
			case DIFFSTATE_ADDED:
			case DIFFSTATE_CONFLICTADDED:
			case DIFFSTATE_CONFLICTED:
			case DIFFSTATE_CONFLICTED_IGNORED:
			case DIFFSTATE_IDENTICALREMOVED:
			case DIFFSTATE_REMOVED:
			case DIFFSTATE_THEIRSREMOVED:
			case DIFFSTATE_YOURSREMOVED:
				rightstate.linestates[i] = m_pViewData->GetState(i);
				m_pViewData->SetState(i, DIFFSTATE_NORMAL);
				leftstate.linestates[i] = m_pwndLeft->m_pViewData->GetState(i);
				m_pwndLeft->m_pViewData->SetState(i, DIFFSTATE_NORMAL);
				break;
			default:
				break;
			}
			SetModified();
			if (m_pwndLocator)
				m_pwndLocator->DocumentUpdated();
		}
	}
	CUndo::GetInstance().AddState(leftstate, rightstate, bottomstate, m_ptCaretPos);
	if (refreshViews)
		RefreshViews();
}
Esempio n. 15
0
void PasswordSafeFrame::OnRestoreSafe(wxCommandEvent& /*evt*/)
{
  if (SaveIfChanged() != PWScore::SUCCESS)
    return;

  const wxFileName currbackup(towxstring(PWSprefs::GetInstance()->GetPref(PWSprefs::CurrentBackup)));

  wxString dir;
  if (m_core.GetCurFile().empty())
    dir = towxstring(PWSdirs::GetSafeDir());
  else {
    wxFileName::SplitPath(towxstring(m_core.GetCurFile()), &dir, NULL, NULL);
    wxCHECK_RET(!dir.IsEmpty(), _("Could not parse current file path"));
  }

  //returns empty string if user cancels
  wxString wxbf = wxFileSelector(_("Please Choose a Backup to Restore:"),
                                 dir,
                                 currbackup.GetFullName(),
                                 wxT("bak"),
                                 _("Password Safe Backups (*.bak)|*.bak|Password Safe Intermediate Backups (*.ibak)|*.ibak||"),
                                 wxFD_OPEN|wxFD_FILE_MUST_EXIST,
                                 this);
  if (wxbf.empty())
    return;

#ifdef NOT_YET
  if (m_inExit) {
    // If U3ExitNow called while in CPWFileDialog,
    // PostQuitMessage makes us return here instead
    // of exiting the app. Try resignalling
    PostQuitMessage(0);
    return PWScore::USER_CANCEL;
  }
#endif

  CSafeCombinationPrompt pwdprompt(this, m_core, wxbf);
  if (pwdprompt.ShowModal() == wxID_OK) {
    const StringX passkey = pwdprompt.GetPassword();
    // unlock the file we're leaving
    if (!m_core.GetCurFile().empty()) {
      m_core.UnlockFile(m_core.GetCurFile().c_str());
    }

    // Reset core and clear ALL associated data
    m_core.ReInit();

    // clear the application data before restoring
    ClearAppData();

    if (m_core.ReadFile(tostringx(wxbf), passkey, true, MAXTEXTCHARS) == PWScore::CANT_OPEN_FILE) {
      wxMessageBox(wxbf << wxT("\n\n") << _("Could not open file for reading!"),
                      _("File Read Error"), wxOK | wxICON_ERROR, this);
      return /*PWScore::CANT_OPEN_FILE*/;
    }

    m_core.SetCurFile(wxEmptyString);    // Force a Save As...
    m_bRestoredDBUnsaved = true; // So that the restored file will be saved

    SetTitle(_("Password Safe - <Untitled Restored Backup>"));

#ifdef NOT_YET
    app.SetTooltipText(L"PasswordSafe");
#endif

#ifdef NOT_YET
    ChangeOkUpdate();
#endif

    RefreshViews();
  }
}
Esempio n. 16
0
void Doc::Refresh()
{
    RefreshViews();
}
Esempio n. 17
0
void CBottomView::UseBothBlocks(CBaseView * pwndFirst, CBaseView * pwndLast)
{
    if (!IsViewGood(pwndFirst) || !IsViewGood(pwndLast))
        return;
    int nFirstViewLine = 0; // first view line in selection
    int nLastViewLine  = 0; // last view line in selection

    if (!GetViewSelection(nFirstViewLine, nLastViewLine))
        return;

    int nNextViewLine = nLastViewLine + 1; // first view line after selected block

    CUndo::GetInstance().BeginGrouping(); // start group undo

    // use (copy) first block
    for (int viewLine = nFirstViewLine; viewLine <= nLastViewLine; viewLine++)
    {
        viewdata lineData = pwndFirst->GetViewData(viewLine);
        if ((lineData.ending != EOL_NOENDING)||(viewLine < (GetViewCount()-1)))
            lineData.ending = m_lineendings;
        lineData.state = ResolveState(lineData.state);
        SetViewData(viewLine, lineData);
        if (!IsStateEmpty(pwndFirst->GetViewState(viewLine)))
        {
            pwndFirst->SetViewState(viewLine, DIFFSTATE_YOURSADDED); // this is improper (may be DIFFSTATE_THEIRSADDED) but seems not to produce any visible bug
        }
    }
    // make sure previous (non empty) line have EOL set
    for (int nCheckViewLine = nFirstViewLine-1; nCheckViewLine > 0; nCheckViewLine--)
    {
        if (!IsViewLineEmpty(nCheckViewLine))
        {
            if (GetViewLineEnding(nCheckViewLine) == EOL_NOENDING)
            {
                SetViewLineEnding(nCheckViewLine, m_lineendings);
            }
            break;
        }
    }

    SaveUndoStep();

    // use (insert) last block
    int nViewIndex = nNextViewLine;
    for (int viewLine = nFirstViewLine; viewLine <= nLastViewLine; viewLine++, nViewIndex++)
    {
        viewdata lineData = pwndLast->GetViewData(viewLine);
        lineData.state = ResolveState(lineData.state);
        InsertViewData(nViewIndex, lineData);
        if (!IsStateEmpty(pwndLast->GetViewState(viewLine)))
        {
            pwndLast->SetViewState(viewLine, DIFFSTATE_THEIRSADDED); // this is improper but seems not to produce any visible bug
        }
    }
    SaveUndoStep();

    // adjust line numbers in target
    // we fix all line numbers to handle exotic cases
    UpdateViewLineNumbers();
    SaveUndoStep();

    // now insert an empty block in both first and last
    int nCount = nLastViewLine - nFirstViewLine + 1;
    pwndLast->InsertViewEmptyLines(nFirstViewLine, nCount);
    pwndFirst->InsertViewEmptyLines(nNextViewLine, nCount);
    SaveUndoStep();

    int nRemovedLines = CleanEmptyLines();
    SaveUndoStep();

    CUndo::GetInstance().EndGrouping();

    // final clean up
    ClearSelection();
    SetupAllViewSelection(nFirstViewLine, 2*nLastViewLine - nFirstViewLine - nRemovedLines + 1);
    BuildAllScreen2ViewVector();
    SetModified();
    RefreshViews();
}
Esempio n. 18
0
void SoaWg::AddUseSlot() {

	if (mode == fmRealization) {

		SoaRw *app = db.Tb("ApplicationVersion")->FocusRw();
		SoaRw *ser = db.Tb("ServiceVersion")->FocusRw();

		if (app && ser) {

			SoaTb *tb = db.Tb("DesignTimeServiceUse");
			SoaRw *rw = tb->AllocRw(-1, true);
			DlgNewAsset dlg(this, this, tb, rw);
			if (dlg.exec()) {
				tb->AddRw(dlg.Row());
				RefreshViews();
			}
			else
				delete rw;
		}
	}
	else if (mode == fmRuntime) {

		SoaRw *app = db.Tb("DeployedApplication")->FocusRw();
		SoaRw *ser = db.Tb("DeployedService")->FocusRw();

		if (app && ser) {

			SoaRw *endpoint = 0;
			const SoaRwList *endpoints = ser->Children("Endpoint");
			if (endpoints->size() == 1)
				endpoint = endpoints->front();
			else if (endpoints->size() > 1) {

				DlgChooseAsset dlg(this, endpoints, "Choose endpoint");
				if (dlg.exec())
					endpoint = dlg.SelectedRow();
			}

			if (endpoint) {

				SoaTb *rsus = db.Tb("RuntimeServiceUse");
				SoaRw *rsu = rsus->AllocRw(-1, false);
				rsu->SetCe("Endpoint", endpoint);
				rsu->SetCe("DeployedApplication", app);
				DlgNewAsset useDlg(this, this, rsus, rsu);
				if (useDlg.exec()) {

					rsus->AddRw(useDlg.Row());

					// add design time service use also

					SoaTb *dsus = db.Tb("DesignTimeServiceUse");
					dsus->Search().
							Wt("ServiceVersion", ser->Ce("ServiceVersion")->Row()).
							Wt("ApplicationVersion", app->Ce("ApplicationVersion")->Row()).
							Get(dsus, true);

					RefreshViews();
				}
				else
					delete rsu;
			}
		}
	}
}
Esempio n. 19
0
void SoaWg::ManageRegistriesSlot() {
	DlgRegistries dlg(this);
	dlg.exec();
	RefreshViews();
}
Esempio n. 20
0
void CLeftView::UseBothLeftFirst()
{
    if (!IsRightViewGood())
        return;
    int nFirstViewLine = 0; // first view line in selection
    int nLastViewLine  = 0; // last view line in selection

    if (!IsWritable())
        return;
    if (!GetViewSelection(nFirstViewLine, nLastViewLine))
        return;

    int nNextViewLine = nLastViewLine + 1; // first view line after selected block

    CUndo::GetInstance().BeginGrouping();

    // right original become added
    for (int viewLine = nFirstViewLine; viewLine <= nLastViewLine; viewLine++)
    {
        if (!IsStateEmpty(GetViewState(viewLine)))
        {
            SetViewState(viewLine, DIFFSTATE_REMOVED);
        }
    }
    SaveUndoStep();

    // your block is done, now insert their block
    int viewindex = nNextViewLine;
    for (int viewLine = nFirstViewLine; viewLine <= nLastViewLine; viewLine++)
    {
        viewdata line = m_pwndRight->GetViewData(viewLine);
        if (IsStateEmpty(line.state))
        {
            line.state = DIFFSTATE_EMPTY;
        }
        else
        {
            if (line.state!=DIFFSTATE_NORMAL) {
                m_pwndRight->SetViewState(viewLine, DIFFSTATE_NORMAL);
                line.state = DIFFSTATE_NORMAL;
            }
            SetModified();
        }
        InsertViewData(viewindex++, line);
    }
    SaveUndoStep();

    // now insert an empty block in right view
    int nCount = nLastViewLine - nFirstViewLine + 1;
    m_pwndRight->InsertViewEmptyLines(nFirstViewLine, nCount);
    m_pwndRight->Invalidate();
    SaveUndoStep();

    // clean up
    int nRemovedLines = CleanEmptyLines();
    SaveUndoStep();
    UpdateViewLineNumbers();
    SaveUndoStep();

    CUndo::GetInstance().EndGrouping();

    // final clean up
    ClearSelection();
    SetupAllViewSelection(nFirstViewLine, 2*nLastViewLine - nFirstViewLine - nRemovedLines + 1);
    BuildAllScreen2ViewVector();
    RefreshViews();
}