Re: Your presentation on LibreOffice code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Arvind,

On Wed, Feb 12, 2020 at 06:41:24PM -0600, Arvind Kumar <arvind.kumar@xxxxxxxxx> wrote:
> I came across your presentation on the code structure of LibreOffice source
> code.
> https://libocon.org/assets/Conference/Rome/Slides/beginners-structure-locon-rome-2k17.pdf
> 
> I was able to download the code and compile it on my Linux machine. I'm now
> trying to make sense of the code and wish to know the following. If you
> don't mind, I have three questions.
> 
> (1) Are the pages in a LibreOffice document GtkTextView objects? If so,
> where is the code for the creation of the TextView object?

git grep GtkTextView vcl/

should give you some hints, the gtk3 case either creates widgets using
.ui files ("welded" case) or using the VclBuilder (non-welded case).

> (2) Where is the code to get the input from the keyboard and then set the
> text in the TextView object?

Keyboard input is typically handled by the KeyInput() virtual member
function of vcl::Window subclasses. See include/vcl/weld.hxx for the
interface that is an abstraction on top of the gtk3 and vcl (non-gtk3)
cases.

> (3) Where is the code to save the text from the TextView object into a file?

A typical Writer/Calc/Impress document content is presented using custom
widgets in gtk3 terms, so it's rare that a GtkTextView content would be
really saved to a file as-is.

> By understanding the code for the creation, read, and write operations, it
> will get me started off since that is the core functionality of a document
> writer.

Perhaps ask something more specific, so you can get specific answers.
:-)

Regards,

Miklos

Attachment: signature.asc
Description: Digital signature

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

[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux