Configuração do Componente Intro

org.eclipse.ui.intro.config

3.0

Este ponto de extensão é utilizado para registar uma configuração de introdução. Esta configuração fornece as implementações e o conteúdo de apresentação para uma determinada colaboração de introdução. Aparece uma introdução quando o ambiente de trabalho é lançado e como uma opção do menu "Ajuda". A introdução é normalmente utilizada para apresentar um utilizador a um produto construído no Eclipse.

As introduções estão organizadas em páginas que normalmente reflectem uma categoria específica do material introdutório. Por exemplo, uma página O Que Há de Novo pode apresentar novos conceitos ou funcionalidades desde edições anteriores. O conteúdo definido por uma configuração de introdução pode ser referenciado e expandido a partir de outros plug-ins utilizando o ponto de extensão org.eclipse.ui.intro.configExtension.

<!ELEMENT extension (config+)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT config (presentation)>

<!ATTLIST config

introId    CDATA #REQUIRED

id         CDATA #REQUIRED

content    CDATA #REQUIRED

configurer CDATA #IMPLIED>

Um elemento config pode ser utilizado para configurar um componente Intro personalizável. Um elemento config tem de especificar um id, um introId e um ficheiro de conteúdo. O ficheiro de conteúdo de introdução é um ficheiro XML que descreve as páginas, os grupos e as ligações que a introdução tem.



<!ELEMENT presentation (implementation+ , launchBar?)>

<!ATTLIST presentation

home-page-id    CDATA #REQUIRED

standby-page-id CDATA #IMPLIED>

O elemento de apresentação define todas as implementações possíveis de uma apresentação do componente Intro. Pode ter uma ou mais implementações definidas. No arranque apenas será escolhida uma apresentação, com base nos atributos os/ws das implementações. Caso contrário, será escolhida apenas a primeira sem atributos os/ws definidos.



<!ELEMENT implementation (head?)>

<!ATTLIST implementation

kind  (swt|html)

style CDATA #IMPLIED

os    CDATA #IMPLIED

ws    CDATA #IMPLIED>

A apresentação da plataforma tem duas implementações. Uma delas baseia-se no browser SWT, enquanto que a outra se baseia em formulários de UI. O componente Intro personalizável pode ser configurado para escolher uma das duas apresentações com base no OS e Ws actual. O tipo de implementação pode ser swt ou html.



<!ELEMENT launchBar (handle? , shortcut*)>

<!ATTLIST launchBar

location (left|bottom|right|fastview) "fastview"

bg       CDATA #IMPLIED

fg       CDATA #IMPLIED

computed (true | false) "false">

A barra de lançamento funciona em conjunto com o comando "switchToLaunchBar". Quando executado, o comando irá fechar a introdução e irá criar uma barra de lançamento numa das áreas de ajuste da janela principal. A barra de lançamento irá conter pelo menos um botão que permitirá aos utilizadores regressarem à última página da introdução. Opcionalmente, pode conter botões adicionais definidos utilizando elementos shortcut. Estes botões podem ser utilizados para ir rapidamente para uma determinada página da introdução. A partir da versão 3.1



<!ELEMENT shortcut EMPTY>

<!ATTLIST shortcut

tooltip CDATA #IMPLIED

icon    CDATA #REQUIRED

url     CDATA #REQUIRED>

Será criado um botão na barra de lançamento da introdução para cada elemento do atalho. O URL definido no atalho será executado quando o botão é premido. A partir da versão 3.1



O elemento handle é obsoleto

<!ELEMENT handle EMPTY>

<!ATTLIST handle

close (true | false) "true"

image CDATA #IMPLIED>

Um elemento opcional que controla como é representado o parâmetro identificador da barra de lançamento. A partir da versão 3.1



<!ELEMENT introContent (page+ , group* , extensionContent*)>

O elemento introContent define o corpo do ficheiro de conteúdo de introdução. O ficheiro de conteúdo é composto por páginas, grupos partilhados que podem ser incluídos em várias páginas e extensões para pontos de ancoragem definidos noutras configurações.



<!ELEMENT page (group* | link* | text* | head* | img* | include* | html* | title? | anchor* | contentProvider*)>

<!ATTLIST page

url          CDATA #IMPLIED

id           CDATA #REQUIRED

style        CDATA #IMPLIED

alt-style    CDATA #IMPLIED

filteredFrom (swt|html)

content      CDATA #IMPLIED

style-id     CDATA #IMPLIED

shared-style (true | false)

bgImage      CDATA #IMPLIED>

