Rexx - Interface gráfica do usuário

Para usar as interfaces gráficas de usuário disponíveis no Rexx, é necessário usar 2 pacotes, um é chamado ActiveTcl e o outro é o Rexxtkpacote. Junto com esses 2 pacotes, pode-se projetar formulários normais que podem ter botões e outros controles nos formulários.

Configuração de ambiente

A primeira coisa a fazer é a configuração do ambiente. Vamos seguir as etapas a seguir para ter o ambiente no lugar.

Step 1 - Baixe o pacote Activetcl do seguinte site - https://www.activestate.com/activetcl

Step 2- O próximo passo é iniciar a instalação do ActiveTCl. Clique no botão Avançar na tela para prosseguir.

Step 3 - Aceite o contrato de licença e clique no botão Avançar.

Step 4 - Escolha um local para a instalação e clique no botão seguinte.

Step 5 - Escolha um local para a instalação dos demos e clique no botão Avançar.

Step 6 - Clique no botão Avançar para prosseguir com a instalação.

Step 7 - Clique no botão Concluir para concluir a instalação.

Step 8 - A próxima etapa é baixar o software Rexxtk a partir do seguinte link - https://sourceforge.net/projects/rexxtk/

Step 9- Clique duas vezes no arquivo do instalador do link na etapa anterior para iniciar a instalação. Clique no próximo botão para prosseguir.

Step 10 - Na próxima tela, clique no botão Sim para concordar com o Contrato de Licença.

Step 11 - Na próxima tela, escolha o local de instalação e clique no botão Avançar.

Step 12 - Escolha o local da pasta do programa e clique no botão seguinte.

Assim que a instalação estiver concluída, podemos agora começar com a programação da GUI's no Rexx.

Programa Básico

Vamos ver como podemos projetar um programa básico simples com Rexx em um formato de interface gráfica com o usuário.

Exemplo

/* Main program */ 
call RxFuncAdd 'TkLoadFuncs','rexxtk','TkLoadFuncs' 
call TkLoadFuncs 
do forever 
   interpret 'Call' TkWait() 
end 
call TkDropFuncs 
exit 0

As seguintes coisas precisam ser observadas sobre o programa acima -

  • A biblioteca Rexxtk e todas as suas funções são carregadas usando o comando RxFuncAdd.

  • O loop do forever manterá a janela aberta e aguardará a entrada do usuário.

  • Assim que a entrada do usuário for detectada, o programa será encerrado.

Quando o programa acima for executado, você obterá a seguinte saída.

Criando Menus

Os menus são criados com a ajuda das funções TkMenu e TkAdd. A sintaxe dessas funções é fornecida a seguir.

Sintaxe

TkMenu(widgetname,options,0)

Parâmetros

Widgetname - Um nome para dar ao menu.

As opções podem ser qualquer uma das seguintes -

  • selectcolor - se as caixas de seleção ou botões de rádio forem usados ​​como opções de menu, esta opção especifica a cor a ser escolhida quando qualquer opção de menu é selecionada.

  • tearoff - Esta opção é usada para adicionar submenus ao menu principal.

  • title - A string que deve ser usada para dar um título à janela.

Valor de retorno

Um identificador para o menu criado.

Exemplo

/* Main program */ 
call RxFuncAdd 'TkLoadFuncs','rexxtk','TkLoadFuncs' 
call TkLoadFuncs 

menubar = TkMenu('.m1') 
filemenu = TkMenu('.m1.file','-tearoff', 0) 
call TkAdd menubar, 'cascade', '-label', 'File', '-menu', filemenu 
call TkAdd filemenu, 'command', '-label', 'Open...', '-rexx', 'getfile' 
call TkConfig '.', '-menu', menubar 

do forever 
   interpret 'Call' TkWait() 
end 
call TkDropFuncs 
exit 0

As seguintes coisas precisam ser observadas sobre o programa acima -

  • A barra de menu é criada usando a função TkMenu. O parâmetro 'tearoff' significa que precisamos criar submenus que serão anexados ao menu principal.

  • Em seguida, adicionamos 2 opções de menu chamadas Arquivo e Abrir usando a função TkAdd.

Quando o programa acima for executado, você obterá a seguinte saída.