diff options
author | Gergo Mocsi <gmocsi91@gmail.com> | 2013-07-12 11:18:36 +0200 |
---|---|---|
committer | Gergo Mocsi <gmocsi91@gmail.com> | 2013-09-02 18:16:44 +0200 |
commit | 5dc05ade53891f67f781e18cd4909a21231bf9d2 (patch) | |
tree | 3831b18a164cc0e384e01eb183fc0aa9a69abbaa /basctl | |
parent | 5beb4be54cf296e3895a8849072f1892841aec75 (diff) |
GSOC work nested reflection fix
Ive fixed the parameter problem: I use the tokens created
by the syntax highlighter (it's struct HighlightPortion),
and put the identiiers to the vector, and reflect them.
Change-Id: I08888e4a8bf00fa987a16466f4a5ac03836e5ee7
Diffstat (limited to 'basctl')
-rw-r--r-- | basctl/source/basicide/baside2b.cxx | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx index 4452aa230dbd..00dcf754b984 100644 --- a/basctl/source/basicide/baside2b.cxx +++ b/basctl/source/basicide/baside2b.cxx @@ -530,7 +530,16 @@ void EditorWindow::KeyInput( const KeyEvent& rKEvt ) OUString aLine( pEditEngine->GetText( nLine ) ); // the line being modified OUString aStr = aLine.copy( std::max(aLine.lastIndexOf(" "), aLine.lastIndexOf("\t"))+1 ); // variable name OUString sActSub = GetActualSubName( nLine ); - std::vector< OUString > aVect = Split( aStr, '.' ); + std::vector< OUString > aVect; //= Split( aStr, '.' ); + + HighlightPortions aPortions; + aHighlighter.getHighlightPortions( nLine, aLine, aPortions ); + for ( size_t i = 0; i < aPortions.size(); i++ ) + { + HighlightPortion& r = aPortions[i]; + if( r.tokenType == 1 ) // extract the identifers(methods, base variable) + aVect.push_back( aLine.copy(r.nBegin, r.nEnd - r.nBegin) ); + } OUString sBaseName = aVect[0]; for( unsigned int i = 0; i < aCodeCompleteCache.size(); ++i) { |