Ok, I've adjusted the patch to include the fix you provided
(thanks!!). I only have two more stumbling blocks at this point.
First, I don't have a account to commit with; would you mind creating
a branch for this in the meantime? Also, is there a consensus on how
the option to hide/display line numbers should be added? Currently I'm
trying to add a page to the options dialog in cui but I suppose it
will really only have one option for now, is that ok?

August Sodora
aug...@gmail.com
(201) 280-8138



On Fri, Nov 11, 2011 at 12:01 PM, Noel Power <nopo...@suse.com> wrote:
> On 11/11/11 16:50, Noel Power wrote:
>>
>> On 11/11/11 16:30, August Sodora wrote:
>> I'd love to but I'm not exactly sure how. Currently I have it as a local
>> branch.
>>>
>> haha, yes, well not being much of a git guru myself I can't recall offhand
>> what the command are for that, let me try and find out what they are and get
>> back to you. Anyway, no problem with it being a local branch for the moment
>>
>> thanks,
>> Noel
>
> see below for some steps that kendy sent to the list at some stage, note the
> instructions are based on the old multi-repo setup so I guess one just needs
> to substitute 'git' for 'g' in the instructions below
>
>> So the example workflow might look like the following:
>>
>> # create the branch locally
>> g checkout -b mybranch
>> # develop something
>> ...
>> g commit -a
>> ...
>> g commit
>>
>> # find out that it might be useful as a feature branch
>> g -f push origin mybranch:feature/some-comprehensible-name
>> # continue development and pushing
>> ...
>> g commit -a
>> g push
>> # hmm, a conflict, somebody pushed to our
>> # feature/some-comprehensible-name branch, we want to get newest stuff
>> # from there.  In this case, we want the 'rebasing' pull.
>> g pull -r
>> g push
>>
>> # at some stage you might find out that you actually want to merge newer
>> # stuff from some other branch, eg. master
>> g merge master
>>
>> # finally you want to get it all back to master
>> g checkout master
>> g merge mybranch
>> g push
>> # if it failed, we need to get the newest stuff from the remote repo
>> # BUT WITHOUT REBASING
>> g pull --no-rebase
>> g push
>>
>> # everything finished, kill the remote branch
>> g -f push origin :feature/some-comphrehensible-name
>
> thanks again
>
> Noel
>
>
From 2a08f10d45446176e0d8b4b29863650b594f2bd2 Mon Sep 17 00:00:00 2001
From: August Sodora <aug...@gmail.com>
Date: Fri, 11 Nov 2011 14:22:11 -0500
Subject: [PATCH] Add line numbers to basic ide

---
 basctl/Library_basctl.mk            |    1 +
 basctl/source/basicide/baside2.hxx  |    6 ++++++
 basctl/source/basicide/baside2b.cxx |   29 +++++++++++++++++++++--------
 3 files changed, 28 insertions(+), 8 deletions(-)

diff --git a/basctl/Library_basctl.mk b/basctl/Library_basctl.mk
index c806980..b1badf4 100644
--- a/basctl/Library_basctl.mk
+++ b/basctl/Library_basctl.mk
@@ -94,6 +94,7 @@ $(eval $(call gb_Library_add_exception_objects,basctl,\
 	basctl/source/basicide/docsignature \
 	basctl/source/basicide/documentenumeration \
 	basctl/source/basicide/iderdll \
+	basctl/source/basicide/linenumberwindow \
 	basctl/source/basicide/localizationmgr \
 	basctl/source/basicide/macrodlg \
 	basctl/source/basicide/moduldl2 \
diff --git a/basctl/source/basicide/baside2.hxx b/basctl/source/basicide/baside2.hxx
index 6af6c06..1de34d7 100644
--- a/basctl/source/basicide/baside2.hxx
+++ b/basctl/source/basicide/baside2.hxx
@@ -42,6 +42,7 @@ class SvxSearchItem;
 #include <svtools/headbar.hxx>
 
 #include <vcl/button.hxx>
+#include <basic/sbstar.hxx>
 #include <basic/sbmod.hxx>
 #include <vcl/split.hxx>
 #include "svl/lstner.hxx"
@@ -50,6 +51,8 @@ class SvxSearchItem;
 #include <sfx2/progress.hxx>
 #include <svtools/syntaxhighlight.hxx>
 
+#include "linenumberwindow.hxx"
+
 DBG_NAMEEX( ModulWindow )
 
 #define MARKER_NOMARKER 0xFFFF
@@ -284,6 +287,7 @@ class ComplexEditorWindow : public Window
 {
 private:
     BreakPointWindow    aBrkWindow;
+    LineNumberWindow    aLineNumberWindow;
     EditorWindow        aEdtWindow;
     ScrollBar           aEWVScrollBar;
 
@@ -297,6 +301,7 @@ public:
                         ComplexEditorWindow( ModulWindow* pParent );
 
     BreakPointWindow&   GetBrkWindow()      { return aBrkWindow; }
+    LineNumberWindow&   GetLineNumberWindow() { return aLineNumberWindow; }
     EditorWindow&       GetEdtWindow()      { return aEdtWindow; }
     ScrollBar&          GetEWVScrollBar()   { return aEWVScrollBar; }
 };
@@ -402,6 +407,7 @@ public:
 
     EditorWindow&       GetEditorWindow()       { return aXEditorWindow.GetEdtWindow(); }
     BreakPointWindow&   GetBreakPointWindow()   { return aXEditorWindow.GetBrkWindow(); }
+    LineNumberWindow&   GetLineNumberWindow()   { return aXEditorWindow.GetLineNumberWindow(); }
     ScrollBar&          GetEditVScrollBar()     { return aXEditorWindow.GetEWVScrollBar(); }
     ExtTextEngine*      GetEditEngine()         { return GetEditorWindow().GetEditEngine(); }
     ExtTextView*        GetEditView()           { return GetEditorWindow().GetEditView(); }
diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx
index 8f348d2..be08268 100644
--- a/basctl/source/basicide/baside2b.cxx
+++ b/basctl/source/basicide/baside2b.cxx
@@ -580,6 +580,7 @@ void EditorWindow::CreateEditEngine()
     pModulWindow->GetLayout()->GetWatchWindow().Update();
     pModulWindow->GetLayout()->GetStackWindow().Update();
     pModulWindow->GetBreakPointWindow().Update();
+    pModulWindow->GetLineNumberWindow().Update();
 
     pEditView->ShowCursor( sal_True, sal_True );
 
@@ -660,6 +661,7 @@ void EditorWindow::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
             pModulWindow->GetEditVScrollBar().SetThumbPos( pEditView->GetStartDocPos().Y() );
             pModulWindow->GetBreakPointWindow().DoScroll
                 ( 0, pModulWindow->GetBreakPointWindow().GetCurYOffset() - pEditView->GetStartDocPos().Y() );
+            pModulWindow->GetLineNumberWindow().Invalidate();
         }
         else if( rTextHint.GetId() == TEXT_HINT_TEXTHEIGHTCHANGED )
         {
@@ -669,6 +671,8 @@ void EditorWindow::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
                 long nTextHeight = pEditEngine->GetTextHeight();
                 if ( nTextHeight < nOutHeight )
                     pEditView->Scroll( 0, pEditView->GetStartDocPos().Y() );
+
+                pModulWindow->GetLineNumberWindow().Invalidate();
             }
 
             SetScrollBarRanges();
@@ -792,7 +796,10 @@ void EditorWindow::ImplSetFont()
         aFont = GetFont();
 
         if ( pModulWindow )
+        {
             pModulWindow->GetBreakPointWindow().SetFont( aFont );
+            pModulWindow->GetLineNumberWindow().SetFont( aFont );
+        }
 
         if ( pEditEngine )
         {
@@ -873,6 +880,7 @@ void EditorWindow::ParagraphInsertedDeleted( sal_uLong nPara, sal_Bool bInserted
     {
         pModulWindow->GetBreakPoints().reset();
         pModulWindow->GetBreakPointWindow().Invalidate();
+        pModulWindow->GetLineNumberWindow().Invalidate();
         aHighlighter.initialize( HIGHLIGHT_BASIC );
     }
     else
@@ -886,6 +894,11 @@ void EditorWindow::ParagraphInsertedDeleted( sal_uLong nPara, sal_Bool bInserted
         aInvRec.Top() = nY;
         pModulWindow->GetBreakPointWindow().Invalidate( aInvRec );
 
+        Size aLnSz(pModulWindow->GetLineNumberWindow().GetWidth(),
+                   GetOutputSizePixel().Height() - 2 * DWBORDER);
+        pModulWindow->GetLineNumberWindow().SetPosSizePixel(Point(DWBORDER + 19, DWBORDER), aLnSz);
+        pModulWindow->GetLineNumberWindow().Invalidate();
+
         if ( bDoSyntaxHighlight )
         {
             String aDummy;
@@ -1612,12 +1625,10 @@ void StackWindow::UpdateCalls()
     aTreeListBox.SetUpdateMode( sal_True );
 }
 
-
-
-
 ComplexEditorWindow::ComplexEditorWindow( ModulWindow* pParent ) :
     Window( pParent, WB_3DLOOK | WB_CLIPCHILDREN ),
     aBrkWindow( this ),
+    aLineNumberWindow( this, pParent ),
     aEdtWindow( this ),
     aEWVScrollBar( this, WB_VSCROLL | WB_DRAG )
 {
@@ -1625,6 +1636,7 @@ ComplexEditorWindow::ComplexEditorWindow( ModulWindow* pParent ) :
     aBrkWindow.SetModulWindow( pParent );
     aEdtWindow.Show();
     aBrkWindow.Show();
+    aLineNumberWindow.Show();
 
     aEWVScrollBar.SetLineSize( SCROLL_LINE );
     aEWVScrollBar.SetPageSize( SCROLL_PAGE );
@@ -1632,8 +1644,6 @@ ComplexEditorWindow::ComplexEditorWindow( ModulWindow* pParent ) :
     aEWVScrollBar.Show();
 }
 
-
-
 void ComplexEditorWindow::Resize()
 {
     Size aOutSz = GetOutputSizePixel();
@@ -1643,11 +1653,14 @@ void ComplexEditorWindow::Resize()
     long nBrkWidth = 20;
     long nSBWidth = aEWVScrollBar.GetSizePixel().Width();
 
-    Size aBrkSz( Size( nBrkWidth, aSz.Height() ) );
+    Size aBrkSz(nBrkWidth, aSz.Height());
     aBrkWindow.SetPosSizePixel( Point( DWBORDER, DWBORDER ), aBrkSz );
 
-    Size aEWSz( Size( aSz.Width() - nBrkWidth - nSBWidth + 2, aSz.Height() ) );
-    aEdtWindow.SetPosSizePixel( Point( DWBORDER+aBrkSz.Width()-1, DWBORDER ), aEWSz );
+    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 );
 
     aEWVScrollBar.SetPosSizePixel( Point( aOutSz.Width()-DWBORDER-nSBWidth, DWBORDER ), Size( nSBWidth, aSz.Height() ) );
 }
-- 
1.7.4.4

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to