Programação Orientada a Eventos com o ambiente wxWidgets<br />RENZO AUGUSTO L. PETRI<br />	renzo_petri@hotmail.com	<br />A...
Roteiro<br /><ul><li>Introdução aos conceitos de Programação Orientada à Objetos e Eventos;
Introdução ao wxWidgets;
Introdução ao GUI wxDEV C++;
Introdução a FreeImage;
Exemplos e desenvolvimento de uma ferramenta interativa ;</li></li></ul><li>“O que eu NÃO vou aprender ?”<br /><ul><li>Eng...
Processos de desenvolvimento de software;
Documentação;
Análise;
O OBJETIVO do curso é o wxWidgetsem  C/C++.</li></li></ul><li>O que é preciso para estudar este curso ?<br /><ul><li>Conhe...
Existe um curso on-line de C da UFMG em :
http://www.ead.cpdee.ufmg.br/cursos/C/
Conceitos de Orientação a Objetos e Eventos;
O wxWidgets é orientado a objetos.</li></li></ul><li>Programação Orientada a Objetos (POO)<br />
Programação Orientada a Eventos (POE)<br />
Programação Orientada a Eventos<br /><ul><li>Programação orientada a eventos é um paradigma de programação;
 Diferente de programas tradicionais que seguem um fluxo de controle padronizado, o controle de fluxo de programas orienta...
 Sua aplicação é grande no desenvolvimento de sistemas de interface com o usuário.</li></li></ul><li>O que é um Evento ?<b...
Evento<br /><ul><li>Em termos Computacionais, podemos classificar eventos, dependente da iteração do usuário, em:
Eventos de Mouse:
Clicar, arrastar, selecionar ...;
Eventos de Teclado:
Digitar, ...;
Outros;</li></li></ul><li>POE – Visão Geral<br /><ul><li>Diferente de aguardar por um comando completo que processa a info...
Programas orientados a evento geralmente consistem em vários pequenos tratadores (handler), programas que processam os eve...
Programas com interface com o usuário geralmente utilizam tal paradigma;
Sistemas operacionais também são outro exemplo de programas que utilizam programação orientada a eventos, este em dois nív...
Um interpretador de comandos pode ser visto como um caso especial de modelo orientado a eventos, no qual o sistema, até en...
wxWidgets<br />Platform for development of GUI(Graphical User Interface ) toolkits.<br />
wxWidgets – O que é ?<br /><ul><li>wxWidgets(conhecido antigamente como wxWindows) é uma biblioteca C ++ que permite aos d...
Possui vínculos com linguagens populares como C/C++, Python , Perl , Ruby e muitas outras;
 Ao contrário de outros kits de ferramentas multi-plataforma, wxWidgets dá poder as suas aplicações, pois é NATIVO;
Ele usa a API nativa da plataforma ao invés de emular a GUI;
Também é extenso, gratuito e de código aberto e maduro ;</li></li></ul><li>wxWidgets – O que é ?<br /><ul><li>wxWidgets é ...
A licença do wxWidgets é LGPL(GNU Lesser General PublicLicense );
Suporte à interfaces gráficas com o usuário, conexão a bancos de dados(ODBC) e Redes(conectividade por sockets);
Resumindo, WxWidgets é um toolkit, ou framework, para o desenvolvimento de aplicações multiplataforma. Permite a criação d...
Por que não experimentá-lo, como muitos outros ?</li></li></ul><li>wxWidgets – Visão Geral<br /><ul><li>Ela permite que um...
Microsoft Windows, Apple Mac OS, Linux/Unix;
A biblioteca é implementada em C++, mas outras implementações estão disponíveis para várias das linguagens de programação:
Python, Perl, Lua, C#, Basic, Ruby,Squeak, Java, JavaScript;
WxWidgets é orientado a objetos e orientado a eventos;
Por ser NATIVA , torna-se mais rápida, e com um visual melhor adaptado à plataforma, que utilitários como o Java Swing;</l...
wxWidgets – História<br /><ul><li>wxWidgets foi iniciado em 1992, o Instituto de Inteligência Artificial Applications , da...
Foi escrito para usar a API nativa do Windows;
Inicialmente, começou como um projeto para a criação de aplicações portáteis em Unix e Windows;
wxWidgets  gradualmente cresceu e mais e mais usuários de todo o mundo passaram á utilizá-la:
Setores comerciais, governamentais;
Usuários da empresa que descobriram que wxWidgetsoferecido um melhor produto e que os produtos comerciais que eles tinham ...
Após muitas contribuições, o código do wxWidgets estava um pouco ultrapassado.
Em maio de 1998 a API do Windows + as portas do GTK foram fundidas e colocadas em um repositório CVS disponibilizado a tod...
Meados de 2000 houve o lançamento dewxDesigners, </li></li></ul><li>wxWidgets – Curiosidade<br /><ul><li>Mudança do nome w...
Em 20 de fevereiro de 2004, os desenvolvedores do wxWindows anunciaram que o projeto estava mudando seu nome para wxWidget...
O número de programadores que contribuem para o projeto está agora nas dezenas e o toolkit tem uma forte base de usuários,...
Como a indústria repensa sua dependência da Microsoft e de código-fonte fechado produtos caros, o uso de desktop do Linux ...
Muitas pessoas estão descobrindo que wxWidgets é o caminho mais rápido para MFC portar suas aplicações para Linux, Unix ou...
wxWidgets – Requisitos<br /><ul><li>Para fazer uso de wxWidgets, que atualmente precisa de uma das seguintes configurações:
(A) MS-Windows:
Arquitetura de 32 bits ou 64 bits PC executando o MS Windows;
Um compilador Windows: MS Visual C ++, Borland C ++, Watcom C ++, Cygwin, MinGW, MetrowerksCodeWarrior, Digital Mars C ++;
Pelo menos 100 MB de espaço em disco para a árvore de origem e de espaço adicional para bibliotecas e criação de aplicaçõe...
2.	Open source;
3.	Documentação e amostras;
4.	Vasta gama de classes de controle e dejanela;
5.	Poderoso sistema de eventos;
6.	Depuração instalações;
7.	Apoio Compiler;
8.	Funcionalidade de banco de dados;
9.	Documento / classes vista;
10.	Arraste e solte(Drag AND Drop);</li></li></ul><li>wxWidgets – Plataforma<br /><ul><li>11.	UI   de fácil atualização;
12.	Os arquivos de configuração;
13.	Multithreading;
14.	Programação de rede;
15.	Classes HTML;
16.	Integração OpenGL;
17.	Diagramming  para apoiar a aplicação;
Upcoming SlideShare
Loading in...5
×

Minicurso wxWidgets

6,356

Published on

