Dados do Aluno Topo
- Nome: Vinicius Stein Dani
- Matrícula: 2711169
Descrição Topo
O objetivo deste trabalho é desenvolver um programa que permita a apresentação de slides (Ver Enunciado).
Características Gerais:
- Aplicativo:
- primou-se pela organização do código; por isso, adotou-se o design pattern MVC (Model View Controler) e criou-se uma padronização na nomenclatura de funções, com intuito de facilitar a vida do corretor do trabalho, de quem quiser implementar novas funcionalidades para o programa e, também, de modularizar as funcionalidades já existentes.
- utilizou-se as seguintes estruturas de dado: lista encadeada (lista simplesmente encadeada e lista duplamente encadeada) e árvore genérica.
- Janela do Aplicativo:
- é possível alterar a altura e a largura da janela do aplicativo;
- os itens de interface do aplicativo se reposicionam de acordo com a altura e a largura da janela.
- Slides:
- é possível redimensionar especificamente altura e largura dos slides;
- o redimensionamento dos slides reflete no reposicionamento das entidades de interface;
- é possível inserir slides no início, no final, entre dois slides, antes ou depois de um slides selecionado;
- é possível remover qualquer slide selecionado;
- é possível atrelar texto especificamente a cada slide;
- cada slide possui uma "mini-pré-visualização" de seu conteúdo textual;
- além da "mini-pré-visualização", cada slide possui um label numérico à si atrelado
- as funcionalidades de "inserção após" e remoção do slide selecionado podem ser acessadas tanto pelo "Menu em Árvore" quanto pelos botões de acesso rápido constantes abaixo da área de exibição das miniaturas dos slides.
- Texto:
- é possível inserir caracteres na posição do cursor continuamente até a última posição do slide;
- só é possível inserir caracteres na posição do cursor caso a linha na qual se deseja inserir o caractere já tenha sido acessada (ou através da escrita contínua, ou através do uso da tecla Enter);
- caso haja uma tentativa de inserir-se um caractere numa posição "x + 10", sendo a posição do último caractere inserido na linha "x + 2" e tendo "x" como a posição inicial da linha, o cursor será automaticamente levado para a posição "x + 4" e o novo caractere será inserido na posição "x + 3";
- é possível deletar (tanto através de Backspace como através de Delete) qualquer caractere contido num slide;
- ao utilizar-se o Backspace na primeira posição de uma linha, deleta-se a linha inteira (independente de haver texto na linha acima);
- não fora implementada a utilização do Backspace na primeira posição de uma linha de um texto vazio. Portanto, essa ação resultará em um "bug";
- não, não é utilizada a última coluna da área do slide para a escrita.
- Texto - Seleção (Mouse):
- é possível selecionar, como em qualquer editor de texto, quantos caracteres/linhas de texto forem necessárias, através do "click-hold-move-release" do mouse;
- para deselecionar um texto selecionado, basta clicar em qualquer ponto do slide no qual a seleção fora realizada.
- Texto - Formatação:
- é possível redefinir cor de fundo e de texto;
- é possível definir um texto como "Itálico", "Negrito" e "Sublinhado", bem como todas as combinações entre essas três formatações;
- não fora implementada a funcionalidade marcar/desmarcar botão de formatação automaticamente.
- Salvar/Abrir Apresentação:
- é possível salvar/abrir os slides e seu conteúdo textual num formato de arquivo "a la" XML;
- não fora implementado Salvar/Abrir contido de formatação textual; apenas com quebras de linhas.
Observações:
- é muito provável que algumas características não tenham sido expressos acima; quem fizer o download do código-fonte terá acesso a mais comentários e detalhes quanto ao presente trabalho;
- o desenvolvedor do presente trabalho tem conhecimento de que poderão ser encontrados diversos "bugs" no mesmo no que diz respeito à interações textuais e com as funcionalidades "Open" e "Save", em alguns casos. Tais "bugs" são todos conhecidos e poderiam ser aqui enumerados e ocorrem única e exclusivamente devido à falta de tempo para implementação dos mesmos. Tais "bugs", entretanto, não foram entraves para que o presente trabalho fosse avaliado com nota 10.
Screenshots Topo
Abaixo é possível observar algumas telas expondo explicitamente algumas funcionalidades do programa desenvolvido.
É possível observar o uso da funcionalidade "Seleção de Texto" (Figura 3), "Múltiplos Slides" (Figura 4) e do "Menu em Árvore Genérica" (Figura 2) para acesso à funcionalidades do aplicativo.
Exemplo de XML Gerado Topo
Downloads Topo
O Código-Fonte deste Trabalho é distribuído sobre a GPL . Fique à vontade para baixar e se divertir criando muitos slide-shows e funcionalidades para seu "~vsdani presentations facilitator - presentations made easy" hahaha ;D o/
- Arquivo executável - Para que tu possas sair criando coloridos e divertidos slide-shows
- Código-Fonte da Aplicação - Crie novas funcionalidades seguindo os padrões definidos de design pattern MVC e nomenclatura e ganhe pontos para serem trocados por bolas de gude