Definição das classes:
Model:
Sempre que você pensar em manipulação de dados, pense em model. Esta estrutura é responsável pela leitura e escrita de dados com suas respectivas validações.
IO:
-
IOFiles: Carrega ou salva os arquivos, trabalhando com arquivos de texto nos formatos
gson
eCSV
. -
ScreenLoader: Efetua a leitura das telas da aplicação no formato
XML
.
Entity:
-
FrameData: É um objeto que armazena dois atributos em texto. O primeiro atributo pode representar um jogador/bola e o segundo atributo representa o instante de tempo para cada quadrante registrado pelo usuário.
-
ProjectData: Classe que armazena os dados do projeto. Caminho onde o projeto será salvo, caminho onde o video está localizado, todos os objetos criados pelo usuário, o Step definido para o projeto e o
MD5
do video usado na abertura do projeto.
Util:
-
Conversion: Classe responsável por fazer as conversões nos formatos corretos.
-
convertToCSV
: Método responsável por pegar os dados do projeto e converter paraCSV
. -
getMD5CheckSum
: Método que retorna oMD5
calculado de um video no formato deString
. -
getSeconds
: Método que transformam aDuration
emint
-
formatTime:
Método que transforma aDuration
emString
, representando emhh:mm:ss
.
-
-
Validation: Classe que possui os métodos para validar as teclas pressionadas e se os dados são validos.
View and Resources
A camada de interação com o usuário. Ela apenas faz a exibição dos dados, sendo ela por meio de um HTML
ou XML
.
-
AgesFileChooser: Classe que abre a caixa de seleção para definir onde o sistema irá ler ou salvar o arquivo.
-
Main.FXML: View responsável por exibir o menu e os sub-menus e contém um container para receber as demais views.
-
Field.FXML: View responsavél por exibir um imageview contendo uma imagem de um campo de futebol, dois texftields utilizados para definir a configuração do número de linhas e colunas do quadrante.
-
MainPlayer.FXML: View que contém um
splitPane
que divide a tela em duas partes, uma para a tabela e outra para o player. -
PlayerView.FXML: View que exibe o player, seus comandos, o slider, um campo para definir o valor do Step e a label que exibe o tempo.
-
TableView.FXML: View que exibe a tabela com duas colunas.
Controller
O responsável por receber todas as requisições do usuário. Seus métodos, chamados actions, são responsáveis por uma view, controlando qual model usar e qual view será mostrado ao usuário.
FXMLMainController
Controla o menu do projeto gerência as questões de salvamento de projeto Verifica e valida projetos para serem iniciados e/ou terminados Ajusta e valida formatos de video Carrega projetos mapeia o ambiente para o usuário, o deixando informado sbre o que está acontecendo. Faz o trabalho de feedback UX mapeia o sistema buscando os arquivos necessáriosFXMLFieldController Retorna a tabela de entradas de dados Monta a grade de quadrantes non campinho forma o campinho exporta para o tipo de arquivo que o usuário desejou (no caso, csv)
FXMLPlayerViewControlet
Controla funções do player Contrala o avanço e congelamento do video Controla os steps e tempo de intervalo de imagens Controla temo de video Controla scrollSideBar, assim controlando a navegação pelo video)
FXMLProjectController
Configura a tabela de entrada de dados Carrega e configura a tela de midia Faz a conexão entre a midiaView e os dados inseridos na tabela
FXMLTableViewController
FXMLFieldController Controla as funções da tela do campinho. Defini o número de linhas e de colunas do quadrante que sera gerado sobre o campo.