Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt

Oppgaven omhandler

Del 1 - LineEditor-klasse

...

en LineEditor-klasse, som håndterer data for redigering av en linje med tekst (altså tekst uten linjeskift).

LineEditor-klassen Klassen holder rede på en String-verdi og en tekstinnsettingsposisjon og har metoder for å redigere teksten. Tilstanden er som følger:

...

  • left() - flytter tekstinnsettingsposisjonen ett tegn til venstre (tilsvarende bruk av venstre piltast)
  • right() - flytter tekstinnsettingsposisjonen ett tegn til høyre (tilsvarende bruk av venstre piltast)
  • insert(String) - skyter teksten angitt av argumentet inn i teksten på tekstinnsettingsposisjonen
  • deleteLeft() - fjerner tegnet til venstre for tekstinnsettingsposisjonen
  • deleteRight() - fjerner tegnet til venstre for tekstinnsettingsposisjonen

Del 1 - LineEditor-klasse

Tegn et tilstandsdiagram for en tenkt bruk av en LineEditor-klasse, som dekker bruk av alle metodene.

For alle disse metodene bør du tenke på hva som er fornuftig oppførsel for spesielle tilfeller, f.eks. når tekstinnsettingsposisjonen er helt til venstre eller høyre. Tenk også på hva som bør skje med tekstinnsettingsposisjonen når teksten endres.

...