1. Programação Orientada a Eventos com o ambiente wxWidgets RENZO AUGUSTO L. PETRI renzo_petri@hotmail.com ANTONIO M. G. TOMMASELLI tomaseli@fct.unesp.br MINICURSO XVII SAGEC
17. Diferente de programas tradicionais que seguem um fluxo de controle padronizado, o controle de fluxo de programas orientados a evento são guiados por indicações externas, chamadas eventos;
26. Programas orientados a evento geralmente consistem em vários pequenos tratadores (handler), programas que processam os eventos para produzir respostas, e um disparador (dispatcher), que invoca os pequenos tratadores. Uma alternativa consiste em disparar os tratadores por eles próprios, criando um efeito de evento em cascata.
32. Possui vínculos com linguagens populares como C/C++, Python , Perl , Ruby e muitas outras;
33. Ao contrário de outros kits de ferramentas multi-plataforma, wxWidgets dá poder as suas aplicações, pois é NATIVO;
34. Ele usa a API nativa da plataforma ao invés de emular a GUI;
35.
36. A licença do wxWidgets é LGPL(GNU Lesser General PublicLicense );
37. Suporte à interfaces gráficas com o usuário, conexão a bancos de dados(ODBC) e Redes(conectividade por sockets);
38. Resumindo, WxWidgets é um toolkit, ou framework, para o desenvolvimento de aplicações multiplataforma. Permite a criação de aplicações com interfaces gráficas, em diversos sistemas operacionais (GTK+/Xlib/Motif, MSW, MAC OS X/Carbon/Cocoa, OS/2/PM, Palm OS/Protein) ;
52. Em maio de 1998 a API do Windows + as portas do GTK foram fundidas e colocadas em um repositório CVS disponibilizado a todos os contribuintes para wxWidgets.
53.
54.
55. O número de programadores que contribuem para o projeto está agora nas dezenas e o toolkit tem uma forte base de usuários, que inclui todos os desenvolvedores de código aberto para empresas como a AOL;
56. Como a indústria repensa sua dependência da Microsoft e de código-fonte fechado produtos caros, o uso de desktop do Linux continua a crescer, e com ela a necessidade de wxWidgets;
85. A licença é essencialmente o L-GPL (General PublicLicenceLibrary), com uma exceção dizendo que trabalhos derivados em forma binária pode ser distribuído em termos do próprio usuário;
86. Esta é uma solução que satisfaz aqueles que desejam produzir software GPL usando wxWidgets, e também aqueles que produzem software proprietário;
87. No entanto, não existem restrições significativas em aplicações proprietárias;
88.
89. É impossível saber quantos desenvolvedores de wxWidgets, existem muitos, mas há uma comunidade muito ativa com mais de 1.800 assinantes do boletim;
90. wxWidgets foi utilizada para ajudar empresas criar chips de ponta, para ajudar a prospecção de petróleo, o controle de aeronaves sem piloto, e para testar os componentes de telescópios espaciais;
91. Algumas das mais conhecidas organizações que têm utilizado wxWidgetsincluiem:
92.
93.
94. wxWidgets é fácil de usar, dá-lhe um único procedimento de API para escrever aplicações GUI em múltiplas plataformas, que ainda utilizam a plataforma nativa, controles e utilitários;
95.
96. Enquanto um número de bibliotecas de classe comercial já existia para o desenvolvimento de plataforma cruzada, nenhum atendeu a todos os seguintes critérios:
140. Claro que cada caso tem particularidades, e o que segue abaixo, é apenas uma sugestão para um caso geral;
141. Note que, existem dois métodos de criar a aplicação: o modo manual e o por IDE’s:
142. O modo manual é bastante complexo, necessita-se conhecer como funciona a criação de janelas e ligação de eventos para compreender bem como construir a aplicação: INVIÁVEL ATUALMENTE;
203. FreeImage é fácil de usar, rápido, seguro multithreading, compatível com todas as versões de 32 bits do Windows, e multi-plataforma (funciona tanto com Linux e Mac OS X);
204. Graças à sua interface ANSI C, FreeImage é utilizável em várias línguas, incluindo C, C ++, VB, C#, Delphi, Java e também em comum linguagens de script como Perl, Python, PHP, Ruby ou TCL;
217. Fornece base rotinas de manipulação de imagem , tais como rotação, redimensionamento, lançando ou ajustes de cor, bem como JPEG transformações sem perdas;