Difference between revisions of "RAP Theme Editor"

From Eclipsepedia

Jump to: navigation, search
(Source Tab)
(Prospective Features)
Line 48: Line 48:
 
== Prospective Features ==
 
== Prospective Features ==
  
* preview for all widgets in order to see directly an visual impact when changing a property
+
* preview for all widgets in order to see directly an visual impact when changing a property [[Image:Glass.gif]]
  
* improvement in image selection dialog, e.g. scale preview of selected image
+
* improvement in image selection dialog, e.g. scale preview of selected image [[Image:Glass.gif]]
  
* ability to register custom widgets in order to style them as well
+
* ability to register custom widgets in order to style them as well [[Image:Glass.gif]]
  
* 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 )
+
* 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 ) [[Image:Glass.gif]]
  
* element hierarchy in *.theme.xml files: This xml structure should correspond with the one in the widget tree in widget tab.
+
* element hierarchy in *.theme.xml files: This xml structure should correspond with the one in the widget tree in widget tab. [[Image:Glass.gif]]
  
* Button, which will start the RAP application instantly with the currently opened theme file
+
* Button, which will start the RAP application instantly with the currently opened theme file [[Image:Glass.gif]]
  
* preference page for editor wide settings: e.g. syntax coloring, settings for content assist, widget preview, ...
+
* preference page for editor wide settings: e.g. syntax coloring, settings for content assist, widget preview, ... [[Image:Glass.gif]]
  
* 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
+
* 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 [[Image:Glass.gif]]
  
 
== Getting the Source ==
 
== Getting the Source ==

Revision as of 11:17, 18 August 2008

Contents

Abstract

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.

Participants:

  • Mentor: Ralf Sternberg
  • Student: Mathias Schaeffner

Features

Legend

Glass.gif Needs some investigation/research

Progress.gif Work in progress

Ok green.gif Bug fixed / Feature added

  • Multipage Editor with 3 tabs (widgets tab, rules tab, source tab) for editing all parts of a RAP theme file Ok green.gif
  • loading supported widgets and their possible properties dynamically through the *.theme.xml files associated with each RAP widget Ok green.gif
  • synchronization between GUI-tabs and source tab Ok green.gif
  • dialogs that handle input of certain property types, e.g. ColorDialog, FontDialog, FileDialog Ok green.gif
  • Redo/Undo functionality Ok green.gif
  • source editor, so that theme files can be edited by hand as well Ok green.gif
  • Problem Marker in source tab Ok green.gif
  • syntax coloring in source tab Ok green.gif
  • contribution to standard Outline view Ok green.gif
  • content assist in source editor Ok green.gif
  • text hover in source editor Ok green.gif

Widgets Tab

Rules Tab

Source Tab

The source tab gives the chance of directly editing the content in the theme file. Therefore snytax coloring and content assists are provided for the following parts of a theme file: selectors, styles, states, variants and properties. Additionally, text hover information is shown if the mouse hovers such token.

Whenever the document's content has been changed, it is parsed again and accordingly problem markers are shown. These ones can either be of the type "error marker" if the parser has found a structural disorder, or of the type "warning marker" if the css structure is valid but there are parts, which are not supported by RAP, and so will be ignored.

Prospective Features

  • preview for all widgets in order to see directly an visual impact when changing a property Glass.gif
  • improvement in image selection dialog, e.g. scale preview of selected image Glass.gif
  • ability to register custom widgets in order to style them as well Glass.gif
  • 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 ) Glass.gif
  • element hierarchy in *.theme.xml files: This xml structure should correspond with the one in the widget tree in widget tab. Glass.gif
  • Button, which will start the RAP application instantly with the currently opened theme file Glass.gif
  • preference page for editor wide settings: e.g. syntax coloring, settings for content assist, widget preview, ... Glass.gif
  • 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 Glass.gif

Getting the Source

SVN: https://eclipse-incub.svn.sourceforge.net/svnroot/eclipse-incub/org.eclipse.rap.themeeditor

Screenshots