Clickable link | Pharo Smalltalk

Fiquei intrigado com o texto exibido na janela Welcome do Pharo 6.

Pharo 6 Welcome Window

Abaixo de Color theme há duas expressões: Pharo3Theme beCurrent e Pharo3DarkTheme beCurrent.

Como são expressões em Smalltalk cliquei por curiosidade. Como supostamente já estamos usando o Dark Theme cliquei na primeira expressão para ver o que acontecia. Surpresa! O tema mudou!

Pharo 6 Pharo3 Theme Again.png

Para restabelecer o Dark Theme basta um clique na segunda linha Pharo3DarkTheme beCurrent.

Um pouco de pesquisa na Internet me levou a um fórum onde o recurso é citado como um clickable coloured links.

Pharo 6 Clickable coloured links in Welcome Window cited in a forum

Resolvi então pesquisar no código fonte da imagem usando a ferramenta Finder.

Clique no fundo da janela principal para obter o World Menu.

Pharo 6 World Tools Finder menu selected

Pharo 6 Finder Tool Window

Vamos selecionar Source.

Pharo 6 Finder Tool Window Selecting Sources

E digitar Pharo3DarkTheme beCurrent ou Pharo3Theme beCurrent na caixa de edição.

Pharo 6 Finder Tool Window Edit Box with Pharo3Theme beCurrent

E clicar no botão Search.

Pharo 6 Finder Tool Window Pharo3Theme beCurrent search source result

No final do método Welcome encontrei o código procurado.

Pharo 6 Finder Tool Window welcome method

A criação dos clickable coloured links é feita com o método de classe WelcomeHelp class>>#doItFrom:.

Vamos localizar a implementação selecionando a mensagem doItFrom: e usando o menu Code Search….

Pharo 6 doItFrom Text Search for method implementation.png

Pharo 6 Implementors of doItFrom.png

Notamos que o método de classe WelcomeHelp class>>#doItFrom: retorna um Text.

Pharo 6 doItFrom returns Text

E que Text pode ser convertido em um Morph que é o retorno da mensagem asMorph.

Pharo 6 doItFrom Text return as Morph

Então construimos o código para abrir um morph e mostrar o texto Date today inspect como um clickable coloured link.

Pharo 6 Playground with clickable coloured link demo code

Usamos o botão Remote publish para compartilhar o código na Internet.

Pharo 6 Playground with clickable coloured link demo code published

Executar o script mostra um morph com o clickable coloured link e ao clicar no link a expressão Date today inspect é avaliada com Do it mostrando um Inspector para o retorno.

Pharo 6 clickable coloured link morph

Pharo 6 Date today inspect from a clickable coloured link

Bem… mistério solucionado!

Ao mesmo tempo várias ferramentas de investigação foram mostradas.

porkey

[Atualização] Descobri por acaso que inspecionar (Inspect it) a expressão, por exemplo, WelcomeHelp doItFrom: ‘Pharo3Theme beCurrent mostra no Inspector o clickable link de forma funcional.

Pharo 6 Functional Clickable Link on Inspector

Clique no link mostrado no Inspector e verá o efeito de mudar o tema.

Faça o mesmo no link do exemplo anterior com Date today inspect aparecendo como link no Inspector.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s