@database ViewerPrefs.guide

@$VER: ViewerPrefs.guide 1.0
@author "Ian Campbell"
@(c) "Copyright © 1998 Ian Campbell"

@node "Main" "ViewerPrefs v1.0"
               @{b}ViewerPrefs 1.0@{ub} Editor de Configurações para o IDer 1.06
                        Copyright © 1998 Ian Campbell


                          @{" Introdução          " link "Introduction" 0}
                          @{" Distribuição        " link "Distribution" 0}

                          @{" Requisitos          " link "Requirements" 0}
                          @{" Características     " link "Features" 0}
                          @{" Instalação          " link "Installation" 0}
                          @{" Configuração        " link "Configuration" 0}
                          @{" A Janela Normal     " link "EasyDisplay" 0}
                          @{" A Janela Avançada   " link "ExpertDisplay" 0}

                          @{" Acerca do Autor     " link "Author" 0}
                          @{" Agradecimentos      " link "Thanks" 0}
                          @{" História            " link "History" 0}
@next "Introduction"
@endnode

@node "Introduction" "Introdução"
@prev "Main"
  @{b}Introdução@{ub}
  Quem usa o IDer sabe que o programa oferece um dos melhores métodos de
  visualização de dados. Basta que todos os ícones-projecto tenham o IDer
  como Ferramenta Habitual (Default Tool), para que o programa de 
  visualização adequado seja chamado quando se clica duas vezes no ícone,
  qualquer que seja o ficheiro ao qual o ícone foi atribuído. Não há
  necessidade de estar a arranjar complicações e confusões com diferentes 
  ferramentas para diferentes ícones, directórios incorrectos, etc. E o
  melhor de tudo é que o IDer não é nenhum 'hack'. É simplesmente uma
  forma diferente e original de usar e manipular o sistema operativo!

  Toda a funcionalidade e versatilidade do programa baseia-se no ficheiro
  "IDer.config", o qual tem de ser editado à mão para que o IDer seja
  devidamente configurado. Apesar de não ser muito complicado editar este
  ficheiro manualmente, estamos em 1998 e já deixou de ser moda editar
  ficheiros de texto para configurar programas.

  @{b}ViewerPrefs@{ub}
  É aqui que entra o ViewerPrefs. No fundo trata-se de uma "cara bonita" para
  o IDer, e inclui adicionalmente certas funções que estão fora do alcance
  de um editor de texto (exceptuando talvez o Emacs, mas esse é uma nova
  forma de vida, não um editor de texto... ;).

  Agora, sempre que acabar de puxar, por exemplo, um novo e rapidíssimo
  visualizador de Jpeg's ou um espectacular leitor de sons 16-bit, basta
  arrastar & largar os ícones desses programas no ViewerPrefs para que todos
  os Jpeg's e sons sejam lidos com esses novos programas.

  Esta capacidade é também ideal para pessoas que criam e gravam CD's!
  Aliás, inicialmente, o ViewerPrefs foi criado como uma espécie de CUCDPrefs,
  mas com a possibilidade de uma utilização mais globalizada também em
  discos duros, entre outros sistemas (o CUCDPrefs só corre se um dos
  CUCD's estiver presente na unidade CD-Rom, dado que antes de usar o
  programa é preciso correr o InitCD, que só se encontra nos CUCD's). Já
  agora, tenho de dar os parabéns à CU-Amiga pelos seus CD's. São bestiais!
@next "Distribution"
@endnode

@node "Distribution" "Distribuição"
@prev "Introduction"
  @{b}Declaração@{ub}
  Ao usar este produto, o utilizador aceita toda a responsabilidade por
  quaisquer prejuízos ou perda de dados que possam ocorrer aquando da
  utilização deste programa. Eu (Ian Campbell) não posso ser
  responsabilizado.

  @{b}Distribuição@{ub}
  O ViewerPrefs é Freeware. Não cobro qualquer preço pela utilização deste
  programa. O arquivo do programa pode ser distribuído por BBS's, Internet,
  colecções de Software como os CD's da Aminet, e CD-ROM's, sempre desde
  que o arquivo e qualquer dos ficheiros nele contidos não sofram
  alterações.

@next "Requirements"
@endnode

@node "Requirements" "Requisitos do Sistema"
@prev "Distribution"
  @{b}Requisitos do Sistema@{ub}
    - Kickstart 3.0 ou superior
    - CPU 68020 ou superior
    - MUI 3.8 ou superior (util/libs/mui38usr.lha)
      (o programa pode chegar a correr em versões anteriores do MUI, mas
      nunca numa versão inferior à 2.0, dado que o programa usa 'custom
      classes')
    - IDer 1.06 (util/wb/ider.lha)
 
    Este programa foi programado num A1200 3.1 e com a demo do MUI 3.8.
@next "Features"
@endnode

@node "Features" "Características"
@prev "Requirements"
  @{b}Caracteríticas@{ub}
    - Interface MUI, pelo que o programa pode ser personalizado ao seu
      aspecto favorito.
    - Basta Arrastar & Largar um ícone de um Datatype para criar
      automaticamente um novo elemento na lista.
    - 'Janela Avançada' que permite editar todos e cada um dos pormenores do
      ficheiro config.
    - 'Janela Normal' para uma utilização diária.
    - Todos os botões/menus, etc, são semelhantes aos outros editores de
      preferências do sistema, pelo que quase nem é preciso ler este guia!
    - Ajuda sensível ao assunto, e balões de ajuda.
    - O programa carrega parcialmente ficheiros config corrompidos.
    - Possibilidade de usar um ficheiro config "habitual".
    - Programa totalmente traduzido, entre outras línguas, ao Português.
@next "Installation"
@endnode

@node "Installation" "Instalação"
@prev "Features"
  @{b}Instalação@{ub}
  Use o script de instalação ou simplesmente arraste o ícone para onde
  quiser. Opcionalmente, pode ligar os Tipos para a Ferramenta (ToolTypes) 
  @{"HELPFILE" link "Configuration" 0} para obter ajuda on-line e @{"ORIGFILE" link "Configuration" 0} para
  dispôr da opção "Voltar à Configuração Habitual" (Reset to Defaults).
@next "Configuration"
@endnode

@node "Configuration" "Configuração"
@prev "Installation"
  Actualmente, o ViewerPrefs só pode ser corrido a partir do Workbench, e pode
  ser configurado através dos seguintes Tipos para a Ferramenta (ToolTypes).
  Todos eles são opcionais.

  @{b}SAVENAME@{ub}   - Este é o nome/directório onde o ficheiro config
               será gravado quando clicar em 'Gravar'.
               Directório habitual: "envarc:IDer.prefs"
 
  @{b}USENAME@{ub}    - Este é o nome/directório onde o ficheiro config
               será gravado quando clicar em 'Usar'.
               Directório habitual: "env:IDer.prefs"

  @{b}ORIGNAME@{ub}   - Este é o nome/directório de onde será carregado o
               ficheiro config quando escolher o comando por menu "Voltar
               à Configuração Habitual". Normalmente, o directório habitual
               aponta para uma cópia do ficheiro config que foi distribuído
               com o IDer, mas o ficheiro aqui indicado pode ser qualquer
               outro. Por exemplo, se estivesse a usar o IDer + ViewerPrefs
               para criar o seu próprio CD-ROM cheio de diferentes dados, e
               quisesse que um futuro utilizador do seu CD-ROM pudesse
               usar outros programa de visualização, para além dos incluídos
               no CD, seria possível através deste Tipo indicar um ficheiro
               config no CD que estivesse em boas condições, no caso do
               utilizador corromper o ficheiro config original.
               O directório habitual é: "progdir:orig_IDer.prefs"

  @{b}HELPNAME@{ub}   - Este é o nome/directório do ficheiro .guide do
               ViewerPrefs. Se especificar o directório do .guide e premir
               a tecla Help durante a utilização do programa, aparecerá
               esta documentação.
               Directório habitual: "progdir:ViewerPrefs.guide"

  @{b}EXPERTMODE@{ub} - (=YES|NO) Arranca o programa no modo Avançado
               ('Expert'), também conhecido como o modo da 'Terrível 
               Verdade' ;).  O valor habitual é NO, o que significa
               que o programa arrancará no modo da 'Idade da Inocência' ;)

  @{b}CREATEICONS@{ub} - (=YES|NO) Se por alguma razão, quiser gravar
               muitos ficheiros config, através do comando 'Gravar como'
               esta opção vai ajudá-lo a saber onde eles se encontram, já
               que será atribuído um ícone a todos os ficheiros gravados.
               De notar que se utilizar as funções 'Gravar' e 'Usar',
               os ficheiros gravados não receberão qualquer ícone.
               Valor habitual: YES (para haver consistência com os outros
               editores do sistema)
@next "EasyDisplay"
@endnode

@node "EasyDisplay" "A Janela Normal"
@prev "Configuration"
  @{b}A Janela Normal@{ub}
  Esta janela compreende-se com bastante facilidade.

  @{b}O nome acima do cursor@{ub} apresenta o nome do ficheiro config que
  foi carregado durante o arranque do programa. Este nome poderá não ser
  o nome com que o ficheiro será gravado posteriormente. O nome usado na
  gravação é sempre determinado pelo Tipo para a Ferramenta ('ToolType')
  @{"SAVENAME" link "Configuration" 0}. Se quiser saber qual será o nome
  usado na gravação do ficheiro, deixe estar o ponteiro de rato parado sobre
  o botão Gravar durante alguns segundos.

  @{b}O botão Apagar@{ub} apaga o elemento apresentado.

  @{b}Largar uma ferramenta@{ub} em qualquer parte da janela (excepto no
  cursor), altera a Acção da classe, dependendo do ficheiro que é largado
  na janela.

  @{b}Largar uma descrição de um Datatype@{ub} no cursor cria
  automaticamente um novo elemento, o qual é baseado na descrição do
  ficheiro contido no próprio Datatype.
  Veja também: @{"Aspectos Técnicos" link "Technical" 0}

  @{b}Gravar, Usar, Cancelar@{ub} correspondem às opções habituais.
  No caso particular do ViewerPrefs, é possível especificar os nomes que serão
  usados para gravar os ficheiros.
  Veja também: @{"Configuração" link "Configuration" 0}. Lembre-se que o
  botão Gravar grava sempre o ficheiro no directório definido em
  SAVENAME @{b}e em@{ub} USENAME (por exemplo, em env: e em envarc: ao
  mesmo tempo).
@next "ExpertDisplay"
@endnode

@node "Technical"
@prev "Easy Display"
  Quando se larga o ícone de um Datatype no cursor, o Dataype será analisado,
  sendo criado um novo elemento. Segue-se a explicação do processo.

    @{b}O que é que o 'parser' analisa:@{ub}
    O campo CLASS: este é construído através de uma junção do dth_Name
    com o dth_GroupID, como por exemplo, GIF+Picture = GIF_Picture;
    8SVX + Sound = SVX_Sound.

    @{b}O campo NAME:@{ub} Se o DTD contiver um nome de ficheiro expandido,
    como por exemplo #?.(jpg|jpeg), será este que aparecerá no campo NAME.

    @{b}O campo OFFSET:@{ub} Se o DTD contiver uma 'file mask', ela será
    armazenada no campo OFFSET com um "0," anexado. O armazenamento será
    feito na forma de uma 'hex mask' se o DTD tiver o bit 'CaseSensitive'
    ligado, ou então como uma 'ASCII mask' se não estiver ligado. A única
    excepção que encontrei a esta regra é o Datatype CDXL que contém uma
    comparação de hexadecimais sem sensibilidade a maiúsculas/minúsculas?!
    (O Datatype deve ter sido mal programado).

    @{b}O sub-campo FLAGS=I:@{ub} O valor deste bit 'CaseSensitive' do 
    Datatype também será usado para definir o bit FLAGS=I do IDer
    (para o valor contrário).

    @{b}O campo ACTION:@{ub} Se o Datatype contiver um ou mais 'chunks'
    DTTL (Datatype Tool), e o tipo de um deles for '3' (= ferramenta do
    editor), este programa será directamente colocado no campo ACTION.
    Se não o conseguir, será inserido o tipo 2 (= ferramenta de
    visualização). Actualmente, não conheço nenhum Datatype que use esta
    função, nem sequer os excelentes datatypes AK.

    @{b}Datatypes com 'hooks' especiais de identificação de código:@{ub}
    Se o datatype usar um 'hook' especial de comparação para identificar
    os ficheiros (um exemplo seria o Datatype MacSnd), o ViewerPrefs
    rejeita-lo-á (por motivos óbvios).
@next "ExpertDisplay"
@endnode

@node "ExpertDisplay" "A Janela Avançada"
@prev "EasyDisplay"
  @{b}A Janela Avançada@{ub}
  Esta também é bastante fácil de compreender (aliás, quem viu o código-
  -fonte, deve ter reparado que ambas as janelas são uma sub-classe de
  um "EZDisplay").

  Se já editou manualmente o ficheiro config do IDer, talvez seja mais
  rápido configurar o programa lendo @{"esta secção" link "TextEdit" 0}.

  Na Janela Avançada aparece uma secção adicional no fundo, que lhe
  permite editar as próprias definições das classes. Na secção superior
  também há comandos novos, como um botão Inserir e Apagar. A informação
  Nome da Classe passa a ser uma caixa de texto.

  @{b}Inserir@{ub} - Cria um novo elemento que pode ser editado manualmente.

  @{b}Pilha:@{ub} - Este é o tamanho da pilha ('stack') definida para este
           programa. O valor habitual é de 4096 bytes.

  @{b}Pri:@{ub}   - Com bem sabe, o Amiga tem capacidades de
           multi-tarefa! :) Esta é a prioridade do programa, que pode variar
           entre -127 e 128. O valor habitual é 0.

  @{b}Sem Aspas no Nome dos Ficheiros@{ub} - Escolha esta opção se algum
                      dos seus programa não conseguir analisar nomes de
                      ficheiros dentro de aspas. Se não ligar esta opção, o
                      IDer colocará sempre aspas antes e depois do nome do
                      ficheiro, de modo a permitir a utilização de espaços
                      no nome.

  @{b}Igualar: Ciclo@{ub} - O IDer tem 3 formas de identificar um ficheiro
                 (sufixo, nome do ficheiro, e 'string' de caracteres algures
                 no próprio ficheiro). Quais desta condições têm de ser
                 igualadas, de forma que o IDer corra o programa adequado
                 para apresentar o ficheiro?

  @{b}Nome:@{ub} - Este é um padrão habitual do AmigaDOS, como os que se
          costumam ver nos seleccionadores de ficheiros ('file requesters'),
          por exemplo (mod.#?|#?.mod)

  @{b}Sufixo:@{ub} - Se não precisar de ser tão específico ao ponto de usar
            a opção Nome, pode usar esta, onde basta indicar o sufixo do
            ficheiro, por exemplo .GIF .

  @{b}'String':@{ub} - Esta é a opção mais poderosa. Sabia que a maior
            parte dos ficheiros têm uma espécie de 'labela' no seu interior,
            que os identifica em relação ao sistema? Se conhecer a 'labela'
            comum a um certo tipo de ficheiro, pode indicar aqui essa 
            'labela', de maneira que o IDer reconheça o tipo de ficheiro.
            1º Método: indique o <offset> e <valor> para um 'número
            comum' ao tipo de ficheiro. O número é exprimido em valores
            hexadecimais, por exemplo 16,DE..BE.. (.. é um Wildcard).
            2º Método: <offset>, "string" se existir sempre uma 'string'
            ou pedaço de texto comum a todos os ficheiros. Por exemplo, 
            os documentos Amigaguide começam sempre com o texto @database,
            pelo que sabendo isto, o utilizador indicaria nesta opção
            0,@database para identificar todos os ficheiros que estivessem
            no formato AmigaGuide (e neste caso, ? seria o Wildcard).
            Esta é forma mais eficaz de tentar igualar um certo tipo de
            ficheiros, dado que os ficheiros serão igualados mesmo quando os
            seus nomes não têm nada em comum. Por exemplo, com esta opção,
            mesmo um ficheiro Jpeg cujo nome tivesse a extensão .gif seria
            identificado como Jpeg!
            Normalmente, esta opção é automaticamente preenchida quando
            se arrasta e larga um ícone de um Datatype sobre a janela do
            ViewerPrefs.

  @{b}Não Sensível a Maiúsculas/Minúsculas@{ub} - Se está a tentar igualar
                      ficheiros através do nome ou de uma 'string' presente
                      no próprio ficheiro, é aconselhável ligar esta opção.
                      Por exemplo, com esta opção ligada, todos os ficheiros
                      que contivessem a 'string' @Database, @dataBase, ou
                      mesmo @DaTaBaSE seriam considerados como sendo do
                      formato AmigaGuide.

  Durante a utilização do programa, os balões de informação poderão
  dar-lhe mais informações.
@next "Author"
@endnode

@node "TextEdit" "Edição de Texto"
@prev "ExpertDisplay"
 @{b}Mas eu prefiro usar um editor de texto...@{ub}
  Todos os nomes das caixas de texto correspondem exactamente aos seus
  nomes de parâmetros no ficheiro config, excepto:

   O conteúdo de "'String'" é considerado como "OFFSET=".
   A opção "Não Sensível a Maiúsculas/Minúsculas" liga o atributo ('flag')
   "I".
   A opção "Sem Aspas nos Nomes de Ficheiros" liga o atributo "Q".
   O botão de ciclo "Igualar:" liga os atributos "A" e "T".
@next "Author"
@endnode

@node "Author" "Acerca do Autor"
@prev "ExpertDisplay"
  @{b}Acerca do Autor@{ub}
    Sou um jovem de 23 anos residente em Trentham, Upper Hutt na ilha 
    Norte da Nova Zelândia, onde belos animais selvagens habitam
    tranquilamente as serras nevadas sob um céu límpido e azulado. Mas,
    acima de tudo, a taxa mensal de acesso à Internet é de apenas
    4000$, já que as chamadas locais são completamente gratuitas! Mais
    ainda, a MTV Europe é transmitida a nível regional sem quaisquer taxas
    adicionais! Tenho também um Bacharelato em Ciências da Computação da
    Victoria University of Wellington.

    Tenho sido um forte entusiasta do Amiga desde que vendi o meu C64 para
    comprar um A500, em 1989.  Actualmente, o meu sistema é constituído
    por um A1200 com uma Blizzard '030/50, 16+2 de RAM, CDROM 6x, Monitor
    C=1942 e dois discos de 2.5" montados dentro do computador - um de 500Mb
    e outro de 60Mb (esta é talvez a configuração do utilizador 'vulgar'
    de Amigas, ou será que hoje em dia o '040 já é considerado o padrão
    mínimo?)

    O ViewerPrefs é o meu primeiro programa para o AmigaOS, e programei-o
    apenas para me distrair nas alturas em que não me encontro a reflectir
    na questão do momento "O que vou fazer na vida?". Acabei há pouco tempo
    de chegar das minhas férias no Reino Unido, e ainda não pensei no que
    vou fazer no futuro. Portanto, peço-lhe que me envie todos os relatórios
    de bugs, sugestões, etc, para que eu tenha pelo menos alguma coisa para
    fazer!

  @{b}EMail@{ub}
    icampbell@xtra.co.nz
  
    Para os interessados, este programa foi programado num estilo semi-O/O
    em C++ (todos os acessos a ficheiros são levados a cabo por classes),
    tendo sido depois compilado com o SAS/C 6.58.

 
@next "Thanks"
@endnode

@node "Thanks" "Obrigado a todos!"
@prev "Author"
 @{b}Agradeço aos autores dos seguintes programas@{ub}:
    - "IDer 1.06" de Dave Dustin (obviamente! ;).  (utl/wb/IDer.lha)
    - "SAS/C 6.58" da SAS Institute, mas particularmente de Steve Krueger.
    - "MUI 3.8" de Stefan Stuntz.              (util/libs/mui38demo.lha)
    - "Localizer 1.37" de Massamilliano Origgi, com o qual foi facílimo
      implementar o suporte para Locale neste programa.
      (dev/misc/Localizer1.37)
    - "MakeDT 1.3" de Michal Letowski, cujo código-fonte em AREXX permitiu-
      -me programar uma classe em C++ para todos os pequenos ficheiros 
      de Datatypes presentes em devs:datatypes. (dev/misc/MakeDT-1.3.lha)
    - Aminet e aos seus criadores.
@next "History"
@endnode

@node "History" "História do Programa"
@prev "Thanks"
    Versão @{b}1.0@{ub}  (28.1.1998)

      - Primeiro lançamento público.
 
@endnode
