220 likes | 476 Views
Welcome to Terp Word. Purpose. A free offer to look at a better word processor. For your next generation of applications. Why not move to the next generation of word processing technology?. Terp Word Team. Kenneth Kang Salman Mansoor Ahmad Ibrahim Mark Wolfe Jay Zuckerman
E N D
Purpose • A free offer to look at a better word processor. • For your next generation of applications. Why not move to the next generation of word processing technology?
Terp Word Team • Kenneth Kang • Salman Mansoor • Ahmad Ibrahim • Mark Wolfe • Jay Zuckerman • Serban Padencov • Ken Miller
What is Terp Word? • Terp Word 4.0, is the latest word processor for the Terp Office Suite • Offers our customers a simple, easy way to design documents and edit html code.
Why use Terp Word? • Easy to Use – It is not as complex as using other Word processing applications • Extra Features – Offers extra features that most Word processor apps do not.
Why use Terp Word? • Portable – An incredibly light program. • Service – Offers excellent service. • FREE!
Features • Word processing
Features • Word processing • Split Screen
Features • Word processing • Split Screen • Ability to insert images • Platform independent • Open source • Uses HTML & XML data files
Highlights • Powerful editing tools • Cut and Paste between applications • Easy to use and learn
TerpWord Technical Overview • Written in Java using the Swing library • Lightweight and fast • 125KB download, less than 2MB installed
TerpWord Source • 360 methods in 60 classes • 3800 lines of code • No external dependencies besides the bare JDK
GUI Breakdown • All subcomponents of main display pane extended from Java Swing classes • Bold, Italic, etc. handled by existing HTMLDocument event listeners • Remaining tool buttons bound to custom callbacks
Program Architecture • Simplified Model-View-Controller design pattern • Presentation and user interface are unified • Document contents are internally stored in the model as HTML Unified View/Controller Model Swing GUI Controls HTMLDocument
Extensibility • Easy to extend centralized event handling • Unified text formatting event handler
Split Screen • Dynamically insert and remove panes in JSplitPaneobject • Top JTextPane for normal editing • Bottom JTextPane containing markup code • Synchronization between the two views is handled by querying the HTML model upon user action
Variable State GUI Elements • Buttons are disabled/enabled on the fly to reflect current options available to the user Standard markup buttons are disabled when editing in HTML pane
Document History • Persistent document list provided by logging document transactions to a file • Log updated upon Save and Open actions
Save Dialog on Program Exit • Intercept ‘WINDOW_CLOSING’ event triggered by the top-level JFrame • Prompt also triggered upon ‘New Document’ • Save capability present for multiple file formats: HTML, RTF, TXT