A Interface Gráfica
Smalltalk é uma linguagem projetada para uso interativo em estações de trabalho individuais. Devido à grande quantidade de classes e mensagens disponíveis, é utilizada uma interface gráfica que facilita a consulta e edição das classes e métodos. Esta interface antecipou-se em muitos anos ao estilo atualmente difundido pelas interfaces do MacIntosh e do Windows, que utiliza um sistema de janelas múltiplas na tela, que podem apresentar simultaneamente informações diversas. As janelas podem ser superpostas, sem perda de informação, e o operador pode selecionar qual a janela ativa, que fica sobre as demais, e na qual informações podem ser digitadas. A manipulação da interface é feita por meio de um dispositivo de controle do cursor ("mouse") juntamente com o teclado normal do terminal.
Existem vários tipos de janelas com funcionalidades diferentes. Janelas podem ser sub-divididas em "divisórias" ("panes", em ingles). A cada divisória corresponde um "menu" de funções que pode ser ativado pelo "mouse" (ou teclado), e cada função pode ser selecionada. O uso combinado do cursor na tela, dos menus de função e da operação do "mouse", permite que uma parcela significativa da interação com o sistema seja feita sem necessidade de digitação de instruções e sem necessidade de memorizar a sintaxe dos comandos, o que aumenta a velocidade da interação.
Os tipos principais de janelas são:
Área de Trabalho: ("Workspace") - são usadas para editar textos.
O menu de funções inclui todo os comandos de edição,
e permite executar diretamente trechos selecionados de métodos editados,
com a resposta sendo enviada para o mesmo local.
Folheador: ("Browser) - é um tipo especial de janela utilizada para
a consulta e edição de informações contidas em
dicionários. Algumas divisórias são definidas como
"divisórias de lista" ("list panes") onde são apresentadas
as chaves de consulta que podem ser roladas para cima ou para baixo, até
localizar a chave desejada. Ao selecionar uma chave, a informação
associada é apresentada em outra divisória própria para
a edição de textos ("text pane"). Folheadores especializados
são usados para editar os métodos das diversas classes do sistema.
Dois folheadores principais da interface são o Folheador de Classe
("Class Browser") e o Folheador da Hierarquia das Classes ("Class Hierarchy
Browser") O primeiro é usado para consultar e editar os métodos
de uma determinada classe. O segundo é usado para consultar e editar
todas as classes do sistema. Outro folheador importante é o Folheador
de Disco ("Disk Browswer") que permite consultar o conteúdo do disco
do sistema e realizar diversas funções de manutenção
de arquivos.
"Prompter" - não há uma tradução ideal para esse termo, que significa "solicitador de resposta". É usada para solicitar do usuário alguma resposta específica, podendo já apresentar o valor padrão de resposta dentro de uma divisória de texto. O usuário pode alterar ou não a resposta padrão e enviar sua resposta.
A interface gráfica de Smalltalk é bastante sofisticada, e varia também com a versão e fabricante, não cabendo discutí-la aqui neste texto, que se propõe a ser apenas uma introdução à linguagem. O leitor interessado dever consultar o manual da versão de interesse.