Kaydet (Commit) b3d19761 authored tarafından Kohei Yoshida's avatar Kohei Yoshida

Revert "Use rtl::Reference to wrap ScAccessibleEditObject here."

This reverts commit da7aa256.
üst c3c05578
...@@ -1397,6 +1397,7 @@ ScAccessibleDocument::ScAccessibleDocument( ...@@ -1397,6 +1397,7 @@ ScAccessibleDocument::ScAccessibleDocument(
mpViewShell(pViewShell), mpViewShell(pViewShell),
meSplitPos(eSplitPos), meSplitPos(eSplitPos),
mpChildrenShapes(nullptr), mpChildrenShapes(nullptr),
mpTempAccEdit(nullptr),
mbCompleteSheetSelected(false) mbCompleteSheetSelected(false)
{ {
maVisArea = GetVisibleArea_Impl(); maVisArea = GetVisibleArea_Impl();
...@@ -1507,8 +1508,8 @@ void ScAccessibleDocument::Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) ...@@ -1507,8 +1508,8 @@ void ScAccessibleDocument::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
const ScAccGridWinFocusLostHint* pFocusLostHint = static_cast<const ScAccGridWinFocusLostHint *>(&rHint); const ScAccGridWinFocusLostHint* pFocusLostHint = static_cast<const ScAccGridWinFocusLostHint *>(&rHint);
if (pFocusLostHint->GetOldGridWin() == meSplitPos) if (pFocusLostHint->GetOldGridWin() == meSplitPos)
{ {
if (mpEditObj.is()) if (mxTempAcc.is() && mpTempAccEdit)
mpEditObj->LostFocus(); mpTempAccEdit->LostFocus();
else if (mpAccessibleSpreadsheet.is()) else if (mpAccessibleSpreadsheet.is())
mpAccessibleSpreadsheet->LostFocus(); mpAccessibleSpreadsheet->LostFocus();
else else
...@@ -1537,12 +1538,12 @@ void ScAccessibleDocument::Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) ...@@ -1537,12 +1538,12 @@ void ScAccessibleDocument::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
} }
else else
{ {
if (mpEditObj.is()) if (mxTempAcc.is() && mpTempAccEdit)
mpEditObj->GotFocus(); mpTempAccEdit->GotFocus();
else if (mpAccessibleSpreadsheet.is()) else if (mpAccessibleSpreadsheet.is())
mpAccessibleSpreadsheet->GotFocus(); mpAccessibleSpreadsheet->GotFocus();
else else
CommitFocusGained(); CommitFocusGained();
} }
} }
} }
...@@ -1586,14 +1587,11 @@ void ScAccessibleDocument::Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) ...@@ -1586,14 +1587,11 @@ void ScAccessibleDocument::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
const EditEngine* pEditEng = rViewData.GetEditView(meSplitPos)->GetEditEngine(); const EditEngine* pEditEng = rViewData.GetEditView(meSplitPos)->GetEditEngine();
if (pEditEng && pEditEng->GetUpdateMode()) if (pEditEng && pEditEng->GetUpdateMode())
{ {
if (!mpEditObj.is()) mpTempAccEdit = new ScAccessibleEditObject(this, rViewData.GetEditView(meSplitPos),
{ mpViewShell->GetWindowByPos(meSplitPos), GetCurrentCellName(),
mpEditObj.set(new ScAccessibleEditObject(this, rViewData.GetEditView(meSplitPos), OUString(ScResId(STR_ACC_EDITLINE_DESCR)), ScAccessibleEditObject::CellInEditMode);
mpViewShell->GetWindowByPos(meSplitPos), GetCurrentCellName(), uno::Reference<XAccessible> xAcc = mpTempAccEdit;
OUString(ScResId(STR_ACC_EDITLINE_DESCR)), ScAccessibleEditObject::CellInEditMode));
}
uno::Reference<XAccessible> xAcc = mpEditObj.get();
AddChild(xAcc, true); AddChild(xAcc, true);
if (mpAccessibleSpreadsheet.is()) if (mpAccessibleSpreadsheet.is())
...@@ -1601,19 +1599,19 @@ void ScAccessibleDocument::Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) ...@@ -1601,19 +1599,19 @@ void ScAccessibleDocument::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
else else
CommitFocusLost(); CommitFocusLost();
mpEditObj->GotFocus(); mpTempAccEdit->GotFocus();
} }
} }
} }
else if (rHint.GetId() == SC_HINT_ACC_LEAVEEDITMODE) else if (rHint.GetId() == SC_HINT_ACC_LEAVEEDITMODE)
{ {
if (mpEditObj.is()) if (mxTempAcc.is())
{ {
mpEditObj->LostFocus(); if (mpTempAccEdit)
mpTempAccEdit->LostFocus();
uno::Reference<XAccessible> xAcc = mpEditObj.get();
RemoveChild(xAcc, true);
mpTempAccEdit = nullptr;
RemoveChild(mxTempAcc, true);
if (mpAccessibleSpreadsheet.is() && mpViewShell && mpViewShell->IsActive()) if (mpAccessibleSpreadsheet.is() && mpViewShell && mpViewShell->IsActive())
mpAccessibleSpreadsheet->GotFocus(); mpAccessibleSpreadsheet->GotFocus();
else if( mpViewShell && mpViewShell->IsActive()) else if( mpViewShell && mpViewShell->IsActive())
......
...@@ -259,9 +259,8 @@ private: ...@@ -259,9 +259,8 @@ private:
ScTabViewShell* mpViewShell; ScTabViewShell* mpViewShell;
ScSplitPos meSplitPos; ScSplitPos meSplitPos;
rtl::Reference<ScAccessibleSpreadsheet> mpAccessibleSpreadsheet; rtl::Reference<ScAccessibleSpreadsheet> mpAccessibleSpreadsheet;
rtl::Reference<ScAccessibleEditObject> mpEditObj;
ScChildrenShapes* mpChildrenShapes; ScChildrenShapes* mpChildrenShapes;
ScAccessibleEditObject* mpTempAccEdit;
css::uno::Reference<css::accessibility::XAccessible> mxTempAcc; css::uno::Reference<css::accessibility::XAccessible> mxTempAcc;
Rectangle maVisArea; Rectangle maVisArea;
bool mbCompleteSheetSelected; bool mbCompleteSheetSelected;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment