X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FUtils%2FTermlib%2FEditor.cc;h=e710160d84f71c8c93421e8c09683ac57a143917;hb=99c145da3884f5c20a74337927ef2cbc073d80d7;hp=cceb4d87745a666da2471ff986f86ca1f73bd867;hpb=601d1f509f5bb24df167a4dd5a20da67a0af9af8;p=senf.git diff --git a/senf/Utils/Termlib/Editor.cc b/senf/Utils/Termlib/Editor.cc index cceb4d8..e710160 100644 --- a/senf/Utils/Termlib/Editor.cc +++ b/senf/Utils/Termlib/Editor.cc @@ -1,6 +1,6 @@ // $Id$ // -// Copyright (C) 2009 +// Copyright (C) 2009 // Fraunhofer Institute for Open Communication Systems (FOKUS) // Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund @@ -32,12 +32,12 @@ //#include "Editor.mpp" #define prefix_ -///////////////////////////////cc.p//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// prefix_ senf::term::BaseEditor::BaseEditor(AbstractTerminal & terminal) : terminal_ (&terminal), keyTimeout_ (senf::ClockService::milliseconds(DEFAULT_KEY_TIMEOUT_MS)), - timer_ ("senf::term::BaseEditor::keySequenceTimeout", + timer_ ("senf::term::BaseEditor::keySequenceTimeout", senf::membind(&BaseEditor::keySequenceTimeout, this)), column_ (0u), displayHeight_ (1u), line_ (0u) { @@ -275,10 +275,10 @@ prefix_ void senf::term::BaseEditor::write(std::string const & s) write(*i); } -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// prefix_ senf::term::LineEditor::LineEditor(AbstractTerminal & terminal, AcceptCallback cb) - : BaseEditor(terminal), enabled_ (false), prompt_ ("$"), promptWidth_ (1u), editWidth_ (0u), + : BaseEditor(terminal), enabled_ (false), prompt_ ("$"), promptWidth_ (1u), editWidth_ (0u), text_ (""), point_ (0u), displayPos_ (0u), lastKey_ (0u), callback_ (cb), historyPoint_ (0u) { defineKey(KeyParser::Return, &bindings::accept); @@ -556,7 +556,7 @@ prefix_ void senf::term::LineEditor::v_keyReceived(keycode_t key) toColumn(point_ - displayPos_ + promptWidth_ + 1); } -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// prefix_ void senf::term::bindings::selfInsertCommand(LineEditor & editor) { @@ -656,11 +656,11 @@ prefix_ void senf::term::bindings::complete(LineEditor & editor, Completer compl completer(editor, b, e, prefix, completions); if (completions.empty()) return; - if (e > text.size()) + if (e > text.size()) e = text.size(); if (b > e) b = e; - + // Find common start string of all completions unsigned commonStart (completions[0].size()); unsigned maxLen (commonStart); @@ -701,8 +701,8 @@ prefix_ void senf::term::bindings::complete(LineEditor & editor, Completer compl std::string line; for (unsigned column (0); column < nColumns && i != completions.end(); ++column, ++i) { std::string entry (colWidth, ' '); - std::copy(i->begin(), - i->size() > colWidth-2 ? i->begin()+colWidth-2 : i->end(), + std::copy(i->begin(), + i->size() > colWidth-2 ? i->begin()+colWidth-2 : i->end(), entry.begin()); line += entry; } @@ -710,7 +710,7 @@ prefix_ void senf::term::bindings::complete(LineEditor & editor, Completer compl } } -///////////////////////////////cc.e//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// #undef prefix_ //#include "Editor.mpp"