I recently tried MyPaint as I wanted a simple and straightforward sketching/drawing application to draw up some flow diagrams etc and although my needs are far from artistic I found MyPaint really good at doing just what I wanted to do - draw simple shapes easily and fast. Just like sketching out on paper.
There are a couple of things I would like to contribute to MyPaint as I am a programmer so I am currently attempting to grasp the MyPaint source. I come from a Java/Scala and a bit of C/C++ background and I’ve always wanted to learn Python so contributing seems a good way to go.
This is what I have achieved so far
- Checked out the code including the required C libraries and built them locally
- Built and installed MyPaint (locally) using the MyPaint setup.py script
- I’m an IntelliJ user so I am using PyCharm to execute MyPaint but I can also execute the latest ‘master’ from commandline.
This is what I am struggling with - would like a few pointers if possible
- Trying to understand how the UI is built up on application startup. I see that Glade is used in the layout and there are .po files for internationalisation but I can’t yet grasp how all these are combined to produce the UI. For example, I would like to add a ‘select region’ tool so I would want to add in a new menu item somewhere. Could someone perhaps give me a few more pointers now that I have got beyond the initial build & starting up of the application?
- Is there anyway I can run MyPaint without having to do the build-and-install process? As I come from a IntelliJ-Java/Scala background, I know it does a lot for me in the background when I start an application but crucially I can place breakpoints on the source code - with MyPaint and PyCharm I need to build/install for the application to even run and then I need to put break points on the installed source code - which is a bit of a pain. Is there anyway I can avoid having to do this?