[Libreoffice] [GSOC][patch] Multiline inputbar

Kohei Yoshida kohei.yoshida at suse.com
Mon Aug 22 08:21:01 PDT 2011

Hi Anurag,

On Sat, 2011-08-20 at 23:16 +0530, Anurag Jain wrote:
> Hello Kohei,
> I've Worked around ScrollBar and Made it appear. But still not able to
> get the event handling thing working. Also I've improved some previous
> code which handles sizing and positioning of button and other
> controls. Also in order to delay the call to InitEditEngine, I think
> we can make use of the GainFocus() method. The call should be made
> only after the textbox has got focus. Firstly, I want you to guide me
> in syncing the ScrollBar event with the textbox and after that I'll go
> for fixing the EditEngine thing.

So, the first thing I would try is to set the size of the scroll bar
correctly to align it with the top and bottom ends of the input box to
the left.  Incidentally, the scroll bar should be located to the
immediate right of the text box and to the left of the button, to make
it appear as part of the text input box.

Once that's done, go find out how you can get notified of changes with
the line count, current line etc from the EditEngine implementation
because you need to adjust the scroll bar range and position based on
that.  I'm not really up-to-date with the EditEngine code enough to tell
you exactly what methods to use etc. so you need to do some digging into
the EditEngine code to find out.

> I've attached the patch over here, awaiting your suggestions.

I've pushed your patch to the feature branch.  One thing I noticed, now
I see a black box in cell A1 when Calc starts up, which is probably due
to the delaying of the edit engine initialization.  You commented out
the call to InitEditEngine() in the Paint() method.

So, you need to somehow find a way to avoid this painting issue.  My
suggestion is to, instead of delaying the initialization of EditEngine
in order to avoid incorrect size to be set to the controls, try
calculating the size of the controls before initializing the edit engine
to see if that works.

Another issue I found.  once the edit engine size is set to a certain
size, even after resizing the application window, the edit engine size
will remain the same.  We need to have this fixed.  In theory, we need
to reset the size of the edit engine whenever the size of the input box
changes, in order to avoid horizontal scrolls.

Anyway, technically, today is the firm pencil-down date, so I will start
evaluating your work based on what we have today.  But if you need to
give me more updates, feel free to send me patches daily.  I'll probably
start my evaluation sometime mid-week and I'll use whatever code is
available that time to do a final evaluation.

Good stuff!


Kohei Yoshida, LibreOffice hacker, Calc
<kohei.yoshida at suse.com>

More information about the LibreOffice mailing list