basctl/source/basicide/baside2.hxx | 1 + basctl/source/basicide/baside2b.cxx | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-)
New commits: commit 3168fe1be0b45ea418f97430004fedf695f85a15 Author: Gergo Mocsi <gmocs...@gmail.com> Date: Thu Jun 27 20:23:48 2013 +0200 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 diff --git a/basctl/source/basicide/baside2.hxx b/basctl/source/basicide/baside2.hxx index 774995d..179a223 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 5d9daf2..1804888 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(); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits