Você pode fazer com que sua extensão crie botões no Launcher alterando o manifesto da extensão. Os botões personalizados são criados na área de usuário do Launcher e são úteis para executar aplicativos ou abrir um navegador web em uma página específica.

Criar um botão

Para criar um botão você precisa adicionar a chave executar no manifesto. Esta chave é uma lista JSON que pode ter um ou mais comandos. Cada comando registrado no manifesto é executado quando a extensão é instalada/atualizada nos terminais, utilizando os parâmetros definidos na chave parametros. (informação) Você pode criar comando próprios para serem utilizados por sua extensão.

O comando para criar um botão é o comando_launcher, conforme exemplo abaixo. Você deve incluir o parâmetro "-tipo": "inserir_botao" para que o comando entenda que deve registrar um botão no Launcher. Os outros parâmetros determinam o formato e comportamento do botão e o que ele fará quando pressionado. Repare que toda chave informada em parametros é precedida do caracter - (hífen) e isso é obrigatório. (informação) Para mais detalhes sobre como criar comandos para tarefas personalizadas consulte a página Comando.

manifesto.server
{
  ...
  "dependencias":{
    "Launcher":"4.0.*"
  },
  "executar": [
    {
      "comando": "comando_launcher",
      "parametros": {
        "-tipo": "inserir_botao",
        "-id": "NNNNNNNN-NNNN-NNNN-NNNN-NNNNNNNNNNNN",
        "-tamanho": "G",
        "-cor": 5597999,
        "-titulo": "Linha 1\\nLinha 2",
        "-acao": "%NCRColibri%\\plugins\\extensao\\extensao.exe",
        "-diretorio": "%NCRColibri%\\plugins\\extensao\\",
        "-imagem": "In Transit-48.png",
        "-atalho": "",
        "-aguarda_execucao": false,
        "-verifica_permissao": true,
        "-fonte_escura": false,
        "-admin": false,
        "-parametros": null,
        "-produto": "POS" 
      }
    }
  ],
  ...
}
Dicas importantes
  • Adicione dependência ao Launcher 4.*
    O manifesto deve obrigatoriamente indicar dependência do Launcher 4.0 para que funcione. Versões anteriores do Launcher não suportam a criação de botões pelo manifesto.
  • Remova script antigos de criação de botões
    A criação de botões via script (como era nas versões anteriores do Launcher) deixa de funcionar e o script deve ser removido da extensão. Se o script não for removido a atualização da extensão aborta com erro.
  • Utilize a macro %NCRColibri%
    Sempre utilize a macro %NCRColibri% ao definir um caminho relativo à pasta de instalação do sistema, pois o Colibri pode ser instalado em qualquer drive fixo da máquina e se você fixar o caminho em C:\NCR Solution o comando não funcionará.
Apagar um botão

Para apagar um botão você precisa adicionar a chave executar no manifesto. Esta chave é uma lista JSON que pode ter um ou mais comandos. Cada comando registrado no manifesto é executado quando a extensão é instalada/atualizada nos terminais, utilizando os parâmetros definidos na chave parametros. (informação) Você pode criar comando próprios para serem utilizados por sua extensão.

O comando para apagar um botão é o comando_launcher, conforme exemplo abaixo. Você deve incluir o parâmetro "-tipo": "apagar_botao" para que o comando entenda que deve apagar um botão do Launcher. O  único parâmetro necessário é o identificador único (UUID) do botão.

manifesto.server
{
  ...
  "dependencias":{
    "Launcher":"4.7.6.*"
  },
  "executar": [
    {
      "comando": "comando_launcher",
      "parametros": {
        "-tipo": "apagar_botao",
        "-id": "NNNNNNNN-NNNN-NNNN-NNNN-NNNNNNNNNNNN"
      }
    }
  ],
  ...
}
Dicas importantes
  • Adicione dependência ao Launcher 4.7.6.*
    O manifesto deve obrigatoriamente indicar dependência do Launcher 4.7.6 para que funcione. Versões anteriores do Launcher não suportam a exclusão de botões pelo manifesto.
Definir a cor do botão

Você pode definir uma cor diferente para seu botão informando um valor decimal na chave "-cor" do dicionário de parâmetros. 

Para aplicações Windows, os bytes das cores são representados na ordem BGR ao invés de RGB, como é comum na Web. Então, para ter a cor correta no botão você deve usar um hexadecimal no formato #BBGGRR.

