ferramenta para conversão de interfaces gráficas...
TRANSCRIPT
![Page 1: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/1.jpg)
Ferramenta para conversão de
interfaces gráficas desenvolvidas em
Delphi para a biblioteca GTK+
Acadêmico: Josimar Zimermann
Orientadora: Joyce Martins
![Page 2: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/2.jpg)
Roteiro
Introdução
Objetivos
Fundamentação teórica
Desenvolvimento
Conclusão
Extensões
![Page 3: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/3.jpg)
Introdução
Aplicativos construídos em Delphi exclusivamente
para a plataforma Windows
Advento das plataformas alternativas ao Windows
Necessidade de portabilidade e construção de
interface gráficas
Tempo e mão de obra para tornar aplicativos
portáveis
![Page 4: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/4.jpg)
Objetivos do trabalho
Usar a biblioteca GTK+ como solução portável na
construção de GUI
Migrar GUI construídas no Delphi para um formato
legível à GTK+
Permitir a utilização da mesma GUI através de
diferentes linguagens de programação
![Page 5: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/5.jpg)
Fundamentação teórica
Conceitos:
Definição de padrões com XML
GUI
Desenvolvimento de GUI no Delphi
GTK+
Glade
Trabalhos correlatos
DelphiToWeb
Extensão da ferramenta DelphiToJava-II
ScriptCase
![Page 6: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/6.jpg)
Definição de padrões com XML
Formato padronizado
Portável
Adaptável
Suporte para processamento pelas linguagens de
programação
Estrutura hierárquica
![Page 7: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/7.jpg)
GUI
Do inglês Graphical User Interface
Utiliza a experiência do usuário
Imita objetos conhecidos
Utiliza padrões existentes
Bibliotecas para construção de GUI
Visual Component Library (VCL)
Qt
GTK+
![Page 8: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/8.jpg)
Construção de GUI no Delphi
Armazena informações da GUI separadamente
Utiliza um formato próprio
Hierarquia de componentes
Propriedades
Manipuladores de eventos
![Page 9: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/9.jpg)
Construção de GUI no Delphi
object Form1: TForm1
Left = 0
Top = 0
Caption = 'Exemplo'
ClientHeight = 208
ClientWidth = 318
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
Position = poScreenCenter
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 8
Top = 8
Width = 58
Height = 13
Caption = 'Class name:'
end
object Edit1: TEdit
Left = 8
Top = 23
Width = 121
Height = 21
TabOrder = 0
Text = 'TButton'
end
object Button1: TButton
Left = 8
Top = 50
Width = 75
Height = 25
Caption = 'Create'
TabOrder = 1
end
end
![Page 10: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/10.jpg)
GTK+
Acrônimo para GIMP ToolKit
Criada em 1997 na Universidade da Califórnia
Extensivamente utilizada no Linux
GNOME
Expandida para suportar outros sistemas
Microsoft Windows
Mac OS X
Outros
![Page 11: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/11.jpg)
GTK+
![Page 12: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/12.jpg)
Glade
Construtor de GUI para a GTK+
Fornece suporte a Libglade
Fornece o recurso drag-and-drop
Salva as definições da interface em XML
Construção da GUI à parte da lógica do aplicativo
![Page 13: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/13.jpg)
Glade
<?xml version="1.0"?>
<glade-interface>
<!-- interface-requires gtk+ 2.16 -->
<!-- interface-naming-policy project-wide -->
<widget class="GtkWindow" id="window1">
<property name="visible">True</property>
<property name="title" translatable="yes">Exemplo</property>
<property name="window_position">center</property>
<signal name="delete_event" handler="window1_delete_event_cb"/>
<child>
<widget class="GtkVBox" id="vbox1">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<child>
<widget class="GtkEntry" id="entry1">
<property name="visible">True</property>
</widget>
</child>
</widget>
</child>
</widget>
</glade-interface>
![Page 14: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/14.jpg)
Trabalhos correlatos
DelphiToWeb
Conversão de GUI Delphi para páginas HTML
Extensão da ferramenta Delphi2Java-II
Conversão de componente de conexão com banco de
dados
ScriptCase
Framework para construção de aplicativos Web com
acesso a banco de dados
![Page 15: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/15.jpg)
Desenvolvimento
Requisitos
Especificação
Implementação
Operacionalidade
![Page 16: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/16.jpg)
Requisitos
Requisitos funcionais
Permitir a seleção dos diretórios de:
Mapas;
Entrada;
Saída
Realizar a conversão de .dfm para .glade
Exibir o resultado da conversão:
Em execução;
No Glade
![Page 17: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/17.jpg)
Requisitos
Requisitos não funcionais
Codificar para Pascal/Object Pascal para o compilador
Free Pascal
Implementar na IDE Lazarus 0.9.28.2
Desenhar a interface com auxílio do Glade
Utilizar analisadores léxico, sintático e semântico
Gerar código Pascal/Object Pascal para exibição do
resultado
![Page 18: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/18.jpg)
Especificação
Ferramentas utilizadas
Enterprise Architect
gVim
Artefatos gerados
Diagramas de casos de uso
Diagramas de pacotes
Diagramas de classes
Mapas XML para auxiliar a tradução
![Page 19: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/19.jpg)
Especificação
Casos de uso
uc Use Case Model
Usuário
UC01. Selecionar
diretório dos mapas
de tradução
UC02. Selecionar o
diretório de entrada
UC03. Selecionar o
diretório de saída
UC04. Requisitar a
tradução dos
componentes
UC05. Visualizar o
resultado da tradução
![Page 20: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/20.jpg)
Especificação
Diagrama de pacotes
pkg Package Model
Component Mapping
Ev ent Mapping
GladeGlade TransformProject
Property Translation
VCL Abstract
Gals
![Page 21: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/21.jpg)
Especificação
Diagrama de classes do pacote VCL Abstract
class VCL Abstract
TVCLProperty
«interface»
IVCLPropertyValue
TVCLBooleanValue
TVCLFileDataValue
TVCLIdentifierValueTVCLIntegerValueTVCLRealValue
TVCLSetValue
TVCLStringListValue
TVCLStringValue
«enumeration»
TVCLValueKindTVCLValueFactory
TDFMTVCLComponent
1
1
1
*
![Page 22: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/22.jpg)
Especificação
Diagrama de classes do pacote Glade
class Glade
«interface»
IPropertyValueTProperty
A
TGladeInterface
TSignal
TPacket
TStringListValue
TStringValueTBooleanValueTIntegerValue
TRealValue
TWidgetIdFactoryTWidget
*
1 *
*
*
1
![Page 23: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/23.jpg)
Especificação
Mapeamento da tradução
Componentes
Propriedades
Eventos
Utilização do padrão XML
Hierarquias
Portabilidade
Flexibilidade
![Page 24: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/24.jpg)
Especificação
Mapa de componentes
Tradução categorizada
Simples
Condicionada a propriedades
Especial
Classe GTK resultante
Propriedades requeridas
![Page 25: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/25.jpg)
Especificação
Componente de tradução simples
<?xml version="1.0" encoding="UTF-8"?>
<delphitogtk>
<component class="TForm" translation="simple">
<widget class="GtkWindow" />
</component>
<component class="TLabel" translation="simple">
<widget class="GtkLabel" />
</component>
</delphitogtk>
![Page 26: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/26.jpg)
Especificação
Componente de tradução condicionada
<component class="TScrollBar" translation="propertied">
<widgets>
<widget class="GtkHScrollbar">
<properties>
<property name="Kind" type="Identifier" check="equality“
value="sbHorizontal" />
</properties>
</widget>
<widget class="GtkVScrollbar">
<properties>
<property name="Kind" type="Identifier" check="equality“
value="sbVertical" />
</properties>
</widget>
<widget class="GtkHScrollbar" />
</widgets>
</component>
![Page 27: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/27.jpg)
Especificação
Componente de tradução especial
O tradutor é uma classe compilada
<component class="TPanel" translation="special“
translator="TPanelTranslator" />
![Page 28: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/28.jpg)
Especificação
Mapa de propriedades
<class name="TProgressBar">
<groups>
<group translator="Alignment">
<properties>
<property name="Position" required="true" type="Integer“
default="0" />
<property name="Step" required="true" type="Integer“
default="10" />
<property name="Min" required="true" type="Integer“
default="0" />
<property name="Max" required="true" type="Integer“
default="100" />
</properties>
</group>
</groups>
</class>
![Page 29: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/29.jpg)
Especificação
Mapa de eventos
<component class="TComboBox">
<event vcl="OnSelect" gtk="changed">
<arguments>
<argument name="Widget" type="PGtkComboBox" />
<argument name="UserData" type="GPointer" />
</arguments>
</event>
</component>
![Page 30: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/30.jpg)
Implementação
Ferramentas utilizadas
Lazarus IDE, versão 0.9.28.2
Biblioteca GTK+ runtime para Windows
Glade, versão 3.6.7
GALS
Recursos e técnicas utilizadas
Generics (disponibilizado pelo Free Pascal)
POO
![Page 31: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/31.jpg)
Implementação
Carregamento dos mapas de tradução
Classe TComponentMap carrega o arquivo components.xml
Classe TPropertyMap carrega o arquivo properties.xml
Classe TEventMap carrega o arquivo events.xml
![Page 32: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/32.jpg)
Implementação
Interpretação do arquivo .dfm
Utilização dos analisadores léxico, sintático e
semântico
Analisador semântico alimenta o pacote VCL Abstract
Instancia a classe TDFM
Adiciona os componentes
Adiciona as propriedades
![Page 33: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/33.jpg)
Implementação
Classe TDFMTranslator realiza a tradução do
objeto TDFM
Utiliza os mapas para auxiliar na tradução
Processo de tradução
Componentes
Propriedades
Eventos
A tradução resulta um objeto TGladeInterface
Transforma TGladeInterface em XML
Gera código Pascal para carregar a GUI
![Page 34: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/34.jpg)
Operacionalidade
Usuário informa a ferramenta...
Diretório de localização dos mapas
Diretório de localização do arquivo .dfm
Diretório de saída do arquivo traduzido
Usuário solicita a tradução
Ferramenta informa o resultado da tradução
![Page 35: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/35.jpg)
Operacionalidade
Após traduzida a interface o usuário pode...
Visualizar a tradução no Glade
Visualizar a tradução em execução
Visualizar código fonte que carrega a interface
![Page 36: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/36.jpg)
Operacionalidade
Exemplo de tradução
![Page 37: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/37.jpg)
Resultados e Discussão
Desenvolvida com software livre
Desenvolvida para fornecer portabilidade
Free Pascal
XML
GTK+
Permite a adição de tradutores para novos
componentes
![Page 38: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/38.jpg)
Resultados e Discussão
Quadro comparativo
característica DelphiToWeb
Extensão da
ferramenta
Delphi2Java-II
ScriptCase DelphiToGTK+
linguagem de
programação Java Java
PHP e
Javascript
Pascal/Object
Pascal
oferece flexibilidade para
conversão Não Não - Sim
traduz a interface para
uma tecnologia portável Sim Sim - Sim
suporte para acesso a
banco de dados Não Sim Sim Não
a interface traduzida pode
ser migrada para
diferentes linguagens de
programação
Não Não - Sim
![Page 39: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/39.jpg)
Conclusões
Auxílio na migração de aplicações Delphi
Utiliza biblioteca multi-plataforma e multi-linguagem
Possibilidade de migração para outras linguagens
de programação
![Page 40: Ferramenta para conversão de interfaces gráficas ...campeche.inf.furb.br/tccs/2011-II/TCC2011-2-12-AP-JosimarZimermann.pdf · Integrar a ferramenta ao motor de script Pascal Script](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be4491f09d3f25b628ce0a6/html5/thumbnails/40.jpg)
Extensões
extensão complexidade
Integrar a ferramenta ao motor de script Pascal Script de forma a flexibilizar
a construção de rotinas para tradução de componentes complexos,
dispensando a necessidade de recompilar a aplicação.
10
Para componentes da VCL que não podem ser traduzidos segundo as
especificações da Libglade, verificar a possibilidade de gerar código capaz
de criar os elementos gráficos em tempo de execução.
10
Criar uma extensão para permitir gerar interfaces gráficas para o formato
suportado pela classe GladeXML da GTK+. 8
Desenvolver uma interface gráfica para auxiliar na construção de arquivos
de mapeamento de componentes, propriedades e eventos. 8
Criar esquemas XML para validação dos mapas de tradução para realizar a
validação na aplicação, diminuindo o risco de erros. 8
Gerar código para carregamento da interface gráfica traduzida para
diferentes linguagens de programação que suportam a GTK+. 7
Realizar a tradução do componente TFrame da biblioteca VCL. 1