Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dev:overall_code_structure [2011/01/19 23:02]
lgarrido
dev:overall_code_structure [2013/03/09 17:42]
tehom Link to new dev help page (Is there a better place?)
Line 5: Line 5:
 I am not myself a RG developer, so  any hardcore Rosegardener's comments, additions or corrections to this document will be very welcome. It would be also nice if the doxy output was published somewhere in the web site so it could be referenced from the wiki. I am not myself a RG developer, so  any hardcore Rosegardener's comments, additions or corrections to this document will be very welcome. It would be also nice if the doxy output was published somewhere in the web site so it could be referenced from the wiki.
  
-I found myself missing a couple of small features in RG, so I figured out I'd scratch my own itch and contibute them to the project.+Lately I found myself missing a couple of features in RG, so I figured out I'd scratch my own itch and contribute them to the project.
  
-RG's code is very scarcely commented and not very clearly organized, since it has seen many contributors through many years. Sure, it could really use some cleaning up, refactoring and commenting, but... hey, who wouldn't? That's a lot of hard work waiting for someone with the expertise, the motivation and, above all, the time to tackle it. So let's not hold our breaths.+RG's code is very scarcely commented and not very clearly organized, since it has seen many contributors through many years. Sure, it could really use some cleaning up, refactoring and commenting, but... hey, who wouldn't? That's a lot of hard work waiting for someone with the expertise, the motivation and, above all, the time to tackle it.
  
-Anywho, it is difficult for the newcomer to get his bearings quickly. So I gathered around the available documentation, checked out the SVN repo,  generated the doxygen output and tried to get the overall picture so I could know where to make the changes I needed.+Anyhoo, it is difficult for the newcomer to get his bearings quickly. So I gathered around the available documentation, checked out the SVN repo,  generated the doxygen output and tried to get the overall picture so I could know where to make the changes I needed.
  
-This meagre overview is the result of that research work, I hope it at least saves any new prospective Rosegarden contributor a couple of hours scouring the source tree. Some of the information is copied verbatim from the doxygen main page.+This meager overview is the result of that research work, I hope it at least saves any new prospective Rosegarden contributor a couple of hours scouring the source tree. Some of the information is copied verbatim from the doxygen main page.
  
 ===== The source tree ===== ===== The source tree =====
Line 107: Line 107:
 ===== The GUI classes ===== ===== The GUI classes =====
  
-It is assumed that anyone who wants to contribute to Rosegarden has more than a passing familiarity with the Qt toolkit. Otherwise, I suggest you start here http://doc.qt.nokia.com/latest/tutorials.html and come back in couple of weeks.+It is assumed that anyone who wants to contribute to Rosegarden has more than a passing familiarity with the Qt toolkit. Otherwise, I suggest you start here http://doc.qt.nokia.com/latest/tutorials.html and come back when you have good grasp of it.
  
 ==== The main window ==== ==== The main window ====
Line 122: Line 122:
  
 It also contains references to non-GUI classes, like the current RosegardenDocument or the SequencerThread. It also contains references to non-GUI classes, like the current RosegardenDocument or the SequencerThread.
 +
 +For a brief walkthrough of adding a menu item, see [[dev:how_to_add_menu_items|How to Add Menu Items]]
  
 == RosegardenParameterArea == == RosegardenParameterArea ==
 
 
dev/overall_code_structure.txt ยท Last modified: 2022/05/06 16:07 (external edit)
Recent changes RSS feed Creative Commons License Valid XHTML 1.0 Valid CSS Driven by DokuWiki