editor

所属分类:代码编辑器
开发工具:Scala
文件大小:40KB
下载次数:0
上传日期:2014-05-28 17:18:52
上 传 者sh-1993
说明:  基于 React编程的最小文本编辑器
(A minimal text editor based on reactive programming)

文件列表:
.classpath (456, 2013-07-06)
.project (444, 2013-07-06)
src (0, 2013-07-06)
src\reswing (0, 2013-07-06)
src\reswing\ReAbstractButton.scala (878, 2013-07-06)
src\reswing\ReButton.scala (400, 2013-07-06)
src\reswing\ReComponent.scala (5056, 2013-07-06)
src\reswing\ReLabel.scala (1147, 2013-07-06)
src\reswing\ReTextArea.scala (887, 2013-07-06)
src\reswing\ReTextComponent.scala (2246, 2013-07-06)
src\reswing\ReactiveWrapper.scala (1933, 2013-07-06)
src\texteditor (0, 2013-07-06)
src\texteditor\JScrollableComponent.scala (1457, 2013-07-06)
src\texteditor\LineOffset.scala (2316, 2013-07-06)
src\texteditor\events (0, 2013-07-06)
src\texteditor\events\Application.scala (2423, 2013-07-06)
src\texteditor\events\GapBuffer.scala (3184, 2013-07-06)
src\texteditor\events\TextArea.scala (11872, 2013-07-06)
src\texteditor\events\Timer.scala (832, 2013-07-06)
src\texteditor\imperative (0, 2013-07-06)
src\texteditor\imperative\Application.scala (2416, 2013-07-06)
src\texteditor\imperative\ApplicationSwingTextArea.scala (2105, 2013-07-06)
src\texteditor\imperative\GapBuffer.scala (3182, 2013-07-06)
src\texteditor\imperative\TextArea.scala (10852, 2013-07-06)
src\texteditor\imperative\Timer.scala (841, 2013-07-06)
src\texteditor\signals0 (0, 2013-07-06)
src\texteditor\signals0\Application.scala (2026, 2013-07-06)
src\texteditor\signals0\ApplicationSwingTextArea.scala (1774, 2013-07-06)
src\texteditor\signals0\GapBuffer.scala (3502, 2013-07-06)
src\texteditor\signals0\TextArea.scala (10641, 2013-07-06)
src\texteditor\signals0\Timer.scala (1041, 2013-07-06)
src\texteditor\signals0\notes.txt (166, 2013-07-06)
src\texteditor\signals1 (0, 2013-07-06)
src\texteditor\signals1\Application.scala (2026, 2013-07-06)
src\texteditor\signals1\GapBuffer.scala (3501, 2013-07-06)
src\texteditor\signals1\TextArea.scala (11338, 2013-07-06)
src\texteditor\signals1\Timer.scala (1041, 2013-07-06)
src\texteditor\signals2 (0, 2013-07-06)
... ...

editor ====== This project is a basic text editor that comes in five flavors. All versions except the last one use a gap buffer, a specialized data structure to store the textual data and allows for efficient insertion and deletion at the caret position. - **imperative** no signals or events, only imperative code, value changes are propagated via observables (Swing Reactors) - **events** REScala events (but no signals) event stream composition is a bit complex, but this reduces the number of places where the caret needs to be updated - **signal0** based on the *imperative* version but uses REScala events and signals to express dependencies (e.g. line count etc.) - **signal1** based on the *events* version but uses REScala signals - **signal2** based on the *signals1* version this version does not use a mutable data structure (gap buffer) to represent the text, state is represented using signals and events only. There is just very little imperative code left that is needed to interact with certain library functions (like clipboard copy/paste)

近期下载者

相关文件


收藏者