2.5: Text Editor back.
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Sat, 28 Feb 2009 23:33:35 +0000 (23:33 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Sat, 28 Feb 2009 23:33:35 +0000 (23:33 +0000)
commit6cc89b9d4e6ab17bea0631b1be800dd9a022db23
tree356e3649b94ec7f5a144f1fa6304f5646c4b9bf1
parent2469305376856e0f53b4ffdbe2bf2576fa25809c
2.5: Text Editor back.

There was very little structure in this code, using many globals
and duplicated code. Now it should be better structured. Most
things should work, the main parts that are not back yet are the
python plugins and markers. Notes:

* Blenfont is used for drawing the text, nicely anti-aliased.
* A monospace truetype font was added, since that is needed for
  the text editor. It's Bitstream Vera Sans Mono. This is the
  default gnome terminal font, but it doesn't fit entirely well
  with the other font I think, can be changed easily of course.

* Clipboard copy/cut/paste now always uses the system clipboard,
  the code for the own cut buffer was removed.
* The interface buttons should support copy/cut/paste again now
  as well.
* WM_clipboard_text_get/WM_clipboard_text_set were added to the
  windowmanager code.

* Find panel is now a kind of second header, instead of a panel.
  This needs especially a way to start editing the text field
  immediately on open still.

* Operators are independent of the actual space when possible,
  was a bit of puzzling but got it solved nice with notifiers,
  and some lazy init for syntax highlight in the drawing code.
* RNA was created for the text editor space and used for buttons.

* Operators:
    * New, Open, Reload, Save, Save As, Make Internal
    * Run Script, Refresh Pyconstraints
    * Copy, Cut, Paste
    * Convert Whitespace, Uncomment, Comment, Indent, Unindent
    * Line Break, Insert
    * Next Marker, Previous Marker, Clear All Markers, Mark All
    * Select Line, Select All
    * Jump, Move, Move Select, Delete, Toggle Overwrite
* Scroll, Scroll Bar, Set Cursor, Line Number
    * Find and Replace, Find, Replace, Find Set Selected,
  Replace Set Selected
    * To 3D Object
    * Resolve Conflict
49 files changed:
intern/ghost/GHOST_C-api.h
intern/ghost/GHOST_ISystem.h
intern/ghost/intern/GHOST_C-api.cpp
intern/ghost/intern/GHOST_System.h
intern/ghost/intern/GHOST_SystemCarbon.cpp
intern/ghost/intern/GHOST_SystemCarbon.h
intern/ghost/intern/GHOST_SystemWin32.cpp
intern/ghost/intern/GHOST_SystemWin32.h
intern/ghost/intern/GHOST_SystemX11.cpp
intern/ghost/intern/GHOST_SystemX11.h
release/datafiles/bmonofont.ttf [new file with mode: 0644]
source/blender/blenfont/BLF_api.h
source/blender/blenfont/SConscript
source/blender/blenkernel/BKE_context.h
source/blender/blenkernel/BKE_text.h
source/blender/blenkernel/intern/context.c
source/blender/blenkernel/intern/curve.c
source/blender/blenkernel/intern/text.c
source/blender/blenloader/intern/readfile.c
source/blender/editors/curve/curve_intern.h
source/blender/editors/curve/curve_ops.c
source/blender/editors/curve/editfont.c
source/blender/editors/datafiles/bmonofont.ttf.c [new file with mode: 0644]
source/blender/editors/include/ED_curve.h
source/blender/editors/include/ED_datafiles.h
source/blender/editors/include/ED_text.h [new file with mode: 0644]
source/blender/editors/include/UI_interface.h
source/blender/editors/interface/interface_handlers.c
source/blender/editors/interface/interface_utils.c
source/blender/editors/space_action/action_header.c
source/blender/editors/space_image/image_header.c
source/blender/editors/space_info/info_header.c
source/blender/editors/space_text/Makefile
source/blender/editors/space_text/SConscript
source/blender/editors/space_text/space_text.c
source/blender/editors/space_text/text_draw.c [new file with mode: 0644]
source/blender/editors/space_text/text_header.c
source/blender/editors/space_text/text_intern.h
source/blender/editors/space_text/text_ops.c [new file with mode: 0644]
source/blender/editors/space_text/text_python.c [new file with mode: 0644]
source/blender/editors/util/undo.c
source/blender/makesdna/DNA_space_types.h
source/blender/makesdna/DNA_text_types.h
source/blender/makesrna/RNA_access.h
source/blender/makesrna/intern/rna_space.c
source/blender/windowmanager/WM_api.h
source/blender/windowmanager/WM_types.h
source/blender/windowmanager/intern/wm_event_system.c
source/blender/windowmanager/intern/wm_window.c