summaryrefslogtreecommitdiff
path: root/basctl
diff options
context:
space:
mode:
authorGergo Mocsi <gmocsi91@gmail.com>2013-07-12 11:18:36 +0200
committerGergo Mocsi <gmocsi91@gmail.com>2013-09-02 18:16:44 +0200
commit5dc05ade53891f67f781e18cd4909a21231bf9d2 (patch)
tree3831b18a164cc0e384e01eb183fc0aa9a69abbaa /basctl
parent5beb4be54cf296e3895a8849072f1892841aec75 (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.cxx11
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)
{