CJEdit – A ContextJ-based Editor Malte Appeltauer Software Architecture Group...

6
CJEdit – A ContextJ-based Editor Malte Appeltauer Software Architecture Group Hasso-Plattner-Institut Universität Potsdam - Germany http://www.hpi.uni-potsdam.de/swa April 2009 1

Transcript of CJEdit – A ContextJ-based Editor Malte Appeltauer Software Architecture Group...

Page 1: CJEdit – A ContextJ-based Editor Malte Appeltauer Software Architecture Group Hasso-Plattner-Institut Universität Potsdam - Germany .

1

CJEdit – A ContextJ-based Editor

Malte AppeltauerSoftware Architecture Group

Hasso-Plattner-InstitutUniversität Potsdam - Germany

http://www.hpi.uni-potsdam.de/swa

April 2009

Page 2: CJEdit – A ContextJ-based Editor Malte Appeltauer Software Architecture Group Hasso-Plattner-Institut Universität Potsdam - Germany .

www.hpi.uni-potsdam.de/swa 2009 2

RTF toolbar

text blocks

code block

code block button

GUI Overview – Rich Text Edit Mode

Page 3: CJEdit – A ContextJ-based Editor Malte Appeltauer Software Architecture Group Hasso-Plattner-Institut Universität Potsdam - Germany .

www.hpi.uni-potsdam.de/swa 2009

programming toolbar

outline

code block

code block button

GUI Overview – Programming Mode

Page 4: CJEdit – A ContextJ-based Editor Malte Appeltauer Software Architecture Group Hasso-Plattner-Institut Universität Potsdam - Germany .

www.hpi.uni-potsdam.de/swa 2009 4

GUI switch is triggered by…

■ activating the code block button

□ denotes the following text block to be handled as source code

■ moving the text cursor through the document

□ shows the GUI elements corresponding to the cursor’s enclosing text block

Page 5: CJEdit – A ContextJ-based Editor Malte Appeltauer Software Architecture Group Hasso-Plattner-Institut Universität Potsdam - Germany .

www.hpi.uni-potsdam.de/swa 2009 5

Implementation

■ GUI elements based on

□ QT Jambi– standard GUI

components

□ ContextJ- layers for context-specific

components

Page 6: CJEdit – A ContextJ-based Editor Malte Appeltauer Software Architecture Group Hasso-Plattner-Institut Universität Potsdam - Germany .

www.hpi.uni-potsdam.de/swa 2009 6

Implementation II

■ recompose layers

□ on cursor position changed– first, reset current GUI– then, rebuild GUI with new elements