Escolar Documentos
Profissional Documentos
Cultura Documentos
HighPerformance
Manual do Usuário da
Biblioteca HighPerformance
Template
I
6.2 Versão 2.5 Build 74 .......................................................................................................................... 210
6.3 Versão 2.0 Build 88 .......................................................................................................................... 221
II
CAPÍTULO
Introdução
1
Este documento contém informações necessárias para entender o funcionamento da Biblioteca HighPerformance
Template e como utilizá-la em uma aplicação. Estas informações estão dispostas nos tópicos a seguir.
· Guia Rápido de Configuração: Contém roteiros simplificados de configuração de alguns recursos importantes da
Biblioteca HighPerformance Template, útil também para guiar revisões rápidas na configuração dos recursos em
uma aplicação existente
· Como Usar a Biblioteca HighPerformance Template: Contém roteiros detalhados de configuração dos recursos
da Biblioteca HighPerformance Template
· Novidades de Versão: Contém todas as correções e novas implementações realizadas e a lista de pré-requisitos
para o funcionamento normal da Biblioteca HighPerformance Template
1 Introdução
CAPÍTULO
Biblioteca HighPerformance Template
2
A Biblioteca HighPerformance Template para Elipse E3 ou Elipse Power é um modelo de aplicação que sintetiza os
resultados de diversos estudos realizados nas mais distintas áreas do conhecimento, aplicados no desenvolvimento
de interfaces industriais. Os objetos, recursos visuais e diretrizes de design que compõem a Biblioteca
HighPerformance Template possibilitam:
· Aprimoramento estético
· Melhor usabilidade
Para mais detalhes sobre os benefícios oferecidos pela Biblioteca HighPerformance Template, consulte o Elipse
Knowledgebase.
A solução completa de alto desempenho é um somatório de recursos cujo escopo vai além da criação de simples
objetos. Trabalha-se não apenas objetos isolados, mas o contexto das Telas e da aplicação como um todo. Por isto, a
Biblioteca HighPerformance Template contempla não apenas uma biblioteca de objetos para visualização de dados,
mas diversas bibliotecas integradas entre si e que contêm ícones, menus, Esquemas de cores, Temas, objetos de
formulários e categorias de textos, entre outros recursos.
A Biblioteca HighPerformance Template é distribuído com a estrutura de pastas e arquivos descrita na tabela a
seguir.
PASTA CONTEÚDO
Demo Aplicação de demonstração da Biblioteca
HighPerformance Template, com exemplos de objetos
e simulação de configurações
A Elipse Software recomenda o uso deste pacote de bibliotecas em qualquer aplicação. Caso seja necessário
personalizar algum de seus objetos, é recomendável criar uma cópia do objeto dentro de um novo arquivo de
biblioteca criado pelo usuário, mantendo sempre o pacote de bibliotecas em uso.
1. Copie a pasta raiz da Biblioteca HighPerformance Template, com todas as subpastas e arquivos, para a pasta
raiz da aplicação. A pasta HighPerformance/Demo pode ser excluída, pois não é necessária para o
funcionamento da Biblioteca HighPerformance Template.
3. Exclua o objeto Viewer da aplicação se este objeto não tem nenhum script, Associação ou objeto configurados.
Caso o objeto Viewer da aplicação tenha scripts, Associações ou objetos previamente configurados, estes devem
ser migrados para o objeto Viewer da Biblioteca HighPerformance Template, localizado no arquivo hpMain.prj,
antes de ser excluído.
4. Execute a aplicação, que deve exibir a Tela inicial do Assistente de Navegação, uma vez que nenhum Perfil de
Navegação foi criado.
5. Clique na opção Criar perfil padrão para criar automaticamente um Perfil de Navegação padrão, ou clique na
opção Criar novo perfil para criar um novo Perfil. A janela de configuração do Assistente de Navegação é exibida,
conforme a figura a seguir.
7. No Studio, clique em Executar/Parar Domínio ou pressione a combinação de teclas SHIFT+F9 para parar a
execução do Domínio.
8. No Organizer, clique com o botão direito do mouse no projeto HPMAIN e selecione a opção Atualizar.
Até aqui a pasta hpObjects - Navigation - Profiles já contém o Perfil de Navegação corretamente configurado. Em
seguida é preciso atualizar a aplicação com os Quadros adaptativos.
9. Sem adicionar ao Domínio, abra o arquivo hpFrames_Repository.prj, da versão 2.5, e copie todo o conteúdo da
pasta hpFrames_v2.5_Adaptive para a pasta hpFrames da aplicação.
10. Certifique-se de deixar, na pasta hpFrames - MatrixTemplates, somente os objetos que correspondem às
matrizes de monitores configuradas na aplicação, excluindo os que não são utilizados.
11. Copie e cole o Quadro adaptativo hpNavTemplate01, renomeando as cópias com o mesmo nome dos Templates
configurados na aplicação.
12. Para cada monitor configurado na matriz de monitores, deve existir um Quadro adaptativo correspondente, tendo
no nome o sufixo com o número do monitor, como por exemplo "01", "02" ou "03".
13. Salve todas as alterações e inicie a aplicação, que deve exibir o Template de inicialização selecionado, conforme a
figura a seguir.
NOTAS
· O arquivo de projeto hpMain.prj vem com um objeto Viewer previamente configurado. Este objeto contém
objetos de controle do Template e, por este motivo, deve-se evitar sua substituição por outro objeto Viewer.
· As bibliotecas HighPerformance Template e a aplicação de demonstração, localizada na pasta
HighPerformance/Demo, foram projetadas para utilizar alguns dos recursos mais recentes desenvolvidos para o
Elipse E3 ou Elipse Power. Por este motivo, a execução em versões antigas não é recomendada, uma vez que
alguns dos recursos podem não ter sido desenvolvidos na versão usada, apresentando erros de execução.
Recomenda-se o uso sempre com a versão mais recente do Elipse E3 ou Elipse Power. Para mais detalhes,
consulte a lista de pré-requisitos das bibliotecas HighPerformance Template.
O sufixo IO em um objeto significa que este objeto pode receber uma Associação direta do Tag de Comunicação
(IOTag), por isto é mais indicado para uso com dados de processo, ao passo que o objeto sem o sufixo é indicado
para valores simulados ou calculados (DemoTag ou InternalTag).
Para isto, muitos dos objetos possuem a propriedade EventClick, que é um contador incrementado a cada clique do
mouse que o objeto recebe. Ao monitorar este valor, pode-se criar um evento personalizado OnEventClick, que é
disparado quando o valor desta propriedade muda, e escrever um script na janela de edição de scripts.
Há casos, no entanto, em que alguns recursos importantes do objeto estão indisponíveis na instância. Um exemplo
são os métodos de objetos. No caso de Listas (List Box) ou Listas de Seleção (Combo Box), o funcionamento básico do
objeto depende de alguns destes métodos, como por exemplo o método AddItem.
Nestes casos específicos, a Biblioteca HighPerformance Template fornece acesso integral ao objeto através da
propriedade Object. Esta propriedade referencia o objeto original, tornando disponíveis todas as suas propriedades
e métodos. Por exemplo, o método AddItem é acessado na instância, por script, usando o código a seguir.
Object.AddItem "Item a ser adicionado"
Este recurso deve ser usado apenas para garantir o funcionamento básico do controle, e não para descaracterizá-lo,
alterando sua cor de fundo ou sua fonte, pois o controle já se encontra harmonizado com todos os demais objetos
da Biblioteca HighPerformance Template.
Já eventos como Click, Change, MouseMove e outros, ganham propriedades equivalentes com a adição do prefixo
Event em seu nome. Portanto, EventClick, EventChange e EventMouseMove são propriedades que sofrem alteração
No caso dos eventos, há ainda a particularidade de eventos que retornam valores e eventos que não retornam
valores. Por exemplo, o evento Click não retorna nenhum valor ao usuário.
Sub ComboBox1_Click()
Quando um evento não retorna valores, cada ocorrência incrementa o valor da propriedade correspondente. No
exemplo anterior, cada clique do mouse no objeto incrementa o valor da propriedade EventClick. Assim, pode-se
monitorar qualquer mudança de valor e executar um script ao clicar no objeto.
Quando o evento retorna valores, estes são passados para a propriedade correspondente na forma de um vetor. No
exemplo anterior, a cada ocorrência do evento os parâmetros KeyCode e Shift são passados à propriedade
EventKeyDown como um vetor.
Array(KeyCode, Shift)
Assim é possível monitorar alterações no valor da propriedade e recuperar esta informação na instância do objeto,
por exemplo usando o código a seguir.
Sub hpComboBox1_OnEventKeyDown()
'Propriedade EventKeyDown é um vetor
vKeyCode = EventKeyDown(0)
vShift = EventKeyDown(1)
MsgBox "KeyCode = " & CStr(vKeyCode)
MsgBox "Shift = " & CStr(vShift)
End Sub
· Associação referenciando a propriedade de um objeto ElipseX criado pelo usuário: Estas propriedades
normalmente não são acessadas pelo AppBrowser
· Associação referenciando o caminho de um objeto interno a outro objeto ElipseX criado pelo usuário: Os
objetos internos às classes definidas pelo usuário não são acessados pelo AppBrowser
· Associação com propriedade privada: Dentro de um objeto ElipseX uma propriedade privada não é acessível ao
AppBrowser
Estes avisos são, portanto, condições especiais decorrentes do desenvolvimento natural das bibliotecas, e podem ser
ignorados pelo usuário. A tabela a seguir contém os arquivos e objetos afetados por estes avisos.
ARQUIVO OBJETO
Boiler.lib XCValveB e XCPump
hpForms.lib hpDateTimePicker
hpXControls.lib hpXCollapseExpand
Exemplo de uso:
Application.DoModal "Faceplate?100?0", "Título", 200, 200, 420, 440, "Arg", 1+2+4+8
Application.GetFrame("FrameTeste").OpenScreen "TelaPrincipal?1?0", "Arg"
Estes valores asseguram que as Telas sejam exibidas mantendo a proporção e assegurando uma melhor legibilidade,
independente da resolução e formato de cada monitor.
NOTAS
· O uso de valores diferentes dos recomendados, em especial para o parâmetro zoom, pode provocar a perda de
legibilidade das Telas, prejudicando a utilização.
· Caso uma Tela desenvolvida para uma orientação Paisagem, como por exemplo um monitor widescreen, tenha que
ser visualizada na orientação Retrato, como por exemplo em uma tela de um celular na vertical, recomenda-se o
desenvolvimento de uma Tela específica para cada orientação.
3.1 Navegação
Roteiro rápido para configurar uma estrutura de navegação usando a Biblioteca HighPerformance Template:
2. Copie o conjunto de Quadros correto do arquivo de repositório. Para mais informações, consulte o tópico
Quadros Adaptativos.
4. Execute a aplicação.
O primeiro passo da configuração do menu Lyra é criar e configurar a estrutura de navegação que é refletida no
menu Lyra, usando os objetos hpLyraData. Estes objetos devem inicialmente ter configuradas as seguintes
propriedades:
· StartScreen: Configure em True para que o menu inicie exibindo a Tela correspondente ou em False caso
contrário
Caso a propriedade Behaviour seja configurada com o valor 1: Abertura de Tela, as propriedades a seguir devem
ser configuradas:
· scrAutoMonitor
· scrContent
· scrFooter
· scrLeft
· scrMaster
· scrMenu
· scrMonitorNumber
· scrRight
· scrTemplate
Caso a propriedade Behaviour seja configurada com o valor 2: Abertura de janela pop-up, as propriedades a seguir
devem ser configuradas:
· popArg
· popName
· popTitle
· popTemplate
Para mais informações sobre a configuração e as propriedades deste objeto, consulte o tópico hpLyraData.
Uma vez que a estrutura esteja pronta, é preciso gerar o código XML correspondente e colocá-lo em um Tag Interno
do Viewer. Para isto, instancie um objeto hpXMLCatalog em um Servidor de Dados, preferencialmente em Objetos
de Servidor - Objetos de Dados - hpObjects - XML, e configure inicialmente as seguintes propriedades deste objeto:
· InitialPath: Informa o primeiro nível das pastas com o código XML gerado
· GetAllChildren: Define se o código XML contém todos os níveis ou somente o primeiro nível de objetos
Para mais informações sobre a configuração e as propriedades deste objeto, consulte o tópico hpXMLCatalog.
O próximo passo é instanciar o objeto hpLyraMenu na Tela e configurar inicialmente as propriedades DataFolder e
DocInput.
Para mais informações sobre a configuração e as propriedades deste objeto, consulte o tópico hpLyraMenu.
3.3 Viewer
Recomenda-se manter a configuração do objeto Viewer da aplicação de demonstração em outras aplicações, em
especial o valor das seguintes propriedades:
· CacheEnable: Deve ser configurada em Verdadeiro a fim de garantir o melhor desempenho na abertura de Telas,
assim como a correta indicação das severidades de alarmes
· InitialScreen: Deve ser configurada com o valor "hpFrames.hpInitialFrame", para que seja aberto o Quadro
correto na aplicação
4.1 Menus
Esta seção contém informações sobre o uso de menus na Biblioteca HighPerformance Template.
Desta forma o objeto passa a não mais apresentar o estado de seleção quando clicado, permitindo seu uso individual
como uma Associação Simples.
2. Configure a propriedade GroupName dos objetos com o mesmo valor, para que todos pertençam ao mesmo
grupo lógico.
3. Configure a propriedade DisableSelection de todos os objetos do grupo para False e assim habilitar a seleção
de cada objeto.
3. Configure a propriedade GroupOrientation de cada um dos objetos em 1 (um) para alinhamento horizontal ou
em 2 (dois) para alinhamento vertical.
4. Configure a propriedade Margin com o valor desejado para o espaçamento entre os objetos.
5. Configure a propriedade GroupElementID de cada objeto, iniciando pelo valor 1 (um) no objeto que inicia o
menu e aumentando sequencialmente para os demais objetos. É importante verificar que o objeto cuja
propriedade GroupElementID seja igual a 1 (um) deve estar na posição exata onde o menu inicia.
6. Clique com o botão direito do mouse no objeto cuja propriedade GroupElementID é igual a 2 (dois) e selecione
a opção Configurar. O objeto é então posicionado de forma a estar alinhado com o objeto anterior.
Neste caso, que é o padrão, a funcionalidade do objeto é configurada pelo usuário, incluindo a execução de scripts
quando a propriedade EventClick alterar o seu valor. As seguintes situações podem ser configuradas:
· Se a propriedade DisableSelection é igual a True, ou seja, o objeto não pode ser selecionado, um clique do
mouse apenas altera a propriedade EventClick
· Se a propriedade DisableSelection é igual a False e o objeto não está selecionado, desmarca a seleção de todos
os objetos que tenham o mesmo valor na propriedade GroupName, seleciona o objeto clicado, para assegurar o
funcionamento correto do recurso, e altera a propriedade EventClick
Neste caso, a funcionalidade do objeto é a de exibir um menu para a seleção do idioma, caso o módulo Translator
esteja em uso.
Neste caso, a funcionalidade do objeto é a de abrir as Telas da aplicação, com registro desta atividade no histórico
de navegação. Para mais detalhes, consulte o tópico Navegação.
Neste caso, a funcionalidade do objeto é a de abrir Telas pop-ups e modais. Para mais detalhes, consulte o tópico
Abrindo Telas Pop-ups e Modais.
Estes ícones foram concebidos para serem usados com os menus. Para isto, selecione um objeto de menu e configure
suas propriedades IconGallery e IconName com o nome da Biblioteca e o nome do ícone, conforme a figura a
seguir.
No ambiente do Studio o ícone não aparece no objeto, porém em tempo de execução o objeto carrega
automaticamente o ícone configurado.
4.2 Temas
No contexto da Biblioteca HighPerformance Template, um Tema é uma seleção funcional de cores e
comportamentos aplicados aos elementos da interface gráfica da aplicação durante a execução.
· Comportamentos (Behaviors)
A denominação Semântica é mais relevante no ambiente artístico de design. Nomes como A500, 950 ou X300 dão ao
designer informações sobre os canais Matiz (Hue), Saturação (Saturation) e Luminosidade (Lightness) de uma cor. Desta
forma, o profissional de design tem uma referência consistente para a configuração e aplicação.
Já a denominação Contextual faz mais sentido no ambiente técnico de engenharia. Nomes como ColorDeviceOn,
ColorAlarmActive ou ColorCommandDisabled dão ao técnico uma referência consistente dentro do contexto de
trabalho.
As Paletas Monocromáticas contêm Cores de mesmo matiz, variando apenas a saturação e luminosidade. Na
Biblioteca HighPerformance Template são denominadas Paletas Funcionais e são utilizadas com as seguintes
funções:
· Primary: Paleta primária que dá a coloração aos objetos de interface que não exijam uma atenção especial do
operador, ou seja, que demandem nível de neutralidade de atenção
· Accent: Paleta com Cores de destaque para objetos de interface que exijam um nível maior de atenção ou cuja
função se destaque dos demais elementos de interface
· Scada-Source: Paleta com Cores destinadas aos objetos que exibem valores ou estados provenientes de uma
fonte Scada
· Simulator-Source: Paleta com Cores destinadas aos objetos que exibem valores ou estados provenientes de uma
fonte Simulator
· Events: Paleta com Cores destinadas aos objetos que exibem valores ou estados classificados como Eventos
· Warn-Severity-0: Paleta com Cores destinadas aos objetos que exibem valores ou estados classificados como
Alarmes de Severidade 0 (zero, Crítica)
· Warn-Severity-1: Paleta com Cores destinadas aos objetos que exibem valores ou estados classificados como
Alarmes de Severidade 1 (um, Alta)
· Warn-Severity-2: Paleta com Cores destinadas aos objetos que exibem valores ou estados classificados como
Alarmes de Severidade 2 (dois, Média)
· Warn-Severity-3: Paleta com Cores destinadas aos objetos que exibem valores ou estados classificados como
Alarmes de Severidade 3 (três, Baixa)
· Grayscale: Paleta composta por tons de cinza, variando entre o preto como a menor intensidade e o branco
como maior intensidade
· Cores 950 a 050: São as Cores intermediárias entre Dark (Escuro) e Light (Claro), variando da mais escura (950)
até a mais clara (050), em que a Cor 500 é a cor de referência da Paleta
· Cores A500 a A100: São Cores de destaque, normalmente mais saturadas do que as correspondentes na Paleta
Já as Paletas Policromáticas podem conter Cores de diferentes matizes. A princípio são usadas para colorir a
representação das linhas de processo ou as Penas de um gráfico. A estrutura das Paletas Policromáticas é definida da
seguinte forma:
· Cores X000, X020, X040 até X340: O prefixo X indica uma Cor do tipo System Polychrome, enquanto o sufixo
numérico indica o valor do matiz dentro do círculo cromático entre 0 (zero) e 360°
· Cores C001, C002 até C020: O prefixo C indica uma Cor do tipo Custom, enquanto o sufixo numérico é serial e
serve apenas para diferenciar cada Cor
4.2.2.3 Repositório
Todas as Paletas de Cores devem ser armazenadas na pasta hpObjects - Themes - Repository, na respectiva sub-
pasta, e denominadas conforme os tópicos a seguir. As Paletas devem ser objetos do tipo ~hpColorPalette e as
Cores instanciadas devem ser do tipo ~hpColor.
As Paletas System Monochrome devem ser armazenadas na pasta hpObjects - Themes - Repository - Palettes -
System - Monochrome. O formato de nome deve ser HnnnSnnn, em que Hnnn indica o valor do canal Hue (Matiz),
que varia entre 0 (zero) e 360°, e Snnn indica o valor do canal Saturation (Saturação), que varia entre 0 (zero) e 100%.
As Paletas System Polychrome devem ser armazenadas na pasta hpObjects - Themes - Repository - Palettes -
System - Polychrome. O formato de nome deve ser PolyNNN, em que NNN indica um sufixo numérico serial
identificador da Paleta. Por exemplo, o valor "Poly003" refere-se a uma Paleta Policromática com identificador igual a
"003".
As Paletas Custom devem ser armazenadas na pasta hpObjects - Themes - Repository - Palettes - Custom. O
formato de nome deve ser CustomNNN, em que NNN indica um sufixo numérico serial identificador da Paleta. Por
exemplo, o valor "Custom003" refere-se a uma Paleta personalizada com identificador igual a "003".
As Paletas Funcionais são armazenadas no objeto hpTheme e não devem ser alteradas. As Paletas disponíveis são
Primary, Accent, Scada-Source, Operator-Source, Simulator-Source, Events, Warn-Severity-0, Warn-Severity-1,
Warn-Severity-2, Warn-Severity-3 e Grayscale.
Por exemplo, para colorir um objeto com o estado LIGADO vindo de uma fonte SCADA e usando a Cor 500, pode ser
criada a seguinte regra:
· Regra: Scada-Source/500
Isto significa que um objeto exibe a Cor 500 da Paleta Funcional Scada-Source para representar o estado LIGADO. Em
seguida aplica-se a regra por associação ou script a uma propriedade do objeto que seja do tipo Cor, como por
exemplo ForegroundColor. O objeto configurado desta forma é automaticamente sensível aos Temas.
As Regras de Atribuição de Cores estão disponíveis para uso na pasta Viewer - hpControls - Template.
Desta forma, pode-se configurar Temas que afetem não apenas as Cores, mas também a exibição das formas e
comportamentos dos diversos elementos de interface.
4.2.5.1 Denominação
Recomenda-se adotar um padrão de denominação para os Comportamentos no formato [Ação a ser executada]
[Propriedade afetada][Objeto afetado][Contexto ou Gatilho da ação]. Um exemplo de denominação de
Comportamento para exibir o contorno de equipamentos é o seguinte:
· [Ação]: Show
Outro exemplo, agora de um Comportamento para destacar a Cor de preenchimento de um objeto Bomba ao passar
o mouse:
· [Ação]: Accent
Este modelo de denominação não é obrigatório, mas visa facilitar a identificação de um Comportamento através de
um padrão consistente.
4.2.6.1 Repositório
Todos os Comportamentos devem ser objetos do tipo ~hpBehavior e instanciados na pasta hpObjects - Themes -
Repository - Behaviors dentro de Grupos com objetos do tipo ~hpBehaviorGroup. Todos os Grupos devem ter os
mesmos Comportamentos, em nome e número de objetos, variando apenas o valor de cada um.
Como cada Grupo de Comportamentos é vinculado a um Tema diferente, um Tema exibe a Cor de destaque ao
passar o mouse sobre uma Bomba, enquanto outro Tema exibe a Cor padrão do objeto sob o mesmo evento.
Em uma aplicação, esta funcionalidade deve ser configurada no nível de objeto, e o Comportamento tem o simples
papel de uma variável, que pode ser aplicado ao objeto através de uma Associação ou um script.
As Regras de Atribuição estão disponíveis para uso na pasta Viewer - hpControls - Template.
NOTA
Caso a opção Theme Factory não esteja visível, certifique-se de que o valor da propriedade
ShowThemeFactoryLink está configurado para Verdadeiro.
Publicação no Viewer
4.2.12.1.1 ColorScreenBackground
Deve ser a Cor de fundo da Tela. A luminosidade a deixa mais clara em Temas claros e mais escura em Temas
escuros, proporcionando um contraste ideal com os elementos instanciados na Tela. Indicada para ser usada sob
objetos de menus, tais como os objetos hpLyraMenu, hpLinkMain, hpLinkDetail e hpLinkIcon, e objetos do tipo
hpCard.
A figura a seguir mostra um exemplo de uso da Regra ColorScreenBackground como Cor de fundo com objetos de
menu ao lado.
A figura a seguir mostra um exemplo de uso da Regra ColorScreenBackground como Cor de fundo com um objeto
hpCard ao lado.
4.2.12.1.2 ColorScreenMiddleground
Deve ser a Cor intermediária entre a Regra ColorScreenBackground e os elementos instanciados na Tela. Ideal para
ser usada sob objetos que usem Cores da Paleta Funcional Scada-Source.
O objeto hpCard utiliza esta Cor para criar uma área de agrupamento de objetos funcionalmente correlacionados.
A figura a seguir mostra um exemplo de uso de um objeto hpCard sobre Tela usando a Regra
ColorScreenBackground em fundo claro.
A figura a seguir mostra um exemplo de uso de um objeto hpCard sobre Tela usando a Regra
ColorScreenBackground em fundo escuro.
Um exemplo de contraste insuficiente pode ser visto na figura a seguir com um objeto exibindo o estado LIGADO e
instanciado diretamente sobre a Tela com a Regra ColorScreenBackground.
Se este mesmo objeto é instanciado sobre um objeto hpCard, observa-se uma pequena melhora no contraste com o
fundo, conforme a figura a seguir.
O ganho de contraste proporcionado pelo uso do objeto hpCard neste caso é apenas uma consequência bem-vinda
do real propósito, que é ressaltar uma área que contenha um objeto sensível ao processo ou mais relevante na
interface, e indicar visualmente um grupo de objetos que guardem uma relação entre si.
Para melhorar o contraste ainda mais, sugere-se a adoção de algum elemento que destaque o objeto do fundo, como
por exemplo um contorno, mostrado na figura a seguir.
Uma das principais premissas das interfaces de alto desempenho visual é reduzir o destaque de elementos
secundários ou menos importantes e aumentar o destaque de elementos primários ou mais importantes.
Os objetos ilustrativos devem ser representados sempre com o menor contraste possível em relação ao fundo,
conforme a figura a seguir.
A aplicação de demonstração da Biblioteca HighPerformance Template contém alguns exemplos deste tipo de
ilustração.
Assim, sempre que um objeto personalizado use dados de um processo, indique ao menos uma Cor da Paleta Scada-
Source em algum elemento neste objeto.
Da mesma forma, no caso de uso de dados digitados por um operador do sistema, indique ao menos uma Cor da
Paleta Operator-Source em algum elemento neste objeto.
Caso o objeto trate dados de simulação, indique ao menos uma Cor da Paleta Simulator-Source em algum elemento
neste objeto.
A mesma lógica serve para as Paletas de alarme, Warn-Severity-0, Warn-Severity-1, Warn-Severity-2 e Warn-
Severity-3, e para a Paleta Events.
4.3 Navegação
Diversos objetos da Biblioteca HighPerformance Template possuem a funcionalidade de abertura de Telas ou
janelas pop-ups. Alguns objetos são exclusivos para estas funcionalidades, tais como hpPopupOpen e hpScreenOpen,
· Criação de Perfis de Navegação para múltiplas estações, com base no cenário de execução de cada estação
Tela
A Tela é uma Entidade de Navegação mais elementar, visualizada dentro de objetos FrameSet do Elipse E3 ou Elipse
Power.
Template
Um Template de navegação é um arranjo ou conjunto de objetos do tipo FrameSet contendo Telas que compõem a
visualização completa de um único Monitor.
Um Monitor pode ter vários Templates diferentes configurados, porém só pode exibir um Template de cada vez. Por
exemplo, pode exibir um Template de uma única Tela como Tela inicial da aplicação, e em seguida exibir outro
Template contendo Telas operativas em um arranjo de cabeçalho, menu de navegação ou rodapé, entre outros. A
imagem a seguir contém um exemplo de um Template contendo quatro Telas dispostas em um cabeçalho, menu
lateral, rodapé e Tela principal.
Exemplo de Template
Perfil
Um Perfil é uma Entidade de Navegação mais completa, abrangendo todos os Monitores definidos na matriz de
Monitores, os Templates de cada Monitor e as Telas de cada Template. A figura a seguir contém um exemplo de um
Perfil definido por 3 (três) Monitores de uma matriz 1x3, e cada monitor contém um Template diferente com as
respectivas Telas.
Considere uma aplicação executada em 3 (três) ambientes distintos, Sala de Operação, Centro de Controle e Estação
de Manutenção (notebook). Cada cenário destes é representado, na estrutura de navegação, por um Perfil, ou Profile,
exclusivo que possui o próprio arranjo de Monitores:
Cada Monitor em um Perfil de Navegação exibe os próprios Templates de Quadros, ou arranjos de Quadros. Neste
exemplo são considerados 3 (três) modelos:
· Template "Home" para a Tela inicial da aplicação, contendo um cabeçalho e uma Tela principal
· Template "Operation" para Telas operativas, contendo cabeçalho, rodapé, menu de navegação lateral e Tela
principal
· Template "Reports" para exibição de relatórios, contendo cabeçalho, menu de navegação lateral e Tela principal
Matriz de monitores
Templates
Reports
Estrutura de Navegação
Os Perfis de Navegação, junto com a correspondente estrutura, devem ser criados na pasta hpObjects - Navigation -
Profiles usando a classe hpNavProfile, conforme a figura a seguir.
Objetos hpNavProfile
O primeiro nível hierárquico a ser criado abaixo de um Perfil é composto por cada um dos Monitores, usando a
classe hpNavMonitor, conforme a figura a seguir.
Neste exemplo, a matriz de Monitores do Perfil ControlCenter é 2x3 e, portanto, requer 6 (seis) Monitores. Para o
Perfil OperationRoom são necessários 2 (dois) Monitores, ou seja, uma matriz 1x2, enquanto o Perfil Maintenance
requer somente 1 (um) Monitor, ou seja, uma matriz 1x1.
A numeração dos monitores cresce da esquerda para a direita e de cima para baixo na matriz de monitores,
conforme a figura a seguir.
Na classe hpNavMonitor deve ser configurada a propriedade StartupTemplateName, que é o nome do Template
exibido ao iniciar a exibição, e que pode ser também uma String vazia para considerar o primeiro filho deste objeto
como Template de inicialização.
O nível seguinte aos Monitores é composto por cada um dos arranjos de Quadros que são usados no respectivo
Monitor, usando a classe hpNavTemplate, conforme a figura a seguir.
Na classe hpNavTemplate deve ser configurada a propriedade PanelsConfig, de forma automática, através da
execução do Assistente de Configuração de Navegação.
O último nível é composto pela classe hpNavFrameSet, que representa um Quadro dentro de cada Template,
conforme a figura a seguir.
Objetos hpNavFrameSet
Na classe hpNavFrameSet devem ser configuradas as propriedades SplitLink, um link para abertura de Tela e
SplitValue, o valor do Divisor. Com isto, a hierarquia completa de classes da estrutura de navegação é a seguinte:
Quadros em hpFrames
A estrutura de navegação deve ser suportada pelos Quadros na pasta hpFrames. Os Templates deste exemplo,
Home e Reports, são usados em uma matriz 2x3, exigindo assim 6 (seis) Quadros. Já o Template Operation é usado
em uma matriz 1x2, portanto deve ter 2 (dois) Quadros. Com isto, a estrutura de Quadros na pasta hpFrames é
mostrada na figura a seguir.
Pasta hpFrames
Os nomes dos Quadros na pasta hpFrames devem sempre terminar com um sufixo numérico de 2 (dois) dígitos, um
indicador do respectivo Monitor. Estes objetos devem ser copiados do arquivo hpFrames_Repository.prj, que está
disponível na distribuição da Biblioteca HighPerformance Template.
Neste arquivo, copie o Quadro hpNavTemplate01 do repositório para a pasta hpFrames na aplicação, renomeie e
copie o número necessário de Quadros para cobrir o número de Monitores onde o Template é usado.
· hpLyraData
· hpLinkDetail
· hpLinkIcon
· hpLinkMain
· hpPageReference
· hpScreenOpen
Abrindo um Perfil
Para abrir um Perfil, configure a propriedade scrProfile com o nome de um objeto hpNavProfile. Neste caso, as
demais propriedades não são consideradas e o Perfil é aberto a partir da última configuração. Um exemplo de
configuração de propriedades para abrir um Perfil chamado "OperationRoom" seria o seguinte:
· scrProfile: OperationRoom
Para abrir um Template, configure a propriedade scrTemplate com o nome de um objeto hpNavTemplate. Um
exemplo de configuração de propriedades para abrir um Template chamado "Operation" no Monitor onde ocorreu o
clique do mouse seria o seguinte:
· scrMonitorSelection: 0 (zero)
· scrTemplate: Operation
Um exemplo de configuração de propriedades para abrir um Template chamado "Reports" no Monitor 2 (dois) seria
o seguinte:
· scrMonitorSelection: 2 (dois)
· scrTemplate: Reports
O parâmetro Arg é opcional. Um exemplo de configuração de propriedades para abrir uma Tela chamada
"Arquitetura" em um Quadro chamado "hpFSMain" no Monitor onde ocorreu o clique do mouse seria o seguinte:
· scrMonitorSelection: 0 (zero)
· OpenScreenCode: hpFSMain{Arquitetura?1?0}
Para abrir esta mesma Tela, porém no Monitor 1 (um), a configuração das propriedades seria a seguinte:
· scrMonitorSelection: 1 (um)
· OpenScreenCode: hpFSMain{Arquitetura?1?0}
Para abrir uma Tela por script, configure um array com 5 (cinco) elementos, conforme o código a seguir.
Dim cmd(4)
cmd(0) = "" 'OpenScreenCode
cmd(1) = "" 'scrProfile
cmd(2) = "" 'scrTemplate
cmd(3) = 0 'scrMonitorSelection
cmd(4) = Frame.PathName
O elemento 0 (zero) é reservado para o valor da propriedade OpenScreenCode, o elemento 1 (um) é reservado para
o nome do Perfil de Navegação, o elemento 2 (dois) é reservado para o nome do Template, o elemento 3 (três) é
reservado para o valor da propriedade scrMonitorSelection e o elemento 4 (quatro) deve ser sempre igual a
Frame.PathName.
Em seguida, atribua este array ao Tag OpenEntity no Viewer, conforme o código a seguir.
Set openEntity = Application.Item("hpControls").Item("Navigation").Item("OpenEntity")
openEntity.Value = cmd
Este mesmo procedimento pode ser escrito de forma reduzida conforme o código a seguir.
Set openEntity = Application.Item("hpControls").Item("Navigation").Item("OpenEntity")
openEntity.Value = Array("","","",0,Frame.PathName)
Exemplo de array de comando para abrir a Tela "Telas.Arquitetura?1?0" no FrameSet hpFSMain do Monitor 03:
Array("hpFSMain{Telas.Arquitetura?1?0}","","",3,Frame.PathName)
Este Quadro possui uma estrutura de Divisores pré-definida, que permite configurar diferentes Templates usando um
mesmo objeto, sem a necessidade de alterar a estrutura interna.
Estrutura Interna
O Quadro adaptativo oferece uma hierarquia bem estabelecida de objetos FrameSet, organizada em 4 (quatro) níveis
ou camadas de navegação, que variam do contexto mais abrangente no nível 0 (zero) ao contexto mais específico, no
nível 3 (três).
Cada nível, por sua vez, é uma célula formada por 4 (quatro) objetos FrameSet dispostos em forma de moldura ao
redor do Quadro principal, onde são exibidas as Telas do processo:
· Quadro lateral direito, hpFSLevel-N-Right, para painéis de detalhes, informações complementares e configuração
de parâmetros
Os níveis 1 (um), 2 (dois) e 3 (três) apresentam esta mesma estrutura em forma de moldura e se sobrepõem,
conforme a figura a seguir.
Cada cor indica a área de propagação da informação. Por exemplo, no Quadro hpFSLevel-1-Left, o usuário realiza
uma seleção no menu e esta seleção deve ser propagada para os demais Quadros da mesma cor ou nível, que são
hpFSLevel-1-Top, hpFSLevel-1-Bottom e hpFSLevel-1-Right.
Neste exemplo, se o usuário seleciona a Área 5 (cinco) no menu do Quadro hpFSLevel-1-Left, então:
· O Quadro hpFSLevel-1-Top deve exibir o cabeçalho com título ou submenu relativo à Área 5 (cinco)
· O Quadro hpFSLevel-1-Right deve exibir o painel de detalhes ou configuração relacionados à Área 5 (cinco)
Se a Área 5 (cinco) é composta por regiões menores, cabe ao Quadro hpFSLevel-2-Left exibir o menu destas regiões,
ao Quadro hpFSLevel-2-Top o cabeçalho da região selecionada, ao Quadro hpFSLevel-2-Bottom o rodapé, e assim
sucessivamente.
O nível 0 (zero) de navegação é o mais abrangente de todos e é composto pelos seguintes Quadros:
Os objetos hpFSMaster e hpFSMain são sempre visíveis em todas as camadas. O objeto hpFSMaster é um cabeçalho
geral, e a função é exibir informações que tenham contexto válido por toda a aplicação, tais como o logotipo da
empresa ou o usuário autenticado. Já o objeto hpFSMain deve exibir as Telas principais de uma aplicação. A
integração de todos os níveis é mostrada na figura a seguir.
Estrutura Hierárquica
A estrutura hierárquica de um Quadro adaptativo é construída de forma que a visualização de um nível inferior
sempre dependa da visualização prévia dos níveis superiores correspondentes. Assim, ao selecionar um Quadro para
que este seja visível no Viewer, obrigatoriamente os Quadros do tipo hpFSLevel-N-Left, correspondentes aos menus
de navegação nos níveis superiores, também passam a ser visíveis.
Por exemplo, a seleção do rodapé do nível 1 (um), hpFSLevel-1-Bottom, automaticamente seleciona o Quadro
hpFSLevel-1-Left com o menu de navegação do nível 1 (um) mais o Quadro hpFSMaster, que é sempre visível.
A visibilidade de um FrameSet
depende da visibilidade dos níveis
superiores
Este recurso favorece a construção de uma navegação estruturada por níveis hierárquicos de forma consistente.
Na pasta hpFrames_v2.5_Preset, copie os Templates que vão ser usados pela aplicação para a pasta Visualização -
Viewer e Quadros - hpFrames, lembrando que o sufixo numérico de cada Template relaciona-se com o número de
monitores usados na aplicação. Assim, se houver um cenário em que são usados 8 (oito) monitores, como por
exemplo uma matriz 2x4, devem ser copiados os Templates ou Quadros numerados de 01 até 08.
· hpFrameSetContent: Presente em todos os Templates, representa a área de conteúdo ou a área que recebe a
Tela principal da aplicação. O nome da Tela a ser aberta neste Quadro deve ser configurado na propriedade
scrContent, disponível nos objetos de navegação
· hpFrameSetMaster: Usado em diversos Templates, tanto como cabeçalho ou rodapé. Pode ser usado para
acomodar um menu ou um objeto de alarme, por exemplo. O nome da Tela a ser aberta neste Quadro deve ser
configurado na propriedade scrMaster, disponível nos objetos de navegação
· hpFrameSetMenu: Concebido para acomodar menus ou árvores de navegação (TreeViews). O nome da Tela a ser
aberta neste Quadro deve ser configurado na propriedade scrMenu, disponível nos objetos de navegação
Os Quadros do tipo Preset são aqueles usados pela Biblioteca HighPerformance Template nas versões anteriores à
versão 2.5, como por exemplo os Templates hpFrameHeader e hpFrameHeaderMenuLeft.
1. Na pasta hpFrames, copie os Quadros adaptativos do arquivo repositório para o projeto hpMain.prj. Para
navegação com Quadros adaptativos, estes devem ser selecionados da pasta hpFrames_v2.5_Adaptive e
renomeados na aplicação para o mesmo nome usado nos respectivos objetos hpNavTemplate do servidor.
3. Os objetos hpLabel0, hpLabel1 e hpLabel2 que usem a propriedade FrameSetToGetTitle para títulos
automáticos devem ser reconfigurados para refletir o nome correto do FrameSet. Para Quadros adaptativos, o
nome padrão é "hpFSMain".
4. Caso utilize um objeto hpLyraMenu, a estrutura de dados deve ser convertida para usar a propriedade
OpenScreenCode. Para isto, pode-se usar o objeto ~hpLyraDataConfig da biblioteca hpUtilities. Instancie este
objeto na raiz da estrutura de dados do menu, clique com o botão direito do mouse no objeto e selecione a
opção Configurar. Este objeto lê a propriedade scrContent de cada objeto hpLyraData e cria o link
correspondente na propriedade OpenScreenCode de cada objeto. Ao término da conversão, o objeto
~hpLyraDataConfig pode ser removido.
5. Os demais objetos que contêm links para abertura de Telas devem usar a propriedade OpenScreenCode para a
navegação de Quadros adaptativos. Consulte a lista de objetos e as respectivas propriedades afetadas no tópico
Abrindo uma Entidade de Navegação.
Com relação às alterações realizadas na estrutura de navegação através da janela do Assistente de Configuração de
Navegação:
· Somente são visíveis no Studio após atualizar a visualização do respectivo arquivo de projeto no Organizer,
clicando com o botão direito do mouse no arquivo de projeto e selecionando a opção Atualizar
Ao iniciar o Viewer de uma aplicação onde não exista nenhum Perfil de Navegação em hpObjects - Navigation -
Profiles, é exibida a Tela do Assistente de Configuração de Navegação, com as seguintes opções:
· Criar perfil padrão: Cria uma cópia do Perfil de Navegação usado na aplicação de demonstração da Biblioteca
HighPerformance Template
· Criar novo perfil: Cria um Perfil mínimo a partir do qual pode ser configurado um Perfil de maior complexidade
Ao criar um Perfil padrão ou um novo Perfil, o Assistente passa a exibir um menu do tipo Accordion com as opções
descritas a seguir.
Permite selecionar ou editar os Perfis de Navegação existentes em uma aplicação. Para criar um novo Perfil, siga estes
procedimentos:
1. Clique em Novo.
2. Na caixa de diálogo Novo Perfil, digite o nome do novo Perfil e clique em Salvar.
2. Clique em Renomear.
3. Na caixa de diálogo Renomear Perfil, digite o novo nome do Perfil selecionado e clique em Salvar.
2. Clique em Apagar.
Para alterar as configurações de um Perfil existente, selecione o Perfil na caixa de seleção e altere as configurações. As
opções de configuração são as seguintes:
· Computadores autorizados: Lista dos computadores autorizados a executar o Perfil selecionado, ou "*" para
autorizar qualquer computador
Ao realizar qualquer alteração no Perfil selecionado, clique em Salvar no menu Perfil de Navegação para salvar as
alterações no arquivo de projeto da aplicação.
Monitor
Permite selecionar e configurar cada Monitor definido na Matriz de Monitores de um Perfil de Navegação. A opção de
configuração é a seguinte:
Ao realizar qualquer alteração no Monitor selecionado, clique em Salvar no menu Monitor para salvar as alterações
no arquivo de projeto da aplicação.
Template
Permite selecionar e editar os Templates de navegação existentes no Monitor selecionado no menu Monitor. Para criar
um Template, siga estes procedimentos:
5. Na caixa de diálogo Novo template, digite o nome do novo Template e clique em Salvar.
2. Clique em Renomear.
3. Na caixa de diálogo Renomear Template, digite o novo nome do Template selecionado e clique em Salvar.
2. Clique em Apagar.
2. No Editor de Templates, selecione o Quadro a ser exibido para criar um objeto hpNavFrameSet invisível (hidden)
na estrutura de navegação.
4. Configure a propriedade SplitValue para um valor diferente de 0 (zero) para tornar o Quadro visível.
3. Clique no ícone ao lado da caixa de seleção do Quadro para abrir a janela de configuração.
4. Para alterar o nome padrão do Quadro, clique no ícone ao lado da caixa de texto do nome e digite o novo nome.
Em seguida, clique no ícone ao lado do nome para validar a alteração, ou clique em Carregar padrão para
retornar ao valor padrão.
5. Para alterar as demais propriedades, digite o valor desejado nas caixas de texto correspondentes e clique em
Aplicar.
2. Execute a aplicação.
4. Clique em um dos botões do tipo hpScreenNav para acessar o perfil registrado no histórico.
A abertura de Telas pop-ups e modais na Biblioteca HighPerformance Template é realizada através de Templates de
pop-ups. Os Templates são alocados no item Objetos de Servidor - Objetos de Dados - hpObjects -
ScreenTemplates. Nestes objetos é possível configurar diversas propriedades, como sua largura e altura e se a janela
é do tipo Modal ou Pop-up, entre outras configurações.
Para mais detalhes sobre como configurar um Template de pop-up, consulte o tópico hpPopupTemplate.
A configuração de objetos para abertura de Telas pop-ups e modais deve ser executada da seguinte forma:
1. Crie e configure um Template de pop-up para cada tipo de janela a ser usada.
2. Instancie o objeto que executa a Associação de abertura da janela, como por exemplo o objeto hpPopupOpen,
em Tela
3. Configure a propriedade Behaviour para o valor correspondente à função de abertura de Tela, quando aplicável.
Para abrir uma janela pop-up ou modal por script, pode-se usar o Tag OpenPopup em Viewer - hpControls -
Navigation, que recebe como valor um array com 6 (seis) elementos:
· Elemento 0: MonitorID, uma String com o ID do Monitor, como por exemplo "01" ou "02", a ser concatenado ao
final do nome do Quadro onde é aberta a janela. Uma String vazia não adiciona nenhum sufixo ao nome do
Quadro
· Elemento 1: popArg, uma String com o argumento a ser passado à Tela. Uma String vazia não passa nenhum
argumento
· Elemento 2: popFrame, uma String com o nome do Quadro onde a Tela é aberta. Uma String vazia habilita a
denominação automática numérica do Quadro
Um exemplo de comando para abrir a janela pop-up "Telas.Pop1" em um Quadro denominado “meuQuadro02” em
que o sufixo "02" é o ID do Monitor seria o seguinte:
MonitorID = "02"
popArg = ""
popFrame = "meuQuadro"
popName = "Telas.Pop1"
popTitle = ""
set popTemplate = Application.GetObject("hpObjects.ScreenTemplates.PopTemplate1")
set openPopup = Application.Item("hpControls").Item("Navigation").Item("OpenPopup")
openPopup.Value = Array(MonitorID, popArg, popFrame, popName, popTitle, popTemplate)
O comando por script possui algumas limitações naturais em relação ao mesmo comando através do objeto de Tela
hpPopupOpen. Estas limitações são referentes a eventos de mouse que não existem na chamada por script. Neste
caso, a recomendação é realizar toda a configuração da janela pop-up no respectivo objeto hpPopupTemplate.
O menu Lyra utiliza uma estrutura de objetos de dados para compor os elementos e as funcionalidades. Ao ser
iniciado, o menu Lyra monta e configura automaticamente os elementos com base nesta estrutura. A criação desta
estrutura, bem como a configuração dos elementos, está descrita com detalhes no tópico hpLyraData.
Uma vez construída a estrutura de dados, é preciso gerar o código XML. O menu Lyra usa este código sempre que
precisa atualizar a exibição.
É o objeto hpXMLCatalog que tem a função de varrer a estrutura de dados e gerar o código XML correspondente.
No caso do menu Lyra, este código precisa ter alguns parâmetros específicos para o funcionamento. Por isto o objeto
hpXMLCatalog tem que ser configurado especialmente para este fim.
Para mais detalhes sobre a geração de código XML e a configuração específica para o menu Lyra, consulte o tópico
hpXMLCatalog.
O último passo da configuração do menu Lyra é instanciá-lo em Tela e ajustar as Associações, conforme a figura a
seguir.
As propriedades para a configuração básica do objeto hpLyraMenu estão descritas na tabela a seguir.
PROPRIEDADE DESCRIÇÃO
DataFolder Propriedade PathName da pasta que contém a estrutura
de navegação
4.4 Tradução
A Biblioteca Translator permite configurar o recurso de tradução tanto para aplicações que usem a Biblioteca
HighPerformance Template quanto para aquelas que não o utilizam. Em ambos os casos, os passos para
implementar o recurso são os mesmos e estão descritos a seguir.
2. Crie um dicionário com as definições do idioma principal e dos idiomas secundários e de seus termos.
Cada Viewer de um mesmo Domínio pode exibir um idioma diferente, e é possível trocar este idioma em tempo de
execução com um simples clique do mouse.
4.4.1.1 Formato
Este arquivo deve ter o formato indicado na figura a seguir.
Arquivo CSV
A primeira linha do arquivo deve conter um nome único para cada idioma. Estes nomes são exibidos na aplicação, em
tempo de execução, quando o usuário acessa o menu para trocar o idioma.
O idioma especificado na primeira coluna (A) é considerado o idioma principal, a partir do qual todos os objetos da
aplicação devem estar configurados. Desta forma, os objetos devem ser configurados no idioma principal no Studio,
a fim de que o módulo de tradução possa endereçar corretamente os termos dos demais idiomas.
A segunda linha deve conter os Indicadores Únicos de Idioma, ou SLI (Single Language Indicator). Estes indicadores são
códigos exclusivos de cada idioma para a identificação pela Biblioteca HighPerformance Template.
Estes indicadores devem ser definidos pelo usuário e não obedecem a um formato obrigatório. A recomendação, no
entanto, é para que sejam padronizados segundo a norma ISO 639-1 para o idioma e a norma ISO 3166-1 para a
localidade, no formato [Idioma]-[Localidade], conforme os exemplos a seguir.
As demais linhas devem conter os termos do dicionário. Não é permitida a ocorrência de termos repetidos na coluna
do idioma principal (A), pois todos os termos dos demais idiomas são endereçados pelos termos do idioma principal.
1. Acesse a instância do objeto hpTranslatorController localizada no item Objetos de Servidor - Objetos de Dados
- hpObjects - Translator.
2. Verifique se o valor da propriedade EnableGlobalTranslation é igual a True. Caso o valor esteja configurado em
False, o recurso de tradução está desabilitado para toda a aplicação.
Propriedade Dictionary
4. Clique com o botão direito do mouse na instância e selecione a opção Configurar para importar o dicionário.
Caso a importação seja bem-sucedida, a propriedade ImportStatus exibe o valor 2 (dois).
· Defina quais ações são tomadas quando uma propriedade já possui uma Associação.
Por definição, todos os objetos nativos da Biblioteca HighPerformance Template recebem automaticamente as
Associações de tradução em uma propriedade pré-definida.
Assim, por exemplo, quando o objeto hpTranslatorAddLinkXM analisa um objeto do tipo hpLabel0,
automaticamente cria a Associação de tradução em sua propriedade TextValue.
Os objetos contemplados por este recurso e suas respectivas propriedades afetadas estão descritos na tabela a
seguir.
OBJETO PROPRIEDADE
hpCheckBox Label
hpCommandButton Label
hpLabel0 TextValue
hpLabel1 TextValue
hpLabel2 TextValue
hpLabel3 TextValue
hpLabel3Highlight TextValue
hpLabel4 TextValue
hpLabel4Highlight TextValue
hpLabel5 TextValue
hpLabel6 TextValue
hpLabelGeneric TextValue
hpLinkDetail MenuDescription
hpLinkMain MenuDescription
hpOptionButton Caption
hpPageReference TextValue
Para desativar este recurso, altere o valor da propriedade AutoCreateHPLinks para False. Assim, nenhum objeto
nativo da Biblioteca HighPerformance Template recebe Associações de tradução.
Caso seja necessário criar uma Associação de tradução em outra propriedade que não seja a padrão, declare o
objeto na propriedade PropertiesList, conforme o tópico a seguir.
Para criar uma Associação de tradução em um objeto que não seja nativo da Biblioteca HighPerformance Template
é necessário declará-lo na propriedade PropertiesList como no exemplo a seguir.
CommandButton:Caption
Para declarar dois ou mais objetos, separe-os por ponto e vírgula, como no exemplo a seguir.
CommandButton:Caption,Tip,DocString;Checkbox:Caption
Objetos nativos da Biblioteca HighPerformance Template podem ser declarados na propriedade PropertiesList,
porém neste caso são traduzidas apenas as propriedades declaradas pelo usuário.
A função que cria as Associações de tradução pode ignorar objetos nativos em que a propriedade EnableTranslation
esteja configurada para False, ou seja, têm a tradução desabilitada. Para traduzir apenas os casos em que a
propriedade EnableTranslation seja igual a True, altere o valor da propriedade LinkEnabledTranslationOnly para
True.
Objetos que não possuam a propriedade EnableTranslation e que são declarados na propriedade PropertiesList
sempre são traduzidos.
4. Clique com o botão direito neste objeto e selecione a opção Configurar para iniciar o processo de criação de
Associações em todos os objetos da Tela.
5. Ao final do processo é exibida uma janela que informa quantos objetos foram afetados e o número de
Associações criadas.
Esta função lê o valor configurado no objeto e busca no dicionário quais os idiomas disponíveis e quais as traduções
para aquele termo específico. O resultado é uma Associação Múltipla onde o índice 0 (zero) é o termo no idioma
principal no Studio e os demais índices são os termos traduzidos para os idiomas disponíveis, conforme a figura a
seguir.
Caso o termo digitado no objeto de Tela não exista no dicionário, a função retorna uma mensagem de erro na
própria Associação, conforme a figura a seguir.
A definição é automática quando o valor do Tag ActiveLanguageXM é igual a uma String vazia. Neste caso, a
definição é baseada no idioma de instalação do Viewer, indicado na propriedade ViewerLanguageID. Neste modo,
para cada valor desta propriedade o módulo Translator carrega o respectivo SLI na propriedade Value do Tag
ActiveLanguageXM, conforme indicado na tabela a seguir.
Nos casos em que é necessário selecionar um outro idioma, diferente do padrão do Viewer, indique o código SLI do
idioma na propriedade Value do Tag ActiveLanguageXM.
NOTA
Em ambos os casos, o dicionário da aplicação precisa ter o idioma configurado e os termos traduzidos. Se o idioma
não existir no dicionário, os objetos traduzidos exibem a mensagem de erro #Language not defined#.
2. Selecione a opção Language Selector na propriedade Behaviour do objeto instanciado, para que se comporte
como um menu de seleção de idiomas.
3. Execute a aplicação.
5. Selecione um dos idiomas listados para que todos os textos configurados sejam traduzidos para o idioma
selecionado.
Neste processo, caso seja necessário copiar um idioma secundário na origem para outro dicionário onde este é o
idioma de referência, é preciso garantir que não existam termos repetidos.
· Nível 0 (Trace): Registro de valores de variáveis e estados de processos dentro de uma função
· Nível 3 (Warn): Eventos inesperados, mas que não causam interrupção no fluxo da aplicação. São informações
que podem influenciar de forma significativa a análise de um suporte
· Nível 4 (Error): Ocorrência de condições não esperadas ou não permitidas e que causam a interrupção do fluxo
da aplicação
Cada mensagem deve ser registrada dentro do nível que condiz com a natureza do evento, conforme os exemplos a
seguir.
· Registro de autenticação de usuário: trata-se de informação de um evento regular do sistema, portanto o nível é
2 (dois, Info)
· Parâmetro não preenchido pelo usuário, mas que é automaticamente detectado e corrigido pela aplicação: trata-
se de um evento inesperado, mas que foi corrigido automaticamente e não interrompeu o fluxo da aplicação,
portanto o nível é 3 (três, Warn)
· Tela não é aberta devido a um erro no endereço: aqui há interrupção do fluxo normal da aplicação, pois a Tela
não foi aberta e, portanto, o nível é 4 (quatro, Error)
· Falha de leitura de parâmetros armazenados em banco de dados que provoca erros em diversas Telas e
módulos da aplicação: a falha é generalizada, pois várias Telas e módulos são afetados e deixam de funcionar,
comprometendo uma grande parte da aplicação. Neste caso o nível é 5 (cinco, Fatal)
Primeiro Cenário
Mensagem gerada em tempo de execução por objeto de Servidor. Neste cenário todos os níveis de mensagem são
registrados em arquivo de log do Elipse E3 ou Elipse Power e nenhum é sinalizado em Tela. O processamento é
realizado pelo objeto hpLogEvent.
Na propriedade RegisterLevel deste objeto é realizada a configuração de quais níveis de mensagem são
processados. Esta propriedade configura o nível mais baixo que se deseja processar, ignorando os níveis abaixo
desta configuração. O valor padrão desta propriedade é 3 (três), indicando que são ignorados os níveis 0: Trace, 1:
Debug e 2: Info, e processados apenas os eventos de níveis 3: Warn, 4: Error e 5: Fatal. A propriedade RegisterLevel
tem escopo global na aplicação, servindo de configuração para todos os cenários descritos neste tópico.
Mensagem gerada em tempo de execução por objeto do Viewer. Neste cenário todos os níveis de mensagem são
registrados em arquivo de log do Elipse E3 ou Elipse Power e os níveis 4: Error e 5: Fatal são sinalizados em Tela. O
processamento é realizado pelo Tag hpLogEvent, localizado em Viewer - hpControls - Log.
Terceiro Cenário
Mensagem gerada em tempo de edição no Studio (CustomConfig), tanto por objetos de servidor como por objetos
do Viewer. Neste cenário todos os níveis de mensagem são sinalizados em Tela e nenhum é registrado em arquivo. O
processamento é realizado pelo método hpLogEvent, que deve ser copiado para o objeto que solicita a sinalização
em tempo de edição. Para copiá-lo, acesse o Tag hpLogEvent, localizado em Viewer - hpControls - Log. O código
encontra-se no evento OnValueChange.
4.5.2.1 Resumo
A tabela a seguir resume os estados possíveis assumidos pela função de log nos cenários descritos anteriormente.
Estados possíveis
Objeto do Viewer Tempo de execução Segundo Registro em arquivo Todos, desde que
configurados na
propriedade
RegisterLevel
O código após o comentário Define parameters contém todos os parâmetros que devem ser configurados pelo
usuário. Já o código após o comentário Print or display the message aciona o objeto processador conforme o
contexto.
Configurações de parâmetros
Ao cadastrar uma URL, a caixa de mensagens exibe automaticamente o texto de direcionamento para a documentação
online, conforme a figura a seguir. Este recurso é disponibilizado para todos os níveis de mensagem.
A sinalização deve ser desativada somente para o primeiro cenário descrito anteriormente.
Nível Trace
Nível Info
Nível Warn
Nível Error
Nível Fatal
5.1 Alarmes
Esta seção contém informações sobre os objetos do tipo Alarme na Biblioteca HighPerformance Template.
NOTA
Os objetos do tipo Alarme são totalmente integrados à Biblioteca HighPerformance Template, com suporte nativo
a Temas.
Em aplicações criadas com versões da Biblioteca HighPerformance Template anteriores à versão 2.0.76 e abertas
em versões mais recentes, é preciso configurar a propriedade AlarmServer em todas as instâncias em Tela dos
objetos descritos nesta seção. Além disto, é preciso configurar cada XControl desenvolvido pelo usuário que contenha
um ou mais destes objetos indicadores de alarmes. Esta configuração deve ser realizada conforme os passos a
seguir.
1. Crie uma propriedade AlarmServer em cada XControl, idêntica à propriedade AlarmServer usada nos objetos
indicadores de alarmes.
3. Configure a propriedade AlarmServer de cada instância de XControl afetado por esta configuração com o
caminho do Servidor de Alarmes usado pela instância.
Um exemplo desta configuração pode ser visualizada no objeto hpDigitalDisplay usado na aplicação de
demonstração da Biblioteca HighPerformance Template.
5.1.1 hpAlarmIndicatorAnalog
Indica o estado de um Alarme Analógico, conforme a tabela a seguir.
ESTADO INDICAÇÃO SEVERIDADE ALTA SEVERIDADE MÉDIA SEVERIDADE BAIXA SEVERIDADE CRÍTICA
Normalizado Indicador
e não piscando e
reconhecido borda
indicadora
de alarme
atuado oculta
Atuado e Indicador
não piscando e
reconhecido borda
indicadora
de alarme
atuado visível
61 Objetos
ESTADO INDICAÇÃO SEVERIDADE ALTA SEVERIDADE MÉDIA SEVERIDADE BAIXA SEVERIDADE CRÍTICA
Atuado e Indicador fixo
reconhecido e borda
indicadora
de alarme
atuado visível
A indicação para alarme normalizado e reconhecido varia conforme o valor definido para a propriedade
ShowIconWhenNormal, conforme a tabela a seguir.
Se a propriedade Behaviour é configurada para o valor 1 (um), o indicador permite que o usuário reconheça o
alarme associado com um clique do mouse.
5.1.1.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpAlarmIndicatorAnalog.
PROPRIEDADE DESCRIÇÃO
AlarmServer Associação para um objeto Servidor de Alarmes
Objetos 62
5.1.2 hpAlarmIndicatorDeadBand
Indica o estado de um Alarme Banda Morta, conforme a tabela a seguir.
ESTADO INDICAÇÃO SEVERIDADE ALTA SEVERIDADE MÉDIA SEVERIDADE BAIXA SEVERIDADE CRÍTICA
Normalizado Indicador
e não piscando e
reconhecido borda
indicadora
de alarme
atuado oculta
Atuado e Indicador
não piscando e
reconhecido borda
indicadora
de alarme
atuado visível
A indicação para alarme normalizado e reconhecido varia conforme o valor definido para a propriedade
ShowIconWhenNormal, conforme a tabela a seguir.
Se a propriedade Behaviour é configurada para o valor 1 (um), o indicador permite que o usuário reconheça o
alarme associado com um clique do mouse.
5.1.2.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpAlarmIndicatorDeadBand.
PROPRIEDADE DESCRIÇÃO
AlarmServer Associação para um objeto Servidor de Alarmes
63 Objetos
PROPRIEDADE DESCRIÇÃO
Behaviour Altera o comportamento deste objeto. Os valores
possíveis são 0: Definido pelo usuário ou 1:
Reconhecimento de alarme
5.1.3 hpAlarmIndicatorDigital
Indica o estado de um Alarme Digital conforme a tabela a seguir.
ESTADO INDICAÇÃO SEVERIDADE ALTA SEVERIDADE MÉDIA SEVERIDADE BAIXA SEVERIDADE CRÍTICA
Normalizado Indicador
e não piscando e
reconhecido borda
indicadora
de alarme
atuado oculta
Atuado e Indicador
não piscando e
reconhecido borda
indicadora
de alarme
atuado visível
A indicação para alarme normalizado e reconhecido varia conforme o valor definido para a propriedade
ShowIconWhenNormal, conforme a tabela a seguir.
Objetos 64
ESTADO VALOR SEVERIDADE ALTA SEVERIDADE SEVERIDADE SEVERIDADE
MÉDIA BAIXA CRÍTICA
Se a propriedade Behaviour é configurada para o valor 1 (um), o indicador permite que o usuário reconheça o
alarme associado com um clique do mouse.
5.1.3.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpAlarmIndicatorDigital.
PROPRIEDADE DESCRIÇÃO
AlarmServer Associação para um objeto Servidor de Alarmes
5.1.4 hpAlarmIndicatorDiscrete
Indica o estado de um Alarme Discreto, conforme a tabela a seguir.
ESTADO INDICAÇÃO SEVERIDADE ALTA SEVERIDADE MÉDIA SEVERIDADE BAIXA SEVERIDADE CRÍTICA
Normalizado Indicador
e não piscando e
reconhecido borda
indicadora
de alarme
atuado oculta
65 Objetos
ESTADO INDICAÇÃO SEVERIDADE ALTA SEVERIDADE MÉDIA SEVERIDADE BAIXA SEVERIDADE CRÍTICA
Atuado e Indicador
não piscando e
reconhecido borda
indicadora
de alarme
atuado visível
A indicação para alarme normalizado e reconhecido varia conforme o valor definido para a propriedade
ShowIconWhenNormal, conforme a tabela a seguir.
Se a propriedade Behaviour é configurada para o valor 1 (um), o indicador permite que o usuário reconheça o
alarme associado com um clique do mouse.
5.1.4.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpAlarmIndicatorDiscrete.
PROPRIEDADE DESCRIÇÃO
AlarmServer Associação para um objeto Servidor de Alarmes
Objetos 66
PROPRIEDADE DESCRIÇÃO
RetSeverity Retorna o estado corrente do alarme
5.1.5 hpAlarmIndicatorGeneric
Indica o estado de um Alarme genérico (Analógico, Banda Morta, Digital, Discreto ou Taxa de Variação), conforme a
tabela a seguir.
ESTADO INDICAÇÃO SEVERIDADE ALTA SEVERIDADE MÉDIA SEVERIDADE BAIXA SEVERIDADE CRÍTICA
Normalizado Indicador
e não piscando e
reconhecido borda
indicadora
de alarme
atuado oculta
Atuado e Indicador
não piscando e
reconhecido borda
indicadora
de alarme
atuado visível
A indicação para alarme normalizado e reconhecido varia conforme o valor definido para a propriedade
ShowIconWhenNormal, conforme a tabela a seguir.
Se a propriedade Behaviour é configurada para o valor 1 (um), o indicador permite que o usuário reconheça o
alarme associado com um clique do mouse.
5.1.5.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpAlarmIndicatorGeneric.
67 Objetos
Propriedades do objeto hpAlarmIndicatorGeneric
PROPRIEDADE DESCRIÇÃO
AlarmServer Associação para um objeto Servidor de Alarmes
5.1.6 hpAlarmIndicatorROC
Indica o estado de um Alarme Taxa de Variação, conforme a tabela a seguir.
ESTADO INDICAÇÃO SEVERIDADE ALTA SEVERIDADE MÉDIA SEVERIDADE BAIXA SEVERIDADE CRÍTICA
Normalizado Indicador
e não piscando e
reconhecido borda
indicadora
de alarme
atuado oculta
Atuado e Indicador
não piscando e
reconhecido borda
indicadora
de alarme
atuado visível
A indicação para alarme normalizado e reconhecido varia conforme o valor definido para a propriedade
ShowIconWhenNormal, conforme a tabela a seguir.
Objetos 68
Estados de Alarmes variando com a propriedade ShowIconWhenNormal
Se a propriedade Behaviour é configurada para o valor 1 (um), o indicador permite que o usuário reconheça o
alarme associado com um clique do mouse.
5.1.6.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpAlarmIndicatorROC.
PROPRIEDADE DESCRIÇÃO
AlarmServer Associação para um objeto Servidor de Alarmes
5.1.7 E3AlarmToolbar
O objeto E3AlarmToolbar foi descontinuado. Este objeto não recebe mais atualizações e vai ser removido da
Biblioteca HighPerformance Template em uma versão futura. Recomenda-se o uso do objeto E3AlarmToolbarV2
no lugar deste objeto.
5.1.8 E3AlarmToolbarV2
Barra de ferramentas para alarmes e eventos com filtro por severidades, associada ao objeto E3Alarm. Contém
comandos de reconhecimento, controles de ordenação, contagem de alarmes e eventos, informações sobre a
sinalização selecionada e opções de filtros.
O objeto E3Alarm associado ao E3AlarmToolbarV2 deve exibir as sinalizações de todas as severidades. Para o caso
em que há um objeto E3Alarm para cada severidade, use o objeto E3AlarmToolbarMultipleView.
69 Objetos
Comandos do objeto E3AlarmToolbarV2
COMANDO DESCRIÇÃO
Exibir alarmes Exibe apenas sinalizações de alarmes
Objetos 70
5.1.8.1 Propriedades
A tabela a seguir contém as propriedades do objeto E3AlarmToolbarV2. Após configurar as propriedades, clique
com o botão direito do mouse no objeto e selecione a opção Configurar para visualizar a configuração final no
Studio sem afetar o funcionamento.
PROPRIEDADE DESCRIÇÃO
E3Alarm Associação para um objeto E3Alarm
de alarme
5.1.9 E3AlarmToolbarMultipleView
Barra de ferramentas para alarmes e eventos sem filtro por severidades, associada a quatro objetos E3Alarm, um
para severidade crítica, um para severidade alta, um para severidade média e outro para severidade baixa. Contém
comandos de reconhecimento e opções de filtros.
Para o caso em que há um único objeto E3Alarm para todas as severidades, use o objeto E3AlarmToolbarV2.
COMANDO DESCRIÇÃO
Exibir alarmes Exibe apenas sinalizações de alarmes
71 Objetos
COMANDO DESCRIÇÃO
Exibir suprimidos Altera o valor da propriedade ShowAlarmsSupressed
para True. A lógica para a exibição dos alarmes
suprimidos deve ser implementada por script nesta
propriedade
5.1.9.1 Propriedades
A tabela a seguir contém as propriedades do objeto E3AlarmToolbarMultipleView.
PROPRIEDADE DESCRIÇÃO
E3AlarmView1 Associação para o primeiro objeto E3Alarm
Objetos 72
NOTA
Os objetos do tipo Gráfico de Barras são totalmente integrados à Biblioteca HighPerformance Template, com
suporte nativo a Temas.
5.2.1 hpBarGraphAlarmLimHorizontal
O objeto hpBargraphAlarmLimHorizontal é um gráfico de barras horizontal que apresenta os limites de alarmes na
forma de bandeiras ou flags sobrepostos à barra indicadora de valor.
Objeto hpBargraphAlarmLimHorizontal
5.2.1.1 Indicações
Esta seção contém informações sobre a indicação do objeto hpBarGraphAlarmLimHorizontal em Setpoints e
Alarmes.
5.2.1.1.1 Setpoint
O Setpoint é indicado através de uma bandeira verde sobre a barra, conforme a figura a seguir.
Setpoint
5.2.1.1.2 Alarmes
O objeto hpBargraphAlarmLimHorizontal indica quatro níveis de alarmes, dois para alarme alto e dois para alarme
baixo, em quatro severidades. Se um alarme da variável monitorada pelo objeto hpBargraphAlarmLimHorizontal
estiver atuado, a respectiva bandeira é colorida de acordo com a severidade.
Severidade crítica
73 Objetos
Severidade alta
Severidade média
Severidade baixa
Objetos 74
5.2.1.2 Propriedades
A tabela a seguir contém as propriedades do objeto hpBarGraphAlarmLimHorizontal.
PROPRIEDADE DESCRIÇÃO
AlarmSource Associação para o objeto Fonte de Alarme Analógico
75 Objetos
PROPRIEDADE DESCRIÇÃO
UseXChartColor Habilita a configuração manual da cor da barra,
independente do tema, definida na propriedade
XChartColor. Os valores possíveis são True: Habilitada
ou False: Desabilitada. Esta propriedade foi
descontinuada e vai ser removida da Biblioteca
HighPerformance Template em uma versão futura
5.2.2 hpBarGraphAlarmLimVertical
O objeto hpBargraphAlarmLimVertical é um gráfico de barras vertical que apresenta os limites de alarmes na forma
de bandeiras ou flags sobrepostos à barra indicadora de valor.
Objeto
hpBargraphAlarmLimVertical
5.2.2.1 Indicações
Esta seção contém informações sobre a indicação do objeto hpBarGraphAlarmLimVertical em Setpoints e Alarmes.
5.2.2.1.1 Setpoint
O Setpoint é indicado através de uma bandeira verde sobre a barra, conforme a figura a seguir.
Objetos 76
Setpoint
5.2.2.1.2 Alarmes
O objeto hpBargraphAlarmLimVertical indica quatro níveis de alarmes, dois para alarme alto e dois para alarme
baixo, em quatro severidades. Se um alarme da variável monitorada pelo objeto hpBargraphAlarmLimVertical estiver
atuado, a respectiva bandeira é colorida de acordo com a severidade.
Severidade crítica
77 Objetos
Severidade alta
Severidade média
Severidade baixa
Objetos 78
5.2.2.2 Propriedades
A tabela a seguir contém as propriedades do objeto hpBarGraphAlarmLimVertical.
PROPRIEDADE DESCRIÇÃO
AlarmSource Associação para o objeto Fonte de Alarme Analógico
79 Objetos
PROPRIEDADE DESCRIÇÃO
UseCustomColor Habilita a configuração manual da cor da barra,
independente do Tema, definida na propriedade
CustomColor. Os valores possíveis são True: Habilitada
ou False: Desabilitada
5.2.3 hpBarGraphAlarmZoneHorizontal
O objeto hpBargraphAlarmZoneHorizontal é um gráfico de barras horizontal que apresenta os limites de alarmes na
forma de áreas situadas ao fundo da barra indicadora de valor.
Objeto
hpBargraphAlarmZoneHorizontal
5.2.3.1 Indicações
Esta seção contém informações sobre a indicação do objeto hpBarGraphAlarmZoneHorizontal em Alarmes.
5.2.3.1.1 Alarmes
O objeto hpBargraphAlarmZoneHorizontal indica quatro níveis de alarmes, dois para alarme alto e dois para alarme
baixo, em quatro severidades, conforme indicado nas figuras a seguir.
Objetos 80
Alarme de nível HiHi e severidade crítica
atuado
5.2.3.2 Propriedades
A tabela a seguir contém as propriedades do objeto hpBarGraphAlarmZoneHorizontal.
PROPRIEDADE DESCRIÇÃO
AlarmSource Associação para o objeto Fonte de Alarme Analógico
81 Objetos
PROPRIEDADE DESCRIÇÃO
ShowFrame Exibe uma moldura ao redor do objeto. Os valores
possíveis são True: Visível ou False: Oculta
5.2.4 hpBarGraphAlarmZoneVertical
O objeto hpBargraphAlarmZoneVertical é um gráfico de barras vertical que apresenta os limites de alarmes na
forma de áreas situadas ao fundo da barra indicadora de valor.
Objeto
hpBargraphAlarmZoneVertical
5.2.4.1 Indicações
Esta seção contém informações sobre a indicação do objeto hpBarGraphAlarmZoneVertical em Alarmes.
5.2.4.1.1 Alarmes
O objeto hpBargraphAlarmZoneVertical indica quatro níveis de alarmes, dois para alarme alto e dois para alarme
baixo, em quatro severidades, conforme indicado nas figuras a seguir.
Níveis de alarme
são definidos
pela posição
Objetos 82
Severidades de
alarme são
definidas pela
cor
Alarme de
nível HiHi e
severidade
crítica atuado
Alarme de
nível Hi e
severidade
alta atuado
83 Objetos
Alarme de
nível Lo e
severidade
média atuado
Alarme de
nível LoLo e
severidade
baixa atuado
5.2.4.2 Propriedades
A tabela a seguir contém as propriedades do objeto hpBarGraphAlarmZoneVertical.
PROPRIEDADE DESCRIÇÃO
AlarmSource Associação para o objeto Fonte de Alarme Analógico
Objetos 84
PROPRIEDADE DESCRIÇÃO
EventClick Altera o valor de 1 (um) para 9 (nove) quando ocorre um
evento de clique do mouse. Válido somente quando o
valor da propriedade EnableClick é igual a True
5.2.5 hpCombinedBarLineGraph
O objeto hpCombinedBarLineGraph suporta a visualização de até 12 (doze) gráficos de barras verticais combinados,
que apresentam os limites de alarmes na forma de áreas situadas ao fundo das respectivas barras indicadoras de
valor.
Modos de visualização
Este objeto possui três modos de visualizar o valor corrente, descritos a seguir.
Conectores
85 Objetos
Bullets
Barras
5.2.5.1 Indicações
Esta seção contém informações sobre a indicação do objeto hpCombinedBarLineGraph em Alarmes.
5.2.5.1.1 Alarmes
O objeto hpCombinedBarLineGraph indica, em cada gráfico de barras, quatro níveis de alarmes, dois para alarme
alto e dois para alarme baixo, em quatro severidades, conforme indicado nas figuras a seguir.
Objetos 86
Níveis de alarme
são definidos
pela posição
Severidades de
alarme são
definidas por
sua cor
Se um alarme da variável monitorada pelo objeto hpCombinedBarLineGraph estiver atuado, a respectiva bandeira é
colorida de acordo com a severidade, conforme as figuras a seguir.
Alarme de
nível HiHi e
severidade
crítica atuado
87 Objetos
Alarme de
nível Hi e
severidade
alta atuado
Alarme de
nível Lo e
severidade
média atuado
Alarme de
nível LoLo e
severidade
baixa atuado
5.2.5.2 Propriedades
A tabela a seguir contém as propriedades do objeto hpCombinedBarLineGraph.
Objetos 88
Propriedades do objeto hpCombinedBarLineGraph
PROPRIEDADE DESCRIÇÃO
DisplayFormat Formatação do Display
89 Objetos
PROPRIEDADE DESCRIÇÃO
Var5AlarmSource Associação para o objeto Fonte de Alarme Analógico da
variável 5 (cinco)
Objetos 90
5.2.6 hpDiffChart
O objeto hpDiffChart exibe a diferença entre duas faixas de valores, uma acima e outra abaixo do eixo das abscissas.
Objeto hpDiffChart
Este tipo de gráfico é indicado para dois grupos de variáveis que operem na mesma faixa de operação, em que a
diferença de valor entre dois pontos indique uma situação especial do processo.
5.2.6.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpDiffChart.
PROPRIEDADE DESCRIÇÃO
EnableClick Permite que este objeto responda a um evento de clique
do mouse, incrementando o valor da propriedade
EventClick
91 Objetos
PROPRIEDADE DESCRIÇÃO
Var6TopLabel Descrição da variável 6 (seis) superior
Objetos 92
PROPRIEDADE DESCRIÇÃO
Var9BottomCurrentValue Valor da variável 9 (nove) inferior
5.3 Gráficos
Esta seção contém informações sobre os objetos do tipo Gráfico na Biblioteca HighPerformance Template.
NOTA
Os objetos do tipo Gráfico são totalmente integrados à Biblioteca HighPerformance Template, com suporte nativo
a Temas.
5.3.1 hpLineChart
O objeto hpLineChart é um gráfico de tendência que exibe em tempo real o valor de até 3 (três) Penas
simultaneamente, bem como o seu histórico em um intervalo de tempo pré-definido.
Conhecer a tendência da variável pode ajudar a prevenir situações de anormalidade no processo. Para tornar mais
completa a percepção do operador, recomenda-se usar o objeto hpLineChart em conjunto com até 3 (três) gráficos
de barras, conforme a figura a seguir.
93 Objetos
Objeto hpLineChart associado a um gráfico de barras
O objeto hpLineChart deve ser associado a 3 (três) objetos hpLineChartData, onde são realizadas as configurações
da Pena, do intervalo de tempo e do intervalo de valores.
NOTA
O objeto hpLineChart utiliza o valor da propriedade TimeInterval apenas do objeto hpLineChartData indicado na
propriedade VerticalLinkObj1, ignorando as propriedades TimeInterval dos objetos indicados nas propriedades
VerticalLinkObj2 e VerticalLinkObj3. Recomenda-se configurar a propriedade TimeInterval de todos os objetos
hpLineChartData associados às propriedades VerticalLinkObj1, VerticalLinkObj2 e VerticalLinkObj3 com o
mesmo valor, de forma a evitar que o gráfico desenhe as Penas com intervalos diferentes.
5.3.1.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpLineChart.
PROPRIEDADE DESCRIÇÃO
StartRunning Sinaliza a ocorrência de uma atualização de valores no
objeto hpLineChartData ou a ocorrência do evento
OnStartRunning do objeto E3Chart. Os valores possíveis
são True: Sinalização ativa ou False: Sinalização inativa
Objetos 94
5.3.2 hpLineChartData
O objeto hpLineChartData recebe o valor da variável que é representada em cada Pena no objeto hpLineChart e
armazena seu histórico recente pelo intervalo de tempo definido pelo usuário através da propriedade TimeInterval.
Estes objetos de dados estão situados no item Objetos de Servidor - Objetos de Dados - hpObjects -
DisplayMedia, conforme a figura a seguir.
Item DisplayMedia
O Tag a ser monitorado deve ser associado à propriedade Value do objeto de dados.
5.3.2.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpLineChartData.
95 Objetos
Propriedades do objeto hpLineChartData
PROPRIEDADE DESCRIÇÃO
ArrayList Vetor de dados onde cada elemento é uma lista
contendo Valor, Qualidade e Timestamp
5.3.3 hpRadarChart3Var
O objeto hpRadarChart3Var é um gráfico do tipo Radar para 3 (três) variáveis.
Objeto hpRadarChart3Var
5.3.3.1 Indicações
Esta seção contém informações sobre a indicação do objeto hpRadarChart3Var em Setpoints.
5.3.3.1.1 Setpoint
O Setpoint é indicado através de uma linha pontilhada na cor verde disposta sobre os eixos dos gráficos.
5.3.3.2 Propriedades
A tabela a seguir contém as propriedades do objeto hpRadarChart3Var.
PROPRIEDADE DESCRIÇÃO
EnableClick Permite que este objeto responda a um evento de clique
do mouse, incrementando o valor da propriedade
EventClick
Objetos 96
PROPRIEDADE DESCRIÇÃO
EventClick Altera o valor de 1 (um) para 9 (nove) quando ocorre um
evento de clique do mouse. Válido somente quando o
valor da propriedade EnableClick é igual a True
5.3.4 hpRadarChart4Var
O objeto hpRadarChart4Var é um gráfico do tipo Radar para 4 (quatro) variáveis.
Objeto hpRadarChart4Var
5.3.4.1 Indicações
Esta seção contém informações sobre a indicação do objeto hpRadarChart4Var em Setpoints.
97 Objetos
5.3.4.1.1 Setpoint
O Setpoint é indicado através de uma linha pontilhada na cor verde disposta sobre os eixos dos gráficos.
5.3.4.2 Propriedades
A tabela a seguir contém as propriedades do objeto hpRadarChart4Var.
PROPRIEDADE DESCRIÇÃO
EnableClick Permite que este objeto responda a um evento de clique
do mouse, incrementando o valor da propriedade
EventClick
Objetos 98
PROPRIEDADE DESCRIÇÃO
Var4LimMax Valor máximo da variável no eixo 4 (quatro)
5.3.5 hpRadarChart5Var
O objeto hpRadarChart5Var é um gráfico do tipo Radar para 5 (cinco) variáveis.
Objeto hpRadarChart5Var
5.3.5.1 Indicações
Esta seção contém informações sobre a indicação do objeto hpRadarChart5Var em Setpoints.
5.3.5.1.1 Setpoint
O Setpoint é indicado através de uma linha pontilhada na cor verde disposta sobre os eixos dos gráficos.
5.3.5.2 Propriedades
A tabela a seguir contém as propriedades do objeto hpRadarChart5Var.
PROPRIEDADE DESCRIÇÃO
EnableClick Permite que este objeto responda a um evento de clique
do mouse, incrementando o valor da propriedade
EventClick
99 Objetos
PROPRIEDADE DESCRIÇÃO
Var1CurrentValue Valor a ser exibido no eixo 1 (um)
5.3.6 hpRadarChart9Var
O objeto hpRadarChart9Var é um gráfico do tipo Radar para 9 (nove) variáveis.
Objeto hpRadarChart9Var
Objetos 100
5.3.6.1 Indicações
Esta seção contém informações sobre a indicação do objeto hpRadarChart9Var em Setpoints.
5.3.6.1.1 Setpoint
O Setpoint é indicado através de uma linha pontilhada na cor verde disposta sobre os eixos dos gráficos.
5.3.6.2 Propriedades
A tabela a seguir contém as propriedades do objeto hpRadarChart9Var.
PROPRIEDADE DESCRIÇÃO
EnableClick Permite que este objeto responda a um evento de clique
do mouse, incrementando o valor da propriedade
EventClick
101 Objetos
PROPRIEDADE DESCRIÇÃO
Var2LimMin Valor mínimo da variável no eixo 2 (dois)
Objetos 102
5.3.7 hpRadarChart10Var
O objeto hpRadarChart10Var é um gráfico do tipo Radar de 3 (três) níveis com 10 variáveis em cada nível.
Objeto hpRadarChart10Var
5.3.7.1 Indicações
Esta seção contém informações sobre a indicação do objeto hpRadarChart10Var em Setpoints.
5.3.7.1.1 Setpoint
O Setpoint é indicado através de uma linha pontilhada na cor verde disposta sobre os eixos dos gráficos.
5.3.7.2 Propriedades
A tabela a seguir contém as propriedades do objeto hpRadarChart10Var.
PROPRIEDADE DESCRIÇÃO
EnableClick Permite que este objeto responda a um evento de clique
do mouse, incrementando o valor da propriedade
EventClick
103 Objetos
PROPRIEDADE DESCRIÇÃO
Level1Var7CurrentValue Valor a ser exibido no nível 1 (um), eixo 7 (sete)
Objetos 104
PROPRIEDADE DESCRIÇÃO
SP4 Valor do set-point para a variável no eixo 4 (quatro)
105 Objetos
PROPRIEDADE DESCRIÇÃO
Var8LimMax Valor máximo da variável no eixo 8 (oito)
5.3.8 hpScatterGraph
Gráfico que relaciona duas grandezas, uma representada no eixo X e outra no eixo Y, permitindo a visualização
simultânea de até 3 (três) pontos.
Objeto hpScatterGraph
5.3.8.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpScatterGraph.
PROPRIEDADE DESCRIÇÃO
NumberOfElements Número de elementos visíveis. Os valores possíveis são
inteiros entre 1 (um) e 3 (três)
Objetos 106
PROPRIEDADE DESCRIÇÃO
QualityValue Valor da qualidade da variável
5.3.9 hpWindRose
O objeto hpWindRose é um gráfico do tipo Rosa dos Ventos que disponibiliza a visualização de até 16 (dezesseis)
variáveis simultâneas.
107 Objetos
Objeto hpWindRose
Requisitos
5.3.9.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpWindRose.
PROPRIEDADE DESCRIÇÃO
DataObject Associação para um objeto hpWindRoseData
5.3.10 hpWindRoseData
Objeto base para a configuração do objeto hpWindRose.
Objetos 108
5.3.10.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpWindRoseData.
PROPRIEDADE DESCRIÇÃO
ErrCode Exibe o código de erro gerado caso um valor inválido
tenha sido configurado na propriedade SpokeNum. Os
valores possíveis para esta propriedade são 0: O valor
digitado é válido, 1: A propriedade SpokeNum foi
corrigida pois o valor digitado é menor que o valor
mínimo, 2: A propriedade SpokeNum foi corrigida pois o
valor digitado é maior que o valor máximo ou 3: A
propriedade SpokeNum foi corrigida pois o valor
digitado é um número ímpar
5.4 Indicadores
Esta seção contém informações sobre os objetos do tipo Indicador na Biblioteca HighPerformance Template.
109 Objetos
NOTAS
· Os objetos do tipo Indicador são totalmente integrados à Biblioteca HighPerformance Template, com suporte
nativo a Temas.
· O objeto hpDigitalDisplay também tem suporte à indicação nativa de alarmes.
5.4.1 hpDigitalDisplay
O objeto hpDigitalDisplay é um indicador para variáveis digitais, exibindo os estados Ligado (On), Desligado (Off),
Qualidade ruim (Bad quality) e Alarme, conforme a figura a seguir.
Objeto
hpDigitalDisplay
5.4.1.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpDigitalDisplay.
PROPRIEDADE DESCRIÇÃO
AlarmSourceDigital Associação para um objeto Fonte de Alarme Digital
5.4.2 hpDynamicText
O objeto hpDynamicText é um indicador de texto dinâmico, ou seja, exibe o texto de uma variável lida de campo ou
sua representação, conforme a figura a seguir.
Objeto hpDynamicText
Caso a qualidade da variável seja ruim, este objeto exibe a indicação mostrada na figura a seguir.
Objeto hpDynamicText
com qualidade ruim
5.4.2.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpDynamicText.
Objetos 110
Propriedades do objeto hpDynamicText
PROPRIEDADE DESCRIÇÃO
DisplayText Texto a ser exibido
5.4.3 hpDynamicValue
O objeto hpDynamicValue é um indicador de valor dinâmico, ou seja, exibe o valor e a unidade de uma variável de
campo, conforme a figura a seguir.
Objeto
hpDynamicValue
Este objeto pode ser exibido na sua configuração padrão ou com o valor e a unidade dispostos verticalmente e
centralizados, conforme a figura a seguir.
Objeto
hpDynamicValue
com valor
centralizado
Caso a qualidade da variável seja ruim, este objeto exibe a indicação conforme a figura a seguir.
Objeto
hpDynamicValue
com qualidade
ruim
5.4.3.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpDynamicValue.
PROPRIEDADE DESCRIÇÃO
DisplayFormat Formatação do Display
111 Objetos
PROPRIEDADE DESCRIÇÃO
EditMode Sinalização para modo de edição. Os valores possíveis
são True: Edição ativada ou False: Edição desativada
5.4.4 hpManualValue
O objeto hpManualValue é um indicador para uma entrada manual de valor, conforme a figura a seguir.
Objeto
hpManualValue
Esta indicação de valor manual difere visualmente da indicação de valor dinâmico do objeto hpDynamicValue
basicamente por sua cor. No entanto, para alguns tipos de deficiências visuais, as duas cores podem ser muito
parecidas, dificultando sua diferenciação. Por este motivo foi acrescentado o ponto entre o valor e sua unidade.
Este objeto pode ser exibido na sua configuração padrão ou com o valor e a unidade dispostos verticalmente e
centralizados, conforme a figura a seguir.
Objeto
hpManualValue
com valor
centralizado
Caso a qualidade da variável seja ruim, o objeto exibe a indicação mostrada na figura a seguir.
Objeto
hpManualValue
com qualidade
ruim
Para o funcionamento correto, o objeto hpManualValue deve ser configurado com Associações nas propriedades
DisplayValue e NewValue, como indicado na figura a seguir.
Objetos 112
Associações no objeto hpManualValue
O valor exibido pelo objeto hpManualValue vem através de uma Associação Simples na propriedade DisplayValue.
Já o valor digitado pelo usuário atualiza a propriedade NewValue, que envia o novo valor para o Tag especificado na
Associação Bidirecional. Isto é particularmente útil em sistemas onde a escrita do valor manual ocorre em um
endereço diferente do valor lido pelo mesmo objeto.
5.4.4.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpManualValue.
PROPRIEDADE DESCRIÇÃO
DisplayFormat Formatação do Display
113 Objetos
PROPRIEDADE DESCRIÇÃO
SetPointDataType Tipo de dados para o Setpoint
5.4.5 hpManualValueIO
O objeto hpManualValueIO funciona da mesma forma que o objeto hpManualValue, exceto que recebe o valor de
um Tag de Comunicação através da propriedade IOData. A tabela a seguir contém as propriedades deste objeto.
PROPRIEDADE DESCRIÇÃO
DisplayFormat Formatação do Display
5.4.6 hpRadialBar
O objeto hpRadialBar é um indicador que representa um dado graficamente através de um círculo preenchido
dinamicamente. Existe a opção de se exibir a representação numérica de um dado em conjunto com a representação
gráfica, conforme a figura a seguir.
Objeto hpRadialBar
Este objeto possui 4 (quatro) diferentes posicionamentos para o indicador numérico, com possibilidade de ajuste da
margem entre ambos indicadores, conforme a figura a seguir.
É possível configurar valores máximos e mínimos de forma a plotar o gráfico dentro do intervalo fornecido.
Objetos 114
5.4.6.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpRadialBar.
PROPRIEDADE DESCRIÇÃO
CurrentValue Valor corrente a ser exibido
5.4.7 hpRadialBarPerc
O objeto hpRadialBarPerc é um indicador que representa um valor percentual de forma gráfica através de um círculo
preenchido dinamicamente, em conjunto com a representação numérica correspondente, conforme a figura a seguir.
Objeto
hpRadialBarPerc
5.4.7.1 Propriedades
Este objeto possui somente a propriedade CurrentValue, que é o valor a ser exibido.
5.4.8 hpRadialBarPercIcon
O objeto hpRadialBarPercIcon é um indicador que representa um valor percentual de forma gráfica através de um
círculo preenchido dinamicamente, em conjunto com a exibição de um ícone, conforme a figura a seguir.
Objeto
hpRadialBarPercIcon
5.4.8.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpRadialBarPercIcon.
115 Objetos
Propriedades do objeto hpRadialBarPercIcon
PROPRIEDADE DESCRIÇÃO
CurrentValue Valor a ser exibido
NOTAS
· Os objetos do tipo Navegação e Abertura de Telas são totalmente integrados à Biblioteca HighPerformance
Template, com suporte nativo a Temas.
· Os objetos hpPageReference, hpScreenOpen e hpLyraMenu também têm suporte à tradução automática
mediante configuração prévia e ao registro automático da Tela aberta no histórico de navegação.
· O objeto hpPopupOpen também tem suporte à configuração através de Templates pré-definidos. Para mais
informações, consulte o objeto hpPopupTemplate.
· O objeto hpScreenNav também tem acesso nativo ao histórico de navegação e alinhamento automático entre
objetos de um menu.
5.5.1 hpDotPagination
Este objeto implementa um controle para navegação entre múltiplas páginas. Este controle é útil para dispositivos
móveis ou telas críticas de processos e o número de páginas varia entre 2 (duas) e 6 (seis). O nome do objeto a ser
incluído em Tela varia conforme o número de páginas desejadas. Por exemplo, para incluir um controle com 2 (duas)
páginas, use um objeto hpDotPagination2Pages. A figura a seguir mostra um exemplo de um objeto com 3 (três)
páginas, ou seja, um objeto hpDotPagination3Pages.
Objeto hpDotPagination3Pages
5.5.1.1 Propriedades
A tabela a seguir contém as propriedades aplicáveis aos objetos hpDotPagination2Pages até
hpDotPagination6Pages.
Objetos 116
Propriedades dos objetos do tipo hpDotPagination
PROPRIEDADE DESCRIÇÃO
NumberOfPages Indica o número de páginas que este controle gerencia.
Esta propriedade é somente de leitura
5.5.2 hpLyraData
O objeto hpLyraData permite construir e configurar a estrutura de dados de um menu de navegação, a fim de que a
estrutura possa ser lida e renderizada por outro objeto do tipo menu, como por exemplo o objeto hpLyraMenu. Para
utilizá-lo, siga estes procedimentos:
1. Crie uma estrutura de objetos que reflita a estrutura de navegação do menu. A estrutura dever ter como pai um
único objeto hpLyraData, que não é mostrado no menu, e como filhos os itens que são efetivamente exibidos no
menu.
Objeto
hpLyraData
3. Em seguida, configure a propriedade Behaviour de cada item filho com os valores 0 (zero) se o item possui filhos
(função de expandir ou recolher itens) ou outra função definida pelo usuário em um script, 1 (um) se o item não
possui filhos e sua função é abrir uma Tela ou 2 (dois) se o item não possui filhos e sua função é abrir uma janela
pop-up.
4. Configure qual item deve aparecer selecionado ao iniciar o menu definindo o valor True à propriedade
StartScreen do item correspondente
5. Configure as outras propriedades de cada item, como por exemplo o controle de autenticação, tradução, ícone a
ser exibido e endereços das Telas ou janelas a serem abertas.
Após configurada a estrutura de dados, o próximo passo é gerar o código XML desta estrutura para que possa ser
lido pelo objeto renderizador do menu de navegação. Para mais detalhes sobre a geração de código XML, consulte o
tópico hpXMLCatalog. Para uma visão geral sobre a configuração completa de um menu de navegação, consulte o
tópico Guia Rápido de Configuração.
5.5.2.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpLyraData.
PROPRIEDADE DESCRIÇÃO
AuthorizedGroups Lista dos grupos de usuários que têm permissão para
operar o comando. Os grupos devem estar separados
por ponto e vírgula
117 Objetos
PROPRIEDADE DESCRIÇÃO
AutoScale Ajusta o tamanho do ícone automaticamente ao objeto
Objetos 118
PROPRIEDADE DESCRIÇÃO
scrArg Parâmetro Arg da Tela. Esta propriedade é usada
somente quando a propriedade Behaviour é igual a 1
(um). Esta propriedade foi descontinuada e vai ser
removida da Biblioteca HighPerformance Template em
uma versão futura
119 Objetos
PROPRIEDADE DESCRIÇÃO
scrMaster Caminho da Tela a ser aberta no Quadro
hpFrameSetMaster. Esta propriedade é usada somente
quando a propriedade Behaviour é igual a 1 (um)
Objetos 120
1. Instancie um objeto ~hpConvertDataStruct na mesma pasta onde se encontra o objeto raiz da estrutura de
objetos hpNavData.
2. Configure a propriedade OriginPathName deste objeto com o valor da propriedade PathName do objeto
hpNavData raiz.
3. Configure a propriedade DestinationName deste objeto com o nome do novo objeto raiz hpLyraData.
Certifique-se de usar um nome diferente do que já existe para o objeto raiz hpNavData.
4. Clique com o botão direito do mouse no objeto ~hpConvertDataStruct e selecione a opção Configurar para
criar a mesma pasta da estrutura original com uma nova estrutura de objetos hpLyraData.
IMPORTANTE
· Antes de excluir a estrutura antiga, certifique-se de copiar corretamente todos os objetos e as respectivas
configurações.
· Qualquer aplicação que use objetos hpNavData pode conter códigos em XML que referenciam o objeto
hpNavData. Estes códigos em XML devem ser gerados novamente com o novo objeto hpLyraData implementado
no lugar do antigo, para que sejam atualizados com o valor correto.
5.5.3 hpLyraMenu
O menu de navegação Lyra é um menu vertical composto por objetos dispostos em dois níveis hierárquicos, L1 e L2,
que possibilitam tanto a navegação entre Telas quanto a abertura de caixas de diálogos.
Objeto hpLyraMenu
Requisitos
· Geração de código XML desta estrutura de navegação. Para mais detalhes sobre a geração de código XML para
o objeto hpLyraMenu, consulte o tópico hpXMLCatalog
· Instanciação e configuração do objeto hpLyraMenu para ler o código XML e exibir a estrutura de navegação.
Para mais detalhes sobre a configuração da navegação do objeto hpLyraMenu, consulte o tópico Guia Rápido
de Configuração
5.5.3.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpLyraMenu.
121 Objetos
Propriedades do objeto hpLyraMenu
PROPRIEDADE DESCRIÇÃO
AuthDeniedMsg Mensagem que deve ser exibida em uma janela pop-up
sinalizando ao usuário que este não tem privilégios para
operar este menu. Deixe esta propriedade vazia para
desabilitar esta sinalização
5.5.4 hpNavData
O objeto hpNavData foi descontinuado. Este objeto não recebe mais atualizações e vai ser removido da Biblioteca
HighPerformance Template em uma versão futura. Recomenda-se o uso do objeto hpLyraData no lugar deste
objeto.
NOTA
Para migrar uma estrutura de objetos hpNavData para o novo objeto hpLyraData, preservando as configurações
realizadas nas propriedades, consulte o tópico Migrando uma Estrutura de Dados para o objeto hpLyraData.
5.5.5 hpNavFrameSet
O objeto hpNavFrameSet é um componente da estrutura de navegação e representa o Divisor de navegação. Para
mais informações, consulte o tópico Exemplo de Configuração.
5.5.5.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpNavFrameSet.
Objetos 122
Propriedades do objeto hpNavFrameSet
PROPRIEDADE DESCRIÇÃO
RawFrame Retorna o nome do Quadro adaptativo que referencia
este objeto
5.5.6 hpNavMonitor
O objeto hpNavMonitor é um componente da estrutura de navegação e representa um Monitor da matriz de
Monitores definida no objeto hpNavProfile. Para mais informações, consulte o tópico Exemplo de Configuração.
5.5.6.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpNavMonitor.
PROPRIEDADE DESCRIÇÃO
StartupTemplateName Nome do objeto hpNavTemplate usado na inicialização
do Viewer. Uma String vazia força o carregamento do
primeiro objeto filho declarado
5.5.7 hpNavProfile
O objeto hpNavProfile é um componente da estrutura de navegação e representa um Perfil de Navegação. Para mais
informações, consulte o tópico Exemplo de Configuração.
5.5.7.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpNavProfile.
PROPRIEDADE DESCRIÇÃO
AuthorizedComputers Lista contendo os nomes dos computadores, separados
por ponto e vírgula, que podem acessar este Perfil de
Navegação. Um asterisco (*) nesta propriedade indica
que este Perfil é acessível a partir de qualquer estação
123 Objetos
5.5.8 hpNavTemplate
O objeto hpNavTemplate é um componente da estrutura de navegação e representa o Template de navegação, ou
Quadro. Para mais informações, consulte o tópico Exemplo de Configuração.
5.5.8.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpNavTemplate.
PROPRIEDADE DESCRIÇÃO
PanelsConfig Código de configuração de painéis, de uso interno pelo
Assistente de Configuração de Navegação
5.5.9 hpPageReference
Abre uma Tela da aplicação em um Quadro ou Template de Quadro especificado. Para mais detalhes sobre como
configurar objetos para abrir Telas e janelas, consulte o tópico Navegação.
5.5.9.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpPageReference.
PROPRIEDADE DESCRIÇÃO
Behaviour Altera o comportamento deste objeto. Os valores
possíveis são 0: Definido pelo usuário ou 1: Abre a tela
configurada
Objetos 124
PROPRIEDADE DESCRIÇÃO
scrArg Corresponde ao parâmetro Arg de uma Tela. Esta
propriedade é usada somente quando a propriedade
Behaviour é igual a 1 (um). Esta propriedade foi
descontinuada e vai ser removida da Biblioteca
HighPerformance Template em uma versão futura
125 Objetos
PROPRIEDADE DESCRIÇÃO
scrMaster Caminho da Tela a ser aberta no Quadro
hpFrameSetMaster. Esta propriedade é usada somente
quando a propriedade Behaviour é igual a 1 (um)
5.5.10 hpPopupOpen
Abre uma janela do tipo pop-up usando um Template de configuração e uma referência de coordenadas para
posicionamento da janela, ambos definidos pelo usuário.
Template de Configuração
O Template de configuração deve ser indicado na propriedade popTemplate. Trata-se de um objeto do tipo
hpPopupTemplate (Associação para o objeto).
Objetos 126
Referência de Coordenadas
A referência de coordenadas deve ser definida na propriedade CoordinatesReference. Cada instância de um objeto
hpPopupOpen pode usar uma referência distinta, com prioridade sobre as configurações de posicionamento da
janela definidas no Template de configuração.
Para posicionar a janela a ser aberta usando as coordenadas definidas no Template de configuração, defina a
propriedade CoordinatesReference com o valor 0 (zero).
Para abrir a janela em uma coordenada definida manualmente, configure a propriedade CoordinatesReference com o
valor 1 (um) e informe, nas propriedades XCoordinate e YCoordinate, os valores absolutos em pixels.
Para usar o próprio objeto hpPopupOpen como referência de posição para a abertura da janela, configure a
propriedade CoordinatesReference com o valor 2 (dois). Em seguida informe na propriedade
ObjectPositionReference qual parte do objeto hpPopupOpen deve-se usar como referência. Na propriedade
ObjectMarginForOpening é possível definir a distância que o ponto de abertura da Tela tem do objeto.
127 Objetos
Para abrir a janela próxima à posição onde ocorre o clique do mouse, configure a propriedade
CoordinatesReference com o valor 3 (três). A função calcula automaticamente qual a melhor posição da janela com
base no tamanho da Tela e na distância que o ponto de clique tem das margens.
Para mais detalhes sobre como configurar objetos para abrir Telas e janelas, consulte o tópico Navegação.
5.5.10.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpPopupOpen.
PROPRIEDADE DESCRIÇÃO
AppendMonitorID Acrescenta o identificador do monitor, como por
exemplo 01 ou 02, ao final do nome do Quadro onde a
janela pop-up está sendo aberta
Objetos 128
PROPRIEDADE DESCRIÇÃO
popTitle Título da janela
5.5.11 hpPopupTemplate
Template de configuração de janelas do tipo pop-up. Este objeto deve ser associado à propriedade popTemplate dos
objetos que possuem este recurso. Para mais detalhes sobre como configurar objetos para abrir Telas e janelas,
consulte o tópico Navegação.
5.5.11.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpPopupTemplate.
PROPRIEDADE DESCRIÇÃO
Autosize Calcula e configura automaticamente o tamanho da
janela a ser aberta com base no seu conteúdo
129 Objetos
PROPRIEDADE DESCRIÇÃO
MarginMode Ajusta automaticamente as margens da janela caso a
propriedade Autosize esteja configurada com o valor
True. Os valores possíveis para esta propriedade são 0:
Margem direita igual à margem esquerda e margem
inferior igual à margem superior, 1: Margem direita igual
à margem superior e margem inferior igual à margem
esquerda, 2: Margem direita igual à margem esquerda e
margem inferior igual à margem esquerda, 3: Margem
direita igual à margem superior e margem inferior igual
à margem superior, e 4: Margem direita igual a 0 (zero)
e margem superior igual a 0 (zero)
5.5.12 hpScreenNav
O objeto hpScreenNav é um menu de navegação com duas opções de comando, Voltar à tela anterior ou Avançar à
próxima Tela, conforme a figura a seguir.
Objeto
hpScreenNav
2. Configure em suas propriedades qual Quadro a Tela alvo da navegação deve ser aberta. Por exemplo, para
direcionar a navegação para o quadro hpFrameSetContent, ajuste o valor da propriedade scrContent para True,
deixando as demais propriedades configuradas em False.
3. Execute a aplicação.
5.5.12.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpScreenNav.
PROPRIEDADE DESCRIÇÃO
GroupElementID Número que define a posição do objeto dentro do
grupo. Esta propriedade é usada no recurso de
alinhamento automático entre objetos de um menu
Objetos 130
PROPRIEDADE DESCRIÇÃO
GroupOrientation Orientação dos objetos dentro de um grupo. Os valores
possíveis são 1: Horizontal ou 2: Vertical. Esta
propriedade é usada no recurso de alinhamento
automático entre objetos de um menu
5.5.13 hpScreenOpen
Abre uma ou mais Telas no Quadro ou Quadros especificados. Para mais detalhes sobre como configurar objetos
para abrir Telas e janelas, consulte o tópico Navegação.
131 Objetos
5.5.13.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpScreenOpen.
PROPRIEDADE DESCRIÇÃO
EventRightClick Incrementa seu valor de 1 (um) a 9 (nove) quando este
objeto recebe um evento de clique com o botão direito
do mouse
Objetos 132
PROPRIEDADE DESCRIÇÃO
scrHeader Caminho da Tela a ser aberta no Quadro
hpFrameSetHeader
5.6 Formulários
Esta seção contém informações sobre os objetos do tipo Formulário na Biblioteca HighPerformance Template.
NOTAS
· Os objetos do tipo Formulário são totalmente integrados à Biblioteca HighPerformance Template, com suporte
nativo a Temas.
· Os objetos hpCheckBox, hpCommandButton, hpOptionButton e hpToggleButton também têm suporte nativo
ao recurso de tradução automática mediante configuração prévia.
· O objeto hpTextBox também tem suporte ao uso como Date Time Picker.
5.6.1 hpCheckBox
O objeto hpCheckBox (Caixa de Seleção) indica se uma determinada opção está selecionada ou não, ou ainda se está
parcialmente selecionada.
133 Objetos
Objeto
hpCheckBox
Para mais detalhes sobre como acessar propriedades, métodos ou eventos que não estão disponíveis em instâncias
deste objeto, consulte o tópico Acesso a Propriedades, Métodos ou Eventos Não Disponíveis nas Instâncias.
5.6.1.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpCheckBox.
PROPRIEDADE DESCRIÇÃO
EnableTranslation Habilita a tradução automática
Elemento 2: Parâmetro X
Elemento 3: Parâmetro Y
Elemento 3: Parâmetro X
Elemento 4: Parâmetro Y
Objetos 134
PROPRIEDADE DESCRIÇÃO
EventDblClick Incrementa seu valor de 1 (um) a 9 (nove) quando este
objeto recebe um evento de clique duplo com o botão
esquerdo do mouse
Elemento 2: Parâmetro X
Elemento 3: Parâmetro Y
135 Objetos
PROPRIEDADE DESCRIÇÃO
Elemento 2: Parâmetro X
Elemento 3: Parâmetro Y
Elemento 2: Parâmetro X
Elemento 3: Parâmetro Y
5.6.2 hpComboBox
O objeto hpComboBox (Lista de Seleção) combina as funcionalidades de uma lista com um editor de texto.
Objeto hpComboBox
O acesso a propriedades ou métodos do objeto hpComboBox original, não disponíveis nas instâncias, é realizado
através da propriedade Object.
O script a seguir ilustra o caso em que o acesso ao método AddItem é realizado a partir do próprio objeto
hpComboBox.
Sub hpComboBox1_OnStartRunning()
Object.AddItem "Primeira linha"
Object.AddItem "Segunda linha"
Object.AddItem "Terceira linha"
End Sub
O script a seguir ilustra o acesso ao método AddItem realizado a partir de outro objeto.
Sub CommandButton1_Click()
Set obj = Screen.Item("hpComboBox1").Object
With obj
.Clear
.AddItem "Primeira linha"
.AddItem "Segunda linha"
.AddItem "Terceira linha"
End With
End Sub
Objetos 136
Para mais detalhes sobre como acessar propriedades, métodos ou eventos não estão disponíveis em instâncias deste
objeto, consulte o tópico Acesso a Propriedades, Métodos ou Eventos Não Disponíveis nas Instâncias.
5.6.2.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpComboBox.
PROPRIEDADE DESCRIÇÃO
EnableTyping Habilita a edição deste objeto. Os valores possíveis são
True: Edição está habilitada ou False: Edição está
desabilitada
Elemento 2: Parâmetro X
Elemento 3: Parâmetro Y
Elemento 3: Parâmetro X
Elemento 4: Parâmetro Y
137 Objetos
PROPRIEDADE DESCRIÇÃO
EventDropButtonClick Incrementa seu valor de 1 (um) a 9 (nove) quando o
objeto recebe um evento de clique na seta suspensa
Elemento 2: Parâmetro X
Elemento 3: Parâmetro Y
Objetos 138
PROPRIEDADE DESCRIÇÃO
Elemento 2: Parâmetro X
Elemento 3: Parâmetro Y
Elemento 2: Parâmetro X
Elemento 3: Parâmetro Y
5.6.3 hpCommandButton
O objeto hpCommandButton (Botão de Comando) é usado para executar ações específicas quando pressionado.
Objeto
hpCommandButton
5.6.3.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpCommandButton.
PROPRIEDADE DESCRIÇÃO
EnableClick Permite que este objeto responda a um evento de clique
do mouse, incrementando o valor da propriedade
EventClick
139 Objetos
PROPRIEDADE DESCRIÇÃO
EventClick Altera o valor de 1 (um) para 9 (nove) quando ocorre um
evento de clique do mouse. Válido somente quando o
valor da propriedade EnableClick é igual a True
5.6.4 hpDateTimeCombo
O objeto hpDateTimeCombo é uma lista de seleção para datas e horas, que permite selecionar uma data e hora
através de um objeto hpDateTimePicker.
5.6.4.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpDateTimeCombo.
PROPRIEDADE DESCRIÇÃO
AutoApply Atualiza automaticamente o valor de data e hora à
medida que este valor é ajustado no objeto
hpDateTimePicker
5.6.5 hpDateTimeDisplay1
O objeto hpDateTimeDisplay1 é um Display para datas e horas pré-formatadas.
Objetos 140
Objeto hpDateTimeDisplay1
5.6.5.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpDateTimeDisplay1.
PROPRIEDADE DESCRIÇÃO
DateFormat Formatação de data
5.6.6 hpDateTimeDisplay2
O objeto hpDateTimeDisplay2 é um Display para datas e horas pré-formatadas.
Objeto
hpDateTimeDisplay2
5.6.6.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpDateTimeDisplay2.
PROPRIEDADE DESCRIÇÃO
DateFormat Formatação de data
5.6.7 hpDateTimePicker
O objeto hpDateTimePicker é um seletor de data e hora da Biblioteca HighPerformance Template, conforme a
figura a seguir.
141 Objetos
Objeto hpDateTimePicker
Seleção de um período
Objeto hpDateTimeCombo
Caso seja necessário usar uma configuração diferenciada, é possível usar o objeto hpTextBox alterando a
propriedade Behaviour para 1 (um).
5.6.7.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpDateTimePicker.
PROPRIEDADE DESCRIÇÃO
AutoApply Se esta propriedade está configurada para True, aplica
as alterações automaticamente. Se esta propriedade está
configurada para False, é necessário clicar em Aplicar
para validar as alterações
Objetos 142
PROPRIEDADE DESCRIÇÃO
DateShow String de data e hora para ser configurada
5.6.8 hpDividerHorizontal
Divisor horizontal usado para dividir áreas de uma Tela.
Objeto hpDividerHorizontal
5.6.9 hpDividerVertical
Divisor vertical usado para dividir áreas de uma Tela.
Objeto
hpDividerVertical
5.6.10 hpListBox
O objeto hpListBox exibe uma lista de itens dentre os quais o usuário pode selecionar um ou mais itens.
143 Objetos
Objeto hpListBox
O acesso a propriedades ou métodos do objeto hpListBox original que não estão disponíveis nas instâncias deste
objeto é realizado através da propriedade Object.
O script a seguir ilustra o caso em que o acesso ao método AddItem é realizado a partir do próprio objeto
hpListBox.
Sub hpListBox1_OnStartRunning()
Object.AddItem "Primeira linha"
Object.AddItem "Segunda linha"
Object.AddItem "Terceira linha"
End Sub
O script a seguir ilustra o acesso ao método AddItem realizado a partir de outro objeto.
Sub CommandButton1_Click()
Set obj = Screen.Item("hpListBox1").Object
With obj
.Clear
.AddItem "Primeira linha"
.AddItem "Segunda linha"
.AddItem "Terceira linha"
End With
End Sub
Para mais detalhes sobre como acessar propriedades, métodos ou eventos não disponíveis nas instâncias deste
objeto, consulte o tópico Acesso a Propriedades, Métodos ou Eventos Não Disponíveis nas Instâncias.
5.6.10.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpListBox.
PROPRIEDADE DESCRIÇÃO
EventBeforeDragOver Vetor que contém os parâmetros do evento
BeforeDragOver. Os elementos do vetor retornado por
esta propriedade são os seguintes:
Elemento 2: Parâmetro X
Elemento 3: Parâmetro Y
Objetos 144
PROPRIEDADE DESCRIÇÃO
Elemento 3: Parâmetro X
Elemento 4: Parâmetro Y
145 Objetos
PROPRIEDADE DESCRIÇÃO
Elemento 2: Parâmetro X
Elemento 3: Parâmetro Y
Elemento 2: Parâmetro X
Elemento 3: Parâmetro Y
Elemento 2: Parâmetro X
Elemento 3: Parâmetro Y
5.6.11 hpMarker
Marcador de uso genérico.
Objeto
hpMarker
Este objeto pode ser usado em diversas situações, como por exemplo:
Objetos 146
5.6.12 hpOptionButton
O objeto hpOptionButton (Botão de Opção) indica se uma opção está selecionada ou não.
Objeto
hpOptionButton
Para mais detalhes sobre como acessar propriedades, métodos ou eventos não disponíveis nas instâncias deste
objeto, consulte o tópico Acesso a Propriedades, Métodos ou Eventos Não Disponíveis nas Instâncias.
5.6.12.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpOptionButton.
PROPRIEDADE DESCRIÇÃO
Caption Texto descritivo
Elemento 2: Parâmetro X
Elemento 3: Parâmetro Y
Elemento 3: Parâmetro X
Elemento 4: Parâmetro Y
147 Objetos
PROPRIEDADE DESCRIÇÃO
EventClick Incrementa seu valor de 1 (um) a 9 (nove) quando este
objeto recebe um evento de clique com o botão
esquerdo do mouse
Elemento 2: Parâmetro X
Elemento 3: Parâmetro Y
Objetos 148
PROPRIEDADE DESCRIÇÃO
Elemento 2: Parâmetro X
Elemento 3: Parâmetro Y
Elemento 2: Parâmetro X
Elemento 3: Parâmetro Y
5.6.13 hpSliderHorizontal
O objeto hpSliderHorizontal é um controle deslizante na orientação horizontal.
Objeto hpSliderHorizontal
5.6.13.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpSliderHorizontal.
PROPRIEDADE DESCRIÇÃO
Maximum Valor máximo
149 Objetos
5.6.14 hpTextBox
O objeto hpTextBox (Caixa de Texto) permite a criação de um texto a ser exibido em Tela.
Objeto hpTextBox
5.6.14.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpTextBox.
PROPRIEDADE DESCRIÇÃO
Behaviour Altera o comportamento deste objeto. Os valores
possíveis são 0: Normal ou 1: DateTimePicker
Elemento 2: Parâmetro X
Elemento 3: Parâmetro Y
Objetos 150
PROPRIEDADE DESCRIÇÃO
EventMouseUp Vetor que contém os parâmetros do evento MouseUp.
Os elementos do vetor retornado por esta propriedade
são os seguintes:
Elemento 2: Parâmetro X
Elemento 3: Parâmetro Y
5.6.15 hpThemePicker
O objeto hpThemePicker é usado para selecionar um Tema em tempo de execução, ou para alternar entre o modo
claro e escuro do Tema selecionado.
5.6.15.1 Propriedades
Propriedades do objeto hpThemePicker
PROPRIEDADE DESCRIÇÃO
EnablingMode Define a autorização para alterações de Tema. Os
valores possíveis para esta propriedade são 0: Desativa
todas as alterações, 1: Ativa apenas a mudança de modo,
2: Habilita apenas a alteração de Tema ou 3: Habilita a
mudança de Tema e de modo
151 Objetos
PROPRIEDADE DESCRIÇÃO
MenuDescription Texto a ser exibido na dica do menu
5.6.16 hpToggleButton
O objeto hpToggleButton permite que, ao receber um clique do mouse, seu estado alterne entre dois valores pré-
configurados.
Objeto
hpToggleButton
5.6.16.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpToggleButton.
PROPRIEDADE DESCRIÇÃO
EnableClick Permite que este objeto responda a um evento de clique
do mouse, incrementando o valor da propriedade
EventClick
Objetos 152
5.7 Ícones
Esta seção contém informações sobre os objetos do tipo Ícone na Biblioteca HighPerformance Template.
5.7.1 hpArchitecture
A Biblioteca HighPerformance Template vem com duas bibliotecas de objetos para uso em arquiteturas,
hpArchitecture2D (contém elementos bidimensionais) e hpArchitecture3D (contém elementos tridimensionais).
Arquiteturas bidimensionais costumam ocupar uma área maior do que as arquiteturas tridimensionais, favorecendo a
visualização individual de cada elemento e detalhes do processo. São ideais para uso no caso de um pequeno
número de objetos (cerca de 10 elementos) ou onde uma visualização específica é mais importante do que a
visualização global, ou seja, os detalhes da representação do fluxo de dados entre cada objeto ou da particularidade
de cada elemento são mais importantes do que a representação do todo. A figura a seguir mostra um exemplo de
arquitetura bidimensional.
Arquitetura bidimensional
Arquiteturas tridimensionais possuem um melhor aproveitamento de espaço, ou seja, ocupam uma área menor do
que as arquiteturas bidimensionais com o mesmo número de elementos. São ideais para uso no caso de um grande
número de objetos ou onde uma visualização global ou de contexto é mais importante do que a visualização
específica, ou seja, a representação do todo ou a evidência das partes de um todo é mais importante do que a
representação das particularidades de cada elemento. A figura a seguir contém um exemplo de arquitetura
tridimensional.
153 Objetos
Arquitetura tridimensional
5.7.2 hpIcons
A biblioteca hpIcons contém ícones vetoriais prontos para serem usados na Biblioteca HighPerformance Template,
com suporte nativo a Temas. Os ícones desta biblioteca estão disponíveis na Galeria do Studio, conforme a figura a
seguir.
Biblioteca hpIcons
5.7.2.1 Propriedades
A tabela a seguir contém as propriedades dos objetos da biblioteca hpIcons.
Objetos 154
Propriedades dos objetos da biblioteca hpIcons
PROPRIEDADE DESCRIÇÃO
InvertColors Inverte a cor do ícone. Os valores possíveis são True:
Ícone com a cor mais escura que o fundo da Tela e
False: Ícone com a cor padrão, mais clara que o fundo
da Tela
5.8 Menus
Esta seção contém informações sobre os objetos do tipo Menu na Biblioteca HighPerformance Template.
NOTAS
· Os objetos do tipo Menu são totalmente integrados à Biblioteca HighPerformance Template, com suporte
nativo a Temas.
· Os objetos hpLinkDetail, hpLinkIcon e hpLinkMain também têm suporte nativo a seleção de idiomas, abertura
de Telas e janelas pop-up, tradução automática mediante configuração prévia e registro automático da Tela aberta
no histórico de navegação.
· O objeto hpTabsBar também tem suporte nativo a tradução automática mediante configuração prévia.
· Consulte o tópico Menu Lyra para mais informações sobre navegação entre Telas.
5.8.1 hpAccordion
O objeto hpAccordion é um menu no estilo sanfona que exibe um único item de cada vez, enquanto oculta os demais
itens. Este objeto é útil para menus com muito conteúdo e que necessitem de economia de espaço em tela.
Este objeto funciona como uma calculadora de coordenadas entre objetos do tipo Button, um botão, e do tipo
Content, o conteúdo. Cada objeto Button tem um objeto Content equivalente, e o objeto Button recebe o clique do
mouse para exibir todo o conteúdo disposto no respectivo objeto Content.
Os objetos Button e Content podem ser qualquer primitiva, grupo de primitivas ou XControl personalizado. Os
nomes devem ser declarados nas propriedades ButtonList e ContentList, respectivamente uma lista com os nomes
de objetos do tipo Button e uma lista com os nomes de objetos do tipo Content, separados por ponto e vírgula.
Para selecionar um conteúdo específico para ser exibido ao iniciar este objeto, adicione o marcador asterisco (*) na
frente do nome do objeto Button correspondente na propriedade ButtonList.
Todos os objetos do tipo Button e Content devem ter a mesma largura, ou seja, a mesma propriedade Width, mas
podem ter alturas diferentes, ou seja, diferentes propriedades Height.
Os objetos do tipo Button, Content e hpAccordion devem estar dispostos no mesmo nível hierárquico na Tela, ou
seja, todos devem estar instanciados diretamente na Tela ou dentro de um mesmo grupo, desde que estejam no
mesmo nível.
Sempre que um usuário alterar qualquer um dos parâmetros deste objeto no Studio, deve executar novamente o
evento CustomConfig para que o posicionamento dos objetos seja recalculado com os novos valores.
Sempre que um usuário clicar em um objeto do tipo Button, deve informar ao objeto hpAccordion a mudança de
seleção. Isto é realizado usando a propriedade ClickedButton. A recomendação é que cada objeto do tipo Button
execute um script ao receber o clique do mouse, escrevendo o nome do objeto na propriedade ClickedButton,
conforme o script a seguir.
Parent.Item("hpAccordion1").ClickedButton = Name
155 Objetos
Visualização de Objetos do Tipo Content
Recomenda-se que os objetos do tipo Content tenham fundo transparente e que a altura seja a altura exata do
conteúdo. Desta forma, pode-se configurar um único fundo no objeto hpAccordion, comum a todos os conteúdos,
usando as propriedades BackgroundVisible, BackgroundColorStyle e BackgroundColor.
5.8.1.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpAccordion.
PROPRIEDADE DESCRIÇÃO
BackgroundColor Define a cor de fundo deste objeto. Esta propriedade é
válida somente quando o valor da propriedade
BackgroundColorStyle é igual a 0 (zero)
5.8.2 hpLinkDetail
O objeto hpLinkDetail é um item de menu que exibe tanto um descritivo textual quanto uma representação gráfica
através de um ícone.
Objeto hpLinkDetail
· Seletor de temas: Instancie este objeto em Tela e altere o valor de sua propriedade Behaviour para 1 (um)
Objetos 156
· Seletor de idiomas: Instancie este objeto em Tela e altere o valor de sua propriedade Behaviour para 2 (dois)
· Link para abertura de Tela: Instancie este objeto em Tela e altere o valor de sua propriedade Behaviour para 3
(três). Em seguida configure os demais parâmetros para a abertura da Tela, como detalhado no tópico
Navegação
· Link para abertura de janelas pop-up: Instancie o objeto em Tela e altere o valor de sua propriedade Behaviour
para 4 (quatro). Em seguida configure os demais parâmetros para a abertura de janelas pop-up, como detalhado
no tópico Abrindo Telas Pop-ups e Modais
5.8.2.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpLinkDetail.
PROPRIEDADE DESCRIÇÃO
AutoScale Ajuste automático do ícone
157 Objetos
PROPRIEDADE DESCRIÇÃO
Margin Margem, em unidades Himetric, entre os objetos de um
mesmo grupo. Esta propriedade é usada no recurso de
alinhamento automático entre objetos de um menu
Objetos 158
PROPRIEDADE DESCRIÇÃO
scrArgMenu Argumento da Tela a ser aberta no Quadro
hpFrameSetMenu. Esta propriedade é usada somente
quando a propriedade Behaviour é igual a 1 (um)
159 Objetos
PROPRIEDADE DESCRIÇÃO
scrRight Caminho da Tela a ser aberta no Quadro
hpFrameSetRight. Esta propriedade é usada somente
quando a propriedade Behaviour é igual a 3 (três)
5.8.3 hpLinkIcon
O objeto hpLinkIcon é um item de menu que exibe uma representação gráfica através de um ícone.
Objeto
hpLinkIcon
· Seletor de temas: Instancie este objeto em Tela e altere o valor de sua propriedade Behaviour para 1 (um)
· Seletor de idiomas: Instancie este objeto em Tela e altere o valor de sua propriedade Behaviour para 2 (dois)
· Link para abertura de Tela: Instancie este objeto em Tela e altere o valor de sua propriedade Behaviour para 3
(três). Em seguida configure os demais parâmetros para a abertura da Tela, como detalhado no tópico
Navegação
· Link para abertura de janelas pop-up: Instancie o objeto em Tela e altere o valor de sua propriedade Behaviour
para 4 (quatro). Em seguida configure os demais parâmetros para a abertura de janelas pop-up, como detalhado
no tópico Abrindo Telas Pop-ups e Modais
5.8.3.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpLinkIcon.
PROPRIEDADE DESCRIÇÃO
AutoScale Ajuste automático do ícone
Objetos 160
PROPRIEDADE DESCRIÇÃO
EnableClickWhenSelected Configura o comportamento deste objeto quando estiver
selecionado. Os valores possíveis são True: Habilita o
evento OnClick ou False: Desabilita o evento OnClick
161 Objetos
PROPRIEDADE DESCRIÇÃO
RefreshIcon Atualiza a exibição do ícone sempre e quando variar seu
valor
Objetos 162
PROPRIEDADE DESCRIÇÃO
scrLeft Caminho da Tela a ser aberta no Quadro
hpFrameSetLeft. Esta propriedade é usada somente
quando a propriedade Behaviour é igual a 3 (três)
5.8.4 hpLinkMain
O objeto hpLinkMain é um item de menu que exibe tanto um descritivo textual como uma representação gráfica
através de um ícone.
163 Objetos
Objeto
hpLinkMain
· Seletor de temas: Instancie este objeto em Tela e altere o valor de sua propriedade Behaviour para 1 (um)
· Seletor de idiomas: Instancie este objeto em Tela e altere o valor de sua propriedade Behaviour para 2 (dois)
· Link para abertura de Tela: Instancie este objeto em Tela e altere o valor de sua propriedade Behaviour para 3
(três). Em seguida configure os demais parâmetros para a abertura da Tela, como detalhado no tópico
Navegação
· Link para abertura de janelas pop-up: Instancie o objeto em Tela e altere o valor de sua propriedade Behaviour
para 4 (quatro). Em seguida configure os demais parâmetros para a abertura de janelas pop-up, como detalhado
no tópico Abrindo Telas Pop-ups e Modais
5.8.4.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpLinkMain.
PROPRIEDADE DESCRIÇÃO
AutoScale Ajuste automático do ícone
Objetos 164
PROPRIEDADE DESCRIÇÃO
GroupOrientation Orientação dos objetos dentro de um grupo. Os valores
possíveis são 1: Horizontal ou 2: Vertical. Esta
propriedade é usada no recurso de alinhamento
automático entre objetos de um menu
165 Objetos
PROPRIEDADE DESCRIÇÃO
scrArgHeader Argumento da Tela a ser aberta no Quadro
hpFrameSetHeader. Esta propriedade é usada somente
quando a propriedade Behaviour é igual a 1 (um)
Objetos 166
PROPRIEDADE DESCRIÇÃO
scrMonitorSelection Seleciona o monitor onde ocorre a abertura de Tela. Os
valores possíveis são -1: Seleciona todos os monitores
de um perfil ignorando templates ou declarações de
Telas, 0: Seleciona o monitor onde ocorreu o clique do
mouse, 1 ou superior: Número identificador do monitor
onde a Tela é aberta. Esta propriedade é usada somente
quando a propriedade Behaviour é igual a 1 (um)
5.8.5 hpLinkToggleIcon
O objeto hpLinkToggleIcon é um item de menu que exibe dois estados possíveis, cada um com seu respectivo ícone.
Objeto
hpLinkToggleIcon
5.8.5.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpLinkToggleIcon.
PROPRIEDADE DESCRIÇÃO
AutoScale Ajuste automático do ícone
167 Objetos
PROPRIEDADE DESCRIÇÃO
IconOff Nome do ícone a ser exibido quando o valor da
propriedade ToggleStatus é igual a False
5.8.6 hpTabBarHorizontal
O objeto hpTabBarHorizontal foi descontinuado. Este objeto não recebe mais atualizações e vai ser removido da
Biblioteca HighPerformance Template em uma versão futura. Recomenda-se o uso do objeto hpTabsBar no lugar
deste objeto.
5.8.7 hpTabBarVertical
O objeto hpTabBarVertical foi descontinuado. Este objeto não recebe mais atualizações e vai ser removido da
Biblioteca HighPerformance Template em uma versão futura. Recomenda-se o uso do objeto hpTabsBar no lugar
deste objeto.
5.8.8 hpTabsBar
O objeto hpTabsBar é um item de menu organizado em forma de abas dispostas horizontalmente ou verticalmente,
que oferece uma forma visualmente limpa e organizada de navegação entre itens de uma mesma página ou até
mesmo entre páginas distintas.
Aba disposta
horizontalmente
Aba
disposta
verticalmente
Com este objeto pode-se:
Objetos 168
Este objeto pode ser rapidamente configurado, conforme os procedimentos a seguir.
2. Defina a orientação do objeto configurando a propriedade Orientation com o valor 0 (zero) para Horizontal ou 1
(um) para Vertical.
3. Configure a propriedade LabelList com os textos descritivos das abas, separados por ponto e vírgula.
4. Em seguida, configure a propriedade WidthList com os valores em Himetric da largura das abas, separados por
ponto e vírgula, ou deixe esta propriedade vazia para que os valores sejam calculados automaticamente.
5. Execute a aplicação.
Opcionalmente no Studio, clique com o botão direito do mouse no objeto e selecione a opção Configurar para
visualizar previamente a aparência deste objeto em tempo de execução.
Exemplo de configuração para 3 (três) abas com orientação horizontal, largura definida pelo usuário e iniciando com
a aba 2 (dois) selecionada:
· LabelList: Aba1;Aba2;Aba3
· Orientation: 0 (zero)
A mesma configuração, porém com larguras calculadas automaticamente e todas as abas habilitadas:
· LabelList: Aba1;Aba2;Aba3
· Orientation: 0 (zero)
· Ter na lista de propriedades as mesmas propriedades existentes nos objetos nativos da Biblioteca
HighPerformance Template, ~hpTabH ou ~hpTabV.
· Ao receber um clique de mouse, deve escrever o valor da propriedade Id na propriedade Index do objeto
hpTabsBar.
169 Objetos
Em que tab refere-se ao objeto personalizado e bar refere-se ao objeto hpTabsBar.
NOTAS
· Caso a propriedade Orientation seja igual a 1 (um), o menu é construído verticalmente. Neste caso, o cálculo das
larguras de abas se restringe à largura de maior valor. Se o usuário definir mais de um valor de largura na
propriedade WidthList, somente o primeiro valor é considerado.
· Caso o número de abas definidas na propriedade LabelList seja maior que os valores definidos nas propriedades
WidthList e EnabledList, estas propriedades têm os valores automaticamente completados com os valores
padrão definidos nas propriedades DefaultSize e DefaultStatus, respectivamente.
5.8.8.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpTabsBar.
PROPRIEDADE DESCRIÇÃO
AutoTrim Apara automaticamente os rótulos das guias. Os valores
possíveis são Verdadeiro: Ativa ou Falso: Desativa
Objetos 170
PROPRIEDADE DESCRIÇÃO
SelectionStyle Define o estilo de exibição das abas selecionadas. Os
valores possíveis são 0: Preenchimento de fundo, 1: Barra
de destaque ou 2: Barra de destaque com preenchimento
de fundo
5.9.1 hpMultiMonitorConfig
O objeto hpMultiMonitorConfig permite configurar um vetor de monitores usado por uma aplicação na estação
definida por este objeto. Assim, para cada estação que utilize um Viewer deve haver uma instância deste objeto no
servidor de Domínio definindo a disposição dos respectivos monitores.
Por exemplo, para configurar um vetor de 6 (seis) monitores com resolução Full HD (1920 × 1080 pixels) dispostos
em duas linhas e três colunas na estação Op01, as propriedades do objeto hpMultiMonitorConfig devem ser
configuradas da seguinte forma:
· MonitorArray: 2x3
· SelectionID: Op01
· ViewerWidth: 5760
· ViewerHeight: 2160
Neste caso, a propriedade ViewerWidth é o produto das resoluções horizontais dos monitores (3 × 1920 = 5760
pixels) e a propriedade ViewerHeight é o produto das resoluções verticais dos monitores (2 × 1080 = 2160 pixels).
5.9.1.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpMultiMonitorConfig.
PROPRIEDADE DESCRIÇÃO
MonitorArray Configuração do vetor de monitores usado pela
aplicação, no formato "LinhaxColuna". Exemplos de
configuração são 1x1: 1 (um) monitor simples, 1x2: 2
(dois) monitores dispostos horizontalmente e 2x3: 6
(seis) monitores dispostos em duas linhas por três
colunas. Suporta um total de 9 (nove) monitores
171 Objetos
PROPRIEDADE DESCRIÇÃO
SelectionID Nome local do computador onde o vetor de monitores é
aplicado. Para tornar esta configuração aplicável a
qualquer computador que não esteja previamente
configurado, deixe o valor desta propriedade em branco
5.10 Temas
Esta seção contém informações sobre os objetos do tipo Tema na Biblioteca HighPerformance Template.
5.10.1 ~hpColor
O objeto ~hpColor é um objeto interno da função Temas, usado para definir uma cor específica, e pode funcionar
também como um conversor entre formatos de cor. Para isto, execute os passos a seguir:
2. Certifique-se de que as propriedades cDouble, cHex e cRGB contêm, respectivamente, os valores padrão "0",
"000000" e "0,0,0".
4. Clique com o botão direito do mouse no objeto e selecione a opção Configurar. O objeto preenche as demais
propriedades com os valores correspondentes.
5.10.1.1 Propriedades
A tabela a seguir contém as propriedades do objeto ~hpColor.
PROPRIEDADE DESCRIÇÃO
cDouble Código da cor no formato Double
5.10.2 ~hpColorPalette
O objeto ~hpColorPalette é um objeto interno da função Temas, usado para definir uma paleta de cores. Para mais
detalhes, consulte o tópico Paletas de Cores.
5.10.2.1 Propriedades
A tabela a seguir contém as propriedades do objeto ~hpColorPalette.
PROPRIEDADE DESCRIÇÃO
FriendlyName Define um nome amigável para a paleta de cores
configurada neste objeto
Objetos 172
PROPRIEDADE DESCRIÇÃO
PaletteType Define o tipo de paleta de cores. Isto afeta a
nomenclatura das cores quando geradas
automaticamente. Os valores possíveis para esta
propriedade são 0: System Monochrome, 1: System
Polychrome ou 2: Custom
5.10.3 hpTheme
O objeto hpTheme é usado para abrigar todos os elementos que compõem um Tema na Biblioteca
HighPerformance Template. Para criar a estrutura interna de um Tema, execute os passos a seguir:
3. Clique com o botão direito do mouse no objeto e selecione a opção Configurar. Aguarde a construção da
estrutura interna do objeto.
Após concluir a criação da estrutura interna, publique no Viewer esta alteração. Para isto, clique com o botão direito
do mouse no objeto ~hpThemePublisher na pasta hpObjects - Themes e selecione a opção Configurar. Ao término
da publicação, execute o Viewer para visualizar as alterações.
5.10.4 ~hpThemePublisher
O objeto ~hpThemePublisher é um objeto interno da função Temas, usado para publicar no objeto Viewer as
configurações realizadas no objeto hpTheme. Para mais detalhes, consulte o tópico Publicando Alterações.
5.10.4.1 Propriedades
A tabela a seguir contém as propriedades do objeto ~hpThemePublisher.
PROPRIEDADE DESCRIÇÃO
StartupThemeName Nome do Tema iniciado com o Viewer
NOTA
Toda alteração realizada nos valores das propriedades StartupThemeName e StartupThemeMode deve ser
publicada no Viewer, conforme descrito no tópico Publicando Alterações.
5.10.5 hpTheme01
O objeto hpTheme01 contém todas as configurações que caracterizam um Tema. As configurações de um Tema
podem abranger não apenas diferentes esquemas de cores mas também outras características visuais, tais como o
tipo e a espessura de bordas e presença ou ausência de um determinado efeito, entre outras.
173 Objetos
NOTA
Ao realizar qualquer alteração em um esquema de cor do objeto hpTheme01, deve-se executar o método
CustomConfig deste objeto, clicando com o botão direito na instância e selecionando a opção Configurar para
atualizar as Associações dos Tags deste método no Viewer.
5.10.5.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpTheme01.
PROPRIEDADE DESCRIÇÃO
BlinkE3AlarmACKSeverity0Text Cor de pisca para alarmes reconhecidos e de severidade
alta
Objetos 174
PROPRIEDADE DESCRIÇÃO
ColorAlm4Background Reservada para uso futuro
175 Objetos
PROPRIEDADE DESCRIÇÃO
ColorE3AlarmACKSeverityCBackground Cor de fundo para alarmes reconhecidos e de
severidade crítica
Objetos 176
PROPRIEDADE DESCRIÇÃO
ColorE3AlarmNACKSeverityCText Cor do texto para alarmes não reconhecidos e de
severidade crítica
177 Objetos
PROPRIEDADE DESCRIÇÃO
ColorMenuBackgroundSelected Cor de fundo para menus selecionados
Objetos 178
PROPRIEDADE DESCRIÇÃO
ColorTVArrowCollapsed Cor para setas retraídas em TreeViews
179 Objetos
PROPRIEDADE DESCRIÇÃO
ExtraChartPen3 Cor extra para penas em gráficos
5.11 Textos
Utilize somente as classes de texto fornecidas com a Biblioteca HighPerformance Template a fim de criar uma
hierarquia visual consistente em uma aplicação.
A Biblioteca hpTexts possui os objetos a seguir, que definem níveis fixos de categorias de texto:
· hpLabel0
· hpLabel1
· hpLabel2
· hpLabel3
· hpLabel3Highlight
· hpLabel4
· hpLabel4Highlight
· hpLabel5
· hpLabel6
No entanto, uma vez instanciados, estes objetos não podem ter seu tamanho ou categoria alterado. Somente um
objeto permite alterar a categoria dinamicamente, o objeto hpLabelGeneric.
Alterando-se sua propriedade Level é possível mudar o nível hierárquico do texto. Recomenda-se o uso deste objeto
ao invés dos demais por permitir maior flexibilidade no caso de ser realizada alguma alteração na aplicação.
A combinação ordenada de objetos de texto com diferentes níveis hierárquicos define a hierarquia visual da aplicação.
A seguir são sugeridas duas configurações de uso das classes de texto, dependendo de fatores como resolução,
tamanho dos monitores e sua distância do usuário. Os exemplos à esquerda ilustram a função das categorias de
texto, e à direita os níveis que devem ser configurados no objeto hpLabelGeneric.
Objetos 180
Configuração 1
Configuração 2
Para mais detalhes, consulte os tópicos a seguir para uma descrição de cada um dos objetos.
NOTA
Os objetos do tipo Texto são totalmente integrados à Biblioteca HighPerformance Template, com suporte nativo a
Temas e ao recurso de tradução automática mediante configuração prévia.
5.11.1 hpLabel0
Classe de texto de nível hierárquico mais alto, indicada para uso como título de aplicação. Uma vez instanciado este
objeto, não é mais possível alterar seu nível hierárquico. Caso isto seja necessário, recomenda-se o uso do objeto
hpLabelGeneric. Recomenda-se seu uso sempre em caixa baixa (minúsculas) com a primeira letra em caixa alta
(maiúscula) para melhor legibilidade.
5.11.1.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpLabel0.
PROPRIEDADE DESCRIÇÃO
Behaviour Altera o comportamento deste objeto. Os valores
possíveis são 0: Comportamento padrão ou 1: Título de
Tela
181 Objetos
PROPRIEDADE DESCRIÇÃO
FrameSetToGetTitle Define o nome do Quadro (FrameSet) a partir do qual o
título da Tela é definido. Uma String em branco define o
título a partir da Tela aberta no Quadro hpFSMain
5.11.2 hpLabel1
Classe de texto de nível hierárquico imediatamente inferior ao nível 0 (zero), indicada para uso como título de
aplicação ou título de Tela. Uma vez instanciado este objeto, não é mais possível alterar seu nível hierárquico. Caso
isto seja necessário, recomenda-se o uso do objeto hpLabelGeneric. Recomenda-se seu uso sempre em caixa baixa
(minúsculas) com a primeira letra em caixa alta (maiúscula) para melhor legibilidade.
5.11.2.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpLabel1.
PROPRIEDADE DESCRIÇÃO
Behaviour Altera o comportamento deste objeto. Os valores
possíveis são 0: Comportamento padrão ou 1: Título de
Tela
5.11.3 hpLabel2
Classe de texto de nível hierárquico imediatamente inferior ao nível 1 (um), indicada para uso como título de aplicação
ou título de Tela. Uma vez instanciado este objeto, não é mais possível alterar seu nível hierárquico. Caso isto seja
necessário, recomenda-se o uso do objeto hpLabelGeneric. Recomenda-se seu uso sempre em caixa baixa
(minúsculas) com a primeira letra em caixa alta (maiúscula) para melhor legibilidade.
Objetos 182
5.11.3.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpLabel2.
PROPRIEDADE DESCRIÇÃO
Behaviour Altera o comportamento deste objeto. Os valores
possíveis são 0: Comportamento padrão ou 1: Título de
Tela
5.11.4 hpLabel3
Classe de texto de nível hierárquico imediatamente inferior ao nível 2 (dois), indicada para uso como título de Tela ou
de um grupo de objetos. Uma vez instanciado este objeto, não é mais possível alterar seu nível hierárquico. Caso isto
seja necessário, recomenda-se o uso do objeto hpLabelGeneric. Recomenda-se seu uso sempre em caixa baixa
(minúsculas) com a primeira letra em caixa alta (maiúscula) para melhor legibilidade.
5.11.4.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpLabel3.
PROPRIEDADE DESCRIÇÃO
EnableTranslation Habilita a tradução automática
183 Objetos
5.11.5 hpLabel3Highlight
Classe de texto de nível hierárquico imediatamente inferior ao nível 2 (dois) com efeito de destaque, indicada para uso
como título de Tela ou de um grupo de objetos. Uma vez instanciado este objeto, não é mais possível alterar seu nível
hierárquico. Caso isto seja necessário, recomenda-se o uso do objeto hpLabelGeneric. Recomenda-se seu uso
sempre em caixa baixa (minúsculas) com a primeira letra em caixa alta (maiúscula) para melhor legibilidade.
5.11.5.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpLabel3Highlight.
PROPRIEDADE DESCRIÇÃO
EnableTranslation Habilita a tradução automática
5.11.6 hpLabel4
Classe de texto de nível hierárquico imediatamente inferior ao nível 3 (três), indicada para uso como texto normal ou
descritivo de uma variável. Uma vez instanciado este objeto, não é mais possível alterar seu nível hierárquico. Caso
isto seja necessário, recomenda-se o uso do objeto hpLabelGeneric. Recomenda-se seu uso sempre em caixa baixa
(minúsculas) com a primeira letra em caixa alta (maiúscula) para melhor legibilidade.
5.11.6.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpLabel4.
PROPRIEDADE DESCRIÇÃO
EnableTranslation Habilita a tradução automática
5.11.7 hpLabel4Highlight
Classe de texto de nível hierárquico imediatamente inferior ao nível 3 (três), com efeito de destaque, indicada para uso
como texto normal ou descritivo de uma variável. Uma vez instanciado este objeto, não é mais possível alterar seu
Objetos 184
nível hierárquico. Caso isto seja necessário, recomenda-se o uso do objeto hpLabelGeneric. Recomenda-se seu uso
sempre em caixa baixa (minúsculas) com a primeira letra em caixa alta (maiúscula) para melhor legibilidade.
5.11.7.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpLabel4Highlight.
PROPRIEDADE DESCRIÇÃO
EnableTranslation Habilita a tradução automática
5.11.8 hpLabel5
Classe de texto de nível hierárquico imediatamente inferior ao nível 4 (quatro), indicada para uso como texto de
legenda para imagens ou gráficos. Uma vez instanciado este objeto, não é mais possível alterar seu nível hierárquico.
Caso isto seja necessário, recomenda-se o uso do objeto hpLabelGeneric. Recomenda-se seu uso sempre em caixa
baixa (minúsculas) com a primeira letra em caixa alta (maiúscula) para melhor legibilidade.
5.11.8.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpLabel5.
PROPRIEDADE DESCRIÇÃO
EnableTranslation Habilita a tradução automática
5.11.9 hpLabel6
Classe de texto de nível hierárquico imediatamente inferior ao nível 5 (cinco), indicada para uso como texto normal e
descritivo de uma variável ou como legenda para imagens ou gráficos em espaços extremamente reduzidos. Uma vez
instanciado este objeto, não é mais possível alterar seu nível hierárquico. Caso isto seja necessário, recomenda-se o
uso do objeto hpLabelGeneric. Recomenda-se seu uso sempre em caixa alta (maiúscula) para melhor legibilidade.
185 Objetos
5.11.9.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpLabel6.
PROPRIEDADE DESCRIÇÃO
EnableTranslation Habilita a tradução automática
5.11.10 hpLabelGeneric
Objeto genérico para classe de texto de nível hierárquico. Recomenda-se sua utilização sempre que houver a
possibilidade de alteração do nível hierárquico de textos já implementados na aplicação. Para isto, altere uma única
propriedade deste objeto para que assuma a aparência do novo nível configurado. Para se obter uma melhor
legibilidade, nos níveis de 0 (zero) a 5 (cinco) recomenda-se seu uso sempre em caixa baixa (minúsculas) com a
primeira letra em caixa alta (maiúscula). Já para o nível 6 (seis), recomenda-se seu uso sempre em caixa alta
(maiúsculas).
5.11.10.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpLabelGeneric.
PROPRIEDADE DESCRIÇÃO
Behaviour Altera o comportamento deste objeto. Os valores
possíveis são 0: Comportamento padrão ou 1: Título de
Tela. Esta propriedade é usada somente quando a
propriedade Level é igual a 0 (zero), 1 (um) ou 2 (dois)
Objetos 186
PROPRIEDADE DESCRIÇÃO
TextFormat Formatação do texto
5.12 Tradução
Esta seção contém informações sobre os objetos do tipo Tradução na Biblioteca HighPerformance Template.
5.12.1 hpTranslatorAddLinkXM
O objeto hpTranslatorAddLinkXM cria as Associações de tradução em modo extendido (eXtended Mode) nos objetos
de Tela. Para isto, instancie este objeto em uma Tela e execute-o no Studio. Ao varrer os objetos da Tela, este objeto
decide quais objetos recebem as Associações de tradução e em quais propriedades estas Associações são criadas
com base nas configurações realizadas no objeto hpTranslatorController. Uma vez criadas as Associações, a Tela
deve ser salva para persistir estas configurações.
NOTA
Caso a propriedade EnableGroupSearch do objeto hpTranslatorController esteja habilitada, a varredura executada
leva em conta objetos dentro de objetos do tipo DrawGroup.
Para mais detalhes sobre o roteiro de configuração do processo de tradução, consulte o tópico Tradução.
5.12.1.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpTranslatorAddLinkXM.
PROPRIEDADE DESCRIÇÃO
DefaultSLI Especifica o Indicador Único de Linguagem (SLI) do
idioma principal da aplicação. O valor padrão desta
propriedade é "pt-BR" (português do Brasil). Esta
propriedade foi descontinuada e vai ser removida da
Biblioteca HighPerformance Template em uma versão
futura
5.12.2 hpTranslatorController
O objeto hpTranslatorController é o principal controlador do recurso de tradução da Biblioteca HighPerformance
Template. Com este objeto é possível configurar o comportamento do recurso de tradução e importar e armazenar
um dicionário com os termos traduzidos. Este objeto é instanciado no item Objetos de Servidor - Objetos de Dados
- hpObjects - Translator do Organizer no arquivo de projeto hpMain.prj.
Para mais detalhes sobre o roteiro de configuração do processo de tradução, consulte o tópico Tradução.
5.12.2.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpTranslatorController.
187 Objetos
Propriedades do objeto hpTranslatorController
PROPRIEDADE DESCRIÇÃO
AutoCreateHPLinks Habilita a criação automática das Associações de
tradução para os objetos nativos da Biblioteca
HighPerformance Template. Esta configuração, quando
habilitada, elimina a necessidade de declarar os objetos
nativos na propriedade PropertiesList. Os valores
possíveis são True: Criação automática habilitada ou
False: Criação automática desabilitada
Objetos 188
PROPRIEDADE DESCRIÇÃO
PropertiesList Lista contendo os tipos de XControls e suas
propriedades que recebem as Associações de tradução.
O formato desta lista é
"TipoObjeto:Propriedade1,...,PropriedadeN;". Por
exemplo, se um objeto myObject1 recebe as
Associações de tradução nas propriedades Value e Tip
e um objeto myObject2 recebe as Associações de
tradução somente na propriedade DocString, o valor
desta propriedade deve ser igual a
"myObject1:Value,Tip;myObject2:DocString;"
5.13 TreeView
O controle Treeview da Biblioteca HighPerformance Template replica a estrutura de um objeto fonte, que pode ser
por exemplo uma Pasta de Dados (DataServer) ou uma Subestação (PowerSubstation). As figuras a seguir mostram
exemplos de estruturas de objetos fonte.
Pasta de Dados
189 Objetos
Subestação
Em linhas gerais, a estrutura com objetos fontes deve ser lida por um objeto gerador de XML, o objeto
hpXMLCatalog da biblioteca hpXMLIndexer. O código XML correspondente à estrutura deve ser repassado a um
Tag Interno no Viewer, que o repassa para o objeto hpTreeview instanciado em Tela. As figuras a seguir ilustram este
fluxo de dados.
Objeto hpXMLCatalog
Objetos 190
Tag Interno no Viewer
3. Copie e renomeie um Tag Interno existente na pasta Viewer - hpControls - XML, disponível na aplicação de
demonstração da Biblioteca HighPerformance Template.
191 Objetos
4. Verifique se o Tag Interno criado no passo anterior tem o mesmo nome do objeto hpXMLCatalog
correspondente.
7. Execute a aplicação.
NOTA
Este objeto é totalmente integrado à Biblioteca HighPerformance Template, com suporte nativo a Temas e ao
recurso de tradução automática.
5.13.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpTreeView.
PROPRIEDADE DESCRIÇÃO
CheckAllNodes Seleciona todos os nós do objeto TreeView. Os valores
possíveis são True: Executa a seleção ou False
(automático): Seleção concluída. Esta propriedade é
usada somente quando a propriedade
MultipleSelection é igual a True
Objetos 192
PROPRIEDADE DESCRIÇÃO
ColorText Cor do texto. Esta propriedade é usada somente quando
a propriedade HighPerformanceMode é igual a False
193 Objetos
PROPRIEDADE DESCRIÇÃO
FilterMode Define o modo da busca. Os valores possíveis são 0:
Pelo nome (ByName), 1: Pelo tipo (ByType) ou 2: Pelo
nome e tipo (ByNameAndType). Esta propriedade é
usada somente quando a propriedade EnableFiltering é
igual a True
Objetos 194
PROPRIEDADE DESCRIÇÃO
SelectedNode Caminho do nó selecionado. Esta propriedade é usada
em conjunto com a propriedade SelectedNodeReady
· ColorHover: Cor usada para indicar que o ponteiro do mouse se encontra sobre o nó
· ColorIcon: Cor usada nos ícones do Elipse Power quando a propriedade PowerIconsAutoShow está configurada
em True
195 Objetos
Ao configurar a propriedade HighPerformanceMode para True, o objeto TreeView é integrado à Biblioteca
HighPerformance Template, herdando todas as suas facilidades. Neste modo são habilitadas as seguintes
propriedades:
· InvertColors: Inverte as cores dos ícones. Se o ícone exibe o traço em cor clara, passa a exibir o traço em cor
escura, e vice-versa
· Exibir ícones do Elipse Power automaticamente: Para isto, mude o valor da propriedade PowerIconsAutoShow
para True
· Exibir ícones da biblioteca hpIcons: Para isto, digite o nome do ícone na propriedade DocString dos objetos
fonte, como por exemplo "hpIconHome"
· Exibir ícones do Elipse Power automaticamente: Para isto, mude o valor da propriedade PowerIconsAutoShow
para True. A cor do traço dos ícones deve ser especificada na propriedade ColorIcon do objeto hpTreeView
· Exibir ícones gerados pelo usuário: Para isto, digite o endereço e o nome do ícone na propriedade DocString
dos objetos fonte. Se o caminho da imagem contém números ou caracteres especiais, este deve ser colocado
entre colchetes. A figura a seguir mostra um exemplo de referência a uma imagem inserida como Recurso na
aplicação
Propriedade DocString
Objetos 196
· TreeWidth: Largura do controle
· SelectionList: Lista de todos os nós cujas respectivas caixas de seleção estão selecionadas. Ao selecionar um nó
pai, todos os seus nós filhos e descendentes são selecionados e aparecem nesta lista, independente de estarem
expandidos ou não. Da mesma forma, ao desmarcar um nó pai, todos os seus nós filhos e descendentes são
desmarcados e removidos desta lista, independente de estarem expandidos ou não
· ItemCheckedOnClick: Último nó cuja caixa de seleção foi selecionada através de um clique de mouse
· ItemUncheckedOnClick: Último nó cuja caixa de seleção foi desmarcada através de um clique de mouse
É possível selecionar ou desmarcar todos os nós do objeto TreeView, tanto os visíveis quanto os ocultos, usando as
propriedades CheckAllNodes e ResetAllCheckedNodes.
· FilterMode:
· FilterCriteria:
· 0 - HierarchyBased: Traz o nó que corresponde ao filtro e todos os seus objetos filhos, mesmo que estes não
correspondam ao critério definido no filtro
· 1 - ContentBased: Traz o nó que corresponde ao filtro e apenas os objetos filhos que correspondam ao
critério do filtro
1. Certifique-se de que o filtro esteja habilitado, ou seja, que o valor da propriedade EnableFiltering seja igual a
True.
2. Para incluir um nó na visualização, digite na caixa de busca localizada sobre o objeto TreeView um texto que esteja
contido no nome ou tipo do nó que se deseja exibir. Por exemplo, ao digitar "Break", o objeto TreeView exibe
todos os objetos que contenham a expressão "Break" em seu tipo, como PowerBreaker, ou que contenham a
expressão "Break" em seu nome.
3. Para excluir um nó da visualização, siga o critério anterior, porém adicionando um sinal de menos à frente do
termo. Por exemplo, ao digitar "-Scada", o objeto TreeView deixa de exibir os nós cujo nome ou tipo contenham a
expressão "Scada".
197 Objetos
4. É possível filtrar mais de um termo por vez. Para isto, digite os termos separados por espaço. Por exemplo, ao
digitar "TR1 -Operator", o filtro inclui os nós relacionados a "TR1" e exclui da visualização todos os nós
relacionados a "Operator".
5. É possível também alterar o conteúdo do campo de busca através da propriedade FilterString do objeto
TreeView.
6. Se o filtro está habilitado e o valor da propriedade FilterString é uma String vazia, o filtro exibe todos os nós
possíveis.
Clique Simples
2. Crie um evento personalizado que responda à alteração da propriedade EventSingleClick. Desta forma, sempre
que o usuário clica em um nó, este script é executado.
NOTA
Com esta configuração, as propriedades DoubleClickMode e EventDblClick permanecem inativas.
Clique Duplo
2. Crie um evento personalizado que responda à alteração da propriedade EventDblClick. Desta forma, sempre que
o usuário clica duas vezes em um nó, este script é executado e o nó que recebeu este clique duplo não alterna
entre os estados expandido e recolhido.
5.14 XML
Esta seção contém informações sobre os objetos do tipo XML na Biblioteca HighPerformance Template.
5.14.1 hpXMLCatalog
O objeto hpXMLCatalog lê uma ou mais pastas de objetos e gera o código XML correspondente na propriedade
xmlOutput.
NOTA
Este objeto é totalmente integrado à Biblioteca HighPerformance Template, com suporte à geração de código
XML compatível com os objetos hpTreeView e hpLyraMenu.
Objetos 198
Este objeto pode ser usado tanto dentro como fora da Biblioteca HighPerformance Template. Desta forma é capaz
de gerar código XML a partir de objetos de qualquer aplicação Elipse E3 ou Elipse Power.
5.14.1.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpXMLCatalog.
PROPRIEDADE DESCRIÇÃO
ExtraProperties Parâmetros personalizados para o código XML. Para
mais informações, consulte o tópico Parâmetros
Personalizados
199 Objetos
PROPRIEDADE DESCRIÇÃO
OutputMode Especifica o local onde o código XML é gerado. Os
valores possíveis são 0: Gera um único código XML e
salva este código na propriedade xmlOutput (padrão)
ou 1: Gera um código XML específico para cada objeto
do tipo xfPlantFolder ou equivalente encontrado na
varredura, salvando este código na propriedade
xmlData de cada objeto xfPlantFolder ou equivalente
Objetos 200
PROPRIEDADE DESCRIÇÃO
XMLTemplate Modifica o código XML resultante com base em um
modelo pré-definido. Os valores possíveis para esta
propriedade são 0: Modelo definido pelo usuário na
propriedade ExtraProperties, 1: Modelo para uso pelo
objeto hpTreeView, 2: Modelo para uso pelo objeto
hpLyraMenu, 3: Modelo para uso pela Tela Faceplate, 4:
Modelo para uso pelo FlexControl, 5: Modelo para uso
pelo objeto hpTreeView (modo compactado) ou 6:
Modelo para uso pela função de navegação
NOTAS
· Objetos equivalentes ao objeto xfPlantFolder são XFolders que tenham as mesmas propriedades StoreXML e
xmlData dos objetos do tipo xfPlantFolder. Sem estas propriedades, o objeto hpXMLCatalog não armazena no
objeto o código XML gerado.
· Caso os nomes das propriedades informadas nas propriedades FriendlyNameProperty e FriendlyTipProperty
não existam ou o valor seja uma String vazia, o texto dos nós usa o valor da propriedade Name do objeto e o
texto das dicas dos nós é configurado com uma String vazia e, portanto, a dica é desativada.
· As propriedades FriendlyNameProperty e FriendlyTipProperty, quando usadas como parâmetros
personalizados na propriedade ExtraProperties para geração de código XML, usam os códigos FNP e FTP,
respectivamente.
· O novo comportamento da dica, ou tip, representa uma quebra de compatibilidade, pois antes era exibida apenas
a denominação, ou seja, a propriedade Name do próprio nó como dica. Para retomar o comportamento anterior,
configure a propriedade FriendlyTipProperty com o valor "Name". Caso não deseje traduzir a dica, crie um termo
no dicionário da aplicação onde cada idioma deve ser configurado com o valor original.
1. Instancie um objeto do tipo hpXMLCatalog na pasta XML do item Objetos de Servidor - Objetos de Dados -
hpObjects do Organizer.
2. Informe a pasta a ser lida para gerar o código XML na propriedade InitialPath. Para mais de uma pasta, separe
os valores por ponto e vírgula.
3. Clique com o botão direito do mouse no objeto hpXMLCatalog e selecione a opção Configurar.
Este primeiro código XML contempla apenas os nós do primeiro nível hierárquico da árvore. Para trazer também
todos os seus filhos, configure o valor da propriedade GetAllChildren para True e execute novamente este objeto no
Studio.
O código XML gerado contém um conjunto de parâmetros pré-definidos, descritos na tabela a seguir.
201 Objetos
Parâmetros pré-definidos do objeto hpXMLCatalog
PARÂMETRO DESCRIÇÃO
H Número de objetos filhos
N Nome do objeto
R Número sequencial
T Tipo do objeto
X Uso reservado
O filtro do objeto hpXMLCatalog pode realizar busca com dois tipos de correspondência, Ampla ou Exata. A busca
de termos usando correspondência ampla corresponde à busca padrão do objeto, no formato a seguir.
Analog;Discrete
Este tipo de filtro busca correspondência nos termos que sejam iguais ou contenham ao menos uma parte igual ao
termo declarado. Assim, Analog pode ser igual ou estar contido no termo correspondido, como por exemplo em
"xfAnalogInfo".
Já para realizar uma busca de termos usando a correspondência exata, deve-se declarar cada termo entre aspas
duplas, no formato a seguir.
"xfAnalogInfo";Discrete
Este filtro traz resultados onde a correspondência é exata para xfAnalogInfo e ampla para Discrete. Para filtrar todos
os termos com correspondência exata, cada termo deve ser declarado entre aspas duplas separadamente, conforme
o exemplo a seguir.
"xfAnalogInfo";"xfDiscreteInfo"
NOTA
Referências externas, ou objetos do tipo xfPMRef, quando submetidas aos filtros, podem gerar resultados
peculiares em virtude da natureza de apontamento a objetos externos, que por sua vez podem ser de tipos
contemplados nos parâmetros de filtragem. A tabela a seguir mostra o comportamento de algumas combinação de
elementos e propriedades, a fim de aclarar o funcionamento.
Objetos 202
Comportamento de combinações de elementos e propriedades
EXPRESSÃO RESULTADO
HideDataType = xfPMRef | XRefMode = 0 | Conteúdo Nenhum nó do tipo xfPMRef ou conteúdo externo deve
externo não declarado no filtro ser exibido
HideDataType = xfPMRef | XRefMode = 1 | Conteúdo Nenhum nó do tipo xfPMRef deve ser exibido, somente
externo não declarado no filtro o conteúdo externo
Para criar um parâmetro personalizado com base no valor de uma propriedade existente de um objeto, use a
propriedade ExtraProperties. Os parâmetros personalizados devem ser declarados nesta propriedade obedecendo o
formato Propriedade=Alias, onde Propriedade é o nome da propriedade existente no objeto e Alias é o nome do
parâmetro a ser incluído no código XML.
Por exemplo, para incluir o valor da propriedade Caption de um objeto, selecione um Alias para o parâmetro. Este
Alias deve ser diferente de todos os demais que já estejam em uso no código XML e na propriedade ExtraProperties.
Para isto, consulte os tópicos indicados a seguir.
Após verificar os possíveis conflitos, use a expressão "CA" como Alias exclusivo para o parâmetro da propriedade
Caption. Neste caso, o formato da declaração na propriedade ExtraProperties é o seguinte:
Caption=CA
O resultado no código XML é a inclusão do parâmetro CA com o valor da propriedade Caption, da seguinte forma:
CA="TMGT"
203 Objetos
Pode-se declarar mais de um parâmetro personalizado na propriedade ExtraProperties. Para isto, separe-os por
ponto e vírgula, como no exemplo a seguir.
Caption=CA;Value=VA;Tip=TI
As propriedades listadas a seguir são reservadas para uso exclusivo do objeto hpXMLCatalog e podem ser
declaradas na propriedade ExtraProperties com qualquer Alias selecionado pelo usuário, desde que seja exclusivo.
Por exemplo, ao declarar na propriedade ExtraProperties uma propriedade reservada no formato a seguir:
ParentPathName=PPN
Neste caso, o objeto hpXMLCatalog identifica a propriedade como reservada e atribui o valor correspondente ao
Alias, que é o valor da propriedade PathName do objeto pai.
<Elm N="XObject11" P="Dados1.XObject11" PPN="Dados1"
NOTAS
· Um Alias deve ter um ou mais caracteres, e recomenda-se um número reduzido de caracteres para que o código
XML final também tenha um tamanho reduzido, o que melhora o desempenho de processamento e tráfego de
dados.
· Caso a propriedade declarada na propriedade ExtraProperties não exista em um determinado objeto, e não seja
uma propriedade reservada, então esta propriedade não é incluída no nó do código XML que corresponde a este
objeto.
· Propriedades reservadas são incluídas em todos os nós do código XML.
Para criar um parâmetro personalizado tendo por base um valor padrão definido pelo usuário, deve-se usar a
propriedade CustomParameters, no formato a seguir.
ParamName{DefaultValue};...;ParamName{DefaultValue}
O valor padrão de cada parâmetro deve ser declarado após o nome e entre chaves. Se omitido, o valor padrão é
assumido como uma String vazia, conforme o exemplo a seguir.
CustomParameters = CP1{v1};CP2;CP3{};CP4{v'4}
Esta configuração gera a saída a seguir no código XML, para todos os nós.
CP1='v1' CP2='' CP3='' CP4='v_4'
O valor padrão não pode conter os caracteres de aspas simples ('), ponto e vírgula (;) e chave de abertura ({).
O usuário deve configurar parâmetros com nomes diferentes dos demais parâmetros existentes no código XML, caso
contrário o valor do parâmetro existente é sobrescrito pelo valor do parâmetro personalizado.
Objetos 204
5.14.1.5 Normalização de Estados de Seleção Múltipla
A função de Normalização de Estados de Seleção Múltipla permite informar o estado de seleção múltipla de um nó
no objeto hpTreeView baseado no valor de uma propriedade. Isto é realizado através da associação do nome da
propriedade com o parâmetro reservado C na propriedade ExtraProperties, conforme o código a seguir.
NomeDaPropriedade=C
Esta função também atualiza os valores de seleção dos nós ascendentes e descendentes conforme o valor registrado.
Os valores aceitos para as propriedades associadas estão descritos na tabela a seguir.
False 0 (zero)
0 (zero) Falso
1 (um) Intermediário
Esta função é para códigos XML de uso exclusivo do objeto hpTreeView, tanto para o modo normal, propriedade
XMLTemplate igual a 1 (um), como para o modo compacto, propriedade XMLTemplate igual a 5 (cinco).
Exemplo de Uso
Se a propriedade associada é do tipo Booleano e o valor é igual a Verdadeiro, a função de normalização registra o
valor do parâmetro C do nó correspondente igual a -1 (menos um, Verdadeiro). Em seguida, a função de
normalização ajusta o valor do parâmetro C dos nós descendentes para o mesmo valor, enquanto os nós
ascendentes são ajustados para os valores -1 (menos um, Verdadeiro) ou 1 (um, Intermediário) conforme o caso.
Roteiro
Para que o código XML seja gerado com sucesso, são necessários os passos a seguir.
3. Configure a propriedade ExtraProperties com a propriedade do objeto que informa se o nó inicia marcado ou
não, como por exemplo "EnableCheckObject=C".
205 Objetos
IMPORTANTE
Para que as atribuições de valor da propriedade do objeto funcionem corretamente, é necessário que os valores
sejam Booleanos ou os inteiros 0 (zero) e -1 (menos um), caso contrário o parâmetro C do código XML mantém os
valores padrão.
Parâmetros adicionais compatíveis com o objeto hpTreeView para XMLTemplate igual a 1 (um)
PARÂMETRO DESCRIÇÃO
I Endereço do ícone definido nas propriedades
IconGallery e IconName do objeto de dados. Caso estas
propriedades não existam ou os valores sejam vazios,
usa-se o valor da propriedade DocString
S Nó selecionado
E Nó expandido
L Nível hierárquico do nó
Parâmetros adicionais compatíveis com o objeto hpTreeView para XMLTemplate igual a 5 (cinco)
PARÂMETRO DESCRIÇÃO
S Nó selecionado
E Nó expandido
L Nível hierárquico do nó
Objetos 206
Parâmetros adicionais compatíveis com o objeto hpLyraMenu
PARÂMETRO DESCRIÇÃO
AC Propriedade Acronym do objeto Proteção
C Propriedade Caption
F Propriedade FaceplateTemplate
M Propriedade Format
207 Objetos
PARÂMETRO DESCRIÇÃO
PPS Propriedade ShortName do objeto pai do objeto pai do
objeto atual, somente para objetos do Elipse Power
S0 Propriedade StateText0
S1 Propriedade StateText1
S2 Propriedade StateText2
S3 Propriedade StateText3
VC Propriedade ValueCaption
Objetos 208
PARÂMETRO PROPRIEDADE DESCRIÇÃO
SCR SplitLink Link de abertura de Tela, configurado
no objeto hpNavFrameSet
5.15 Logs
Esta seção contém informações sobre os objetos do tipo Log na Biblioteca HighPerformance Template.
5.15.1 hpLogEvent
O objeto hpLogEvent processa mensagens para registrá-las, de forma padronizada, no arquivo de logs do Elipse E3
ou Elipse Power, ou exibi-las em tela.
NOTA
Para mais informações sobre a configuração e funcionamento deste objeto, consulte o tópico Logs.
5.15.1.1 Propriedades
A tabela a seguir contém as propriedades do objeto hpLogEvent.
PROPRIEDADE DESCRIÇÃO
hpLogParams Lista dos parâmetros de configuração. Para mais
informações sobre os parâmetros, consulte o tópico
Logs
209 Objetos
CAPÍTULO
Novidades de Versão
6
Esta seção contém os pré-requisitos e as novidades da versão 2.5 da Biblioteca HighPerformance Template.
6.1 Pré-Requisitos
Este tópico contém informações sobre os principais pré-requisitos para utilização da Biblioteca HighPerformance
Template, conforme a tabela a seguir.
Pré-Requisitos
Objeto E3Alarm sensível aos Temas Implementada uma forma de Elipse Power ou Elipse E3 versão
configurar as cores para os diversos 4.8.265
estados de alarme e severidade via
script
Objeto hpLyraMenu Criado um novo ElipseX, o XFolder, Elipse Power ou Elipse E3 versão
um objeto de servidor que permite a 4.8.58
livre inserção de objetos filhos
apenas em suas instâncias
Objetos de texto com a propriedade Criados os métodos GetScreen no Elipse Power ou Elipse E3 versão
Behaviour configurada para 1: Viewer e ShowScreen no Divisor, 4.7.78
ScreenTitle para abertura de Telas modificadas
em tempo de execução
Histórico de navegação e objeto Criados os métodos GetScreen no Elipse Power ou Elipse E3 versão
hpScreenNav Viewer e ShowScreen no Divisor, 4.7.78
para abertura de Telas modificadas
em tempo de execução
6.2.1.1 Alarmes
· Implementado o suporte à severidade Crítica.
· Criado o objeto E3AlarmToolbarV2, compatível com alarmes de severidade Crítica. O objeto E3AlarmToolbar foi
descontinuado.
6.2.1.3 Extensões
· Criada uma interface de pré-visualização de grade nos objetos hpXGridCalc e hpXContainer.
· Criado um Botão de Comando hpXPowerCommandButton para operar objetos do Elipse Power a partir da Tela
Faceplate, que recebeu atualizações para possibilitar o uso deste novo Botão.
· Implementadas colunas secundária e terciária nos objetos hpXContainer e hpXGridCalc, através das propriedades
CellWidthSecondaryColumn e CellWidthTertiaryColumn.
· Especificada a unidade Himetric no texto de ajuda das propriedades de medida dos objetos hpXGridCalc e
hpXContainer.
6.2.1.4 Faceplate
· A Tela Faceplate, junto com a Biblioteca Extensions, recebeu adequações para poder ler e exibir corretamente a
estrutura de dados da Biblioteca FlexControl.
· A Tela Faceplate teve a estrutura interna simplificada visando a integração com a Biblioteca FlexControl, maior
facilidade para manutenção e melhor desempenho.
· Atualizados os scripts das Telas Faceplate e Interlocks para uso de XML. Adicionalmente o objeto
hpXInterocksConfig ganhou a propriedade UseShortNames, e o XML para Faceplate recebeu novos parâmetros.
· Implementada compatibilidade da Tela Faceplate com objetos do Elipse Power. A Tela Interlocks teve o argumento
unificado tanto para objetos HighPerformance padrão ou extensão como para objetos do Elipse Power. O objeto
hpXProtection foi atualizado. Criados os objetos hpXPowerCommandButton e hpXPowerDynValueAnalog,
exclusivos para objetos do Elipse Power. Diversos ajustes e melhorias na Tela Faceplate.
· Criada uma condição que torna opcional a declaração de tip para grupos Custom no objeto
hpXFaceplateTemplate.
· Implementada a checagem de limites de valores nos controles associados a objetos do tipo xfParameter na Tela
Faceplate.
· A largura da Tela Faceplate passou a ser calculada automaticamente com base no conteúdo da aba que está aberta.
Foram corrigidos erros, os códigos padronizados e melhorado o desempenho de abertura da Tela. O
comportamento da aba Protections foi alterado para seguir o padrão usado nas demais abas. O objeto
· Implementado um modo de visualização por colunas das abas Discrete e Commands na Tela Faceplate.
· Implementado um recurso de personalização dos objetos de Tela associados a dados para as abas nativas da Tela
Faceplate.
· Refeita a impressão de log contendo o código XML lido pela Tela Faceplate.
· Implementada uma opção para que a Tela Faceplate não exiba nenhum ícone de equipamento.
6.2.1.5 Formulários
· Padronizado o tamanho de textos nos objetos da Biblioteca hpForms.
· Criado objeto hpTabsBar que monta dinamicamente um menu de abas, tanto na orientação horizontal como na
vertical. Com isto os objetos hpTabBarHorizontal e hpTabBarVertical estão descontinuados.
6.2.1.6 Ícones
· Implementados os ícones hpIconAnalogInput, hpIconAnalogOutput, hpIconBinaryInput e hpIconBinaryInput na
Biblioteca hpIcons.
· Criada a Biblioteca hpNavigationStruct com objetos de estrutura de dados de navegação. A Biblioteca Utilities
recebeu a implementação de um objeto que converte a estrutura de dados antiga para a nova.
· O objeto hpPopupOpen foi adequado ao uso de múltiplos monitores. O objeto hpPopupTemplate recebeu
melhorias nos textos de ajuda.
6.2.1.8 Miscelânea
· Implementada a compatibilidade entre a Biblioteca HighPerformance Template e a Biblioteca FlexControl.
· Criado o marcador de nome '~' para possibilitar a identificação dos objetos de uso exclusivo interno da Biblioteca
HighPerformance Template: ~hpScrollBar, ~hpSearchBox, ~hpTVArrow, ~hpTVLine, ~hpLyraMenuL1,
~hpLyraMenuL2, ~hpXProtection, ~hpXCollapseExpand, ~hpXEventBridge, ~hpXFaceplateConfig,
~hpXFaceplateVars, ~hpXInterlocksConfig e ~hpXLinkBridge. O objeto DataObjectBridge foi renomeado para
hpXDataObjectBridge.
· As Telas Faceplate e Interlocks foram adequadas ao novo padrão de logs e sinalizações da Biblioteca
HighPerformance Template.
· Implementada a opção de leitura das propriedades IconGallery e IconName para configuração do campo ícone
(parâmetro I) no objeto hpXMLCatalog quando a propriedade XMLTemplate é igual a 1 (um, TreeView).
· Atualizada a lista de atributos XML, xfFCDigitalPos e xfFCParameter, para a Biblioteca FlexControl. Os objetos
hpXMLCatalog e hpXMLCatalogV2 receberam esta atualização.
· Implementado o parâmetro User no código XML gerado para Template FlexControl no objeto hpXMLCatalog.
6.2.1.10 Multi-Monitores
· Implementada uma nova função de navegação e configuração de monitores.
· Implementados os arranjos de matriz de monitores 2x1, 2x4, 2x5, 2x6, 3x1, 3x3, 3x4, 3x5, 3x6, 4x1, 4x4, 4x5 e 4x6.
O arranjo 1x4 foi removido.
· Implementado um comando nativo no Viewer para abrir janelas pop-up e modais (Tag OpenPopup).
· Criados os acessos ao Assistente de Configuração de Navegação 1: Automaticamente ao iniciar uma aplicação sem
perfil de navegação, 2: Através de link na Tela de Apresentação e 3: Através da propriedade Behaviour igual a 5
(cinco) nos objetos hpLinkIcon, hpLinkDetail e hpLinkMain.
6.2.1.11 Temas
· Implementada uma configuração dos Temas no Viewer através do Studio, usando o método CustomConfig.
· Redesenhada a função Temas, contemplando a criação dos objetos hpTheme, ~hpColor, ~hpColorPalette,
~hpThemePublisher e hpThemePicker, além do Tag loadTheme na pasta Template do Viewer. Adicionalmente,
foram atualizados os objetos hpLinkToggleIcon, hpLyraMenu, ~hpLyraMenuL1 e ~hpLyraMenuL2.
· Implementada uma interface para o Theme Factory na Tela hpThemeConfig, com acesso através do menu de
seleção do objeto hpThemePicker.
6.2.1.12 Tradução
· Implementado um recurso que permite iniciar o Viewer com um idioma diferente do padrão.
· Padronizado o comportamento do modo extendido de tradução (XM) nos objetos hpLyraMenu e hpTreeView.
6.2.1.13 TreeView
· Implementadas denominação e dica (tip) amigáveis para os nós do objeto hpTreeView.
· Implementado um recurso que permite carregar, no objeto hpTreeView, valores pré-definidos para as caixas de
seleção múltipla.
6.2.2.1 Alarmes
· Corrigido o endereçamento interno nos objetos indicadores de Alarmes hpAlarmIndicatorAnalog,
hpAlarmIndicatorDeadBand, hpAlarmIndicatorDigital, hpAlarmIndicatorDiscrete, hpAlarmIndicatorGeneric e
hpAlarmIndicatorROC. Com esta correção estes objetos passaram a ser compatíveis com a modelagem de dados
da Biblioteca PlantModel.
· Corrigido um erro na posição das Áreas de Alarme para as severidades Lo e LoLo nos objetos
hpBarGraphAlarmZoneVertical, hpBarGraphAlarmZoneVerticalIO e ~hpCombinedBarLineGraph.
· Corrigida a indicação de severidade de Alarme na propriedade RetSeverity dos objetos indicadores de Alarme.
· Corrigido um erro em que as Zonas de Alarme do objeto hpBarGraphAlarmZoneVertical não eram exibidas
corretamente.
6.2.2.3 Extensões
· Implementada a compatibilidade com caracteres acentuados para o tip de grupos Custom declarados na
propriedade PopupCode do objeto hpXFacepltateTemplate.
6.2.2.4 Faceplate
· Corrigido um erro em que a configuração de nome inválido para o ícone de equipamento no objeto
hpXFaceplateTemplate gerava um erro de script ao abrir a Tela Faceplate.
· Corrigido um erro em que um Setpoint em modo de edição permanecia visível após a troca de aba na Tela
Faceplate.
· Corrigido um erro de posicionamento dos Botões de Comando na aba Commands da Tela Faceplate.
· Implementada uma verificação que corrige parâmetros, coringas e modificadores redundantes na declaração da
propriedade PopupCode no objeto hpXFaceplateTemplate.
6.2.2.5 Formulários
· Corrigido um erro no objeto hpComboBox em que não ocorria a seleção se houvesse apenas um item cadastrado.
· Corrigido um erro de script ao tentar carregar uma Tela inexistente na inicialização do Viewer. Adicionalmente foi
implementada uma verificação com sinalização e registro em log de todos os endereços iniciais cadastrados no
Viewer.
· Implementado um limite para a coordenada Y dos objetos L2 do objeto hpLyraMenu de forma que, mesmo que
seja especificado um valor maior na propriedade ShiftL2 dos objetos hpNavData, nenhum objeto L2 é posicionado
acima do objeto hpLyraMenu. A propriedade ShiftL2 não mais aceita números menores do que 0 (zero). A
atualização do ícone dos objetos L1 teve a condição de disparo otimizada. O recurso AutoScale foi corrigido e
passou a funcionar normalmente nos objetos L1.
· Corrigidos erros que ocorriam na atualização da versão 2.0 para 2.5 da Biblioteca HighPerformance Template.
Erro na tratativa de perfis de navegação com caracteres especiais no nome. Erro na tratativa de valor vazio na
propriedade StartupTemplateName do objeto hpNavMonitor. Erro no manejo dos registros históricos de
navegação ao abrir Perfil, Perfil histórico e Template. Os objetos corrigidos são hpNavProfile, Tag loadProfile, Tag
OpenEntity, hpLyraMenu, hpLabel0, hpLabel1, hpLabel2 e hpScreenNav.
· Corrigido um erro em que o objeto hpTreeView exibia uma mensagem de erro em um nó não cadastrado no
dicionário, mesmo que a propriedade EnableTranslation esteja desabilitada. Este bug ocorria desde a v2.0.38.
6.2.2.7 Miscelânea
· Padronizado o tipo Integer para os valores de retorno dos Tags Internos que simulam Tags de comunicação na
aplicação de demonstração da Biblioteca HighPerformance Template para normalização de exibição na Tela
Interlocks. Adicionalmente os valores exibidos nesta Tela passaram a ser dinâmicos.
· Corrigido um erro no objeto hpPageReference em que os componentes internos não eram posicionados
corretamente após mover um objeto com o mouse no Studio.
· Corrigido um erro em que o objeto hpXMLCatalog aceitava caracteres inválidos e gerava código XML com erro de
formatação. Criada a propriedade InvalidCharReplacement no objeto hpXMLCatalog.
· Corrigido um erro no objeto hpXMLCatalog que causava erro ao processar um objeto de Alarme contendo um
Campo de Usuário herdado.
6.2.2.9 Tradução
· Padronizado o comportamento do módulo de tradução ao buscar por um termo não cadastrado previamente no
dicionário. Atualizados os objetos hpTranslatorAddLinkXM, hpTreeView, hpLyraMenu, Tags loadProfile,
OpenEntity e InlineTranslation.
6.2.2.10 TreeView
· Corrigido um erro no objeto hpTreeView em que o texto dos nós poderia sofrer deslocamentos indevidos
conforme a posição na Tela.
· Corrigido um erro que gerava erro de script ao carregar um segundo objeto hpTreeView usando a mesma fonte
de dados usada pelo primeiro objeto.
No entanto, em uma aplicação real que possua elementos personalizados juntos aos objetos nativos da Biblioteca
HighPerformance Template, deve-se atentar para que sejam salvos com segurança antes de executar este roteiro.
Ao término destas instruções, os objetos personalizados podem ser novamente incorporados na aplicação.
Para atualizar a Biblioteca HighPerformance Template versão 2.5 em uma aplicação que contém uma versão
anterior à versão 2.0.92, recomenda-se primeiro atualizar para a versão 2.0.92 para em seguida atualizar para a
versão 2.5.
Para atualizar a Biblioteca HighPerformance Template em uma aplicação que contém a versão 2.0.92, proceda
conforme os tópicos a seguir.
2. Certifique-se de que o arquivo do pacote de bibliotecas Libraries.e3pkg foi adicionado ao Domínio. Caso
contrário, adicione-o.
6.2.3.1.4 Formulários
Para usar os novos formulários dentro da função antiga de Temas, é necessário corrigir a cor de textos e marcadores.
Caso utilize os novos Temas, ignore estes passos.
3. Repita este procedimento para os demais objetos Scheme instanciados na mesma pasta.
1. Substitua a Tela hpDateTimePicker da versão 2.5, localizada na pasta hpScreens, para o mesmo caminho na
aplicação.
1. Clique com o botão direito do mouse no objeto hpTranslatorController em hpObjects - Translator na aplicação
e selecione a opção Configurar.
2. Caso a propriedade ImportStatus do objeto sinalize o valor -1 (menos um, erro), configure a propriedade
Dictionary com o caminho completo do arquivo, como por exemplo "C:
\App\HighPerformance\Dictionaries\Dictionary.csv".
3. Copie a pasta Viewer/hpControls/Translator da versão 2.5 com todo o conteúdo para o mesmo caminho na
aplicação.
1. Substitua o script do evento OnStartRunning do objeto Viewer da aplicação pelo novo script da versão 2.5.
2. No caso de atualizar os Temas para a nova função, substitua toda a pasta Viewer/hpControls/Template da
aplicação pela mesma pasta da versão 2.5. Para manter a função antiga de Temas, ignore este passo.
Atualize todos os códigos XML gerados pelos objetos hpXMLCatalog na aplicação. A pasta padrão destes objetos
está em hpObjects - XML.
1. Clique com o botão direito do mouse em cada um destes objetos e selecione a opção Configurar.
3. Sem adicionar ao Domínio, abra o arquivo hpFrames_Repository.prj, versão 2.5, e acesse a pasta
hpFrames_v2.5_Adaptive.
6.2.3.2.2 Quadros
1. Atualize os Quadros existentes na pasta hpFrames da aplicação conforme indicado na tabela a seguir. Não é
necessário alterar internamente nenhum Quadro, apenas o nome.
1. Copie ou substitua a Tela HighPerformanceScreen da aplicação pela mesma Tela da versão 2.5 no mesmo
caminho na aplicação.
1. Copie a Tela hpNavConfig da versão 2.5, localizada na pasta hpScreens, para o mesmo caminho na aplicação.
3. Certifique-se de que não exista nenhum conteúdo dentro da nova pasta Profiles na aplicação. Caso exista, este
deve ser removido.
6.2.3.2.8 Viewer
1. Substitua a pasta Viewer - hpControls - Navigation da aplicação pela mesma pasta da versão 2.5.
1. Execute a aplicação.
3. Digite um nome para o novo perfil de navegação e clique em Save para criar um perfil minimamente executável.
4. Na aba Template do Template Editor, clique no ícone do lápis no quadro central e verifique que o campo
SplitLink já vem carregado com o valor da Tela de demonstração.
5. A partir deste ponto podem ser adicionados Quadros, Templates e Monitors com os valores de navegação já
usados na aplicação.
8. No Organizer do Studio, clique com o botão direito do mouse no projeto HpMain e selecione a opção Atualizar
para que as alterações realizadas no Assistente possam ser visualizadas no ambiente de edição do Studio.
9. Selecione a pasta hpObjects - Navigation - Profiles e certifique-se que os dados criados correspondem
exatamente à configuração salva no Assistente.
NOTAS
· Nesta estrutura de dados, os objetos hpNavTemplate possuem a propriedade PanelsConfig, cujo valor é
configurado automaticamente pelo Assistente. Caso seja realizada alguma alteração na estrutura de dados sem
passar pelo Assistente, o valor desta propriedade pode estar defasado. Para corrigi-lo, execute o Viewer e abra o
Assistente, que se encarrega de atualizar o valor automaticamente.
· Alguns links da versão antiga de navegação podem não funcionar na nova versão. Consulte o tópico Abrindo uma
Entidade de Navegação para mais informações sobre como configurar os links na nova função de navegação.
· Para mais informações, siga a orientação de configuração do tópico Exemplo de Configuração.
2. Clique com o botão direito do mouse em qualquer objeto Scheme e selecione a opção Configurar.
Atualizando o Viewer
1. Certifique-se de substituir a pasta Viewer - hpControls - Template da aplicação pela mesma pasta da versão 2.5,
conforme indicado no tópico Atualização Mínima.
1. Copie a pasta hpObjects - Themes da versão 2.5 para o mesmo caminho na aplicação.
2. Clique com o botão direito do mouse no objeto ~hpThemePublisher em hpObjects - Themes da aplicação e
selecione a opção Configurar. Ao final da configuração é exibida uma janela indicando o sucesso da operação.
3. Copie a Tela hpThemeConfig da versão 2.5, localizada na pasta hpScreens, para o mesmo caminho na aplicação.
1. Abra a Tela onde vai ser realizada a seleção dos Temas pelo usuário.
1. Execute o Viewer.
4. Em seguida, clique no botão à esquerda no objeto para alternar entre os Modos Claro e Escuro do Tema
escolhido.
NOTA
Se o valor da propriedade ShowThemeFactoryLink é igual a Verdadeiro, é exibido um link para acessar o Assistente
de Configuração de Temas. Este recurso não funciona se a aplicação utilizar a função de navegação anterior à versão
2.5. Para este caso, é preciso configurar manualmente o link para abertura da Tela pop-up em hpScreens -
hpThemeConfig usando o Template ThemeFactory na pasta hpObjects - ScreenTemplates.
2. Certifique-se de que o pacote Extensions.e3pkg foi adicionado ao Domínio. Caso contrário, adicione-o.
3. Certifique-se de que o arquivo hpXMain.prj foi adicionado ao Domínio. Caso contrário, adicione-o.
Configurações Iniciais
2. Substitua as estruturas de dados construídas com o objeto hpNavData pelo objeto hpLyraData automaticamente.
Para isto, consulte o tópico Migrando uma Estrutura de Dados para o Objeto hpLyraData.
· Executada uma tratativa de erro de script no Tag manageTitle caso não encontrasse a Tela informada pelo usuário
em scrContent. Adicionalmente os quadros hpFrameHeader01 e hpFrameHeaderMenuLeft01 foram mantidos na
pasta hpFrames, em virtude de compatibilidade com a documentação da Biblioteca HighPerformance Template.
6.3.1.2 Formulários
· Criada a propriedade Format no objeto hpDateTimeCombo. A Tela Formulários da aplicação de demonstração foi
atualizada com esta nova propriedade.
· Implementada uma opção que permite usar o recurso de títulos automáticos de Tela sem qualquer dependência do
módulo Translator.
6.3.1.4 Miscelânea
· Atualizado o tópico com o roteiro para importação da Biblioteca HighPerformance Template no Manual do
Usuário da Biblioteca HighPerformance Template.
· Criada a Tela HighPerformanceScreen, na raiz do arquivo hpMain.prj de distribuição, que teve algumas
configurações ajustadas para que possa abrir a nova Tela quando a Biblioteca HighPerformance Template é
importada para uma nova aplicação.
· Adicionado um texto sobre compatibilidade de versões na nota ao final do tópico Instalação da Biblioteca em
uma Aplicação do Manual do Usuário da Biblioteca HighPerformance Template.
· A aplicação de demonstração teve os dados remodelados dentro do padrão Plant Model, incluindo a
implementação das Telas Faceplate e Interlocks, totalmente integradas a este padrão.
· O objeto hpXMLCatalog foi atualizado para maior integração com objetos da Biblioteca PlantModel.
· A estrutura de pastas e arquivos sofreu alterações para permitir a inclusão dos novos arquivos de extensões da
Biblioteca HighPerformance Template, bem como os arquivos da Biblioteca PlantModel.
· Adicionado um tópico no Manual do Usuário da Biblioteca HighPerformance Template com informações sobre
Associações inválidas.
· O dicionário da aplicação de demonstração passou a estar disponível nos arquivos de distribuição da Biblioteca
HighPerformance Template.
· Implementada uma opção que permite usar o objeto hpTreeView sem qualquer dependência do módulo
Translator.
· O objeto hpXMLCatalog foi atualizado para trabalhar com objetos do Elipse Power.
6.3.2.1 Alarmes
· Corrigido um erro de sinalização de alarmes normalizados e não reconhecidos nos objetos
hpAlarmIndicatorAnalog, hpAlarmIndicatorDeadBand, hpAlarmIndicatorDigital, hpAlarmIndicatorDiscrete e
hpAlarmIndicatorROC. Estes objetos foram reformulados internamente e ganharam a propriedade AlarmServer.
Adicionalmente foi criado o objeto hpAlarmIndicatorGeneric, que pode ser usado no lugar destes indicadores
para qualquer tipo de alarme.
· Atualizada a biblioteca Scheduling para corrigir um erro de script que ocorre toda vez que é criado um novo
agendamento.
· Corrigido um erro de script que ocorria ao alternar entre as Telas Agenda Geral e Agenda Lista da aplicação de
demonstração com um nó selecionado no objeto hpTreeView.
· Corrigido um erro em que os objetos hpLinkDetail e hpLinkMain não exibiam o nome do tema selecionado, além
de não exibir o nome do idioma selecionado no caso do objeto hpLinkMain.
· Corrigidos os parâmetros dos objetos hpXMLCatalog para geração de código XML na aplicação de
demonstração.
6.3.2.3 Formulários
· Corrigido um problema em que as dimensões dos objetos hpDateTimeDisplay1, hpDateTimeDisplay2,
hpSliderHorizontal e hpToggleButton se alteravam conforme novas instâncias destes objetos eram coladas em
Tela.
· Corrigido um erro que impedia dois ou mais objetos hpDateTimeCombo instanciados na mesma Tela de
funcionarem corretamente.
· Corrigido um erro que ocorria ao tentar abrir uma janela pop-up vazia, sem objetos instanciados, usando o recurso
AutoSize.
· Corrigido um erro em que o objeto hpLinkDetail não exibia corretamente o ícone quando a propriedade
AutoScale era igual a Verdadeiro.
· Corrigido um erro em que o objeto hpTranslatorAddLinkXM retornava um erro de script ao tratar um termo
contendo aspa simples.
· Corrigido um erro no objeto hpTreeView em que o último nó deixava de ser exibido sempre que uma condição
específica ocorria ao se recolher a árvore com a barra de rolagem visível.
· Corrigido um erro que provocava o desalinhamento entre a barra de rolagem e o primeiro nó do objeto
hpTreeView. Em virtude desta implementação, foi eliminada a distorção de objetos ao alterar as dimensões.
Adicionalmente a barra de filtro foi redesenhada para refletir o valor configurado na propriedade TreeWidth.
· Corrigido um erro no objeto hpTreeView onde, ao abrir uma janela pop-up contendo este objeto, o foco era
erroneamente atribuído a um objeto auxiliar da caixa de filtro.
· Corrigido um erro onde a cor dos ícones nativos da Biblioteca HighPerformance Template não era alterada ao
alterar o valor da propriedade InvertColors.
· Corrigido um erro que impedia os ícones de serem exibidos corretamente nos nós do objeto hpTreeView.
· Corrigido um erro em que a barra de rolagem não era atualizada com o número total de nós a serem rolados no
objeto hpTreeView.
Integradores Youtube