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

Use separate iterators for column and formula data.

üst 1f0784d2
...@@ -1077,9 +1077,9 @@ void ScInputHandler::UseFormulaData() ...@@ -1077,9 +1077,9 @@ void ScInputHandler::UseFormulaData()
if (!aText.isEmpty()) if (!aText.isEmpty())
{ {
rtl::OUString aNew; rtl::OUString aNew;
miAutoPos = pFormulaData->end(); miAutoPosFormula = pFormulaData->end();
miAutoPos = findText(*pFormulaData, miAutoPos, aText, aNew, false); miAutoPosFormula = findText(*pFormulaData, miAutoPosFormula, aText, aNew, false);
if (miAutoPos != pFormulaData->end()) if (miAutoPosFormula != pFormulaData->end())
{ {
ShowTip( aNew ); ShowTip( aNew );
aAutoSearch = aText; aAutoSearch = aText;
...@@ -1220,8 +1220,8 @@ void ScInputHandler::NextFormulaEntry( bool bBack ) ...@@ -1220,8 +1220,8 @@ void ScInputHandler::NextFormulaEntry( bool bBack )
if ( pActiveView && pFormulaData ) if ( pActiveView && pFormulaData )
{ {
rtl::OUString aNew; rtl::OUString aNew;
miAutoPos = findText(*pFormulaData, miAutoPos, aAutoSearch, aNew, bBack); miAutoPosFormula = findText(*pFormulaData, miAutoPosFormula, aAutoSearch, aNew, bBack);
if (miAutoPos != pFormulaData->end()) if (miAutoPosFormula != pFormulaData->end())
ShowTip( aNew ); // als QuickHelp anzeigen ShowTip( aNew ); // als QuickHelp anzeigen
} }
...@@ -1276,9 +1276,9 @@ void lcl_CompleteFunction( EditView* pView, const String& rInsert, bool& rParIns ...@@ -1276,9 +1276,9 @@ void lcl_CompleteFunction( EditView* pView, const String& rInsert, bool& rParIns
void ScInputHandler::PasteFunctionData() void ScInputHandler::PasteFunctionData()
{ {
if (pFormulaData && miAutoPos != pFormulaData->end()) if (pFormulaData && miAutoPosFormula != pFormulaData->end())
{ {
const ScTypedStrData& rData = *miAutoPos; const ScTypedStrData& rData = *miAutoPosFormula;
const rtl::OUString& aInsert = rData.GetString(); const rtl::OUString& aInsert = rData.GetString();
bool bParInserted = false; bool bParInserted = false;
...@@ -1393,9 +1393,9 @@ void ScInputHandler::FormulaPreview() ...@@ -1393,9 +1393,9 @@ void ScInputHandler::FormulaPreview()
ShowTip( aValue ); // als QuickHelp anzeigen ShowTip( aValue ); // als QuickHelp anzeigen
aManualTip = aValue; // nach ShowTip setzen aManualTip = aValue; // nach ShowTip setzen
if (pFormulaData) if (pFormulaData)
miAutoPos = pFormulaData->end(); miAutoPosFormula = pFormulaData->end();
else if (pColumnData) if (pColumnData)
miAutoPos = pColumnData->end(); miAutoPosColumn = pColumnData->end();
} }
} }
...@@ -1556,9 +1556,9 @@ void ScInputHandler::UseColData() // beim Tippen ...@@ -1556,9 +1556,9 @@ void ScInputHandler::UseColData() // beim Tippen
if (!aText.isEmpty()) if (!aText.isEmpty())
{ {
rtl::OUString aNew; rtl::OUString aNew;
miAutoPos = pColumnData->end(); miAutoPosColumn = pColumnData->end();
miAutoPos = findText(*pColumnData, miAutoPos, aText, aNew, false); miAutoPosColumn = findText(*pColumnData, miAutoPosColumn, aText, aNew, false);
if (miAutoPos != pColumnData->end()) if (miAutoPosColumn != pColumnData->end())
{ {
// durch dBase Import etc. koennen Umbrueche im String sein, // durch dBase Import etc. koennen Umbrueche im String sein,
// das wuerde hier mehrere Absaetze ergeben -> nicht gut // das wuerde hier mehrere Absaetze ergeben -> nicht gut
...@@ -1598,7 +1598,7 @@ void ScInputHandler::UseColData() // beim Tippen ...@@ -1598,7 +1598,7 @@ void ScInputHandler::UseColData() // beim Tippen
rtl::OUString aDummy; rtl::OUString aDummy;
ScTypedCaseStrSet::const_iterator itNextPos = ScTypedCaseStrSet::const_iterator itNextPos =
findText(*pColumnData, miAutoPos, aText, aDummy, false); findText(*pColumnData, miAutoPosColumn, aText, aDummy, false);
bUseTab = itNextPos != pColumnData->end(); bUseTab = itNextPos != pColumnData->end();
} }
else else
...@@ -1615,7 +1615,7 @@ void ScInputHandler::NextAutoEntry( bool bBack ) ...@@ -1615,7 +1615,7 @@ void ScInputHandler::NextAutoEntry( bool bBack )
EditView* pActiveView = pTopView ? pTopView : pTableView; EditView* pActiveView = pTopView ? pTopView : pTableView;
if ( pActiveView && pColumnData ) if ( pActiveView && pColumnData )
{ {
if (miAutoPos != pColumnData->end() && !aAutoSearch.isEmpty()) if (miAutoPosColumn != pColumnData->end() && !aAutoSearch.isEmpty())
{ {
// stimmt die Selektion noch? (kann per Maus geaendert sein) // stimmt die Selektion noch? (kann per Maus geaendert sein)
...@@ -1630,8 +1630,8 @@ void ScInputHandler::NextAutoEntry( bool bBack ) ...@@ -1630,8 +1630,8 @@ void ScInputHandler::NextAutoEntry( bool bBack )
if ( aSel.nEndPos == nParLen && aText.getLength() == aAutoSearch.getLength() + nSelLen ) if ( aSel.nEndPos == nParLen && aText.getLength() == aAutoSearch.getLength() + nSelLen )
{ {
rtl::OUString aNew; rtl::OUString aNew;
miAutoPos = findText(*pColumnData, miAutoPos, aAutoSearch, aNew, bBack); miAutoPosColumn = findText(*pColumnData, miAutoPosColumn, aAutoSearch, aNew, bBack);
if (miAutoPos != pColumnData->end()) if (miAutoPosColumn != pColumnData->end())
{ {
bInOwnChange = true; // disable ModifyHdl (reset below) bInOwnChange = true; // disable ModifyHdl (reset below)
...@@ -2498,7 +2498,7 @@ void ScInputHandler::EnterHandler( sal_uInt8 nBlockMode ) ...@@ -2498,7 +2498,7 @@ void ScInputHandler::EnterHandler( sal_uInt8 nBlockMode )
EditView* pActiveView = pTopView ? pTopView : pTableView; EditView* pActiveView = pTopView ? pTopView : pTableView;
if (bModified && pActiveView && !aString.isEmpty() && !lcl_IsNumber(aString)) if (bModified && pActiveView && !aString.isEmpty() && !lcl_IsNumber(aString))
{ {
if (pColumnData && miAutoPos != pColumnData->end()) if (pColumnData && miAutoPosColumn != pColumnData->end())
{ {
// #i47125# If AutoInput appended something, do the final AutoCorrect // #i47125# If AutoInput appended something, do the final AutoCorrect
// with the cursor at the end of the input. // with the cursor at the end of the input.
...@@ -3111,7 +3111,7 @@ bool ScInputHandler::KeyInput( const KeyEvent& rKEvt, bool bStartEdit /* = false ...@@ -3111,7 +3111,7 @@ bool ScInputHandler::KeyInput( const KeyEvent& rKEvt, bool bStartEdit /* = false
case KEY_RETURN: case KEY_RETURN:
if (bControl && !bShift && ( !bInputLine || ( pInputWin && pInputWin->IsMultiLineInput() ) ) ) if (bControl && !bShift && ( !bInputLine || ( pInputWin && pInputWin->IsMultiLineInput() ) ) )
bDoEnter = true; bDoEnter = true;
else if (nModi == 0 && nTipVisible && pFormulaData && miAutoPos != pFormulaData->end()) else if (nModi == 0 && nTipVisible && pFormulaData && miAutoPosFormula != pFormulaData->end())
{ {
PasteFunctionData(); PasteFunctionData();
bUsed = true; bUsed = true;
...@@ -3139,14 +3139,14 @@ bool ScInputHandler::KeyInput( const KeyEvent& rKEvt, bool bStartEdit /* = false ...@@ -3139,14 +3139,14 @@ bool ScInputHandler::KeyInput( const KeyEvent& rKEvt, bool bStartEdit /* = false
case KEY_TAB: case KEY_TAB:
if (bControl && !bAlt) if (bControl && !bAlt)
{ {
if (pFormulaData && nTipVisible && miAutoPos != pFormulaData->end()) if (pFormulaData && nTipVisible && miAutoPosFormula != pFormulaData->end())
{ {
// blaettern // blaettern
NextFormulaEntry( bShift ); NextFormulaEntry( bShift );
bUsed = true; bUsed = true;
} }
else if (pColumnData && bUseTab && miAutoPos != pColumnData->end()) else if (pColumnData && bUseTab && miAutoPosColumn != pColumnData->end())
{ {
// in den Eintraegen der AutoEingabe blaettern // in den Eintraegen der AutoEingabe blaettern
...@@ -3274,9 +3274,9 @@ bool ScInputHandler::KeyInput( const KeyEvent& rKEvt, bool bStartEdit /* = false ...@@ -3274,9 +3274,9 @@ bool ScInputHandler::KeyInput( const KeyEvent& rKEvt, bool bStartEdit /* = false
{ {
bUseTab = false; bUseTab = false;
if (pFormulaData) if (pFormulaData)
miAutoPos = pFormulaData->end(); // do not search further miAutoPosFormula = pFormulaData->end(); // do not search further
else if (pColumnData) if (pColumnData)
miAutoPos = pColumnData->end(); miAutoPosColumn = pColumnData->end();
KeyFuncType eFunc = rKEvt.GetKeyCode().GetFunction(); KeyFuncType eFunc = rKEvt.GetKeyCode().GetFunction();
if ( nChar && nChar != 8 && nChar != 127 && // no 'backspace', no 'delete' if ( nChar && nChar != 8 && nChar != 127 && // no 'backspace', no 'delete'
...@@ -3401,9 +3401,9 @@ bool ScInputHandler::InputCommand( const CommandEvent& rCEvt, bool bForce ) ...@@ -3401,9 +3401,9 @@ bool ScInputHandler::InputCommand( const CommandEvent& rCEvt, bool bForce )
// AutoInput after ext text input // AutoInput after ext text input
if (pFormulaData) if (pFormulaData)
miAutoPos = pFormulaData->end(); miAutoPosFormula = pFormulaData->end();
else if (pColumnData) if (pColumnData)
miAutoPos = pColumnData->end(); miAutoPosColumn = pColumnData->end();
if (bFormulaMode) if (bFormulaMode)
UseFormulaData(); UseFormulaData();
......
...@@ -74,7 +74,8 @@ private: ...@@ -74,7 +74,8 @@ private:
ScTypedCaseStrSet* pColumnData; ScTypedCaseStrSet* pColumnData;
ScTypedCaseStrSet* pFormulaData; ScTypedCaseStrSet* pFormulaData;
ScTypedCaseStrSet* pFormulaDataPara; ScTypedCaseStrSet* pFormulaDataPara;
ScTypedCaseStrSet::const_iterator miAutoPos; ScTypedCaseStrSet::const_iterator miAutoPosColumn;
ScTypedCaseStrSet::const_iterator miAutoPosFormula;
Window* pTipVisibleParent; Window* pTipVisibleParent;
sal_uLong nTipVisible; sal_uLong nTipVisible;
......
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