10/04/2013 07:38, Scott Kostyshak:
On Tue, Apr 9, 2013 at 11:38 PM, Hashini Senaratne <hashz1...@gmail.com> wrote:
As I can see, in LyX if we print (/view as pdf) a document with a too wide
table, the extra part is going to be cut out in the output. This will happen
even if a horizontal bar is created to access the extended edges in the
editing environment. Is there any solution that the organization has figured
out for this issue? Or is that part also falling under to the same project?

If you think about it, a table that is too wide is to wide. There is not much LyX can do about it. What LyX could do, though is to tell you about it using some visual markers obtained by parsing the LaTeX log file and looking for 'overfull \hbox' warnings.

If possible, please introduce me some introductory bugs that are easy to
start with and related to this project.

Note that I am not very experienced so if you are ever wondering
"should I do what Scott says or what X says?", do what X says.
Especially if X is Jean-Marc.

Ha! My main advantage is that I have been around long enough to know about the code written by others :)

A few ideas to get you started on the project. These ideas are just a braindump, they may not make sense. Feel free to disagree with any of them. I think it is important to know first what UI effect we want to obtain in order to make LyX as easy to use as possible.

* we do not want to scroll the whole screen, this leads to having an empty screen with just one equation/table in the middle, which looks stupid.

* therefore we could just scroll the row where the cursor is.

* Inserting a real scrollbar (that is, a Qt widget) in our workarea may prove difficult. Moreover the scrollbar would take room in the documents. Alternatives include:
  * build our own scrollbar-like widget (lots of work)
* have buttons with arrows in the left and right margin or (since these margins are currently thin) maybe buttons that appear as needed when the mouse if over the problematic inset. * have the inset slide as needed to the left when the cursor enters a part that would be off screen.

* An implementation idea: For display purposes the visible screen is split in rows, which are lines of text (see Row.cpp and TextMetrics.cpp). A formula or a table is just one row of the outer TextMetrics object. Therefore, it could be possible, when painting the screen, to move the row to the left or right so that the cursor is visible. The advantage of this approach is that it would not be necessary to implement it for the insets themselves, but at a more general level. Any line that is too large would become editable.

Hope this helps.
JMarc

Reply via email to