segunda-feira, 31 de maio de 2010

MicroPad

Atualizado em 1° de junho de 2010
Nova versão - 1.1



MicroPad é um pequeno editor de textos sem formatação, muito parecido com o Bloco de Notas do Windows. Esse foi o meu primeiro projeto "grande" em Java. Começou em meados de agosto de 2009 como uma forma de exercitar os meus conhecimentos na linguagem Java e suas mil APIs, e se tornou no que é hoje. Ainda falta implementar alguns detalhes e funções essenciais que qualquer editor de texto deveria ter, como: desfazer/refazer, imprimir, substituir palavras, entre outras. Apesar disso, o programa já tem umas funções legais, como por exemplo, é possível criar/editar o código-fonte de uma página em HTML e abrir a página no navegador de Internet, bastando pressionar uma tecla a partir do próprio editor. Enfim, é um programinha básico com menos de de 100 KB (por enquanto...) que você pode usar se estiver enjoado do Bloco de Notas ou similares.



Lembre-se de que para rodar esse programa, você precisa ter o JRE (Java Runtime Environment) instalado no seu sistema operacional. Se você não tem, visite http://sun.java.com/. Se você já tem o JRE instalado e funcionando, pode existir três formas de iniciar o programa dependendo das configurações do seu sistema:

1 - No Windows, clique duas vezes no ícone do programa (o arquivo .JAR) como você faria com qualquer outro programa.

2 - Se clicando no arquivo .JAR ele não rodar, ou se ao invés disso abrir o WinZIP ou WinRAR, isso é porque não foi feita a associação correta do tipo de arquivo .JAR. abra o prompt (ou a linha) de comando, vá até o diretório onde o arquivo .JAR do programa se encontra e digite:

java -jar nome_do_programa.jar

onde nome_do_programa é o nome do arquivo .JAR que você baixou.

3 - Pra não ter que digitar na linha de comando toda vez que quizer rodar o programa, você pode criar um arquivo de processamento em lotes - vulgo "batch" - que nada mais é do que um minúsculo arquivo .BAT contendo o comando citado acima, que executa automaticamente quando você clica nele (no arquivo .BAT). Esse arquivo .BAT deve estar no mesmo diretório que o programa (o arquivo .JAR). Caso você salve o .BAT em outro diretório, ao invés de escrever simplesmente o nome do arquivo .JAR, você terá que adicionar o caminho completo até o .JAR. Para criar esse arquivo de lote, faça o seguinte: entre no Bloco de Notas ou qualquer outro editor de texto sem formatação e simplesmente digite o mesmo comando:

java -jar nome_do_programa.jar

Ou, se você pretende criar o batch em outro diretório...

java -jar unidade:caminho_até_o_programa\nome_do_programa.jar

então salve esse arquivo como "nome_do_programa.bat" (aqui, "nome_do_programa" pode ser qualquer outro nome, isso tanto faz). Não esqueça da extensão .BAT! Agora você pode até (pelo menos no Windows) pegar esse arquivo .BAT e criar um atalho pra ele no menu Iniciar ou na Área de Trabalho, que quando você clicar duas vezes nele, o programa vai rodar automaticamente :)

Complicado demais? Não esqueça que isso é Java, não é C++ :P


Informações gerais:

- Este programa é um editor de textos sem formatação como o Bloco de Notas;
- O tamanho do arquivo JAR nessa versão é de apenas 78 KB;
- Foi feito em Java (versão 6, Standard Edition);
- Deve rodar em plataformas que possuam uma JVM (Java Virtual Machine) instalada. Só testei no Windows XP até hoje. Denuncie se ele não rodar em outro sistema operacional, que eu vou dar um jeito :P

Serve pra quê?

- Ele abre e edita textos sem formatação. Nisso ele é igualzinho ao Bloco de Notas. Além disso, a partir da versão 1.1, existe a opção de carregar uma página HTML em um navegador definido pelo usuário, ao mesmo tempo em que se edita o código-fonte da página no programa.



Então qual é a diferença dele pro Bloco de Notas?

