| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 | 
							
- wxRichTextCtrl To-Do List
 
- =========================
 
- BUGS:
 
- =====
 
- - Setting selection with mouse sometimes causes negative selection
 
-   lengths. See wxRichTextCtrl::ExtendSelection.
 
- - Word forward can miss first word on line.
 
- - Doesn't correctly undo deletion of bulleted paragraphs.
 
- - Sizing doesn't restore the scroll position correctly (related
 
-   to the use of buffer layout optimization and OnIdle full layout.)
 
- IMPROVEMENTS:
 
- =============
 
- - Add bakefiles, choose location for further development - wxCode or wxWidgets.
 
- - Document.
 
- - Rework scrolling code so (a) can scroll one line at a time (uneven
 
-   scroll increments and (b) can derive from wxTextCtrl if this is desirable.
 
- - Implement auto-scroll when selecting.
 
- - Implement auto-wrap option (currently it's always on) with option for
 
-   horizontal scrollbars.
 
- - Implement overwrite mode.
 
- - Collapse multiple keystrokes into single undo command.
 
- - Unicode adaptation (e.g. in OnChar).
 
- - Implement "Paste Special".
 
- - Pass wxRichTextDrawContext to Draw and Layout with data such as
 
-   selection colour.
 
- - Have virtual functions for customisation, e.g. CreateTextObject, CreateImageObject,
 
-   CreateParagraph object. Should be a separate factory object that can be
 
-   plugged in.
 
- - Implement more event generation.
 
- - Implement roman numerals in bullet points.
 
- - Make as wxTextCtrl-compatible as possible.
 
- - Allow use as single-line edit control, so potentially the class can
 
-   replace both wxUniversal wxTextCtrl implementations.
 
- - Adjust behaviour on each platform to conform to native standards.
 
-   This might be a run-time option.
 
- - Custom attributes (simply add an integer field to wxRichTextAttr and
 
-   maybe wxTextAttrEx).
 
- - Improve image support: margins, resizing, storage of image as native format
 
-   data (e.g. JPEG) so no lossiness.
 
- - Ensure read-only mode works.
 
- - Don't store whole paragraph in Undo stack if just changing the paragraph's style.
 
- - Use binary chop to find character position for (x,y).
 
- - Allow specification of word separators, and whether hyphenation will be done
 
-   (language-dependent).
 
- API ISSUES:
 
- ===========
 
- - Consider whether to merge wxTextAttrEx with wxTextAttr.
 
- - Implementation-independent API for traversing rich text controls, e.g. getting spans
 
-   of text, retrieving images, etc.
 
- - FindString: search for a substring within a range, returning a range. Will make it
 
-   easy to add styles to text you just added.
 
- - WriteString, WriteImage should really return a range. However, can query insertion point.
 
- - Bullets: suggest we are able to specify symbols in a specific named font
 
-   (maybe keep mapping from name to actual symbol font in style manager).
 
-   We wouldn't want to store a wxFont with each paragraph, just for the symbol,
 
-   since this will be inefficient. If no font is specified, use the font
 
-   for this paragraph.
 
-   Also allow bitmaps to be specified for bullets.
 
- - For adding floating text boxes and images, suggest e.g.
 
-   bool wxRichTextBuffer::AddFloatingImage(long paragraphPosition, const wxImage& image);
 
- FEATURES:
 
- =========
 
- - XML I/O (a prototype implementation done, maybe the syntax/verbosity could be improved)
 
- - HTML (I)/O and clipboard support
 
- - RTF (I)/O and clipboard support
 
- - OpenOffice.org I/O
 
- - C++ output, i.e. generate set of buffer commands from a buffer
 
-   so that the data can be included in an app, possibly with translation.
 
- - Line breaks. How will we implement these? Suggest special non-ASCII code.
 
- - Hard (non-breaking) spaces. Insert special code in text string. Shift-Return.
 
- - Borders on paragraphs, with special attention to how they join up.
 
- - Bitmap bullets.
 
- - Tab stops, with ruler display.
 
- - Rules (lines).
 
- - Hyperlinks.
 
- - Ready-made find and replace implementation
 
- - Ready-made toolbars, standard identifiers.
 
- - Floating text boxes and images, with appropriate wrapping: have a separate list of
 
-   these, and when formatting each line, simply restrict the available space accordingly.
 
-   Boxes can optionally be tied to a paragraph so they move relative to it (may need to introduce
 
-   paragraph identifiers for that).
 
- - Set of convenience controls and dialogs including wxRichTextStyleListBox,
 
-   wxRichTextParagraphFormattingDialog, wxRichTextStyleEditorDialog,
 
-   wxRichTextBulletDialog, wxRichTextInsertSymbolDialog, wxRichTextTabsDialog
 
-   (also displayed as a page on wxRichTextParagraphFormattingDialog),
 
- - Template manager.
 
- - ADVANCED: Implement tables. This is a kind of paragraph that knows how to lay
 
-             out a 2D grid of paragraph layout boxes. A few assumptions
 
-             about the hierarchy will need correcting but in general, paragraph
 
-             layout is self-contained and should just work within table cells.
 
- - ADVANCED: Implement printing, including headers and footers.
 
- - ADVANCED: Implement page view mode where pagination is shown while editing.
 
- - ADVANCED: Field codes that can be hidden/shown: for example, cross-references,
 
-             HTML links, page number, heading number, etc.
 
- - ADVANCED: Implement justification, by distributing space over the line (draw one
 
-             word at a time but store in the usual way).
 
- - ADVANCED: Implement headings.
 
- - ADVANCED: Zoom.
 
- - ADVANCED: Versioning and markup facility (for e.g. collaboration).
 
- - ADVANCED: Columns.
 
- - ADVANCED: Table of contents, index.
 
- - ADVANCED: Autocorrect.
 
- DEMO:
 
- =====
 
- - Drop-down lists for style, face, font size.
 
- - Rework formatting icons.
 
 
  |