RAP Theme Editor
The goal of this project is to provide an Eclipse Plug-In that handles RAP theme files. At the moment RAP theme files have to be edited in a normal text editor. That is fault-prone and definitely not userfriendly. So beside syntax checking the Theme Editor will provide a graphical user interface to change several properties and values for RAP themes in an easier way.
This project is part of 2008 Google Summer of Code.
- Mentor: Ralf Sternberg
- Student: Mathias Schaeffner
- Multipage Editor with 3 tabs (widgets tab, rules tab, source tab) for editing all parts of a RAP theme file
- loading supported widgets and their possible properties dynamically through the *.theme.xml files associated with each RAP widget
- synchronization between GUI-tabs and source tab
- dialogs that handle input of certain property types, e.g. ColorDialog, FontDialog, FileDialog
- Redo/Undo functionality
- source editor, so that theme files can be edited by hand as well
- Problem Marker in source tab
- syntax coloring in source tab
- contribution to standard Outline view
- content assist in source editor
- text hover in source editor
- preview for all widgets in order to see directly an visual impact when changing a property
- improvement in image selection dialog, e.g. scale preview of selected image
- ability to register custom widgets in order to style them as well
- css parser modifications: properies should be written from the model into the file exactly the way they were parsed (e.g. different formats of color values: #ff0000 or red )
- element hierarchy in *.theme.xml files: This xml structure should correspond with the one in the widget tree in widget tab.
- Button, which will start the RAP application instantly with the currently opened theme file
- preference page for editor wide settings: e.g. syntax coloring, settings for content assist, widget preview, ...
- after some "refine" actions the theme file could be cluttered and unclear to read: so provide a feature that will clean up the theme file by removing unused rules or properties and merge rules with same selector list if possible
Getting the Source