- Existe a função de abrir o navegador para mostrar a página HTML que estiver sendo editada no programa;
- É possível bloquear todo o conteúdo do texto, ou seja, evitar que você possa editá-lo, permitindo apenas a leitura dele;
- É possível alterar as cores do texto, do fundo, da borda, e do cursor.
- É possível abrir arquivos de três formas diferentes - clicando no menu Arquivo > Abrir, clicando no botão Abrir que fica no rodapé (na parte de baixo) da janela, ou digitando o caminho completo do arquivo no campo de texto ao lado do botão Abrir e pressionando a tecla Enter dentro do campo (como se fosse numa linha de comando);
- Diversas teclas de atalho;
- E mais algumas funções que eu ainda vou implementar pra que fique mais diferente ainda :P

O que tem de diferente nessa versão em relação à(s) anterior(es)?

- Adicionei a função de executar o navegador para abrir a página HTML que estiver sendo editada;
- Antes, as fontes disponíveis no programa eram predefinidas. Nessa versão, o programa trata de obter praticamente todas as fontes instaladas no sistema onde estiver rodando;
- Nessa versão é possível incrementar e decrementar o tamanho da fonte através de uma simples combinação de teclas (CONTROL+E incrementa, CONTROL+D decrementa);
- Adicionei uma borda que muda de cor em volta da área de texto, só porque eu achei que ficaria legal (e ficou mesmo :P);
- Adicionei uma função para selecionar todo o texto de uma só vez;
- Adicionei uma função para escrever automaticamente no texto a data e hora do sistema;
- Adicionei uma função que mostra algumas informações do sistema;
- E por fim, umas poucas mas quase imperceptíveis alterações na GUI, e melhorias no código-fonte (que é irrelevante comentar pois muito provavelmente você nunca terá acesso à ele :P).

O que ainda falta implementar (quem sabe em futuras versões):

- Um arquivo de configuração, para salvar e carregar as configurações do usuário;
- Desfazer/refazer (isso é mais complicado do que eu pensava...);
- Função de substituir palavras/trechos do texto por outras palavras;
- O famoso "arrastar e soltar" (arraste o ícone de um arquivo para a janela do programa e ele o abre automaticamente);
- Registro de tipos de arquivo, no Windows (quando você clica duas vezes no ícone de um arquivo suportado pelo programa, o programa inicia automaticamente, abrindo o arquivo que foi clicado);
- Alterar cor do texto selecionado;
- Suportar a edição de múltiplos arquivos simultaneamente;
- Suportar a impressão de arquivos;
- Algumas outras coisas que ainda não pensei.



O que provavelmente nunca vai ser implementado:

- Formatação HTML (como no Word). A intenção do programa desde o início sempre foi manipular arquivos sem formatação nenhuma, e isso não vai mudar. Pelo menos não enquanto o projeto estiver nas minhas mãos :P

O que precisa melhorar:

- A forma como o programa trata as "quebras de linha". Sistemas operacionais distintos têm formas diferentes de lidar com isso. Mas o programa ainda usa somente a forma oferecida como padrão pela plataforma Java. Isso quer dizer que, por exemplo, se você escrever um texto nesse programa, salvá-lo, e depois abrí-lo no Bloco de Notas (que é do Windows), as quebras de linha muito provavelmente serão substituídas por "caixas mágicas", aqueles quadradinhos ocos que aparecem num texto quando o caractere não existe na fonte atualmente usada.



É Open-Source?

- Não. E pretendo que nunca seja :P Em geral, isso é porque eu não gosto de ter o meu código - principalmente sendo Java - exposto ao mundo. Talvez quando eu deixar de ser preguiçoso e fizer uma "faxina geral" no código eu o torne público.

Bugs?

- Até hoje o único problema que encontrei foi que certa vez o programa travou sem motivo aparente enquanto eu o testava, se eu não me engano, no momento em que eu selecionei a opção 'Abrir' para abrir um arquivo. Isso aconteceu somente uma vez. Não encontrei problemas no código, então talvez o problema não seja meu :P Mas se você encontrar algum bug, mande e-mail com a descrição para que eu acabe com ele.