Kontrolka WYSIWYG - postęp prac

2019-03-20

Prace nad kontrolką do edycji tekstu trwają. Składa się ona z dwóch głównych elementów. Pierwszy to część odpowiedzialna za przechowywanie i operacje na danych. Dane te to tekst, jego atrybuty czyli kolor, rozmiar czcionki, rodzaj czcionki itd, a także obrazki, które mogą się w nim znajdować. Dokładnie to nie tylko obrazki ale dowolne elementy GUI czyli np. przyciski. Część ta realizuje także funkcjonalność undo/redo i dostarcza dane do odczytu/zapisu. Drugi element jest odpowiedzialny za wyświetlanie treści i przetwarzanie akcji wykonywanych przez użytkownika. Akcje te mogą być dwojakiego rodzaju. Pierwszy, to te które nie wpływają na treść czyli na przykład przesuwanie kursora, zaznaczanie tekstu. Ich realizacja odbywa się wewnątrz tej części i nie ma wpływu na dane. Drugi rodzaj to te związane z edycją. Za każdym razem gdy użytkownik wprowadza nowy tekst lub modyfikuje już istniejący, czy też gdy wstawia lub usuwa obrazki, informacje o tym są przekazywane do części przechowującej dane, która dokonuje odpowiedniej ich modyfikacji. To z kolei ma odzwierciedlenie w wyświetlanym tekście. Rozbicie działania kontrolki na te dwa aspekty umożliwia realizację w prosty sposób funkcjonalności, które w innym wypadku byłby problematyczne, na przykład edycja tego samego dokumentu w kilku różnych widokach.

Pierwszy element edytora jest w dużej części skończony. Nad drugim prace dopiero ruszył. Poniżej zamieszczono film pokazujący układanie tekstu w zależności od wielkości kontrolki. Widać na nim, jak dobierana jest długość linii i że wyrazy są przenoszone do kolejnego wiersza jeżeli w całości nie zmieszczą się w bieżącym.

screenshots/TextEditor1.gif
Amiga i AmigaOS są zastrzeżonymi znakami towarowymi lub znakami towarowymi ich właściciela.