basctl/source/basicide/baside2.cxx | 5 +++++ basctl/source/basicide/baside2.hxx | 5 +++++ basctl/source/basicide/baside2b.cxx | 30 ++++++++++++++++++++++++++---- basctl/source/basicide/basides1.cxx | 2 +- 4 files changed, 37 insertions(+), 5 deletions(-)
New commits: commit 4a0a577c6198d207b18efa7aaeb7eb847ff7be2b Author: August Sodora <aug...@gmail.com> Date: Wed Nov 16 16:45:38 2011 -0500 Finished making it possible to toggle line numbers in the basic ide diff --git a/basctl/source/basicide/baside2.cxx b/basctl/source/basicide/baside2.cxx index 98e1b74..e449ba9 100644 --- a/basctl/source/basicide/baside2.cxx +++ b/basctl/source/basicide/baside2.cxx @@ -1401,6 +1401,11 @@ sal_Bool ModulWindow::IsReadOnly() return bReadOnly; } +void ModulWindow::SetLineNumberDisplay(bool b) +{ + aXEditorWindow.SetLineNumberDisplay(b); +} + sal_Bool ModulWindow::IsPasteAllowed() { sal_Bool bPaste = sal_False; diff --git a/basctl/source/basicide/baside2.hxx b/basctl/source/basicide/baside2.hxx index 1de34d7..48a65c9 100644 --- a/basctl/source/basicide/baside2.hxx +++ b/basctl/source/basicide/baside2.hxx @@ -290,6 +290,7 @@ private: LineNumberWindow aLineNumberWindow; EditorWindow aEdtWindow; ScrollBar aEWVScrollBar; + bool bLineNumberDisplay; virtual void DataChanged(DataChangedEvent const & rDCEvt); @@ -304,6 +305,8 @@ public: LineNumberWindow& GetLineNumberWindow() { return aLineNumberWindow; } EditorWindow& GetEdtWindow() { return aEdtWindow; } ScrollBar& GetEWVScrollBar() { return aEWVScrollBar; } + + void SetLineNumberDisplay(bool b); }; @@ -365,6 +368,8 @@ public: virtual void SetReadOnly( sal_Bool bReadOnly ); virtual sal_Bool IsReadOnly(); + void SetLineNumberDisplay(bool); + StarBASIC* GetBasic() { XModule(); return xBasic; } SbModule* GetSbModule() { return xModule; } diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx index be08268..2a4d8ce 100644 --- a/basctl/source/basicide/baside2b.cxx +++ b/basctl/source/basicide/baside2b.cxx @@ -1630,13 +1630,13 @@ ComplexEditorWindow::ComplexEditorWindow( ModulWindow* pParent ) : aBrkWindow( this ), aLineNumberWindow( this, pParent ), aEdtWindow( this ), - aEWVScrollBar( this, WB_VSCROLL | WB_DRAG ) + aEWVScrollBar( this, WB_VSCROLL | WB_DRAG ), + bLineNumberDisplay(false) { aEdtWindow.SetModulWindow( pParent ); aBrkWindow.SetModulWindow( pParent ); aEdtWindow.Show(); aBrkWindow.Show(); - aLineNumberWindow.Show(); aEWVScrollBar.SetLineSize( SCROLL_LINE ); aEWVScrollBar.SetPageSize( SCROLL_PAGE ); @@ -1659,8 +1659,16 @@ void ComplexEditorWindow::Resize() Size aLnSz(aLineNumberWindow.GetWidth(), aSz.Height()); aLineNumberWindow.SetPosSizePixel(Point(DWBORDER+aBrkSz.Width() - 1, DWBORDER), aLnSz); - Size aEWSz(aSz.Width() - nBrkWidth - aLineNumberWindow.GetWidth() - nSBWidth + 2, aSz.Height()); - aEdtWindow.SetPosSizePixel( Point( DWBORDER+aBrkSz.Width()+aLnSz.Width()-1, DWBORDER ), aEWSz ); + if(bLineNumberDisplay) + { + Size aEWSz(aSz.Width() - nBrkWidth - aLineNumberWindow.GetWidth() - nSBWidth + 2, aSz.Height()); + aEdtWindow.SetPosSizePixel( Point( DWBORDER+aBrkSz.Width()+aLnSz.Width()-1, DWBORDER ), aEWSz ); + } + else + { + Size aEWSz(aSz.Width() - nBrkWidth - nSBWidth + 1, aSz.Height()); + aEdtWindow.SetPosSizePixel(Point(DWBORDER + aBrkSz.Width() - 1, DWBORDER), aEWSz); + } aEWVScrollBar.SetPosSizePixel( Point( aOutSz.Width()-DWBORDER-nSBWidth, DWBORDER ), Size( nSBWidth, aSz.Height() ) ); } @@ -1696,6 +1704,20 @@ void ComplexEditorWindow::DataChanged(DataChangedEvent const & rDCEvt) } } +void ComplexEditorWindow::SetLineNumberDisplay(bool b) +{ + if(b == bLineNumberDisplay) + return; + + if(b) + aLineNumberWindow.Show(); + else + aLineNumberWindow.Hide(); + + bLineNumberDisplay = b; + Resize(); +} + uno::Reference< awt::XWindowPeer > EditorWindow::GetComponentInterface(sal_Bool bCreate) { diff --git a/basctl/source/basicide/basides1.cxx b/basctl/source/basicide/basides1.cxx index c10ff6d..7a500fe 100644 --- a/basctl/source/basicide/basides1.cxx +++ b/basctl/source/basicide/basides1.cxx @@ -113,7 +113,7 @@ void BasicIDEShell::ExecuteCurrent( SfxRequest& rReq ) lcl_GetSourceLinesEnabledValue() = bValue; if ( pCurWin && pCurWin->IsA( TYPE( ModulWindow ) ) ) { -// (ModuleWindow*)(pCurWin)->SetLineNumberDisplay( bValue ); + dynamic_cast<ModulWindow*>(pCurWin)->SetLineNumberDisplay( bValue ); } } break; _______________________________________________ Libreoffice-commits mailing list Libreoffice-commits@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits