Struktura pakietów w CAST

Pakiety ogólne

  • pl.edu.agh.cast

    Główne klasy aplikacji odpowiedzialne za jej uruchomienie w środowisku GEF-owym.

  • pl.edu.agh.cast.action

    Klasy opisujące akcje wykonywane w aplikacji w odpowiedzi na określone zachowanie użytkownika. Np. generacja nowego modelu czy zapisywanie/usuwanie modeli.

  • pl.edu.agh.cast.editor

    Najistotniejszą klasą jest AbstractEditor, która definiuje bazową klasę dla pozostałych edytorów, z których składa się aplikacja.

  • pl.edu.agh.cast.figure

    Abstrakcyjne figury używane przez wiele diagramów, np. NodeFigure, przedstawiające ludzika z podpisem, w skład którego wchodzi ikona - ImageFigure.

  • pl.edu.agh.cast.importer

    Komponent odpowiedzialny za przeprowadzanie importu danych do CASTa.

    TODO
    Do opisania przez grupę DataCAST, czy może którąś XP??
  • pl.edu.agh.cast.importer.data

    Pakiet zawierający interfejs IDataImporter do importowania danych oraz dwie klasy pomocnicze do tego interface'u. Pakiety podrzędne zawierają konkretne implementacje interfejsu IDataImporter.

  • pl.edu.agh.cast.importer.filter

    Pakiet zwierający interfejs IDataFilter do filtrowania danych przy imporcie danych. W tym pakiecie znajdują się również przykladowe implementacje tego interfejsu.

  • pl.edu.agh.cast.io

    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).

  • pl.edu.agh.cast.model
    TODO
    Który tutaj model jest? Chyba część enkapsulowanego, tzn jakiś diagram, i co? Dodatkowo są tu jakieś opcje i inne parametry (FindNodesParameters, SelectMediatorsParameters) ??!! To chyba jakiś odpowienik "Recycle Bin"?
  • pl.edu.agh.cast.policy

    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

  • pl.edu.agh.cast.ui

    Abstrakcyjne klasy dla elementów widoku aplikacji.

  • pl.edu.agh.cast.ui.navigator

    Klasy definiujące postać i częściowo zachowanie nawigatora dostępnego użytkownikowi (drzewko po lewej stronie).

  • pl.edu.agh.cast.ui.outline

    Podobnie jak dla nawigatora, w pakiecie outline znajduje się definicja nawigatora po modelu widocznego po prawej stronie.

  • pl.edu.agh.cast.ui.wizards.importer

    Implementacja wizarda do importowania danych.

  • pl.edu.agh.cast.util

    Klasy pomocnicze, przechowujące konfigurację, ścieżki do obrazków, itp.

Grupy pakietów specyficzne dla danego typu edytora

  • pl.edu.agh.cast.[schema/timeline/hierarchy].action

    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

  • pl.edu.agh.cast.[schema/timeline].action.layout

    Klasy odpowiedzialne za zmianę layoutu czy kontrolera w diagramach schematycznych i czasowych.

  • pl.edu.agh.cast.[schema/hierarchy/timeline].command

    Definicje komend stowarzyszonych z czynnościami jakie wykonuje użytkownik korzystając z konkretnego edytora.

  • pl.edu.agh.cast.[schema/hierarchy/timeline].editor

    Klasy, wywodzące sie od AbstractEditor, definiujące konkretny rodzaj edytora, np. HierachicalEdior.

  • pl.edu.agh.cast.[schema/hierarchy/timeline].editpart

    Definicje obszarów, które są traktowane jednostkowo w obrębie edytora. Dla takich obszarów można np. definiować różne polityki (policy).

  • pl.edu.agh.cast.[schema/hierarchy/timeline].figure

    Definicje elementów widocznych jako grafika w oknie edytora.

  • pl.edu.agh.cast.[schema/hierarchy/timeline].layout

    Dla konkretnych edytorów w pakiecie layout znajdują się definicje algorytmów rozkładu elementów w oknie edytora.

  • pl.edu.agh.cast.[schema/hierarchy/timeline].model

    Klasy, które rozszerzają niskopoziomowy model danych aplikacji. Definicje elementów, które zawiera wcześniej wspomniany model zenkapsulowany.

  • pl.edu.agh.cast.[schema/hierarchy/timeline].policy

    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.

  • pl.edu.agh.cast.schema.model.properties

    Mechanizm właściwości w modelu

    TODO
    Czy to jest specyficzne dla schema ??
  • pl.edu.agh.cast.schema.model.properties.validation

    Mechanizmy walidacji właściwości elementów modelu

  • pl.edu.agh.cast.schema.model.synch
    TODO
    Jeden pakiet z jedną klasą z jedną metodą bez linii komentarza. Bez testu. Nazwa wskazuje, że coś synchronizuje. Pakiet wskazuje, że coś w modelu.
  • pl.edu.agh.cast.schema.layout.algorithm

    Algorytmy rozkładu dla diagramów schematycznych