Este elemento é utilizado para descrever uma página a ser apresentada. A introdução pode apresentar páginas dinâmicas e estáticas.
O conteúdo para as páginas dinâmicas é gerado a partir de subelementos da página, como se descreve a seguir. O estilo ou o estilo alternativo será aplicado dependendo da apresentação. Os estilos podem ser melhorados referindo o ID ou ID de classe.
As páginas estáticas permitem a reutilização dos documentos HTML existentes dentro de uma determinada introdução e podem ser ligadas a partir de qualquer página estática ou dinâmica. As páginas estáticas não estão definidas num elemento page, são simplesmente ficheiros html aos quais outras páginas podem ligar-se.
A página inicial, cujo ID se encontra especificado no elemento presentation do ponto de extensão da configuração da introdução, pode ter um url que indica que é uma página estática. Se não for especificado nenhum URL, então parte-se do princípio que a página inicial é dinâmica. Todas as outras páginas descritas utilizando o elemento page são dinâmicas.
Note também que quando é utilizada a apresentação SWT e é visualizada uma página estática, é lançado um browser externo e a página actual continua visível.
Os subelementos utilizados numa página dinâmica são os seguintes: um subelemento group é utilizado para agrupar conteúdos relacionados e para aplicar o estilo através do conteúdo agrupado. Um subelemento link define uma ligação que pode ser utilizada para efectuar uma ligação a uma página estática ou dinâmica e executar um comando/acção de introdução. Uma ligação é normalmente definida ao nível da página, para navegar entre páginas principais, ao contrário das ligações dentro de uma página. Um subelemento text define conteúdo textual ao nível da página. Um subelemento head só é aplicável à apresentação baseada na Web e permite que se adicione html extra à secção HTML head. Esta capacidade é útil para adicionar scripts Java ou folhas de estilos adicionais. Um subelemento img define conteúdo de imagem ao nível da página. Um subelemento include permite que qualquer elemento, exceptuando uma página, seja novamente utilizado. Um subelemento html só é aplicável à apresentação baseada na Web e permite incorporar ou incluir html no conteúdo da página. A incorporação permite que um ficheiro html completamente definido seja incorporado num objecto HTML object, através da referência ao ficheiro html. A inclusão permite a inserção de um fragmento html directamente a partir de um ficheiro html. Um subelemento title define o título da página. Um subelemento anchor define um ponto onde podem ser efectuadas contribuições externas por parte de um elemento <extensionContent>.



<!ELEMENT group (group* | link* | text* | img* | include* | html* | anchor* | contentProvider*)>

<!ATTLIST group

id           CDATA #REQUIRED

label        CDATA #IMPLIED

style-id     CDATA #IMPLIED

filteredFrom (swt|html)

computed     (true | false) "false"

bgImage      CDATA #IMPLIED>

Utilizado para agrupar conteúdos relacionados, conteúdos que devem ter estilos semelhantes aplicados ou conteúdos que serão incluídos conjuntamente noutras páginas.



<!ELEMENT head EMPTY>

<!ATTLIST head

src      CDATA #REQUIRED

encoding CDATA #IMPLIED>

HTML directo a incluir numa área de conteúdo HEAD da página. Permite que seja adicionado html adicional à secção HTML HEAD. Isto é útil para adicionar srcipts java ou folhas de estilo adicionais. Se o conteúdo contiver segmentos de substituição do formato $plugin:plugin_id$, estes serão substituídos pelo caminho absoluto para o plug-in com plugin_id. Esta marcação deve ser utilizada apenas com uma implementação do componente Intro baseada em HTML. Será simplesmente ignorado no caso de uma implementação de formulários de UI. Uma página pode ter mais do que um elemento head. Uma implementação pode ter apenas um elemento head (uma vez que é partilhado através de todas as páginas).



<!ELEMENT title EMPTY>

<!ATTLIST title

id           CDATA #IMPLIED

style-id     CDATA #IMPLIED

filteredFrom (swt|html) >

um fragmento de texto que pode conter opcionalmente códigos de escape HTML. É utilizado apenas como um Título de Página e por isso uma determinada página pode ter um máximo de um elemento title.



<!ELEMENT link (text? , img?)>

<!ATTLIST link

id           CDATA #IMPLIED

label        CDATA #IMPLIED

url          CDATA #REQUIRED

style-id     CDATA #IMPLIED

filteredFrom (swt|html) >

Pode estabelecer ligação a um ficheiro HTML estático, a um sítio da Web externo ou pode executar uma acção de URL de introdução.



<!ELEMENT text EMPTY>

<!ATTLIST text

id           CDATA #IMPLIED

style-id     CDATA #IMPLIED

filteredFrom (swt|html) >

um fragmento de texto que pode conter opcionalmente códigos de escape HTML. Pode incluir códigos b e li. Também pode conter referências a URLs. Se forem necessários vários parágrafos, então o texto pode ser dividido em várias secções, cada uma começando e terminando pelo código p.