Para calcular o valor decimal da cor, siga os passos abaixo:

  1. Obtenha o valor RGB hexadecimal da cor que você pretende utilizar. Por exemplo, #FF8D48

  2. Inverta a posição de RGB para BGR assim você obtém o valor #488DFF.
  3. Converta o número em hexa 0x488DFF para decimal. Esse valor decimal (4.754.943) é o que você deve colocar como valor da chave "-cor". Para o valor deste exemplo a chave fica assim: "-cor": "4754943"
Personalizar a imagem do botão

O Colibri já fornece um conjunto de imagens para utilização com os botões. Estas imagens ficam na pasta \NCR Solution\images\launcher\. Você pode utilizar qualquer uma delas.

A imagem que será apresentada é definida pela chave imagem. O valor da chave deve ser o nome do arquivo de imagem sem o caminho. O Launcher vai procurar um arquivo com este nome em 2 pastas do sistema:

  • Ncr Solution\images\launcher
  • Ncr Solution\user\images\launcher

Além das imagens já disponibilizadas, é possível distribuir suas próprias imagens para utilizá-las em seus botões. A extensão deve ser PNG e recomendamos o tamanho de 48x48 pixels.

Para utilizar uma imagem personalizada, instale-a na pasta %NCRColibri%\user\images\launcher do terminal Master e elas serão automaticamente replicadas nas estações pelos Launchers. Você consegue fazer isso configurando um instalador extra na sua extensão que será executado no terminal Master e instalará as imagens na pasta citada. (informação) Para mais detalhes sobre como instalar arquivos nas pastas do servidor consulte Instalar aplicações .

Nota: A pasta %NCRColibri%\user\images\Launcher é compartilhada com outras aplicações e nunca deve ser apagada ou totalmente substituída. Lembre-se de configurar seu instalador para apagar ou atualizar somente as suas imagens.

Parâmetros do comando

Estes são os parâmetros que podem ser enviados no dicionário "parametros".
(informação) Parâmetros não obrigatórios não precisam ser informados.

ParâmetroObrigValorObservação
-tipo(seleção)inserir_botaoTarefa que será executada pelo comando comando_launcher.
-id(seleção)GUIDID único do botão que será criado. Deve ser obtido através de um gerador de GUID.
-tamanho
P, M ou GDefine o tamanho do botão (padrão é M).
-cor(seleção)Cor do botão

Nº decimal representando a cor do botão (converter o hexa 0xBBGGRR para decimal).

-titulo(seleção)Título do botãoPode-se quebrar linha com um \\n.
(ex: Linha1\\nLinha2)
-acao(seleção)

Caminho do executável a ser acionado

Utilize a macro %NCRColibri% para indicar a pasta de instalação do NCR Colibri. As barras devem sempre ser duplicadas.
(ex: %NCRColibri%\\plugins\\extensao\\extensao.exe)
-diretorio(seleção)Pasta de trabalho do executávelUtilize a macro %NCRColibri% para indicar a pasta de instalação do NCR Colibri. As barras devem ser duplicadas. (ex: %NCRColibri%\\plugins\\extensao\\)
-imagem
Arquivo PNG da imagem do botãoSomente o nome do arquivo, que deve existir na pasta %NCRColibri%\\images\\Launcher\\ ou %NCRColibri%\\user\\images\\Launcher\\
-atalho
Tecla de atalho para acionamento do botãoInforme somente uma letra, como "A", "X", etc.
-aguarda_execucao(seleção)true ou false Indica se deve aguardar a execução. Se for true, não volta para o Launcher enquanto a aplicação disparada não for encerrada.
-verifica_permissao(seleção)true ou falseIndica se deve verificar permissão de usuário antes de executar. O usuário deve ter sido cadastrado na área de usuários do Launcher.
-fonte_escura
true ou falseIndica se utiliza a fonte de cor escura no botão (padrão é true).
-admin
true ou falseIndica se a execução requer rodar como administrador do Windows (padrão é false).
-parametros
Parâmetros de linha de comando para a aplicaçãoAs macros %banco_pos% e %banco_cbo% podem ser utilizadas para gerar automaticamente os parâmetros de conexão com os bancos de dados.
-produto
Produto a que se aplica o botãoPode ser CBO, POS ou Master. Se especificado serão incluídos vários parâmetros adicionais na linha de comando de execução da ação.