edbee - Qt Editor Library
Todo List
Member debug_free (void *p, const char *file, const int line)
: This doesn't work very good. It sees to many free that are NOT allocated by us
Member edbee::CharTextBuffer::lineOffsetList ()
: Temporary debug method. REMOVE!!
Class edbee::CommentDefinitionItem

, we need to rewrite this for improved testability

, this code can be much clearer, if we let go of the TM_ structure!!

Member edbee::FactoryCommandMap::fill (TextEditorCommandMap *cm)
: add a backtab action here
Member edbee::FactoryKeyMap::fill (TextEditorKeyMap *km)
: We need to build in support for alternative keymaps per platform
Member edbee::GapVector< T >::resize (int newSize)
: optimize, so data is moved only once in other words, gap movement is not required over here!! this can be done with 2 memcopies
Member edbee::GrammarTextLexer::textChanged (const TextBufferChange &change)
: rebuild an optimized scope-rebuilding algorithm
Member edbee::LineDataListChange::mergeStoredData (AbstractRangedChange *change)
: Know how and what to delete
Member edbee::LineOffsetVector::offsetList ()
: temporary method (remove)
Member edbee::MergableChangeGroup::giveSingleTextChange (TextDocument *doc, TextChange *change)
: void giveAbstractRangedTextChange( TextDocument* doc, QList<AbstractRangedTextChange* changeList>& changes, AbstractRangedTextChange* change );
Member edbee::SelectionChange::notifyChange ()
: make the controllerContext only repaint the affected areas via the TextRangeSets
Member edbee::SelectionCommand::MoveCaretsOrDeselect
, implement subword selecting
Member edbee::TabCommand::execute (TextEditorController *controller)
: Refactor :)
Class edbee::TextBufferChange
: Still problematic maybe the QChar* text pointer. It is possible that this pointer is being freed.
Member edbee::TextCodecDetector::detectCodec ()
the buffer is not read up to the end, but up to length - 6
Member edbee::TextDocumentSerializer::load (QIODevice *ioDevice)

: atEnd doesn't seem to work !?!

: implement isStopRequested to stop loading if required

Member edbee::TextEditorComponent::repaintCarets ()
: Optimize so only blinks visible carets
Member edbee::TextEditorConfig::ShowWhitespaces
: In the future, only show when selected
Member edbee::TextEditorController::executeCommand (TextEditorCommand *textCommand)
: move this to a nicer place!!
Member edbee::TextEditorController::onSelectionChanged (edbee::TextRangeSet *oldRangeSet)
: improve this:
Member edbee::TextEditorController::onTextChanged (edbee::TextBufferChange change)
: improve this:
Member edbee::TextEditorRenderer::render (QPainter *painter)
, deze renderShade moet misschien in de viewport render-code gebreuren
Member edbee::TextEditorRenderer::renderLineSelection (QPainter *painter, int line)
: iprove ranges at line by calling rangesForOffsets first for only the visible offsets!
Member edbee::TextLineDataManager::setFieldsPerLine (int count)

: use linedatalist-textchange for storing undo/redo operations

: We need to support destroy line data operation!"; </dd> <dt>\anchor _todo000020 \_setscope edbee::TextRangeSetBase Member \_internalref classedbee_1_1_text_range_set_base#ab34fc224c7f12441012c3fe9897aee1a "edbee::TextRangeSetBase::substractRange" (int min, int max)</dt><dd> Add support for copyrange </dd> <dt>\anchor _todo000036 \_setscope edbee::TextRenderer Class \_internalref classedbee_1_1_text_renderer "edbee::TextRenderer" </dt><dd> : Currently this class is also used for positioning text. This probably should be moved in a class of its own </dd> <dt>\anchor _todo000032 \_setscope edbee::TextRenderer Member \_internalref classedbee_1_1_text_renderer#aca36c1303efa723ea1af64850d3fa180 "edbee::TextRenderer::lineHeight" ()</dt><dd> : cache the height :-) </dd> <dt>\anchor _todo000035 \_setscope edbee::TextRenderer Member \_internalref classedbee_1_1_text_renderer#a8b4c1ea1395cecb5f933a3e48b0ebd51 "edbee::TextRenderer::renderBegin" (const QRect &rect)</dt><dd> : move this lexing stuff to the controller </dd> <dt>\anchor _todo000033 \_setscope edbee::TextRenderer Member \_internalref classedbee_1_1_text_renderer#a9bf7544bcdae02f50d32556a58b09622 "edbee::TextRenderer::textLayoutForLine" (int line)</dt><dd> : Invalide TextLayout cache when required!!! <p>: Make an option to show spaces and tabs </dd> <dt>\anchor _todo000017 \_setscope edbee::TextScopeSelector Class \_internalref classedbee_1_1_text_scope_selector "edbee::TextScopeSelector" </dt><dd> : Implement full scope selectors see text below</dd> <dt>\anchor _todo000037 \_setscope edbee::TextSelection Member \_internalref classedbee_1_1_text_selection#a8eb43d35c0691d39df24902ab7ba23a9 "edbee::TextSelection::moveCaretsByLine" (TextEditorController *controller, TextRangeSet *rangeSet, int amount)</dt><dd> need a cleaner API for this)</dd> <dt>\anchor _todo000021 \_setscope edbee::TextUndoStack Member \_internalref classedbee_1_1_text_undo_stack#a3ad16d0716634c86c9c6ddcbb3a5998c "edbee::TextUndoStack::giveChange" (Change *change, int coalesceId)</dt><dd> : giveChange to a group can also merge a change. This can have implications </dd> <dt>\anchor _todo000010 \_setscope edbee::TmLanguageParser Member \_internalref classedbee_1_1_tm_language_parser#a82465f31b9c9ad9096b285bc190875be "edbee::TmLanguageParser::createGrammarRule" (TextGrammar *grammar, const QVariant &data) : contentScopeName