Główne klasy aplikacji odpowiedzialne za jej uruchomienie w środowisku GEF-owym.
Klasy opisujące akcje wykonywane w aplikacji w odpowiedzi na określone zachowanie użytkownika. Np. generacja nowego modelu czy zapisywanie/usuwanie modeli.
Najistotniejszą klasą jest AbstractEditor , która definiuje bazową klasę dla pozostałych edytorów, z których składa się aplikacja.
Abstrakcyjne figury używane przez wiele diagramów, np. NodeFigure , przedstawiające ludzika z podpisem, w skład którego wchodzi ikona - ImageFigure .
Komponent odpowiedzialny za przeprowadzanie importu danych do CASTa.
Pakiet zawierający interfejs IDataImporter do importowania danych oraz dwie klasy pomocnicze do tego interface'u. Pakiety podrzędne zawierają konkretne implementacje interfejsu IDataImporter .
Pakiet zwierający interfejs IDataFilter do filtrowania danych przy imporcie danych. W tym pakiecie znajdują się również przykladowe implementacje tego interfejsu.
Klasy odpowiedzialne za wejście/wyście, np. import danych i serializację. W tym pakiecie zdefiniowane są również ogólne klasy, które konkretyzują, co może być danymi wejściowymi edytora (*EditorInput ).
Wspólne klasy określające jakie akcje mogą być wykonane w danym edytorze. Cf. poniżej, pl.edu.agh.cast.[schema/hierarchy/timeline].policy
Abstrakcyjne klasy dla elementów widoku aplikacji.
Klasy definiujące postać i częściowo zachowanie nawigatora dostępnego użytkownikowi (drzewko po lewej stronie).
Podobnie jak dla nawigatora, w pakiecie outline znajduje się definicja nawigatora po modelu widocznego po prawej stronie.
Implementacja wizarda do importowania danych.
Klasy pomocnicze, przechowujące konfigurację, ścieżki do obrazków, itp.
Akcje zdefiniowane w określonym typie edytora. Klasy akcji są potrzebne do dołączania ich np. do menu kontekstowego. Akcje zazwyczaj tworzą i wykonują jakąś komendę a podpakietu pl.edu.agh.cast.[schema/hierarchy/timeline].command
Klasy odpowiedzialne za zmianę layoutu czy kontrolera w diagramach schematycznych i czasowych.
Definicje komend stowarzyszonych z czynnościami jakie wykonuje użytkownik korzystając z konkretnego edytora.
Klasy, wywodzące sie od AbstractEditor , definiujące konkretny rodzaj edytora, np. HierachicalEdior .
Definicje obszarów, które są traktowane jednostkowo w obrębie edytora. Dla takich obszarów można np. definiować różne polityki (policy).
Definicje elementów widocznych jako grafika w oknie edytora.
Dla konkretnych edytorów w pakiecie layout znajdują się definicje algorytmów rozkładu elementów w oknie edytora.
Klasy, które rozszerzają niskopoziomowy model danych aplikacji. Definicje elementów, które zawiera wcześniej wspomniany model zenkapsulowany.
Klasy określające, co (jakie czynności) może być wykonane w danym edytorze. Klasy dostarczają interfejsu do tworzenia odpowiednich komend, które operują na modelu w odpowiedzi na czynności wykonywane przez użytkownika.
Mechanizm właściwości w modelu
Mechanizmy walidacji właściwości elementów modelu
Algorytmy rozkładu dla diagramów schematycznych