summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGergo Mocsi <gmocsi91@gmail.com>2013-06-27 20:23:48 +0200
committerGergo Mocsi <gmocsi91@gmail.com>2013-06-27 20:23:48 +0200
commit3168fe1be0b45ea418f97430004fedf695f85a15 (patch)
tree1d17659ceacc159b5914ed819f64f40411209638
parent2274cfb182e1c254b1ecd07d93bad6b421734316 (diff)
GSOC work week4, CodeCompleteListBox appearance fix
This patch allows the pop-up CodeCompleteListBox to appear under the cursor. It's size is fixed:150x150. Also, I've fixed a bug in extracting the current variable name. Change-Id: Id98cb1c29be72af07a25aac3d51561f072bf103e
-rw-r--r--basctl/source/basicide/baside2.hxx1
-rw-r--r--basctl/source/basicide/baside2b.cxx11
2 files changed, 9 insertions, 3 deletions
diff --git a/basctl/source/basicide/baside2.hxx b/basctl/source/basicide/baside2.hxx
index 774995de29dc..179a2231abf3 100644
--- a/basctl/source/basicide/baside2.hxx
+++ b/basctl/source/basicide/baside2.hxx
@@ -42,6 +42,7 @@ class SvxSearchItem;
#include <svl/lstner.hxx>
#include <svtools/colorcfg.hxx>
#include "vcl/lstbox.hxx"
+#include "vcl/scrbar.hxx"
#include <sfx2/progress.hxx>
#include <unotools/options.hxx>
diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx
index 5d9daf281846..1804888375dd 100644
--- a/basctl/source/basicide/baside2b.cxx
+++ b/basctl/source/basicide/baside2b.cxx
@@ -502,7 +502,8 @@ void EditorWindow::KeyInput( const KeyEvent& rKEvt )
sal_uLong nLine = aSel.GetStart().GetPara();
OUString aLine( pEditEngine->GetText( nLine ) ); // the line being modified
- OUString aStr = (aLine.lastIndexOf(" ") == -1 ? aLine.replaceFirst(".","") : aLine.copy(aLine.lastIndexOf(" ")).replaceFirst(".",""));
+ OUString aStr = aLine.copy( std::max(aLine.lastIndexOf(" "), aLine.lastIndexOf("\t"))+1 );
+
for( unsigned int j = 0; j < aCodeCompleteCache.size(); ++j)
{
if( aCodeCompleteCache[j].sVarName == aStr )
@@ -516,13 +517,17 @@ void EditorWindow::KeyInput( const KeyEvent& rKEvt )
{
Sequence< Reference< reflection::XIdlMethod > > aMethods = xClass->getMethods();
aListBox->Clear();
+
+ Rectangle aRect = ( (TextEngine*) GetEditEngine() )->PaMtoEditCursor(aSel.GetEnd() , false);
+ aListBox->SetPosPixel( aRect.TopLeft() );
+ aListBox->SetSizePixel( Size(150,150) );
+
for(sal_Int32 i = 0; i < aMethods.getLength(); ++i)
{
aListBox->InsertEntry( OUString(aMethods[i]->getName()) );
SAL_WARN("method information", aMethods[i]->getName());
}
- aListBox->EnableAutoSize(true);
- aListBox->Show();
+
aListBox->GetFocus();
aListBox->ToggleDropDown();
}