Minicurso de wxWidgest apresentado no SAGEC - Engenharia Cartográfica - UNESP FCT Presidente Prudente.

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,356
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Minicurso wxWidgets

  1. 1. Programação Orientada a Eventos com o ambiente wxWidgets<br />RENZO AUGUSTO L. PETRI<br /> renzo_petri@hotmail.com <br />ANTONIO M. G. TOMMASELLI<br />tomaseli@fct.unesp.br<br />MINICURSO<br />XVII SAGEC<br />
  2. 2. Roteiro<br /><ul><li>Introdução aos conceitos de Programação Orientada à Objetos e Eventos;
  3. 3. Introdução ao wxWidgets;
  4. 4. Introdução ao GUI wxDEV C++;
  5. 5. Introdução a FreeImage;
  6. 6. Exemplos e desenvolvimento de uma ferramenta interativa ;</li></li></ul><li>“O que eu NÃO vou aprender ?”<br /><ul><li>Engenharia de Software:
  7. 7. Processos de desenvolvimento de software;
  8. 8. Documentação;
  9. 9. Análise;
  10. 10. O OBJETIVO do curso é o wxWidgetsem C/C++.</li></li></ul><li>O que é preciso para estudar este curso ?<br /><ul><li>Conhecimentos “básicos” em C/C++ ou Java;
  11. 11. Existe um curso on-line de C da UFMG em :
  12. 12. http://www.ead.cpdee.ufmg.br/cursos/C/
  13. 13. Conceitos de Orientação a Objetos e Eventos;
  14. 14. O wxWidgets é orientado a objetos.</li></li></ul><li>Programação Orientada a Objetos (POO)<br />
  15. 15. Programação Orientada a Eventos (POE)<br />
  16. 16. Programação Orientada a Eventos<br /><ul><li>Programação orientada a eventos é um paradigma de programação;
  17. 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;
  18. 18. Sua aplicação é grande no desenvolvimento de sistemas de interface com o usuário.</li></li></ul><li>O que é um Evento ?<br />
  19. 19.
  20. 20. Evento<br /><ul><li>Em termos Computacionais, podemos classificar eventos, dependente da iteração do usuário, em:
  21. 21. Eventos de Mouse:
  22. 22. Clicar, arrastar, selecionar ...;
  23. 23. Eventos de Teclado:
  24. 24. Digitar, ...;
  25. 25. Outros;</li></li></ul><li>POE – Visão Geral<br /><ul><li>Diferente de aguardar por um comando completo que processa a informação, o sistema em tal paradigma é programado em sua base em um laço de repetição de eventos, que recebem repetidamente informação para processar e disparam uma função de resposta de acordo com o evento;
  26. 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.
  27. 27. Programas com interface com o usuário geralmente utilizam tal paradigma;
  28. 28. Sistemas operacionais também são outro exemplo de programas que utilizam programação orientada a eventos, este em dois níveis;
  29. 29. Um interpretador de comandos pode ser visto como um caso especial de modelo orientado a eventos, no qual o sistema, até então inativo, espera um comando para ser disparado através das instruções do usuário;</li></li></ul><li>Evento<br />
  30. 30. wxWidgets<br />Platform for development of GUI(Graphical User Interface ) toolkits.<br />
  31. 31. wxWidgets – O que é ?<br /><ul><li>wxWidgets(conhecido antigamente como wxWindows) é uma biblioteca C ++ que permite aos desenvolvedores criarem aplicativos para Windows, Mac OS X, Linux e UNIX em arquiteturas de 32 bits e 64-bits, bem como diversas plataformas móveis como Windows Mobile, iPhone SDK e incorporados GTK +;
  32. 32. Possui vínculos com linguagens populares como C/C++, Python , Perl , Ruby e muitas outras;
  33. 33. Ao contrário de outros kits de ferramentas multi-plataforma, wxWidgets dá poder as suas aplicações, pois é NATIVO;
  34. 34. Ele usa a API nativa da plataforma ao invés de emular a GUI;
  35. 35. Também é extenso, gratuito e de código aberto e maduro ;</li></li></ul><li>wxWidgets – O que é ?<br /><ul><li>wxWidgets é um utilitário de código livre;
  36. 36. A licença do wxWidgets é LGPL(GNU Lesser General PublicLicense );
  37. 37. Suporte à interfaces gráficas com o usuário, conexão a bancos de dados(ODBC) e Redes(conectividade por sockets);
  38. 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) ;
  39. 39. Por que não experimentá-lo, como muitos outros ?</li></li></ul><li>wxWidgets – Visão Geral<br /><ul><li>Ela permite que um programa seja compilado e executado em diversas plataformas de computação, com poucas ou nenhuma modificação. Ela suporta sistemas como:
  40. 40. Microsoft Windows, Apple Mac OS, Linux/Unix;
  41. 41. A biblioteca é implementada em C++, mas outras implementações estão disponíveis para várias das linguagens de programação:
  42. 42. Python, Perl, Lua, C#, Basic, Ruby,Squeak, Java, JavaScript;
  43. 43. WxWidgets é orientado a objetos e orientado a eventos;
  44. 44. Por ser NATIVA , torna-se mais rápida, e com um visual melhor adaptado à plataforma, que utilitários como o Java Swing;</li></li></ul><li>wxWidgets – Visão Geral<br />
  45. 45. wxWidgets – História<br /><ul><li>wxWidgets foi iniciado em 1992, o Instituto de Inteligência Artificial Applications , da Universidade de Edimburgo, Reino Unido, por Julian Smart ;
  46. 46. Foi escrito para usar a API nativa do Windows;
  47. 47. Inicialmente, começou como um projeto para a criação de aplicações portáteis em Unix e Windows;
  48. 48. wxWidgets gradualmente cresceu e mais e mais usuários de todo o mundo passaram á utilizá-la:
  49. 49. Setores comerciais, governamentais;
  50. 50. Usuários da empresa que descobriram que wxWidgetsoferecido um melhor produto e que os produtos comerciais que eles tinham olhado ou usados .</li></li></ul><li>wxWidgets – História<br /><ul><li>Em 1996 em contrapartida, o incomparável avanço do Java aparentemente estava jogando alguma dúvida sobre o futuro das bibliotecas C + +.
  51. 51. Após muitas contribuições, o código do wxWidgets estava um pouco ultrapassado.
  52. 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. 53. Meados de 2000 houve o lançamento dewxDesigners, </li></li></ul><li>wxWidgets – Curiosidade<br /><ul><li>Mudança do nome wxWindows para wxWidgets:
  54. 54. Em 20 de fevereiro de 2004, os desenvolvedores do wxWindows anunciaram que o projeto estava mudando seu nome para wxWidgets, como resultado de pressões da Microsoft sobre Julian Smart para respeitar a marca Windows. </li></li></ul><li>wxWidgets – Onde estão agora ?<br /><ul><li>wxWidgets continua a ganhar impulso significativo com os grandes nomes e companhias que adotamwxWidgetse wxPython;
  55. 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. 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;
  57. 57. Muitas pessoas estão descobrindo que wxWidgets é o caminho mais rápido para MFC portar suas aplicações para Linux, Unix outras variantes, e Mac. Assim, o futuro para wxWidgets é promissor;</li></li></ul><li>wxWidgets – Onde estão agora ?<br />
  58. 58. wxWidgets – Requisitos<br /><ul><li>Para fazer uso de wxWidgets, que atualmente precisa de uma das seguintes configurações:
  59. 59. (A) MS-Windows:
  60. 60. Arquitetura de 32 bits ou 64 bits PC executando o MS Windows;
  61. 61. Um compilador Windows: MS Visual C ++, Borland C ++, Watcom C ++, Cygwin, MinGW, MetrowerksCodeWarrior, Digital Mars C ++;
  62. 62. Pelo menos 100 MB de espaço em disco para a árvore de origem e de espaço adicional para bibliotecas e criação de aplicações (depende do compilador e construir as configurações).</li></li></ul><li>wxWidgets – Plataforma<br /><ul><li>1. Capacidade multi-plataforma;
  63. 63. 2. Open source;
  64. 64. 3. Documentação e amostras;
  65. 65. 4. Vasta gama de classes de controle e dejanela;
  66. 66. 5. Poderoso sistema de eventos;
  67. 67. 6. Depuração instalações;
  68. 68. 7. Apoio Compiler;
  69. 69. 8. Funcionalidade de banco de dados;
  70. 70. 9. Documento / classes vista;
  71. 71. 10. Arraste e solte(Drag AND Drop);</li></li></ul><li>wxWidgets – Plataforma<br /><ul><li>11. UI de fácil atualização;
  72. 72. 12. Os arquivos de configuração;
  73. 73. 13. Multithreading;
  74. 74. 14. Programação de rede;
  75. 75. 15. Classes HTML;
  76. 76. 16. Integração OpenGL;
  77. 77. 17. Diagramming para apoiar a aplicação;
  78. 78. 18. Suporte de Automação de OLE;
  79. 79. 19. Suporte a vários idiomas;
  80. 80. 20. A comunidade de usuários;</li></li></ul><li>wxWidgets – Descrições Características<br /><ul><li>As descrições detalhadas das características e funcionalidades da biblioteca encontram-se no arquivo:
  81. 81. Descrição da Plataforma.doc</li></li></ul><li>wxWidgets – Arquitetura<br /><ul><li>A WxWidgets se apresenta como uma camada entre a aplicação e a plataforma gráfica utilizada;
  82. 82. Esta camada promove a independência de plataforma, em tempo de compilação;</li></li></ul><li>wxWidgets – Arquitetura<br />
  83. 83. wxWidgets – Estrutura da Plataforma<br /><ul><li>Visualizar em:
  84. 84. http://www.wxwidgets.org/docs/hierarchy_stable_image.htm</li></li></ul><li>wxWidgets – Licença<br /><ul><li>wxWidgets está licenciado sob a wxWindows "Licença" ;
  85. 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. 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. 87. No entanto, não existem restrições significativas em aplicações proprietárias;
  88. 88. OwxWindows"Licença" foi aprovada pelo Open Source Initiative;</li></li></ul><li>wxWidgets – Usuários<br /><ul><li>wxWidgets é usado por uma gama enorme de organizações e indivíduos em todo o mundo;
  89. 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. 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. 91. Algumas das mais conhecidas organizações que têm utilizado wxWidgetsincluiem:
  92. 92. AOL, AMD, Lockheed Martin, Xerox, NASA, e Open Source Applications Foundation (OSAF).  </li></li></ul><li>wxWidgets – Aplicativos<br /><ul><li>Aplicativos desenvolvidos com wxWidgetsque você pode estar familiarizado incluem:
  93. 93. AVG Antivírus, Forte Agent, Audacity, iPodder e, Tortoise CVS.</li></li></ul><li>wxWidgets – Por que utilizar ?<br /><ul><li>Então, o que é especial sobre wxWidgets em comparação com outras plataformas?
  94. 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. 95. Link com a biblioteca apropriada para a sua plataforma (Windows / Unix / Mac, ou outro que venha em breve) e compilador (quase todos) e sua aplicação vai adotar o “lookandfeel” adequadas para essa plataforma;</li></li></ul><li>wxWidgets – Por que utilizar ?<br /><ul><li>wxWidgets foi desenvolvido para fornecer uma maneira barata e flexível para maximizar o investimento em desenvolvimento de aplicações GUI;
  96. 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:
  97. 97. Baixo preço;
  98. 98. Disponibilidade do código fonte;
  99. 99. Simplicidade de programação;
  100. 100. Suporte para uma vasta gama de compiladores;</li></li></ul><li>wxWidgets – Comparação - Vantagem<br />
  101. 101. wxWidgets – Especialidades<br /><ul><li>Em cima das grande funcionalidades, wxWidgetsoferece:
  102. 102. Rede;
  103. 103. Programação de ajuda online;
  104. 104. Área de transferência;
  105. 105. Arrastar e soltar;
  106. 106. Multithreading;
  107. 107. Tratamento de imagens em uma grande variedade de formatos populares;
  108. 108. Suporte de banco de dados;
  109. 109. Visualização e impressão de HTML;
  110. 110. E muito mais;</li></li></ul><li>wxWidgets – Documentos<br /><ul><li>Você pode baixar fichas PDF para ajudar você e seus colegas a descobrirem o wxWidgets:
  111. 111. wxWidgets Resumo:
  112. 112. http://www.wxwidgets.org/about/datasheets/wxWidgetsOverview.pdf
  113. 113. Livro wxWidgets:
  114. 114. http://www.wxwidgets.org/about/datasheets/wxWidgetsBook.pdf
  115. 115. wxWidgets para Sistemas Embarcados:
  116. 116. http://www.wxwidgets.org/about/datasheets/wxWidgetsEmbedded.pdf</li></li></ul><li>wxWidgets – Links<br /><ul><li>Página Oficial:
  117. 117. http://www.wxwidgets.org
  118. 118. Documentação:
  119. 119. http://www.wxwidgets.org/docs
  120. 120. Tutoriais :
  121. 121. http://www.wxwidgets.org/docs/tutorials.htm
  122. 122. Downloads:
  123. 123. http://www.wxwidgets.org/downloads/
  124. 124. wxWiki:
  125. 125. http://wiki.wxwidgets.org/Main_Page</li></li></ul><li>wxWidgets – Instalação<br /><ul><li>1º Passo:
  126. 126. Faça o download dos arquivos binários do seguinte link:
  127. 127. http://www.wxwidgets.org/downloads/
  128. 128. Observe bem para fazer o download para a sua plataforma de Sistema Operacional:
  129. 129. Windows, Linux, etc;
  130. 130. Observe bem para fazer o download para a sua arquitetura(32 ou 64 bits);</li></li></ul><li>wxWidgets – Instalação<br />
  131. 131. wxWidgets – Instalação<br /><ul><li>2º Passo:
  132. 132. Faça a instalação automática dos pacotes em sua máquina;
  133. 133. 3º Passo:
  134. 134. Caso utilize Linux/Unix refazer a compilação dos pacotes para poder utilizá-los:
  135. 135. Dê preferência aos compiladores gcc;</li></ul>* Se optar por utilizar compiladores diferentes como Borland ou Visual Studio referenciar as bibliotecas no path da IDE;<br /><ul><li>4º Passo:
  136. 136. Baixe uma IDE de sua preferência com a linguagem que você têm mais facilidade.
  137. 137. No nosso caso utilizaremos a wxDevC++;
  138. 138. 5 º Passo:
  139. 139. Inicialize seu IDE e mãos á obra!!!</li></li></ul><li>wxWidgets – Desenvolvimento<br /><ul><li>Para se criar uma aplicação simples em wxWidgets devem ser seguidos alguns passos:
  140. 140. Claro que cada caso tem particularidades, e o que segue abaixo, é apenas uma sugestão para um caso geral;
  141. 141. Note que, existem dois métodos de criar a aplicação: o modo manual e o por IDE’s:
  142. 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;
  143. 143. Na prática, utiliza-se um software como o wxDev C++, e outros para desenhar a interface e gerar todo o código automaticamente;</li></li></ul><li>IDE<br /><ul><li>IDE (IntegratedDevelopmentEnvironment)  ou Ambiente Integrado de Desenvolvimento, é um programa de computador que reúne características e ferramentas de apoio ao desenvolvimento de software com o objetivo de agilizar este processo;
  144. 144. As características e ferramentas mais comuns encontradas nos IDEs são:
  145. 145. Editor;
  146. 146. Compilador ;
  147. 147. Linker;
  148. 148. Depurador ;
  149. 149. Modelagem;
  150. 150. Geração de código ;
  151. 151. Distribuição;
  152. 152. Refatoração;</li></li></ul><li>IDE’s Disponíveis<br /><ul><li>WxDev C++;
  153. 153. WxPython;
  154. 154. WxPerl;
  155. 155. WxForm Builder;
  156. 156. WxWidgets Builder Free;</li></li></ul><li>wxDEV C++<br />
  157. 157.
  158. 158. wxDEV C++ - Introdução<br /><ul><li>wxDev C++ é uma extensão do Dev C++, produzido por Colin Laplace;
  159. 159. Este programa ajuda a criar caixas de diálogos e quadros visuais para wxWidgets , através de um designer de formulário;
  160. 160. Com todos os recursos do Dev C++, o wxDev-C++ ainda está sendo desenvolvido ativamente;
  161. 161. O objetivo principal deste projeto é proporcionar à comunidade wxWidgets uma IDE livre para o desenvolvimento com wxWidgets, open-source;</li></li></ul><li>wxDEV C++ - Características<br /><ul><li>wxWidgetsForm Designer:
  162. 162. Gera XRC recursos XML;
  163. 163. paradigma de design Drag-and-drop;
  164. 164. Suporta layouts wxWidgets 'sizer-based ;
  165. 165. Eventos Connect para funções membro dentro do editor;
  166. 166. Integrateddebugging:
  167. 167. O suporte para o GDB;
  168. 168. Variáveis relógios;
  169. 169. Pilha de rastreamento automático;
  170. 170. Lista de variáveis locais;
  171. 171. Exibe a desmontagem e Registradores da CPU;
  172. 172. Suporte para modelos de projeto para acelerar a criação de novos tipos de projeto;
  173. 173. Package Manager (através do uso de DevPaks), para facilitar a instalação de add-on bibliotecas;</li></li></ul><li>wxDEV C++ - Características<br /><ul><li>Editor de recursos:
  174. 174. Navegador de classes;
  175. 175. Complementação de código;
  176. 176. O gerenciamento de projetos;
  177. 177. Perfis de projetos;
  178. 178. Sintaxe personalizável destaque;
  179. 179. Montagem automática inline destaque;
  180. 180. To Do List;
  181. 181. Compatibilidade de aplicativos:
  182. 182. Built-in de suporte ao CVS;
  183. 183. Suporta MingW / C + + Visual (6, 2003, 2005 e 2008);
  184. 184. Criar rapidamente o Windows e aplicativos de console, bibliotecas estáticas e DLL's;</li></li></ul><li>wxDEV C++ - Desvantagens<br /><ul><li>Por que wxDev-C++ demora muito tempo para compilar, e os binários produzidos são tão grandes?
  185. 185. É utilizado o MingW compilador que vem com o Dev C++;
  186. 186. Como MingW tenta emitir o código que irá trabalhar em várias plataformas, ele tende a ser lento na elaboração de programas .
  187. 187. Os códigos binários produzidos são grandes por causa da ligação estática com libstdc + + (o que é dito ser volumosa) e wxWidgets, bem como a emissão de código para múltiplas plataformas ;</li></li></ul><li>wxDEV C++ - Instalação<br /><ul><li>1º Passo:
  188. 188. Baixe e instale o IDE wxDev C++:
  189. 189. http://wxdsgn.sourceforge.net/?q=node/4</li></li></ul><li>wxDEV C++ - Instalação<br /><ul><li>Observações:
  190. 190. É importante lembrar que se você possui o Dev C++ instalado em sua máquina remova–o;
  191. 191. Na instalação deixe selecionado a opção de instalar o MS VC++ 2005;</li></li></ul><li>Demonstração do Ambiente<br />
  192. 192. wxDEV C++ - Ativação do Debbug<br /><ul><li>Para fazermos a depuração de um código utilizando o ambiente, faz-se necessário configurar alguns parâmetros para que o ambiente de depuração funcione;
  193. 193. Para tal, utilizem a apostila que segue junto ao material:
  194. 194. Depuração de Código Utilizando o Dev-C++ - Dicas</li></li></ul><li>wxDEV C++ - Links<br /><ul><li>Home Page:
  195. 195. http://wxdsgn.sourceforge.net/
  196. 196. Download:
  197. 197. http://wxdsgn.sourceforge.net/?q=node/4
  198. 198. Help:
  199. 199. http://wxdsgn.sourceforge.net/?q=node/21
  200. 200. Tutorial:
  201. 201. http://wxdsgn.sourceforge.net/?q=node/6</li></li></ul><li>FreeImage<br />
  202. 202. FreeImage – Visão Geral<br /><ul><li>FreeImage é um projeto Open Source para desenvolvedores que gostariam de uma biblioteca para imagens de formatos gráficos populares como: PNG, BMP, JPEG, TIFF e outros, necessários para aplicativos multimídia hoje;
  203. 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. 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;
  205. 205. A biblioteca vem em duas versões:
  206. 206. uma distribuição binária DLL que pode ser ligado contra qualquer WIN32 C/C ++ compilador e uma distribuição fonte;
  207. 207. Workspace arquivos de Microsoft VS.Net 2003 e 2005 VS.Net são fornecidos, bem como makefiles para Linux e Mac OS X;
  208. 208. De janeiro de 2000 a julho de 2002, FreeImage foi projetado e desenvolvido principalmente por Floris van den Berg. FreeImage agora é mantido por HervéDrolon;</li></li></ul><li>FreeImage - Características<br /><ul><li>Facilidade de uso;
  209. 209. Não se limita ao computador local;
  210. 210. Plug-in impulsionada;
  211. 211. Conversão de cores;
  212. 212. Suporte para imagens HighDynamic Range;
  213. 213. Acessar diretamente os bits de bitmap e paleta;
  214. 214. Apoio Metadados;</li></li></ul><li>FreeImage - Características<br /><ul><li>O código fonte completo está disponível;
  215. 215.  Open Source License dupla;
  216. 216. Integra-se facilmente em DirectX e OpenGL;
  217. 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;
  218. 218. Oferece programas de teste para "show-off" da biblioteca, compilável e inicializável no Windows 95, 98, NT, 2000 ou Linux;</li></li></ul><li>FreeImage – Formatos Suportados<br /><ul><li>BMP
  219. 219. Dr. Halo CUT arquivos
  220. 220. DDS arquivos
  221. 221. EXR arquivos
  222. 222. Fax G3 arquivos RAW
  223. 223. Arquivos GIF
  224. 224. HDR arquivos
  225. 225. ICO
  226. 226. IFF arquivos
  227. 227. JBIG leitura
  228. 228. JNG arquivos
  229. 229. JPEG / JIF arquivos
  230. 230. JPEG-2000 File Format
  231. 231. JPEG-2000 codestream
  232. 232. KOALA arquivos
  233. 233. Kodak PhotoCD arquivos
  234. 234. MNG arquivos
  235. 235. PCX arquivos
  236. 236. PBM / PGM / PPM arquivos
  237. 237. PFM arquivos
  238. 238. PNG
  239. 239. Macintosh PICT
  240. 240. Arquivos PSD do Photoshop
  241. 241. Câmera arquivos RAW
  242. 242. Dom arquivos RAS
  243. 243. SGI arquivos
  244. 244. TARGA arquivos
  245. 245. TIFF
  246. 246. WBMP arquivos
  247. 247. XBM arquivos
  248. 248. XPM arquivos</li></li></ul><li>FreeImage - Requisitos<br /><ul><li>A biblioteca deve compilar sem problemas em todos os Windows, Linux ou Mac OS X plataforma de execução de um código de 32 bits de geração de compilador;
  249. 249. Atualmente, makefiles ou arquivos de projeto estão previstos:
  250. 250. Visual.Net 2003;
  251. 251. Visual.Net 2005;
  252. 252. MinGW;
  253. 253. Linux;
  254. 254. Mac OS X;
  255. 255. Solaris 9;</li></li></ul><li>FreeImage - Licença<br /><ul><li>FreeImage está licenciado sob a GNU General PublicLicense (GPL) ea FreeImagePublicLicense (FIPL);
  256. 256. Você pode escolher a licença que tem mais vantagens para você:
  257. 257. Use o liberal FreeImagePublicLicense para uso comercial ou FreeImage;
  258. 258. Use a GNU General PublicLicense para uso FreeImage em seu projeto de código aberto;
  259. 259. Ao utilizarFreeImageem seu código-fonte aberto ou aplicação comercial, você é obrigado a: 
  260. 260. Distribuir a licença (GNU GPL ou FIPL) que você escolheu com sua aplicação (ou seja, o arquivo TXT);
  261. 261. Fornecer um aviso adequado, tanto no programa "Sobre a caixa" ou no manual do usuário (ou ambos), por exemplo:
  262. 262. Este software utiliza a imagem FreeImage biblioteca de código aberto. Veja http://freeimage.sourceforge.net para mais detalhes.
  263. 263. FreeImage é usado sob a (GNU GPL ou FIPL), versão (licença).</li></li></ul><li>FreeImage - Download<br /><ul><li>Acesse:
  264. 264. http://freeimage.sourceforge.net/download.html</li></li></ul><li>FreeImage e wxDEV C++<br /><ul><li>Para utilizar a biblioteca FreeImage é necessário configurá-la:</li></li></ul><li>
  265. 265.
  266. 266.
  267. 267.
  268. 268.
  269. 269.
  270. 270. FreeImage - Links<br /><ul><li>Home Page:
  271. 271. http://freeimage.sourceforge.net/
  272. 272. Help:
  273. 273. http://local.wasp.uwa.edu.au/~pbourke/dataformats/bitmaps/
  274. 274. http://www.wotsit.org/</li></li></ul><li>Mãos à obra<br />
  275. 275. Exemplo 1<br /><ul><li>Meu primeiro programa:
  276. 276. Tratamento de eventos de botões;
  277. 277. Tratamento de eventos de Janela;</li></li></ul><li>Exemplo 2<br /><ul><li>Segundo programa:
  278. 278. Tratamento de eventos de botões;
  279. 279. Tratamento de eventos de menu;
  280. 280. Chamada internas;
  281. 281. Leitura e tratamento de arquivos;</li></li></ul><li>Exemplo 3 <br /><ul><li>Terceiro programa:
  282. 282. Eventos em Imagem;
  283. 283. Mouse;
  284. 284. Cursor;
  285. 285. Cliques;</li></li></ul><li>Dúvidas<br />
  286. 286. Obrigado<br />

×