Andrew J. Ko & Brad A. Myers Carnegie Mellon University CITRUS: A Language and Toolkit for Simplifying the Creation of Structured Editors for Code and Data Andrew J. Ko & Brad A. Myers Carnegie Mellon University
INTRODUCTION Citrus - Creating Interactive Tools for Reshaping and Utilizing Structure. It is a language and user interface toolkit. Used to simplify the creation of editors for structured data and code. It is specifically designed for creating model- view-controller based direct-manipulation editors for highly structured data.
CITRUS SPECIFICATION LANGUAGE Citrus is an object-oriented, statically-typed and interpreted language Features of the language Elements Properties Expressions Listeners and Notification Restrictions Serialization Specify Languages
CITRUS USER INTERFACE TOOLKIT Central design goals Flexibility Expressiveness Features Views Graphical Objects Layout Behaviors Animation Styles Drag and Drop Keyboard and Mouse Pointer
EXAMPLE – TO DO LIST
QUESTIONS Does Citrus solve a problem ? What are the advantages over traditional methods ? Any drawbacks ? What would you change ?
THANK YOU