<!ELEMENT img EMPTY>

<!ATTLIST img

id           CDATA #REQUIRED

src          CDATA #REQUIRED

alt          CDATA #IMPLIED

style-id     CDATA #IMPLIED

filteredFrom (swt|html) >

Uma imagem que representa o conteúdo da introdução e não uma apresentação (em oposição a imagens de decoração definidas nos estilos).



<!ELEMENT html (img | text)>

<!ATTLIST html

id           CDATA #REQUIRED

src          CDATA #REQUIRED

type         (inline|embed)

style-id     CDATA #IMPLIED

filteredFrom (swt|html)

encoding     CDATA #IMPLIED>

HTML directo a incluir na página quer incorporando todo o documento ou inserindo um fragmento in loco HTML. Deve definir-se uma imagem ou texto de urgência para a representação da apresentação swt alternativa. Se o conteúdo contiver segmentos de substituição do formato $plugin:plugin_id$, estes serão substituídos pelo caminho absoluto para o plug-in com plugin_id.
A incorporação permite que um ficheiro html totalmente definido seja incorporado no conteúdo da página dinâmica. É criado um elemento object que referencia o ficheiro html.
A inclusão permite a inserção de um fragmento html directamente a partir de uma página html dinâmica.



<!ELEMENT include EMPTY>

<!ATTLIST include

configId    CDATA #IMPLIED

path        CDATA #REQUIRED

merge-style (true | false) >

Expande um elemento de destino um de um determinado caminho e atributos configID opcionais. O caminho deve dirigir exclusivamente dentro da configuração especificada. Pode indicar um grupo partilhado definido ao nível da configuração ou qualquer elemento numa página.



<!ELEMENT anchor EMPTY>

<!ATTLIST anchor

id CDATA #REQUIRED>

uma âncora é o elemento utilizado para declarar extensibilidade. É a localização na configuração que permite contribuições externas. Apenas as âncoras constituem valores destino válidos do atributo path num extensionContent



<!ELEMENT extensionContent (text | group | link | html | include)>

<!ATTLIST extensionContent

style     CDATA #IMPLIED

alt-style CDATA #IMPLIED

path      CDATA #REQUIRED

content   CDATA #IMPLIED

id        CDATA #IMPLIED

name      CDATA #IMPLIED>

O conteúdo a ser adicionado à âncora destino. Apenas um extensionContent é atribuído a uma determinada configExtension, porque se esta extensão não for processada (se não se localizar a configuração ou o elemento de referência de destino), então as páginas e/ou grupos na extensão deverão ser ignorados.



<!ELEMENT contentProvider (text?)>

<!ATTLIST contentProvider

id       CDATA #REQUIRED

pluginId CDATA #IMPLIED

class    CDATA #REQUIRED>

Um proxy para um fornecedor de conteúdo de introdução, que permite que uma página de introdução extraia dados de modo dinâmico a partir da várias origens (por exemplo, a web, eclipse, etc.) e fornece o conteúdo no ambiente de execução com base nestes dados dinâmicos. Se a classe IIntroContentProvider for especificada no atributo class, não poderá ser transferida, então, em vez disso, será representado o conteúdo do elemento text. Esta é a versão dinâmica do código de introdução html. Enquanto que o código html permite a incorporação ou introdução de um conteúdo html estático na página de introdução html gerada, o código contentProvider permite a criação dinâmica desse conteúdo no tempo da execução. Outra diferença entre os códigos é que o código html é suportado apenas para a apresentação HTML, enquanto que este código contentProvider é suportado para apresentações HTML e SWT. A partir da 3.0.1



<!ELEMENT hr EMPTY>

<!ATTLIST hr

id           CDATA #IMPLIED

style-id     CDATA #IMPLIED

filteredFrom (swt|html) >

uma regra horizontal.



Esta é uma utilização de exemplo do ponto de extensão de configuração.

<extension id=

"intro"

point=

"org.eclipse.ui.intro.config"

>

<config introId=

"com.org.xyz.intro"

id=

"com.org.xyz.introConfig"

content=

"introContent.xml"

>

<presentation home-page-id=

"root"

title=

"%intro.title"

>

<implementation ws=

"win32"

style=

"css/shared.css"

kind=

"html"

os=

"win32"

>

</implementation>

<implementation style=

"css/shared_swt.properties"

kind=

"swt"

>

</implementation>

</presentation>

</config>

</extension>

Para mais detalhes consulte a especificação para o pacote de API org.eclipse.ui.intro.config.

A introdução, colaboração do plug-in org.eclipse.platform, é a única implementação dentro do Eclipse.