From 0b8ca6637be94f7814cafa7d01ad4699672ff336 Mon Sep 17 00:00:00 2001 From: Darrell Anderson Date: Tue, 21 Jan 2014 22:06:48 -0600 Subject: Beautify docbook files --- .../docs/tdevelop/kde_app_devel/index.docbook | 1705 ++-------- tde-i18n-pt/docs/tdevelop/kdearch/index.docbook | 3513 +++++--------------- .../tdevelop/tdevelop/adv-build-management.docbook | 208 +- .../docs/tdevelop/tdevelop/app-changelog.docbook | 46 +- .../docs/tdevelop/tdevelop/app-files.docbook | 1707 ++-------- .../docs/tdevelop/tdevelop/app-menu.docbook | 61 +- .../docs/tdevelop/tdevelop/app-misc-info.docbook | 30 +- .../tdevelop/tdevelop/app-uimodes-examples.docbook | 133 +- .../tdevelop/tdevelop/applicationwizard.docbook | 1463 ++------ .../docs/tdevelop/tdevelop/class-browsers.docbook | 84 +- .../docs/tdevelop/tdevelop/commands.docbook | 3383 ++++--------------- tde-i18n-pt/docs/tdevelop/tdevelop/credits.docbook | 32 +- tde-i18n-pt/docs/tdevelop/tdevelop/cvs.docbook | 124 +- .../docs/tdevelop/tdevelop/debugger.docbook | 327 +- .../docs/tdevelop/tdevelop/documentation.docbook | 71 +- tde-i18n-pt/docs/tdevelop/tdevelop/editing.docbook | 676 +--- .../docs/tdevelop/tdevelop/file-browsers.docbook | 54 +- .../docs/tdevelop/tdevelop/getting-started.docbook | 613 +--- tde-i18n-pt/docs/tdevelop/tdevelop/index.docbook | 587 +--- .../docs/tdevelop/tdevelop/nutshell.docbook | 320 +- .../docs/tdevelop/tdevelop/plugin-tools.docbook | 844 ++--- .../tdevelop/tdevelop/project-advanced.docbook | 91 +- .../tdevelop/tdevelop/project-management.docbook | 1295 ++------ tde-i18n-pt/docs/tdevelop/tdevelop/setup.docbook | 2586 +++----------- .../docs/tdevelop/tdevelop/survey-manual.docbook | 295 +- .../tdevelop/tdevelop/tdevelop-install.docbook | 1417 ++------ .../tdevelop/tdevelop/tdevelop-scripting.docbook | 58 +- .../docs/tdevelop/tdevelop/tdevelop-survey.docbook | 753 +---- tde-i18n-pt/docs/tdevelop/tdevelop/unixdev.docbook | 672 +--- 29 files changed, 5008 insertions(+), 18140 deletions(-) (limited to 'tde-i18n-pt/docs/tdevelop') diff --git a/tde-i18n-pt/docs/tdevelop/kde_app_devel/index.docbook b/tde-i18n-pt/docs/tdevelop/kde_app_devel/index.docbook index 27504bc1388..11f8fca5bfc 100644 --- a/tde-i18n-pt/docs/tdevelop/kde_app_devel/index.docbook +++ b/tde-i18n-pt/docs/tdevelop/kde_app_devel/index.docbook @@ -1,154 +1,83 @@ KDevelop"> + KDevelop"> - + ]> -O Manual de Programação do &tdevelop; +O Manual de Programação do &tdevelop; -2002-12-05 -2.0 +2002-12-05 +2.0 -Ralf Nolden
Ralf.Nolden@post.rwth-aachen.de
+Ralf Nolden
Ralf.Nolden@post.rwth-aachen.de
-Caleb Tennis
caleb@aei-tech.com
+Caleb Tennis
caleb@aei-tech.com
-1999 -Ralf Nolden +1999 +Ralf Nolden -2002 -Caleb Tennis +2002 +Caleb Tennis -&FDLNotice; +&FDLNotice; -O Guia de Utilizador para o Desenho de Aplicações em C++ para o Ambiente de Trabalho K (KDE) com o IDE &tdevelop; +O Guia de Utilizador para o Desenho de Aplicações em C++ para o Ambiente de Trabalho K (KDE) com o IDE &tdevelop; -KDE -KDevelop -IDE -desenvolvimento -programação +KDE +KDevelop +IDE +desenvolvimento +programação
-Introdução -À medida que os Sistemas Unix se tornam cada vez mais populares, até para principiantes no uso de computadores, devido às suas vantagens no que toca à estabilidade e funcionalidade, muitas pessoas ficam desiludidas, porque muita aplicações não tem uma aparência consistente e cada uma se comporta de uma forma diferente. Com o KDE, as equipas de desenvolvimento tem um modo quase perfeito de criar aplicações para estações de trabalho Unix, obtendo um maior comunidade de utilizadores meramente devido à qualidade das suas aplicações. Desta forma, o KDE tem-se tornado cada vez mais popular como base de programação, e os programadores querem tomar partido das possibilidades que o sistema tem para oferecer. +Introdução +À medida que os Sistemas Unix se tornam cada vez mais populares, até para principiantes no uso de computadores, devido às suas vantagens no que toca à estabilidade e funcionalidade, muitas pessoas ficam desiludidas, porque muita aplicações não tem uma aparência consistente e cada uma se comporta de uma forma diferente. Com o KDE, as equipas de desenvolvimento tem um modo quase perfeito de criar aplicações para estações de trabalho Unix, obtendo um maior comunidade de utilizadores meramente devido à qualidade das suas aplicações. Desta forma, o KDE tem-se tornado cada vez mais popular como base de programação, e os programadores querem tomar partido das possibilidades que o sistema tem para oferecer. -O que já deve saber -Para utilizar este manual de programação da melhor forma possível, assumimos que já está familiarizado com a linguagem de programação C++; se não, deve aprendê-la primeiro. Informações acerca do C++ está disponível através de várias fontes, quem em formato impresso na sua livraria local, quer em tutoriais que pode encontrar na Internet. Não são necessário conhecimentos de desenho de Interfaces Gráficas de Utilizador, uma ver que este manual tenta cobrir o desenho de aplicações KDE, o que também incluí uma introdução ao Qt bem como às bibliotecas KDE e ao desenho de Interfaces de Utilizador. Também, deve aprender a utilizar o &tdevelop;, lendo o Manual de Utilizador do &tdevelop;, que contém uma descrição das funcionalidades do ambiente de programação. +O que já deve saber +Para utilizar este manual de programação da melhor forma possível, assumimos que já está familiarizado com a linguagem de programação C++; se não, deve aprendê-la primeiro. Informações acerca do C++ está disponível através de várias fontes, quem em formato impresso na sua livraria local, quer em tutoriais que pode encontrar na Internet. Não são necessário conhecimentos de desenho de Interfaces Gráficas de Utilizador, uma ver que este manual tenta cobrir o desenho de aplicações KDE, o que também incluí uma introdução ao Qt bem como às bibliotecas KDE e ao desenho de Interfaces de Utilizador. Também, deve aprender a utilizar o &tdevelop;, lendo o Manual de Utilizador do &tdevelop;, que contém uma descrição das funcionalidades do ambiente de programação. -Acerca deste Manual -Esta manual foi escrito para dar ao programadores um introdução ao desenvolvimento de aplicações KDE utilizando o Ambiente Integrado de Desenvolvimento KDevelop. -Os capítulos seguintes começam por uma introdução como criar projectos, explicam o código fonte já gerado e mostram como extender o código dado com barras de ferramentas, barras de menu e áreas de visualização. -Em seguida o editor de diálogo é discutido em detalhe, explicando como os 'widgets' são criados e cobre a configuração das propriedades de 'widgets' em detalhe. -Finalmente, você irá aprender sobre vários tópicos que irão completar o seu conhecimento no que respeita ao desenho de projectos e o ajudará a lidar com os tópicos adicionais para além da codificação, como a adição de documentação da API ou extender os manuais 'online'. +Acerca deste Manual +Esta manual foi escrito para dar ao programadores um introdução ao desenvolvimento de aplicações KDE utilizando o Ambiente Integrado de Desenvolvimento KDevelop. +Os capítulos seguintes começam por uma introdução como criar projectos, explicam o código fonte já gerado e mostram como extender o código dado com barras de ferramentas, barras de menu e áreas de visualização. +Em seguida o editor de diálogo é discutido em detalhe, explicando como os 'widgets' são criados e cobre a configuração das propriedades de 'widgets' em detalhe. +Finalmente, você irá aprender sobre vários tópicos que irão completar o seu conhecimento no que respeita ao desenho de projectos e o ajudará a lidar com os tópicos adicionais para além da codificação, como a adição de documentação da API ou extender os manuais 'online'. -No próximo capítulo -Iremos dar uma vista de olhos nas bibliotecas do Qt e do KDE, mostrando os conceitos básicos e porque é que as coisas são assim. Também iremos discutir como criar as aplicações tutoriais que vêm com a plataforma do Qt, usando o &tdevelop;, para que os principiantes possam ver logo primeiros resultados com alguns passos, e deste modo aprender como tirar partido de algumas das melhores funcionalidades do &tdevelop;. +No próximo capítulo +Iremos dar uma vista de olhos nas bibliotecas do Qt e do KDE, mostrando os conceitos básicos e porque é que as coisas são assim. Também iremos discutir como criar as aplicações tutoriais que vêm com a plataforma do Qt, usando o &tdevelop;, para que os principiantes possam ver logo primeiros resultados com alguns passos, e deste modo aprender como tirar partido de algumas das melhores funcionalidades do &tdevelop;. -Nos capítulos seguintes -Irá aprender a: -criar uma aplicação com o KAppWizard -O que o esqueleto do projecto já fornece -O que o código já criado significa -Como criar as suas próprias vistas -Como expandir a funcionalidade da sua aplicação utilizador diálogos, barras de menu e barras de ferramentas -Como tornar a sua aplicação fácil de utilizar criando funções de ajuda -Como escrever documentação electrónica +Nos capítulos seguintes +Irá aprender a: +criar uma aplicação com o KAppWizard +O que o esqueleto do projecto já fornece +O que o código já criado significa +Como criar as suas próprias vistas +Como expandir a funcionalidade da sua aplicação utilizador diálogos, barras de menu e barras de ferramentas +Como tornar a sua aplicação fácil de utilizar criando funções de ajuda +Como escrever documentação electrónica @@ -156,92 +85,40 @@ -Dados Adicionais -Mais informações acerca de programação em Qt/KDE está disponível em várias fontes: -Programar com o Qt por Matthias Kalle Dalheimer -O Manual de Utilizador do KDevelop, fornecido com o IDE KDevelop -A Referência Electrónica da biblioteca Qt -A página web para Programadores do KDE +Dados Adicionais +Mais informações acerca de programação em Qt/KDE está disponível em várias fontes: +Programar com o Qt por Matthias Kalle Dalheimer +O Manual de Utilizador do KDevelop, fornecido com o IDE KDevelop +A Referência Electrónica da biblioteca Qt +A página web para Programadores do KDE -Adicionalmente, você deverá procurar alguma ajuda, subscrevendo-se nas várias listas de correio, cujos endereços estão disponíveis nos 'sites' Web acima mencionados, ou nos fóruns de discussão dedicados aos utilizadores do KDE e dos Sistemas UNIX, assim como sobre as linguagens de programação C e C++. -Para obter ajuda sobre o IDE KDevelop, você deverá enviar pedidos para a nossa lista de correio em kdevelop@kdevelop.org. Lembre-se que a equipa do KDevelop está dedicada a fornecer os meios que lhe permitam programar aplicações e, por isso, não pretende ser uma equipa de suporte técnico para os casos em que as aplicações que você desenvolve não funcionam devido a erros de implementação ou más configurações do seu sistema operativo. Com isto, pedimos a todos os utilizadores para tirarem partido da lista de correio em qualquer caso em que tenham problemas com a utilização do próprio IDE, assim como para enviarem erros e sugestões para melhorarem a funcionalidade do ambiente de desenvolvimento. +Adicionalmente, você deverá procurar alguma ajuda, subscrevendo-se nas várias listas de correio, cujos endereços estão disponíveis nos 'sites' Web acima mencionados, ou nos fóruns de discussão dedicados aos utilizadores do KDE e dos Sistemas UNIX, assim como sobre as linguagens de programação C e C++. +Para obter ajuda sobre o IDE KDevelop, você deverá enviar pedidos para a nossa lista de correio em kdevelop@kdevelop.org. Lembre-se que a equipa do KDevelop está dedicada a fornecer os meios que lhe permitam programar aplicações e, por isso, não pretende ser uma equipa de suporte técnico para os casos em que as aplicações que você desenvolve não funcionam devido a erros de implementação ou más configurações do seu sistema operativo. Com isto, pedimos a todos os utilizadores para tirarem partido da lista de correio em qualquer caso em que tenham problemas com a utilização do próprio IDE, assim como para enviarem erros e sugestões para melhorarem a funcionalidade do ambiente de desenvolvimento. -As bibliotecas KDE e Qt -A equipa norueguesa TrollTech (http://www.trolltech.com) oferece uma plataforma GUI chamada Qt. GUI significa "Graphical User Interface" ou "Interface Gráfica de Utilizador" e, como tal, as aplicações baseadas em Qt representam-se a si próprias com botões, janelas, etc, permitindo a interacção com o utilizador através da visualização das funções que uma aplicação fornece. Uma plataforma deste género é necessária para desenvolver aplicações gráficas que funcionem na interface X-Windows dos sistemas Unix, dado que o X não contém uma interface de utilizador por si só. Ainda que existam outras plataformas disponíveis para criar Interfaces de Utilizador, o Qt oferece algumas vantagens técnicas que tornam o desenho de aplicações muito simples. Para além disso, a plataforma do Qt está também disponível para os sistemas Microsoft Windows, o que permite aos programadores fornecerem as suas aplicações para ambas as plataformas. -A Equipa do KDE (http://www.kde.org) juntou-se em conjunto com o objectivo de tornar os Sistemas Unix mais amigáveis e decidiu usar a plataforma do Qt para o desenvolvimento de um gestor de janelas no X-Windows, em conjunto com uma variedade de ferramentas incluídas nos pacotes do KDE. O Ambiente de Trabalho K contém, deste modo, o gestor de janelas 'twin', o gestor de ficheiros e navegador 'konqueror' e o painel 'kicker' como componentes principais, para além de um conjunto de utilitários e aplicações de primeira classe. Depois de o KDE ter saído, vários programadores começaram a olha para o novo ambiente e para o que ele tem para lhes oferecer. As bibliotecas do KDE estão a fornecer métodos e classes essenciais que tornam todas as aplicações desenhadas com eles similares e consistentes, de modo a que o utilizador tenha a grande vantagem de só ter de se acostumar com a utilização específica de uma aplicação e não com a utilização de janelas e botões. Da mesma forma, os programas do KDE integram-se no ambiente de trabalho e conseguem interagir com o gestor de ficheiros com 'Drag and Drop' (Arrastar e Largar', tendo também a gestão de sessões entre muitas outras coisas, se forem usadas as funcionalidades oferecidas pelas bibliotecas do KDE. Tanto a plataforma do Qt com as bibliotecas do KDE são implementadas na linguagem de programação C++; como tal, as aplicações que tiram partido destas bibliotecas são também feitos em grande medida em C++. No capítulo seguinte, iremos fazer uma breve viagem pelas bibliotecas para ver o que já é oferecido e como é que as aplicações do Qt e do KDE são criadas de um modo geral. -Tanto a plataforma do Qt como as bibliotecas do KDE estão implementadas na linguagem de programação C++; como tal, as aplicações que tiram partido dessas bibliotecas também são em grande parte feitas em C++. No capítulo seguinte, iremos fazer uma viagem rápida pelas bibliotecas para ver o que já é fornecido e como é que as aplicações do Qt e do KDE são criadas, de um modo geral. +As bibliotecas KDE e Qt +A equipa norueguesa TrollTech (http://www.trolltech.com) oferece uma plataforma GUI chamada Qt. GUI significa "Graphical User Interface" ou "Interface Gráfica de Utilizador" e, como tal, as aplicações baseadas em Qt representam-se a si próprias com botões, janelas, etc, permitindo a interacção com o utilizador através da visualização das funções que uma aplicação fornece. Uma plataforma deste género é necessária para desenvolver aplicações gráficas que funcionem na interface X-Windows dos sistemas Unix, dado que o X não contém uma interface de utilizador por si só. Ainda que existam outras plataformas disponíveis para criar Interfaces de Utilizador, o Qt oferece algumas vantagens técnicas que tornam o desenho de aplicações muito simples. Para além disso, a plataforma do Qt está também disponível para os sistemas Microsoft Windows, o que permite aos programadores fornecerem as suas aplicações para ambas as plataformas. +A Equipa do KDE (http://www.kde.org) juntou-se em conjunto com o objectivo de tornar os Sistemas Unix mais amigáveis e decidiu usar a plataforma do Qt para o desenvolvimento de um gestor de janelas no X-Windows, em conjunto com uma variedade de ferramentas incluídas nos pacotes do KDE. O Ambiente de Trabalho K contém, deste modo, o gestor de janelas 'twin', o gestor de ficheiros e navegador 'konqueror' e o painel 'kicker' como componentes principais, para além de um conjunto de utilitários e aplicações de primeira classe. Depois de o KDE ter saído, vários programadores começaram a olha para o novo ambiente e para o que ele tem para lhes oferecer. As bibliotecas do KDE estão a fornecer métodos e classes essenciais que tornam todas as aplicações desenhadas com eles similares e consistentes, de modo a que o utilizador tenha a grande vantagem de só ter de se acostumar com a utilização específica de uma aplicação e não com a utilização de janelas e botões. Da mesma forma, os programas do KDE integram-se no ambiente de trabalho e conseguem interagir com o gestor de ficheiros com 'Drag and Drop' (Arrastar e Largar', tendo também a gestão de sessões entre muitas outras coisas, se forem usadas as funcionalidades oferecidas pelas bibliotecas do KDE. Tanto a plataforma do Qt com as bibliotecas do KDE são implementadas na linguagem de programação C++; como tal, as aplicações que tiram partido destas bibliotecas são também feitos em grande medida em C++. No capítulo seguinte, iremos fazer uma breve viagem pelas bibliotecas para ver o que já é oferecido e como é que as aplicações do Qt e do KDE são criadas de um modo geral. +Tanto a plataforma do Qt como as bibliotecas do KDE estão implementadas na linguagem de programação C++; como tal, as aplicações que tiram partido dessas bibliotecas também são em grande parte feitas em C++. No capítulo seguinte, iremos fazer uma viagem rápida pelas bibliotecas para ver o que já é fornecido e como é que as aplicações do Qt e do KDE são criadas, de um modo geral. -A Plataforma Gráfica Qt -Como foi dito, a biblioteca Qt é uma ferramenta que oferece elementos gráficos usados para criar aplicações gráficas e que são necessários para programar no X-Windows. Para além disso, a plataforma oferece: -Um conjunto completo de classes e métodos prontos a utilizar mesmo para programação não gráfica -Um boa solução para a interacção com o utilizador através de métodos virtuais e o mecanismo signal/slot -Um conjunto de elementos gráficos predefinidos, chamados "widgets", que podem ser utilizador para criar facilmente os elementos visíveis -Para além disto diálogo completamente predefinidos são muito utilizados nas aplicações, tais como janelas de evolução e de ficheiros +A Plataforma Gráfica Qt +Como foi dito, a biblioteca Qt é uma ferramenta que oferece elementos gráficos usados para criar aplicações gráficas e que são necessários para programar no X-Windows. Para além disso, a plataforma oferece: +Um conjunto completo de classes e métodos prontos a utilizar mesmo para programação não gráfica +Um boa solução para a interacção com o utilizador através de métodos virtuais e o mecanismo signal/slot +Um conjunto de elementos gráficos predefinidos, chamados "widgets", que podem ser utilizador para criar facilmente os elementos visíveis +Para além disto diálogo completamente predefinidos são muito utilizados nas aplicações, tais como janelas de evolução e de ficheiros -Por isso, conhecer as classes do Qt é bastante essencial, mesmo que só queira programar aplicações para o KDE. Para ter uma noção básica sobre como as aplicações gráficas são criadas e compiladas, iremos ver primeiro um exemplo de um programa só em Qt; depois, extendê-lo-emos para um programa do KDE. +Por isso, conhecer as classes do Qt é bastante essencial, mesmo que só queira programar aplicações para o KDE. Para ter uma noção básica sobre como as aplicações gráficas são criadas e compiladas, iremos ver primeiro um exemplo de um programa só em Qt; depois, extendê-lo-emos para um programa do KDE. -A primeira aplicação Qt -Como é normal, os programas em C++ têm de conter uma função main(), que é o ponto inicial da execução das aplicações. Como pretendemos que estas sejam visíveis graficamente como janelas e que ofereçam alguma interacção com o utilizador, teremos de saber como é que elas se apresentam ao utilizador. Por exemplo, iremos ver o primeiro tutorial incluído com a Documentação de Referência 'Online' do Qt e explicar os passos de execução básicos; também iremos explicar porque e como é que a janela da aplicação aparece: #include <qapplication.h> +A primeira aplicação Qt +Como é normal, os programas em C++ têm de conter uma função main(), que é o ponto inicial da execução das aplicações. Como pretendemos que estas sejam visíveis graficamente como janelas e que ofereçam alguma interacção com o utilizador, teremos de saber como é que elas se apresentam ao utilizador. Por exemplo, iremos ver o primeiro tutorial incluído com a Documentação de Referência 'Online' do Qt e explicar os passos de execução básicos; também iremos explicar porque e como é que a janela da aplicação aparece: #include <qapplication.h> #include <qpushbutton.h> int main( int argc, char **argv ) @@ -257,374 +134,116 @@ return a.exec(); } -Esta aplicação apenas desenha uma janela com um botão com o texto "Olá mundo". Como para todas as aplicações baseadas em Qt, tem que primeiro criar uma instância da classe QApplication, representada pela variável a. -Em seguida, o programa cria uma instância da classe QPushButton chamada hello, isto vai ser o botão. O construtor de hello recebe uma cadeia de caracteres como parâmetro, que é o conteúdo do widget, o texto do botão. -Depois, o método resize() é chamado sobre o botão 'ola'. Isto irá mudar o tamanho por omissão que um item gráfico (neste caso, o QPushButton) tem quando é criado para uma largura de 100 pixels e uma altura de 30. Finalmente, o método setMainWidget() é chamado para o 'a' e o método show() para o 'ola'. A QApplication é finalmente posta em execução com o método a.exec(), que entra no ciclo de eventos principal e fica à espera, até que devolva um valor inteiro para o Sistema Operativo subjacente, assinalando que a aplicação terminou. +Esta aplicação apenas desenha uma janela com um botão com o texto "Olá mundo". Como para todas as aplicações baseadas em Qt, tem que primeiro criar uma instância da classe QApplication, representada pela variável a. +Em seguida, o programa cria uma instância da classe QPushButton chamada hello, isto vai ser o botão. O construtor de hello recebe uma cadeia de caracteres como parâmetro, que é o conteúdo do widget, o texto do botão. +Depois, o método resize() é chamado sobre o botão 'ola'. Isto irá mudar o tamanho por omissão que um item gráfico (neste caso, o QPushButton) tem quando é criado para uma largura de 100 pixels e uma altura de 30. Finalmente, o método setMainWidget() é chamado para o 'a' e o método show() para o 'ola'. A QApplication é finalmente posta em execução com o método a.exec(), que entra no ciclo de eventos principal e fica à espera, até que devolva um valor inteiro para o Sistema Operativo subjacente, assinalando que a aplicação terminou. -A Documentação de Referência do Qt -Agora, vamos dar uma vista de olhos à documentação de referência da biblioteca Qt. Para o fazer, inicie o &tdevelop; e seleccione o "Qt" da árvore de documentação. O navegador de documentação abrir-se-é para mostrar a página inicial da referência do Qt. Este será o seu primeiro local para obter informações sobre o Qt, as suas classes e as funções disponíveis que ele oferece. Também, o programa acima é o primeiro que vem incluído na secção de tutoriais. Para ver as classes que pretendemos ver, a QApplication e a QPushButton, seleccione a "Lista Alfabética de Classes" e procure pelos nomes correspondentes. Siga qualquer um deles para dar uma vista de olhos na documentação da classe. -Em alternativa, você poderá usar a documentação 'online' na Trolltech para o Qt -Para o QApplication, você irá ver o construtor e todos os outros métodos que esta classe oferece. Se você seguir uma hiper-ligação, você irá obter mais informações sobre a utilização e o significado dos métodos, o que é bastante útil quando você não consegue às vezes detectar a utilização correcta ou quando quer arranjar um exemplo. Isto também conta para a documentação da biblioteca do KDE, a qual usa um tipo de documentação semelhante; como tal, isto é quase tudo o que você tem de saber para usar as referências das classes com o navegador da documentação. +A Documentação de Referência do Qt +Agora, vamos dar uma vista de olhos à documentação de referência da biblioteca Qt. Para o fazer, inicie o &tdevelop; e seleccione o "Qt" da árvore de documentação. O navegador de documentação abrir-se-é para mostrar a página inicial da referência do Qt. Este será o seu primeiro local para obter informações sobre o Qt, as suas classes e as funções disponíveis que ele oferece. Também, o programa acima é o primeiro que vem incluído na secção de tutoriais. Para ver as classes que pretendemos ver, a QApplication e a QPushButton, seleccione a "Lista Alfabética de Classes" e procure pelos nomes correspondentes. Siga qualquer um deles para dar uma vista de olhos na documentação da classe. +Em alternativa, você poderá usar a documentação 'online' na Trolltech para o Qt +Para o QApplication, você irá ver o construtor e todos os outros métodos que esta classe oferece. Se você seguir uma hiper-ligação, você irá obter mais informações sobre a utilização e o significado dos métodos, o que é bastante útil quando você não consegue às vezes detectar a utilização correcta ou quando quer arranjar um exemplo. Isto também conta para a documentação da biblioteca do KDE, a qual usa um tipo de documentação semelhante; como tal, isto é quase tudo o que você tem de saber para usar as referências das classes com o navegador da documentação. -Interpretação do Exemplo -Começando com a QApplication, irá encontrar todos os métodos utilizados no nosso primeiro exemplo: -o construtor QApplication() -o método setMainWidget() -o método exec() +Interpretação do Exemplo +Começando com a QApplication, irá encontrar todos os métodos utilizados no nosso primeiro exemplo: +o construtor QApplication() +o método setMainWidget() +o método exec() -É simples interpretar porque utilizámos este métodos: -Cria uma instância da classe QApplication com o construtor, para que possamos utilizar os elementos gráficos fornecidos pelo Qt -Cria um 'widget' que será o conteúdo da nossa janela de programa -Configurar o 'widget' como o 'widget' principal para -Executa a instância do QApplication - +É simples interpretar porque utilizámos este métodos: +Cria uma instância da classe QApplication com o construtor, para que possamos utilizar os elementos gráficos fornecidos pelo Qt +Cria um 'widget' que será o conteúdo da nossa janela de programa +Configurar o 'widget' como o 'widget' principal para +Executa a instância do QApplication + -O segundo objecto do nosso programa é o botão, uma instância da classe QPushButton. A partir dos dois construtores fornecidos para criar uma instância, nós optámos pelo segundo: este aceita um texto, o qual é o conteúdo do texto do botão; neste caso, é o texto "Olá mundo!". Aí, chamou-se o método resize() para alterar as dimensões do botão de acordo com o seu conteúdo - o botão tem de ser maior para tornar o texto completamente visível. -Mas e o método show()? Agora, você verá que, como a maioria dos outros itens, a classe QPushButton baseia-se numa herança simples ou, como diz a documentação, herda de QButton. Siga a referência à classe QButton. Isto mostra-lhe que bastantes outros itens herdados pela QPushButton, os quais iremos usar posteriormente para explicar o mecanismo de 'signals'/'slots' De qualquer forma, o método show() não aparece, como tal, deverá ser um método que é fornecido por herança, da mesma forma. A classe que a QButton herda é a QWidget. Siga de novo a ligação e você irá ver um conjunto enorme de classes que a QWidget oferece, incluindo o método show(). Agora dá para perceber o que foi feito no exemplo com o botão: -Cria uma instância de QPushButton, utiliza o segundo construtor para configurar o texto do botão -Muda o tamanho do 'widget' de acordo com o seu conteúdo -Escolhe o 'widget' como o 'widget' principal da instância do QApplication como -Diz ao 'widget' para se mostrar no ecrã chamando show(), um método herdado de QWidget +O segundo objecto do nosso programa é o botão, uma instância da classe QPushButton. A partir dos dois construtores fornecidos para criar uma instância, nós optámos pelo segundo: este aceita um texto, o qual é o conteúdo do texto do botão; neste caso, é o texto "Olá mundo!". Aí, chamou-se o método resize() para alterar as dimensões do botão de acordo com o seu conteúdo - o botão tem de ser maior para tornar o texto completamente visível. +Mas e o método show()? Agora, você verá que, como a maioria dos outros itens, a classe QPushButton baseia-se numa herança simples ou, como diz a documentação, herda de QButton. Siga a referência à classe QButton. Isto mostra-lhe que bastantes outros itens herdados pela QPushButton, os quais iremos usar posteriormente para explicar o mecanismo de 'signals'/'slots' De qualquer forma, o método show() não aparece, como tal, deverá ser um método que é fornecido por herança, da mesma forma. A classe que a QButton herda é a QWidget. Siga de novo a ligação e você irá ver um conjunto enorme de classes que a QWidget oferece, incluindo o método show(). Agora dá para perceber o que foi feito no exemplo com o botão: +Cria uma instância de QPushButton, utiliza o segundo construtor para configurar o texto do botão +Muda o tamanho do 'widget' de acordo com o seu conteúdo +Escolhe o 'widget' como o 'widget' principal da instância do QApplication como +Diz ao 'widget' para se mostrar no ecrã chamando show(), um método herdado de QWidget -Depois de invocar o método exec(), a aplicação fica visível para o utilizador, mostrando uma janela com o botão a dizer "Olá mundo!". Nota: os programas gráficos comportam-se de forma ligeiramente diferente da das aplicações procedimentais. A questão principal aqui é que a aplicação entra num estado chamado de "ciclo de eventos principal". Isto significa que o programa tem de esperar pelas acções do utilizador e então reagir a elas e que, numa aplicação do Qt, o programa terá de entrar no ciclo de eventos principal para conseguir começar a tratá-los. A próxima secção diz-lhe em resumo o que isto significa para o programador e o que é que o Qt oferece para processar os eventos do utilizador. -Para os utilizadores já avançados: O botão não tem nenhuma janela-mãe declarada no construtor, o que significa que é um item gráfico de topo por si só e corre num ciclo de eventos local que não precisa de esperar pelo ciclo de eventos principal. Veja a documentação da classe QWidget e o Guia de Referência da Biblioteca do KDE - +Depois de invocar o método exec(), a aplicação fica visível para o utilizador, mostrando uma janela com o botão a dizer "Olá mundo!". Nota: os programas gráficos comportam-se de forma ligeiramente diferente da das aplicações procedimentais. A questão principal aqui é que a aplicação entra num estado chamado de "ciclo de eventos principal". Isto significa que o programa tem de esperar pelas acções do utilizador e então reagir a elas e que, numa aplicação do Qt, o programa terá de entrar no ciclo de eventos principal para conseguir começar a tratá-los. A próxima secção diz-lhe em resumo o que isto significa para o programador e o que é que o Qt oferece para processar os eventos do utilizador. +Para os utilizadores já avançados: O botão não tem nenhuma janela-mãe declarada no construtor, o que significa que é um item gráfico de topo por si só e corre num ciclo de eventos local que não precisa de esperar pelo ciclo de eventos principal. Veja a documentação da classe QWidget e o Guia de Referência da Biblioteca do KDE + -Interacção com o Utilizador -Depois de ler as secções anteriores, já deverá saber: -O que a biblioteca Qt fornece em termos de aplicações gráficas -Como é criado um programa utilizando o Qt e -Onde e como encontrar informações acerca das classes que deseja utilizar com o navegador de documentação - +Interacção com o Utilizador +Depois de ler as secções anteriores, já deverá saber: +O que a biblioteca Qt fornece em termos de aplicações gráficas +Como é criado um programa utilizando o Qt e +Onde e como encontrar informações acerca das classes que deseja utilizar com o navegador de documentação + -Agora vamos dar "vida" à aplicação, processando os eventos do utilizador. De um modo geral, o utilizador tem duas formas de interagir com um programa: o rato e o teclado. Para ambas as formas, uma interface gráfica tem de fornecer métodos que detectem as acções e métodos que façam algo em reacção a estas acções. -O sistema de janelas envia deste modo todos os eventos de interacção para a aplicação respectiva. A QApplication envia-os então para a janela activa como um QEvent e os próprios itens terão de decidir o que fazer com eles. Um item recebe o evento e processa o QWidget::event(QEvent*), que decide então qual o evento que foi executado e como reagir; o event() é deste modo o tratador de eventos principal. Aí, o método event() passa o evento para os denominados de filtros de eventos que determinam o que se passou e o que fazer com o evento. Se nenhum filtro responder como responsável pelo evento, os tratadores de eventos especializados são invocados. Deste modo, pode-se optar entre: -Eventos de teclados -- teclas TAB e Shift-TAB: +Agora vamos dar "vida" à aplicação, processando os eventos do utilizador. De um modo geral, o utilizador tem duas formas de interagir com um programa: o rato e o teclado. Para ambas as formas, uma interface gráfica tem de fornecer métodos que detectem as acções e métodos que façam algo em reacção a estas acções. +O sistema de janelas envia deste modo todos os eventos de interacção para a aplicação respectiva. A QApplication envia-os então para a janela activa como um QEvent e os próprios itens terão de decidir o que fazer com eles. Um item recebe o evento e processa o QWidget::event(QEvent*), que decide então qual o evento que foi executado e como reagir; o event() é deste modo o tratador de eventos principal. Aí, o método event() passa o evento para os denominados de filtros de eventos que determinam o que se passou e o que fazer com o evento. Se nenhum filtro responder como responsável pelo evento, os tratadores de eventos especializados são invocados. Deste modo, pode-se optar entre: +Eventos de teclados -- teclas TAB e Shift-TAB: -virtual void focusInEvent(QFocusEvent *) -virtual void focusOutEvent(QFocusEvent *) +virtual void focusInEvent(QFocusEvent *) +virtual void focusOutEvent(QFocusEvent *) -Todos a outra actividade de teclado: +Todos a outra actividade de teclado: -virtual void keyPressEvent(QKeyEvent *) -virtual void keyReleaseEvent(QKeyEvent *) +virtual void keyPressEvent(QKeyEvent *) +virtual void keyReleaseEvent(QKeyEvent *) -Movimentos do rato: +Movimentos do rato: -virtual void mouseMoveEvent(QMouseEvent *) -virtual void enterEvent(QEvent *) -virtual void leaveEvent(QEvent *) +virtual void mouseMoveEvent(QMouseEvent *) +virtual void enterEvent(QEvent *) +virtual void leaveEvent(QEvent *) -Acções dos botões do rato +Acções dos botões do rato -virtual void mousePressEvent(QMouseEvent *) -virtual void mouseReleaseEvent(QMouseEvent *) -virtual void mouseDoubleClickEvent(QMouseEvent *) +virtual void mousePressEvent(QMouseEvent *) +virtual void mouseReleaseEvent(QMouseEvent *) +virtual void mouseDoubleClickEvent(QMouseEvent *) -Eventos da janela que contém o 'widget' +Eventos da janela que contém o 'widget' -virtual void moveEvent(QMoveEvent *) -virtual void resizeEvent(QResizeEvent *) -virtual void closeEvent(QCloseEvent *) +virtual void moveEvent(QMoveEvent *) +virtual void resizeEvent(QResizeEvent *) +virtual void closeEvent(QCloseEvent *) -Lembre-se que todas as funções de eventos são virtuais e protegidas; como tal, você poderá reimplementar os eventos que necessitar nos seus próprios itens gráficos e indicar como é que o seu item terá de reagir. O QWidget contém também outros métodos virtuais que poderão ser úteis nos seus programas; de qualquer forma, é suficiente conhecer o QWidget bastante bem. +Lembre-se que todas as funções de eventos são virtuais e protegidas; como tal, você poderá reimplementar os eventos que necessitar nos seus próprios itens gráficos e indicar como é que o seu item terá de reagir. O QWidget contém também outros métodos virtuais que poderão ser úteis nos seus programas; de qualquer forma, é suficiente conhecer o QWidget bastante bem. -Interacção de Objectos através de 'Signals' e 'Slots' -Agora chegámos às vantagens mais óbvias da plataforma do Qt: o mecanismo de 'signals'/'slots'. Isto oferece uma solução bastante útil e fácil de os objectos interagirem entre si, o que normalmente é resolvido por funções de resposta ('callback') pelas bibliotecas do X-Window. Dado que esta documentação necessita de uma programação restrita e normalmente torna a criação de interface do utilizador muito complicada (como é referido pela documentação do Qt e é explicado no texto 'Programming with Qt' de K.Dalheimer), a Troll Tech inventou um novo sistema onde os objectos podem emitir sinais ('signals') que podem estar associados a métodos denominados por 'slots'. Para a parte de C++ do programador, ele só terá de conhecer algumas coisas sobre este mecanismo: -a declaração de uma classe que utilize 'signals'/'slots' tem que ter a macro Q_OBJECT no início (sem ponto e vírgula); e tem que ser derivada da classe QObject -um 'signal' pode ser emitido através da palavra chave 'emit', por exemplo, emit signal(parâmetros);, de qualquer método membro de uma classe que permite 'signals'/'slots' - -todos os 'signals' utilizados pelas classes que não são herdados tem que ser adicionados à declaração da classe numa secção 'signals' -todos os métodos que podem ser ligados com um 'signal' são declarados em secções com a palavra chama adicional 'slot', ou seja, public slot: na declaração da classe -o compilador de meta-objectos 'moc' tem de correr sobre o ficheiro de inclusão para expandir as macros e para produzir a implementação (que é necessário conhecer). Os ficheiros de resultado do 'moc' são compilados também pelo compilador de C++. +Interacção de Objectos através de 'Signals' e 'Slots' +Agora chegámos às vantagens mais óbvias da plataforma do Qt: o mecanismo de 'signals'/'slots'. Isto oferece uma solução bastante útil e fácil de os objectos interagirem entre si, o que normalmente é resolvido por funções de resposta ('callback') pelas bibliotecas do X-Window. Dado que esta documentação necessita de uma programação restrita e normalmente torna a criação de interface do utilizador muito complicada (como é referido pela documentação do Qt e é explicado no texto 'Programming with Qt' de K.Dalheimer), a Troll Tech inventou um novo sistema onde os objectos podem emitir sinais ('signals') que podem estar associados a métodos denominados por 'slots'. Para a parte de C++ do programador, ele só terá de conhecer algumas coisas sobre este mecanismo: +a declaração de uma classe que utilize 'signals'/'slots' tem que ter a macro Q_OBJECT no início (sem ponto e vírgula); e tem que ser derivada da classe QObject +um 'signal' pode ser emitido através da palavra chave 'emit', por exemplo, emit signal(parâmetros);, de qualquer método membro de uma classe que permite 'signals'/'slots' + +todos os 'signals' utilizados pelas classes que não são herdados tem que ser adicionados à declaração da classe numa secção 'signals' +todos os métodos que podem ser ligados com um 'signal' são declarados em secções com a palavra chama adicional 'slot', ou seja, public slot: na declaração da classe +o compilador de meta-objectos 'moc' tem de correr sobre o ficheiro de inclusão para expandir as macros e para produzir a implementação (que é necessário conhecer). Os ficheiros de resultado do 'moc' são compilados também pelo compilador de C++. -Outra forma de usar os 'signals' sem derivar da classe QObject é usar a classe QSignal - veja a documentação de referência para mais informações e para um exemplo de utilização. No seguinte, assume-se que você vai derivar de QObject. -Desta forma, a sua classe é capaz de enviar 'signals' para todo o lado e consegue fornecer 'slots' aos quais os 'signals' se possam ligar. Usando os 'signals', você não terá de se preocupar com que os recebe - só tem de emitir os 'signals' e qual o 'slot' que lhe deseja ligar para reagir à emissão. Os 'slots' também podem ser usados como métodos normais durante a implementação. -Agora, para ligar um 'signal' a um 'slot', você terá de usar os métodos connect() que são fornecidos pelo QObject ou, quando for possível, os métodos especiais que os objectos fornecem para definir a ligação a um dado 'signal'. +Outra forma de usar os 'signals' sem derivar da classe QObject é usar a classe QSignal - veja a documentação de referência para mais informações e para um exemplo de utilização. No seguinte, assume-se que você vai derivar de QObject. +Desta forma, a sua classe é capaz de enviar 'signals' para todo o lado e consegue fornecer 'slots' aos quais os 'signals' se possam ligar. Usando os 'signals', você não terá de se preocupar com que os recebe - só tem de emitir os 'signals' e qual o 'slot' que lhe deseja ligar para reagir à emissão. Os 'slots' também podem ser usados como métodos normais durante a implementação. +Agora, para ligar um 'signal' a um 'slot', você terá de usar os métodos connect() que são fornecidos pelo QObject ou, quando for possível, os métodos especiais que os objectos fornecem para definir a ligação a um dado 'signal'. -Exemplo de Utilização -Para explicar a forma como configurar a interacção dos objectos, iremos usar o nosso primeiro exemplo e extendê-lo com uma simples ligação: #include <qapplication.h> +Exemplo de Utilização +Para explicar a forma como configurar a interacção dos objectos, iremos usar o nosso primeiro exemplo e extendê-lo com uma simples ligação: #include <qapplication.h> #include <qpushbutton.h> int main( int argc, char **argv ) @@ -643,87 +262,37 @@ return a.exec(); } -Como vê, a única adição para dar ao botão mais interacção é usar um método connect() : o connect(&ola, SIGNAL( clicked() ), &a, SLOT( quit() )); é tudo o que você tem para adicionar. Qual é o significado? A declaração da classe do QObject fala sobre o método connect(): -bool connect ( const QObject * emissor, const char * signal, const QObject * receptor, const char * membro ) -Isto significa que você terá de indicar um ponteiro para uma instância de um QObject que é o emissor do 'signal', o que significa que ele poderá emitir este 'signal' como primeiro parâmetro; depois, terá de indicar o 'signal' a que se deseja ligar. Os últimos dois parâmetros são o objecto receptor que contém um 'slot' seguido da função-membro que é, de facto, o 'slot' que será executado devido à emissão do 'signal'. -Usando os 'signals' e 'slots', os objectos do seu programa podem interagir uns com os outros facilmente sem terem de explicitamente depender do tipo do objecto receptor. Você irá aprender mais sobre a utilização deste mecanismo para uma utilização produtiva posteriormente neste manual. Se quiser saber mais informações sobre o mecanismo de 'signals'/'slots' poderá ir ao Guia de Referência da Biblioteca do KDE e à referência 'online' do Qt. +Como vê, a única adição para dar ao botão mais interacção é usar um método connect() : o connect(&ola, SIGNAL( clicked() ), &a, SLOT( quit() )); é tudo o que você tem para adicionar. Qual é o significado? A declaração da classe do QObject fala sobre o método connect(): +bool connect ( const QObject * emissor, const char * signal, const QObject * receptor, const char * membro ) +Isto significa que você terá de indicar um ponteiro para uma instância de um QObject que é o emissor do 'signal', o que significa que ele poderá emitir este 'signal' como primeiro parâmetro; depois, terá de indicar o 'signal' a que se deseja ligar. Os últimos dois parâmetros são o objecto receptor que contém um 'slot' seguido da função-membro que é, de facto, o 'slot' que será executado devido à emissão do 'signal'. +Usando os 'signals' e 'slots', os objectos do seu programa podem interagir uns com os outros facilmente sem terem de explicitamente depender do tipo do objecto receptor. Você irá aprender mais sobre a utilização deste mecanismo para uma utilização produtiva posteriormente neste manual. Se quiser saber mais informações sobre o mecanismo de 'signals'/'slots' poderá ir ao Guia de Referência da Biblioteca do KDE e à referência 'online' do Qt. -O que o KDE fornece +O que o KDE fornece -As bibliotecas KDE 3.x -As principais bibliotecas do KDE que irá utilizar para criar as suas aplicações KDE são: -a biblioteca tdecore, contendo todas as classes com elementos não visíveis que fornecem funcionalidade às aplicações -a biblioteca tdeui, que contém elementos de interface como barras de menu, barras de ferramentas, etc. -a biblioteca tdefile, que contém as janelas de selecção de ficheiros +As bibliotecas KDE 3.x +As principais bibliotecas do KDE que irá utilizar para criar as suas aplicações KDE são: +a biblioteca tdecore, contendo todas as classes com elementos não visíveis que fornecem funcionalidade às aplicações +a biblioteca tdeui, que contém elementos de interface como barras de menu, barras de ferramentas, etc. +a biblioteca tdefile, que contém as janelas de selecção de ficheiros -Adicionalmente, para soluções específicas o KDE oferece as seguintes bibliotecas: -a biblioteca tdefx, contendo 'pixmaps', efeitos visuais e a extensão TDEStyle para o QStyle -a biblioteca tdehtml, que contém o componente html do KDE -a biblioteca kjs, que contém o suporte Javascript do KDE -a biblioteca tdeio, que contém acesso de baixo nível a ficheiros de rede -a biblioteca tdeparts, que contém suporte a aplicações extensíveis, embebidas e reutilizáveis +Adicionalmente, para soluções específicas o KDE oferece as seguintes bibliotecas: +a biblioteca tdefx, contendo 'pixmaps', efeitos visuais e a extensão TDEStyle para o QStyle +a biblioteca tdehtml, que contém o componente html do KDE +a biblioteca kjs, que contém o suporte Javascript do KDE +a biblioteca tdeio, que contém acesso de baixo nível a ficheiros de rede +a biblioteca tdeparts, que contém suporte a aplicações extensíveis, embebidas e reutilizáveis -De seguida vamos ver o que é necessário para transformar a nossa primeira aplicação Qt numa do KDE. +De seguida vamos ver o que é necessário para transformar a nossa primeira aplicação Qt numa do KDE. -Aplicação KDE Exemplo -A seguir, você irá ver que a criação de uma aplicação do KDE não é muito mais difícil que uma aplicação do Qt. Para a utilização da funcionalidades do KDE, você apenas terá de usar algumas outras classes, e fica praticamente tudo feito. Como exemplo, iremos discutir a versão alterada do exemplo do Qt acima descrito: #include <tdeapplication.h> +Aplicação KDE Exemplo +A seguir, você irá ver que a criação de uma aplicação do KDE não é muito mais difícil que uma aplicação do Qt. Para a utilização da funcionalidades do KDE, você apenas terá de usar algumas outras classes, e fica praticamente tudo feito. Como exemplo, iremos discutir a versão alterada do exemplo do Qt acima descrito: #include <tdeapplication.h> #include <qpushbutton.h> int main( int argc, char **argv ) @@ -741,141 +310,65 @@ ola.show(); return a.exec(); } - -Você irá constatar que, primeiro, mudámos da QApplication para a TDEApplication . Para além disso, tivemos de mudar o método setMainWidget() para setTopWidget, o qual a classe TDEApplication usa para indicar qual o item principal. É tudo! A sua primeira aplicação do KDE está pronta - você só terá de indicar ao compilador a localização dos ficheiros de inclusão e ao editor de ligações para compilar com a biblioteca 'tdecore', através da opção'-ltdecore'. -Dado que já sabe o que, pelo menos, a função main() necessita geralmente e como é que uma aplicação fica visível e permite a interacção com o utilizador e com os objectos, iremos agora para o próximo capítulo, onde a nossa primeira aplicação será criada com o &tdevelop;. Aí, você também poderá testar tudo o que foi mencionado antes e ver os efeitos. -O que você deverá ter olhado adicionalmente até agora é a documentação de referência do Qt, especialmente a as classes QApplication, QWidget e QObject , assim como a documentação da biblioteca 'tdecore' para a classe TDEApplication. O Manual de Referência da Biblioteca do KDE também cobre uma descrição completa da invocação dos construtores da QApplication e da TDEApplication, incluindo o processamento dos argumentos da linha de comandos. + +Você irá constatar que, primeiro, mudámos da QApplication para a TDEApplication . Para além disso, tivemos de mudar o método setMainWidget() para setTopWidget, o qual a classe TDEApplication usa para indicar qual o item principal. É tudo! A sua primeira aplicação do KDE está pronta - você só terá de indicar ao compilador a localização dos ficheiros de inclusão e ao editor de ligações para compilar com a biblioteca 'tdecore', através da opção'-ltdecore'. +Dado que já sabe o que, pelo menos, a função main() necessita geralmente e como é que uma aplicação fica visível e permite a interacção com o utilizador e com os objectos, iremos agora para o próximo capítulo, onde a nossa primeira aplicação será criada com o &tdevelop;. Aí, você também poderá testar tudo o que foi mencionado antes e ver os efeitos. +O que você deverá ter olhado adicionalmente até agora é a documentação de referência do Qt, especialmente a as classes QApplication, QWidget e QObject , assim como a documentação da biblioteca 'tdecore' para a classe TDEApplication. O Manual de Referência da Biblioteca do KDE também cobre uma descrição completa da invocação dos construtores da QApplication e da TDEApplication, incluindo o processamento dos argumentos da linha de comandos. -Criar Novas Aplicações +Criar Novas Aplicações -O Assistente de Aplicações -O Assistente de Aplicações do &tdevelop; pretende pô-lo a trabalhar em projectos novos no &tdevelop;. Como tal, todos os seus projectos são primeiro criados com o assistente, para que depois os possa construir e extender o que já é oferecido pelo esqueleto de código. Você poderá optar entre vários tipos de projectos, de acordo com os objectivos do seu projecto: -Plataforma de Aplicações do KDE: inclui o código-fonte para uma estrutura básica para uma aplicação normal do KDE -Projecto QMake: Cria uma estrutura de aplicação baseado no sistema de configuração qmake da Trolltech -Programa simples de olá mundo: Cria um programa em C++ para terminais, sem suporte a interface gráficas -Muitos outros esqueletos de programas +O Assistente de Aplicações +O Assistente de Aplicações do &tdevelop; pretende pô-lo a trabalhar em projectos novos no &tdevelop;. Como tal, todos os seus projectos são primeiro criados com o assistente, para que depois os possa construir e extender o que já é oferecido pelo esqueleto de código. Você poderá optar entre vários tipos de projectos, de acordo com os objectivos do seu projecto: +Plataforma de Aplicações do KDE: inclui o código-fonte para uma estrutura básica para uma aplicação normal do KDE +Projecto QMake: Cria uma estrutura de aplicação baseado no sistema de configuração qmake da Trolltech +Programa simples de olá mundo: Cria um programa em C++ para terminais, sem suporte a interface gráficas +Muitos outros esqueletos de programas -Neste capítulo iremos ver como é que o Assistente de Aplicações poderá ser invocado e o que é que tem de ser feito para gerar um projecto de uma aplicação do KDE. Isto terá de ser o passo inicial da nossa cobertura, onde iremos criar a versão inicial de um projecto de exemplo. Para todos os outros tipos de projectos, os passos serão normalmente os mesmos, mas poderão não ter tantas opções disponíveis. +Neste capítulo iremos ver como é que o Assistente de Aplicações poderá ser invocado e o que é que tem de ser feito para gerar um projecto de uma aplicação do KDE. Isto terá de ser o passo inicial da nossa cobertura, onde iremos criar a versão inicial de um projecto de exemplo. Para todos os outros tipos de projectos, os passos serão normalmente os mesmos, mas poderão não ter tantas opções disponíveis. -Invocar o Assistente de Aplicações e a Geração de Projectos +Invocar o Assistente de Aplicações e a Geração de Projectos -Iniciar o Assistente de Aplicações e a Primeira Página -Para iniciar a sua aplicação do KDE, abra o &tdevelop;. No menu Projecto, seleccione o Novo Projecto. O Assistente de Aplicações é iniciado e você verá a árvore de selecções na primeira página, contendo os vários tipos de projectos disponíveis que poderão ser criados. Escolha a sub-árvore de C++, depois o KDE e depois a Plataforma de Aplicações. -Para o nosso projecto de exemplo, iremos criar a aplicação KScribble. Indique isso como nome da aplicação e altere as outras informações na parte inferior deste ecrã que possam necessitar de alterações. Depois, carregue em Seguinte. +Iniciar o Assistente de Aplicações e a Primeira Página +Para iniciar a sua aplicação do KDE, abra o &tdevelop;. No menu Projecto, seleccione o Novo Projecto. O Assistente de Aplicações é iniciado e você verá a árvore de selecções na primeira página, contendo os vários tipos de projectos disponíveis que poderão ser criados. Escolha a sub-árvore de C++, depois o KDE e depois a Plataforma de Aplicações. +Para o nosso projecto de exemplo, iremos criar a aplicação KScribble. Indique isso como nome da aplicação e altere as outras informações na parte inferior deste ecrã que possam necessitar de alterações. Depois, carregue em Seguinte. -Assistente de Aplicações - +Assistente de Aplicações + -Informações de controlo de versão -Neste ecrã, você terá a possibilidade de decidir se o seu projecto irá usar um sistema de controlo de versões como o CVS. Para o nosso projecto de exemplo não iremos usar nenhum controlo de versões, por isso certifique-se que a opção de selecção diz Nenhum e escolha o Seguinte. +Informações de controlo de versão +Neste ecrã, você terá a possibilidade de decidir se o seu projecto irá usar um sistema de controlo de versões como o CVS. Para o nosso projecto de exemplo não iremos usar nenhum controlo de versões, por isso certifique-se que a opção de selecção diz Nenhum e escolha o Seguinte. -Modelos de Cabeçalhos e Código Fonte -As próximas duas páginas mostram os exemplos de cabeçalhos que irão para o topo de cada ficheiro de inclusão e de código que crie com o &tdevelop;. Por agora, deixe estes como os por omissão e seleccione Seguinte e depois Terminar. Se o botão Terminar não estiver activado, você não definiu todas as opções correctamente. Use o botão Anterior para voltar aos menus anteriores e corrigir os erros. +Modelos de Cabeçalhos e Código Fonte +As próximas duas páginas mostram os exemplos de cabeçalhos que irão para o topo de cada ficheiro de inclusão e de código que crie com o &tdevelop;. Por agora, deixe estes como os por omissão e seleccione Seguinte e depois Terminar. Se o botão Terminar não estiver activado, você não definiu todas as opções correctamente. Use o botão Anterior para voltar aos menus anteriores e corrigir os erros. -Terminar -Depois de completo, o Assistente de Aplicações deverá fechar-se e a janela de mensagens irá começar a mostrar informações sobre as tarefas que o &tdevelop; está a fazer de momento. No fim de todas as tarefas, você deverá ver **** Sucesso *****. Isto significa que a plataforma de aplicações foi carregada com sucesso. +Terminar +Depois de completo, o Assistente de Aplicações deverá fechar-se e a janela de mensagens irá começar a mostrar informações sobre as tarefas que o &tdevelop; está a fazer de momento. No fim de todas as tarefas, você deverá ver **** Sucesso *****. Isto significa que a plataforma de aplicações foi carregada com sucesso. -A Primeira Compilação -Depois de ter o projecto gerado, iremos dar uma vista de olhos pelo código-fonte para ter uma ideia geral de como é que a plataforma de aplicações fica. Isto não só ajudará o utilizador a aprender, mas também a saber onde alterar o quê nos próximos passos. -Este capítulo assume que você compreende a navegação básica do &tdevelop;. Consulte o Manual de Utilizador do KDevelop se precisar de ajuda. -O gestor de Automake mostra os ficheiros de projecto como se segue: +A Primeira Compilação +Depois de ter o projecto gerado, iremos dar uma vista de olhos pelo código-fonte para ter uma ideia geral de como é que a plataforma de aplicações fica. Isto não só ajudará o utilizador a aprender, mas também a saber onde alterar o quê nos próximos passos. +Este capítulo assume que você compreende a navegação básica do &tdevelop;. Consulte o Manual de Utilizador do KDevelop se precisar de ajuda. +O gestor de Automake mostra os ficheiros de projecto como se segue: -Ficheiro nos nosso projecto - +Ficheiro nos nosso projecto + -Antes de se aprofundar no código, deixe que o &tdevelop; compile e execute a nova aplicação. Para o fazer, seleccione a opção Construir o Projecto no menu Construir ou carregue em F8. A janela do resultado irá abrir e mostrar as mensagens que vão aparecendo durante a fase de compilação. 1 cd /home/ze/kscribble && WANT_AUTOCONF_2_5=1 WANT_AUTOMAKE_1_6=1 gmake k +Antes de se aprofundar no código, deixe que o &tdevelop; compile e execute a nova aplicação. Para o fazer, seleccione a opção Construir o Projecto no menu Construir ou carregue em F8. A janela do resultado irá abrir e mostrar as mensagens que vão aparecendo durante a fase de compilação. 1 cd /home/ze/kscribble && WANT_AUTOCONF_2_5=1 WANT_AUTOMAKE_1_6=1 gmake k 2 gmake all-recursive 3 gmake[1]: Entering directory `/home/ze/kscribble' 4 Making all in doc @@ -937,8 +430,7 @@ return a.exec(); -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new -c -o pref.o `test -f 'pref.cpp' || echo '/home/ze/kscribble/src/'`pref.cpp -47 /usr/local/kde3/bin/dcopidl /home/ze/kscribble/src/kscribbleiface.h -> kscribbleiface.kidl || +47 /usr/local/kde3/bin/dcopidl /home/ze/kscribble/src/kscribbleiface.h > kscribbleiface.kidl || ( rm -f kscribbleiface.kidl ; /bin/false ) 48 /usr/local/kde3/bin/dcopidl2cpp --c++-suffix cpp --no-signals --no-stub kscribbleiface.kidl 49 source='kscribbleiface_skel.cpp' object='kscribbleiface_skel.o' libtool=no \ @@ -977,30 +469,18 @@ return a.exec(); 64 *** Success *** -Como pode ver, foram colocados números de linhas antes de cada linha, os quais não aparecem no resultado que irá obter mas tornará mais simples de descrever o que se está a passar durante a compilação. Primeiro que tudo, o 'gmake' funciona recursivamente. Isto significa que ele começa a partir da directoria em que é invocado e vai percorrendo as sub-pastas primeiro, uma de cada vez, e depois regressa à directoria em que foi invocado, processa-a e depois termina. -A primeira linha de interesse é a 24. Repare nesta linha que o 'g++', que é o nosso compilador de C++, é chamado pelo 'make' para compilar o primeiro ficheiro de código do projecto - neste caso, o 'main.cpp'. São usadas também várias opções da linha de comandos com o compilador 'g++'; algumas das quais são predefinidas e outras podem ser configuradas através do &tdevelop;. -Antes do próximo ficheiro ('kscribble.cpp', linha 29) ser compilado, o 'moc' (compilador de meta-objectos) é primeiro invocado sobre o 'kscribble.h' (linha 25). Isto é porque as classes do KScribble usam 'signals'/'slots', por isso a macro Q_OBJECT precisa de ser expandida, e o 'moc' faz isso por nós. O ficheiro resultante, o 'kscribble.moc', é usado pelo 'kscribble.cpp' através de um comando #include dentro do ficheiro. +Como pode ver, foram colocados números de linhas antes de cada linha, os quais não aparecem no resultado que irá obter mas tornará mais simples de descrever o que se está a passar durante a compilação. Primeiro que tudo, o 'gmake' funciona recursivamente. Isto significa que ele começa a partir da directoria em que é invocado e vai percorrendo as sub-pastas primeiro, uma de cada vez, e depois regressa à directoria em que foi invocado, processa-a e depois termina. +A primeira linha de interesse é a 24. Repare nesta linha que o 'g++', que é o nosso compilador de C++, é chamado pelo 'make' para compilar o primeiro ficheiro de código do projecto - neste caso, o 'main.cpp'. São usadas também várias opções da linha de comandos com o compilador 'g++'; algumas das quais são predefinidas e outras podem ser configuradas através do &tdevelop;. +Antes do próximo ficheiro ('kscribble.cpp', linha 29) ser compilado, o 'moc' (compilador de meta-objectos) é primeiro invocado sobre o 'kscribble.h' (linha 25). Isto é porque as classes do KScribble usam 'signals'/'slots', por isso a macro Q_OBJECT precisa de ser expandida, e o 'moc' faz isso por nós. O ficheiro resultante, o 'kscribble.moc', é usado pelo 'kscribble.cpp' através de um comando #include dentro do ficheiro. -O esqueleto do código-fonte -Para conceber como é que uma aplicação do KDE funciona, iremos dar uma vista de olhos detalhada ao esqueleto de código que já é fornecido pelo Assistente de Aplicações. Como foi visto, já existe algum conjunto de ficheiros de código e de inclusão que compõem o código inicial da aplicação e a tornam pronta-a-usar. Como tal, a forma mais simples de explicar o código é seguir a implementação linha-a-linha á medida que é processada durante a execução do programa, até que entra no ciclo de eventos principal e fica pronta a ser controlada pelo utilizador. Aí, iremos ver a funcionalidade que permite a interacção com o utilizador e como é que certas coisas funcionam. Esta é provavelmente a melhor forma de explicar a plataforma e, dado que é semelhante a quase todas as aplicações do KDE, permitir-lhe-á ler o código-fonte de outros projectos de forma igualmente simples; para além disso, irá saber onde alterar uma dada parte do código para que as suas aplicações se comportem da forma como foram desenhadas. +O esqueleto do código-fonte +Para conceber como é que uma aplicação do KDE funciona, iremos dar uma vista de olhos detalhada ao esqueleto de código que já é fornecido pelo Assistente de Aplicações. Como foi visto, já existe algum conjunto de ficheiros de código e de inclusão que compõem o código inicial da aplicação e a tornam pronta-a-usar. Como tal, a forma mais simples de explicar o código é seguir a implementação linha-a-linha á medida que é processada durante a execução do programa, até que entra no ciclo de eventos principal e fica pronta a ser controlada pelo utilizador. Aí, iremos ver a funcionalidade que permite a interacção com o utilizador e como é que certas coisas funcionam. Esta é provavelmente a melhor forma de explicar a plataforma e, dado que é semelhante a quase todas as aplicações do KDE, permitir-lhe-á ler o código-fonte de outros projectos de forma igualmente simples; para além disso, irá saber onde alterar uma dada parte do código para que as suas aplicações se comportem da forma como foram desenhadas. -A função main() -À medida que a aplicação começa a sua execução ao entrar na função main(), esta será o início do exame de código. A função main() do KScribble está implementada no ficheiro 'main.cpp' e pode também ser acedida com o Navegador de Classes, seleccionando para tal a pasta de "Funções Globais". 1 int main(int argc, char **argv) +A função main() +À medida que a aplicação começa a sua execução ao entrar na função main(), esta será o início do exame de código. A função main() do KScribble está implementada no ficheiro 'main.cpp' e pode também ser acedida com o Navegador de Classes, seleccionando para tal a pasta de "Funções Globais". 1 int main(int argc, char **argv) 2 { 3 TDEAboutData about("kscribble", I18N_NOOP("KScribble"), version, description, 4 TDEAboutData::License_GPL, "(C) 2002 O Seu Nome", 0, 0, "voce@o-proprio.com"); @@ -1040,27 +520,18 @@ return a.exec(); 38 return app.exec(); 39 } - -Agora, o que acontece primeiro é a criação normal de um objecto TDEApplication, mas foram adicionados alguns métodos do KDE que definem a informação do programa e da autoria desta aplicação. + +Agora, o que acontece primeiro é a criação normal de um objecto TDEApplication, mas foram adicionados alguns métodos do KDE que definem a informação do programa e da autoria desta aplicação. -Início da Aplicação do Utilizador +Início da Aplicação do Utilizador -... (ainda não escrito) +... (ainda não escrito) -O Construtor -Vamos agora olhar para o construtor e ver com esta instância é chamada 1 KScribble::KScribble() +O Construtor +Vamos agora olhar para o construtor e ver com esta instância é chamada 1 KScribble::KScribble() 2 : TDEMainWindow( 0, "KScribble" ), 3 m_view(new KScribbleView(this)), 4 m_printer(0) @@ -1086,786 +557,342 @@ return a.exec(); 24 } -Repare que o KScribble herda da classe TDEMainWindow - uma classe de base usada normalmente pelas aplicações do KDE. É inicializada uma classe chamada KScribbleView como item gráfico central, é criada uma KStatusBar através do método statusBar() (na linha 16), e são ligados com o connect() alguns 'signals' e 'slots'. +Repare que o KScribble herda da classe TDEMainWindow - uma classe de base usada normalmente pelas aplicações do KDE. É inicializada uma classe chamada KScribbleView como item gráfico central, é criada uma KStatusBar através do método statusBar() (na linha 16), e são ligados com o connect() alguns 'signals' e 'slots'. -Desenho da Vista da Aplicação +Desenho da Vista da Aplicação -Introdução -Ao desenvolver uma aplicação com uma interface de utilizador gráfica, o trabalho principal toma lugar ao desenvolver uma "vista" da aplicação. Uma vista é normalmente uma janela que mostra os dados de um documento e que oferece métodos para manipular o conteúdo do documento. Isto pode ser feito pelo utilizador, através dos eventos que ele emite com o teclado ou com o rato; as operações mais complexas são normalmente processadas pelas barras de ferramentas ou pelos menus que interagem com a vista e com o documento. A barra de estado irá então mostrar informações sobre o estado do documento, da vista ou da aplicação. Por exemplo, iremos ver como é que um editor é construído e onde poderemos encontrar uma determinada componente. -Um editor normalmente é suposto oferecer uma interface para ver e/ou alterar o conteúdo de um documento de texto para o utilizador. Se você iniciar o Kate, voce irá ver a interface visual da seguinte forma: -A barra de menu: fornece operações complexas e também abre, grava e fecha ficheiros e termina a aplicação. -A barra de ferramentas: oferece ícones que permitem um acesso mais rápido às funções mais necessárias, -A barra de estado: mostra o estado da posição do cursor pela linha e coluna actual, -A vista no centro da janela, a mostrar um documento e a apresentar um cursor associado ao teclado e ao rato para lidar com os dados. +Introdução +Ao desenvolver uma aplicação com uma interface de utilizador gráfica, o trabalho principal toma lugar ao desenvolver uma "vista" da aplicação. Uma vista é normalmente uma janela que mostra os dados de um documento e que oferece métodos para manipular o conteúdo do documento. Isto pode ser feito pelo utilizador, através dos eventos que ele emite com o teclado ou com o rato; as operações mais complexas são normalmente processadas pelas barras de ferramentas ou pelos menus que interagem com a vista e com o documento. A barra de estado irá então mostrar informações sobre o estado do documento, da vista ou da aplicação. Por exemplo, iremos ver como é que um editor é construído e onde poderemos encontrar uma determinada componente. +Um editor normalmente é suposto oferecer uma interface para ver e/ou alterar o conteúdo de um documento de texto para o utilizador. Se você iniciar o Kate, voce irá ver a interface visual da seguinte forma: +A barra de menu: fornece operações complexas e também abre, grava e fecha ficheiros e termina a aplicação. +A barra de ferramentas: oferece ícones que permitem um acesso mais rápido às funções mais necessárias, +A barra de estado: mostra o estado da posição do cursor pela linha e coluna actual, +A vista no centro da janela, a mostrar um documento e a apresentar um cursor associado ao teclado e ao rato para lidar com os dados. -Agora é fácil de perceber que uma vista é a componente mais única da aplicação e que o desenho da vista decide a usabilidade e a capacidade de aceitação de uma aplicação. Isto significa que um dos primeiros passos da programação é determinar o objectivo da aplicação e perceber o desenho da vista que irá responder melhor às necessidades de um utilizador para lidar com a aplicação com o mínimo de trabalho de aprendizagem da interface que lhe é apresentada. -Para alguns fins, como a edição de texto ou a apresentação de ficheiros HTML, as vistas são oferecidas pelas bibliotecas do Qt e do KDE; iremos discutir certos aspectos destes itens de alto-nível na próxima secção. Porém, para a maioria das aplicações, têm de ser desenhados e implementados novos itens gráficos. É o que torna um programador também um desenhador e onde são requisitadas as suas capacidades de criatividade. Todavia, você deverá ter em atenção primeiro a intuitividade. Lembre-se, bastantes utilizadores não irão aceitar uma aplicação que não seja: -graficamente bonita. -ofereça muitas funcionalidades -seja fácil de manejar -seja rápida de aprender a utilizar +Agora é fácil de perceber que uma vista é a componente mais única da aplicação e que o desenho da vista decide a usabilidade e a capacidade de aceitação de uma aplicação. Isto significa que um dos primeiros passos da programação é determinar o objectivo da aplicação e perceber o desenho da vista que irá responder melhor às necessidades de um utilizador para lidar com a aplicação com o mínimo de trabalho de aprendizagem da interface que lhe é apresentada. +Para alguns fins, como a edição de texto ou a apresentação de ficheiros HTML, as vistas são oferecidas pelas bibliotecas do Qt e do KDE; iremos discutir certos aspectos destes itens de alto-nível na próxima secção. Porém, para a maioria das aplicações, têm de ser desenhados e implementados novos itens gráficos. É o que torna um programador também um desenhador e onde são requisitadas as suas capacidades de criatividade. Todavia, você deverá ter em atenção primeiro a intuitividade. Lembre-se, bastantes utilizadores não irão aceitar uma aplicação que não seja: +graficamente bonita. +ofereça muitas funcionalidades +seja fácil de manejar +seja rápida de aprender a utilizar -Escusado será dizer que a estabilidade é um grande objectivo de desenho. Ninguém poderá evitar os erros, mas poderemos obter um mínimo se tivermos objectivos de desenho inteligentes e um uso abrangente de desenho orientado por objectos. O C++ torna a programação uma alegria se você souber como explorar as suas capacidades - a herança, o isolamento de informação e a reutilização de código já existente. -Ao criar um projecto do KDE ou do Qt, você terá de ter sempre uma vista que herde de QWidget, quer por herança directa, ou então porque o item da biblioteca que deseja usar herda do QWidget. Como tal, o Assistente de Aplicações já construiu uma vista que é uma instância de uma classe suaAplicacaoView, a qual já herda de QWidget. -Este capítulo descreve, deste modo, como usar os itens das bibliotecas para criar vistas das aplicações do KDE e do QT que sejam geradas com o &tdevelop;, e iremos depois olhar para os tipos de vistas que já são oferecidas. +Escusado será dizer que a estabilidade é um grande objectivo de desenho. Ninguém poderá evitar os erros, mas poderemos obter um mínimo se tivermos objectivos de desenho inteligentes e um uso abrangente de desenho orientado por objectos. O C++ torna a programação uma alegria se você souber como explorar as suas capacidades - a herança, o isolamento de informação e a reutilização de código já existente. +Ao criar um projecto do KDE ou do Qt, você terá de ter sempre uma vista que herde de QWidget, quer por herança directa, ou então porque o item da biblioteca que deseja usar herda do QWidget. Como tal, o Assistente de Aplicações já construiu uma vista que é uma instância de uma classe suaAplicacaoView, a qual já herda de QWidget. +Este capítulo descreve, deste modo, como usar os itens das bibliotecas para criar vistas das aplicações do KDE e do QT que sejam geradas com o &tdevelop;, e iremos depois olhar para os tipos de vistas que já são oferecidas. -Utilizar Vistas das Bibliotecas -Quando o desenho da sua aplicação tiver sido definido, você deverá primeiro ver se existe código que possa tornar a sua vida muito mais simples. Uma parte desta pesquisa implica procurar por um elemento gráfico que posas ser usado como uma vista, ou pelo menos como parte dela; quer directamente quer por herança. As bibliotecas do KDE e do Qt já contêm um conjunto de elementos gráficos que podem ser usados para este fim. Para os usar, você tem duas opções: -Remova a classe da nova vista e cria uma instância de um 'widget' de biblioteca; escolha depois isto com a vista, -Muda a herança da classe de vista fornecida para a classe do 'widget' da biblioteca a utilizar. +Utilizar Vistas das Bibliotecas +Quando o desenho da sua aplicação tiver sido definido, você deverá primeiro ver se existe código que possa tornar a sua vida muito mais simples. Uma parte desta pesquisa implica procurar por um elemento gráfico que posas ser usado como uma vista, ou pelo menos como parte dela; quer directamente quer por herança. As bibliotecas do KDE e do Qt já contêm um conjunto de elementos gráficos que podem ser usados para este fim. Para os usar, você tem duas opções: +Remova a classe da nova vista e cria uma instância de um 'widget' de biblioteca; escolha depois isto com a vista, +Muda a herança da classe de vista fornecida para a classe do 'widget' da biblioteca a utilizar. -De qualquer forma, é importante saber que, se a plataforma aplicacional não estiver compilada com a biblioteca que contém o elemento gráfico, o editor de ligações irá falhar. Depois de optar por usar um determinado elemento gráfico, veja qual é a biblioteca que é necessária; depois abra a opção "Projecto"->"Opções" do menu do &tdevelop;. Mude para a página das "Opções do Editor de Ligações" e veja as opções referentes às bibliotecas que estão a ser usadas de momento. Se a biblioteca do seu elemento gráfico já está assinalada, você poderá deixar as opções do projecto tal-e-qual e começar a fazer as alterações necessárias à sua escolha. Caso contrário, e se as opções do editor de ligações dão a possibilidade de adicionar a biblioteca com uma opção de marcação, assinale essa opção e carregue em "OK" para sair da janela de opções do projecto de novo. Se não tiver nenhuma opção, adicione a biblioteca no campo de edição em baixo com a opção '-l'. Para as bibliotecas que a sua aplicação tem de procurar antes de preparar as Makefiles com o programa 'configure' na máquina do utilizador, adicione a seguinte macro de procura ao ficheiro 'configure.in' localizado na directoria de base do seu projecto e adicione a macro na linha de edição. Lembre-se que tem de correr o "Construir"->"Autoconf e automake" e "Build"->"Configure" antes de as Makefiles passarem a conter a expansão correcta da macro da biblioteca. -Também, se os ficheiros de inclusão da biblioteca não estiver nas localizações normais (que poderão ser consultadas, vendo as opções '-I' na janela de resultado do "Make"), você terá de adicionar a sua localização na janela de Opções do Projecto - "Opções do Compilador", com a opção '-I' ou com a macro respectiva do 'automake' no campo de edição das "Opções Adicionais". +De qualquer forma, é importante saber que, se a plataforma aplicacional não estiver compilada com a biblioteca que contém o elemento gráfico, o editor de ligações irá falhar. Depois de optar por usar um determinado elemento gráfico, veja qual é a biblioteca que é necessária; depois abra a opção "Projecto"->"Opções" do menu do &tdevelop;. Mude para a página das "Opções do Editor de Ligações" e veja as opções referentes às bibliotecas que estão a ser usadas de momento. Se a biblioteca do seu elemento gráfico já está assinalada, você poderá deixar as opções do projecto tal-e-qual e começar a fazer as alterações necessárias à sua escolha. Caso contrário, e se as opções do editor de ligações dão a possibilidade de adicionar a biblioteca com uma opção de marcação, assinale essa opção e carregue em "OK" para sair da janela de opções do projecto de novo. Se não tiver nenhuma opção, adicione a biblioteca no campo de edição em baixo com a opção '-l'. Para as bibliotecas que a sua aplicação tem de procurar antes de preparar as Makefiles com o programa 'configure' na máquina do utilizador, adicione a seguinte macro de procura ao ficheiro 'configure.in' localizado na directoria de base do seu projecto e adicione a macro na linha de edição. Lembre-se que tem de correr o "Construir"->"Autoconf e automake" e "Build"->"Configure" antes de as Makefiles passarem a conter a expansão correcta da macro da biblioteca. +Também, se os ficheiros de inclusão da biblioteca não estiver nas localizações normais (que poderão ser consultadas, vendo as opções '-I' na janela de resultado do "Make"), você terá de adicionar a sua localização na janela de Opções do Projecto - "Opções do Compilador", com a opção '-I' ou com a macro respectiva do 'automake' no campo de edição das "Opções Adicionais". -Vista do Qt -Olhando para a primeira página da documentação 'online' do Qt, você irá ver uma referência a "Widget Screenshots" (Imagens dos Elementos Gráficos), onde você poderá ver como é que o itens que o Qt contém irão ficar. Eles estão prontos a usar e podem ser combinados em conjunto para forma itens mais complexos, de modo a criar vistas de aplicações ou janelas. A seguir, iremos discutir alguns destes itens que são muito úteis para criar vistas de aplicações; tenha contudo em mente que as bibliotecas do KDE algumas vezes contêm outros itens para o mesmo fim; estes serão revistos na próxima secção. -Aqui está um conjunto de sugestões sobre o fim para que você irá usar um determinado componente do Qt: -Se a área da sua janela não for grande o suficiente para mostrar todos os seus dados, o utilizador irá precisar de se deslocar pelo documento através de barras à esquerda e em baixo na janela. Para isso, o Qt oferece a classe QScrollView, que oferece uma área-filha que poderá ser posicionável. Como foi dito, você poderá herdar o seu próprio item de QScrollView ou usar uma instância para gerir o item da vista do seu documento. -Para criar você próprio uma ScrollView, herde o item da vista da classe QWidget e adicione QScrollBars verticais e horizontais. (Isto é feito pelo item TDEHTMLView do KDE). -Para processar texto, use a QTextEdit. Esta classe fornece um elemento gráfico de edição de texto completo que já é capaz de cortar, copiar e colar texto e é gerido por uma vista posicionável. -Use a QTable para mostrar dados organizados numa tabela. Dado que a QTable usa também barras de posicionamento, é uma boa solução para aplicações de cálculos de tabelas. -Para mostrar dois itens diferentes ou duas janelas ao mesmo tempo, use o QSplitter . Isto permite pôr lado-a-lado as vistas com divisões horizontais ou verticais. O KMail é um bom exemplo do que isto iria parecer - a área principal é separada na vertical por uma divisória e a área do lado direito é, por sua vez, dividida de novo na horizontal. -A QListView mostra informações numa lista e numa árvore. Isto é útil para criar árvores de ficheiros ou outra informação hierárquica qualquer com a qual deseja interagir. +Vista do Qt +Olhando para a primeira página da documentação 'online' do Qt, você irá ver uma referência a "Widget Screenshots" (Imagens dos Elementos Gráficos), onde você poderá ver como é que o itens que o Qt contém irão ficar. Eles estão prontos a usar e podem ser combinados em conjunto para forma itens mais complexos, de modo a criar vistas de aplicações ou janelas. A seguir, iremos discutir alguns destes itens que são muito úteis para criar vistas de aplicações; tenha contudo em mente que as bibliotecas do KDE algumas vezes contêm outros itens para o mesmo fim; estes serão revistos na próxima secção. +Aqui está um conjunto de sugestões sobre o fim para que você irá usar um determinado componente do Qt: +Se a área da sua janela não for grande o suficiente para mostrar todos os seus dados, o utilizador irá precisar de se deslocar pelo documento através de barras à esquerda e em baixo na janela. Para isso, o Qt oferece a classe QScrollView, que oferece uma área-filha que poderá ser posicionável. Como foi dito, você poderá herdar o seu próprio item de QScrollView ou usar uma instância para gerir o item da vista do seu documento. +Para criar você próprio uma ScrollView, herde o item da vista da classe QWidget e adicione QScrollBars verticais e horizontais. (Isto é feito pelo item TDEHTMLView do KDE). +Para processar texto, use a QTextEdit. Esta classe fornece um elemento gráfico de edição de texto completo que já é capaz de cortar, copiar e colar texto e é gerido por uma vista posicionável. +Use a QTable para mostrar dados organizados numa tabela. Dado que a QTable usa também barras de posicionamento, é uma boa solução para aplicações de cálculos de tabelas. +Para mostrar dois itens diferentes ou duas janelas ao mesmo tempo, use o QSplitter . Isto permite pôr lado-a-lado as vistas com divisões horizontais ou verticais. O KMail é um bom exemplo do que isto iria parecer - a área principal é separada na vertical por uma divisória e a área do lado direito é, por sua vez, dividida de novo na horizontal. +A QListView mostra informações numa lista e numa árvore. Isto é útil para criar árvores de ficheiros ou outra informação hierárquica qualquer com a qual deseja interagir. -Você poderá ver que o Qt sozinho já oferece um conjunto completo de elementos gráficos prontos a usar, de modo que você não tem de inventar novas soluções se estas corresponderem às suas necessidades. O efeito colateral ao usar os elementos gráficos normais é que os utilizadores já sabem como lidar com eles e só terão de se concentrar nos dados apresentados. +Você poderá ver que o Qt sozinho já oferece um conjunto completo de elementos gráficos prontos a usar, de modo que você não tem de inventar novas soluções se estas corresponderem às suas necessidades. O efeito colateral ao usar os elementos gráficos normais é que os utilizadores já sabem como lidar com eles e só terão de se concentrar nos dados apresentados. -Vistas do KDE -As bibliotecas do KDE foram inventadas para tornar o desenho de aplicações para o Ambiente de Trabalho K mais fácil e capaz de novas funcionalidades do que o Qt por si só oferece. A biblioteca 'tdeui' oferece: -TDEListView: uma versão mais poderosa do QListView -TDEIconView: uma vista gráfica de ficheiros de ícones +Vistas do KDE +As bibliotecas do KDE foram inventadas para tornar o desenho de aplicações para o Ambiente de Trabalho K mais fácil e capaz de novas funcionalidades do que o Qt por si só oferece. A biblioteca 'tdeui' oferece: +TDEListView: uma versão mais poderosa do QListView +TDEIconView: uma vista gráfica de ficheiros de ícones -A biblioteca 'tdehtml', por outro lado, oferece um elemento gráfico de interpretação de HTML completo e pronto a usar. Já é posicionável, por isso você não terá sequer de se preocupar com isso. Uma utilização possível seria integrá-lo como um item de antevisão para um editor HTML; é usado por aplicações como o Konqueror para mostrar ficheiros HTML. +A biblioteca 'tdehtml', por outro lado, oferece um elemento gráfico de interpretação de HTML completo e pronto a usar. Já é posicionável, por isso você não terá sequer de se preocupar com isso. Uma utilização possível seria integrá-lo como um item de antevisão para um editor HTML; é usado por aplicações como o Konqueror para mostrar ficheiros HTML. -Criar as suas próprias Vistas -Ainda não escrito +Criar as suas próprias Vistas +Ainda não escrito -Configurar as Barras de Menu e de Ferramentas +Configurar as Barras de Menu e de Ferramentas -Introdução -As barras de menu e de ferramentas são uma das partes mais importantes de uma aplicação para fornecer métodos para lidar com uma estrutura de documentos. Como regra geral, você irá tornar todas as funções disponíveis pela barra de menu. Os itens que não devam estar disponíveis numa determinada etapa do processo da aplicação deverão estar desactivados. -Para além disso, uma aplicação só poderá conter uma barra de menu, mas poderá conter várias barras de ferramentas. As barras de ferramentas, por outro lado, só deverão conter os comandos usados mais frequentemente pelos ícones das imagens ou deverão fornecer métodos de acesso rápido, como por exemplo listas, para seleccionar valores. +Introdução +As barras de menu e de ferramentas são uma das partes mais importantes de uma aplicação para fornecer métodos para lidar com uma estrutura de documentos. Como regra geral, você irá tornar todas as funções disponíveis pela barra de menu. Os itens que não devam estar disponíveis numa determinada etapa do processo da aplicação deverão estar desactivados. +Para além disso, uma aplicação só poderá conter uma barra de menu, mas poderá conter várias barras de ferramentas. As barras de ferramentas, por outro lado, só deverão conter os comandos usados mais frequentemente pelos ícones das imagens ou deverão fornecer métodos de acesso rápido, como por exemplo listas, para seleccionar valores. -Como é que funciona? -A nossa aplicação herda da classe TDEMainWindow, que trata automaticamente da criação de um menu e de barras de ferramentas por nós. No método KScribble::setupActions() existe uma chamada ao método TDEMainWindow::createGUI(). Este método carrega um ficheiro de recursos, neste caso, o 'kscribbleui.rc', para inicializar os menus no arranque. Repare que o ficheiro 'kscribbleui.rc' está listado como um dos ficheiros do projecto no Gestor do Automake. Se abrir esse ficheiro, irá revelar o seguinte: 1 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd"> +Como é que funciona? +A nossa aplicação herda da classe TDEMainWindow, que trata automaticamente da criação de um menu e de barras de ferramentas por nós. No método KScribble::setupActions() existe uma chamada ao método TDEMainWindow::createGUI(). Este método carrega um ficheiro de recursos, neste caso, o 'kscribbleui.rc', para inicializar os menus no arranque. Repare que o ficheiro 'kscribbleui.rc' está listado como um dos ficheiros do projecto no Gestor do Automake. Se abrir esse ficheiro, irá revelar o seguinte: 1 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd"> 2 <kpartgui name="kscribble" version="1"> 3 <MenuBar> -4 <Menu name="custom" -><text ->Pers&onalizado/text> +4 <Menu name="custom"><text>Pers&onalizado/text> 5 <Action name="custom_action" /> 6 </Menu> 7 </MenuBar> -8 </kpartgui -> +8 </kpartgui> -Explicação... -Outra forma de modificar o conteúdo do menu e das barras de ferramentas é manipulá-las directamente através dos métodos oferecidos pelas suas classes. Por exemplo, o método menuBar() devolve o elemento KMenuBar para a barra do menu do nosso programa. Se olhar para a documentação da KMenuBar e da classe herdada por ela, a QMenuBar, irá encontrar um grande conjunto de métodos insertItem() que lhe permitirão adicionar itens à barra do menu. -Os métodos da classe TDEMainWindow que são o statusBar() e o toolBar() irão devolver-lhe também referências aos elementos também fornecidos ao utilizador da janela. +Explicação... +Outra forma de modificar o conteúdo do menu e das barras de ferramentas é manipulá-las directamente através dos métodos oferecidos pelas suas classes. Por exemplo, o método menuBar() devolve o elemento KMenuBar para a barra do menu do nosso programa. Se olhar para a documentação da KMenuBar e da classe herdada por ela, a QMenuBar, irá encontrar um grande conjunto de métodos insertItem() que lhe permitirão adicionar itens à barra do menu. +Os métodos da classe TDEMainWindow que são o statusBar() e o toolBar() irão devolver-lhe também referências aos elementos também fornecidos ao utilizador da janela. -Configuração de Aceleradores de Teclado -Uma coisa muito profissional que você deverá sempre adicionar à sua aplicação são os aceleradores de teclado. Estes são principalmente usados pelos utilizadores experientes que gostam de trabalhar depressa com as suas aplicações e que estão dispostos a aprender atalhos. Para isso, as bibliotecas do KDE fornecem a classe TDEAction, que fornece as teclas de atalho do teclado e o acesso aos aceleradores-padrão de teclado, configurados a nível global. -Por omissão, as aplicações gráficas geradas pelo &tdevelop; só usam os aceleradores de teclado normais, como o F1 para aceder à ajuda 'online', o Ctrl+N para Novo Ficheiro, etc. -Se a sua aplicação contiver um conjunto de aceleradores, você deverá torná-los configuráveis num menu de opções; tanto poderão estar em conjunto com outras configurações da aplicação numa QWidget como usados isoladamente. A biblioteca do KDE já fornece uma classe KKeyChooser para ser usada em páginas de uma janela, enquanto que a KKeyDialog fornece uma janela de configuração de teclas pronta a usar. +Configuração de Aceleradores de Teclado +Uma coisa muito profissional que você deverá sempre adicionar à sua aplicação são os aceleradores de teclado. Estes são principalmente usados pelos utilizadores experientes que gostam de trabalhar depressa com as suas aplicações e que estão dispostos a aprender atalhos. Para isso, as bibliotecas do KDE fornecem a classe TDEAction, que fornece as teclas de atalho do teclado e o acesso aos aceleradores-padrão de teclado, configurados a nível global. +Por omissão, as aplicações gráficas geradas pelo &tdevelop; só usam os aceleradores de teclado normais, como o F1 para aceder à ajuda 'online', o Ctrl+N para Novo Ficheiro, etc. +Se a sua aplicação contiver um conjunto de aceleradores, você deverá torná-los configuráveis num menu de opções; tanto poderão estar em conjunto com outras configurações da aplicação numa QWidget como usados isoladamente. A biblioteca do KDE já fornece uma classe KKeyChooser para ser usada em páginas de uma janela, enquanto que a KKeyDialog fornece uma janela de configuração de teclas pronta a usar. -Funções de Ajuda +Funções de Ajuda -Introdução -Uma parte muito importante do processo de desenvolvimento é fornecer as funcionalidades de ajuda ao utilizador, sempre que possível. A maioria dos programadores tendem a atrasar isto, mas você dever-se-á lembrar que um utilizador normal nem sempre é um perito em Unix. Ele poderá vir de outra escola de 'software', onde lhe é oferecido todo um conjunto de funções de auxílio para o pôr a utilizar uma aplicação sem sequer ter de tocar nos manuais. Como tal, as bibliotecas do Qt e do KDE oferecem todos os meios normalmente pensados para tornar uma aplicação profissional aos olhos de um utilizador, com funções de ajuda prontas a usar. Dentro da aplicação, estas são: +Introdução +Uma parte muito importante do processo de desenvolvimento é fornecer as funcionalidades de ajuda ao utilizador, sempre que possível. A maioria dos programadores tendem a atrasar isto, mas você dever-se-á lembrar que um utilizador normal nem sempre é um perito em Unix. Ele poderá vir de outra escola de 'software', onde lhe é oferecido todo um conjunto de funções de auxílio para o pôr a utilizar uma aplicação sem sequer ter de tocar nos manuais. Como tal, as bibliotecas do Qt e do KDE oferecem todos os meios normalmente pensados para tornar uma aplicação profissional aos olhos de um utilizador, com funções de ajuda prontas a usar. Dentro da aplicação, estas são: -Dicas -Ajuda na barra de estado -Botões 'O que é isto...?' +Dicas +Ajuda na barra de estado +Botões 'O que é isto...?' -Para além disso, a aplicação deverá oferecer meios de aceder a um manual 'online' baseado em HTML directamente, através da tecla de ajuda normal que é a F1. Este sistema de ajuda baseado no contexto é fornecido automaticamente através da classe TDEMainWindow, ainda que, como autor, você tenha de fornecer o conteúdo. -Como o &tdevelop; também oferece todos os tipos de ajuda, assim como a plataforma do KDE gerada pelo assistente de aplicações também contém algum suporte, este capítulo ajudá-lo-á a encontrar onde deverá adicionar a sua funcionalidade de ajuda. -Durante o desenvolvimento da sua aplicação, você deverá ser consistente com o que está a fazer; como tal, você deverá efectuar os passos necessários directamente, enquanto extende o código. Isto irá evitar que você se embrenhe no seu código e perca tempo a perceber o que a sua aplicação faz e o que você pretendia em determinadas partes do código. +Para além disso, a aplicação deverá oferecer meios de aceder a um manual 'online' baseado em HTML directamente, através da tecla de ajuda normal que é a F1. Este sistema de ajuda baseado no contexto é fornecido automaticamente através da classe TDEMainWindow, ainda que, como autor, você tenha de fornecer o conteúdo. +Como o &tdevelop; também oferece todos os tipos de ajuda, assim como a plataforma do KDE gerada pelo assistente de aplicações também contém algum suporte, este capítulo ajudá-lo-á a encontrar onde deverá adicionar a sua funcionalidade de ajuda. +Durante o desenvolvimento da sua aplicação, você deverá ser consistente com o que está a fazer; como tal, você deverá efectuar os passos necessários directamente, enquanto extende o código. Isto irá evitar que você se embrenhe no seu código e perca tempo a perceber o que a sua aplicação faz e o que você pretendia em determinadas partes do código. -Dicas -Uma forma muito simples de fornecer ajuda são as dicas de ferramentas. Estas são pequenas mensagens de ajuda que aparecem quando o utilizador passa o rato por cima de um item, o qual mostra uma pequena explicação, e que desaparecem quando o cursor sai de cima do item. A utilização mais conhecida das dicas acontece nas barras de ferramentas, onde estas deverão ser mantidas o mais pequenas possível, dado que as barras de ferramentas podem ser configuradas para mostrar o seu conteúdo de várias formas: quer para mostrar o botão, o botão com o texto por baixo, ou apenas o texto. Esta possibilidade deverá ser configurável pelo utilizador, mas não é obrigatório. O texto é mostrado de qualquer forma como uma dica e uma barra de ferramentas normalmente consiste em botões e outros itens, como campos de edição e listas. Para uma referência completa, veja a referência da classe TDEToolBar localizada na biblioteca 'tdeui'. -Neste exemplo, examinamos o botão "Novo Ficheiro" numa aplicação genérica: -Aqui, a parte i18n("New File") irá mostrar uma mensagem. É rodeada pela macro i18n(), que é fornecida com o kapp.h para traduzir o texto da dica para a língua seleccionada no momento. -As dicas poderão também ser adicionadas a qualquer item gráfico, se usar a classe QToolTip fornecida pelo Qt. Um exemplo seria: +Dicas +Uma forma muito simples de fornecer ajuda são as dicas de ferramentas. Estas são pequenas mensagens de ajuda que aparecem quando o utilizador passa o rato por cima de um item, o qual mostra uma pequena explicação, e que desaparecem quando o cursor sai de cima do item. A utilização mais conhecida das dicas acontece nas barras de ferramentas, onde estas deverão ser mantidas o mais pequenas possível, dado que as barras de ferramentas podem ser configuradas para mostrar o seu conteúdo de várias formas: quer para mostrar o botão, o botão com o texto por baixo, ou apenas o texto. Esta possibilidade deverá ser configurável pelo utilizador, mas não é obrigatório. O texto é mostrado de qualquer forma como uma dica e uma barra de ferramentas normalmente consiste em botões e outros itens, como campos de edição e listas. Para uma referência completa, veja a referência da classe TDEToolBar localizada na biblioteca 'tdeui'. +Neste exemplo, examinamos o botão "Novo Ficheiro" numa aplicação genérica: +Aqui, a parte i18n("New File") irá mostrar uma mensagem. É rodeada pela macro i18n(), que é fornecida com o kapp.h para traduzir o texto da dica para a língua seleccionada no momento. +As dicas poderão também ser adicionadas a qualquer item gráfico, se usar a classe QToolTip fornecida pelo Qt. Um exemplo seria: -Extender a Barra de Estado -Dado que as aplicações que herdam de TDEMainWindow também contêm uma barra de estado, esta classe também oferece já um conjunto de mensagens da barra de estado para todos os itens do menu e da barra de ferramentas. Uma mensagem da barra de estado é uma mensagem curta que extende o significado de uma dica de ferramentas, ou poderá ser vista como um substituto das dicas para os itens do menu e é (como o nome indica) mostrada na barra de estado, sempre que o utilizador abre um menu e selecciona um item deste. +Extender a Barra de Estado +Dado que as aplicações que herdam de TDEMainWindow também contêm uma barra de estado, esta classe também oferece já um conjunto de mensagens da barra de estado para todos os itens do menu e da barra de ferramentas. Uma mensagem da barra de estado é uma mensagem curta que extende o significado de uma dica de ferramentas, ou poderá ser vista como um substituto das dicas para os itens do menu e é (como o nome indica) mostrada na barra de estado, sempre que o utilizador abre um menu e selecciona um item deste. -O Botão <guibutton ->O que é Isto...?</guibutton -> -O botão O Que É Isto...? fornece janelas de ajuda com a intenção de que o utilizador quer obter ajuda sobre um determinado elemento na área de trabalho ou sobre um item da barra de ferramentas. É colocado na barra de ferramentas e é activado logo que o utilizador carregue no botão. O cursor muda para uma seta com um ponto de interrogação semelhante ao que o botão tem. O utilizador então poderá carregar num item visível para obter uma janela de ajuda. Como exercício, você poderá tentar este comportamento com o botão O que é isto...? no &tdevelop;. -Para adicionar a ajuda 'O Que É Isto...?' a um dos seus itens gráficos, use o método estático QWhatsThis::add(QWidget *item, const QString &texto) +O Botão <guibutton>O que é Isto...?</guibutton> +O botão O Que É Isto...? fornece janelas de ajuda com a intenção de que o utilizador quer obter ajuda sobre um determinado elemento na área de trabalho ou sobre um item da barra de ferramentas. É colocado na barra de ferramentas e é activado logo que o utilizador carregue no botão. O cursor muda para uma seta com um ponto de interrogação semelhante ao que o botão tem. O utilizador então poderá carregar num item visível para obter uma janela de ajuda. Como exercício, você poderá tentar este comportamento com o botão O que é isto...? no &tdevelop;. +Para adicionar a ajuda 'O Que É Isto...?' a um dos seus itens gráficos, use o método estático QWhatsThis::add(QWidget *item, const QString &texto) -Documentação +Documentação -Introdução -Devido ao facto de que os projectos normalmente não têm um conjunto completo de documentação do utilizador, todos os projectos do &tdevelop; contêm já um manual pré-elaborado que poderá ser facilmente adaptado; como tal, preenche outro objectivo do KDE: fornecer ajuda 'online' suficiente para suportar os utilizadores que não estejam familiarizados com uma aplicação. Assim, este capítulo irá introduzi-lo à extensão do modelo de documentação fornecido e ao que precisa de fazer para torná-lo disponível para o utilizador. +Introdução +Devido ao facto de que os projectos normalmente não têm um conjunto completo de documentação do utilizador, todos os projectos do &tdevelop; contêm já um manual pré-elaborado que poderá ser facilmente adaptado; como tal, preenche outro objectivo do KDE: fornecer ajuda 'online' suficiente para suportar os utilizadores que não estejam familiarizados com uma aplicação. Assim, este capítulo irá introduzi-lo à extensão do modelo de documentação fornecido e ao que precisa de fazer para torná-lo disponível para o utilizador. -Documentação para Utilizadores -A documentação para o seu projecto fica normalmente em 'dir_projecto/doc/en', ou noutra directoria qualquer se o Inglês não for a sua língua nativa. Aí dentro existe um ficheiro, o 'index.docbook', no qual fica a documentação. O formato para editar este ficheiro é explicado no 'site' Web de documentação do KDE. +Documentação para Utilizadores +A documentação para o seu projecto fica normalmente em 'dir_projecto/doc/en', ou noutra directoria qualquer se o Inglês não for a sua língua nativa. Aí dentro existe um ficheiro, o 'index.docbook', no qual fica a documentação. O formato para editar este ficheiro é explicado no 'site' Web de documentação do KDE. -Documentação para Programadores -Outra parte importante da documentação é incluir uma ajuda descritiva para as interfaces da sua classe. Isto permitir-lhe-á a si e aos outros programadores usarem as suas classes se lerem a documentação em HTML da classe, a qual poderá ser criada com o KDoc. O &tdevelop; suporta a utilização completa do KDoc para criar a documentação da biblioteca do KDE, estando também as suas plataformas aplicacionais já documentadas. Para você trabalhar também no código fornecido, seria uma boa ideia começar a ler a documentação 'online' incluída. O seguinte descreve como fazer para obter a documentação da API, onde o &tdevelop; ajudá-lo-á a adicioná-la e quais os tipos de marcas ('tags') que o KDoc oferece. +Documentação para Programadores +Outra parte importante da documentação é incluir uma ajuda descritiva para as interfaces da sua classe. Isto permitir-lhe-á a si e aos outros programadores usarem as suas classes se lerem a documentação em HTML da classe, a qual poderá ser criada com o KDoc. O &tdevelop; suporta a utilização completa do KDoc para criar a documentação da biblioteca do KDE, estando também as suas plataformas aplicacionais já documentadas. Para você trabalhar também no código fornecido, seria uma boa ideia começar a ler a documentação 'online' incluída. O seguinte descreve como fazer para obter a documentação da API, onde o &tdevelop; ajudá-lo-á a adicioná-la e quais os tipos de marcas ('tags') que o KDoc oferece. -Internacionalização +Internacionalização -Introdução -O 'i18n' é um sistema de internacionalização que é usado para oferecer versões internacionalizadas de uma dada aplicação ou projecto. A dificuldade ao criar aplicações é que elas só suportam a língua para a qual foram criadas; visualmente isto poderá ser visto nas legendas, itens de menu, entre outros itens. O objectivo da internacionalização é oferecer às aplicações e às funções da biblioteca a língua do utilizador; como tal, permitindo aos utilizadores que não falem nativamente a língua original, que usem a funcionalidade oferecida e se sintam mais confortáveis. +Introdução +O 'i18n' é um sistema de internacionalização que é usado para oferecer versões internacionalizadas de uma dada aplicação ou projecto. A dificuldade ao criar aplicações é que elas só suportam a língua para a qual foram criadas; visualmente isto poderá ser visto nas legendas, itens de menu, entre outros itens. O objectivo da internacionalização é oferecer às aplicações e às funções da biblioteca a língua do utilizador; como tal, permitindo aos utilizadores que não falem nativamente a língua original, que usem a funcionalidade oferecida e se sintam mais confortáveis. + --> -Créditos +Créditos -(... ainda não escrito ...) +(... ainda não escrito ...) - + -Bibliografia +Bibliografia -<ulink url="info://make/Top" ->GNU Make Manual</ulink -> +<ulink url="info://make/Top">GNU Make Manual</ulink> -Richard M.Stallman -RolandMcGrath +Richard M.Stallman +RolandMcGrath -<ulink url="info://automake/Top" ->GNU Automake</ulink -> +<ulink url="info://automake/Top">GNU Automake</ulink> -DavidMacKenzie -TomTromey +DavidMacKenzie +TomTromey -<ulink url="info://autoconf/Top" ->GNU Autoconf</ulink -> +<ulink url="info://autoconf/Top">GNU Autoconf</ulink> -DavidMacKenzie -BenElliston +DavidMacKenzie +BenElliston -<ulink url="info://gcc/Top" ->Using the GNU Compiler Collection</ulink -> -Richard M.Stallman +<ulink url="info://gcc/Top">Using the GNU Compiler Collection</ulink> +Richard M.Stallman -<ulink url="info://libtool/Top" ->GNU Libtool</ulink -> +<ulink url="info://libtool/Top">GNU Libtool</ulink> -GordonMatzigkeit -AlexandreOliva -ThomasTanner -Gary V.Vaughan +GordonMatzigkeit +AlexandreOliva +ThomasTanner +Gary V.Vaughan -GNU Autoconf, Automake, and Libtool -1st edition -October 2000 +GNU Autoconf, Automake, and Libtool +1st edition +October 2000 -Gary V.Vaughan -BenElliston -TomTromey -Ian LanceTaylor +Gary V.Vaughan +BenElliston +TomTromey +Ian LanceTaylor -New Riders Publishing -ISBN 1578701902 +New Riders Publishing +ISBN 1578701902 -Advanced Programming in the UNIX(R) Environment -1st edition -June 1992 -W. RichardStevens -Addison-Wesley Pub Co -ISBN 0201563177 +Advanced Programming in the UNIX(R) Environment +1st edition +June 1992 +W. RichardStevens +Addison-Wesley Pub Co +ISBN 0201563177 -Thinking in C++, Volume 1: Introduction to Standard C++ -2nd Edition -April 15, 2000 -BruceEckel -Prentice Hall -ISBN 0139798099 +Thinking in C++, Volume 1: Introduction to Standard C++ +2nd Edition +April 15, 2000 +BruceEckel +Prentice Hall +ISBN 0139798099 -Open Source Development with CVS -2nd Edition -October 12, 2001 +Open Source Development with CVS +2nd Edition +October 12, 2001 -KarlFogel -MosheBar +KarlFogel +MosheBar -The Coriolis Group -ISBN 158880173X +The Coriolis Group +ISBN 158880173X -Programming PHP -1st edition -March 2002 +Programming PHP +1st edition +March 2002 -RasmusLerdorf -KevinTatroe +RasmusLerdorf +KevinTatroe -O'Reilly & Associates -ISBN 1565926102 +O'Reilly & Associates +ISBN 1565926102 -Programming Python -2nd Edition -March 2001 -MarkLutz -O'Reilly & Associates -ISBN 0596000855 +Programming Python +2nd Edition +March 2001 +MarkLutz +O'Reilly & Associates +ISBN 0596000855 -Gui Programming With Python : Using the Qt Toolkit -Bk&Cd-r edition -January 2002 -BoudewijnRempt -Opendocs Llc -ISBN 0970033044 +Gui Programming With Python : Using the Qt Toolkit +Bk&Cd-r edition +January 2002 +BoudewijnRempt +Opendocs Llc +ISBN 0970033044 -Programming Perl -The Camel book -3rd Edition -July 2000 +Programming Perl +The Camel book +3rd Edition +July 2000 -LarryWall -TomChristiansen -JonOrwant +LarryWall +TomChristiansen +JonOrwant -O'Reilly & Associates -ISBN 0596000278 +O'Reilly & Associates +ISBN 0596000278 -Learning Perl -The Lama book -3rd Edition -July 15, 2001 +Learning Perl +The Lama book +3rd Edition +July 15, 2001 -Randal L.Schwartz -TomPhoenix +Randal L.Schwartz +TomPhoenix -O'Reilly & Associates -ISBN 0596001320 +O'Reilly & Associates +ISBN 0596001320 diff --git a/tde-i18n-pt/docs/tdevelop/kdearch/index.docbook b/tde-i18n-pt/docs/tdevelop/kdearch/index.docbook index e12e1d851e7..eb9be3880cc 100644 --- a/tde-i18n-pt/docs/tdevelop/kdearch/index.docbook +++ b/tde-i18n-pt/docs/tdevelop/kdearch/index.docbook @@ -1,137 +1,74 @@ - + ]> -Introdução à Arquitectura do KDE +Introdução à Arquitectura do KDE - - + + -Bernd Gehrmann
bernd@kdevelop.org
+Bernd Gehrmann
bernd@kdevelop.org
-2001 -2002 -Bernd Gehrmann +2001 +2002 +Bernd Gehrmann -&FDLNotice; +&FDLNotice; -Esta documentação dá uma ideia geral sobre a Plataforma de Desenvolvimento do KDE +Esta documentação dá uma ideia geral sobre a Plataforma de Desenvolvimento do KDE -KDE -arquitectura -desenvolvimento -programação +KDE +arquitectura +desenvolvimento +programação
-Estrutura da biblioteca +Estrutura da biblioteca -Bibliotecas por nome +Bibliotecas por nome -tdecore -A biblioteca 'tdecore' é a plataforma aplicacional básica para todos os programa baseados no KDE. Ela fornece o acesso ao sistema de configuração, ao tratamento da linha de comandos, o carregamento e manipulação de ícones, alguns itens básicos de comunicação entre processos, tratamento de ficheiros e muitos outros utilitários. +tdecore +A biblioteca 'tdecore' é a plataforma aplicacional básica para todos os programa baseados no KDE. Ela fornece o acesso ao sistema de configuração, ao tratamento da linha de comandos, o carregamento e manipulação de ícones, alguns itens básicos de comunicação entre processos, tratamento de ficheiros e muitos outros utilitários. -tdeui -A biblioteca tdeui fornece vários elementos gráficos e janelas que o Qt não tem ou que tem mas com menos funcionalidades. Inclui também vários elementos itens que são sub-classes das versões do Qt e que se integram melhor com o ambiente do KDE no que respeita às preferências do utilizador. +tdeui +A biblioteca tdeui fornece vários elementos gráficos e janelas que o Qt não tem ou que tem mas com menos funcionalidades. Inclui também vários elementos itens que são sub-classes das versões do Qt e que se integram melhor com o ambiente do KDE no que respeita às preferências do utilizador. -tdeio -A biblioteca tdeio contém funcionalidades para E/S assíncronas e transparentes na rede, assim como o tratamento de tipos MIME. Também contém a janela de ficheiros do KDE e as suas classes auxiliares. +tdeio +A biblioteca tdeio contém funcionalidades para E/S assíncronas e transparentes na rede, assim como o tratamento de tipos MIME. Também contém a janela de ficheiros do KDE e as suas classes auxiliares. -kjs -A biblioteca kjs contém uma implementação de JavaScript. +kjs +A biblioteca kjs contém uma implementação de JavaScript. -tdehtml -A biblioteca tdehtml contém a componente TDEHTML, um elemento de navegação em HTML, com uma API e um processador de DOM e que inclui interfaces para Java e JavaScript. +tdehtml +A biblioteca tdehtml contém a componente TDEHTML, um elemento de navegação em HTML, com uma API e um processador de DOM e que inclui interfaces para Java e JavaScript. @@ -140,928 +77,382 @@ -Classes agrupadas +Classes agrupadas -Esqueleto de uma aplicação básica - classes necessárias por quase todas as aplicações. +Esqueleto de uma aplicação básica - classes necessárias por quase todas as aplicações. - -<ulink url="kdeapi:tdecore/TDEApplication" ->TDEApplication</ulink -> -Inicializa e controla uma aplicação do KDE. - - - -<ulink url="kdeapi:tdecore/KUniqueApplication" ->KUniqueApplication</ulink -> -Certifica-se que só uma instância de uma determinada aplicação poderá correr em simultâneo. - - -<ulink url="kdeapi:tdecore/TDEAboutData" ->TDEAboutData</ulink -> -Contém as informações da janela Acerca. - - -<ulink url="kdeapi:tdecore/TDECmdLineArgs" ->TDECmdLineArgs</ulink -> -Processamento de argumentos da linha de comandos. - + +<ulink url="kdeapi:tdecore/TDEApplication">TDEApplication</ulink> +Inicializa e controla uma aplicação do KDE. + + + +<ulink url="kdeapi:tdecore/KUniqueApplication">KUniqueApplication</ulink> +Certifica-se que só uma instância de uma determinada aplicação poderá correr em simultâneo. + + +<ulink url="kdeapi:tdecore/TDEAboutData">TDEAboutData</ulink> +Contém as informações da janela Acerca. + + +<ulink url="kdeapi:tdecore/TDECmdLineArgs">TDECmdLineArgs</ulink> +Processamento de argumentos da linha de comandos. + -Gestão de configurações - acesso à base de dados hierárquica de configuração do KDE, as configurações globais e os recursos da aplicação. +Gestão de configurações - acesso à base de dados hierárquica de configuração do KDE, as configurações globais e os recursos da aplicação. -<ulink url="kdeapi:tdecore/TDEConfig" ->TDEConfig</ulink -> -Fornece o acesso à base de dados de configuração do KDE. - - -<ulink url="kdeapi:tdecore/KSimpleConfig" ->KSimpleConfig</ulink -> -Acesso a ficheiros de configuração simples, não hierárquicos. - - -<ulink url="kdeapi:tdecore/KDesktopFile" ->KDesktopFile</ulink -> -Acesso a ficheiros .desktop. - - -<ulink url="kdeapi:tdecore/TDEGlobalSettings" ->TDEGlobalSettings</ulink -> -Um acesso conveniente a configurações não-específicas de uma aplicação. - +<ulink url="kdeapi:tdecore/TDEConfig">TDEConfig</ulink> +Fornece o acesso à base de dados de configuração do KDE. + + +<ulink url="kdeapi:tdecore/KSimpleConfig">KSimpleConfig</ulink> +Acesso a ficheiros de configuração simples, não hierárquicos. + + +<ulink url="kdeapi:tdecore/KDesktopFile">KDesktopFile</ulink> +Acesso a ficheiros .desktop. + + +<ulink url="kdeapi:tdecore/TDEGlobalSettings">TDEGlobalSettings</ulink> +Um acesso conveniente a configurações não-específicas de uma aplicação. + -Tratamento de ficheiros e URLs - descodificação de URLs, ficheiros temporário, etc. +Tratamento de ficheiros e URLs - descodificação de URLs, ficheiros temporário, etc. -<ulink url="kdeapi:tdecore/KURL" ->KURL</ulink -> -Representa e processa os URLs. - - -<ulink url="kdeapi:tdecore/KTempFile" ->KTempFile</ulink -> -Cria ficheiros únicos para dados temporários. - - -<ulink url="kdeapi:tdecore/KSaveFile" ->KSaveFile</ulink -> -Permite gravar os ficheiros de forma atómica. - +<ulink url="kdeapi:tdecore/KURL">KURL</ulink> +Representa e processa os URLs. + + +<ulink url="kdeapi:tdecore/KTempFile">KTempFile</ulink> +Cria ficheiros únicos para dados temporários. + + +<ulink url="kdeapi:tdecore/KSaveFile">KSaveFile</ulink> +Permite gravar os ficheiros de forma atómica. + -Comunicação inter-processos - classes auxiliares de DCOP e invocação de sub-processos. +Comunicação inter-processos - classes auxiliares de DCOP e invocação de sub-processos. -<ulink url="kdeapi:tdecore/TDEProcess" ->TDEProcess</ulink -> -Invoca e controla os processos-filhos. - - -<ulink url="kdeapi:tdecore/KShellProcess" ->KShellProcess</ulink -> -Invoca os processos-filhos através de uma linha de comandos. - - -<ulink url="kdeapi:tdesu/PtyProcess" ->PtyProcess</ulink -> -Comunicação com os processos-filhos através de um pseudo-terminal. - - -<ulink url="kdeapi:tdecore/KIPC" ->KIPC</ulink -> -Mecanismo simples de IPC com ClientMessages do X11. - - -<ulink url="kdeapi:dcop/DCOPClient" ->DCOPClient</ulink -> -Troca de mensagens DCOP. - - -<ulink url="kdeapi:tdecore/KDCOPPropertyProxy" ->KDCOPPropertyProxy</ulink -> -Uma classe 'proxy' que publica as propriedades do Qt através do DCOP. - - -<ulink url="kdeapi:tdeui/KDCOPActionProxy" ->KDCOPActionProxy</ulink -> -Uma classe 'proxy' que publica uma interface de DCOP para as acções. - +<ulink url="kdeapi:tdecore/TDEProcess">TDEProcess</ulink> +Invoca e controla os processos-filhos. + + +<ulink url="kdeapi:tdecore/KShellProcess">KShellProcess</ulink> +Invoca os processos-filhos através de uma linha de comandos. + + +<ulink url="kdeapi:tdesu/PtyProcess">PtyProcess</ulink> +Comunicação com os processos-filhos através de um pseudo-terminal. + + +<ulink url="kdeapi:tdecore/KIPC">KIPC</ulink> +Mecanismo simples de IPC com ClientMessages do X11. + + +<ulink url="kdeapi:dcop/DCOPClient">DCOPClient</ulink> +Troca de mensagens DCOP. + + +<ulink url="kdeapi:tdecore/KDCOPPropertyProxy">KDCOPPropertyProxy</ulink> +Uma classe 'proxy' que publica as propriedades do Qt através do DCOP. + + +<ulink url="kdeapi:tdeui/KDCOPActionProxy">KDCOPActionProxy</ulink> +Uma classe 'proxy' que publica uma interface de DCOP para as acções. + -Classes utilitárias - gestão de memória, expressões regulares, manipulação de cadeias de caracteres, números aleatórios +Classes utilitárias - gestão de memória, expressões regulares, manipulação de cadeias de caracteres, números aleatórios -<ulink url="kdeapi:tdecore/KRegExp" ->KRegExp</ulink -> -Expressões regulares POSIX. - - -<ulink url="kdeapi:tdecore/KStringHandler" ->KStringHandler</ulink -> -Uma interface extravagante para manipular cadeias de caracteres. - - -<ulink url="kdeapi:tdecore/TDEZoneAllocator" ->TDEZoneAllocator</ulink -> -Um alocador de memória eficiente para grandes grupos de objectos pequenos. - - -<ulink url="kdeapi:tdecore/KRandomSequence" ->KRandomSequence</ulink -> -Um gerador de números pseudo-aleatórios. - +<ulink url="kdeapi:tdecore/KRegExp">KRegExp</ulink> +Expressões regulares POSIX. + + +<ulink url="kdeapi:tdecore/KStringHandler">KStringHandler</ulink> +Uma interface extravagante para manipular cadeias de caracteres. + + +<ulink url="kdeapi:tdecore/TDEZoneAllocator">TDEZoneAllocator</ulink> +Um alocador de memória eficiente para grandes grupos de objectos pequenos. + + +<ulink url="kdeapi:tdecore/KRandomSequence">KRandomSequence</ulink> +Um gerador de números pseudo-aleatórios. + -Aceleradores de teclado - classes que ajudam a estabelecer associações de teclas consistentes em todo o ambiente de trabalho. +Aceleradores de teclado - classes que ajudam a estabelecer associações de teclas consistentes em todo o ambiente de trabalho. -<ulink url="kdeapi:tdecore/TDEAccel" ->TDEAccel</ulink -> -Uma colecção de atalhos de teclado. - - -<ulink url="kdeapi:tdecore/TDEStdAccel" ->TDEStdAccel</ulink -> -Um acesso fácil aos atalhos de teclado comuns. - - -<ulink url="kdeapi:tdecore/TDEGlobalAccel" -></ulink -> -Uma colecção de atalhos de teclado ao nível do sistema. - +<ulink url="kdeapi:tdecore/TDEAccel">TDEAccel</ulink> +Uma colecção de atalhos de teclado. + + +<ulink url="kdeapi:tdecore/TDEStdAccel">TDEStdAccel</ulink> +Um acesso fácil aos atalhos de teclado comuns. + + +<ulink url="kdeapi:tdecore/TDEGlobalAccel"></ulink> +Uma colecção de atalhos de teclado ao nível do sistema. + -Processamento de imagens - leitura e manipulação de ícones. +Processamento de imagens - leitura e manipulação de ícones. -<ulink url="kdeapi:tdecore/TDEIconLoader" ->TDEIconLoader</ulink -> -Carrega os ícones de uma forma dependente do tema. - - -<ulink url="kdeapi:tdecore/TDEIconTheme" ->TDEIconTheme</ulink -> -Classes auxiliares para o TDEIconLoader. - - -<ulink url="kdeapi:tdecore/KPixmap" ->KPixmap</ulink -> -Uma classe de imagens com capacidades de gestão de tons extendidas. - - -<ulink url="kdeapi:tdeui/KPixmapEffect" ->KPixmapEffect</ulink -> -Efeitos de imagens como gradientes e padrões. - - -<ulink url="kdeapi:tdeui/KPixmapIO" ->KPixmapIO</ulink -> -Uma conversão rápida de QImage para QPixmap. - +<ulink url="kdeapi:tdecore/TDEIconLoader">TDEIconLoader</ulink> +Carrega os ícones de uma forma dependente do tema. + + +<ulink url="kdeapi:tdecore/TDEIconTheme">TDEIconTheme</ulink> +Classes auxiliares para o TDEIconLoader. + + +<ulink url="kdeapi:tdecore/KPixmap">KPixmap</ulink> +Uma classe de imagens com capacidades de gestão de tons extendidas. + + +<ulink url="kdeapi:tdeui/KPixmapEffect">KPixmapEffect</ulink> +Efeitos de imagens como gradientes e padrões. + + +<ulink url="kdeapi:tdeui/KPixmapIO">KPixmapIO</ulink> +Uma conversão rápida de QImage para QPixmap. + -'Drag and Drop' - arrastar objectos de cores e URLs. +'Drag and Drop' - arrastar objectos de cores e URLs. -<ulink url="kdeapi:tdecore/KURLDrag" ->KURLDrag</ulink -> -Um objecto de arrastamento de URLs. - - -<ulink url="kdeapi:tdeui/KColorDrag" ->KColorDrag</ulink -> -Um objecto de arrastamento para cores. - - -<ulink url="kdeapi:tdecore/KMultipleDrag" ->KMultipleDrag</ulink -> -Permite construir objectos de arrastamento a partir de vários outros objectos. - +<ulink url="kdeapi:tdecore/KURLDrag">KURLDrag</ulink> +Um objecto de arrastamento de URLs. + + +<ulink url="kdeapi:tdeui/KColorDrag">KColorDrag</ulink> +Um objecto de arrastamento para cores. + + +<ulink url="kdeapi:tdecore/KMultipleDrag">KMultipleDrag</ulink> +Permite construir objectos de arrastamento a partir de vários outros objectos. + -Completação Automática +Completação Automática -<ulink url="kdeapi:tdecore/TDECompletion" ->TDECompletion</ulink -> -Auto-completação genérica de cadeias de caracteres. - - -<ulink url="kdeapi:tdeio/KURLCompletion" ->KURLCompletion</ulink -> -Completação automática de URLs. - - -<ulink url="kdeapi:tdeio/KShellCompletion" ->KShellCompletion</ulink -> -Completação automática de executáveis. - +<ulink url="kdeapi:tdecore/TDECompletion">TDECompletion</ulink> +Auto-completação genérica de cadeias de caracteres. + + +<ulink url="kdeapi:tdeio/KURLCompletion">KURLCompletion</ulink> +Completação automática de URLs. + + +<ulink url="kdeapi:tdeio/KShellCompletion">KShellCompletion</ulink> +Completação automática de executáveis. + -Elementos gráficos - classes de listas, réguas, selecção de cores, etc. +Elementos gráficos - classes de listas, réguas, selecção de cores, etc. -<ulink url="kdeapi:tdeui/TDEListView" ->TDEListView</ulink -> -Uma variante da QListView que usa as configurações de sistema do KDE. - - -<ulink url="kdeapi:tdeui/TDEListView" ->TDEListBox</ulink -> -Uma variante da QListBox que usa as configurações de sistema do KDE. - - -<ulink url="kdeapi:tdeui/TDEListView" ->TDEIconView</ulink -> -Uma variante da QIconView que usa as configurações de sistema do KDE. - - -<ulink url="kdeapi:tdeui/TDEListView" ->KLineEdit</ulink -> -Uma variante da QLineEdit com o suporte de completação. - - -<ulink url="kdeapi:tdeui/KComboBox" ->KComboBox</ulink -> -Uma variante da QComboBox com o suporte de completação. - - -<ulink url="kdeapi:tdeui/TDEFontCombo" ->TDEFontCombo</ulink -> -Uma lista para seleccionar tipos de letra. - - -<ulink url="kdeapi:tdeui/KColorCombo" ->KColorCombo</ulink -> -Uma lista para seleccionar cores. - - -<ulink url="kdeapi:tdeui/KColorButton" ->KColorButton</ulink -> -Um botão para seleccionar cores. - - -<ulink url="kdeapi:tdeui/KURLCombo" ->KURLCombo</ulink -> -Uma lista para seleccionar nomes de ficheiros e URLs. - - -<ulink url="kdeapi:tdefile/KURLRequester" ->KURLRequester</ulink -> -Um campo de texto para seleccionar nomes e URLs de ficheiros. - - -<ulink url="kdeapi:tdeui/KRuler" ->KRuler</ulink -> -Uma régua. - - -<ulink -url="kdeapi:tdeui/KAnimWidget" ->KAnimWidget</ulink -> -animações. - - -<ulink url="kdeapi:tdeui/KNumInput" ->KNumInput</ulink -> -Um item para introduzir números. - - -<ulink url="kdeapi:tdeui/KPasswordEdit" ->KPasswordEdit</ulink -> -Um item para introduzir senhas. - +<ulink url="kdeapi:tdeui/TDEListView">TDEListView</ulink> +Uma variante da QListView que usa as configurações de sistema do KDE. + + +<ulink url="kdeapi:tdeui/TDEListView">TDEListBox</ulink> +Uma variante da QListBox que usa as configurações de sistema do KDE. + + +<ulink url="kdeapi:tdeui/TDEListView">TDEIconView</ulink> +Uma variante da QIconView que usa as configurações de sistema do KDE. + + +<ulink url="kdeapi:tdeui/TDEListView">KLineEdit</ulink> +Uma variante da QLineEdit com o suporte de completação. + + +<ulink url="kdeapi:tdeui/KComboBox">KComboBox</ulink> +Uma variante da QComboBox com o suporte de completação. + + +<ulink url="kdeapi:tdeui/TDEFontCombo">TDEFontCombo</ulink> +Uma lista para seleccionar tipos de letra. + + +<ulink url="kdeapi:tdeui/KColorCombo">KColorCombo</ulink> +Uma lista para seleccionar cores. + + +<ulink url="kdeapi:tdeui/KColorButton">KColorButton</ulink> +Um botão para seleccionar cores. + + +<ulink url="kdeapi:tdeui/KURLCombo">KURLCombo</ulink> +Uma lista para seleccionar nomes de ficheiros e URLs. + + +<ulink url="kdeapi:tdefile/KURLRequester">KURLRequester</ulink> +Um campo de texto para seleccionar nomes e URLs de ficheiros. + + +<ulink url="kdeapi:tdeui/KRuler">KRuler</ulink> +Uma régua. + + +<ulink +url="kdeapi:tdeui/KAnimWidget">KAnimWidget</ulink> +animações. + + +<ulink url="kdeapi:tdeui/KNumInput">KNumInput</ulink> +Um item para introduzir números. + + +<ulink url="kdeapi:tdeui/KPasswordEdit">KPasswordEdit</ulink> +Um item para introduzir senhas. + -Janelas - janelas completas para seleccionar ficheiros, cores e tipos de letra. +Janelas - janelas completas para seleccionar ficheiros, cores e tipos de letra. -<ulink url="kdeapi:tdefile/KFileDialog" ->KFileDialog</ulink -> -Uma janela de selecção de ficheiros. - - -<ulink url="kdeapi:tdeui/KColorDialog" ->KColorDialog</ulink -> -Uma janela de selecção de cores. - - -<ulink url="kdeapi:tdeui/TDEFontDialog" ->TDEFontDialog</ulink -> -Uma janela de selecção de tipos de letra. - - -<ulink url="kdeapi:tdefile/TDEIconDialog" ->TDEIconDialog</ulink -> -Uma janela de selecção de ícones. - - -<ulink url="kdeapi:tdeui/KKeyDialog" ->KKeyDialog</ulink -> -Uma janela para editar combinações de teclas. - - -<ulink url="kdeapi:tdeui/KEditToolBar" ->KEditToolBar</ulink -> -Um diálogo para editar barras de ferramentas. - - -<ulink url="kdeapi:tdeui/KTipDialog" ->KTipDialog</ulink -> -Uma janela de Dica-do-Dia. - - -<ulink url="kdeapi:tdeui/TDEAboutDialog" ->TDEAboutDialog</ulink -> -Uma janela Acerca. - - -<ulink url="kdeapi:tdeui/KLineEditDlg" ->KLineEditDlg</ulink -> -Uma janela simples para introduzir texto. - - -<ulink url="kdeapi:tdefile/KURLRequesterDlg" ->KURLRequesterDlg</ulink -> -Uma janela simples para introduzir URLs. - - -<ulink url="kdeapi:tdeui/KMessageBox" ->KMessageBox</ulink -> -Uma janela para assinalar erros e avisos. - - -<ulink url="kdeapi:tdeui/KPasswordDialog" ->KPasswordDialog</ulink -> -Uma janela para introduzir senhas. - +<ulink url="kdeapi:tdefile/KFileDialog">KFileDialog</ulink> +Uma janela de selecção de ficheiros. + + +<ulink url="kdeapi:tdeui/KColorDialog">KColorDialog</ulink> +Uma janela de selecção de cores. + + +<ulink url="kdeapi:tdeui/TDEFontDialog">TDEFontDialog</ulink> +Uma janela de selecção de tipos de letra. + + +<ulink url="kdeapi:tdefile/TDEIconDialog">TDEIconDialog</ulink> +Uma janela de selecção de ícones. + + +<ulink url="kdeapi:tdeui/KKeyDialog">KKeyDialog</ulink> +Uma janela para editar combinações de teclas. + + +<ulink url="kdeapi:tdeui/KEditToolBar">KEditToolBar</ulink> +Um diálogo para editar barras de ferramentas. + + +<ulink url="kdeapi:tdeui/KTipDialog">KTipDialog</ulink> +Uma janela de Dica-do-Dia. + + +<ulink url="kdeapi:tdeui/TDEAboutDialog">TDEAboutDialog</ulink> +Uma janela Acerca. + + +<ulink url="kdeapi:tdeui/KLineEditDlg">KLineEditDlg</ulink> +Uma janela simples para introduzir texto. + + +<ulink url="kdeapi:tdefile/KURLRequesterDlg">KURLRequesterDlg</ulink> +Uma janela simples para introduzir URLs. + + +<ulink url="kdeapi:tdeui/KMessageBox">KMessageBox</ulink> +Uma janela para assinalar erros e avisos. + + +<ulink url="kdeapi:tdeui/KPasswordDialog">KPasswordDialog</ulink> +Uma janela para introduzir senhas. + -Acções e GUI em XML +Acções e GUI em XML -<ulink url="kdeapi:tdeui/TDEAction" ->TDEAction</ulink -> -Uma abstracção de uma acção que poderá ser associada a menus e barras de ferramentas. - - -<ulink url="kdeapi:tdeui/TDEActionCollection" ->TDEActionCollection</ulink -> -Um conjunto de acções. - - -<ulink url="kdeapi:tdeui/KXMLGUIClient" ->KXMLGUIClient</ulink -> -Um fragmento gráfico que consiste numa colecção de acções e uma árvore de DOM que representa a posição delas na GUI. - - -<ulink url="kdeapi:tdeparts/KPartManager" ->KPartManager</ulink -> -Faz a gestão da activação dos clientes XMLGUI. - +<ulink url="kdeapi:tdeui/TDEAction">TDEAction</ulink> +Uma abstracção de uma acção que poderá ser associada a menus e barras de ferramentas. + + +<ulink url="kdeapi:tdeui/TDEActionCollection">TDEActionCollection</ulink> +Um conjunto de acções. + + +<ulink url="kdeapi:tdeui/KXMLGUIClient">KXMLGUIClient</ulink> +Um fragmento gráfico que consiste numa colecção de acções e uma árvore de DOM que representa a posição delas na GUI. + + +<ulink url="kdeapi:tdeparts/KPartManager">KPartManager</ulink> +Faz a gestão da activação dos clientes XMLGUI. + -'Plugins' e Componentes +'Plugins' e Componentes -<ulink url="kdeapi:tdecore/KLibrary" ->KLibrary</ulink -> -Representa uma biblioteca carregada dinamicamente. - - -<ulink url="kdeapi:tdecore/KLibrary" ->KLibLoader</ulink -> -Carregamento de bibliotecas dinâmicas. - - -<ulink url="kdeapi:tdecore/KLibFactory" ->KLibFactory</ulink -> -Uma fábrica de objectos para 'plugins'. - - -<ulink url="kdeapi:tdeio/KServiceType" ->KServiceType</ulink -> -Representa um tipo de serviço. - - -<ulink url="kdeapi:tdeio/KService" ->KService</ulink -> -Representa um serviço. - - -<ulink url="kdeapi:tdeio/KMimeType" ->KMimeType</ulink -> -Representa um tipo MIME. - - -<ulink url="kdeapi:tdeio/KServiceTypeProfile" ->KServiceTypeProfile</ulink -> -Preferências do utilizador para os mapeamentos dos tipos MIME. - - -<ulink url="kdeapi:tdeio/KServiceTypeProfile" ->TDETrader</ulink -> -Pesquisa de serviços. - +<ulink url="kdeapi:tdecore/KLibrary">KLibrary</ulink> +Representa uma biblioteca carregada dinamicamente. + + +<ulink url="kdeapi:tdecore/KLibrary">KLibLoader</ulink> +Carregamento de bibliotecas dinâmicas. + + +<ulink url="kdeapi:tdecore/KLibFactory">KLibFactory</ulink> +Uma fábrica de objectos para 'plugins'. + + +<ulink url="kdeapi:tdeio/KServiceType">KServiceType</ulink> +Representa um tipo de serviço. + + +<ulink url="kdeapi:tdeio/KService">KService</ulink> +Representa um serviço. + + +<ulink url="kdeapi:tdeio/KMimeType">KMimeType</ulink> +Representa um tipo MIME. + + +<ulink url="kdeapi:tdeio/KServiceTypeProfile">KServiceTypeProfile</ulink> +Preferências do utilizador para os mapeamentos dos tipos MIME. + + +<ulink url="kdeapi:tdeio/KServiceTypeProfile">TDETrader</ulink> +Pesquisa de serviços. + @@ -1072,40 +463,21 @@ url="kdeapi:tdeui/KAnimWidget" -Gráficos +Gráficos -Gráficos de baixo nível com o QPainter +Gráficos de baixo nível com o QPainter -Desenhar no QPainter - -O modelo de imagens de baixo nível do Qt é baseado nas capacidades oferecidas pelo X11 e por outros sistemas de janelas para os quais o Qt foi implementado. Mas também as extende, implementando funcionalidades adicionais como as transformações arbitrárias por afinidade para texto e imagens. - -A classe gráfica central para o desenho 2D com o Qt é a QPainter. Ela poderá desenhar num QPaintDevice. Existem três dispositivos de pintura implementados: um é o QWidget que representa um elemento gráfico no ecrã. A outra é o QPrinter que representa uma impressora e que produz o resultado em &PostScript;. A terceira é a QPicture que guarda os comandos de desenho e que poderá gravá-los em disco e reproduzi-los depois. Uma formato possível para os comandos de desenho é a norma SVG da W3C. - -Como tal, é possível reaproveitar o código de desenho que você usa para mostrar num item gráfico ou para imprimir, usando as mesmas funcionalidades suportadas. Claro que, na prática, o código é usado num contexto ligeiramente diferente. Desenhar num item gráfico é quase exclusivamente feito no método paintEvent() da classe de um elemento gráfico. - -void ElementoXPTO::paintEvent() +Desenhar no QPainter + +O modelo de imagens de baixo nível do Qt é baseado nas capacidades oferecidas pelo X11 e por outros sistemas de janelas para os quais o Qt foi implementado. Mas também as extende, implementando funcionalidades adicionais como as transformações arbitrárias por afinidade para texto e imagens. + +A classe gráfica central para o desenho 2D com o Qt é a QPainter. Ela poderá desenhar num QPaintDevice. Existem três dispositivos de pintura implementados: um é o QWidget que representa um elemento gráfico no ecrã. A outra é o QPrinter que representa uma impressora e que produz o resultado em &PostScript;. A terceira é a QPicture que guarda os comandos de desenho e que poderá gravá-los em disco e reproduzi-los depois. Uma formato possível para os comandos de desenho é a norma SVG da W3C. + +Como tal, é possível reaproveitar o código de desenho que você usa para mostrar num item gráfico ou para imprimir, usando as mesmas funcionalidades suportadas. Claro que, na prática, o código é usado num contexto ligeiramente diferente. Desenhar num item gráfico é quase exclusivamente feito no método paintEvent() da classe de um elemento gráfico. + +void ElementoXPTO::paintEvent() { QPainter p(this); // Configurar o pintor @@ -1113,251 +485,164 @@ url="kdeapi:tdeui/KAnimWidget" } -Ao desenhar numa impressora, você terá de se certificar que usa o QPrinter::newPage() para terminar uma página e começar uma nova - algo que naturalmente não é relevante ao desenhar elementos gráficos. Também, durante a impressão, você poderá querer usar a classe de métricas do dispositivo para poder calcular as coordenadas. +Ao desenhar numa impressora, você terá de se certificar que usa o QPrinter::newPage() para terminar uma página e começar uma nova - algo que naturalmente não é relevante ao desenhar elementos gráficos. Também, durante a impressão, você poderá querer usar a classe de métricas do dispositivo para poder calcular as coordenadas. -Transformações +Transformações -Por omissão, ao usar o QPainter, ele desenha no sistema de coordenadas natural do dispositivo usado. Isto significa que, se você desenhar uma linha horizontal no eixo horizontal com um tamanho de 10 unidades, ele será pintado ao longo do ecrã com um tamanho de 10 pixels. Contudo, o QPainter pode aplicar várias transformações antes de desenhar propriamente as formas e as curvas. Uma transformação por afinidade mapeia as coordenadas X e Y linearmente em X' e Y' de acordo com +Por omissão, ao usar o QPainter, ele desenha no sistema de coordenadas natural do dispositivo usado. Isto significa que, se você desenhar uma linha horizontal no eixo horizontal com um tamanho de 10 unidades, ele será pintado ao longo do ecrã com um tamanho de 10 pixels. Contudo, o QPainter pode aplicar várias transformações antes de desenhar propriamente as formas e as curvas. Uma transformação por afinidade mapeia as coordenadas X e Y linearmente em X' e Y' de acordo com - + -A matriz 3x3 desta equação poderá ser configurada com o método QPainter::setWorldMatrix() e é do tipo QWMatrix. Normalmente, esta é a matriz identidade, isto é, o m11 e o m22 are one, e os outros parâmetros são zero. Existem basicamente três grupos diferentes de transformações: +A matriz 3x3 desta equação poderá ser configurada com o método QPainter::setWorldMatrix() e é do tipo QWMatrix. Normalmente, esta é a matriz identidade, isto é, o m11 e o m22 are one, e os outros parâmetros são zero. Existem basicamente três grupos diferentes de transformações: - -Translações -Estas movem todos os pontos de um objecto de uma determinada quantidade numa dada direcção. A matriz de translação poderá ser obtida, invocando o método 'm.translate(dx, dy)' para uma QWMatrix. Isto corresponde à matriz + +Translações +Estas movem todos os pontos de um objecto de uma determinada quantidade numa dada direcção. A matriz de translação poderá ser obtida, invocando o método 'm.translate(dx, dy)' para uma QWMatrix. Isto corresponde à matriz - + - -Redimensionamento -Esta matriz aumenta ou encolhe as coordenadas de um objecto, tornando-o maior ou menor sem o distorcer. Uma transformação de escala poderá ser aplicada a uma QWMatrix se invocar o m.scale(sx, sy). Isto corresponde à matriz + +Redimensionamento +Esta matriz aumenta ou encolhe as coordenadas de um objecto, tornando-o maior ou menor sem o distorcer. Uma transformação de escala poderá ser aplicada a uma QWMatrix se invocar o m.scale(sx, sy). Isto corresponde à matriz - + -Configurando um dos parâmetros como negativo, uma pessoa poderá obter um espelho do sistema de coordenadas. +Configurando um dos parâmetros como negativo, uma pessoa poderá obter um espelho do sistema de coordenadas. - -Inclinação -Uma distorção do sistema de coordenadas com dois parâmetros. Uma transformação por inclinação poderá ser aplicada se chamar m.shear(sh, sv), correspondendo à matriz + +Inclinação +Uma distorção do sistema de coordenadas com dois parâmetros. Uma transformação por inclinação poderá ser aplicada se chamar m.shear(sh, sv), correspondendo à matriz - + - -Rotação -Isto roda um objecto. Uma transformação por rotação poderá ser aplicada se chamar m.rotate(alfa). Lembre-se que o ângulo tem de ser dado em graus, não como um ângulo matemático! A matriz correspondente é + +Rotação +Isto roda um objecto. Uma transformação por rotação poderá ser aplicada se chamar m.rotate(alfa). Lembre-se que o ângulo tem de ser dado em graus, não como um ângulo matemático! A matriz correspondente é - + -Repare que uma rotação é equivalente a uma combinação de uma escala com uma inclinação. +Repare que uma rotação é equivalente a uma combinação de uma escala com uma inclinação. -Aqui estão algumas imagens que mostram o efeito das transformações elementares à nossa mascote: +Aqui estão algumas imagens que mostram o efeito das transformações elementares à nossa mascote: - - - - - - - - - - - - + + + + + + + + + + + + -a) Normal -b) Rodado em 30 graus -c) inclinado em 0,4 -d) Espelhado +a) Normal +b) Rodado em 30 graus +c) inclinado em 0,4 +d) Espelhado -As transformações podem ser combinadas, multiplicando as matrizes elementares. Repare que as operações com matrizes não comutativas de um modo geral, como tal o efeito combinado de uma concatenação depende da ordem pela qual as matrizes são multiplicadas. +As transformações podem ser combinadas, multiplicando as matrizes elementares. Repare que as operações com matrizes não comutativas de um modo geral, como tal o efeito combinado de uma concatenação depende da ordem pela qual as matrizes são multiplicadas. -Definir os atributos dos traços +Definir os atributos dos traços -O desenho das linhas, curvas e contornos dos polígonos pode ser modificado se aplicar um traço especial com o QPainter::setPen(). O argumento desta função é um objecto QPen. As propriedades gravadas nele são o estilo, a cor, o estilo da junção e o estilo dos extremos. +O desenho das linhas, curvas e contornos dos polígonos pode ser modificado se aplicar um traço especial com o QPainter::setPen(). O argumento desta função é um objecto QPen. As propriedades gravadas nele são o estilo, a cor, o estilo da junção e o estilo dos extremos. -O estilo do traço é um membro do tipo enumerado Qt::PenStyle e poderá ter um dos seguintes valores: +O estilo do traço é um membro do tipo enumerado Qt::PenStyle e poderá ter um dos seguintes valores: - + -O estilo da junção é um membro do tipo enumerado Qt::PenJoinStyle. Ele indica como é que a junção entre várias linhas anexadas umas às outras é desenhada. Ela poderá ter um dos seguintes valores: +O estilo da junção é um membro do tipo enumerado Qt::PenJoinStyle. Ele indica como é que a junção entre várias linhas anexadas umas às outras é desenhada. Ela poderá ter um dos seguintes valores: - - - - - - - - - + + + + + + + + + -a) MiterJoin -c) BevelJoin -b) RoundJoin +a) MiterJoin +c) BevelJoin +b) RoundJoin -O estilo dos extremos é um membro do tipo enumerado Qt::PenCapStyle e corresponde à forma como os extremos das linhas são desenhados. Poderá ser igual a um dos valores da seguinte tabela: +O estilo dos extremos é um membro do tipo enumerado Qt::PenCapStyle e corresponde à forma como os extremos das linhas são desenhados. Poderá ser igual a um dos valores da seguinte tabela: - - - - - - - - - + + + + + + + + + -a) FlatCap -b) SquareCap -c) RoundCap +a) FlatCap +b) SquareCap +c) RoundCap @@ -1367,114 +652,79 @@ url="kdeapi:tdeui/KAnimWidget" -Definir os atributos do preenchimento +Definir os atributos do preenchimento -O estilo de preenchimento dos polígonos, dos círculos e dos rectângulo poderá ser modificado se definir um pincel especial com o QPainter::setBrush(). Esta função recebe um objecto QBrush como argumento. Os pincéis podem ser construídos de quatro formas diferentes: +O estilo de preenchimento dos polígonos, dos círculos e dos rectângulo poderá ser modificado se definir um pincel especial com o QPainter::setBrush(). Esta função recebe um objecto QBrush como argumento. Os pincéis podem ser construídos de quatro formas diferentes: -QBrush::QBrush() - Isto cria um pincel que não preenche as formas geométricas. +QBrush::QBrush() - Isto cria um pincel que não preenche as formas geométricas. -QBrush::QBrush(BrushStyle) - Isto cria um pincel preto com um dos padrões predefinidos que são mostrados em baixo. +QBrush::QBrush(BrushStyle) - Isto cria um pincel preto com um dos padrões predefinidos que são mostrados em baixo. -QBrush::QBrush(const QColor &, BrushStyle) - Isto cria um pincel colorido com um dos seguinte padrões mostrados em baixo. +QBrush::QBrush(const QColor &, BrushStyle) - Isto cria um pincel colorido com um dos seguinte padrões mostrados em baixo. -QBrush::QBrush(const QColor &, const QPixmap) - Isto cria um pincel colorido com o padrão personalizado que você passar como segundo parâmetro. +QBrush::QBrush(const QColor &, const QPixmap) - Isto cria um pincel colorido com o padrão personalizado que você passar como segundo parâmetro. -Um estilo de pincel predefinido pertence ao tipo enumerado Qt::BrushStyle. Aqui está uma imagem com todos os padrões predefinidos: +Um estilo de pincel predefinido pertence ao tipo enumerado Qt::BrushStyle. Aqui está uma imagem com todos os padrões predefinidos: - + -Uma outra forma de personalizar o comportamento do pincel é usando a função QPainter::setBrushOrigin(). +Uma outra forma de personalizar o comportamento do pincel é usando a função QPainter::setBrushOrigin(). -Cor +Cor -As cores têm um papel activo, quer a traçar as curvas, quer a preencher as formas geométricas. No Qt, as cores são representadas pela classe QColor. O Qt não suporta as funcionalidades gráficas avançadas, como os perfis de cores ICC e a correcção de cores. As cores são normalmente definidas, indicando os valores das componentes vermelha, verde e azul, dado que o modelo RGB é a forma como os pixels são compostos num monitor. +As cores têm um papel activo, quer a traçar as curvas, quer a preencher as formas geométricas. No Qt, as cores são representadas pela classe QColor. O Qt não suporta as funcionalidades gráficas avançadas, como os perfis de cores ICC e a correcção de cores. As cores são normalmente definidas, indicando os valores das componentes vermelha, verde e azul, dado que o modelo RGB é a forma como os pixels são compostos num monitor. -É também possível usar o matiz, a saturação e o valor. Esta representação HSV é a que você usa na janela de cores do Gtk, p.ex. no GIMP. Aí, o matiz corresponde ao ângulo na roda de cores, enquanto a saturação corresponde à distância ao centro do círculo. O valor pode ser escolhido com uma barra em separado. +É também possível usar o matiz, a saturação e o valor. Esta representação HSV é a que você usa na janela de cores do Gtk, p.ex. no GIMP. Aí, o matiz corresponde ao ângulo na roda de cores, enquanto a saturação corresponde à distância ao centro do círculo. O valor pode ser escolhido com uma barra em separado. -Outras configurações +Outras configurações -Normalmente, quando você desenha num dispositivo de pintura, os pixels que você desenho substituem os que lá estavam anteriormente. Isto significa que, se você pintar uma dada região com uma cor vermelho e pintar a mesma região com uma cor azul depois, só a cor azul ficará visível. O modelo de imagens do Qt não suporta a transparência, i.e., uma forma de misturar o fundo preenchido e os desenhos. Contudo, existe uma forma simples de combinar o desenho e o fundo com operadores booleanos. O método QPainter::setRasterOp() define o operador usado, que vem do tipo enumerado RasterOp. +Normalmente, quando você desenha num dispositivo de pintura, os pixels que você desenho substituem os que lá estavam anteriormente. Isto significa que, se você pintar uma dada região com uma cor vermelho e pintar a mesma região com uma cor azul depois, só a cor azul ficará visível. O modelo de imagens do Qt não suporta a transparência, i.e., uma forma de misturar o fundo preenchido e os desenhos. Contudo, existe uma forma simples de combinar o desenho e o fundo com operadores booleanos. O método QPainter::setRasterOp() define o operador usado, que vem do tipo enumerado RasterOp. -O valor por omissão é o CopyROP que ignora o fundo. Outra escolha normal é a XorROP. Se você pintar uma linha a preto com este operador numa imagem colorida, então a área coberta será invertida. Este efeito é usado, por exemplo, para criar as selecções tracejadas dos programas de manipulação de imagens que são conhecidas por "formigas a marchar". +O valor por omissão é o CopyROP que ignora o fundo. Outra escolha normal é a XorROP. Se você pintar uma linha a preto com este operador numa imagem colorida, então a área coberta será invertida. Este efeito é usado, por exemplo, para criar as selecções tracejadas dos programas de manipulação de imagens que são conhecidas por "formigas a marchar". -Desenhar primitivas gráficas +Desenhar primitivas gráficas -Na secção seguinte iremos listar os elementos gráficos primitivos suportados pelo QPainter. A maioria deles existem em várias versões alternativas que recebem um conjunto diferente de argumentos. Por exemplo, os métodos que lidam com rectângulos normalmente recebem um QRect como argumento, ou então um conjunto de quatro inteiros. +Na secção seguinte iremos listar os elementos gráficos primitivos suportados pelo QPainter. A maioria deles existem em várias versões alternativas que recebem um conjunto diferente de argumentos. Por exemplo, os métodos que lidam com rectângulos normalmente recebem um QRect como argumento, ou então um conjunto de quatro inteiros. -Desenhar um único ponto - drawPoint(). +Desenhar um único ponto - drawPoint(). -Desenhar linhas - drawLine(), drawLineSegments() e drawPolyLine(). +Desenhar linhas - drawLine(), drawLineSegments() e drawPolyLine(). -Desenhar e preencher rectângulos - drawRect(), drawRoundRect(), fillRect() e eraseRect(). +Desenhar e preencher rectângulos - drawRect(), drawRoundRect(), fillRect() e eraseRect(). -Desenhar e preencher círculos, elipses ou partes deles - drawEllipse(), drawArc(), drawPie e drawChord(). +Desenhar e preencher círculos, elipses ou partes deles - drawEllipse(), drawArc(), drawPie e drawChord(). -Desenhar e preencher polígonos gerais - drawPolygon(). +Desenhar e preencher polígonos gerais - drawPolygon(). -Desenhar curvas Bezier - drawQuadBezier() [drawCubicBezier no Qt 3.0]. +Desenhar curvas Bezier - drawQuadBezier() [drawCubicBezier no Qt 3.0]. @@ -1482,49 +732,25 @@ url="kdeapi:tdeui/KAnimWidget" -Desenhar imagens - -O Qt oferece duas classes muito diferentes para representar as imagens. - -A QPixmap corresponde directamente aos objectos das imagens no X11. As imagens são objectos do lado do servidor e podem - numa placa gráfica moderna - até mesmo ser gravadas directamente na memória da placa. Isto torna bastante eficiente a transferência de imagens para o ecrã. As imagens também funcionam como um equivalente, fora do ecrã , dos elementos gráficos - a classe QPixmap é uma subclasse da QPaintDevice, por isso você poderá desenhar nela com um QPainter. As operações elementares de desenho são normalmente aceleradas pelos dispositivos gráficos modernos. Daí, um padrão de uso normal é usar as imagens para fazer duplo-'buffering'. Isto significa que, em vez de desenhar directamente num elemento gráfico, você desenha num objecto temporário de imagem e usa a função bitBlt para transferir a imagem para o elemento gráfico. Para os desenhos complexos, isto ajuda a evitar intermitências. - -Em contraste, os objectos QImage residem do lado do cliente. A sua ênfase é na fornecer um acesso directo aos pixels da imagem. Isso torna-os úteis para manipular imagens e para coisas como a leitura e gravação em disco (o método load() da QPixmap recebe uma QImage como passo intermédio). Por outro lado, desenhar uma imagem num elemento gráfico é uma operação relativamente dispendiosa, dado que implica uma transferência para o servidor X, o que ainda poderá levar algum tempo, especialmente para imagens grandes e para servidores remotos. Dependendo da profundidade de cor, a conversão de uma QImage para uma QPixmap pode necessitar de ajuste de cores. +Desenhar imagens + +O Qt oferece duas classes muito diferentes para representar as imagens. + +A QPixmap corresponde directamente aos objectos das imagens no X11. As imagens são objectos do lado do servidor e podem - numa placa gráfica moderna - até mesmo ser gravadas directamente na memória da placa. Isto torna bastante eficiente a transferência de imagens para o ecrã. As imagens também funcionam como um equivalente, fora do ecrã , dos elementos gráficos - a classe QPixmap é uma subclasse da QPaintDevice, por isso você poderá desenhar nela com um QPainter. As operações elementares de desenho são normalmente aceleradas pelos dispositivos gráficos modernos. Daí, um padrão de uso normal é usar as imagens para fazer duplo-'buffering'. Isto significa que, em vez de desenhar directamente num elemento gráfico, você desenha num objecto temporário de imagem e usa a função bitBlt para transferir a imagem para o elemento gráfico. Para os desenhos complexos, isto ajuda a evitar intermitências. + +Em contraste, os objectos QImage residem do lado do cliente. A sua ênfase é na fornecer um acesso directo aos pixels da imagem. Isso torna-os úteis para manipular imagens e para coisas como a leitura e gravação em disco (o método load() da QPixmap recebe uma QImage como passo intermédio). Por outro lado, desenhar uma imagem num elemento gráfico é uma operação relativamente dispendiosa, dado que implica uma transferência para o servidor X, o que ainda poderá levar algum tempo, especialmente para imagens grandes e para servidores remotos. Dependendo da profundidade de cor, a conversão de uma QImage para uma QPixmap pode necessitar de ajuste de cores. -Desenhar texto - -O texto poderá ser desenhado com uma das variantes do método QPainter::drawText(). Estas desenham uma QString quer num dado ponto, quer num dado rectângulo, usando o tipo de letra definido pelo QPainter::setFont(). Existe também um parâmetro que recebe uma combinação do tipo OU de algumas opções dos tipos enumerados Qt::AlignmentFlags e Qt::TextFlags - -A partir da versão 3.0, o Qt toma conta da disposição completa do texto, mesmo para as línguas escritas da direita para a esquerda. - -Uma forma mais avançada de mostrar o texto marcado é usando a classe QSimpleRichText. Os objectos desta classe podem ser construídos com um pedaço de texto que usa um sub-conjunto das marcas de HTML, o qual é bastante rico e até fornece tabelas. O estilo do texto pode ser personalizado com uma QStyleSheet (a documentação das marcas pode também ser encontrada aqui). Logo que o objecto de texto formatado tenha sido construído, pode ser desenhado num elemento gráfico ou noutro dispositivo de pintura com o método QSimpleRichText::draw(). +Desenhar texto + +O texto poderá ser desenhado com uma das variantes do método QPainter::drawText(). Estas desenham uma QString quer num dado ponto, quer num dado rectângulo, usando o tipo de letra definido pelo QPainter::setFont(). Existe também um parâmetro que recebe uma combinação do tipo OU de algumas opções dos tipos enumerados Qt::AlignmentFlags e Qt::TextFlags + +A partir da versão 3.0, o Qt toma conta da disposição completa do texto, mesmo para as línguas escritas da direita para a esquerda. + +Uma forma mais avançada de mostrar o texto marcado é usando a classe QSimpleRichText. Os objectos desta classe podem ser construídos com um pedaço de texto que usa um sub-conjunto das marcas de HTML, o qual é bastante rico e até fornece tabelas. O estilo do texto pode ser personalizado com uma QStyleSheet (a documentação das marcas pode também ser encontrada aqui). Logo que o objecto de texto formatado tenha sido construído, pode ser desenhado num elemento gráfico ou noutro dispositivo de pintura com o método QSimpleRichText::draw(). @@ -1532,148 +758,66 @@ url="kdeapi:tdeui/KAnimWidget" -Imagens estruturadas com o QCanvas +Imagens estruturadas com o QCanvas -A QPainter oferece um modelo de imagens poderosos para desenhar em elementos gráficos e imagens. Contudo, também poderá ser complicadíssimo de usar. De cada vez que o seu elemento gráfico recebe um evento de desenho, ele terá de analisar o QPaintEvent::region() ou o QPaintEvent::rect() que tem de ser desenhado de novo. Aí, ele terá de configurar um QPainter e desenhar todos os objectos que se sobrepõem com essa região. Por exemplo, imagine um programa de gráficos vectoriais que permita arrastar objectos como polígonos, círculos e grupos de outros objectos. De cada vez que esses objectos se movem um pouco, o tratador para os eventos do rato do elemento gráfico irá despoletar um evento para a área toda coberta pelos objectos na sua posição antiga e na sua posição nova. Descobrir quais são as actualizações necessárias e fazê-las de forma eficiente poderá ser difícil e poderá também entrar em conflito com a estrutura orientada por objectos do código-fonte do programa. +A QPainter oferece um modelo de imagens poderosos para desenhar em elementos gráficos e imagens. Contudo, também poderá ser complicadíssimo de usar. De cada vez que o seu elemento gráfico recebe um evento de desenho, ele terá de analisar o QPaintEvent::region() ou o QPaintEvent::rect() que tem de ser desenhado de novo. Aí, ele terá de configurar um QPainter e desenhar todos os objectos que se sobrepõem com essa região. Por exemplo, imagine um programa de gráficos vectoriais que permita arrastar objectos como polígonos, círculos e grupos de outros objectos. De cada vez que esses objectos se movem um pouco, o tratador para os eventos do rato do elemento gráfico irá despoletar um evento para a área toda coberta pelos objectos na sua posição antiga e na sua posição nova. Descobrir quais são as actualizações necessárias e fazê-las de forma eficiente poderá ser difícil e poderá também entrar em conflito com a estrutura orientada por objectos do código-fonte do programa. -Como alternativa, o Qt contém a classe QCanvas, na qual você coloca os objectos gráficos, como os polígonos, o texto e as imagens. Você também poderá também fornecer itens adicionais se criar uma subclasse de QCanvasItem ou uma das suas subclasses especializadas. Uma área de desenho ('canvas') poderá ser mostrada no ecrã por um ou mais elementos gráficos da classe QCanvasView, a qual você terá de criar uma subclasse para tratar das interacções com o utilizador. O Qt tratará de todas as actualizações do desenho dos objectos na área visível, quer sejam provocadas pela exposição da janela, quer pela criação ou modificação dos objectos ou ainda por qualquer outra razão. Usando o duplo-'buffering', isto poderá ser feito de uma forma eficiente e livre de intermitências. +Como alternativa, o Qt contém a classe QCanvas, na qual você coloca os objectos gráficos, como os polígonos, o texto e as imagens. Você também poderá também fornecer itens adicionais se criar uma subclasse de QCanvasItem ou uma das suas subclasses especializadas. Uma área de desenho ('canvas') poderá ser mostrada no ecrã por um ou mais elementos gráficos da classe QCanvasView, a qual você terá de criar uma subclasse para tratar das interacções com o utilizador. O Qt tratará de todas as actualizações do desenho dos objectos na área visível, quer sejam provocadas pela exposição da janela, quer pela criação ou modificação dos objectos ou ainda por qualquer outra razão. Usando o duplo-'buffering', isto poderá ser feito de uma forma eficiente e livre de intermitências. -Os itens da área de desenho podem-se sobrepor uns aos outros. Neste caso, o visível depende da ordem do 'z' que pode ser atribuída pelo QCanvasItem::setZ(). Os itens podem também ser tornados visíveis ou invisíveis. Você pode também indicar um fundo a ser desenhado "por detrás" de todos os itens e uma imagem de primeiro plano. Para associar os eventos do rato com os objectos na área de desenho, existe o método QCanvas::collisions() que devolve uma lista dos itens que se sobrepõem em qualquer ponto. Aqui mostramos uma imagem de uma vista sobre a área de desenho em acção: +Os itens da área de desenho podem-se sobrepor uns aos outros. Neste caso, o visível depende da ordem do 'z' que pode ser atribuída pelo QCanvasItem::setZ(). Os itens podem também ser tornados visíveis ou invisíveis. Você pode também indicar um fundo a ser desenhado "por detrás" de todos os itens e uma imagem de primeiro plano. Para associar os eventos do rato com os objectos na área de desenho, existe o método QCanvas::collisions() que devolve uma lista dos itens que se sobrepõem em qualquer ponto. Aqui mostramos uma imagem de uma vista sobre a área de desenho em acção: - + -Aqui, a malha é desenhada no fundo. Para além disso, existe um item QCanvasText item e um QCanvasPolygon violeta. A borboleta é um QCanvasPixmap. Ele tem áreas transparentes, por isso é possível ver os itens de baixo através dele. +Aqui, a malha é desenhada no fundo. Para além disso, existe um item QCanvasText item e um QCanvasPolygon violeta. A borboleta é um QCanvasPixmap. Ele tem áreas transparentes, por isso é possível ver os itens de baixo através dele. -Um tutorial sobre a utilização do QCanvas para criar jogos baseados em imagens poderá ser encontrado aqui. +Um tutorial sobre a utilização do QCanvas para criar jogos baseados em imagens poderá ser encontrado aqui. -Gráficos 3D com o OpenGL +Gráficos 3D com o OpenGL -Interface de baixo nível +Interface de baixo nível -A norma de facto para desenhar gráficos 3D hoje em dia é o OpenGL. As implementações desta especificação vêm com o Microsoft Windows, o Mac OS X e o XFree86 e muitas vezes suportam as funcionalidades de aceleração por 'hardware' oferecidas pelas placas gráficas modernas. O OpenGL em si só lida com o desenho de uma determinada área do ecrã através de um contexto GL e não tem nenhuma interacção com a plataforma do ambiente +A norma de facto para desenhar gráficos 3D hoje em dia é o OpenGL. As implementações desta especificação vêm com o Microsoft Windows, o Mac OS X e o XFree86 e muitas vezes suportam as funcionalidades de aceleração por 'hardware' oferecidas pelas placas gráficas modernas. O OpenGL em si só lida com o desenho de uma determinada área do ecrã através de um contexto GL e não tem nenhuma interacção com a plataforma do ambiente -O Qt fornece o item QGLWidget que encapsula uma janela com um contexto GL associado. Basicamente, você poderá utilizá-la se criar uma sub-classe dela e implementar de novo alguns métodos. +O Qt fornece o item QGLWidget que encapsula uma janela com um contexto GL associado. Basicamente, você poderá utilizá-la se criar uma sub-classe dela e implementar de novo alguns métodos. -Em vez de reimplementar o paintEvent() e usar o QPainter para desenhar o conteúdo do elemento, você irá sobrepor o paintGL() e usar os comandos do GL para desenhar uma cena. A QLWidget irá tomar conta de tornar o seu contexto GL o actual antes de invocar o paintGL() e irá remeter tudo no fim. - -O método virtual initializeGL() é invocado logo da primeira vez em que o resizeGL() ou o paintGL() são chamados. Isto pode ser usado para construir listas de visualização para os objectos e para fazer as várias inicializações. - -Em vez de reimplementar o resizeEvent(), você irá sobrepor o resizeGL(). Este poderá ser usado para definir apropriadamente o porto de visualização. - -Em vez de invocar o update() sempre que o estado da cena é mudado - por exemplo, quando você o anima com um temporizador -, você deverá invocar o updateGL(). Isto irá despoletar uma actualização. +Em vez de reimplementar o paintEvent() e usar o QPainter para desenhar o conteúdo do elemento, você irá sobrepor o paintGL() e usar os comandos do GL para desenhar uma cena. A QLWidget irá tomar conta de tornar o seu contexto GL o actual antes de invocar o paintGL() e irá remeter tudo no fim. + +O método virtual initializeGL() é invocado logo da primeira vez em que o resizeGL() ou o paintGL() são chamados. Isto pode ser usado para construir listas de visualização para os objectos e para fazer as várias inicializações. + +Em vez de reimplementar o resizeEvent(), você irá sobrepor o resizeGL(). Este poderá ser usado para definir apropriadamente o porto de visualização. + +Em vez de invocar o update() sempre que o estado da cena é mudado - por exemplo, quando você o anima com um temporizador -, você deverá invocar o updateGL(). Isto irá despoletar uma actualização. -De um modo geral, o QGLWidget comporta-se como outro item gráfico, i.e., por exemplo, você poderá processar os eventos normais do rato como de costume, redimensionar a janela e combiná-la com outras numa dada disposição. +De um modo geral, o QGLWidget comporta-se como outro item gráfico, i.e., por exemplo, você poderá processar os eventos normais do rato como de costume, redimensionar a janela e combiná-la com outras numa dada disposição. - + -O Qt contém alguns exemplos de utilização do QGLWidget no seu exemplo demo. Pode-se encontrar uma colecção de tutoriais aqui, assim como mais informações e uma referência ao OpenGL, na página pessoal do OpenGL. +O Qt contém alguns exemplos de utilização do QGLWidget no seu exemplo demo. Pode-se encontrar uma colecção de tutoriais aqui, assim como mais informações e uma referência ao OpenGL, na página pessoal do OpenGL. -Interfaces de alto-nível - -O OpenGL é uma interface de relativo baixo nível para gráficos 3D. Da mesma forma que o QCanvas dá ao programador uma interface de maior nível com detalhes para os objectos e as suas propriedades, existem também interfaces de alto nível para os gráficos 3D. Uma das mais conhecidas é o Open Inventor. Sendo originalmente uma tecnologia desenvolvida pela SGI, existe hoje em dia também a implementação 'open-source' que é a Coin, complementada por uma interface para a plataforma e para o Qt chamada SoQt. - -O conceito básico do Open Inventor é o de uma cena. Uma cena poderá ser carregada a partir do disco e gravada num formato ligeiramente relacionado com o VRML. Uma cena consiste numa colecção de objectos chamados nós. O Inventor já contém uma rica colecção de nós reutilizáveis, como cubos, cilindros e malhas, complementados por fontes de luz, materiais, câmaras, etc. Os nós são representados por classes de C++ e podem ser combinados e herdados. - -Pode-se encontrar uma introdução ao Inventor aqui (de um modo geral, você poderá substituir todas as menções ao SoXt por SoQt neste artigo). +Interfaces de alto-nível + +O OpenGL é uma interface de relativo baixo nível para gráficos 3D. Da mesma forma que o QCanvas dá ao programador uma interface de maior nível com detalhes para os objectos e as suas propriedades, existem também interfaces de alto nível para os gráficos 3D. Uma das mais conhecidas é o Open Inventor. Sendo originalmente uma tecnologia desenvolvida pela SGI, existe hoje em dia também a implementação 'open-source' que é a Coin, complementada por uma interface para a plataforma e para o Qt chamada SoQt. + +O conceito básico do Open Inventor é o de uma cena. Uma cena poderá ser carregada a partir do disco e gravada num formato ligeiramente relacionado com o VRML. Uma cena consiste numa colecção de objectos chamados nós. O Inventor já contém uma rica colecção de nós reutilizáveis, como cubos, cilindros e malhas, complementados por fontes de luz, materiais, câmaras, etc. Os nós são representados por classes de C++ e podem ser combinados e herdados. + +Pode-se encontrar uma introdução ao Inventor aqui (de um modo geral, você poderá substituir todas as menções ao SoXt por SoQt neste artigo). @@ -1684,94 +828,43 @@ url="kdeapi:tdeui/KAnimWidget" -Interface do utilizador +Interface do utilizador -O padrão de acções +O padrão de acções - + -Definir os menus e as barras de ferramentas em XML +Definir os menus e as barras de ferramentas em XML -Introdução - -Embora o padrão de acções permita encapsular as acções despoletadas pelo utilizador num objecto que possa estar "ligado" noutro sítio qualquer nos menus ou nas barras de ferramentas, ele não resolve por si só o problema de construir os próprios menus. Em particular, você terá de criar todos os menus em código de C++ e inserir explicitamente as acções por uma determinada ordem, segundo as considerações dos guias de estilo para as acções normais. Isto torna bastante difícil para os utilizadores poderem personalizar os menus ou alterar os menus ou os atalhos de teclado de acordo com as suas necessidades, sem ter de alterar o código-fonte. - -Este problema é resolvido através de um conjunto de classes chamado XMLGUI. Basicamente, isto separa as acções (codificadas em C++) da sua aparência nas barras de menu e de ferramentas (codificadas em XML). Sem modificar nenhum código-fonte, os menus podem simplesmente ser personalizados, ajustando um ficheiro de XML. Para além disso, ajuda a garantir que as acções normais (como o FicheiroAbrir ou o AjudaAcerca) aparecem nas localizações indicadas pelos guias de estilo. O XMLGUI é especialmente importante para os programas modulares, em que os itens que aparecem no menu podem resultar de vários 'plugins' ou componentes diferentes. - -A classe do KDE para as janelas de topo, a TDEMainWindow, herda de KXMLGUIClient e, por isso, suporta a XMLGUI logo de raiz. Todas as acções criadas dentro dela terão de ter a actionCollection() do cliente como 'pai'. Uma chamada ao createGUI() irá então criar o conjunto completo de barras de menu e de ferramentas definidas no ficheiro XML da aplicação (que tem, convencionalmente, o sufixo ui.rc). +Introdução + +Embora o padrão de acções permita encapsular as acções despoletadas pelo utilizador num objecto que possa estar "ligado" noutro sítio qualquer nos menus ou nas barras de ferramentas, ele não resolve por si só o problema de construir os próprios menus. Em particular, você terá de criar todos os menus em código de C++ e inserir explicitamente as acções por uma determinada ordem, segundo as considerações dos guias de estilo para as acções normais. Isto torna bastante difícil para os utilizadores poderem personalizar os menus ou alterar os menus ou os atalhos de teclado de acordo com as suas necessidades, sem ter de alterar o código-fonte. + +Este problema é resolvido através de um conjunto de classes chamado XMLGUI. Basicamente, isto separa as acções (codificadas em C++) da sua aparência nas barras de menu e de ferramentas (codificadas em XML). Sem modificar nenhum código-fonte, os menus podem simplesmente ser personalizados, ajustando um ficheiro de XML. Para além disso, ajuda a garantir que as acções normais (como o FicheiroAbrir ou o AjudaAcerca) aparecem nas localizações indicadas pelos guias de estilo. O XMLGUI é especialmente importante para os programas modulares, em que os itens que aparecem no menu podem resultar de vários 'plugins' ou componentes diferentes. + +A classe do KDE para as janelas de topo, a TDEMainWindow, herda de KXMLGUIClient e, por isso, suporta a XMLGUI logo de raiz. Todas as acções criadas dentro dela terão de ter a actionCollection() do cliente como 'pai'. Uma chamada ao createGUI() irá então criar o conjunto completo de barras de menu e de ferramentas definidas no ficheiro XML da aplicação (que tem, convencionalmente, o sufixo ui.rc). -Um exemplo: Menu do KView - -No seguinte exemplo, iremos ver o visualizador de imagens KView do KDE. Ele tem um ficheiro ui.rc chamado kviewui.rc que é instalado com o código em Makefile.am - -rcdir = $(kde_datadir)/kview +Um exemplo: Menu do KView + +No seguinte exemplo, iremos ver o visualizador de imagens KView do KDE. Ele tem um ficheiro ui.rc chamado kviewui.rc que é instalado com o código em Makefile.am + +rcdir = $(kde_datadir)/kview rc_DATA = kviewui.rc -Aqui está um excerto do ficheiro kviewui.rc. Por questões de simplicidade, mostramos apenas a definição no menu View (Ver). +Aqui está um excerto do ficheiro kviewui.rc. Por questões de simplicidade, mostramos apenas a definição no menu View (Ver). -<!DOCTYPE kpartgui> +<!DOCTYPE kpartgui> <kpartgui name="kview"> <MenuBar> <Menu name="view" > @@ -1786,11 +879,9 @@ rc_DATA = kviewui.rc </kpartgui> -A componente correspondente da configuração em C++ é: +A componente correspondente da configuração em C++ é: -KStdAction::zoomIn ( this, SLOT(slotZoomIn()), actionCollection() ); +KStdAction::zoomIn ( this, SLOT(slotZoomIn()), actionCollection() ); KStdAction::zoomOut ( this, SLOT(slotZoomOut()), actionCollection() ); KStdAction::zoom ( this, SLOT(slotZoom()), actionCollection() ); new TDEAction ( i18n("&Half size"), ALT+Key_0, @@ -1810,90 +901,37 @@ rc_DATA = kviewui.rc actionCollection(), "fullscreen" ); -O menu View (Ver), resultante desta definição da interface, fica então semelhante ao que aparece nesta imagem: +O menu View (Ver), resultante desta definição da interface, fica então semelhante ao que aparece nesta imagem: - + -O ficheiro XML começa com uma declaração do tipo de documento. O DTD do 'kpartgui' pode ser encontrado no código-fonte do 'tdelibs' em tdeui/kpartgui.dtd. O elemento exterior do ficheiro contém o nome da instância da aplicação como atributo. Poderá também conter um número de versão no formato "version=2". Isto é útil quando você lança novas versões de uma aplicação com uma estrutura de menus alterada, p.ex., com mais funcionalidades. Se você fornecer o número da versão no ficheiro ui.rc, o KDE certifica-se que qualquer versão personalizada do ficheiro é eliminada e passa a ser usado o novo ficheiro em alternativa. - -A próxima linha, a <MenuBar>, contém a declaração de um menu. Você poderá também introduzir uma quantidade qualquer de declarações de <ToolBar> para criar algumas barras de ferramentas. O menu contém um submenu com o nome "view" (ver). Este nome já está predefinido e, por isso, irá ver a versão traduzida de "View" (no caso do português, "Ver") na imagem. Se você declarar os seus próprios submenus, você terá de adicionar explicitamente o título. Por exemplo, o KView tem um submenu com o título "Image" (Imagem) que é declarado da seguinte forma: - -<Menu name="image" > +O ficheiro XML começa com uma declaração do tipo de documento. O DTD do 'kpartgui' pode ser encontrado no código-fonte do 'tdelibs' em tdeui/kpartgui.dtd. O elemento exterior do ficheiro contém o nome da instância da aplicação como atributo. Poderá também conter um número de versão no formato "version=2". Isto é útil quando você lança novas versões de uma aplicação com uma estrutura de menus alterada, p.ex., com mais funcionalidades. Se você fornecer o número da versão no ficheiro ui.rc, o KDE certifica-se que qualquer versão personalizada do ficheiro é eliminada e passa a ser usado o novo ficheiro em alternativa. + +A próxima linha, a <MenuBar>, contém a declaração de um menu. Você poderá também introduzir uma quantidade qualquer de declarações de <ToolBar> para criar algumas barras de ferramentas. O menu contém um submenu com o nome "view" (ver). Este nome já está predefinido e, por isso, irá ver a versão traduzida de "View" (no caso do português, "Ver") na imagem. Se você declarar os seus próprios submenus, você terá de adicionar explicitamente o título. Por exemplo, o KView tem um submenu com o título "Image" (Imagem) que é declarado da seguinte forma: + +<Menu name="image" > <text>&amp;Image</text> ... </Menu> -Na plataforma do 'automake' do KDE, esses títulos são automaticamente extraídos e colocados no ficheiro .po da aplicação, para que seja usados pelos tradutores. Lembre-se que você tem de representar o marcador de aceleradores "&" na forma compatível com o XML "&amp;". - -Voltando ao exemplo do KView, o seu menu View contém um conjunto de acções personalizadas: zoom50, zoom100, zoom200, zoomMaxpect e fullscreen, declaradas com um elemento <Action>. O separador nas imagens corresponde ao elemento <Separator>. - -Você irá reparar que alguns itens do menu não têm um elemento correspondente no ficheiro XML. Estes são as acções-padrão. As acções-padrão são criadas pela classe KStdAction. Quando você cria essas acções na sua aplicação (como no exemplo em C++ acima), elas serão automaticamente introduzidas numa posição prescrita, e possivelmente com uma tecla de atalho. Você poderá procurar essas localizações no ficheiro tdeui/ui_standards.rc no código-fonte do 'tdelibs'. +Na plataforma do 'automake' do KDE, esses títulos são automaticamente extraídos e colocados no ficheiro .po da aplicação, para que seja usados pelos tradutores. Lembre-se que você tem de representar o marcador de aceleradores "&" na forma compatível com o XML "&amp;". + +Voltando ao exemplo do KView, o seu menu View contém um conjunto de acções personalizadas: zoom50, zoom100, zoom200, zoomMaxpect e fullscreen, declaradas com um elemento <Action>. O separador nas imagens corresponde ao elemento <Separator>. + +Você irá reparar que alguns itens do menu não têm um elemento correspondente no ficheiro XML. Estes são as acções-padrão. As acções-padrão são criadas pela classe KStdAction. Quando você cria essas acções na sua aplicação (como no exemplo em C++ acima), elas serão automaticamente introduzidas numa posição prescrita, e possivelmente com uma tecla de atalho. Você poderá procurar essas localizações no ficheiro tdeui/ui_standards.rc no código-fonte do 'tdelibs'. -Um exemplo: Barras de Ferramentas no Konqueror +Um exemplo: Barras de Ferramentas no Konqueror -Para a discussão das barras de ferramentas, o foco será agora a definição da GUI do Konqueror. Este excerto define a barra de localização, que contém o campo de introdução de URLs. +Para a discussão das barras de ferramentas, o foco será agora a definição da GUI do Konqueror. Este excerto define a barra de localização, que contém o campo de introdução de URLs. -<ToolBar name="locationToolBar" fullWidth="true" newline="true" > +<ToolBar name="locationToolBar" fullWidth="true" newline="true" > <text>Location Toolbar</text> <Action name="clear_location" /> <Action name="location_label" /> @@ -1902,64 +940,23 @@ rc_DATA = kviewui.rc </ToolBar> -A primeira coisa que salta à vista é que existem muitos mais atributos que nos menus. Estes incluem: +A primeira coisa que salta à vista é que existem muitos mais atributos que nos menus. Estes incluem: -fullWidth: Diz ao XMLGUI que a barra de ferramentas tem a mesma largura que a janela de topo. Dado que este está igual a "false" (falso), a barra de ferramentas só ocupa o espaço necessário e poderão ser colocadas mais barras de ferramentas na mesma linha. - -newline: Este está relacionado com a opção acima. Se for igual a "true" (verdadeiro), a barra de ferramentas inicia uma nova linha. Caso contrário, poderá ser colocada na mesma linha que a barra anterior. - -noEdit: Normalmente as barras de ferramentas podem ser personalizadas pelo utilizador, p.ex. na opção ConfiguraçãoConfigurar as Barras de Ferramentas do Konqueror. Se esta opção for igual a "true" (verdadeiro), a barra de ferramentas em questão não fica editável. Isto é importante para as barras de ferramentas que são carregadas com itens na altura da execução, como por exemplo a barra de Favoritos do Konqueror. - -iconText: Diz ao XMLGUI para mostrar o texto da acção ao lado do ícone. Normalmente, o texto só é mostrado como uma dica quando o cursor do rato se mantiver em cima do ícone durante algum tempo. Os valores possíveis para este atributo são o "icononly" (mostra só o ícone), "textonly" (mostra só o texto), "icontextright" (mostra o texto do lado direito do ícone) e "icontextbottom" (mostra o texto por baixo do ícone). - - -hidden: Se este valor for "true" (verdadeiro), a barra de ferramentas não fica visível inicialmente e deverá ser activada por um item de menu qualquer. - - -position: O valor por omissão para este atributo é o "top", que significa que a barra de ferramentas fica por baixo do menu. Para os programas com várias ferramentas, como os programas gráficos, poderá ser interessante substituir isto por "left" (esquerda), "right" (direita) ou "bottom" (baixo). +fullWidth: Diz ao XMLGUI que a barra de ferramentas tem a mesma largura que a janela de topo. Dado que este está igual a "false" (falso), a barra de ferramentas só ocupa o espaço necessário e poderão ser colocadas mais barras de ferramentas na mesma linha. + +newline: Este está relacionado com a opção acima. Se for igual a "true" (verdadeiro), a barra de ferramentas inicia uma nova linha. Caso contrário, poderá ser colocada na mesma linha que a barra anterior. + +noEdit: Normalmente as barras de ferramentas podem ser personalizadas pelo utilizador, p.ex. na opção ConfiguraçãoConfigurar as Barras de Ferramentas do Konqueror. Se esta opção for igual a "true" (verdadeiro), a barra de ferramentas em questão não fica editável. Isto é importante para as barras de ferramentas que são carregadas com itens na altura da execução, como por exemplo a barra de Favoritos do Konqueror. + +iconText: Diz ao XMLGUI para mostrar o texto da acção ao lado do ícone. Normalmente, o texto só é mostrado como uma dica quando o cursor do rato se mantiver em cima do ícone durante algum tempo. Os valores possíveis para este atributo são o "icononly" (mostra só o ícone), "textonly" (mostra só o texto), "icontextright" (mostra o texto do lado direito do ícone) e "icontextbottom" (mostra o texto por baixo do ícone). + + +hidden: Se este valor for "true" (verdadeiro), a barra de ferramentas não fica visível inicialmente e deverá ser activada por um item de menu qualquer. + + +position: O valor por omissão para este atributo é o "top", que significa que a barra de ferramentas fica por baixo do menu. Para os programas com várias ferramentas, como os programas gráficos, poderá ser interessante substituir isto por "left" (esquerda), "right" (direita) ou "bottom" (baixo). @@ -1967,24 +964,11 @@ rc_DATA = kviewui.rc -Menus dinâmicos - -Obviamente, um ficheiro XML só poderá conter uma descrição estática da interface do utilizador. Normalmente, existem menus que mudam durante a execução. Por exemplo, o menu do Konqueror Localização contém um conjunto de itens Abrir com XPTO com as aplicações que são capazes de abrir um dado ficheiro com um dado tipo MIME. De cada vez que o documento apresentado muda, a lista de itens do menu muda. O XMLGUI está preparado para lidar com estes casos, usando a noção de listas de acções. Uma lista de acções é declarada como um itm no ficheiro XML, mas de facto consiste em várias acções que são associadas ao menu durante a execução. O exemplo acima está implementado com a seguinte declaração no ficheiro XML do Konqueror: - -<Menu name="file"> +Menus dinâmicos + +Obviamente, um ficheiro XML só poderá conter uma descrição estática da interface do utilizador. Normalmente, existem menus que mudam durante a execução. Por exemplo, o menu do Konqueror Localização contém um conjunto de itens Abrir com XPTO com as aplicações que são capazes de abrir um dado ficheiro com um dado tipo MIME. De cada vez que o documento apresentado muda, a lista de itens do menu muda. O XMLGUI está preparado para lidar com estes casos, usando a noção de listas de acções. Uma lista de acções é declarada como um itm no ficheiro XML, mas de facto consiste em várias acções que são associadas ao menu durante a execução. O exemplo acima está implementado com a seguinte declaração no ficheiro XML do Konqueror: + +<Menu name="file"> <text>&amp;Location</text> ... <ActionList name="openwith"> @@ -1992,15 +976,9 @@ rc_DATA = kviewui.rc </Menu> -A função KXMLGUIClient::plugActionList() é então usada para adicionar as acções a mostrar, enquanto que a função KXMLGuiClient::unplugActionList() remove todas as acções ligadas. A rotina responsável pela actualização é semelhante à seguinte: +A função KXMLGUIClient::plugActionList() é então usada para adicionar as acções a mostrar, enquanto que a função KXMLGuiClient::unplugActionList() remove todas as acções ligadas. A rotina responsável pela actualização é semelhante à seguinte: -void JanelaPrincipal::actualizarAccoesAbrirCom() +void JanelaPrincipal::actualizarAccoesAbrirCom() { unplugActionList("openwith"); // Nome declarado no ficheiro XML accoesAbrirCom.clear(); @@ -2012,27 +990,17 @@ rc_DATA = kviewui.rc } -Lembre-se que, em contraste com as acções estáticas, as que aqui são criadas não têm a colecção de acções como 'mãe', como tal você é responsável por removê-las você mesmo. A forma mais simples de o fazer é usando o método accoesAbrirCom.setAutoDelete(true) no exemplo acima. +Lembre-se que, em contraste com as acções estáticas, as que aqui são criadas não têm a colecção de acções como 'mãe', como tal você é responsável por removê-las você mesmo. A forma mais simples de o fazer é usando o método accoesAbrirCom.setAutoDelete(true) no exemplo acima. -Menus de contexto +Menus de contexto -Os exemplos acima só continham casos em que as barras de menu e de ferramentas de uma janela principal eram criados. Existem os casos em que os processos de criação destes repositórios estão completamente escondidos do programador por detrás da chamada do createGUI() (excepto se você tiver repositórios personalizados). Contudo, existem casos em que você deseja construir outros repositórios e preenchê-los com definições da GUI a partir do ficheiro XML. Um desses exemplos são os menus de contexto. Para obter uma referência a um menu de contexto, você terá de pedir ao criador ('factory') do cliente essa referência: +Os exemplos acima só continham casos em que as barras de menu e de ferramentas de uma janela principal eram criados. Existem os casos em que os processos de criação destes repositórios estão completamente escondidos do programador por detrás da chamada do createGUI() (excepto se você tiver repositórios personalizados). Contudo, existem casos em que você deseja construir outros repositórios e preenchê-los com definições da GUI a partir do ficheiro XML. Um desses exemplos são os menus de contexto. Para obter uma referência a um menu de contexto, você terá de pedir ao criador ('factory') do cliente essa referência: -void JanelaPrincipal::menuPedido() +void JanelaPrincipal::menuPedido() { QWidget *m = factory()->container("menu_contexto", this); QPopupMenu *menu = static_cast<QPopupMenu *>(m); @@ -2040,13 +1008,9 @@ rc_DATA = kviewui.rc } -O método KXMLGUIFactory::container() usado acima procura onde encontrar um repositório no ficheiro XML com o nome indicado. Nesse caso, uma definição possível poderia ser semelhante à seguinte: +O método KXMLGUIFactory::container() usado acima procura onde encontrar um repositório no ficheiro XML com o nome indicado. Nesse caso, uma definição possível poderia ser semelhante à seguinte: -... +... <Menu name="menu_contexto"> <Action name="ficheiro_adicionar"/> <Action name="ficheiro_remover"/> @@ -2060,95 +1024,51 @@ rc_DATA = kviewui.rc -Fornecer ajuda 'online' +Fornecer ajuda 'online' -Tornar um programa intuitivo e fácil de usar envolve um conjunto de funcionalidades que são chamadas normalmente de ajuda 'online'. A ajuda 'online' tem vários objectivos, alguns deles em conflito: por um lado, deverá dar ao utilizador respostas à pergunta "Como é que faço uma determinada tarefa?"; por outro lado, deverá ajudar o utilizador a explorar a aplicação e a encontrar funcionalidades que ainda não conhece. É importante reconhecer que isto só poderá ser conseguido se oferecer vários níveis de ajuda: +Tornar um programa intuitivo e fácil de usar envolve um conjunto de funcionalidades que são chamadas normalmente de ajuda 'online'. A ajuda 'online' tem vários objectivos, alguns deles em conflito: por um lado, deverá dar ao utilizador respostas à pergunta "Como é que faço uma determinada tarefa?"; por outro lado, deverá ajudar o utilizador a explorar a aplicação e a encontrar funcionalidades que ainda não conhece. É importante reconhecer que isto só poderá ser conseguido se oferecer vários níveis de ajuda: -As dicas de ferramentas são pequenas legendas que aparecem por cima dos elementos da interface gráfica, sempre que o cursor do rato fica algum tempo sobre eles. Elas são especialmente importantes para as barras de ferramentas, onde os ícones nem sempre são suficientes para explicar o intuito de um botão. - -A ajuda o "O que é isto?" é normalmente uma explicação mais extensa e mais rica sobre um elemento gráfico ou um item do menu. É também mais complicada de usar: nas janelas, pode ser invocadas de duas formas: quer carregando em ShiftF1 ou carregando no ponto de interrogação na barra de título (onde o suporte para a última depende do gestor de janelas). O cursor do rato irá então mudar para uma seta com um ponto de interrogação, onde a janela de ajuda aparece sempre que um elemento da interface for pressionado. A ajuda "o que é isto?" para os itens do menu é normalmente activada por um botão na barra de ferramentas que contém uma seta e um ponto de interrogação. - -O problema com esta abordagem é que o utilizador não consegue ver se um elemento contém ajudas ou não. Quando o utilizador activa o botão do ponto de interrogação e não obtém nenhuma janela de ajuda quando carregar num elemento da interface do utilizador, ele irá ficar frustrado muito depressa. - -A vantagem das janelas de ajuda "O Que É Isto?" oferecidas pelo Qt e pelo KDE é que elas poderão conter texto formatado, i.e. poderão conter vários tipos de letra, texto em negrito e itálico, ou mesmo imagens e tabelas. - -Um exemplo de uma ajuda "O Que É Isto?": +As dicas de ferramentas são pequenas legendas que aparecem por cima dos elementos da interface gráfica, sempre que o cursor do rato fica algum tempo sobre eles. Elas são especialmente importantes para as barras de ferramentas, onde os ícones nem sempre são suficientes para explicar o intuito de um botão. + +A ajuda o "O que é isto?" é normalmente uma explicação mais extensa e mais rica sobre um elemento gráfico ou um item do menu. É também mais complicada de usar: nas janelas, pode ser invocadas de duas formas: quer carregando em ShiftF1 ou carregando no ponto de interrogação na barra de título (onde o suporte para a última depende do gestor de janelas). O cursor do rato irá então mudar para uma seta com um ponto de interrogação, onde a janela de ajuda aparece sempre que um elemento da interface for pressionado. A ajuda "o que é isto?" para os itens do menu é normalmente activada por um botão na barra de ferramentas que contém uma seta e um ponto de interrogação. + +O problema com esta abordagem é que o utilizador não consegue ver se um elemento contém ajudas ou não. Quando o utilizador activa o botão do ponto de interrogação e não obtém nenhuma janela de ajuda quando carregar num elemento da interface do utilizador, ele irá ficar frustrado muito depressa. + +A vantagem das janelas de ajuda "O Que É Isto?" oferecidas pelo Qt e pelo KDE é que elas poderão conter texto formatado, i.e. poderão conter vários tipos de letra, texto em negrito e itálico, ou mesmo imagens e tabelas. + +Um exemplo de uma ajuda "O Que É Isto?": - + -Finalmente, todos os programas deverão ter um manual. Um manual é normalmente visto no KHelpCenter, activando o menu Ajuda. Isto significa, que uma aplicação adicional completa aparece e distrai o utilizador do seu trabalho. Por consequência, a consulta do manual só deverá ser necessária se as outras funcionalidades como as dicas e a ajuda "o que é isto?" não forem suficientes. Obviamente, um manual tem a vantagem que não explica apenas aspectos únicos e isolados da interface do utilizador. Em vez disso, ele poderá explicar aspectos da aplicação num contexto mais amplo. Os manuais para o KDE são escritos usando a linguagem de formatação DocBook. +Finalmente, todos os programas deverão ter um manual. Um manual é normalmente visto no KHelpCenter, activando o menu Ajuda. Isto significa, que uma aplicação adicional completa aparece e distrai o utilizador do seu trabalho. Por consequência, a consulta do manual só deverá ser necessária se as outras funcionalidades como as dicas e a ajuda "o que é isto?" não forem suficientes. Obviamente, um manual tem a vantagem que não explica apenas aspectos únicos e isolados da interface do utilizador. Em vez disso, ele poderá explicar aspectos da aplicação num contexto mais amplo. Os manuais para o KDE são escritos usando a linguagem de formatação DocBook. -Do ponto de vista do programador, o Qt oferece uma API fácil de usar para a ajuda 'online'. Para atribuir uma dica a um dado elemento gráfico, use a classe QToolTip. +Do ponto de vista do programador, o Qt oferece uma API fácil de usar para a ajuda 'online'. Para atribuir uma dica a um dado elemento gráfico, use a classe QToolTip. -QToolTip::add(e, i18n("Este elemento faz uma dada tarefa.")) +QToolTip::add(e, i18n("Este elemento faz uma dada tarefa.")) -Se as barras de menu e as barras de ferramentas forem criadas com o padrão de acções, o texto usado como dica deriva do primeiro argumento do construtor da TDEAction: +Se as barras de menu e as barras de ferramentas forem criadas com o padrão de acções, o texto usado como dica deriva do primeiro argumento do construtor da TDEAction: -accao = new TDEAction(i18n("&Remover"), "editdelete", +accao = new TDEAction(i18n("&Remover"), "editdelete", SHIFT+Key_Delete, actionCollection(), "del") -Aqui também é possível atribuir um dado texto que é apresentado na barra de estado quando o item do menu respectivo é seleccionado: +Aqui também é possível atribuir um dado texto que é apresentado na barra de estado quando o item do menu respectivo é seleccionado: -action->setStatusText(i18n("Apaga o texto marcado")) +action->setStatusText(i18n("Apaga o texto marcado")) -A API da ajuda "O que é isto?' é bastante parecido. Nas janelas, use o seguinte código: +A API da ajuda "O que é isto?' é bastante parecido. Nas janelas, use o seguinte código: -QWhatsThis::add(e, i18n("<qt>Isto demonstra o motor" +QWhatsThis::add(e, i18n("<qt>Isto demonstra o motor" " do <b>Qt</b> para" " o texto formatado.<ul>" "<li>Um</li>" @@ -2156,28 +1076,17 @@ rc_DATA = kviewui.rc "</ul></qt>")) -Para os itens do menu, use +Para os itens do menu, use -accao->setWhatsThis(i18n("Apaga o ficheiro marcado")) +accao->setWhatsThis(i18n("Apaga o ficheiro marcado")) -A invocação do KHelpCenter está encapsulada na classe TDEApplication. Para mostrar o manual da sua aplicação, basta usar +A invocação do KHelpCenter está encapsulada na classe TDEApplication. Para mostrar o manual da sua aplicação, basta usar -kapp->invokeHelp() +kapp->invokeHelp() -Isto mostra a primeira página com o índice analítico. Quando você quer mostrar apenas uma dada secção do manual, você poderá dar um argumento adicional ao invokeHelp() que indica a 'âncora' para a qual o navegador irá saltar. +Isto mostra a primeira página com o índice analítico. Quando você quer mostrar apenas uma dada secção do manual, você poderá dar um argumento adicional ao invokeHelp() que indica a 'âncora' para a qual o navegador irá saltar. @@ -2186,100 +1095,45 @@ rc_DATA = kviewui.rc -Componentes e serviços +Componentes e serviços -Serviços do KDE +Serviços do KDE -O que são os serviços do KDE? +O que são os serviços do KDE? -A noção de um serviço é um conceito central da arquitectura modular do KDE. Não existe nenhuma implementação técnica restrita associada a este termo - os serviço podem ser 'plugins' sob a forma de bibliotecas dinâmicas ou podem ser programas controlados através de DCOP. Quando alegar ter um determinado tipo de serviço, um serviço promete implementar certas APIs ou funcionalidades. Em termos de C++, pode-se pensar num tipo de serviço como uma classe abstracta e num serviço como uma implementação dessa interface. +A noção de um serviço é um conceito central da arquitectura modular do KDE. Não existe nenhuma implementação técnica restrita associada a este termo - os serviço podem ser 'plugins' sob a forma de bibliotecas dinâmicas ou podem ser programas controlados através de DCOP. Quando alegar ter um determinado tipo de serviço, um serviço promete implementar certas APIs ou funcionalidades. Em termos de C++, pode-se pensar num tipo de serviço como uma classe abstracta e num serviço como uma implementação dessa interface. -A vantagem desta separação é clara: Uma aplicação que use um tipo de serviço não tem de conhecer as possíveis implementações od mesmo. Só usa as APIs associadas ao tipo de serviço. Desta forma, o serviço usado pode ser alterado sem afectar a aplicação. Da mesma forma, o utilizador pode configurar os serviços que ele prefere para certas funcionalidades. +A vantagem desta separação é clara: Uma aplicação que use um tipo de serviço não tem de conhecer as possíveis implementações od mesmo. Só usa as APIs associadas ao tipo de serviço. Desta forma, o serviço usado pode ser alterado sem afectar a aplicação. Da mesma forma, o utilizador pode configurar os serviços que ele prefere para certas funcionalidades. -Alguns exemplos: +Alguns exemplos: -O motor de desenho de HTML no Konqueror é uma componente embebida que implementa os tipos de serviços KParts/ReadOnlyPart e Browser/View. -No HEAD do KDevelop, a maioria da funcionalidade está incorporada em 'plugins' com o tipo de serviço KDevelop/Part. No arranque, todos os serviços deste tipo são carregados, de modo a que você possa extender o IDE de uma forma muito flexível. -Na vista em ícones, o Konqueror mostra - se estiver activo - as miniaturas das imagens, páginas HTML, PDF e ficheiros de texto. Esta capacidade pode ser extendida. Se você quiser que ela mostre imagens de antevisão dos seus próprios ficheiros de dados com algum tipo MIME, você poderá implementar um serviço do tipo ThumbCreator. +O motor de desenho de HTML no Konqueror é uma componente embebida que implementa os tipos de serviços KParts/ReadOnlyPart e Browser/View. +No HEAD do KDevelop, a maioria da funcionalidade está incorporada em 'plugins' com o tipo de serviço KDevelop/Part. No arranque, todos os serviços deste tipo são carregados, de modo a que você possa extender o IDE de uma forma muito flexível. +Na vista em ícones, o Konqueror mostra - se estiver activo - as miniaturas das imagens, páginas HTML, PDF e ficheiros de texto. Esta capacidade pode ser extendida. Se você quiser que ela mostre imagens de antevisão dos seus próprios ficheiros de dados com algum tipo MIME, você poderá implementar um serviço do tipo ThumbCreator. -Obviamente, um serviço não é só caracterizado pelos tipos de serviços que implementa, mas também em algumas propriedades. Por exemplo, um ThumbCreator não só alega que implementa a classe de C++ com o tipo ThumbCreator, mas também tem uma lista de tipos MIME pelos quais é responsável. De forma semelhante, as componentes do KDevelop têm a a linguagem de programação que suportam como uma propriedades. Quando uma aplicação pede um tipo de serviço, pode também listar as restrições nas propriedades do serviço. No exemplo acima, quando o KDevelop carrega os 'plugins' de um projecto Java, ele só pede os 'plugins' que tenham o Java como propriedade da linguagem de programação. Para esse fim, o KDE contém um trader (mediador) semelhante ao do CORBA com uma linguagem de pesquisa complexa. +Obviamente, um serviço não é só caracterizado pelos tipos de serviços que implementa, mas também em algumas propriedades. Por exemplo, um ThumbCreator não só alega que implementa a classe de C++ com o tipo ThumbCreator, mas também tem uma lista de tipos MIME pelos quais é responsável. De forma semelhante, as componentes do KDevelop têm a a linguagem de programação que suportam como uma propriedades. Quando uma aplicação pede um tipo de serviço, pode também listar as restrições nas propriedades do serviço. No exemplo acima, quando o KDevelop carrega os 'plugins' de um projecto Java, ele só pede os 'plugins' que tenham o Java como propriedade da linguagem de programação. Para esse fim, o KDE contém um trader (mediador) semelhante ao do CORBA com uma linguagem de pesquisa complexa. -Definir tipos de serviço - -Os novos tipos de serviços são adicionados ao instalar uma descrição dos mesmos em TDEDIR/share/servicetypes. Na plataforma do 'automake', isto pode ser feito com este excerto do Makefile.am: - -kde_servicetypesdir_DATA = tdeveloppart.desktop +Definir tipos de serviço + +Os novos tipos de serviços são adicionados ao instalar uma descrição dos mesmos em TDEDIR/share/servicetypes. Na plataforma do 'automake', isto pode ser feito com este excerto do Makefile.am: + +kde_servicetypesdir_DATA = tdeveloppart.desktop EXTRA_DIST = $(kde_servicetypesdir_DATA) -A definição tdeveloppart.desktop de uma componente do KDevelop assemelha-se ao seguinte: +A definição tdeveloppart.desktop de uma componente do KDevelop assemelha-se ao seguinte: -[Desktop Entry] +[Desktop Entry] Type=ServiceType X-TDE-ServiceType=KDevelop/Part Name=KDevelop Part @@ -2294,43 +1148,23 @@ Type=QStringList Type=QString -Para além dos itens normais, este exemplo demonstra como é que você declara que um serviço tem determinadas propriedades. Cada definição de propriedades corresponde a um grupo [PropertyDef::name] no ficheiro de configuração. Neste grupo, o item Type define o tipo da propriedades. Os tipos possíveis são todos os que conseguem ser registados num QVariant. +Para além dos itens normais, este exemplo demonstra como é que você declara que um serviço tem determinadas propriedades. Cada definição de propriedades corresponde a um grupo [PropertyDef::name] no ficheiro de configuração. Neste grupo, o item Type define o tipo da propriedades. Os tipos possíveis são todos os que conseguem ser registados num QVariant. -Definir os serviços das bibliotecas dinâmicas +Definir os serviços das bibliotecas dinâmicas -As definições dos serviços são gravadas na directoria TDEDIR/share/services: +As definições dos serviços são gravadas na directoria TDEDIR/share/services: -kde_servicesdir_DATA = kdevdoxygen.desktop +kde_servicesdir_DATA = kdevdoxygen.desktop EXTRA_DIST = $(kde_servicesdir_DATA) -O conteúdo do seguinte ficheiro de exemplo kdevdoxygen.desktop define o 'plugin' do KDevDoxygen com o tipo de serviço KDevelop/Part: - -[Desktop Entry] +O conteúdo do seguinte ficheiro de exemplo kdevdoxygen.desktop define o 'plugin' do KDevDoxygen com o tipo de serviço KDevelop/Part: + +[Desktop Entry] Type=Service Comment=Doxygen Name=KDevDoxygen @@ -2340,17 +1174,9 @@ X-KDevelop-ProgrammingLanguages=C,C++,Java X-KDevelop-Scope=Project -Para além das declarações normais, um item importante é o X-TDE-Library. Este contém o nome da biblioteca do 'libtool' (sem a extensão .la). Também corrige (com o prefixo init_ anexado) o nome do símbolo exportado na biblioteca que devolve uma 'factory' (fábrica) de objectos. Para o exemplo acima, a biblioteca deve conter a seguinte função: - -extern "C" { +Para além das declarações normais, um item importante é o X-TDE-Library. Este contém o nome da biblioteca do 'libtool' (sem a extensão .la). Também corrige (com o prefixo init_ anexado) o nome do símbolo exportado na biblioteca que devolve uma 'factory' (fábrica) de objectos. Para o exemplo acima, a biblioteca deve conter a seguinte função: + +extern "C" { void *init_libkdevdoxygen() { return new DoxygenFactory; @@ -2358,42 +1184,19 @@ X-KDevelop-Scope=Project }; -O tipo da classe da 'factory' DoxygenFactory depende do tipo de serviço específico que este serviço implementa. No nosso exemplo de um 'plugin' do KDevelop, a 'factory' deverá ser uma KDevFactory (que herda de KLibFactory). Os exemplos mais comuns são a KParts::Factory que é suposto produzir objectos KParts::ReadOnlyPart ou, na maioria dos casos, a KLibFactory genérica. +O tipo da classe da 'factory' DoxygenFactory depende do tipo de serviço específico que este serviço implementa. No nosso exemplo de um 'plugin' do KDevelop, a 'factory' deverá ser uma KDevFactory (que herda de KLibFactory). Os exemplos mais comuns são a KParts::Factory que é suposto produzir objectos KParts::ReadOnlyPart ou, na maioria dos casos, a KLibFactory genérica. -Usar os serviços das bibliotecas dinâmicas - -Para usar um serviço de uma biblioteca dinâmica numa aplicação, você precisa de obter um objecto KService que a represente. Isto é discutido na secção sobre os tipos MIME (e numa secção sobre o mediador, a ser escrita :-) - -Com o objecto KService acessível, você poderá simplesmente carregar a biblioteca e obter uma referência para o objecto da sua 'factory': - -KService *servico = ... +Usar os serviços das bibliotecas dinâmicas + +Para usar um serviço de uma biblioteca dinâmica numa aplicação, você precisa de obter um objecto KService que a represente. Isto é discutido na secção sobre os tipos MIME (e numa secção sobre o mediador, a ser escrita :-) + +Com o objecto KService acessível, você poderá simplesmente carregar a biblioteca e obter uma referência para o objecto da sua 'factory': + +KService *servico = ... QString nomeBiblioteca = QFile::encodeName(servico->library()); KLibFactory *fabrica = KLibLoader::self()->factory(nomeBiblioteca); if (!fabrica) { @@ -2405,13 +1208,9 @@ if (!fabrica) { } -A partir deste ponto, o procedimento posterior depende de novo do tipo de serviço. Para os 'plugins' genéricos, você cria objectos com o método KLibFactory::create(). Para as KParts, você precisa de converter o ponteiro da 'factory' para a classe mais específica KParts::Factory e usar o seu método create(): +A partir deste ponto, o procedimento posterior depende de novo do tipo de serviço. Para os 'plugins' genéricos, você cria objectos com o método KLibFactory::create(). Para as KParts, você precisa de converter o ponteiro da 'factory' para a classe mais específica KParts::Factory e usar o seu método create(): -if (fabrica->inherits("KParts::Factory")) { +if (fabrica->inherits("KParts::Factory")) { KParts::Factory *fabricaComponentes = static_cast<KParts::Factory*>(fabrica); QObject *objecto = fabricaComponentes->createPart(janelaMae, nomeJanela, mae, nome, "KParts::ReadOnlyPart"); @@ -2425,49 +1224,21 @@ if (!fabrica) { -Definir serviços de DCOP - -Um serviço de DCOP é normalmente implementado como um programa que é iniciado sempre que é necessário. Ele entra então em ciclo e fica à espera de ligações do DCOP. O programa poderá ser interactivo, mas também poderá correr completamente, ou durante parte do seu tempo de vida, como um servidor em segundo plano, sem que o utilizador repare nele. Um exemplo destes servidores é o tdeio_uiserver, que implementa a interacção com o utilizador, como a janela de progresso para a biblioteca TDEIO. A vantagem de um servidor centralizado deste no contexto em questão é que p.ex., pode-se mostrar o progresso da transferência para vários ficheiros diferentes numa só uma janela, mesmo que estas transferências tenham sido iniciadas a partir de aplicações diferentes. - -Um serviço de DCOP é definido de forma diferente de um serviço de uma biblioteca dinâmica. Obviamente, não diz respeito a uma biblioteca, mas sim a um executável. Para além disso, os serviços de DCOP não indicam uma linha ServiceType, porque normalmente eles são iniciados pelo nomes deles. Como propriedades adicionais, contêm duas linhas: - -O X-DCOP-ServiceType define a forma como o serviço é iniciado. O valor Unique diz que o serviço não poderá ser iniciado mais do que uma vez. Isto significa que, se você tentar iniciar este serviço (p.ex., através do TDEApplication::startServiceByName(), o KDE irá descobrir se já está registado no DCOP e usa o serviço em execução. Se ainda não estiver registado, o KDE irá iniciá-lo e esperar até que esteja registado. Desta forma, você poderá enviar imediatamente chamadas de DCOP para o serviço. Nesse caso, o serviço deverá ser implementado como uma KUniqueApplication. - -O valor Multi para o X-DCOP-ServiceType diz que poderão coexistir várias instâncias do serviço, por isso todas as tentativas de iniciar o serviço irão criar outro processo. Como última possibilidade, o valor None poderá ser usado. Neste caso, o arranque do serviço não irá esperar até ter sido registado com o DCOP. - -O X-TDE-StartupNotify deverá normalmente ser igual a 'false' (falso). Caso contrário, quando o programa for iniciado, a barra de tarefas irá mostrar uma notificação de arranque ou, dependo da configuração do utilizador, o cursor irá mudar. - -Aqui está a definição do tdeio_uiserver: - -[Desktop Entry] +Definir serviços de DCOP + +Um serviço de DCOP é normalmente implementado como um programa que é iniciado sempre que é necessário. Ele entra então em ciclo e fica à espera de ligações do DCOP. O programa poderá ser interactivo, mas também poderá correr completamente, ou durante parte do seu tempo de vida, como um servidor em segundo plano, sem que o utilizador repare nele. Um exemplo destes servidores é o tdeio_uiserver, que implementa a interacção com o utilizador, como a janela de progresso para a biblioteca TDEIO. A vantagem de um servidor centralizado deste no contexto em questão é que p.ex., pode-se mostrar o progresso da transferência para vários ficheiros diferentes numa só uma janela, mesmo que estas transferências tenham sido iniciadas a partir de aplicações diferentes. + +Um serviço de DCOP é definido de forma diferente de um serviço de uma biblioteca dinâmica. Obviamente, não diz respeito a uma biblioteca, mas sim a um executável. Para além disso, os serviços de DCOP não indicam uma linha ServiceType, porque normalmente eles são iniciados pelo nomes deles. Como propriedades adicionais, contêm duas linhas: + +O X-DCOP-ServiceType define a forma como o serviço é iniciado. O valor Unique diz que o serviço não poderá ser iniciado mais do que uma vez. Isto significa que, se você tentar iniciar este serviço (p.ex., através do TDEApplication::startServiceByName(), o KDE irá descobrir se já está registado no DCOP e usa o serviço em execução. Se ainda não estiver registado, o KDE irá iniciá-lo e esperar até que esteja registado. Desta forma, você poderá enviar imediatamente chamadas de DCOP para o serviço. Nesse caso, o serviço deverá ser implementado como uma KUniqueApplication. + +O valor Multi para o X-DCOP-ServiceType diz que poderão coexistir várias instâncias do serviço, por isso todas as tentativas de iniciar o serviço irão criar outro processo. Como última possibilidade, o valor None poderá ser usado. Neste caso, o arranque do serviço não irá esperar até ter sido registado com o DCOP. + +O X-TDE-StartupNotify deverá normalmente ser igual a 'false' (falso). Caso contrário, quando o programa for iniciado, a barra de tarefas irá mostrar uma notificação de arranque ou, dependo da configuração do utilizador, o cursor irá mudar. + +Aqui está a definição do tdeio_uiserver: + +[Desktop Entry] Type=Service Name=tdeio_uiserver Exec=tdeio_uiserver @@ -2479,14 +1250,11 @@ X-TDE-StartupNotify=false -Usar os serviços de DCOP +Usar os serviços de DCOP -Um serviço de DCOP é iniciado com um de vários métodos na classe TDEApplication: +Um serviço de DCOP é iniciado com um de vários métodos na classe TDEApplication: -DCOPClient *cliente = kapp->dcopClient(); +DCOPClient *cliente = kapp->dcopClient(); cliente->attach(); if (!cliente->isApplicationRegistered("tdeio_uiserver")) { QString erro; @@ -2504,24 +1272,11 @@ if (!client->call("tdeio_uiserver", "UIServer", "setListMode(bool)", ... -Repare que o exemplo de uma chamada de DCOP indicado aqui utiliza a codificação explícita dos argumentos. Nornalmente, você iria usar um 'stub' (uma classe de adaptação) gerado pelo 'dcopidl2cpp', por ser muito mais simples e menos sujeito a erros. - -No exemplo aqui dado, o serviço foi iniciado "por nome", i.e., o primeiro argumento do TDEApplication::startServiceByName() é o nome que aparece na linha Name do ficheiro 'desktop'. Uma alternativa é usar o TDEApplication::startServiceByDesktopName(), que recebe o nome do ficheiro 'desktop' como argumento, i.e., neste caso, seria igual a "tdeio_uiserver.desktop". - -Todas estas chamadas recebem uma lista de URLs como segundo argumento, o qual é dado ao serviço na linha de comandos. O terceiro argumento é um ponteiro para uma QString. Se o início do serviço falhar, este argumento fica igual à mensagem de erro traduzida. +Repare que o exemplo de uma chamada de DCOP indicado aqui utiliza a codificação explícita dos argumentos. Nornalmente, você iria usar um 'stub' (uma classe de adaptação) gerado pelo 'dcopidl2cpp', por ser muito mais simples e menos sujeito a erros. + +No exemplo aqui dado, o serviço foi iniciado "por nome", i.e., o primeiro argumento do TDEApplication::startServiceByName() é o nome que aparece na linha Name do ficheiro 'desktop'. Uma alternativa é usar o TDEApplication::startServiceByDesktopName(), que recebe o nome do ficheiro 'desktop' como argumento, i.e., neste caso, seria igual a "tdeio_uiserver.desktop". + +Todas estas chamadas recebem uma lista de URLs como segundo argumento, o qual é dado ao serviço na linha de comandos. O terceiro argumento é um ponteiro para uma QString. Se o início do serviço falhar, este argumento fica igual à mensagem de erro traduzida. @@ -2529,89 +1284,45 @@ if (!client->call("tdeio_uiserver", "UIServer", "setListMode(bool)", -Tipos MIME +Tipos MIME -O que são tipos MIME? +O que são tipos MIME? -Os tipos MIME são usados para descrever o tipo de conteúdo dos ficheiros ou dos blocos de dados. Originalmente, foram introduzidos para permitir o envio de imagens, ficheiros de som, etc., por e-mail (o MIME significa "Multipurpose Internet Mail Extensions" - Extensões Multi-Uso de Correio pela Internet). Depois, este sistema foi também usado pelos navegadores Web para saber como apresentar os dados enviados por um servidor Web para o utilizador. Por exemplo, uma página de HTML tem um tipo MIME "text/html", um ficheiro PostScript tem o tipo "application/postscript". No KDE, este conceito é usado em vários sítios: +Os tipos MIME são usados para descrever o tipo de conteúdo dos ficheiros ou dos blocos de dados. Originalmente, foram introduzidos para permitir o envio de imagens, ficheiros de som, etc., por e-mail (o MIME significa "Multipurpose Internet Mail Extensions" - Extensões Multi-Uso de Correio pela Internet). Depois, este sistema foi também usado pelos navegadores Web para saber como apresentar os dados enviados por um servidor Web para o utilizador. Por exemplo, uma página de HTML tem um tipo MIME "text/html", um ficheiro PostScript tem o tipo "application/postscript". No KDE, este conceito é usado em vários sítios: -Na vista em ícones do Konqueror, os ficheiros são representados por ícones. Cada tipo MIME tem um dado ícone associado, que é aqui apresentado. - -Quando você carrega no ícone de um ficheiro ou no seu nome no Konqueror, o ficheiro tanto pode ser aberto num visualizador incorporado como numa aplicação associada ao tipo de ficheiro. - -Quando você arrasta e larga alguns dados de uma aplicação noutra (ou dentro da mesma aplicação), o destino dos dados pode optar por aceitar apenas alguns tipos de dados. Para além disso, ele irá lidar com os dados de imagens de forma diferente dos dados textuais. - -Os dados na área de transferência têm um tipo MIME. Tradicionalmente, os programas do X só lidam com imagens ou texto, mas com o Qt, não existem restrições ao tipo de dados. +Na vista em ícones do Konqueror, os ficheiros são representados por ícones. Cada tipo MIME tem um dado ícone associado, que é aqui apresentado. + +Quando você carrega no ícone de um ficheiro ou no seu nome no Konqueror, o ficheiro tanto pode ser aberto num visualizador incorporado como numa aplicação associada ao tipo de ficheiro. + +Quando você arrasta e larga alguns dados de uma aplicação noutra (ou dentro da mesma aplicação), o destino dos dados pode optar por aceitar apenas alguns tipos de dados. Para além disso, ele irá lidar com os dados de imagens de forma diferente dos dados textuais. + +Os dados na área de transferência têm um tipo MIME. Tradicionalmente, os programas do X só lidam com imagens ou texto, mas com o Qt, não existem restrições ao tipo de dados. -Nos exemplos acima, é óbvio que o tratamento do MIME é uma questão complexa. Primeiro, é necessário estabelecer um mapeamento dos nomes dos ficheiros para os tipos MIME. O KDE vai mais além, permitindo até que o conteúdo dos ficheiros seja mapeado em tipos MIME, para os casos em que o nome do ficheiro não está disponível. Segundo, é necessário mapear os tipos MIME nas aplicações ou nas bibliotecas que podem ver ou editar os ficheiros de um determinado tipo ou ainda criar uma imagem em miniatura deles. +Nos exemplos acima, é óbvio que o tratamento do MIME é uma questão complexa. Primeiro, é necessário estabelecer um mapeamento dos nomes dos ficheiros para os tipos MIME. O KDE vai mais além, permitindo até que o conteúdo dos ficheiros seja mapeado em tipos MIME, para os casos em que o nome do ficheiro não está disponível. Segundo, é necessário mapear os tipos MIME nas aplicações ou nas bibliotecas que podem ver ou editar os ficheiros de um determinado tipo ou ainda criar uma imagem em miniatura deles. -Existe uma variedade de APIs para descobrir o tipo MIME dos dados ou ficheiros. De um modo geral, existe um certo compromisso de velocidade/fiabilidade que terá de fazer. Você poderá descobrir o tipo de um ficheiro, examinando apenas o nome do seu ficheiro (i.e., na maioria dos casos, pela sua extensão). Por exemplo, um ficheiro xpto.jpg é normalmente um "image/jpeg". Nos casos em que a extensão não existe, isto não é seguro, e você terá de ver o conteúdo do ficheiro. Isto é obviamente mais lento, em particular para os ficheiros que terão de ser obtidos via HTTP em primeiro lugar. O método baseado no conteúdo baseia-se no ficheiro TDEDIR/share/mimelnk/magic e, como tal, poderá ser difícil de extender. Mas, de um modo geral, a informação do tipo MIME poderá ser disponibilizada de forma simples ao sistema se instalar um ficheiro .desktop, e está disponível de forma eficiente e conveniente através das bibliotecas do KDE. +Existe uma variedade de APIs para descobrir o tipo MIME dos dados ou ficheiros. De um modo geral, existe um certo compromisso de velocidade/fiabilidade que terá de fazer. Você poderá descobrir o tipo de um ficheiro, examinando apenas o nome do seu ficheiro (i.e., na maioria dos casos, pela sua extensão). Por exemplo, um ficheiro xpto.jpg é normalmente um "image/jpeg". Nos casos em que a extensão não existe, isto não é seguro, e você terá de ver o conteúdo do ficheiro. Isto é obviamente mais lento, em particular para os ficheiros que terão de ser obtidos via HTTP em primeiro lugar. O método baseado no conteúdo baseia-se no ficheiro TDEDIR/share/mimelnk/magic e, como tal, poderá ser difícil de extender. Mas, de um modo geral, a informação do tipo MIME poderá ser disponibilizada de forma simples ao sistema se instalar um ficheiro .desktop, e está disponível de forma eficiente e conveniente através das bibliotecas do KDE. -Definir os tipos MIME - -Vamos então definir um tipo "application/x-xpto" para o nosso programa programaXpto. Para tal, você terá de criar um ficheiro xpto.desktop e instalá-lo em TDEDIR/share/mimelnk/application. (Esta é a localização normal, mas poderá variar entre distribuições). Isto pode ser feito se adicionar o seguinte ao Makefile.am: - -mimedir = $(kde_mimedir)/application +Definir os tipos MIME + +Vamos então definir um tipo "application/x-xpto" para o nosso programa programaXpto. Para tal, você terá de criar um ficheiro xpto.desktop e instalá-lo em TDEDIR/share/mimelnk/application. (Esta é a localização normal, mas poderá variar entre distribuições). Isto pode ser feito se adicionar o seguinte ao Makefile.am: + +mimedir = $(kde_mimedir)/application mime_DATA = xpto.desktop EXTRA_DIST = $(mime_DATA) -O ficheiro xpto.desktop deverá ser parecido com o seguinte: +O ficheiro xpto.desktop deverá ser parecido com o seguinte: -[Desktop Entry] +[Desktop Entry] Type=MimeType MimeType=application/x-xpto Icon=icone_xpto @@ -2621,24 +1332,11 @@ Comment=XPTO Data File Comment[pt]=Dados em XPTO -O item "Comment" é suposto ser traduzido. Dado que o ficheiro .desktop refere um ícone, você deverá também instalar um ícone icone_xpto.png, que representa o ficheiro p.ex. no Konqueror. - -Nas bibliotecas do KDE, a definição de um tipo destes é mapeada numa instância da classe KMimeType. Use esta como é mostrado no exemplo a seguir: - -KMimeType::Ptr tipo = KMimeType::mimeType("application/x-xpto"); +O item "Comment" é suposto ser traduzido. Dado que o ficheiro .desktop refere um ícone, você deverá também instalar um ícone icone_xpto.png, que representa o ficheiro p.ex. no Konqueror. + +Nas bibliotecas do KDE, a definição de um tipo destes é mapeada numa instância da classe KMimeType. Use esta como é mostrado no exemplo a seguir: + +KMimeType::Ptr tipo = KMimeType::mimeType("application/x-xpto"); cout << "Tipo: " << tipo->name() < endl; cout << "Ícone: " << tipo->icon() < endl; cout << "Comentário: " << tipo->icon() < endl; @@ -2652,55 +1350,31 @@ for (it = padroes.begin(); it != padroes.end(); ++it) -Determinar o tipo MIME dos dados - -O método mais rápido para determinar o tipo de um ficheiro é o KMimeType::findByURL(). Isto procura pelo texto no URL e, na maioria dos casos, determina o tipo a partir da extensão. Para certos protocolos (p.ex., 'http', 'man', 'info'), este mecanismo não é usado. Por exemplos, os 'scripts' CGI nos servidores Web escritos em Perl normalmente têm a extensão .pl, o que iria corresponder a um tipo "text/x-perl". Todavia, o ficheiro devolvido pelo servidor é o resultado deste 'script', que é normalmente HTML. Para esse caso, o KMimeType::findByURL() devolve o tipo MIME "application/octet-stream" (disponível através do KMimeType::defaultMimeType()), que indica uma falha da descoberta do tipo. - -KMimeType::Ptr tipo = KMimeType::findByURL("/home/ze/xpto.jpg"); +Determinar o tipo MIME dos dados + +O método mais rápido para determinar o tipo de um ficheiro é o KMimeType::findByURL(). Isto procura pelo texto no URL e, na maioria dos casos, determina o tipo a partir da extensão. Para certos protocolos (p.ex., 'http', 'man', 'info'), este mecanismo não é usado. Por exemplos, os 'scripts' CGI nos servidores Web escritos em Perl normalmente têm a extensão .pl, o que iria corresponder a um tipo "text/x-perl". Todavia, o ficheiro devolvido pelo servidor é o resultado deste 'script', que é normalmente HTML. Para esse caso, o KMimeType::findByURL() devolve o tipo MIME "application/octet-stream" (disponível através do KMimeType::defaultMimeType()), que indica uma falha da descoberta do tipo. + +KMimeType::Ptr tipo = KMimeType::findByURL("/home/ze/xpto.jpg"); if (tipo->name() == KMimeType::defaultMimeType()) cout << "Não foi possível descobrir o tipo" << endl; else cout << "Tipo: " << tipo->name() << endl; -(este método tem mais alguns argumentos, mas estes não estão documentados, por isso esqueça-os). +(este método tem mais alguns argumentos, mas estes não estão documentados, por isso esqueça-os). -Você poderá querer determinar o tipo MIME a partir do conteúdo do ficheiro em vez de ser pelo seu nome. Isto é mais fiável, mas também é mais lento, dado que implica ler uma parte do ficheiro. Isto é feito com a classe KMimeMagic, que tem tratamentos de erros diferentes: +Você poderá querer determinar o tipo MIME a partir do conteúdo do ficheiro em vez de ser pelo seu nome. Isto é mais fiável, mas também é mais lento, dado que implica ler uma parte do ficheiro. Isto é feito com a classe KMimeMagic, que tem tratamentos de erros diferentes: -KMimeMagicResult *resultado = KMimeMagic::self()->findFileType("/home/ze/xpto.jpg"); +KMimeMagicResult *resultado = KMimeMagic::self()->findFileType("/home/ze/xpto.jpg"); if (!resultado || !resultado->isValid()) cout << "Não foi possível descobrir o tipo" << endl; else cout << "Tipo: " << resultado->mimeType() << endl; -Como variante desta função, você também poderá determinar o tipo de um dado bloco de memória. Isto é p.ex. usado no Kate para descobrir o modo de realce: +Como variante desta função, você também poderá determinar o tipo de um dado bloco de memória. Isto é p.ex. usado no Kate para descobrir o modo de realce: -QByteArray dados; +QByteArray dados; ... KMimeMagicResult *resultado = KMimeMagic::self()->findBufferType(dados); if (!resultado || !resultado->isValid()) @@ -2709,11 +1383,9 @@ else cout << "Tipo: " << resultado->mimeType() << endl; -Obviamente, até mesmo o KMimeMagic só é capaz de determinar o tipo do ficheiro para o conteúdo de um ficheiro local. Para os ficheiros remotos, existe uma outra possibilidade: +Obviamente, até mesmo o KMimeMagic só é capaz de determinar o tipo do ficheiro para o conteúdo de um ficheiro local. Para os ficheiros remotos, existe uma outra possibilidade: -KURL url("http://developer.kde.org/favicon.ico"); +KURL url("http://developer.kde.org/favicon.ico"); QString tipo = TDEIO::NetAccess::mimetype(url); if (tipo == KMimeType::defaultMimeType()) cout << "Não foi possível descobrir o tipo" << endl; @@ -2721,18 +1393,11 @@ else cout << "Tipo: " << tipo << endl; -Isto inicia uma tarefa do TDEIO para obter uma parte do ficheiro e analisá-la. Lembre-se que esta função é talvez bastante lenta e bloqueia o programa. Normalmente, você só irá querer usar isto se o KMimeType::findByURL() devolveu "application/octet-stream". +Isto inicia uma tarefa do TDEIO para obter uma parte do ficheiro e analisá-la. Lembre-se que esta função é talvez bastante lenta e bloqueia o programa. Normalmente, você só irá querer usar isto se o KMimeType::findByURL() devolveu "application/octet-stream". -Por outro lado, se você não quiser bloquear a sua aplicação, você poderá iniciar explicitamente a tarefa do TDEIO e ligar-se a um dos seus 'signals': +Por outro lado, se você não quiser bloquear a sua aplicação, você poderá iniciar explicitamente a tarefa do TDEIO e ligar-se a um dos seus 'signals': -void ClasseXpto::descobrirTipo() +void ClasseXpto::descobrirTipo() { KURL url("http://developer.kde.org/favicon.ico"); TDEIO::MimetypeJob *tarefa = TDEIO::mimetype(url); @@ -2753,20 +1418,11 @@ void ClasseXpto::resultadoMime(TDEIO::Job *tarefa) -Mapear um tipo MIME a uma aplicação ou serviço - -Quando uma aplicação é instalada, ela coloca um ficheiro .desktop que contém uma lista dos tipos MIME que esta aplicação pode carregar. De forma semelhante, os componentes como as KParts disponibilizam esta informação através dos ficheiros .desktop dos serviços. Por isso, de um modo geral, existem vários programas e componentes que podem processar um dado tipo MIME. Você poderá obter uma dessas listas a partir da classe KServiceTypeProfile: - -KService::OfferList ofertas = KServiceTypeProfile::offers("text/html", "Application"); +Mapear um tipo MIME a uma aplicação ou serviço + +Quando uma aplicação é instalada, ela coloca um ficheiro .desktop que contém uma lista dos tipos MIME que esta aplicação pode carregar. De forma semelhante, os componentes como as KParts disponibilizam esta informação através dos ficheiros .desktop dos serviços. Por isso, de um modo geral, existem vários programas e componentes que podem processar um dado tipo MIME. Você poderá obter uma dessas listas a partir da classe KServiceTypeProfile: + +KService::OfferList ofertas = KServiceTypeProfile::offers("text/html", "Application"); KService::OfferList::ConstIterator it; for (it = ofertas.begin(); it != ofertas.end(); ++it) { KService::Ptr servico = (*it); @@ -2774,53 +1430,24 @@ for (it = ofertas.begin(); it != ofertas.end(); ++it) { } -O valor devolvido por esta função é uma lista de ofertas de serviços. Um objecto KServiceOffer contém um KService::Ptr em conjunto com um número de preferência. A lista devolvida pelo KServiceTypeProfile::offers() vem ordenada de acordo com a preferência do utilizador. O utilizador poderá alterar isto com o comando "keditfiletype text/html" ou escolhendo Editar o Tipo de Ficheiro no menu de contexto do Konqueror num ficheiro HTML. - -No exemplo acima, foi pedida uma lista de ofertas de aplicações que suportem o text/html. Isto irá - entre outros - conter os editores de HTML como o Quanta Plus. Você poderá também substituir o segundo argumento "Application" por "KParts::ReadOnlyPart". Nesse caso, você irá obter uma lista dos componentes incorporados para apresentar conteúdos em HTML, como por exemplo o TDEHTML. - -Na maioria dos casos, você não está interessado na lista de todas as ofertas de serviços para uma dada combinação de tipo MIME e tipo de serviço. Existe uma função de conveniência que lhe dá apenas a oferta de serviço com a maior preferência: - -KService::Ptr oferta = KServiceTypeProfile::preferredService("text/html", "Application"); +O valor devolvido por esta função é uma lista de ofertas de serviços. Um objecto KServiceOffer contém um KService::Ptr em conjunto com um número de preferência. A lista devolvida pelo KServiceTypeProfile::offers() vem ordenada de acordo com a preferência do utilizador. O utilizador poderá alterar isto com o comando "keditfiletype text/html" ou escolhendo Editar o Tipo de Ficheiro no menu de contexto do Konqueror num ficheiro HTML. + +No exemplo acima, foi pedida uma lista de ofertas de aplicações que suportem o text/html. Isto irá - entre outros - conter os editores de HTML como o Quanta Plus. Você poderá também substituir o segundo argumento "Application" por "KParts::ReadOnlyPart". Nesse caso, você irá obter uma lista dos componentes incorporados para apresentar conteúdos em HTML, como por exemplo o TDEHTML. + +Na maioria dos casos, você não está interessado na lista de todas as ofertas de serviços para uma dada combinação de tipo MIME e tipo de serviço. Existe uma função de conveniência que lhe dá apenas a oferta de serviço com a maior preferência: + +KService::Ptr oferta = KServiceTypeProfile::preferredService("text/html", "Application"); if (oferta) cout << "Nome: " << oferta->name() << endl; else cout << "Não foi encontrado nenhum serviço apropriado" << endl; -Para as pesquisas ainda mais complexas, existe um mediador completo e semelhante ao do CORBA. +Para as pesquisas ainda mais complexas, existe um mediador completo e semelhante ao do CORBA. -Para poder executar um serviço de aplicação com alguns URLs, use o KRun: +Para poder executar um serviço de aplicação com alguns URLs, use o KRun: -KURL::List listaUrls; +KURL::List listaUrls; listaUrls << "http://www.ietf.org/rfc/rfc1341.txt?number=1341"; listaUrls << "http://www.ietf.org/rfc/rfc2046.txt?number=2046"; KRun::run(ofertas.service(), listaUrls); @@ -2830,25 +1457,19 @@ KRun::run(ofertas.service(), listaUrls); -Diversos +Diversos -Nesta secção, nós queremos listar algumas APIs que estão de certo modo relacionadas com a discussão anterior. +Nesta secção, nós queremos listar algumas APIs que estão de certo modo relacionadas com a discussão anterior. -Obter um ícone para um dado URL. Isto procura o tipo do URL e devolve o ícone associado. +Obter um ícone para um dado URL. Isto procura o tipo do URL e devolve o ícone associado. -KURL url("ftp://ftp.kde.org/pub/incoming/wibble.c"); +KURL url("ftp://ftp.kde.org/pub/incoming/wibble.c"); QString icone = KMimeType::iconForURL(url); -Executar um URL. Isto procura pelo tipo do URL e inicia o programa preferido do utilizador associado a este tipo. +Executar um URL. Isto procura pelo tipo do URL e inicia o programa preferido do utilizador associado a este tipo. -KURL url("http://dot.kde.org"); +KURL url("http://dot.kde.org"); new KRun(url); @@ -2858,54 +1479,33 @@ new KRun(url); -Transparência na rede +Transparência na rede -Introdução - -Na era na World Wide Web, é de uma importância essencial que as aplicações possam aceder aos recursos na Internet: elas deverão ser capazes de obter os ficheiros a partir de um servidor Web, gravar os ficheiros num servidor FTP ou ler as mensagens de e-mail de um servidor Web. Normalmente, a capacidade de aceder aos ficheiros, independentemente da sua localização é chamada de transparência na rede. - -No passado, foram implementadas aproximações diferentes para estes objectivos. O sistema de ficheiros antigo NFS é uma tentativa de implementar a transparência de rede ao nível da API do POSIX. Embora esta aproximação funcione bastante bem nas redes locais e próximas, não é escalável para os recursos cujo acesso não seja fiável ou seja lento. Aqui, a assincronização é importante. Enquanto você está à espera do seu navegador Web para transferir uma página, a interface do utilizador não deverá bloquear. Da mesma forma, o início do desenho da página não deverá começar somente quando a página estiver disponível por completo mas sim actualizar-se regulamente à medida que os dados vão chegando. - -Nas bibliotecas do KDE, a transparência da rede está implementada na API do TDEIO. O conceito central desta arquitectura é a tarefa de E/S. Uma tarefa pode copiar ou remover ficheiros, entre outras coisas. Logo que uma tarefa seja inicia, ela fica em segundo plano e não bloqueia a aplicação. Todas as comunicações da tarefa para a aplicação - como a entrega dos dados ou a informação de progresso - é feita de forma integrada com o ciclo de eventos do Qt. - -A operação em segundo-plano é conseguida com o arranque de ioslaves para efectuar certas tarefas. Os 'ioslaves' são iniciados como processos separados e comunicam através de 'sockets' do domínio UNIX. Desta forma, não é necessário nenhum suporte de multi-tarefa e os 'slaves' instáveis não poderão estoirar as aplicações que os usam. - -As localizações dos ficheiros são indicadas pelos URLs que são usados em grande escala. Mas, no KDE, os URLs não só se expandem à gama de ficheiros endereçáveis para além do sistema de ficheiros local. Também funciona na direcção oposta - p.ex. você poderá navegar nos pacotes TAR. Isto é conseguido com os URLs aninhados. Por exemplo, um ficheiro num pacote TAR num servidor HTTP poderá ter o URL - -http://www.xpto.pt/~ze/artigo.tgz#tar:/documento.tex +Introdução + +Na era na World Wide Web, é de uma importância essencial que as aplicações possam aceder aos recursos na Internet: elas deverão ser capazes de obter os ficheiros a partir de um servidor Web, gravar os ficheiros num servidor FTP ou ler as mensagens de e-mail de um servidor Web. Normalmente, a capacidade de aceder aos ficheiros, independentemente da sua localização é chamada de transparência na rede. + +No passado, foram implementadas aproximações diferentes para estes objectivos. O sistema de ficheiros antigo NFS é uma tentativa de implementar a transparência de rede ao nível da API do POSIX. Embora esta aproximação funcione bastante bem nas redes locais e próximas, não é escalável para os recursos cujo acesso não seja fiável ou seja lento. Aqui, a assincronização é importante. Enquanto você está à espera do seu navegador Web para transferir uma página, a interface do utilizador não deverá bloquear. Da mesma forma, o início do desenho da página não deverá começar somente quando a página estiver disponível por completo mas sim actualizar-se regulamente à medida que os dados vão chegando. + +Nas bibliotecas do KDE, a transparência da rede está implementada na API do TDEIO. O conceito central desta arquitectura é a tarefa de E/S. Uma tarefa pode copiar ou remover ficheiros, entre outras coisas. Logo que uma tarefa seja inicia, ela fica em segundo plano e não bloqueia a aplicação. Todas as comunicações da tarefa para a aplicação - como a entrega dos dados ou a informação de progresso - é feita de forma integrada com o ciclo de eventos do Qt. + +A operação em segundo-plano é conseguida com o arranque de ioslaves para efectuar certas tarefas. Os 'ioslaves' são iniciados como processos separados e comunicam através de 'sockets' do domínio UNIX. Desta forma, não é necessário nenhum suporte de multi-tarefa e os 'slaves' instáveis não poderão estoirar as aplicações que os usam. + +As localizações dos ficheiros são indicadas pelos URLs que são usados em grande escala. Mas, no KDE, os URLs não só se expandem à gama de ficheiros endereçáveis para além do sistema de ficheiros local. Também funciona na direcção oposta - p.ex. você poderá navegar nos pacotes TAR. Isto é conseguido com os URLs aninhados. Por exemplo, um ficheiro num pacote TAR num servidor HTTP poderá ter o URL + +http://www.xpto.pt/~ze/artigo.tgz#tar:/documento.tex -Usar o TDEIO +Usar o TDEIO -Na maioria dos casos, as tarefas são criadas ao invocar as funções no espaço de nomes do TDEIO. Estas funções recebem um ou dois URLs como argumentos e possivelmente outros parâmetros necessários. Quando a tarefa terminar, ela emite o 'signal' result(TDEIO::Job*). Depois de este 'signal' ter sido emitido, a tarefa elimina-se a si própria. Deste modo, um caso de uso típico poderia ser semelhante ao seguinte: +Na maioria dos casos, as tarefas são criadas ao invocar as funções no espaço de nomes do TDEIO. Estas funções recebem um ou dois URLs como argumentos e possivelmente outros parâmetros necessários. Quando a tarefa terminar, ela emite o 'signal' result(TDEIO::Job*). Depois de este 'signal' ter sido emitido, a tarefa elimina-se a si própria. Deste modo, um caso de uso típico poderia ser semelhante ao seguinte: -void ClasseXpto::criarDirectoria() +void ClasseXpto::criarDirectoria() { SimpleJob *tarefa = TDEIO::mkdir(KURL("file:/home/ze/dir_tdeio")); connect( tarefa, SIGNAL(result(TDEIO::Job*)), @@ -2921,174 +1521,82 @@ void ClasseXpto::resultadoMkdir(TDEIO::Job *tarefa) } -Dependendo do tipo de tarefa, você poder-se-á também ligar a outros 'signals'. +Dependendo do tipo de tarefa, você poder-se-á também ligar a outros 'signals'. -Aqui está uma ideia geral das funções possíveis: +Aqui está uma ideia geral das funções possíveis: -TDEIO::mkdir(const KURL &url, int permissao) -Criar uma directoria, com algumas permissões opcionais. +TDEIO::mkdir(const KURL &url, int permissao) +Criar uma directoria, com algumas permissões opcionais. -TDEIO::rmdir(const KURL &url) -Remove uma directoria. +TDEIO::rmdir(const KURL &url) +Remove uma directoria. -TDEIO::chmod(const KURL &url, int permissoes) -Muda as permissões de um ficheiro. +TDEIO::chmod(const KURL &url, int permissoes) +Muda as permissões de um ficheiro. -TDEIO::rename(const KURL &origem, const KURL &destino, bool sobrepor) -Muda o nome de um ficheiro. +TDEIO::rename(const KURL &origem, const KURL &destino, bool sobrepor) +Muda o nome de um ficheiro. -TDEIO::symlink(const QString &alvo, const KURL &destino, bool sobrepor, bool mostrarProgresso) -Cria uma ligação simbólica. +TDEIO::symlink(const QString &alvo, const KURL &destino, bool sobrepor, bool mostrarProgresso) +Cria uma ligação simbólica. -TDEIO::stat(const KURL &url, bool mostrarProgresso) -Descobre certas informações sobre o ficheiro, como o tamanho, a data de modificação e as permissões. A informação pode ser obtida a partir do TDEIO::StatJob::statResult() depois de a tarefa terminar. +TDEIO::stat(const KURL &url, bool mostrarProgresso) +Descobre certas informações sobre o ficheiro, como o tamanho, a data de modificação e as permissões. A informação pode ser obtida a partir do TDEIO::StatJob::statResult() depois de a tarefa terminar. -TDEIO::get(const KURL &url, bool reler, bool mostrarProgresso) -Transfere os dados de um dado URL. +TDEIO::get(const KURL &url, bool reler, bool mostrarProgresso) +Transfere os dados de um dado URL. -TDEIO::put(const KURL &url, int permissoes, bool sobrepor, bool continuar, bool mostrarProgresso) -Transfere os dados para um dado URL. +TDEIO::put(const KURL &url, int permissoes, bool sobrepor, bool continuar, bool mostrarProgresso) +Transfere os dados para um dado URL. -TDEIO::http_post(const KURL &url, const QByteArray &dados, bool mostrarProgresso) -Envia os dados. É específico do HTTP. +TDEIO::http_post(const KURL &url, const QByteArray &dados, bool mostrarProgresso) +Envia os dados. É específico do HTTP. -TDEIO::mimetype(const KURL &url, bool mostrarProgresso) -Tenta descobrir o tipo MIME do URL. O tipo poderá ser obtido a partir do TDEIO::MimetypeJob::mimetype() depois de a tarefa terminar. +TDEIO::mimetype(const KURL &url, bool mostrarProgresso) +Tenta descobrir o tipo MIME do URL. O tipo poderá ser obtido a partir do TDEIO::MimetypeJob::mimetype() depois de a tarefa terminar. -TDEIO::file_copy(const KURL &origem, const KURL &destino, int permissoes, bool sobrepor, bool continuar, bool mostrarProgresso) -Copia um único ficheiro. +TDEIO::file_copy(const KURL &origem, const KURL &destino, int permissoes, bool sobrepor, bool continuar, bool mostrarProgresso) +Copia um único ficheiro. -TDEIO::file_move(const KURL &origem, const KURL &destino, int permissoes, bool sobrepor, bool continuar, bool mostrarProgresso) -Muda o nome ou move um único ficheiro. +TDEIO::file_move(const KURL &origem, const KURL &destino, int permissoes, bool sobrepor, bool continuar, bool mostrarProgresso) +Muda o nome ou move um único ficheiro. -TDEIO::file_delete(const KURL &url, bool mostrarProgresso) -Apaga um único ficheiro. +TDEIO::file_delete(const KURL &url, bool mostrarProgresso) +Apaga um único ficheiro. -TDEIO::listDir(const KURL &url, bool mostrarProgresso) -Lista o conteúdo de uma dada directoria. De cada vez que alguns itens passam a ser conhecidos, o 'signal' TDEIO::ListJob::entries() é emitido. +TDEIO::listDir(const KURL &url, bool mostrarProgresso) +Lista o conteúdo de uma dada directoria. De cada vez que alguns itens passam a ser conhecidos, o 'signal' TDEIO::ListJob::entries() é emitido. -TDEIO::listRecursive(const KURL &url, bool mostrarProgresso) -Semelhante à função listDir(), só que esta função é recursiva. +TDEIO::listRecursive(const KURL &url, bool mostrarProgresso) +Semelhante à função listDir(), só que esta função é recursiva. -TDEIO::copy(const KURL &origem, const KURL &destino, bool mostrarProgresso) -Copia um ficheiro ou directoria. As directorias são copiadas de forma recursiva. +TDEIO::copy(const KURL &origem, const KURL &destino, bool mostrarProgresso) +Copia um ficheiro ou directoria. As directorias são copiadas de forma recursiva. -TDEIO::move(const KURL &origem, const KURL &destino, bool mostrarProgresso) -Move ou muda o nome de um ficheiro ou directoria. +TDEIO::move(const KURL &origem, const KURL &destino, bool mostrarProgresso) +Move ou muda o nome de um ficheiro ou directoria. -TDEIO::del(const KURL &src, bool shred, bool showProgressInfo) -Apaga um ficheiro ou directoria. +TDEIO::del(const KURL &src, bool shred, bool showProgressInfo) +Apaga um ficheiro ou directoria. @@ -3097,128 +1605,63 @@ void ClasseXpto::resultadoMkdir(TDEIO::Job *tarefa) -Itens da directoria +Itens da directoria -Tanto as tarefas TDEIO::stat() como a TDEIO::listDir() devolvem os seus resultados como um tipo UDSEntry e UDSEntryList respectivamente. A última está definida como sendo um QValueList<UDSEntry>. O acrónimo UDS significa "Universal directory service" (serviço de directório universal). O princípio está em que o item da directoria só contém a informação que um 'ioslave' poderá fornecer, nada mais. Por exemplo, o 'slave' de HTTP não fornece nenhuma informação sobre as permissões de acesso ou os donos dos ficheiros. Em vez disso, uma UDSEntry é uma lista de UDSAtoms. Cada átomo contém um item informativo específico. Ele consiste num tipo armazenado no 'm_uds' e num valor inteiro no 'm_long' ou um valor de texto no 'm_str', dependendo do tipo. +Tanto as tarefas TDEIO::stat() como a TDEIO::listDir() devolvem os seus resultados como um tipo UDSEntry e UDSEntryList respectivamente. A última está definida como sendo um QValueList<UDSEntry>. O acrónimo UDS significa "Universal directory service" (serviço de directório universal). O princípio está em que o item da directoria só contém a informação que um 'ioslave' poderá fornecer, nada mais. Por exemplo, o 'slave' de HTTP não fornece nenhuma informação sobre as permissões de acesso ou os donos dos ficheiros. Em vez disso, uma UDSEntry é uma lista de UDSAtoms. Cada átomo contém um item informativo específico. Ele consiste num tipo armazenado no 'm_uds' e num valor inteiro no 'm_long' ou um valor de texto no 'm_str', dependendo do tipo. -Os seguintes tipos estão actualmente definidos: +Os seguintes tipos estão actualmente definidos: -UDS_SIZE (inteiro) - O tamanho do ficheiro. - -UDS_USER (texto) - O utilizador que possui o ficheiro. - -UDS_GROUP (texto) - O grupo que possui o ficheiro. - -UDS_NAME (texto) - O nome do ficheiro. - -UDS_ACCESS (inteiro) - As permissões sobre o ficheiro, como é guardado p.ex. pela função da 'libc' stat() no campo 'st_mode'. - -UDS_FILE_TYPE (inteiro) - O tipo do ficheiro, tal como é, p.ex., registado pelo stat() no campo 'st_mode'. Como tal, você poderá usar as macros normais da 'libc' como a S_ISDIR para testar este valor .Repare que os dados fornecidos pelos 'ioslaves' correspondem ao stat(), não ao lstat(), i.e., no caso das ligações simbólicas, o tipo aqui mencionado é o tipo do ficheiro apontado pela ligação, não a ligação em si. - -UDS_LINK_DEST (texto) - No caso de uma ligação simbólica, o nome do ficheiro para onde esta ligação aponta. - -UDS_MODIFICATION_TIME (inteiro) - A hora (como no tipo 'time_t') em que o ficheiro foi modificado da última vez, como é p.ex. registado pelo stat() no campo 'st_mtime'. - -UDS_ACCESS_TIME (inteiro) - A hora (como no tipo 'time_t') em que o ficheiro foi acedido da última vez, como é p.ex. registado pelo stat() no campo 'st_atime'. - -UDS_CREATION_TIME (inteiro) - A hora (como no tipo 'time_t') em que o ficheiro foi criado, como é p.ex. registado pelo stat() no campo 'st_ctime'. - -UDS_URL (texto) - Fornece um URL do ficheiro, se não for simplesmente a concatenação do URL da directoria e o nome do ficheiro. - -UDS_MIME_TYPE (texto) - tipo MIME do ficheiro - -UDS_GUESSED_MIME_TYPE (texto) - o tipo MIME do ficheiro, tal como é determinado pelo 'slave'. A diferença em relação ao tipo anterior é que o que é fornecido aqui não deverá ser considerado fiável (porque determiná-lo de forma fiável será demasiado dispendioso). Por exemplo, a classe KRun verifica explicitamente o tipo MIME se não tiver nenhuma informação fiável. +UDS_SIZE (inteiro) - O tamanho do ficheiro. + +UDS_USER (texto) - O utilizador que possui o ficheiro. + +UDS_GROUP (texto) - O grupo que possui o ficheiro. + +UDS_NAME (texto) - O nome do ficheiro. + +UDS_ACCESS (inteiro) - As permissões sobre o ficheiro, como é guardado p.ex. pela função da 'libc' stat() no campo 'st_mode'. + +UDS_FILE_TYPE (inteiro) - O tipo do ficheiro, tal como é, p.ex., registado pelo stat() no campo 'st_mode'. Como tal, você poderá usar as macros normais da 'libc' como a S_ISDIR para testar este valor .Repare que os dados fornecidos pelos 'ioslaves' correspondem ao stat(), não ao lstat(), i.e., no caso das ligações simbólicas, o tipo aqui mencionado é o tipo do ficheiro apontado pela ligação, não a ligação em si. + +UDS_LINK_DEST (texto) - No caso de uma ligação simbólica, o nome do ficheiro para onde esta ligação aponta. + +UDS_MODIFICATION_TIME (inteiro) - A hora (como no tipo 'time_t') em que o ficheiro foi modificado da última vez, como é p.ex. registado pelo stat() no campo 'st_mtime'. + +UDS_ACCESS_TIME (inteiro) - A hora (como no tipo 'time_t') em que o ficheiro foi acedido da última vez, como é p.ex. registado pelo stat() no campo 'st_atime'. + +UDS_CREATION_TIME (inteiro) - A hora (como no tipo 'time_t') em que o ficheiro foi criado, como é p.ex. registado pelo stat() no campo 'st_ctime'. + +UDS_URL (texto) - Fornece um URL do ficheiro, se não for simplesmente a concatenação do URL da directoria e o nome do ficheiro. + +UDS_MIME_TYPE (texto) - tipo MIME do ficheiro + +UDS_GUESSED_MIME_TYPE (texto) - o tipo MIME do ficheiro, tal como é determinado pelo 'slave'. A diferença em relação ao tipo anterior é que o que é fornecido aqui não deverá ser considerado fiável (porque determiná-lo de forma fiável será demasiado dispendioso). Por exemplo, a classe KRun verifica explicitamente o tipo MIME se não tiver nenhuma informação fiável. -Ainda que a forma de armazenar as informações sobre os ficheiros num UDSEntry seja flexível e prático do ponto de vista dos 'ioslaves', é uma confusão para ser usado pelo programador da aplicação. Por exemplo, para saber qual é o tipo MIME do ficheiro, você teria de iterar por todos os átomos e testar se o m_uds era o UDS_MIME_TYPE. Felizmente, existe uma API que é bastante mais simples de usar: a classe KFileItem. +Ainda que a forma de armazenar as informações sobre os ficheiros num UDSEntry seja flexível e prático do ponto de vista dos 'ioslaves', é uma confusão para ser usado pelo programador da aplicação. Por exemplo, para saber qual é o tipo MIME do ficheiro, você teria de iterar por todos os átomos e testar se o m_uds era o UDS_MIME_TYPE. Felizmente, existe uma API que é bastante mais simples de usar: a classe KFileItem. -Utilização síncrona +Utilização síncrona -Normalmente, a API síncrona do TDEIO é demasiado complexa de usar e, como tal, a implementação de uma assincronização completa não é uma prioridade. Por exemplo, num programa que só consiga lidar com um ficheiro de cada vez, não há muito a fazer enquanto o programa está a transferir um ficheiro, de qualquer forma. Para esses casos simples, existe uma API muito mais simples sob a forma de funções estáticas no TDEIO::NetAccess. Por exemplo, para poder copiar um ficheiro, use +Normalmente, a API síncrona do TDEIO é demasiado complexa de usar e, como tal, a implementação de uma assincronização completa não é uma prioridade. Por exemplo, num programa que só consiga lidar com um ficheiro de cada vez, não há muito a fazer enquanto o programa está a transferir um ficheiro, de qualquer forma. Para esses casos simples, existe uma API muito mais simples sob a forma de funções estáticas no TDEIO::NetAccess. Por exemplo, para poder copiar um ficheiro, use -KURL origem, destino; +KURL origem, destino; source = ...; target = ... TDEIO::NetAccess::copy(origem, destino); -A função irá regressar depois de o processo de cópia ter terminado por completo. De qualquer forma, este método fornece uma janela de progresso e certifica-se que os processos da aplicação actualizam os eventos. - -Uma combinação particularmente interessante de funções é a download() em conjunto com a removeTempFile(). A primeira obtém um ficheiro a partir de um dado URL e guarda-o num ficheiro temporário com um nome único. O nome é guardado no segundo argumento. Se o URL for local, o ficheiro não é transferido e, em vez disso, o segundo argumento passa a ser o nome do ficheiro local. A função removeTempFile() apaga o ficheiro indicado pelo seu argumento, se o ficheiro for o resultado de uma transferência anterior. Se não for o caso, não faz nada. Desta forma, uma forma muito simples de carregar os ficheiros, independentemente da sua localização é o pedaço de código a seguir: - -KURL url; +A função irá regressar depois de o processo de cópia ter terminado por completo. De qualquer forma, este método fornece uma janela de progresso e certifica-se que os processos da aplicação actualizam os eventos. + +Uma combinação particularmente interessante de funções é a download() em conjunto com a removeTempFile(). A primeira obtém um ficheiro a partir de um dado URL e guarda-o num ficheiro temporário com um nome único. O nome é guardado no segundo argumento. Se o URL for local, o ficheiro não é transferido e, em vez disso, o segundo argumento passa a ser o nome do ficheiro local. A função removeTempFile() apaga o ficheiro indicado pelo seu argumento, se o ficheiro for o resultado de uma transferência anterior. Se não for o caso, não faz nada. Desta forma, uma forma muito simples de carregar os ficheiros, independentemente da sua localização é o pedaço de código a seguir: + +KURL url; url = ...; QString ficheiroTemporario; if (TDEIO::NetAccess::download(url, ficheiroTemporario) { @@ -3231,14 +1674,11 @@ if (TDEIO::NetAccess::download(url, ficheiroTemporario) { -Meta-dados +Meta-dados -Como pode ser visto em cima, a interface para as tarefas de E/S é bastante abstracta e não considera nenhuma troca de informação entre a aplicação e o 'IO slave', o qual é específico do protocolo. Isto nem sempre é apropriado. Por exemplo, você poderá querer dar certos parâmetros ao 'slave' de HTTP para controlar o comportamento da sua 'cache' ou para enviar um conjunto de 'cookies' com o pedido. Para esse fim, o conceito de meta-dados foi introduzido. Quando for criada uma tarefa, você poderá configurá-la se lhe adicionar meta-dados. Cada item de meta-dados consiste num par chave/valor. Por exemplo, para evitar que o 'slave' de HTTP carregue a página Web da sua 'cache', você pode usar: +Como pode ser visto em cima, a interface para as tarefas de E/S é bastante abstracta e não considera nenhuma troca de informação entre a aplicação e o 'IO slave', o qual é específico do protocolo. Isto nem sempre é apropriado. Por exemplo, você poderá querer dar certos parâmetros ao 'slave' de HTTP para controlar o comportamento da sua 'cache' ou para enviar um conjunto de 'cookies' com o pedido. Para esse fim, o conceito de meta-dados foi introduzido. Quando for criada uma tarefa, você poderá configurá-la se lhe adicionar meta-dados. Cada item de meta-dados consiste num par chave/valor. Por exemplo, para evitar que o 'slave' de HTTP carregue a página Web da sua 'cache', você pode usar: -void ClasseXpto::relerPagina() +void ClasseXpto::relerPagina() { KURL url("http://www.kdevelop.org/index.html"); TDEIO::TransferJob *tarefa = TDEIO::get(url, true, false); @@ -3247,15 +1687,9 @@ if (TDEIO::NetAccess::download(url, ficheiroTemporario) { } -A mesma técnica é usada na outra direcção, i.e., para a comunicação do 'slave' para a aplicação. O método Job::queryMetaData() pede o valor de uma certa chave indicada pelo 'slave'. Para o 'slave' de HTTP, um desses exemplos é a chave "modified" (modificado), que contém uma (representação em texto da) data em que a página Web foi modificada da última vez. Um exemplo de como você pode usar isto é o seguinte: +A mesma técnica é usada na outra direcção, i.e., para a comunicação do 'slave' para a aplicação. O método Job::queryMetaData() pede o valor de uma certa chave indicada pelo 'slave'. Para o 'slave' de HTTP, um desses exemplos é a chave "modified" (modificado), que contém uma (representação em texto da) data em que a página Web foi modificada da última vez. Um exemplo de como você pode usar isto é o seguinte: -void ClasseXpto::mostrarDataModificacao() +void ClasseXpto::mostrarDataModificacao() { KURL url("http://developer.kde.org/documentation/kde2arch/index.html"); TDEIO::TransferJob *tarefa = TDEIO::get(url, true, false); @@ -3279,38 +1713,24 @@ void ClasseXpto::transferirResultado(TDEIO::Job *tarefa) -Escalonamento +Escalonamento -Ao usar a API do TDEIO, você normalmente não tem de lidar com os detalhes de arranque dos 'IO slaves' e da comunicação com eles. O caso de uso normal é iniciar uma tarefa e, com alguns parâmetros, tratar os 'signals' que esta emite. +Ao usar a API do TDEIO, você normalmente não tem de lidar com os detalhes de arranque dos 'IO slaves' e da comunicação com eles. O caso de uso normal é iniciar uma tarefa e, com alguns parâmetros, tratar os 'signals' que esta emite. -Nos bastidores, o cenário é bastante mais complicado. Quando você cria uma tarefa, esta é posta numa fila. Quando a aplicação regressa ao ciclo de eventos, o TDEIO reserva processos de 'slaves' para as tarefas na fila. Para as primeiras tarefas que sejam iniciadas, isto é trivial: um 'IO slave' para o protocolo corresponde é iniciado. Contudo, depois de a tarefa (como a transferência de um servidor de HTTP) ter terminado, não é imediatamente morta. Em vez disso, é colocada num grupo de 'slaves' inactivos e é morta ao fim de um dado período de inactividade (normalmente 3 minutos). Se surgir um novo pedido para o mesmo protocolo e máquina, o 'slave' é reutilizado. A vantagem óbvia é que, para uma série de tarefas para a mesma máquina, o custo da criação de novos processos e da passagem por um processo de autenticação é poupado. +Nos bastidores, o cenário é bastante mais complicado. Quando você cria uma tarefa, esta é posta numa fila. Quando a aplicação regressa ao ciclo de eventos, o TDEIO reserva processos de 'slaves' para as tarefas na fila. Para as primeiras tarefas que sejam iniciadas, isto é trivial: um 'IO slave' para o protocolo corresponde é iniciado. Contudo, depois de a tarefa (como a transferência de um servidor de HTTP) ter terminado, não é imediatamente morta. Em vez disso, é colocada num grupo de 'slaves' inactivos e é morta ao fim de um dado período de inactividade (normalmente 3 minutos). Se surgir um novo pedido para o mesmo protocolo e máquina, o 'slave' é reutilizado. A vantagem óbvia é que, para uma série de tarefas para a mesma máquina, o custo da criação de novos processos e da passagem por um processo de autenticação é poupado. -Claro que a reutilização só é possível quando o 'slave' existente já tiver terminado a sua tarefa anterior. Sempre que chega um novo pedido enquanto um 'slave' existente está ainda a correr, é iniciado um novo processo para ser utilizado. Na utilização da API nos exemplos acima, não existe nenhuma limitação para criar novos processos de 'slaves': se você iniciar uma série consecutiva de transferências para 20 ficheiros, então o TDEIO irá iniciar 20 processos de 'slaves'. Este esquema de atribuição de 'slaves' a tarefas é chamado de directo. Não é sempre o esquema mais apropriado, dado que poderá necessitar de bastante memória e poderá colocar uma carga elevada tanto no cliente como no servidor. +Claro que a reutilização só é possível quando o 'slave' existente já tiver terminado a sua tarefa anterior. Sempre que chega um novo pedido enquanto um 'slave' existente está ainda a correr, é iniciado um novo processo para ser utilizado. Na utilização da API nos exemplos acima, não existe nenhuma limitação para criar novos processos de 'slaves': se você iniciar uma série consecutiva de transferências para 20 ficheiros, então o TDEIO irá iniciar 20 processos de 'slaves'. Este esquema de atribuição de 'slaves' a tarefas é chamado de directo. Não é sempre o esquema mais apropriado, dado que poderá necessitar de bastante memória e poderá colocar uma carga elevada tanto no cliente como no servidor. -Por isso, existe uma forma diferente. Você poderá escalonar as tarefas. Se o fizer, somente um número limitado (de momento 3) de processos de 'slaves' para um dado protocolo serão criados. Se você criar mais tarefas que isso, elas serão colocadas numa fila e são processadas quando um processo de um 'slave' ficar inactivo. Isto é feito da seguinte forma: +Por isso, existe uma forma diferente. Você poderá escalonar as tarefas. Se o fizer, somente um número limitado (de momento 3) de processos de 'slaves' para um dado protocolo serão criados. Se você criar mais tarefas que isso, elas serão colocadas numa fila e são processadas quando um processo de um 'slave' ficar inactivo. Isto é feito da seguinte forma: -KURL url("http://developer.kde.org/documentation/kde2arch/index.html"); +KURL url("http://developer.kde.org/documentation/kde2arch/index.html"); TDEIO::TransferJob *tarefa = TDEIO::get(url, true, false); TDEIO::Scheduler::scheduleJob(tarefa); -Uma terceira possibilidade é orientar à ligação. Por exemplo, no caso do 'slave' de IMAP, não faz nenhum sentido lançar vários processos para o mesmo servidor. Só uma ligação de IMAP de cada vez é que deverá ser permitida. Neste caso, a aplicação deverá lidar explicitamente com a noção de um 'slave'. Terá de libertar um 'slave' para uma determinada ligação e então atribuir todas as tarefas que deverão ir pela mesma ligação ao mesmo 'slave'. Isto poderá ser conseguido facilmente com a utilização do TDEIO::Scheduler: +Uma terceira possibilidade é orientar à ligação. Por exemplo, no caso do 'slave' de IMAP, não faz nenhum sentido lançar vários processos para o mesmo servidor. Só uma ligação de IMAP de cada vez é que deverá ser permitida. Neste caso, a aplicação deverá lidar explicitamente com a noção de um 'slave'. Terá de libertar um 'slave' para uma determinada ligação e então atribuir todas as tarefas que deverão ir pela mesma ligação ao mesmo 'slave'. Isto poderá ser conseguido facilmente com a utilização do TDEIO::Scheduler: -KURL urlBase("imap://bernd@albert.physik.hu-berlin.de"); +KURL urlBase("imap://bernd@albert.physik.hu-berlin.de"); TDEIO::Slave *slave = TDEIO::Scheduler::getConnectedSlave(urlBase); TDEIO::TransferJob *tarefa1 = TDEIO::get(KURL(urlBase, "/INBOX;UID=79374")); @@ -3324,30 +1744,24 @@ TDEIO::Scheduler::assignJobToSlave(slave, tarefa2); TDEIO::Scheduler::disconnectSlave(slave); -Você só poderá desligar o 'slave' depois de todas as tarefas atribuídas a ela terem terminado de forma garantida. +Você só poderá desligar o 'slave' depois de todas as tarefas atribuídas a ela terem terminado de forma garantida. -Definir um 'ioslave' +Definir um 'ioslave' -Na parte seguinte iremos discutir como é que você poderá adicionar um novo 'ioslave' ao sistema. Em analogia aos serviços, os 'ioslaves' novos são publicados no sistema, instalando para tal um pequeno ficheiro de configuração. O seguinte excerto do Makefile.am instala o protocolo FTP: +Na parte seguinte iremos discutir como é que você poderá adicionar um novo 'ioslave' ao sistema. Em analogia aos serviços, os 'ioslaves' novos são publicados no sistema, instalando para tal um pequeno ficheiro de configuração. O seguinte excerto do Makefile.am instala o protocolo FTP: -protocoldir = $(kde_servicesdir) +protocoldir = $(kde_servicesdir) protocol_DATA = ftp.protocol EXTRA_DIST = $(mime_DATA) -O conteúdo do ficheiro 'ftp.protocol' é o seguinte: +O conteúdo do ficheiro 'ftp.protocol' é o seguinte: -[Protocol] +[Protocol] exec=tdeio_ftp protocol=ftp input=none @@ -3360,34 +1774,15 @@ deleting=true Icon=ftp -O item "protocol" define qual o protocolo pelo qual este 'slave' é responsável. O "exec" é (ao contrário do que estaria à espera) o nome da biblioteca que implementa o 'slave'. Quando o 'slave' for suposto arrancar, o executável "tdeinit" é iniciado, o qual por sua vez arranca esta biblioteca no seu espaço de endereçamento. Por isso, na prática, você poderá pensar no 'slave' em execução como um processo separado, ainda que seja implementado como uma biblioteca. A vantagem deste mecanismo é que poupa bastante memória e reduz o tempo necessário pelo editor de ligações durante a execução. - -As linhas "input" e "output" não são usadas de momento. - -As linhas restantes do ficheiro .protocol definem quais as capacidades que o 'slave' tem. De um modo geral, as funcionalidades que um 'slave' tem de implementar são muito mais simples do que as funcionalidades que a API do TDEIO oferece à aplicação. A razão para tal é que as tarefas complexas são escalonadas para um conjunto de sub-tarefas. Por exemplo, para poder listar uma directoria recursivamente, terá de ser iniciada uma tarefa para a directoria de topo. Depois, para cada subdirectoria indicada, são criadas novas sub-tarefas. Um escalonador no TDEIO certifica-se que não estão demasiadas tarefas activas ao mesmo tempo. De forma semelhante, para poder copiar um ficheiro num protocolo que não suporte a cópia directa (como o protocolo ftp:), o TDEIO poderá ler o ficheiro de origem e então escrever os dados para o ficheiro de destino. Para isto funcionar, o .protocol precisa de publicar as acções que o seu 'slave' suporta. - -Dado que os 'slaves' são carregados como bibliotecas dinâmicas, mas constituem em si programas autónomos, a sua plataforma de código parece ligeiramente diferente dos 'plugins' normais das bibliotecas dinâmicas. A função que é invocada para iniciar o 'slave' chama-se kdemain(). Esta função faz algumas inicializações e vai então para o ciclo de eventos, onde fica à espera de pedidos da aplicação que a usa. Isto parece-se com o seguinte: - -extern "C" { int kdemain(int argc, char **argv); } +O item "protocol" define qual o protocolo pelo qual este 'slave' é responsável. O "exec" é (ao contrário do que estaria à espera) o nome da biblioteca que implementa o 'slave'. Quando o 'slave' for suposto arrancar, o executável "tdeinit" é iniciado, o qual por sua vez arranca esta biblioteca no seu espaço de endereçamento. Por isso, na prática, você poderá pensar no 'slave' em execução como um processo separado, ainda que seja implementado como uma biblioteca. A vantagem deste mecanismo é que poupa bastante memória e reduz o tempo necessário pelo editor de ligações durante a execução. + +As linhas "input" e "output" não são usadas de momento. + +As linhas restantes do ficheiro .protocol definem quais as capacidades que o 'slave' tem. De um modo geral, as funcionalidades que um 'slave' tem de implementar são muito mais simples do que as funcionalidades que a API do TDEIO oferece à aplicação. A razão para tal é que as tarefas complexas são escalonadas para um conjunto de sub-tarefas. Por exemplo, para poder listar uma directoria recursivamente, terá de ser iniciada uma tarefa para a directoria de topo. Depois, para cada subdirectoria indicada, são criadas novas sub-tarefas. Um escalonador no TDEIO certifica-se que não estão demasiadas tarefas activas ao mesmo tempo. De forma semelhante, para poder copiar um ficheiro num protocolo que não suporte a cópia directa (como o protocolo ftp:), o TDEIO poderá ler o ficheiro de origem e então escrever os dados para o ficheiro de destino. Para isto funcionar, o .protocol precisa de publicar as acções que o seu 'slave' suporta. + +Dado que os 'slaves' são carregados como bibliotecas dinâmicas, mas constituem em si programas autónomos, a sua plataforma de código parece ligeiramente diferente dos 'plugins' normais das bibliotecas dinâmicas. A função que é invocada para iniciar o 'slave' chama-se kdemain(). Esta função faz algumas inicializações e vai então para o ciclo de eventos, onde fica à espera de pedidos da aplicação que a usa. Isto parece-se com o seguinte: + +extern "C" { int kdemain(int argc, char **argv); } int kdemain(int argc, char **argv) { @@ -3411,235 +1806,78 @@ int kdemain(int argc, char **argv) -Implementar um 'ioslave' - -Os 'slaves' são implementados como sub-classes da TDEIO::SlaveBase (a FtpSlave no exemplo acima). Como tal, as acções listadas no ficheiro .protocol correspondem a certas funções virtuais no TDEIO::SlaveBase que a implementação do 'slave' precisa de reimplementar. Aqui está uma lista das acções possíveis e das funções virtuais correspondentes: +Implementar um 'ioslave' + +Os 'slaves' são implementados como sub-classes da TDEIO::SlaveBase (a FtpSlave no exemplo acima). Como tal, as acções listadas no ficheiro .protocol correspondem a certas funções virtuais no TDEIO::SlaveBase que a implementação do 'slave' precisa de reimplementar. Aqui está uma lista das acções possíveis e das funções virtuais correspondentes: -leitura - Lê os dados de um URL -void get(const KURL &url) - -escrita - Escreve os dados num URL e cria o ficheiro se ainda não existir nenhum. -void put(const KURL &url, int permissoes, bool sobrepor, bool continuar) - -mudança de nome - Muda o nome de um ficheiro. -void rename(const KURL &origem, const KURL &destino, bool sobrepor) - -remoção - Remove um ficheiro ou directoria. -void del(const KURL &url, bool eUmFicheiro) - -listagem - Mostra o conteúdo de uma directoria. -void listDir(const KURL &url) - -makedir - Cria uma directoria. -void mkdir(const KURL &url, int permissoes) +leitura - Lê os dados de um URL +void get(const KURL &url) + +escrita - Escreve os dados num URL e cria o ficheiro se ainda não existir nenhum. +void put(const KURL &url, int permissoes, bool sobrepor, bool continuar) + +mudança de nome - Muda o nome de um ficheiro. +void rename(const KURL &origem, const KURL &destino, bool sobrepor) + +remoção - Remove um ficheiro ou directoria. +void del(const KURL &url, bool eUmFicheiro) + +listagem - Mostra o conteúdo de uma directoria. +void listDir(const KURL &url) + +makedir - Cria uma directoria. +void mkdir(const KURL &url, int permissoes) -Adicionalmente, existem funções que podem ser implementadas de novo e que não estão listadas no ficheiro .protocol. Para essas operações, o TDEIO determina automaticamente se elas são suportadas ou não (i.e., se a implementação por omissão devolve um erro). +Adicionalmente, existem funções que podem ser implementadas de novo e que não estão listadas no ficheiro .protocol. Para essas operações, o TDEIO determina automaticamente se elas são suportadas ou não (i.e., se a implementação por omissão devolve um erro). -Fornece dados sobre um ficheiro, de forma semelhante à função do C stat(). -void stat(const KURL &url) - -Muda as permissões de acesso de um ficheiro. -void chmod(const KURL &url, int permissoes) - -Determina o tipo MIME de um ficheiro. -void mimetype(const KURL &url) - -Copia um ficheiro. -copy(const KURL &url, const KURL &destino, int permissoes, bool sobrepor) - -Cria uma ligação simbólica. -void symlink(const QString &alvo, const KURL &destino, bool sobrepor) +Fornece dados sobre um ficheiro, de forma semelhante à função do C stat(). +void stat(const KURL &url) + +Muda as permissões de acesso de um ficheiro. +void chmod(const KURL &url, int permissoes) + +Determina o tipo MIME de um ficheiro. +void mimetype(const KURL &url) + +Copia um ficheiro. +copy(const KURL &url, const KURL &destino, int permissoes, bool sobrepor) + +Cria uma ligação simbólica. +void symlink(const QString &alvo, const KURL &destino, bool sobrepor) -Todas estas implementações deverão terminar com uma de duas chamadas: Se a operação foi bem sucedida, deverão invocar o finished(). Se ocorreu um erro, o error() deverá ser invocado com um código de erro como primeiro argumento e um texto no segundo. Os códigos de erro possíveis estão listados no tipo enumerado TDEIO::Error. O segundo argumento é normalmente o URL em questão. É usado, p.ex., no TDEIO::Job::showErrorDialog() para parametrizar a mensagem de erro para o utilizador. - -Para os 'slaves' que correspondem aos protocolos de rede, poderá ser interessante reimplementar o método SlaveBase::setHost(). Isto é chamado para indicar ao processo do 'slave' qual a máquina e o porto, assim como o utilizador e a senha a usar. De um modo geral, os meta-dados definidos pela aplicação poderão ser questionados pelo SlaveBase::metaData(). Você poderá verificar a existência de meta-dados de uma determinada chave com o SlaveBase::hasMetaData(). +Todas estas implementações deverão terminar com uma de duas chamadas: Se a operação foi bem sucedida, deverão invocar o finished(). Se ocorreu um erro, o error() deverá ser invocado com um código de erro como primeiro argumento e um texto no segundo. Os códigos de erro possíveis estão listados no tipo enumerado TDEIO::Error. O segundo argumento é normalmente o URL em questão. É usado, p.ex., no TDEIO::Job::showErrorDialog() para parametrizar a mensagem de erro para o utilizador. + +Para os 'slaves' que correspondem aos protocolos de rede, poderá ser interessante reimplementar o método SlaveBase::setHost(). Isto é chamado para indicar ao processo do 'slave' qual a máquina e o porto, assim como o utilizador e a senha a usar. De um modo geral, os meta-dados definidos pela aplicação poderão ser questionados pelo SlaveBase::metaData(). Você poderá verificar a existência de meta-dados de uma determinada chave com o SlaveBase::hasMetaData(). -Comunicar de volta à aplicação +Comunicar de volta à aplicação -As várias acções implementadas num 'slave' precisam de uma forma qualquer para comunicar de volta para a aplicação, usando o processo do 'slave': +As várias acções implementadas num 'slave' precisam de uma forma qualquer para comunicar de volta para a aplicação, usando o processo do 'slave': -O get() envia blocos de dados. Isto é feito com o data(), que recebe um QByteArray como argumento. Claro que não precisa de enviar todos os dados de uma vez. Se enviar um ficheiro grande, invoque o data() com blocos de dados mais pequenos, de modo a que a aplicação os processe. Invoque o finished() quando a transferência terminar. +O get() envia blocos de dados. Isto é feito com o data(), que recebe um QByteArray como argumento. Claro que não precisa de enviar todos os dados de uma vez. Se enviar um ficheiro grande, invoque o data() com blocos de dados mais pequenos, de modo a que a aplicação os processe. Invoque o finished() quando a transferência terminar. -O listDir() devolve informações sobre os itens de uma directoria. Para esse fim, chame o listEntries() com um TDEIO::UDSEntryList como argumento. De forma análoga à do data(), você poderá invocá-lo várias vezes. Quando terminar, invoque o listEntry() com o segundo parâmetro igual a 'true' (verdadeiro). Você poderá também chamar o totalSize() para indicar o número total de itens da directoria, se forem conhecidos. - -O stat() devolve informações acerca de um ficheiro como o seu tamanho, o tipo MIME, etc. Essa informação está contida num TDEIO::UDSEntry, o qual será discutido em baixo. Use o statEntry() para enviar um desses itens para a aplicação. - -O mimetype() chama o mimeType() com um argumento de texto. - -O get() e o copy() podem querer fornecer informações de progresso. Isto é feito com os métodos totalSize(), processedSize(), speed(). O tamanho total e o tamanho processado são indicados em 'bytes', enquanto que a velocidade é dada em 'bytes' por segundo. - -Você poderá enviar pares arbitrários de chaves/valores de meta-dados com o setMetaData(). +O listDir() devolve informações sobre os itens de uma directoria. Para esse fim, chame o listEntries() com um TDEIO::UDSEntryList como argumento. De forma análoga à do data(), você poderá invocá-lo várias vezes. Quando terminar, invoque o listEntry() com o segundo parâmetro igual a 'true' (verdadeiro). Você poderá também chamar o totalSize() para indicar o número total de itens da directoria, se forem conhecidos. + +O stat() devolve informações acerca de um ficheiro como o seu tamanho, o tipo MIME, etc. Essa informação está contida num TDEIO::UDSEntry, o qual será discutido em baixo. Use o statEntry() para enviar um desses itens para a aplicação. + +O mimetype() chama o mimeType() com um argumento de texto. + +O get() e o copy() podem querer fornecer informações de progresso. Isto é feito com os métodos totalSize(), processedSize(), speed(). O tamanho total e o tamanho processado são indicados em 'bytes', enquanto que a velocidade é dada em 'bytes' por segundo. + +Você poderá enviar pares arbitrários de chaves/valores de meta-dados com o setMetaData(). @@ -3647,47 +1885,19 @@ int kdemain(int argc, char **argv) -Interagir com o utilizador +Interagir com o utilizador -Algumas das vezes, um 'slave' precisa de interagir com o utilizador. Os exemplos incluem as mensagens de informações, as janela de autenticação e as janelas de confirmação, sempre que um ficheiro está prestes a ser sobreposto. +Algumas das vezes, um 'slave' precisa de interagir com o utilizador. Os exemplos incluem as mensagens de informações, as janela de autenticação e as janelas de confirmação, sempre que um ficheiro está prestes a ser sobreposto. -infoMessage() - Isto é para fins de informação, como a mensagem "A obter dados de <máquina>" do 'slave' de HTTP, o qual é mostrado normalmente na barra de estado do programa. Do lado da aplicação, este método corresponde ao 'signal' TDEIO::Job::infoMessage(). - -warning() - Mostra um aviso numa janela com o KMessageBox::information(). Se ainda estiver aberta uma mensagem de uma invocação anterior do warning() do mesmo processo-filho, nada acontece. - -messageBox() - Este é mais rico que o método anterior. Permite-lhe abrir uma mensagem com um texto e um título, assim como alguns botões. Veja o tipo enumerado SlaveBase::MessageBoxType para mais referências. - -openPassDlg() - Abre uma janela onde se poderá indicar o nome do utilizador e a sua senha. +infoMessage() - Isto é para fins de informação, como a mensagem "A obter dados de <máquina>" do 'slave' de HTTP, o qual é mostrado normalmente na barra de estado do programa. Do lado da aplicação, este método corresponde ao 'signal' TDEIO::Job::infoMessage(). + +warning() - Mostra um aviso numa janela com o KMessageBox::information(). Se ainda estiver aberta uma mensagem de uma invocação anterior do warning() do mesmo processo-filho, nada acontece. + +messageBox() - Este é mais rico que o método anterior. Permite-lhe abrir uma mensagem com um texto e um título, assim como alguns botões. Veja o tipo enumerado SlaveBase::MessageBoxType para mais referências. + +openPassDlg() - Abre uma janela onde se poderá indicar o nome do utilizador e a sua senha. @@ -3700,8 +1910,7 @@ int kdemain(int argc, char **argv) -Licença +Licença &underFDL; &underGPL; diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/adv-build-management.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/adv-build-management.docbook index 9c440fc9495..c45695a903c 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/adv-build-management.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/adv-build-management.docbook @@ -1,174 +1,60 @@ -Gestão de Compilações Avançada -&automake; +Gestão de Compilações Avançada +&automake; -Configurações de Compilação Múltiplas -configurações da criaçãomúltiplas +Configurações de Compilação Múltiplas +configurações da criaçãomúltiplas -(... ainda não escrito ...) +(... ainda não escrito ...) - + -Compilação Cruzada -compilação cruzada -compilaçãocruzada - - -Quando tiver compiladores cruzados disponíveis, poderá compilar os seus programas para processadores e sistemas operativos diferentes do sistema operativo onde o &tdevelop; e o compilador estão a correr. A colecção de compiladores da &GNU;, o &gcc;, pode ser configurado e compilado como compilador cruzado se o compilar você mesmo. Consulte as páginas do 'info' do GCC para saber mais informações. Algumas das distribuições do &Linux; também oferecem pacotes binários. - -Um pacote baseado no automake pode ser compilado de forma cruzada se indicar a opção no programa 'configure' e definir as variáveis de ambiente CC e CXX para os executáveis dos compiladores cruzados. Muitas vezes poderá querer mudar entre uma versão compilada de forma cruzada e outra compilada para o seu sistema de desenvolvimento. Para tal, é vantajoso usar a capacidade de o &tdevelop; criar várias configurações de compilação, como é explicado em . Logo que tenha criado uma nova configuração de compilação criada na janela ProjectoOpções do Projecto..., adicione a opção - -plataforma - -às opções do 'configure'. O nome da plataforma é um tuplo no formato - -cpu-fabricante-so -ou -cpu-fabricante-kernel-so - -Para as várias combinações, poderá usar uma versão reduzida, como por exemplo i386-linux ou arm-elf. - - +Compilação Cruzada +compilação cruzada +compilaçãocruzada + + +Quando tiver compiladores cruzados disponíveis, poderá compilar os seus programas para processadores e sistemas operativos diferentes do sistema operativo onde o &tdevelop; e o compilador estão a correr. A colecção de compiladores da &GNU;, o &gcc;, pode ser configurado e compilado como compilador cruzado se o compilar você mesmo. Consulte as páginas do 'info' do GCC para saber mais informações. Algumas das distribuições do &Linux; também oferecem pacotes binários. + +Um pacote baseado no automake pode ser compilado de forma cruzada se indicar a opção no programa 'configure' e definir as variáveis de ambiente CC e CXX para os executáveis dos compiladores cruzados. Muitas vezes poderá querer mudar entre uma versão compilada de forma cruzada e outra compilada para o seu sistema de desenvolvimento. Para tal, é vantajoso usar a capacidade de o &tdevelop; criar várias configurações de compilação, como é explicado em . Logo que tenha criado uma nova configuração de compilação criada na janela ProjectoOpções do Projecto..., adicione a opção + +plataforma + +às opções do 'configure'. O nome da plataforma é um tuplo no formato + +cpu-fabricante-so +ou +cpu-fabricante-kernel-so + +Para as várias combinações, poderá usar uma versão reduzida, como por exemplo i386-linux ou arm-elf. + + -Qt/Embedded -embebidoQt -Qt/Embedded -Qtopia -'framebuffer' - -O &qte; é uma versão da biblioteca &Qt; que não usa o sistema de janelas do X, mas acede directamente ao 'framebuffer' nos sistemas &Linux;. É por isso interessante para os sistemas embebidos com grandes restrições na utilização de memória do sistema completo. A sua &API; é completamente compatível com a versão para X11. - -O desenvolvimento de uma aplicação para o &qte; com o &tdevelop; não é muito diferente de desenvolver um programa para a versão em X11 do &Qt;. De facto, pode usar a mesma base de código para ambas as versões. Se usar a gestão de projectos 'autoproject', poderá passar para a versão embebida, usando o argumento no programa 'configure'. Poderá definir isto na janela de Projecto Opções do Projecto... em Opções do Configure. Com a opção , poderá definir a pasta em que o &qte; está instalado. - -Após configurar e compilar a sua aplicação com estas opções, ela irá associar-se à biblioteca libqpe.so. Esta versão da sua aplicação não irá executar normalmente quando usar o X11. Para poder testá-la, execute-a sob o controlo do programa tqvfb (&Qt; Virtual Frame Buffer). Isto é feito ao iniciar o tqvfb e depois, ao iniciar a sua aplicação, com - -aplicacao - -Naturalmente, quando tiver uma versão funcional da sua aplicação, irá querer usá-la no processador-alvo. Para tal, será provavelmente conveniente criar várias configurações de compilação, como foi explicado acima, para que possa mudar rapidamente entre a versão em execução no seu sistema de desenvolvimento e a versão a correr no sistema-alvo. - -As aplicações para o &qte; irão executar normalmente como aplicações autónomas no dispositivo para o qual estão desenhadas. A Trolltech também suporta o Qtopia, que é uma colecção de aplicações para PIM, navegação Web e outras áreas diversas, funcionando em conjunto de forma consistente. É o ambiente-padrão, por exemplo, do Sharp Zaurus. Poderá criar aplicações que se integrem neste ambiente, usando o SDK do Qtopia. Isto implica fazer com que a classe da sua aplicação seja uma sub-classe de QPEApplication e compilar com a biblioteca libqpe.so. Se desenvolver a sua aplicação com a gestão de projectos 'autoproject', terá de adicionar às opções do 'configure'. - - - - +Qt/Embedded +embebidoQt +Qt/Embedded +Qtopia +'framebuffer' + +O &qte; é uma versão da biblioteca &Qt; que não usa o sistema de janelas do X, mas acede directamente ao 'framebuffer' nos sistemas &Linux;. É por isso interessante para os sistemas embebidos com grandes restrições na utilização de memória do sistema completo. A sua &API; é completamente compatível com a versão para X11. + +O desenvolvimento de uma aplicação para o &qte; com o &tdevelop; não é muito diferente de desenvolver um programa para a versão em X11 do &Qt;. De facto, pode usar a mesma base de código para ambas as versões. Se usar a gestão de projectos 'autoproject', poderá passar para a versão embebida, usando o argumento no programa 'configure'. Poderá definir isto na janela de Projecto Opções do Projecto... em Opções do Configure. Com a opção , poderá definir a pasta em que o &qte; está instalado. + +Após configurar e compilar a sua aplicação com estas opções, ela irá associar-se à biblioteca libqpe.so. Esta versão da sua aplicação não irá executar normalmente quando usar o X11. Para poder testá-la, execute-a sob o controlo do programa tqvfb (&Qt; Virtual Frame Buffer). Isto é feito ao iniciar o tqvfb e depois, ao iniciar a sua aplicação, com + +aplicacao + +Naturalmente, quando tiver uma versão funcional da sua aplicação, irá querer usá-la no processador-alvo. Para tal, será provavelmente conveniente criar várias configurações de compilação, como foi explicado acima, para que possa mudar rapidamente entre a versão em execução no seu sistema de desenvolvimento e a versão a correr no sistema-alvo. + +As aplicações para o &qte; irão executar normalmente como aplicações autónomas no dispositivo para o qual estão desenhadas. A Trolltech também suporta o Qtopia, que é uma colecção de aplicações para PIM, navegação Web e outras áreas diversas, funcionando em conjunto de forma consistente. É o ambiente-padrão, por exemplo, do Sharp Zaurus. Poderá criar aplicações que se integrem neste ambiente, usando o SDK do Qtopia. Isto implica fazer com que a classe da sua aplicação seja uma sub-classe de QPEApplication e compilar com a biblioteca libqpe.so. Se desenvolver a sua aplicação com a gestão de projectos 'autoproject', terá de adicionar às opções do 'configure'. + + + + diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/app-changelog.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/app-changelog.docbook index 5b22ece159f..da83a093ce7 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/app-changelog.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/app-changelog.docbook @@ -1,51 +1,17 @@ -Alterações +Alterações -Alterações a Este Documento +Alterações a Este Documento -03-01-2003 — Início deste Changelog +03-01-2003 — Início deste Changelog -02-05-2005 Muitas alterações de Volker Paul, incluindo: divisão em ficheiros por cada capítulo/apêndice adicionada a referência dos comandos ordenada pelo menu (as descrições ainda não estão completas) Tutorial do AppWizard no 'getting-started.docbook' Reorganização dos capítulos, inspirada no manual do Konqueror Moveu-se a instalação, a programação em Unix e o "num Minuto" para o apêndice Reformulação do apêndice de 'plugins, incluindo o gerado da lista de 'plugins' listplugins.sh Ainda longe de completo, mas um pequeno passo em frente. +02-05-2005 Muitas alterações de Volker Paul, incluindo: divisão em ficheiros por cada capítulo/apêndice adicionada a referência dos comandos ordenada pelo menu (as descrições ainda não estão completas) Tutorial do AppWizard no 'getting-started.docbook' Reorganização dos capítulos, inspirada no manual do Konqueror Moveu-se a instalação, a programação em Unix e o "num Minuto" para o apêndice Reformulação do apêndice de 'plugins, incluindo o gerado da lista de 'plugins' listplugins.sh Ainda longe de completo, mas um pequeno passo em frente. - - + +
diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/app-files.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/app-files.docbook index a8b8e012f33..26e66712f96 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/app-files.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/app-files.docbook @@ -5,1680 +5,387 @@ - BerndPol + BerndPol -Ficheiros de Configuração Usados pelo &tdevelop; +Ficheiros de Configuração Usados pelo &tdevelop; -O &tdevelop; usa uma série de ficheiros de configuração que estão distribuídos entre várias pastas. Existem dois grupos principais de ficheiros de configuração para distinguir: +O &tdevelop; usa uma série de ficheiros de configuração que estão distribuídos entre várias pastas. Existem dois grupos principais de ficheiros de configuração para distinguir: - Configuração por Omissão do &tdevelop; — os ficheiros configurados quando o &tdevelop; foi instalado. - Configuração Orientada pelo Utilizador — os ficheiros que contêm as modificações do utilizador aos valores predefinidos, assim como as configurações feitas pelo próprio &tdevelop; e pelos seus 'plugins'. + Configuração por Omissão do &tdevelop; — os ficheiros configurados quando o &tdevelop; foi instalado. + Configuração Orientada pelo Utilizador — os ficheiros que contêm as modificações do utilizador aos valores predefinidos, assim como as configurações feitas pelo próprio &tdevelop; e pelos seus 'plugins'. -Configuração Predefinida do &tdevelop; +Configuração Predefinida do &tdevelop; -Na instalação, o &tdevelop; grava alguns ficheiros de informação por omissão para fins de configuração nas subpastas da pasta de instalação $TDEDIR (normalmente algo do género de /opt/kde, /usr/local/kde, ou outra pasta de instalação definida pelo utilizador; veja em Instalar o &tdevelop;). +Na instalação, o &tdevelop; grava alguns ficheiros de informação por omissão para fins de configuração nas subpastas da pasta de instalação $TDEDIR (normalmente algo do género de /opt/kde, /usr/local/kde, ou outra pasta de instalação definida pelo utilizador; veja em Instalar o &tdevelop;). -Configuração Predefinida do &tdevelop; +Configuração Predefinida do &tdevelop; -Só existe um ficheiro de configuração por omissão específico do &tdevelop; na pasta $TDEDIR/share/config/: +Só existe um ficheiro de configuração por omissão específico do &tdevelop; na pasta $TDEDIR/share/config/: - tdeveloprc - Este ficheiro contém as opções básicas que o &tdevelop; necessita para começar. Será copiado para a pasta do utilizador em $TDEHOME/share/config, quando o &tdevelop; não encontrar aí um ficheiro tdeveloprc no arranque. + tdeveloprc + Este ficheiro contém as opções básicas que o &tdevelop; necessita para começar. Será copiado para a pasta do utilizador em $TDEHOME/share/config, quando o &tdevelop; não encontrar aí um ficheiro tdeveloprc no arranque. - + -Valores Predefinidos da Aplicação +Valores Predefinidos da Aplicação -A maioria das funcionalidades do &tdevelop; são oferecidas através de KParts. Estas são basicamente aplicações desenhadas especialmente para correr na plataforma do &tdevelop; (veja a introdução no apêndice sobre as Ferramentas e 'Plugins'). Cada aplicação KPart tem o seu próprio conjunto de ficheiros de configuração, cujos valores por omissão serão gravados em várias subpastas da pasta de instalação $TDEDIR/share/apps/. +A maioria das funcionalidades do &tdevelop; são oferecidas através de KParts. Estas são basicamente aplicações desenhadas especialmente para correr na plataforma do &tdevelop; (veja a introdução no apêndice sobre as Ferramentas e 'Plugins'). Cada aplicação KPart tem o seu próprio conjunto de ficheiros de configuração, cujos valores por omissão serão gravados em várias subpastas da pasta de instalação $TDEDIR/share/apps/. -Existem bastantes subpastas de configuração por omissão em $TDEDIR/share/apps/, cujos nomes começam todos por uma sequência kdev. A maioria delas são para o uso interno do &tdevelop;. Elas poderão estar agrupadas deliberadamente para fins de legibilidade como: - Aplicações Autónomas - Componentes Específicas de uma Tarefa - Componentes de Geração de Projectos - Componentes Específicas da Linguagem +Existem bastantes subpastas de configuração por omissão em $TDEDIR/share/apps/, cujos nomes começam todos por uma sequência kdev. A maioria delas são para o uso interno do &tdevelop;. Elas poderão estar agrupadas deliberadamente para fins de legibilidade como: + Aplicações Autónomas + Componentes Específicas de uma Tarefa + Componentes de Geração de Projectos + Componentes Específicas da Linguagem - - Aplicações Autónomas + + Aplicações Autónomas - tdevelop/ — contém os ficheiros para configurar o &IDE; &tdevelop;: + tdevelop/ — contém os ficheiros para configurar o &IDE; &tdevelop;: - licenses/ — contém os vários textos de licenças. - pics/ — contém os ficheiros de imagens usados nos ecrãs iniciais do Assistente do &tdevelop; e do Desenhador do &tdevelop;. - profiles/ — contém as opções de perfis dos 'plugins'. (De momento só existe um perfil tiny (minúsculo) que define um conjunto mínimo de 'plugins' activos do &tdevelop;.) - eventsrc — mantém vários textos de localização de Processo com sucesso. - tdevelopui.rc — oferece os menus e barras de ferramentas básicos que o &tdevelop; usa. - kdevhtml_partui.rc — oferece um item Imprimir... no menu Ficheiro, um item Copiar no menu Editar e as setas Recuar e Avançar na Barra do Navegador, para o caso de navegar num ficheiro &HTML; no 'plugin' de Documentação. + licenses/ — contém os vários textos de licenças. + pics/ — contém os ficheiros de imagens usados nos ecrãs iniciais do Assistente do &tdevelop; e do Desenhador do &tdevelop;. + profiles/ — contém as opções de perfis dos 'plugins'. (De momento só existe um perfil tiny (minúsculo) que define um conjunto mínimo de 'plugins' activos do &tdevelop;.) + eventsrc — mantém vários textos de localização de Processo com sucesso. + tdevelopui.rc — oferece os menus e barras de ferramentas básicos que o &tdevelop; usa. + kdevhtml_partui.rc — oferece um item Imprimir... no menu Ficheiro, um item Copiar no menu Editar e as setas Recuar e Avançar na Barra do Navegador, para o caso de navegar num ficheiro &HTML; no 'plugin' de Documentação. - kdevassistant/ — oferece os menus e barras de ferramentas do navegador de documentação do Assistente do &tdevelop;. - kdevdesigner/ e kdevdesignerpart/ — oferecem os menus e barras de ferramentas para o desenhador de interfaces autónomo do &tdevelop;. - + kdevassistant/ — oferece os menus e barras de ferramentas do navegador de documentação do Assistente do &tdevelop;. + kdevdesigner/ e kdevdesignerpart/ — oferecem os menus e barras de ferramentas para o desenhador de interfaces autónomo do &tdevelop;. + - - Componentes Específicas de uma Tarefa + + Componentes Específicas de uma Tarefa - kdevabbrev/ — contém os ficheiros usados pelo 'plugin' de Expansão de Abreviaturas: + kdevabbrev/ — contém os ficheiros usados pelo 'plugin' de Expansão de Abreviaturas: - sources/ — contém os ficheiros de definições de palavras-chave usadas pelo comando Expandir o Texto. - templates/ — contém os ficheiros de definição de modelos usados pelo comando Expandir a Abreviatura. - kdevabbrev.rc — oferece os itens Expandir o Texto e Expandir a Abreviatura do menu Editar. + sources/ — contém os ficheiros de definições de palavras-chave usadas pelo comando Expandir o Texto. + templates/ — contém os ficheiros de definição de modelos usados pelo comando Expandir a Abreviatura. + kdevabbrev.rc — oferece os itens Expandir o Texto e Expandir a Abreviatura do menu Editar. - kdevappwizard/ — contém os ficheiros usados pela componente do &appwizard;: + kdevappwizard/ — contém os ficheiros usados pela componente do &appwizard;: - importfiles/ — contém os ficheiros de projecto .tdevelop que controlam a inicialização de um novo projecto. - imports/ — contém os modelos para configurar os ficheiros .desktop específicos de um projecto. - template-common/ — contém vários ficheiros que são incluídos normalmente nas pastas de código do projecto. - templates/ — contém os ficheiros de configuração que descrevem a informação a ser incluída numa dada pasta de código do projecto. - *.png — as imagens de antevisão do projecto usadas pelo &appwizard;. - *.tar.gz — os pacotes que contêm os ficheiros de código a serem incluídos numa pasta de um projecto novo gerada. + importfiles/ — contém os ficheiros de projecto .tdevelop que controlam a inicialização de um novo projecto. + imports/ — contém os modelos para configurar os ficheiros .desktop específicos de um projecto. + template-common/ — contém vários ficheiros que são incluídos normalmente nas pastas de código do projecto. + templates/ — contém os ficheiros de configuração que descrevem a informação a ser incluída numa dada pasta de código do projecto. + *.png — as imagens de antevisão do projecto usadas pelo &appwizard;. + *.tar.gz — os pacotes que contêm os ficheiros de código a serem incluídos numa pasta de um projecto novo gerada. - kdevastyle/ — oferece o item para Reformatar o Código no menu Editar. - kdevautoproject/ — oferece os itens para o menu Construir e para a Barra de Construção (&tdevelop;). + kdevastyle/ — oferece o item para Reformatar o Código no menu Editar. + kdevautoproject/ — oferece os itens para o menu Construir e para a Barra de Construção (&tdevelop;). - kdevclassview/ — contém os ficheiros usados pelo 'plugin' do projecto para a Janela de Classes: + kdevclassview/ — contém os ficheiros usados pelo 'plugin' do projecto para a Janela de Classes: - pics/ — contém os ícones usados na árvore de Classes. - kdevclassview.tc — oferece o item do Diagrama de Herança de Classes no menu Projectos, assim como a lista de navegação de classes na Barra de Navegação. + pics/ — contém os ícones usados na árvore de Classes. + kdevclassview.tc — oferece o item do Diagrama de Herança de Classes no menu Projectos, assim como a lista de navegação de classes na Barra de Navegação. - kdevcloser/ — oferece os itens de fecho do menu Janelas. - kdevctags/ — oferece o item do CTags do menu Ferramentas para o 'plugin' do projecto para a Interface do CTags. - kdevcvsservice/ — oferece o ícone usado pela página de CvsService e um pequeno programa usado para adicionar um novo item ao repositório do &cvs;, sendo ambos usados no 'plugin' do projecto para a Integração com o CVS. - kdevdebugger/ — oferece os itens de menu Depurar para o 'plugin' do projecto Interface do Depurador. - kdevdiff/ — oferece o item do Visualizador de Diferenças no menu Ferramentas. - kdevdistpart/ — oferece o item de Distribuição & Publicação no menu Projecto do 'plugin' do projecto Suporte de Empacotamento Final. + kdevcloser/ — oferece os itens de fecho do menu Janelas. + kdevctags/ — oferece o item do CTags do menu Ferramentas para o 'plugin' do projecto para a Interface do CTags. + kdevcvsservice/ — oferece o ícone usado pela página de CvsService e um pequeno programa usado para adicionar um novo item ao repositório do &cvs;, sendo ambos usados no 'plugin' do projecto para a Integração com o CVS. + kdevdebugger/ — oferece os itens de menu Depurar para o 'plugin' do projecto Interface do Depurador. + kdevdiff/ — oferece o item do Visualizador de Diferenças no menu Ferramentas. + kdevdistpart/ — oferece o item de Distribuição & Publicação no menu Projecto do 'plugin' do projecto Suporte de Empacotamento Final. - kdevdocumentation/ — contém os ficheiros usados pelo 'plugin' de Documentação: + kdevdocumentation/ — contém os ficheiros usados pelo 'plugin' de Documentação: - en/ e pics/ — contém os ficheiros usados pela ferramenta de procura htdig. - tocs/ — contém os ficheiros de descrição do conteúdo da documentação por omissão do &tdevelop; (veja a descrição em Estrutura Básica dos Ficheiros TOC do &tdevelop;). - kdevpart_documentation.rc — oferece os itens relacionados com a procura no menu Ajuda. + en/ e pics/ — contém os ficheiros usados pela ferramenta de procura htdig. + tocs/ — contém os ficheiros de descrição do conteúdo da documentação por omissão do &tdevelop; (veja a descrição em Estrutura Básica dos Ficheiros TOC do &tdevelop;). + kdevpart_documentation.rc — oferece os itens relacionados com a procura no menu Ajuda. - kdevdoxygen/ — oferece os itens de menu para o 'plugin' do projecto Suporte do Doxygen. + kdevdoxygen/ — oferece os itens de menu para o 'plugin' do projecto Suporte do Doxygen. - kdevfilecreate/ — contém os ficheiros usados pelo Assistente de Novo Ficheiro: - file-templates/ — oferece o conteúdo de texto inicial a ser colocado num ficheiro de código novo de determinado tipo. - kdevpart_filecreate.rc — oferece o item Novo do menu Ficheiro. - template-info.xml — contém as descrições dos tipos de ficheiros disponíveis a serem mostrados na janela de Novo Ficheiro. + kdevfilecreate/ — contém os ficheiros usados pelo Assistente de Novo Ficheiro: + file-templates/ — oferece o conteúdo de texto inicial a ser colocado num ficheiro de código novo de determinado tipo. + kdevpart_filecreate.rc — oferece o item Novo do menu Ficheiro. + template-info.xml — contém as descrições dos tipos de ficheiros disponíveis a serem mostrados na janela de Novo Ficheiro. - - kdevfilter/ — oferece os itens Executar um Comando... e Filtrar a Selecção Através de um Comando... no menu Ferramentas, usado pelo 'plugin' de Filtragem e Inserção na Linha de Comandos. - kdevfullscreen/ — oferece o item do Modo de Ecrã Completo no menu Ver, assim como o ícone respectivo na barra de ferramentas. - kdevgrepview/ — oferece o item Procurar nos Ficheiros... no menu Editar, usado pelo 'plugin' da Interface do Grep. - kdevhistory/ — oferece os itens Recuar e Avançar no menu Ver. - kdevjavadebugger/ — oferece o menu de Depuração do Java para poder depurar uma aplicação de &Java;. - kdevoutputviews/ — oferece os itens Erro Anterior e Erro Seguinte no menu Ver. - kdevpartexplorer/ — oferece o item Explorador de Componentes do menu Ferramentas, usado pelo 'plugin' da Ferramenta do Explorador de Componentes. - kdevquickopen/ — oferece o item Abertura Rápida do Ficheiro... no menu Ficheiro e o Abertura Rápida de Classe... e Abertura Rápida de Método no menu Ferramentas, que são usadas pelo 'plugin' do projecto Abertura Rápida. - kdevregexptest/ — oferece o item Depurar a Expressão Regular... do menu Ferramentas, usado pelo 'plugin' de Teste de Expressões Regulares. - kdevreplace/ — oferece o item Procurar-Seleccionar-Substituir... do menu Editar, usado pelo 'plugin' de Substituição. - kdevtipofday/ — oferece o item da Dica do Dia do menu Ajuda, assim como um ficheiro HTML que contém as dicas disponíveis. - kdevtools/ — controla os vários itens de menu criados pelo Menu Ferramentas e pelo Menu de Ferramentas Externas, oferecidas pelo 'plugin' de Adição ao Menu de Ferramentas. - kdevvalgrind/ — oferece os itens de Verificação de Fugas de Memória do Valgrind e Análise com o KCachegrind do menu Depurar, usados pelo 'plugin' de Interface do Valgrind. - - - - Componentes de Geração de Projectos - kdevadaproject/ — oferece os itens para o menu Construir e os ícones respectivos da barra de ferramentas para criar uma aplicação em Ada. - kdevantproject/ — oferece os itens para o menu Construir quando é usado o gerador de projectos Ant. - kdevautoproject/ — oferece os itens para o menu Construir, assim como os ícones respectivos da barra de ferramentas ao trabalhar com o gerador de projectos &automake; com base nas ferramentas da &GNU;. Para além disso, oferece os itens Adicionar uma Tradução e Configuração da Construção para o menu Projecto. - kdevcustomproject/ — oferece os itens para o menu Construir e os ícones da barra de ferramentas respectivos, quando o projecto se baseia em Makefile's personalizadas. - kdevgenericproject/ — contém as definições do menu para um gerador de projectos genérico e experimental. De momento (na versão 3.1.0) não é usado. - kdevhaskellproject/ — oferece os itens para o menu Construir, bem como os ícones da barra de ferramentas respectivos, para criar uma aplicação em Haskell. - kdevpascalproject/ — oferece os itens para o menu Construir, bem como os ícones da barra de ferramentas respectivos, para criar uma aplicação em Pascal. - kdevtrollproject/ — oferece os itens para o menu Construir, bem como os ícones da barra de ferramentas respectivos, para criar uma aplicação que usa o gestor de projectos QMake da &Qt;. - - - - Componentes Específicas da Linguagem - kdeadasupport/ — oferece os itens para o menu Ferramentas, bem como os ícones da barra de ferramentas respectivos, para criar uma aplicação em Ada. - kdebashsupport/ — oferece os itens para o menu Ferramentas, bem como os ícones da barra de ferramentas respectivos, para criar um 'script' em Bash. + + kdevfilter/ — oferece os itens Executar um Comando... e Filtrar a Selecção Através de um Comando... no menu Ferramentas, usado pelo 'plugin' de Filtragem e Inserção na Linha de Comandos. + kdevfullscreen/ — oferece o item do Modo de Ecrã Completo no menu Ver, assim como o ícone respectivo na barra de ferramentas. + kdevgrepview/ — oferece o item Procurar nos Ficheiros... no menu Editar, usado pelo 'plugin' da Interface do Grep. + kdevhistory/ — oferece os itens Recuar e Avançar no menu Ver. + kdevjavadebugger/ — oferece o menu de Depuração do Java para poder depurar uma aplicação de &Java;. + kdevoutputviews/ — oferece os itens Erro Anterior e Erro Seguinte no menu Ver. + kdevpartexplorer/ — oferece o item Explorador de Componentes do menu Ferramentas, usado pelo 'plugin' da Ferramenta do Explorador de Componentes. + kdevquickopen/ — oferece o item Abertura Rápida do Ficheiro... no menu Ficheiro e o Abertura Rápida de Classe... e Abertura Rápida de Método no menu Ferramentas, que são usadas pelo 'plugin' do projecto Abertura Rápida. + kdevregexptest/ — oferece o item Depurar a Expressão Regular... do menu Ferramentas, usado pelo 'plugin' de Teste de Expressões Regulares. + kdevreplace/ — oferece o item Procurar-Seleccionar-Substituir... do menu Editar, usado pelo 'plugin' de Substituição. + kdevtipofday/ — oferece o item da Dica do Dia do menu Ajuda, assim como um ficheiro HTML que contém as dicas disponíveis. + kdevtools/ — controla os vários itens de menu criados pelo Menu Ferramentas e pelo Menu de Ferramentas Externas, oferecidas pelo 'plugin' de Adição ao Menu de Ferramentas. + kdevvalgrind/ — oferece os itens de Verificação de Fugas de Memória do Valgrind e Análise com o KCachegrind do menu Depurar, usados pelo 'plugin' de Interface do Valgrind. + + + + Componentes de Geração de Projectos + kdevadaproject/ — oferece os itens para o menu Construir e os ícones respectivos da barra de ferramentas para criar uma aplicação em Ada. + kdevantproject/ — oferece os itens para o menu Construir quando é usado o gerador de projectos Ant. + kdevautoproject/ — oferece os itens para o menu Construir, assim como os ícones respectivos da barra de ferramentas ao trabalhar com o gerador de projectos &automake; com base nas ferramentas da &GNU;. Para além disso, oferece os itens Adicionar uma Tradução e Configuração da Construção para o menu Projecto. + kdevcustomproject/ — oferece os itens para o menu Construir e os ícones da barra de ferramentas respectivos, quando o projecto se baseia em Makefile's personalizadas. + kdevgenericproject/ — contém as definições do menu para um gerador de projectos genérico e experimental. De momento (na versão 3.1.0) não é usado. + kdevhaskellproject/ — oferece os itens para o menu Construir, bem como os ícones da barra de ferramentas respectivos, para criar uma aplicação em Haskell. + kdevpascalproject/ — oferece os itens para o menu Construir, bem como os ícones da barra de ferramentas respectivos, para criar uma aplicação em Pascal. + kdevtrollproject/ — oferece os itens para o menu Construir, bem como os ícones da barra de ferramentas respectivos, para criar uma aplicação que usa o gestor de projectos QMake da &Qt;. + + + + Componentes Específicas da Linguagem + kdeadasupport/ — oferece os itens para o menu Ferramentas, bem como os ícones da barra de ferramentas respectivos, para criar uma aplicação em Ada. + kdebashsupport/ — oferece os itens para o menu Ferramentas, bem como os ícones da barra de ferramentas respectivos, para criar um 'script' em Bash. - kdecppsupport/ — oferece os ficheiros usados pelo &appwizard; para criar aplicações em C++: + kdecppsupport/ — oferece os ficheiros usados pelo &appwizard; para criar aplicações em C++: - newclass/ — contém os ficheiros-modelo de inclusão e de código, a partir dos quais o &appwizard; cria os ficheiros de código correspondentes. - subclassing/ — contém os ficheiros-modelo que o &appwizard; usa para configurar as declarações/definições de classes iniciais nos ficheiros de código. - templates — contém os ficheiros-modelo, a partir dos quais o &appwizard; configura os ficheiros de modelo de inclusão e de código predefinidos que são usados pelo &nfwizard;. - configuration — modelo inútil para adicionar macros. - kdevcppsupport.rc — oferece o suporte para os itens Completar o Texto e Tornar um Membro do menu Editar, o item Mudar para a Declaração/Implementação do menu Ver e o item Nova Classe do menu Projecto, assim como um ícone Nova Classe para a Barra de Navegação. + newclass/ — contém os ficheiros-modelo de inclusão e de código, a partir dos quais o &appwizard; cria os ficheiros de código correspondentes. + subclassing/ — contém os ficheiros-modelo que o &appwizard; usa para configurar as declarações/definições de classes iniciais nos ficheiros de código. + templates — contém os ficheiros-modelo, a partir dos quais o &appwizard; configura os ficheiros de modelo de inclusão e de código predefinidos que são usados pelo &nfwizard;. + configuration — modelo inútil para adicionar macros. + kdevcppsupport.rc — oferece o suporte para os itens Completar o Texto e Tornar um Membro do menu Editar, o item Mudar para a Declaração/Implementação do menu Ver e o item Nova Classe do menu Projecto, assim como um ícone Nova Classe para a Barra de Navegação. - kdefortransupport/ — oferece os itens para o menu Ferramentas, bem como os ícones da barra de ferramentas respectivos, para criar uma aplicação em Fortran. - kdehaskellsupport/ — oferece os itens para o menu Ferramentas, bem como os ícones da barra de ferramentas respectivos, para criar uma aplicação em Haskell. - kdevjavasupport/ — contém a definição da interface necessária para desenvolver as aplicações em &Java;. - kdevpascalsupport/ — contém a definição da interface necessária para desenvolver aplicações em Pascal. - kdevperlsupport/ — oferece os itens do menu Projecto e Ajuda necessários para desenvolver programas em Perl. - kdevphpsupport/ — contém os ficheiros de definição da interface e de PHP, necessários para desenvolver programas em PHP. - kdevpythonsupport/ — oferece os itens do menu Construir e Ajuda, bem como os ícones da barras de ferramentas, necessários para desenvolver programas em Python. - kdevrubysupport/ — oferece os itens do menu Construir e os ícones das barras de ferramentas respectivos que são necessários para desenvolver programas em Ruby. - kdevscriptproject/ — oferece as definições da interface necessárias ara criar projectos personalizados. De momento (na versão 3.1.0) não é usado. - kdevsqlsupport/ — oferece as definições de interface necessárias para desenvolver projectos em SQL. De momento (na versão 3.1.0), não é usado. - + kdefortransupport/ — oferece os itens para o menu Ferramentas, bem como os ícones da barra de ferramentas respectivos, para criar uma aplicação em Fortran. + kdehaskellsupport/ — oferece os itens para o menu Ferramentas, bem como os ícones da barra de ferramentas respectivos, para criar uma aplicação em Haskell. + kdevjavasupport/ — contém a definição da interface necessária para desenvolver as aplicações em &Java;. + kdevpascalsupport/ — contém a definição da interface necessária para desenvolver aplicações em Pascal. + kdevperlsupport/ — oferece os itens do menu Projecto e Ajuda necessários para desenvolver programas em Perl. + kdevphpsupport/ — contém os ficheiros de definição da interface e de PHP, necessários para desenvolver programas em PHP. + kdevpythonsupport/ — oferece os itens do menu Construir e Ajuda, bem como os ícones da barras de ferramentas, necessários para desenvolver programas em Python. + kdevrubysupport/ — oferece os itens do menu Construir e os ícones das barras de ferramentas respectivos que são necessários para desenvolver programas em Ruby. + kdevscriptproject/ — oferece as definições da interface necessárias ara criar projectos personalizados. De momento (na versão 3.1.0) não é usado. + kdevsqlsupport/ — oferece as definições de interface necessárias para desenvolver projectos em SQL. De momento (na versão 3.1.0), não é usado. + - + - + -Configuração do Utilizador +Configuração do Utilizador -Toda a informação sobre as opções definidas pelo utilizador é mantida em duas subpastas da $TDEHOME, nomeadamente: - Configuração Específica da Aplicação na pasta $TDEHOME/share/apps/ e - Ficheiro de Configuração do Recurso na pasta $TDEHOME/share/config/. +Toda a informação sobre as opções definidas pelo utilizador é mantida em duas subpastas da $TDEHOME, nomeadamente: + Configuração Específica da Aplicação na pasta $TDEHOME/share/apps/ e + Ficheiro de Configuração do Recurso na pasta $TDEHOME/share/config/. -Configuração Específica da Aplicação +Configuração Específica da Aplicação -Todas as alterações do utilizador à Configuração por Omissão do &tdevelop;, assim como as opções específicas do utilizador que não são mantidas em nenhum dos Ficheiros de Configuração de Recursos encontram-se nas subpastas kdev... da pasta $TDEHOME/share/apps/. -A maioria destes ficheiros de configuração são usados, todavia, por vários 'plugins' do &tdevelop; para oferecer alguns itens do menu e/ou barra de ferramentas. Como tal, são apenas de interesse no caso de algo correr realmente mal com a interface do utilizador. -No caso do conteúdo destas pastas reflectir o da Configuração por Omissão, o &tdevelop; terá copiado as mesmas de $TDEDIR/apps/ para a pasta $TDEHOME/apps/ no seu arranque inicial. Todas as alterações subsequentes serão feitas apenas nestas cópias. As opções da Configuração por Omissão irão permanecer inalteradas, em qualquer dos casos. +Todas as alterações do utilizador à Configuração por Omissão do &tdevelop;, assim como as opções específicas do utilizador que não são mantidas em nenhum dos Ficheiros de Configuração de Recursos encontram-se nas subpastas kdev... da pasta $TDEHOME/share/apps/. +A maioria destes ficheiros de configuração são usados, todavia, por vários 'plugins' do &tdevelop; para oferecer alguns itens do menu e/ou barra de ferramentas. Como tal, são apenas de interesse no caso de algo correr realmente mal com a interface do utilizador. +No caso do conteúdo destas pastas reflectir o da Configuração por Omissão, o &tdevelop; terá copiado as mesmas de $TDEDIR/apps/ para a pasta $TDEHOME/apps/ no seu arranque inicial. Todas as alterações subsequentes serão feitas apenas nestas cópias. As opções da Configuração por Omissão irão permanecer inalteradas, em qualquer dos casos. - kdevabbrev/ — contém os ficheiros usados pelo 'plugin' de Expansão de Abreviaturas: + kdevabbrev/ — contém os ficheiros usados pelo 'plugin' de Expansão de Abreviaturas: - sources/ — de momento vazio; o &tdevelop; usa os ficheiros de definição de palavras-chave por omissão para os comandos para Expandir o Texto. - templates/ — contém os ficheiros de definição de modelos usados pelo comando Expandir a Abreviatura. - kdevabbrev.rc — oferece os itens Expandir o Texto e Expandir a Abreviatura do menu Editar. - + sources/ — de momento vazio; o &tdevelop; usa os ficheiros de definição de palavras-chave por omissão para os comandos para Expandir o Texto. + templates/ — contém os ficheiros de definição de modelos usados pelo comando Expandir a Abreviatura. + kdevabbrev.rc — oferece os itens Expandir o Texto e Expandir a Abreviatura do menu Editar. + - kdevappwizard/ — só oferece os itens Novo Projecto... e Importar um Projecto Existente... do menu de Projectos. O &appwizard; irá então usar as opções de configuração por omissão para as suas tarefas actuais. + kdevappwizard/ — só oferece os itens Novo Projecto... e Importar um Projecto Existente... do menu de Projectos. O &appwizard; irá então usar as opções de configuração por omissão para as suas tarefas actuais. - kdevastyle/ — oferece o item para Reformatar o Código no menu Editar. + kdevastyle/ — oferece o item para Reformatar o Código no menu Editar. - kdevautoproject/ — oferece os itens para o menu Construir e da Barra de Construção (KDevelop). + kdevautoproject/ — oferece os itens para o menu Construir e da Barra de Construção (KDevelop). - kdevclassview — oferece o item do Diagrama de Herança de Classes no menu Projecto, assim como a lista de navegação de classes na Barra de Navegação do 'plugin' do projecto da Lista de Classes. + kdevclassview — oferece o item do Diagrama de Herança de Classes no menu Projecto, assim como a lista de navegação de classes na Barra de Navegação do 'plugin' do projecto da Lista de Classes. - kdevcloser/ — oferece o item para Fechar as Janelas Seleccionadas... no menu Janelas. + kdevcloser/ — oferece o item para Fechar as Janelas Seleccionadas... no menu Janelas. - kdevcppsupport/ — contém a configuração actual, usada pelo &appwizard;, para criar aplicações em C++. O &appwizard; usa, contudo, o seu maior bloco de informação de configuração directamente a partir da pasta de configuração por omissão. Veja aí para ter mais detalhes. + kdevcppsupport/ — contém a configuração actual, usada pelo &appwizard;, para criar aplicações em C++. O &appwizard; usa, contudo, o seu maior bloco de informação de configuração directamente a partir da pasta de configuração por omissão. Veja aí para ter mais detalhes. - newclass/ — contém os ficheiros-modelo de inclusão e de código, a partir dos quais o &appwizard; cria os ficheiros de código correspondentes. + newclass/ — contém os ficheiros-modelo de inclusão e de código, a partir dos quais o &appwizard; cria os ficheiros de código correspondentes. - pcs/ — contém os ficheiros de base de dados que o &tdevelop; usa para criar o Persistent Code Store (.pcs) actual de um projecto em C++ do &kde;. + pcs/ — contém os ficheiros de base de dados que o &tdevelop; usa para criar o Persistent Code Store (.pcs) actual de um projecto em C++ do &kde;. - kdevcppsupport.rc — oferece o suporte para os itens Completar o Texto e Tornar um Membro do menu Editar, o item Mudar para a Declaração/Implementação do menu Ver e o item Nova Classe do menu Projecto, assim como um ícone Nova Classe para a Barra de Navegação. + kdevcppsupport.rc — oferece o suporte para os itens Completar o Texto e Tornar um Membro do menu Editar, o item Mudar para a Declaração/Implementação do menu Ver e o item Nova Classe do menu Projecto, assim como um ícone Nova Classe para a Barra de Navegação. - kdevctags/ — oferece o item do CTags do menu Ferramentas para o 'plugin' do projecto para a Interface do CTags. + kdevctags/ — oferece o item do CTags do menu Ferramentas para o 'plugin' do projecto para a Interface do CTags. - kdevdebugger/ — oferece os itens de menu Depurar para o 'plugin' do projecto Interface do Depurador. + kdevdebugger/ — oferece os itens de menu Depurar para o 'plugin' do projecto Interface do Depurador. - kdevdiff/ — oferece o item do Visualizador de Diferenças no menu Ferramentas. + kdevdiff/ — oferece o item do Visualizador de Diferenças no menu Ferramentas. - kdevdocumentation/ — contém os ficheiros usados pelo 'plugin' de Documentação para além dos ficheiros predefinidos de configuração. Veja nesse local para mais detalhes. - As pastas em kdevdocumentation/ normalmente guardam apenas informações de organização. Os ficheiros de documentação configurados de momento são mantidos nos ficheiros doc...pluginrc da pasta $TDEHOME/share/config/. + kdevdocumentation/ — contém os ficheiros usados pelo 'plugin' de Documentação para além dos ficheiros predefinidos de configuração. Veja nesse local para mais detalhes. + As pastas em kdevdocumentation/ normalmente guardam apenas informações de organização. Os ficheiros de documentação configurados de momento são mantidos nos ficheiros doc...pluginrc da pasta $TDEHOME/share/config/. - bookmarks/ — mantém os itens da página de Favoritos do 'plugin' de Documentação do &tdevelop;. + bookmarks/ — mantém os itens da página de Favoritos do 'plugin' de Documentação do &tdevelop;. - index/ — mantém os vários ficheiros de 'cache' que o &tdevelop; usa para acelerar as pesquisas de documentação na página de Índice do 'plugin' de Documentação. + index/ — mantém os vários ficheiros de 'cache' que o &tdevelop; usa para acelerar as pesquisas de documentação na página de Índice do 'plugin' de Documentação. - search/ — contém os ficheiros usados pela ferramenta de procura htdig que serve várias chamadas de procura da página Procurar do 'plugin' de Documentação. + search/ — contém os ficheiros usados pela ferramenta de procura htdig que serve várias chamadas de procura da página Procurar do 'plugin' de Documentação. - kdevpart_documentation.rc — oferece os itens relacionados com a procura no menu Ajuda. + kdevpart_documentation.rc — oferece os itens relacionados com a procura no menu Ajuda. - kdevdoxygen/ — oferece os itens de menu para o 'plugin' do projecto Suporte do Doxygen. + kdevdoxygen/ — oferece os itens de menu para o 'plugin' do projecto Suporte do Doxygen. - tdevelop/ — contém algumas opções actuais que o IDE &tdevelop; usa para a sua configuração básica: + tdevelop/ — contém algumas opções actuais que o IDE &tdevelop; usa para a sua configuração básica: - profiles/ — oferece a configuração do perfil do 'plugin' actual. (No início existe apenas um perfil FullIDE que define um conjunto completo de 'plugins' activos inicialmente &tdevelop;.) - tdevelopui.rc — oferece os menus e barras de ferramentas básicos que o &tdevelop; usa. + profiles/ — oferece a configuração do perfil do 'plugin' actual. (No início existe apenas um perfil FullIDE que define um conjunto completo de 'plugins' activos inicialmente &tdevelop;.) + tdevelopui.rc — oferece os menus e barras de ferramentas básicos que o &tdevelop; usa. - kdevfilecreate/ — contém os ficheiros usados pelo Assistente de Novo Ficheiro: + kdevfilecreate/ — contém os ficheiros usados pelo Assistente de Novo Ficheiro: - file-templates/ — oferece o conteúdo de texto inicial a ser colocado num ficheiro de código novo de determinado tipo. Podem ser encontrados mais modelos de ficheiros na pasta de ficheiros de configuração por omissão. - kdevpart_filecreate.rc — oferece o item Novo do menu Ficheiro. - template-info.xml — contém as descrições dos tipos de ficheiros disponíveis a serem mostrados na janela de Novo Ficheiro. + file-templates/ — oferece o conteúdo de texto inicial a ser colocado num ficheiro de código novo de determinado tipo. Podem ser encontrados mais modelos de ficheiros na pasta de ficheiros de configuração por omissão. + kdevpart_filecreate.rc — oferece o item Novo do menu Ficheiro. + template-info.xml — contém as descrições dos tipos de ficheiros disponíveis a serem mostrados na janela de Novo Ficheiro. - kdevfilter/ — oferece os itens Executar um Comando... e Filtrar a Selecção Através de um Comando... no menu Ferramentas, usado pelo 'plugin' de Filtragem e Inserção na Linha de Comandos. + kdevfilter/ — oferece os itens Executar um Comando... e Filtrar a Selecção Através de um Comando... no menu Ferramentas, usado pelo 'plugin' de Filtragem e Inserção na Linha de Comandos. - kdevfullscreen/ — oferece o item do Modo de Ecrã Completo no menu Ver, assim como o ícone respectivo na barra de ferramentas. + kdevfullscreen/ — oferece o item do Modo de Ecrã Completo no menu Ver, assim como o ícone respectivo na barra de ferramentas. - kdevgrepview/ — oferece o item Procurar nos Ficheiros... no menu Editar, usado pelo 'plugin' da Interface do Grep. + kdevgrepview/ — oferece o item Procurar nos Ficheiros... no menu Editar, usado pelo 'plugin' da Interface do Grep. - kdevoutputviews/ — oferece os itens Erro Anterior e Erro Seguinte no menu Ver. + kdevoutputviews/ — oferece os itens Erro Anterior e Erro Seguinte no menu Ver. - kdevpartexplorer/ — oferece o item Explorador de Componentes do menu Ferramentas, usado pelo 'plugin' da Ferramenta do Explorador de Componentes. + kdevpartexplorer/ — oferece o item Explorador de Componentes do menu Ferramentas, usado pelo 'plugin' da Ferramenta do Explorador de Componentes. - kdevquickopen/ — oferece o item Abertura Rápida do Ficheiro... no menu Ficheiro e o Abertura Rápida de Classe... e Abertura Rápida de Método no menu Ferramentas, que são usadas pelo 'plugin' do projecto Abertura Rápida. + kdevquickopen/ — oferece o item Abertura Rápida do Ficheiro... no menu Ficheiro e o Abertura Rápida de Classe... e Abertura Rápida de Método no menu Ferramentas, que são usadas pelo 'plugin' do projecto Abertura Rápida. - kdevregexptest/ — oferece o item Depurar a Expressão Regular... do menu Ferramentas, usado pelo 'plugin' de Teste de Expressões Regulares. + kdevregexptest/ — oferece o item Depurar a Expressão Regular... do menu Ferramentas, usado pelo 'plugin' de Teste de Expressões Regulares. - kdevreplace/ — oferece o item Procurar-Seleccionar-Substituir... do menu Editar, usado pelo 'plugin' de Substituição. + kdevreplace/ — oferece o item Procurar-Seleccionar-Substituir... do menu Editar, usado pelo 'plugin' de Substituição. - kdevtipofday/ — oferece o item da Dica do Dia do menu Ajuda. O ficheiro em HTML que contém as dicas disponíveis é oferecido apenas como um ficheiro de configuração por omissão. + kdevtipofday/ — oferece o item da Dica do Dia do menu Ajuda. O ficheiro em HTML que contém as dicas disponíveis é oferecido apenas como um ficheiro de configuração por omissão. - kdevtools/ — controla os vários itens de menu criados pelo Menu Ferramentas e pelo Menu de Ferramentas Externas, oferecidas pelo 'plugin' de Adição ao Menu de Ferramentas. + kdevtools/ — controla os vários itens de menu criados pelo Menu Ferramentas e pelo Menu de Ferramentas Externas, oferecidas pelo 'plugin' de Adição ao Menu de Ferramentas. - kdevvalgrind/ — oferece os itens de Verificação de Fugas de Memória do Valgrind e Análise com o KCachegrind do menu Depurar, usados pelo 'plugin' de Interface do Valgrind. + kdevvalgrind/ — oferece os itens de Verificação de Fugas de Memória do Valgrind e Análise com o KCachegrind do menu Depurar, usados pelo 'plugin' de Interface do Valgrind. - + -Ficheiros de Configuração dos Recursos +Ficheiros de Configuração dos Recursos -Existem dois grupos de ficheiros de configuração do &tdevelop; na pasta $TDEHOME/share/config/, distinguidos pelas suas sequências de caracteres envolventes: - O doc...pluginrc denota os ficheiros usados pelo 'plugin' de documentação. - O kdev...rc denota os ficheiros de configuração usados pelo &tdevelop; propriamente dito e pelos seus 'plugins' disponíveis. +Existem dois grupos de ficheiros de configuração do &tdevelop; na pasta $TDEHOME/share/config/, distinguidos pelas suas sequências de caracteres envolventes: + O doc...pluginrc denota os ficheiros usados pelo 'plugin' de documentação. + O kdev...rc denota os ficheiros de configuração usados pelo &tdevelop; propriamente dito e pelos seus 'plugins' disponíveis. -Ficheiros de Configuração Usados pelo &tdevelop; +Ficheiros de Configuração Usados pelo &tdevelop; - kdevabbrevrc — contém o estado actual da configuração de Abreviaturas oferecida pelo 'plugin' de Expansão de Abreviaturas. - Isto apenas regista se as abreviaturas serão usadas ou não. As definições actuais das abreviaturas novas irão parar ao ficheiro $TDEHOME/share/apps/kdevabbrev/templates/templates. + kdevabbrevrc — contém o estado actual da configuração de Abreviaturas oferecida pelo 'plugin' de Expansão de Abreviaturas. + Isto apenas regista se as abreviaturas serão usadas ou não. As definições actuais das abreviaturas novas irão parar ao ficheiro $TDEHOME/share/apps/kdevabbrev/templates/templates. - kdevassistantrc — mantém algum estado de configuração específico do navegador de documentação do Assistente do &tdevelop;. - As opções de configuração mais comuns são partilhadas no ficheiro de configuração do IDE &tdevelop; em tdeveloprc. + kdevassistantrc — mantém algum estado de configuração específico do navegador de documentação do Assistente do &tdevelop;. + As opções de configuração mais comuns são partilhadas no ficheiro de configuração do IDE &tdevelop; em tdeveloprc. - kdevassistantuimode4rc — mantém o estado da configuração actual do MDI (posições da acoplagem, &etc;) do navegador de documentação do Assistente do &tdevelop;. + kdevassistantuimode4rc — mantém o estado da configuração actual do MDI (posições da acoplagem, &etc;) do navegador de documentação do Assistente do &tdevelop;. - kdevclassviewrc — mantém a configuração do Modo de Visualização da página de navegação de Classes, que é oferecida pelo 'plugin' de projecto da Janela de Classes. - Esta é uma opção global, ainda que a Janela de Classes possa ou não estar desactivada. Qualquer alteração nesta opção será actualizada globalmente, sempre que o projecto actual for fechado e, deste modo, afectar todos os projectos carregados subsequentemente. + kdevclassviewrc — mantém a configuração do Modo de Visualização da página de navegação de Classes, que é oferecida pelo 'plugin' de projecto da Janela de Classes. + Esta é uma opção global, ainda que a Janela de Classes possa ou não estar desactivada. Qualquer alteração nesta opção será actualizada globalmente, sempre que o projecto actual for fechado e, deste modo, afectar todos os projectos carregados subsequentemente. - kdevcppsupportrc — contém algumas opções usadas para configurar os ficheiros de código CPP. Em particular, irá encontrar as opções definidas na janela de configuração do Gerador de Classes de C++ aqui registadas. - kdevdocumentationrc — mantém a configuração actual do 'plugin' de Documentação. - tdeveloprc — contém as opções globais que o IDE &tdevelop; IDE e o Assistente do &tdevelop; usam. - tdevelopuimode4rc — mantém a configuração da MDI actual (posições de acoplagem, &etc;) do IDE &tdevelop;. - kdevfileselectorrc — mantém a configuração actual do 'plugin' do Selector de Ficheiros. - kdevfileviewrc — mantém as configurações de cores dos ficheiros actuais que a Integração com o CVS (Cervisia) usa na apresentação. - kdevfilterrc — mantém a configuração que o 'plugin' Filtragem e Inserção da Linha de Comandos usa. - kdevgrepviewrc — mantém as opções actuais do 'plugin' da Interface do Grep. - kdevsnippetrc — mantém a configuração actual do 'plugin' dos Excertos de Código. - kdevtoolsrc — mantém a configuração actual que o 'plugin' de Adição ao Menu Ferramentas usa. + kdevcppsupportrc — contém algumas opções usadas para configurar os ficheiros de código CPP. Em particular, irá encontrar as opções definidas na janela de configuração do Gerador de Classes de C++ aqui registadas. + kdevdocumentationrc — mantém a configuração actual do 'plugin' de Documentação. + tdeveloprc — contém as opções globais que o IDE &tdevelop; IDE e o Assistente do &tdevelop; usam. + tdevelopuimode4rc — mantém a configuração da MDI actual (posições de acoplagem, &etc;) do IDE &tdevelop;. + kdevfileselectorrc — mantém a configuração actual do 'plugin' do Selector de Ficheiros. + kdevfileviewrc — mantém as configurações de cores dos ficheiros actuais que a Integração com o CVS (Cervisia) usa na apresentação. + kdevfilterrc — mantém a configuração que o 'plugin' Filtragem e Inserção da Linha de Comandos usa. + kdevgrepviewrc — mantém as opções actuais do 'plugin' da Interface do Grep. + kdevsnippetrc — mantém a configuração actual do 'plugin' dos Excertos de Código. + kdevtoolsrc — mantém a configuração actual que o 'plugin' de Adição ao Menu Ferramentas usa. -Ficheiros de Configuração Usados pelo 'Plugin' de Documentação - docchmpluginrc — mantém a informação sobre os ficheiros de ajuda CHM da &Microsoft;, tal como está definido na página de configuração da Colecção de Documentação CHM. - doccustompluginrc — mantém a informação sobre os ficheiros de documentação personalizados que estão definidos na página de configuração da Colecção de Documentação Personalizada. - docdevhelppluginrc — mantém a informação acerca dos ficheiros de documentação do GNOME 2, tal como está definido na página de configuração da Colecção de Documentação do Devhelp. - docdoxygenpluginrc — mantém a informação acerca da documentação da API gerada pelo Doxygen, tal como está definida na página de configuração da Colecção de Documentação do Doxygen. - dockdevtocpluginrc — mantém a informação acerca dos ficheiros de documentação estruturada KDevelopTOC, tal como está definido na página de configuração da Colecção de Documentação do KDevelopTOC. - docqtpluginrc — mantém a informação acerca dos ficheiros de documentação do QT, tal como está definido na página de configuração da Colecção de Documentação do Qt. +Ficheiros de Configuração Usados pelo 'Plugin' de Documentação + docchmpluginrc — mantém a informação sobre os ficheiros de ajuda CHM da &Microsoft;, tal como está definido na página de configuração da Colecção de Documentação CHM. + doccustompluginrc — mantém a informação sobre os ficheiros de documentação personalizados que estão definidos na página de configuração da Colecção de Documentação Personalizada. + docdevhelppluginrc — mantém a informação acerca dos ficheiros de documentação do GNOME 2, tal como está definido na página de configuração da Colecção de Documentação do Devhelp. + docdoxygenpluginrc — mantém a informação acerca da documentação da API gerada pelo Doxygen, tal como está definida na página de configuração da Colecção de Documentação do Doxygen. + dockdevtocpluginrc — mantém a informação acerca dos ficheiros de documentação estruturada KDevelopTOC, tal como está definido na página de configuração da Colecção de Documentação do KDevelopTOC. + docqtpluginrc — mantém a informação acerca dos ficheiros de documentação do QT, tal como está definido na página de configuração da Colecção de Documentação do Qt. - + - + -Configuração Dependente do Projecto +Configuração Dependente do Projecto -A maior parte da configuração dependente do projecto é mantida nos ficheiros de configuração do projecto <nome-projecto>.tdevelop e <nome-projecto>.kdevses do &tdevelop;, em vez de serem mantidos em ficheiros separados como as outras opções de configuração mais globais. Em resumo estes ficheiros são: +A maior parte da configuração dependente do projecto é mantida nos ficheiros de configuração do projecto <nome-projecto>.tdevelop e <nome-projecto>.kdevses do &tdevelop;, em vez de serem mantidos em ficheiros separados como as outras opções de configuração mais globais. Em resumo estes ficheiros são: - <nome-projecto>.tdevelop — informação de configuração global do projecto. - <nome-projecto>.kdevses — informação de configuração necessária para repor os comportamentos específicos da sessão actual. + <nome-projecto>.tdevelop — informação de configuração global do projecto. + <nome-projecto>.kdevses — informação de configuração necessária para repor os comportamentos específicos da sessão actual. -Ambos são ficheiros em &XML;. Eles podem ser vistos e (cuidadosamente) alterados com qualquer editor de texto. +Ambos são ficheiros em &XML;. Eles podem ser vistos e (cuidadosamente) alterados com qualquer editor de texto. -Ficheiros do Repositório Persistente de Código +Ficheiros do Repositório Persistente de Código -Existe um terceiro ficheiro de configuração do projecto, o Repositório de Código Persistente <nome-projecto>.tdevelop.pcs. Este é um ficheiro binário que mantém uma 'cache' de processamento para acelerar em grande medida a sequência de carregamento do projecto. Para além disso, este repositório mantém a informação da funcionalidade de Completação do Código do &tdevelop;. +Existe um terceiro ficheiro de configuração do projecto, o Repositório de Código Persistente <nome-projecto>.tdevelop.pcs. Este é um ficheiro binário que mantém uma 'cache' de processamento para acelerar em grande medida a sequência de carregamento do projecto. Para além disso, este repositório mantém a informação da funcionalidade de Completação do Código do &tdevelop;. -Poderão estar definidos ficheiros de Repositórios de Código Persistente na página de Completação de Código da página de configuração do projecto Específico do C++. A informação sobre estes ficheiros .pcs adicionais é mantida a nível global na pasta $TDEHOME/share/apps/kdevcppsupport/pcs/. +Poderão estar definidos ficheiros de Repositórios de Código Persistente na página de Completação de Código da página de configuração do projecto Específico do C++. A informação sobre estes ficheiros .pcs adicionais é mantida a nível global na pasta $TDEHOME/share/apps/kdevcppsupport/pcs/. - + - + diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/app-menu.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/app-menu.docbook index 69d8462d2a7..187224a886e 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/app-menu.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/app-menu.docbook @@ -2,71 +2,48 @@ - BerndPol + BerndPol -Introdução aos Menus e Barras de Ferramentas +Introdução aos Menus e Barras de Ferramentas -(... ainda não escrito ...) +(... ainda não escrito ...) -Menus +Menus -(... ainda não escrito ...) +(... ainda não escrito ...) -Menus Normalmente Disponíveis +Menus Normalmente Disponíveis -(... ainda não escrito ...) +(... ainda não escrito ...) - + -Menus Específicos do Projecto +Menus Específicos do Projecto -(... ainda não escrito ...) +(... ainda não escrito ...) - + -Menus Específicos dos 'Plugins' +Menus Específicos dos 'Plugins' -(... ainda não escrito ...) +(... ainda não escrito ...) - + - + -Barras de Ferramentas +Barras de Ferramentas -(... ainda não escrito ...) +(... ainda não escrito ...) - + - + diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/app-misc-info.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/app-misc-info.docbook index 918195a2e65..d745d3a031a 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/app-misc-info.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/app-misc-info.docbook @@ -1,28 +1,18 @@ -Mais Informações +Mais Informações -Obter Informações -(... ainda não escrito ...) - +Obter Informações +(... ainda não escrito ...) + -Comunicar Erros -(... ainda não escrito ...) - +Comunicar Erros +(... ainda não escrito ...) + -Licença -&underFDL; &underGPL; - +Licença +&underFDL; &underGPL; + diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/app-uimodes-examples.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/app-uimodes-examples.docbook index f6165cfe187..09d379fd0ed 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/app-uimodes-examples.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/app-uimodes-examples.docbook @@ -1,174 +1,103 @@ -Exemplos de Modos de Interface de Utilizador do &tdevelop; +Exemplos de Modos de Interface de Utilizador do &tdevelop; -Modo IDEAl +Modo IDEAl -Carregue aqui para voltar à introdução aos modos. +Carregue aqui para voltar à introdução aos modos. - Imagem - Modo IDEAl do &tdevelop; + Imagem + Modo IDEAl do &tdevelop; -Carregue aqui para voltar à introdução aos modos. +Carregue aqui para voltar à introdução aos modos. - Imagem - Modo IDEAl do &tdevelop;, com páginas fechadas + Imagem + Modo IDEAl do &tdevelop;, com páginas fechadas -Esta imagem de exemplo demonstra uma das virtudes principais do modo IDEAl. Está o máximo de espaço de trabalho disponível. De qualquer forma, qualquer uma das ferramentas está prontamente disponível, se carregar na página correspondente. -Provavelmente terá de ter algum tempo para se habituar aos ícones na barra de páginas. Se se perdeu, basta colocar o cursor do rato sobre uma página e esperar alguns segundos. Irá aparecer uma breve descrição com uma dica. Nesta imagem, é mostrada a dica do Gestor do Automake como exemplo. Ela descreve a página inferior da barra de páginas da direita. +Esta imagem de exemplo demonstra uma das virtudes principais do modo IDEAl. Está o máximo de espaço de trabalho disponível. De qualquer forma, qualquer uma das ferramentas está prontamente disponível, se carregar na página correspondente. +Provavelmente terá de ter algum tempo para se habituar aos ícones na barra de páginas. Se se perdeu, basta colocar o cursor do rato sobre uma página e esperar alguns segundos. Irá aparecer uma breve descrição com uma dica. Nesta imagem, é mostrada a dica do Gestor do Automake como exemplo. Ela descreve a página inferior da barra de páginas da direita. -Carregue aqui para voltar à introdução aos modos. +Carregue aqui para voltar à introdução aos modos. - + -Modo de Janelas com Sub-molduras +Modo de Janelas com Sub-molduras -Carregue aqui para voltar à introdução aos modos. +Carregue aqui para voltar à introdução aos modos. - Imagem - Modo de janelas-filhas do &tdevelop; + Imagem + Modo de janelas-filhas do &tdevelop; -Carregue aqui para voltar à introdução aos modos. +Carregue aqui para voltar à introdução aos modos. - + -Modo por Páginas +Modo por Páginas -Carregue aqui para voltar à introdução aos modos. +Carregue aqui para voltar à introdução aos modos. - Imagem - Modo por páginas separadas do &tdevelop; + Imagem + Modo por páginas separadas do &tdevelop; -Carregue aqui para voltar à introdução aos modos. +Carregue aqui para voltar à introdução aos modos. - + -Modo de Janelas de Topo +Modo de Janelas de Topo -Carregue aqui para voltar à introdução aos modos. +Carregue aqui para voltar à introdução aos modos. - Imagem - Modo por janelas de topo do &tdevelop; + Imagem + Modo por janelas de topo do &tdevelop; -Carregue aqui para voltar à introdução aos modos. +Carregue aqui para voltar à introdução aos modos. - + - + diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/applicationwizard.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/applicationwizard.docbook index 9928459a38e..d3fcb4841d8 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/applicationwizard.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/applicationwizard.docbook @@ -2,707 +2,295 @@ - BerndPol + BerndPol -Introdução — o &appwizard; +Introdução — o &appwizard; - &appwizard; + &appwizard; -No &tdevelop;, o trabalho de desenvolvimento de 'software' está organizado em projectos. Cada um desses projectos reúne tudo o que pertença a uma tarefa de programação completa: ficheiros de código, ficheiros de dados adicionais e todas as necessidades de gestão, como o sistema de compilação, assim como o acesso a todos os componentes e a todas as ferramentas adicionais que sejam necessárias para pôr a aplicação a funcionar. -A organização de todo o trabalho de desenvolvimento nos projectos permite-lhe mudar facilmente de tarefas para tarefas, a nível global. Isto é bastante útil se você, ⪚, trabalha em várias aplicações ao mesmo tempo, como poderá ser normalmente o caso. Diga ao &tdevelop; para abrir o projecto com que deseja trabalhar e poderá continuar no ambiente tal e qual o deixou. +No &tdevelop;, o trabalho de desenvolvimento de 'software' está organizado em projectos. Cada um desses projectos reúne tudo o que pertença a uma tarefa de programação completa: ficheiros de código, ficheiros de dados adicionais e todas as necessidades de gestão, como o sistema de compilação, assim como o acesso a todos os componentes e a todas as ferramentas adicionais que sejam necessárias para pôr a aplicação a funcionar. +A organização de todo o trabalho de desenvolvimento nos projectos permite-lhe mudar facilmente de tarefas para tarefas, a nível global. Isto é bastante útil se você, ⪚, trabalha em várias aplicações ao mesmo tempo, como poderá ser normalmente o caso. Diga ao &tdevelop; para abrir o projecto com que deseja trabalhar e poderá continuar no ambiente tal e qual o deixou. -Projectos Novos +Projectos Novos - projecto - novos - -Sempre que deseje iniciar um novo projecto de programação, terão de ser efectuados vários procedimentos formais de configuração. Terá de ser criada uma estrutura de directorias inicial, os ficheiros de inclusão e de código terão de ser fornecidos, o sistema de compilações tem de ser inicializado, &etc; -O &tdevelop; fornece uma forma simples de iniciar um novo projecto de programação — o &appwizard;. Você irá encontrar o &appwizard; no item de menu Projecto Novo Projecto. -Só é necessária uma série curta de passos para iniciar um novo projecto de programação, usando o &appwizard;: + projecto + novos + +Sempre que deseje iniciar um novo projecto de programação, terão de ser efectuados vários procedimentos formais de configuração. Terá de ser criada uma estrutura de directorias inicial, os ficheiros de inclusão e de código terão de ser fornecidos, o sistema de compilações tem de ser inicializado, &etc; +O &tdevelop; fornece uma forma simples de iniciar um novo projecto de programação — o &appwizard;. Você irá encontrar o &appwizard; no item de menu Projecto Novo Projecto. +Só é necessária uma série curta de passos para iniciar um novo projecto de programação, usando o &appwizard;: - Seleccionar a linguagem de programação que você deseja usar e o tipo da aplicação que deseja compilar, a partir de um conjunto de modelos predefinidos. - Fornecer algumas informações gerais como o nome da aplicação, a directoria em que a aplicação deverá ser criada, &etc; - Decidir se deseja usar um sistema de controlo de versões, como ⪚ o CVS, e fornecer os dados necessários. - Definir alguns modelos para os ficheiros de inclusão e de código iniciais (se for necessário). - Finalmente, dizer ao &appwizard; para configurar todos os artefactos iniciais, a estrutura de directorias, os modelos de ficheiros de ficheiros de código/inclusão iniciais e as ferramentas de gestão, ⪚ um esqueleto inicial de compilação, &etc; + Seleccionar a linguagem de programação que você deseja usar e o tipo da aplicação que deseja compilar, a partir de um conjunto de modelos predefinidos. + Fornecer algumas informações gerais como o nome da aplicação, a directoria em que a aplicação deverá ser criada, &etc; + Decidir se deseja usar um sistema de controlo de versões, como ⪚ o CVS, e fornecer os dados necessários. + Definir alguns modelos para os ficheiros de inclusão e de código iniciais (se for necessário). + Finalmente, dizer ao &appwizard; para configurar todos os artefactos iniciais, a estrutura de directorias, os modelos de ficheiros de ficheiros de código/inclusão iniciais e as ferramentas de gestão, ⪚ um esqueleto inicial de compilação, &etc; -'Voilà' — é tudo. O &appwizard; irá fornecer-lhe então um conjunto inicial e funcional de ficheiros de programação, nos quais você poderá começar prontamente a trabalhar. -Vamos então olhar agora para tudo isto com mais detalhe ... +'Voilà' — é tudo. O &appwizard; irá fornecer-lhe então um conjunto inicial e funcional de ficheiros de programação, nos quais você poderá começar prontamente a trabalhar. +Vamos então olhar agora para tudo isto com mais detalhe ... -Passos Iniciais +Passos Iniciais - janela - criar novo projecto + janela + criar novo projecto - projecto - criar novo projecto - janela + projecto + criar novo projecto + janela - projecto - modelos + projecto + modelos - modelos - projecto - -Para criar um novo projecto no &tdevelop;, seleccione Novo Projecto do menu Projecto. A janela para Criar um Novo Projecto irá aparecer e mostrar-lhe-á uma página Geral inicial: + modelos + projecto + +Para criar um novo projecto no &tdevelop;, seleccione Novo Projecto do menu Projecto. A janela para Criar um Novo Projecto irá aparecer e mostrar-lhe-á uma página Geral inicial: - Janela inicial de configuração de um novo projecto + Janela inicial de configuração de um novo projecto -Como pode ver, esta janela está dividida numa parte superior e numa inferior. Na parte superior, você poderá decidir sobre a linguagem de programação e o tipo de aplicação, enquanto que a parte inferior contém algumas informações gerais. +Como pode ver, esta janela está dividida numa parte superior e numa inferior. Na parte superior, você poderá decidir sobre a linguagem de programação e o tipo de aplicação, enquanto que a parte inferior contém algumas informações gerais. -Seleccionar a Linguagem de Programação e o Tipo de Aplicação +Seleccionar a Linguagem de Programação e o Tipo de Aplicação - projecto - tipo de aplicação + projecto + tipo de aplicação - projecto - linguagem de programação + projecto + linguagem de programação - projecto - linguagem + projecto + linguagem - linguagem + linguagem - linguagem de programação + linguagem de programação - aplicação - tipo + aplicação + tipo -O lado esquerdo da parte superior desta janela é onde você faz o trabalho de selecção. Quando aparecer, você irá encontrar então uma lista de pastas, em que cada uma contém uma linguagem de programação, como por exemplo: +O lado esquerdo da parte superior desta janela é onde você faz o trabalho de selecção. Quando aparecer, você irá encontrar então uma lista de pastas, em que cada uma contém uma linguagem de programação, como por exemplo: - Ada - Ada - novo projecto - - C - C - novo projecto - - C++ - C++ - novo projecto - - Bases de Dados (Projectos SQL) - SQL - novo projecto + Ada + Ada + novo projecto + + C + C + novo projecto + + C++ + C++ + novo projecto + + Bases de Dados (Projectos SQL) + SQL + novo projecto - Base de Dados - novo projecto - - Fortran - Fortran - novo projecto - - Haskell - Haskell - novo projecto - - Java - Java - novo projecto - - PHP - PHP - novo projecto - - Pascal - Pascal - novo projecto - - Perl - Perl - novo projecto - - Python - Python - novo projecto - - Ruby - Ruby - novo projecto - - Linha de Comandos ('Scripts' para a Linha de Comandos Bash) - Bash - novo projecto + Base de Dados + novo projecto + + Fortran + Fortran + novo projecto + + Haskell + Haskell + novo projecto + + Java + Java + novo projecto + + PHP + PHP + novo projecto + + Pascal + Pascal + novo projecto + + Perl + Perl + novo projecto + + Python + Python + novo projecto + + Ruby + Ruby + novo projecto + + Linha de Comandos ('Scripts' para a Linha de Comandos Bash) + Bash + novo projecto - linha de comandos - novo projecto - + linha de comandos + novo projecto + -Para ser mais exacto, estas pastas não contêm ferramentas de programação de facto. Elas sim conduzem a modelos predefinidos que você poderá usar como ponto de partida para programar nessa linguagem. Para ter uma ideia do que é fornecido, basta abrir as pastas uma a seguir à outra. Irá aparecer um conjunto de subpastas em algumas e apenas um ou mais itens simples noutras. As subpastas que você verá organizam os modelos disponíveis de acordo com algumas tarefas, enquanto que os itens simples indicam os modelos que você poderá seleccionar. -Não poderemos entrar em detalhes aqui sobre que tarefas fazem o quê, mas é fácil descobrir. Sempre que você seleccionar um modelo, é mostrada alguma informação nos campos à direita. No campo inferior, você irá encontrar uma breve descrição sobre o que é que o modelo é suposto fazer. No campo acima dele é mostrada uma imagem, se estiver disponível, sobre o resultado da aplicação que este modelo produz se você a compilar e correr sem modificações. Normalmente, esta é uma fotografia da janela principal que a aplicação irá mostrar. -Seleccione o modelo que melhor se adequa aos objectivos da sua aplicação como ponto de partida. Depois introduza as informações das propriedades gerais no campo inferior, tal como é mostrado no capítulo seguinte. +Para ser mais exacto, estas pastas não contêm ferramentas de programação de facto. Elas sim conduzem a modelos predefinidos que você poderá usar como ponto de partida para programar nessa linguagem. Para ter uma ideia do que é fornecido, basta abrir as pastas uma a seguir à outra. Irá aparecer um conjunto de subpastas em algumas e apenas um ou mais itens simples noutras. As subpastas que você verá organizam os modelos disponíveis de acordo com algumas tarefas, enquanto que os itens simples indicam os modelos que você poderá seleccionar. +Não poderemos entrar em detalhes aqui sobre que tarefas fazem o quê, mas é fácil descobrir. Sempre que você seleccionar um modelo, é mostrada alguma informação nos campos à direita. No campo inferior, você irá encontrar uma breve descrição sobre o que é que o modelo é suposto fazer. No campo acima dele é mostrada uma imagem, se estiver disponível, sobre o resultado da aplicação que este modelo produz se você a compilar e correr sem modificações. Normalmente, esta é uma fotografia da janela principal que a aplicação irá mostrar. +Seleccione o modelo que melhor se adequa aos objectivos da sua aplicação como ponto de partida. Depois introduza as informações das propriedades gerais no campo inferior, tal como é mostrado no capítulo seguinte. -Seleccionar um Sistema de Gestão de Projectos -Cada modelo está associado a um Sistema de Gestão de Projectos específico. De momento, não existe uma forma livre de seleccionar um desses Sistemas de Gestão de Projectos. Você terá de procurar um modelo que se adeque às suas necessidades ou de alterar o seu projecto, depois de criado, de acordo com isso. +Seleccionar um Sistema de Gestão de Projectos +Cada modelo está associado a um Sistema de Gestão de Projectos específico. De momento, não existe uma forma livre de seleccionar um desses Sistemas de Gestão de Projectos. Você terá de procurar um modelo que se adeque às suas necessidades ou de alterar o seu projecto, depois de criado, de acordo com isso. - + -Fornecer Informação Geral +Fornecer Informação Geral - projecto - propriedades + projecto + propriedades - propriedades + propriedades - aplicação - nome + aplicação + nome - nome - aplicação + nome + aplicação - projecto - directoria + projecto + directoria - directoria - projecto + directoria + projecto - localização - novo projecto + localização + novo projecto - projecto - autor + projecto + autor - projecto - e-mail + projecto + e-mail - autor + autor - e-mail + e-mail - projecto - main.cpp + projecto + main.cpp - main.cpp + main.cpp - projecto - licença + projecto + licença - licença - -A parte inferior da janela Criar um Novo Projecto, na página Geral, é uma área chamada Propriedades. Você tem de indicar aqui algumas informações gerais sobre o seu projecto, de modo a que o &appwizard; saiba como criar a estrutura inicial. + licença + +A parte inferior da janela Criar um Novo Projecto, na página Geral, é uma área chamada Propriedades. Você tem de indicar aqui algumas informações gerais sobre o seu projecto, de modo a que o &appwizard; saiba como criar a estrutura inicial. -Nome da Aplicação -A sua aplicação precisa de um nome, como é óbvio. Indique-o no campo Propriedades, chamado Nome da Aplicação. Iremos usar MinhaAplicacao por exemplo. +Nome da Aplicação +A sua aplicação precisa de um nome, como é óbvio. Indique-o no campo Propriedades, chamado Nome da Aplicação. Iremos usar MinhaAplicacao por exemplo. -Quando o fizer, você irá reparar que o &appwizard; se recusará a aceitar caracteres especiais de qualquer espécie. Os únicos caracteres aceites são: - caracteres maiúsculos e minúsculos - números - o carácter de sublinhado (_) +Quando o fizer, você irá reparar que o &appwizard; se recusará a aceitar caracteres especiais de qualquer espécie. Os únicos caracteres aceites são: + caracteres maiúsculos e minúsculos + números + o carácter de sublinhado (_) -Uma razão importante para esta restrição é que o &appwizard; irá usar este nome da aplicação como base dos nomes de algumas classes que irá construir quando configurar o projecto inicialmente. Daí, o nome da aplicação terá de se adequar às regras da linguagem de programação que usar. +Uma razão importante para esta restrição é que o &appwizard; irá usar este nome da aplicação como base dos nomes de algumas classes que irá construir quando configurar o projecto inicialmente. Daí, o nome da aplicação terá de se adequar às regras da linguagem de programação que usar. -A Directoria do Projecto -A outra causa para esta restrição poderá ser vista por si na linha inferior da área Propriedades. Chama-se Localização final e mostra a directoria onde o &appwizard; irá criar a aplicação. +A Directoria do Projecto +A outra causa para esta restrição poderá ser vista por si na linha inferior da área Propriedades. Chama-se Localização final e mostra a directoria onde o &appwizard; irá criar a aplicação. -À medida que você vai escrevendo o nome da aplicação, você irá reparar que o &appwizard; repete os seus dados introduzidos no fim da linha Localização final, usando apenas os caracteres minúsculos. -Como tal, você terá de seleccionar o nome da sua nova aplicação com cuidado. Se você terminar com o nome de uma directoria já utilizada, o &appwizard; não lhe permitirá passar para o próximo passo, mantendo o botão Próximo > desactivado (a cinzento). De qualquer forma, ele avisá-lo-á nesse caso, adicionando o texto (dir/ficheiro já existe) no campo Localização final. +À medida que você vai escrevendo o nome da aplicação, você irá reparar que o &appwizard; repete os seus dados introduzidos no fim da linha Localização final, usando apenas os caracteres minúsculos. +Como tal, você terá de seleccionar o nome da sua nova aplicação com cuidado. Se você terminar com o nome de uma directoria já utilizada, o &appwizard; não lhe permitirá passar para o próximo passo, mantendo o botão Próximo > desactivado (a cinzento). De qualquer forma, ele avisá-lo-á nesse caso, adicionando o texto (dir/ficheiro já existe) no campo Localização final. -A Localização Inicial -Existem duas formas de seleccionar outra pasta para a sua nova aplicação. Uma passa por seleccionar outro nome. Contudo, isso nem sempre é conveniente (você poderá, ⪚, configurar outra versão de uma aplicação já existente). Como alternativa, você poderá seleccionar outra localização para a pasta da aplicação. +A Localização Inicial +Existem duas formas de seleccionar outra pasta para a sua nova aplicação. Uma passa por seleccionar outro nome. Contudo, isso nem sempre é conveniente (você poderá, ⪚, configurar outra versão de uma aplicação já existente). Como alternativa, você poderá seleccionar outra localização para a pasta da aplicação. -Isto é feito com o segundo campo das Propriedades, chamado Localização. O que você indicar aqui é a localização inicial da directoria de desenvolvimento da nova aplicação. O &appwizard; irá adicionar o nome da aplicação a esta directoria quando inicializar o novo projecto. O resultado é apresentado no campo Localização final, que lhe dá um melhor controlo sobre o que se passa. -O &appwizard; irá copiar um valor inicial para o campo Localização no início. Este é extraído a partir do que você tiver escolhido no campo Directoria de projectos por omissão dos passos gerais de configuração. No nosso caso, o &tdevelop; está configurado para usar a /home/ze/projectos. -Altere o conteúdo do campo Localização para que a directoria de desenvolvimento das aplicações mostrada na linha Localização final seja única. - -Tenha em atenção se a linha do campo Localização já existe ou não. O &appwizard; irá avisá-lo se indicar localizações inexistentes adicionando (inválido) ao campo Localização final. +Isto é feito com o segundo campo das Propriedades, chamado Localização. O que você indicar aqui é a localização inicial da directoria de desenvolvimento da nova aplicação. O &appwizard; irá adicionar o nome da aplicação a esta directoria quando inicializar o novo projecto. O resultado é apresentado no campo Localização final, que lhe dá um melhor controlo sobre o que se passa. +O &appwizard; irá copiar um valor inicial para o campo Localização no início. Este é extraído a partir do que você tiver escolhido no campo Directoria de projectos por omissão dos passos gerais de configuração. No nosso caso, o &tdevelop; está configurado para usar a /home/ze/projectos. +Altere o conteúdo do campo Localização para que a directoria de desenvolvimento das aplicações mostrada na linha Localização final seja única. + +Tenha em atenção se a linha do campo Localização já existe ou não. O &appwizard; irá avisá-lo se indicar localizações inexistentes adicionando (inválido) ao campo Localização final. -Dados Pessoais -Os campos a seguir não são tão críticos. Basta indicar o seu nome (i.e., o nome da pessoal responsável pela aplicação) no campo Autor e um endereço de e-mail válido no campo E-mail, de modo que os utilizadores lhe possam comunicar algo sobre a aplicação. +Dados Pessoais +Os campos a seguir não são tão críticos. Basta indicar o seu nome (i.e., o nome da pessoal responsável pela aplicação) no campo Autor e um endereço de e-mail válido no campo E-mail, de modo que os utilizadores lhe possam comunicar algo sobre a aplicação. - O &appwizard; preenche este campos com alguns valores predefinidos, extraídos a partir da configuração do E-mail no &kcontrolcenter;. Se estes valores nos campos da janela Criar um Novo Projecto, para o Autor e para o E-mail não forem válidos, você poderá ter de ver a sua configuração de e-mail no &kcontrolcenter;. - O &appwizard; integrará esta informação nos modelos iniciais de programas, se tal se aplicar. Nos programas em C++ para o &kde;, por exemplo, você poderá encontrá-la perto do início do ficheiro de código main.cpp. - De todos os campos, o E-mail é opcional, o que reflecte o facto de que nem todos os programadores terão acesso à Internet. Você poderá manter este campo em branco se o desejar e continuar o seu trabalho. + O &appwizard; preenche este campos com alguns valores predefinidos, extraídos a partir da configuração do E-mail no &kcontrolcenter;. Se estes valores nos campos da janela Criar um Novo Projecto, para o Autor e para o E-mail não forem válidos, você poderá ter de ver a sua configuração de e-mail no &kcontrolcenter;. + O &appwizard; integrará esta informação nos modelos iniciais de programas, se tal se aplicar. Nos programas em C++ para o &kde;, por exemplo, você poderá encontrá-la perto do início do ficheiro de código main.cpp. + De todos os campos, o E-mail é opcional, o que reflecte o facto de que nem todos os programadores terão acesso à Internet. Você poderá manter este campo em branco se o desejar e continuar o seu trabalho. -Informação da Versão e da Licença -Finalmente indique um número de versão inicial para a sua aplicação nova no campo Versão e seleccione a licença segundo a qual deseja publicar a sua aplicação na página Licença. +Informação da Versão e da Licença +Finalmente indique um número de versão inicial para a sua aplicação nova no campo Versão e seleccione a licença segundo a qual deseja publicar a sua aplicação na página Licença. -Se você seleccionar um tipo de aplicação para o qual o &appwizard; forneça textos de modelos de código comuns (⪚, C/C++), você poderá ver o texto de notificação da licença na terceira página desta janela Criar um Novo Projecto (veja o capítulo sobre como Fornecer modelos de código/inclusão em baixo). -Se você indicou Personalizada na página Licença, você terá de indicar um texto próprio para a licença. - -Tanto a informação da licença como da versão serão integradas nos modelos iniciais num formato adequado que o tipo de aplicação que você seleccionou ofereça. - -Logo que tenha introduzido toda esta informação, carregue no botão Próximo > para avançar, tal como é mostrado nos capítulos seguintes. - - - +Se você seleccionar um tipo de aplicação para o qual o &appwizard; forneça textos de modelos de código comuns (⪚, C/C++), você poderá ver o texto de notificação da licença na terceira página desta janela Criar um Novo Projecto (veja o capítulo sobre como Fornecer modelos de código/inclusão em baixo). +Se você indicou Personalizada na página Licença, você terá de indicar um texto próprio para a licença. + +Tanto a informação da licença como da versão serão integradas nos modelos iniciais num formato adequado que o tipo de aplicação que você seleccionou ofereça. + +Logo que tenha introduzido toda esta informação, carregue no botão Próximo > para avançar, tal como é mostrado nos capítulos seguintes. + + + -Fornecer a Informação do Sistema de Controlo de Versões +Fornecer a Informação do Sistema de Controlo de Versões - CVS - novo projecto + CVS + novo projecto - projecto - CVS + projecto + CVS - base de dados - CVS + base de dados + CVS - versão - base de dados + versão + base de dados - versão - CVS - -Num segundo passo, o &appwizard; levá-lo-á para a página do Sistema de Controlo de Versões, onde poderá decidir qual o sistema de controlo de versões que desejará usar. - -Esta discussão concentra-se nas necessidades apenas para a criação do projecto. Para mais informações sobre o &CVS; veja o capítulo sobre como Usar o &CVS; em baixo. + versão + CVS + +Num segundo passo, o &appwizard; levá-lo-á para a página do Sistema de Controlo de Versões, onde poderá decidir qual o sistema de controlo de versões que desejará usar. + +Esta discussão concentra-se nas necessidades apenas para a criação do projecto. Para mais informações sobre o &CVS; veja o capítulo sobre como Usar o &CVS; em baixo. -Nenhum Sistema de Controlo de Versões Necessário -Inicialmente, está a opção Nenhum seleccionada na página do Sistema de controlo de versões, onde a página ficará em branco. Se não quiser usar nenhum sistema de controlo de versões, basta carregar no botão Próximo -> e seguir em frente. +Nenhum Sistema de Controlo de Versões Necessário +Inicialmente, está a opção Nenhum seleccionada na página do Sistema de controlo de versões, onde a página ficará em branco. Se não quiser usar nenhum sistema de controlo de versões, basta carregar no botão Próximo > e seguir em frente. -Usar o &CVS; -Caso contrário, você terá de seleccionar de novo o sistema de controlo de versões que deseja usar na página Sistema de controlo de versões. De momento, só o &cvs; é que está disponível. Se o seleccionar, então o &appwizard; irá mostrar de novo a página, mostrando ela agora um conjunto de campos que precisa de preencher. +Usar o &CVS; +Caso contrário, você terá de seleccionar de novo o sistema de controlo de versões que deseja usar na página Sistema de controlo de versões. De momento, só o &cvs; é que está disponível. Se o seleccionar, então o &appwizard; irá mostrar de novo a página, mostrando ela agora um conjunto de campos que precisa de preencher. @@ -710,311 +298,114 @@ - Configurar o novo projecto no CVS + Configurar o novo projecto no CVS -Um sistema de controlo de versões como o &CVS; (que significa Concurrent Versions System ou Sistema Concorrente de Versões) guarda as cópias dos ficheiros seleccionados do projecto numa espécie de base de dados. Se você usar o &CVS; você poderá, entre outras coisas, enviar (fazer commit) destes ficheiros ou carregá-los para a sua directoria do projecto (fazer um checkout ou um update). O que há de especial nisto é que os ficheiros na base de dados das versões são gravados de uma forma estruturada que permite em qualquer altura voltar atrás a um estado anterior de desenvolvimento, se for necessário. Para além disso, o &CVS; permite a vários programadores colaborarem facilmente num grande projecto (como o &tdevelop;) sem estragar o trabalho dos outros. +Um sistema de controlo de versões como o &CVS; (que significa Concurrent Versions System ou Sistema Concorrente de Versões) guarda as cópias dos ficheiros seleccionados do projecto numa espécie de base de dados. Se você usar o &CVS; você poderá, entre outras coisas, enviar (fazer commit) destes ficheiros ou carregá-los para a sua directoria do projecto (fazer um checkout ou um update). O que há de especial nisto é que os ficheiros na base de dados das versões são gravados de uma forma estruturada que permite em qualquer altura voltar atrás a um estado anterior de desenvolvimento, se for necessário. Para além disso, o &CVS; permite a vários programadores colaborarem facilmente num grande projecto (como o &tdevelop;) sem estragar o trabalho dos outros. - CVS - raiz + CVS + raiz - raiz - CVS + raiz + CVS - CVS - local + CVS + local - CVS - remoto + CVS + remoto - CVS local + CVS local - :local: + :local: - CVS - :local: + CVS + :local: -Raiz do &CVS; -O &CVS; precisa de gerir a base de dados de versões que mantém para os seus ficheiros do projecto. Para o conseguir, ele mantém alguma informação especial da base de dados numa directoria própria, chamada de raiz do &CVS;. O primeiro passo para configurar o &CVS; para o seu projecto novo é então indicar ao &tdevelop; onde é que se localiza essa raiz. +Raiz do &CVS; +O &CVS; precisa de gerir a base de dados de versões que mantém para os seus ficheiros do projecto. Para o conseguir, ele mantém alguma informação especial da base de dados numa directoria própria, chamada de raiz do &CVS;. O primeiro passo para configurar o &CVS; para o seu projecto novo é então indicar ao &tdevelop; onde é que se localiza essa raiz. -Raiz local do &CVS;. Existem duas possibilidades básicas. Ou você usa uma base de dados local do &CVS; ou poderá usar uma base de dados que é mantida num servidor remoto. Se fizer desenvolvimentos próprios, você poderá usar a base de dados do &CVS; como uma espécie de base de dados de salvaguarda no seu próprio computador. Normalmente esta é configurada na raiz da sua área pessoal e é-lhe dado o nome cvsroot. Isto poderá assemelhar-se ao seguinte: -/home/ze/cvsroot (em que ze poderá ser substituído pelo nome do seu utilizador). - -De facto, este é um formato curto. De forma exacta, a raiz local do &CVS; deverá ser endereçada com o prefixo :local:. O formato curto só é permitido nos casos em que o nome do ficheiro começa por uma barra (/). O nome completo do nosso exemplo seria então igual a :local:/home/ze/cvsroot - -Indique o nome da directoria-raiz do &CVS; que foi configurada para o seu sistema no campo Raiz do CVS. Em princípio, você poderá seleccionar qualquer nome, ou até mesmo usar várias bases de dados do &CVS;, mas aconselha-se que você se associe à raiz do &CVS; logo que esteja configurada. -Inicializar uma nova raiz do &CVS;. Se não existir ainda nenhuma raiz do &CVS;, o &tdevelop; poderá dizer ao sistema do &CVS; para criar uma para si na directoria indicada. Basta assinalar a opção Iniciar raiz por baixo do campo Raiz do CVS. -Como foi dito, o &tdevelop; só manda o sistema do &CVS; inicializar uma nova raiz do &CVS;. Não faz nada, por si só, a esta directoria. Felizmente, o &CVS; é esperto o suficiente para verificar se a directoria de raiz do &CVS; já existe ou não. Como tal, não fará mal nenhum se você tiver assinalado inadvertidamente a opção Iniciar raiz numa directoria de raiz do &CVS; já existente. - -Raiz do &CVS; remota. Existem ocasiões em que a base de dados do &CVS; deverá ser mantida num servidor remoto, especialmente quando vários programadores trabalharem no mesmo projecto. Aí, você terá de indicar o URL da raiz do &CVS; deste servidor no campo Raiz do CVS. Por exemplo, se você quiser aceder ao servidor de &CVS; do &kde;: -:pserver:utilizador@cvs.kde.org:/home/kde (onde o utilizador corresponde ao nome do utilizador definido para a sua conta de &CVS; do &kde;) +Raiz local do &CVS;. Existem duas possibilidades básicas. Ou você usa uma base de dados local do &CVS; ou poderá usar uma base de dados que é mantida num servidor remoto. Se fizer desenvolvimentos próprios, você poderá usar a base de dados do &CVS; como uma espécie de base de dados de salvaguarda no seu próprio computador. Normalmente esta é configurada na raiz da sua área pessoal e é-lhe dado o nome cvsroot. Isto poderá assemelhar-se ao seguinte: +/home/ze/cvsroot (em que ze poderá ser substituído pelo nome do seu utilizador). + +De facto, este é um formato curto. De forma exacta, a raiz local do &CVS; deverá ser endereçada com o prefixo :local:. O formato curto só é permitido nos casos em que o nome do ficheiro começa por uma barra (/). O nome completo do nosso exemplo seria então igual a :local:/home/ze/cvsroot + +Indique o nome da directoria-raiz do &CVS; que foi configurada para o seu sistema no campo Raiz do CVS. Em princípio, você poderá seleccionar qualquer nome, ou até mesmo usar várias bases de dados do &CVS;, mas aconselha-se que você se associe à raiz do &CVS; logo que esteja configurada. +Inicializar uma nova raiz do &CVS;. Se não existir ainda nenhuma raiz do &CVS;, o &tdevelop; poderá dizer ao sistema do &CVS; para criar uma para si na directoria indicada. Basta assinalar a opção Iniciar raiz por baixo do campo Raiz do CVS. +Como foi dito, o &tdevelop; só manda o sistema do &CVS; inicializar uma nova raiz do &CVS;. Não faz nada, por si só, a esta directoria. Felizmente, o &CVS; é esperto o suficiente para verificar se a directoria de raiz do &CVS; já existe ou não. Como tal, não fará mal nenhum se você tiver assinalado inadvertidamente a opção Iniciar raiz numa directoria de raiz do &CVS; já existente. + +Raiz do &CVS; remota. Existem ocasiões em que a base de dados do &CVS; deverá ser mantida num servidor remoto, especialmente quando vários programadores trabalharem no mesmo projecto. Aí, você terá de indicar o URL da raiz do &CVS; deste servidor no campo Raiz do CVS. Por exemplo, se você quiser aceder ao servidor de &CVS; do &kde;: +:pserver:utilizador@cvs.kde.org:/home/kde (onde o utilizador corresponde ao nome do utilizador definido para a sua conta de &CVS; do &kde;) - CVS remoto + CVS remoto - :pserver: + :pserver: - :ext: + :ext: - CVS - :local: + CVS + :local: - CVS - :pserver: + CVS + :pserver: - CVS - :ext: + CVS + :ext: -Tipos de Servidores de &CVS; Remotos -Basicamente existem dois tipos de servidores de &cvs; remotos largamente usados, o pserver que usa um protocolo não-cifrado e protegido por senha, ou o ext que uma transferência de dados cifrada por RSH ou SSH. Eles são distinguidos de acordo com o prefixo do &URL; que usam: +Tipos de Servidores de &CVS; Remotos +Basicamente existem dois tipos de servidores de &cvs; remotos largamente usados, o pserver que usa um protocolo não-cifrado e protegido por senha, ou o ext que uma transferência de dados cifrada por RSH ou SSH. Eles são distinguidos de acordo com o prefixo do &URL; que usam: -:pserver: +:pserver: -para o tipo de servidor não-cifrado e protegido por senha, ou +para o tipo de servidor não-cifrado e protegido por senha, ou -:ext: +:ext: -para um tipo de servidor cifrado por RSH ou SSH. Por exemplo, o +para um tipo de servidor cifrado por RSH ou SSH. Por exemplo, o -:ext:utilizador@cvs.cervisia.sourceforge.net:/cvsroot/cervisia +:ext:utilizador@cvs.cervisia.sourceforge.net:/cvsroot/cervisia -acede à raiz do &CVS; da conhecida aplicação Cervisia, que é usada para gerir o &CVS; e que está no servidor do SourceForge. -Se você quiser usar um servidor cifrado por RSH ou por SSH para o acesso ao &CVS;, você terá de dizer ao &tdevelop;, qual o protocolo de cifra a usar. Basta indicar rsh ou ssh no campo CVS_RSH da página Criar um Novo Projecto Sistema de Controlo de Versões. - -Existe uma contrapartida se você usar um servidor cifrado para o &CVS; no &tdevelop;. Veja o capítulo Usar o &CVS; para mais detalhes. +acede à raiz do &CVS; da conhecida aplicação Cervisia, que é usada para gerir o &CVS; e que está no servidor do SourceForge. +Se você quiser usar um servidor cifrado por RSH ou por SSH para o acesso ao &CVS;, você terá de dizer ao &tdevelop;, qual o protocolo de cifra a usar. Basta indicar rsh ou ssh no campo CVS_RSH da página Criar um Novo Projecto Sistema de Controlo de Versões. + +Existe uma contrapartida se você usar um servidor cifrado para o &CVS; no &tdevelop;. Veja o capítulo Usar o &CVS; para mais detalhes. - CVS - repositório + CVS + repositório - repositório - CVS + repositório + CVS -O Repositório de &CVS; -Até agora você só indicou ao &tdevelop; onde é que a raiz do &CVS; se encontra para gerir a base de dados das versões e como aceder-lhe. Agora, você irá precisar de dizer ao &tdevelop; sob que nome você irá querer que o &CVS; grave os seus ficheiros do projecto nessa base de dados. O local onde os seus ficheiros do projecto serão guardados no &CVS; é chamado de repositório. +O Repositório de &CVS; +Até agora você só indicou ao &tdevelop; onde é que a raiz do &CVS; se encontra para gerir a base de dados das versões e como aceder-lhe. Agora, você irá precisar de dizer ao &tdevelop; sob que nome você irá querer que o &CVS; grave os seus ficheiros do projecto nessa base de dados. O local onde os seus ficheiros do projecto serão guardados no &CVS; é chamado de repositório. -Em princípio, você poderá usar qualquer nome para o repositório de &CVS; dos ficheiros do seu projecto, desde que corresponda às especificações de nomes de ficheiros. Mesmo assim, a maioria dos programadores usam apenas o nome da aplicação em si. O &CVS; irá criar uma directoria com esse nome na raiz do &CVS;, para que seja encontrada com maior facilidade se você mantiver o nome da aplicação nela. -Basta indica o nome do repositório que deseja usar no campo Repositório do CVS da página Criar um Novo Projecto Sistema de Controlo de Versões. No nosso exemplo, esta é: NovaAplicacao - -Tenha cuidado em não usar um repositório que já exista! O sistema &CVS; não o avisa sobre os ficheiros duplicados mas irá limpar tudo o que não conduza a um conflito formal. Em resumo, você poderá deixar tudo confuso! +Em princípio, você poderá usar qualquer nome para o repositório de &CVS; dos ficheiros do seu projecto, desde que corresponda às especificações de nomes de ficheiros. Mesmo assim, a maioria dos programadores usam apenas o nome da aplicação em si. O &CVS; irá criar uma directoria com esse nome na raiz do &CVS;, para que seja encontrada com maior facilidade se você mantiver o nome da aplicação nela. +Basta indica o nome do repositório que deseja usar no campo Repositório do CVS da página Criar um Novo Projecto Sistema de Controlo de Versões. No nosso exemplo, esta é: NovaAplicacao + +Tenha cuidado em não usar um repositório que já exista! O sistema &CVS; não o avisa sobre os ficheiros duplicados mas irá limpar tudo o que não conduza a um conflito formal. Em resumo, você poderá deixar tudo confuso! -Os Campos Restantes -Não existe já muito mais para fazer. O &appwizard; já configurou os campos restante por si. Em detalhe: +Os Campos Restantes +Não existe já muito mais para fazer. O &appwizard; já configurou os campos restante por si. Em detalhe: -O campo do Vendedor é usado apenas por razões de compatibilidade. Você poderá usar o valor por omissão distribuidor que o &appwizard; usa. -O campo da Mensagem permite-lhe comentar o conteúdo inicial do &CVS;. Use o texto que desejar ou poderá manter o texto novo projecto que o &appwizard; colocou. -O campo Marca de lançamento contém o nome que é marcado para o estado inicial do seu projecto. Essa marca define um certo ponto no repositório do &CVS; a que você poderá aceder posteriormente para este estado do seu desenvolvimento. (Veja mais no capítulo Usar o &CVS;.) -O &appwizard; colocou uma marca inicio, a qual é uma proposta aceitável. Basta usá-la. +O campo do Vendedor é usado apenas por razões de compatibilidade. Você poderá usar o valor por omissão distribuidor que o &appwizard; usa. +O campo da Mensagem permite-lhe comentar o conteúdo inicial do &CVS;. Use o texto que desejar ou poderá manter o texto novo projecto que o &appwizard; colocou. +O campo Marca de lançamento contém o nome que é marcado para o estado inicial do seu projecto. Essa marca define um certo ponto no repositório do &CVS; a que você poderá aceder posteriormente para este estado do seu desenvolvimento. (Veja mais no capítulo Usar o &CVS;.) +O &appwizard; colocou uma marca inicio, a qual é uma proposta aceitável. Basta usá-la. -Quando qualquer uma destas informações está errada, o &tdevelop; normalmente não irá saber de nada até à altura da criação do projecto. É o sistema do &CVS; que irá descobrir esses erros ao tentar criar o repositório. Aqui você deverá dar uma vista de olhos na janela Mensagens do &tdevelop; logo que o projecto for criado no passo final da configuração. Se ocorreu algum erro com o &CVS;, você irá ver na maioria dos casos uma mensagem semelhante a esta: +Quando qualquer uma destas informações está errada, o &tdevelop; normalmente não irá saber de nada até à altura da criação do projecto. É o sistema do &CVS; que irá descobrir esses erros ao tentar criar o repositório. Aqui você deverá dar uma vista de olhos na janela Mensagens do &tdevelop; logo que o projecto for criado no passo final da configuração. Se ocorreu algum erro com o &CVS;, você irá ver na maioria dos casos uma mensagem semelhante a esta: - + * cd '/home/ze/teste' e&& cvs -d '/home/ze/raiz_cvs' \ import -m 'novo projecto' '' 'distribuidor' 'inicial' &&\ sh /opt/kde3/share/apps/kdevcvs/buildcvs.sh . '' \ @@ -1022,48 +413,25 @@ * cvs [import aborted]: /home/ze/raiz_cvs/CVSROOT: No such file or directory * *** Exited with status: 1 *** - - -Se isto acontecer, você terá de configurar manualmente o &CVS; (o &tdevelop; deverá ter conseguido inicializar com sucesso os ficheiros do seu projecto nesta altura) ou então remover a directoria do projecto e começar tudo de novo com a opção Novo Projecto do menu Projecto. + + +Se isto acontecer, você terá de configurar manualmente o &CVS; (o &tdevelop; deverá ter conseguido inicializar com sucesso os ficheiros do seu projecto nesta altura) ou então remover a directoria do projecto e começar tudo de novo com a opção Novo Projecto do menu Projecto. -Depois de você ter introduzido toda a configuração relacionada com o &CVS;, carregue no botão Próximo > para prosseguir. +Depois de você ter introduzido toda a configuração relacionada com o &CVS;, carregue no botão Próximo > para prosseguir. -Se você quiser corrigir um erro na página anterior do Criar um Novo Projecto, basta carregar no botão < Anterior. O &appwizard; irá recordar os seus resultados na página actual, por isso você poderá prosseguir com facilidade quando regressar. +Se você quiser corrigir um erro na página anterior do Criar um Novo Projecto, basta carregar no botão < Anterior. O &appwizard; irá recordar os seus resultados na página actual, por isso você poderá prosseguir com facilidade quando regressar. - + -Fornecer os Modelos de Ficheiros de Código/Inclusão - -O próximo passo leva-o a uma série de páginas onde poderá configurar informações comuns que deseje incluir nos seus ficheiros de código e de inclusão, se a tarefa à mão o permitir. -Tanto os modelos para ficheiros de código e de inclusão são fornecidos para as aplicações de C e C++, cada um na sua própria página. Para as outras linguagens, só deverão existir modelos de ficheiros de código. E ainda, noutros casos, você poderá encontrar esta página de modelos em branco. -Se a página for usada, o &appwizard; irá preencher um dado comentário comum sobre o que uma aplicação em C++ poderá parecer (o texto está em inglês, dado ser uma transcrição da licença GPL): - - +Fornecer os Modelos de Ficheiros de Código/Inclusão + +O próximo passo leva-o a uma série de páginas onde poderá configurar informações comuns que deseje incluir nos seus ficheiros de código e de inclusão, se a tarefa à mão o permitir. +Tanto os modelos para ficheiros de código e de inclusão são fornecidos para as aplicações de C e C++, cada um na sua própria página. Para as outras linguagens, só deverão existir modelos de ficheiros de código. E ainda, noutros casos, você poderá encontrar esta página de modelos em branco. +Se a página for usada, o &appwizard; irá preencher um dado comentário comum sobre o que uma aplicação em C++ poderá parecer (o texto está em inglês, dado ser uma transcrição da licença GPL): + + /*************************************************************************** * Copyright (C) 2003 by O Seu Nome * * voce@proprio.com * @@ -1083,278 +451,115 @@ * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ - - -Outros modelos irão fornecer várias informações semelhantes num formato que esteja de acordo com as definições da linguagem de programação que deseja usar. -Como você poderá já ter notado, o gestor de aplicações já preencheu alguma informação que você indicou na primeira página Geral da janela Criar um Novo Projecto, nomeadamente o conteúdo dos campos Autor e E-mail. Também a informação adequada da licença foi introduzida de acordo com a sua selecção na página Licença. + + +Outros modelos irão fornecer várias informações semelhantes num formato que esteja de acordo com as definições da linguagem de programação que deseja usar. +Como você poderá já ter notado, o gestor de aplicações já preencheu alguma informação que você indicou na primeira página Geral da janela Criar um Novo Projecto, nomeadamente o conteúdo dos campos Autor e E-mail. Também a informação adequada da licença foi introduzida de acordo com a sua selecção na página Licença. -Como Editar os Modelos +Como Editar os Modelos - modelos - projecto - editar + modelos + projecto + editar - projecto - modelos - editar - -Os modelos que você configurar na janela Criar um Novo Projecto serão depois processados, sempre que você disser ao &tdevelop; para configurar um novo ficheiro de código e/ou de inclusão. A informação que indicar aqui será incluída no topo, como um cabeçalho de documentação, antes de a parte do código começar. -Você não está restrito ao texto normal, de qualquer forma. O &tdevelop; reconhece diversas variáveis que lhe permitirão incluir a informação actualizada no ficheiro. O &appwizard; usou de facto algumas variáveis para inserir o Autor, o E-mail e a Licença no campo de texto do modelo inicial. + projecto + modelos + editar + +Os modelos que você configurar na janela Criar um Novo Projecto serão depois processados, sempre que você disser ao &tdevelop; para configurar um novo ficheiro de código e/ou de inclusão. A informação que indicar aqui será incluída no topo, como um cabeçalho de documentação, antes de a parte do código começar. +Você não está restrito ao texto normal, de qualquer forma. O &tdevelop; reconhece diversas variáveis que lhe permitirão incluir a informação actualizada no ficheiro. O &appwizard; usou de facto algumas variáveis para inserir o Autor, o E-mail e a Licença no campo de texto do modelo inicial. -Incluir a Informação do Ficheiro para o &doxygen; +Incluir a Informação do Ficheiro para o &doxygen; -Se, por exemplo, você quiser que a documentação da &API; gerada pelo &doxygen; mostre alguma informação sobre o conteúdo do ficheiro na sua lista de ficheiros, você poderá incluir as seguintes linhas no modelo do ficheiro de código: - +Se, por exemplo, você quiser que a documentação da &API; gerada pelo &doxygen; mostre alguma informação sobre o conteúdo do ficheiro na sua lista de ficheiros, você poderá incluir as seguintes linhas no modelo do ficheiro de código: + /** * \file $MODULE$.cpp * \brief (ponha uma descrição breve aqui). **/ - -Sempre que você criar um novo ficheiro de código, o &tdevelop; irá substituir a variável $MODULE$ pelo nome do ficheiro criado como novo. Por exemplo, se você criou uma nova classe de C++ chamada TesteSimples, você irá ver as seguintes linhas no ficheiro testesimples.cpp: - + +Sempre que você criar um novo ficheiro de código, o &tdevelop; irá substituir a variável $MODULE$ pelo nome do ficheiro criado como novo. Por exemplo, se você criou uma nova classe de C++ chamada TesteSimples, você irá ver as seguintes linhas no ficheiro testesimples.cpp: + /** * \file testesimples.cpp * \brief (ponha uma descrição breve aqui). **/ - -Você terá à mesma de fornecer a breve descrição a seguir à palavra-chave \brief, mas parte do trabalho é automaticamente feita para si. + +Você terá à mesma de fornecer a breve descrição a seguir à palavra-chave \brief, mas parte do trabalho é automaticamente feita para si. -O Ficheiro de Texto da Licença +O Ficheiro de Texto da Licença -Como outro exemplo, você poderia incluir uma referência explícita para o texto da licença que deseja usar no modelo. Use a variável $LICENSEFILE$ para esse fim e adicione, por exemplo, esta linha: +Como outro exemplo, você poderia incluir uma referência explícita para o texto da licença que deseja usar no modelo. Use a variável $LICENSEFILE$ para esse fim e adicione, por exemplo, esta linha: - + // Veja o $LICENSEFILE$ para o texto completo da licença. - -O &appwizard; irá substituir o $LICENSEFILE$ pela localização do ficheiro com o texto completo da licença, nomeadamente: - + +O &appwizard; irá substituir o $LICENSEFILE$ pela localização do ficheiro com o texto completo da licença, nomeadamente: + // Veja o COPYING para o texto completo da licença. - -para a licença GPL ou - + +para a licença GPL ou + // Veja o LICENSE.BSD para o texto completo da licença. - -se optou por colocar a sua aplicação segundo os termos da licença BSD. -Existem obviamente mais variáveis que o &tdevelop; conhece. Veja a secção sobre como Editar os modelos no capítulo Ferramentas de edição para saber o que é possível. + +se optou por colocar a sua aplicação segundo os termos da licença BSD. +Existem obviamente mais variáveis que o &tdevelop; conhece. Veja a secção sobre como Editar os modelos no capítulo Ferramentas de edição para saber o que é possível. -Os modelos que definir aqui ficarão em efeito só após o &appwizard; ter criado o projecto novo. Você irá encontrar esta informação no topo dos ficheiros que você criou durante o processo de desenvolvimento. Ao criar os ficheiros iniciais, o &appwizard; irá usar alguns modelos-padrão predefinidos. Você terá de adaptar manualmente estes ficheiros iniciais de acordo com as suas necessidades. +Os modelos que definir aqui ficarão em efeito só após o &appwizard; ter criado o projecto novo. Você irá encontrar esta informação no topo dos ficheiros que você criou durante o processo de desenvolvimento. Ao criar os ficheiros iniciais, o &appwizard; irá usar alguns modelos-padrão predefinidos. Você terá de adaptar manualmente estes ficheiros iniciais de acordo com as suas necessidades. - - + + -Criar os Ficheiros Iniciais do Projecto +Criar os Ficheiros Iniciais do Projecto - projecto - novos - criar + projecto + novos + criar - projecto - criação inicial - -Está quase tudo feito, por agora. Na última página de modelos, o botão Próximo > terá mudado para aparecer então Terminar. -Pense duas vezes antes de carregar nele! Você terá à mesma a opção de rever tudo se carregar repetidamente no botão < Anterior. Dado que o &appwizard; recorda todas as informações que você introduziu até agora, é aconselhável que você ocupe algum tempo a rever tudo de novo. No caso de você usar o &CVS; local, não se esqueça de verificar com atenção o nome do repositório de &CVS; (não deverá existir nenhuma subdirectoria com esse nome na directoria da raiz do &CVS; — se existir, tente outro nome de repositório). -Se em alguma altura não desejar que o novo projecto, seja criado, interrompa a janela do Criar um Novo Projecto com o botão Cancelar. Caso contrário, carregue em Terminar e veja na janela Mensagens como é que o &appwizard; inicia o projecto. -Se você quiser usar um sistema de controlo de versões (&CVS;), irão existir dois passos, de facto. O &appwizard; irá primeiro criar as directorias e ficheiros do projecto e então depois invocará o programa &CVS; que irá reiniciar a janela de Mensagens com o seu próprio conteúdo. Se ocorrer algum erro durante uma dessas execuções, o processo irá terminar, mostrando-lhe uma mensagem de erro correspondente na janela. - -Em muitos casos em que o seu projecto foi configurado desta forma, o &tdevelop; irá automaticamente carregar os ficheiros de código de um ou mais módulos importantes para que você possa começar logo a trabalhar. (Os módulos de código que serão mostrados—se existir algum que seja—contudo, depende do modelo seleccionado inicialmente no &appwizard;.) - -Não se esqueça de verificar inicialmente o que é que o &appwizard; forneceu. Por exemplo, você poderá querer alterar as informações iniciais dos cabeçalhos, de acordo com os seus próprios modelos. Normalmente, você irá encontrar estes numa subdirectoria templates da directoria do seu projecto. À partida, somente algumas cópias simples serão suficientes. -Aí, é aconselhável que você compile o projecto inicial antes de tentar alterar qualquer código que seja. Na maioria dos casos, esta compilação inicial será possível à partida. Como tal, você poderá começar logo a preparar o projecto para ser alterado de acordo com a sua vontade. Se não foi possível, basta remover a directoria do projecto (e da sua raiz local do &CVS; se usar alguma) e recomeçar do princípio. - - + projecto + criação inicial + +Está quase tudo feito, por agora. Na última página de modelos, o botão Próximo > terá mudado para aparecer então Terminar. +Pense duas vezes antes de carregar nele! Você terá à mesma a opção de rever tudo se carregar repetidamente no botão < Anterior. Dado que o &appwizard; recorda todas as informações que você introduziu até agora, é aconselhável que você ocupe algum tempo a rever tudo de novo. No caso de você usar o &CVS; local, não se esqueça de verificar com atenção o nome do repositório de &CVS; (não deverá existir nenhuma subdirectoria com esse nome na directoria da raiz do &CVS; — se existir, tente outro nome de repositório). +Se em alguma altura não desejar que o novo projecto, seja criado, interrompa a janela do Criar um Novo Projecto com o botão Cancelar. Caso contrário, carregue em Terminar e veja na janela Mensagens como é que o &appwizard; inicia o projecto. +Se você quiser usar um sistema de controlo de versões (&CVS;), irão existir dois passos, de facto. O &appwizard; irá primeiro criar as directorias e ficheiros do projecto e então depois invocará o programa &CVS; que irá reiniciar a janela de Mensagens com o seu próprio conteúdo. Se ocorrer algum erro durante uma dessas execuções, o processo irá terminar, mostrando-lhe uma mensagem de erro correspondente na janela. + +Em muitos casos em que o seu projecto foi configurado desta forma, o &tdevelop; irá automaticamente carregar os ficheiros de código de um ou mais módulos importantes para que você possa começar logo a trabalhar. (Os módulos de código que serão mostrados—se existir algum que seja—contudo, depende do modelo seleccionado inicialmente no &appwizard;.) + +Não se esqueça de verificar inicialmente o que é que o &appwizard; forneceu. Por exemplo, você poderá querer alterar as informações iniciais dos cabeçalhos, de acordo com os seus próprios modelos. Normalmente, você irá encontrar estes numa subdirectoria templates da directoria do seu projecto. À partida, somente algumas cópias simples serão suficientes. +Aí, é aconselhável que você compile o projecto inicial antes de tentar alterar qualquer código que seja. Na maioria dos casos, esta compilação inicial será possível à partida. Como tal, você poderá começar logo a preparar o projecto para ser alterado de acordo com a sua vontade. Se não foi possível, basta remover a directoria do projecto (e da sua raiz local do &CVS; se usar alguma) e recomeçar do princípio. + + - configuração predefinida da criação - aviso + configuração predefinida da criação + aviso - configurações da criação - aviso da criação predefinida + configurações da criação + aviso da criação predefinida - aviso - configuração predefinida da criação - - Antes de você compilar o seu novo projecto da primeira vez, dê uma vista de olhos no Projecto Configuração da Construção. Devem existir três selecções mostradas: default, optimized e debug, com a debug seleccionada; use se possível esta, ou então use a optimized em alternativa. - Devido a algumas limitações na configuração actual do autoconf/automake, você não deverá de forma alguma compilar com a configuração default. Esta irá corromper algumas configurações de directorias internas, fazendo com que o configure se queixe quando o tentar usar nas configurações optimized ou debug, a seguir. - (Isto aplica-se apenas às capacidades com várias opções. Se o tipo de aplicação que você seleccionou só contém uma configuração default, você deverá obviamente usar esta.) + aviso + configuração predefinida da criação + + Antes de você compilar o seu novo projecto da primeira vez, dê uma vista de olhos no Projecto Configuração da Construção. Devem existir três selecções mostradas: default, optimized e debug, com a debug seleccionada; use se possível esta, ou então use a optimized em alternativa. + Devido a algumas limitações na configuração actual do autoconf/automake, você não deverá de forma alguma compilar com a configuração default. Esta irá corromper algumas configurações de directorias internas, fazendo com que o configure se queixe quando o tentar usar nas configurações optimized ou debug, a seguir. + (Isto aplica-se apenas às capacidades com várias opções. Se o tipo de aplicação que você seleccionou só contém uma configuração default, você deverá obviamente usar esta.) - + - + - + diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/class-browsers.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/class-browsers.docbook index 83c6737f085..3c0846e7032 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/class-browsers.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/class-browsers.docbook @@ -1,89 +1,47 @@ -Os Navegadores de Classes -navegador de classes +Os Navegadores de Classes +navegador de classes -Ao lidar com um projecto numa linguagem orientada por objectos, a sua ênfase ao trabalhar no projecto não é nos ficheiros de código e nos seus nomes, mas sim nas classes e nas relações entre elas. Para o ajudar a navegar no espaço de classes e símbolos definidos, o &tdevelop; inclui vários navegadores de classes que visualizam a estrutura de classes de várias formas. +Ao lidar com um projecto numa linguagem orientada por objectos, a sua ênfase ao trabalhar no projecto não é nos ficheiros de código e nos seus nomes, mas sim nas classes e nas relações entre elas. Para o ajudar a navegar no espaço de classes e símbolos definidos, o &tdevelop; inclui vários navegadores de classes que visualizam a estrutura de classes de várias formas. -Área de Classes +Área de Classes -Esta área é mostrada do lado esquerdo da janela principal e contém uma lista linear com todas as classes, variáveis e funções do seu projecto. Está representada como uma árvore. Se você abrir o nó de uma classe ao carregar nele, irá aparecer uma lista com todos os métodos e atributos da classe respectiva. +Esta área é mostrada do lado esquerdo da janela principal e contém uma lista linear com todas as classes, variáveis e funções do seu projecto. Está representada como uma árvore. Se você abrir o nó de uma classe ao carregar nele, irá aparecer uma lista com todos os métodos e atributos da classe respectiva.
-Uma Imagem da Área de Classes +Uma Imagem da Área de Classes - +
-A área de classes funciona de dois modos diferentes. Por omissão, todos os símbolos estão agrupados em Classes, Estruturas, Funções, Variáveis e Espaços de Nomes. No menu de contexto da área, poderá escolher a opção Listar por Espaços de Nomes. Neste modo, a hierarquia do espaço de nomes é mostrada e os símbolos são agrupados pelo espaço de nomes respectivo em que são definidos. Isto poderá ser mais útil nos projectos que tirem bastante partido dos espaços de nomes (encadeados). É menos útil nos projectos sem espaços de nomes. - -Poderá também alterar a forma com que os nomes das classes são apresentados. Normalmente, os nomes das classes aparecem sem o espaço de nomes em que foram definidas. Isto significa que você não consegue distinguir imediatamente as classes que tenham o mesmo nome em espaços de nomes diferentes. Se esperar um pouco com o cursor do rato sobre o item, irá aparecer o nome completo como uma dica. Poderá optar por mostrar sempre o nome completo da classe se escolher a opção Âmbitos dos identificadores completos no menu de contexto. - -Se carregar numa classe ou método da área de classes, irá mostrar a sua definição. Poderá sempre saltar para a declaração de um método se escolher a opção Ir para a declaração no menu de contexto. No menu de contexto das classes, existem também os itens Adicionar um método... e Adicionar um atributo.... Isto irá abrir janelas onde poderá gerar novas declarações de métodos e variáveis nas classes respectivas, em conjunto com uma implementação vazia. - -
+A área de classes funciona de dois modos diferentes. Por omissão, todos os símbolos estão agrupados em Classes, Estruturas, Funções, Variáveis e Espaços de Nomes. No menu de contexto da área, poderá escolher a opção Listar por Espaços de Nomes. Neste modo, a hierarquia do espaço de nomes é mostrada e os símbolos são agrupados pelo espaço de nomes respectivo em que são definidos. Isto poderá ser mais útil nos projectos que tirem bastante partido dos espaços de nomes (encadeados). É menos útil nos projectos sem espaços de nomes. + +Poderá também alterar a forma com que os nomes das classes são apresentados. Normalmente, os nomes das classes aparecem sem o espaço de nomes em que foram definidas. Isto significa que você não consegue distinguir imediatamente as classes que tenham o mesmo nome em espaços de nomes diferentes. Se esperar um pouco com o cursor do rato sobre o item, irá aparecer o nome completo como uma dica. Poderá optar por mostrar sempre o nome completo da classe se escolher a opção Âmbitos dos identificadores completos no menu de contexto. + +Se carregar numa classe ou método da área de classes, irá mostrar a sua definição. Poderá sempre saltar para a declaração de um método se escolher a opção Ir para a declaração no menu de contexto. No menu de contexto das classes, existem também os itens Adicionar um método... e Adicionar um atributo.... Isto irá abrir janelas onde poderá gerar novas declarações de métodos e variáveis nas classes respectivas, em conjunto com uma implementação vazia. + + -Ferramentas de Classes +Ferramentas de Classes -A janela de classes é activada se carregar com o botão direito numa classe da área de classes e escolher a opção Ferramenta de classes.... +A janela de classes é activada se carregar com o botão direito numa classe da área de classes e escolher a opção Ferramenta de classes.... - + -Hierarquia de Classes +Hierarquia de Classes -(... ainda não escrito ...) +(... ainda não escrito ...) - + -
+ diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/commands.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/commands.docbook index 8711e906a5f..c77b0cf35c4 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/commands.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/commands.docbook @@ -7,50 +7,21 @@ -Volker Paul -JoséPires
jncp@netcabo.pt
Tradução
+Volker Paul +JoséPires
jncp@netcabo.pt
Tradução
-03-04-2005 +03-04-2005
-Referência de Comandos +Referência de Comandos -As combinações de teclas de atalho mostradas neste capítulo são as que vêm por omissão. Poderão à mesma ser alteradas. +As combinações de teclas de atalho mostradas neste capítulo são as que vêm por omissão. Poderão à mesma ser alteradas. -A Barra de Menu Lembre-se que alguns dos itens do menu só aparecem quando se aplicarem. Especialmente, alguns itens estão associados à funcionalidade de determinados 'plugins' que só ficará disponível, quando os 'plugins' respectivos estiverem activos. +A Barra de Menu Lembre-se que alguns dos itens do menu só aparecem quando se aplicarem. Especialmente, alguns itens estão associados à funcionalidade de determinados 'plugins' que só ficará disponível, quando os 'plugins' respectivos estiverem activos. @@ -60,304 +31,90 @@ -O Menu <guimenu ->Ficheiro</guimenu -> +O Menu <guimenu>Ficheiro</guimenu> - &Ctrl;N Ficheiro Novo -Cria um novo ficheiro. É pedida ao utilizador a pasta onde colocar o ficheiro (por omissão: a pasta de código do projecto actual) e o nome do ficheiro. O tipo do ficheiro poderá ser seleccionado a partir de uma lista. Do mesmo modo, o utilizador poderá escolher se o ficheiro é para ser adicionado ao projecto. Nesse caso, o Gestor do Automake irá perguntar o alvo ao qual adicionar o novo ficheiro. - - - - &Ctrl;O Ficheiro Abrir -Abre um ficheiro existente numa janela simples. - - - - &Ctrl;O Ficheiro Abrir um Recente -Abre um submenu que mostra os ficheiros abertos recentemente. Se seleccionar um destes, fará com que o KDevelop abra esse ficheiro. - - - - &Alt;&Ctrl;O Ficheiro Abertura Rápida -Apresenta uma lista de ficheiros na pasta de código do projecto actual. O utilizador poderá seleccioná-lo na lista ou indicar o seu nome. Será esse ficheiro então aberto. - - - - - &Ctrl;S Ficheiro Gravar -Grava o ficheiro actual. - - - - - &Ctrl;S Ficheiro Gravar Como... -Usa a janela Gravar Como... para lhe permitir gravar uma cópia com um novo nome. - - - -Ficheiro Gravar Tudo -Grava todos os ficheiros abertos. - - - -F5 Ficheiro Recarregar -Volta a carregar o ficheiro actual para mostrar as alterações feitas pelos outros programas. (Lembre-se que estas alterações são normalmente detectadas automaticamente e o utilizador é avisado para dizer se deseja carregar os ficheiros novos). - - - -Ficheiro Reverter tudo -Reverte todas as modificações feitas nos ficheiros abertos. Avisa o utilizador para gravar as alterações, para que essa reposição possa ser cancelada para cada ficheiro modificado. - - - - - &Ctrl;P Ficheiro Imprimir... -Imprimir. - - - -Ficheiro Exportar -Exportar - - - - - &Ctrl;F4 Ficheiro Fechar -Fecha o ficheiro actual. - - - - -Ficheiro Fechar Tudo -Fecha todos os ficheiros abertos. - - - - -Ficheiro Fechar Todos os Outros -Fecha todos os ficheiros excepto o actual. É muito útil se tiver aberto vários ficheiros e só se deseja concentrar no actual. Sem isto, teria de fechá-los a todos e voltar a abrir o actual. -Repare que existe uma opção semelhante no menu Janela. - - - - - &Ctrl;Q Ficheiro Sair -Fecha o KDevelop. + &Ctrl;N Ficheiro Novo +Cria um novo ficheiro. É pedida ao utilizador a pasta onde colocar o ficheiro (por omissão: a pasta de código do projecto actual) e o nome do ficheiro. O tipo do ficheiro poderá ser seleccionado a partir de uma lista. Do mesmo modo, o utilizador poderá escolher se o ficheiro é para ser adicionado ao projecto. Nesse caso, o Gestor do Automake irá perguntar o alvo ao qual adicionar o novo ficheiro. + + + + &Ctrl;O Ficheiro Abrir +Abre um ficheiro existente numa janela simples. + + + + &Ctrl;O Ficheiro Abrir um Recente +Abre um submenu que mostra os ficheiros abertos recentemente. Se seleccionar um destes, fará com que o KDevelop abra esse ficheiro. + + + + &Alt;&Ctrl;O Ficheiro Abertura Rápida +Apresenta uma lista de ficheiros na pasta de código do projecto actual. O utilizador poderá seleccioná-lo na lista ou indicar o seu nome. Será esse ficheiro então aberto. + + + + + &Ctrl;S Ficheiro Gravar +Grava o ficheiro actual. + + + + + &Ctrl;S Ficheiro Gravar Como... +Usa a janela Gravar Como... para lhe permitir gravar uma cópia com um novo nome. + + + +Ficheiro Gravar Tudo +Grava todos os ficheiros abertos. + + + +F5 Ficheiro Recarregar +Volta a carregar o ficheiro actual para mostrar as alterações feitas pelos outros programas. (Lembre-se que estas alterações são normalmente detectadas automaticamente e o utilizador é avisado para dizer se deseja carregar os ficheiros novos). + + + +Ficheiro Reverter tudo +Reverte todas as modificações feitas nos ficheiros abertos. Avisa o utilizador para gravar as alterações, para que essa reposição possa ser cancelada para cada ficheiro modificado. + + + + + &Ctrl;P Ficheiro Imprimir... +Imprimir. + + + +Ficheiro Exportar +Exportar + + + + + &Ctrl;F4 Ficheiro Fechar +Fecha o ficheiro actual. + + + + +Ficheiro Fechar Tudo +Fecha todos os ficheiros abertos. + + + + +Ficheiro Fechar Todos os Outros +Fecha todos os ficheiros excepto o actual. É muito útil se tiver aberto vários ficheiros e só se deseja concentrar no actual. Sem isto, teria de fechá-los a todos e voltar a abrir o actual. +Repare que existe uma opção semelhante no menu Janela. + + + + + &Ctrl;Q Ficheiro Sair +Fecha o KDevelop. @@ -370,468 +127,135 @@ -O Menu <guimenu ->Editar</guimenu -> +O Menu <guimenu>Editar</guimenu> - &Ctrl;Z Editar Desfazer -Desfazer - - - - - &Ctrl;&Shift;Z Editar Refazer -Refazer - - - - - &Ctrl;X Editar Cortar -Cortar - - - - - &Ctrl;C Editar Copiar -Copiar - - - - - &Ctrl;V Editar Colar -Colar - - - - - &Ctrl;A Editar Seleccionar Tudo -Seleccionar Tudo - - - - - &Ctrl;&Shift;A Editar Deseleccionar -Deseleccionar - - - - - &Ctrl;&Shift;B Editar Modo de Selecção em Bloco -Modo de Selecção em Bloco - - - - - Insert Editar Modo de Sobreposição -Modo de Sobreposição - - - - - &Ctrl;F Editar Procurar -Procurar - - - - -F3 EditarProcurar o Seguinte -Procurar o Seguinte - - - - - &Shift;F3 Editar Procurar Anterior -Procurar o Anterior - - - - - &Ctrl;R Editar Substituir -Substituir - - - - - &Ctrl;G Editar Ir para a Linha -Ir para a Linha - - - - - &Alt;&Ctrl;F Editar Procurar nos Ficheiros -Procurar nos Ficheiros - - - - - &Shift;R Editar Procurar-Seleccionar-Substituir -Procurar-Seleccionar-Substituir - - - - -Editar Formatar o Código -Formatar o Código - - - - - &Ctrl;J Editar Expandir o Texto -Expandir o Texto - - - - - &Ctrl;L Editar Expandir a Abreviatura -Expandir a Abreviatura - - - - - &Ctrl;Espaço Editar Completar Texto -Completar o Texto - - - - - F2 Editar Criar o Membro -Criar o Membro + &Ctrl;Z Editar Desfazer +Desfazer + + + + + &Ctrl;&Shift;Z Editar Refazer +Refazer + + + + + &Ctrl;X Editar Cortar +Cortar + + + + + &Ctrl;C Editar Copiar +Copiar + + + + + &Ctrl;V Editar Colar +Colar + + + + + &Ctrl;A Editar Seleccionar Tudo +Seleccionar Tudo + + + + + &Ctrl;&Shift;A Editar Deseleccionar +Deseleccionar + + + + + &Ctrl;&Shift;B Editar Modo de Selecção em Bloco +Modo de Selecção em Bloco + + + + + Insert Editar Modo de Sobreposição +Modo de Sobreposição + + + + + &Ctrl;F Editar Procurar +Procurar + + + + +F3 EditarProcurar o Seguinte +Procurar o Seguinte + + + + + &Shift;F3 Editar Procurar Anterior +Procurar o Anterior + + + + + &Ctrl;R Editar Substituir +Substituir + + + + + &Ctrl;G Editar Ir para a Linha +Ir para a Linha + + + + + &Alt;&Ctrl;F Editar Procurar nos Ficheiros +Procurar nos Ficheiros + + + + + &Shift;R Editar Procurar-Seleccionar-Substituir +Procurar-Seleccionar-Substituir + + + + +Editar Formatar o Código +Formatar o Código + + + + + &Ctrl;J Editar Expandir o Texto +Expandir o Texto + + + + + &Ctrl;L Editar Expandir a Abreviatura +Expandir a Abreviatura + + + + + &Ctrl;Espaço Editar Completar Texto +Completar o Texto + + + + + F2 Editar Criar o Membro +Criar o Membro @@ -846,411 +270,132 @@ -O Menu <guimenu ->Ver</guimenu -> +O Menu <guimenu>Ver</guimenu> -Ver Recuar -Recuar - - - - -Ver Avançar -Avançar - - - - - &Ctrl;/ Ver Mudar para... -Mudar para... - - - - - &Alt;C Ver Elevar o Editor -Elevar o Editor - - - - - F4 Ver Erro Seguinte -Erro Seguinte - - - - - &Shift;F4 Ver Erro Anterior -Erro Anterior - - - - - &Shift;F Ver Modo de Ecrã Completo -Modo de Ecrã Completo - - - - - &Ctrl;F12 Ver Mudar para a Declaração/Implementação -Mudar Para a Declaração/Implementação - - - - -Ver Janelas de Ferramentas -Janelas de Ferramentas - - - - -Ver Acoplagem de Ferramentas -Acoplagem de Ferramentas - - - - - F7 Ver Mudar para a Linha de Comandos -Mudar para a Linha de Comandos - - - - -Ver Esquema -Esquema - - - - - F10 Ver Mudança de Linha Dinâmica -Mudança de Linha Dinâmica - - - - -Ver Indicadores de Mudança de Linha Dinâmica -Indicadores de Mudança de Linha Dinâmica - - - - -Ver Mostrar/Esconder o Marcador Estático de Mudança de Linha -Mostrar/Esconder o Marcador Estático de Mudança de Linha - - - - - F6 Ver Mostrar/Esconder o Contorno dos Ícones -Mostrar/Esconder o Contorno dos Ícones - - - - - F11 Ver Mostrar/Esconder os Números de Linha -Mostrar/Esconder os Números de Linha - - - - -Ver Mostrar/Esconder as Marcações da Barra de Posicionamento -Mostrar/Esconder as Marcações da Barra de Posicionamento - - - - - F9 Ver Mostrar/Esconder as Marcas de Expansão -Mostrar/Esconder as Marcas de Expansão/Recolhimento do Código - - - - -Ver Dobragem do Código -Dobragem do Código - - - - -Ver Escolher a Codificação -Escolher a Codificação +Ver Recuar +Recuar + + + + +Ver Avançar +Avançar + + + + + &Ctrl;/ Ver Mudar para... +Mudar para... + + + + + &Alt;C Ver Elevar o Editor +Elevar o Editor + + + + + F4 Ver Erro Seguinte +Erro Seguinte + + + + + &Shift;F4 Ver Erro Anterior +Erro Anterior + + + + + &Shift;F Ver Modo de Ecrã Completo +Modo de Ecrã Completo + + + + + &Ctrl;F12 Ver Mudar para a Declaração/Implementação +Mudar Para a Declaração/Implementação + + + + +Ver Janelas de Ferramentas +Janelas de Ferramentas + + + + +Ver Acoplagem de Ferramentas +Acoplagem de Ferramentas + + + + + F7 Ver Mudar para a Linha de Comandos +Mudar para a Linha de Comandos + + + + +Ver Esquema +Esquema + + + + + F10 Ver Mudança de Linha Dinâmica +Mudança de Linha Dinâmica + + + + +Ver Indicadores de Mudança de Linha Dinâmica +Indicadores de Mudança de Linha Dinâmica + + + + +Ver Mostrar/Esconder o Marcador Estático de Mudança de Linha +Mostrar/Esconder o Marcador Estático de Mudança de Linha + + + + + F6 Ver Mostrar/Esconder o Contorno dos Ícones +Mostrar/Esconder o Contorno dos Ícones + + + + + F11 Ver Mostrar/Esconder os Números de Linha +Mostrar/Esconder os Números de Linha + + + + +Ver Mostrar/Esconder as Marcações da Barra de Posicionamento +Mostrar/Esconder as Marcações da Barra de Posicionamento + + + + + F9 Ver Mostrar/Esconder as Marcas de Expansão +Mostrar/Esconder as Marcas de Expansão/Recolhimento do Código + + + + +Ver Dobragem do Código +Dobragem do Código + + + + +Ver Escolher a Codificação +Escolher a Codificação @@ -1266,202 +411,79 @@ -O Menu <guimenu ->Projecto</guimenu -> +O Menu <guimenu>Projecto</guimenu> -Projecto Novo Projecto... -Novo Projecto... +Projecto Novo Projecto... +Novo Projecto... -Projecto Abrir Projecto... -Abrir um Projecto... +Projecto Abrir Projecto... +Abrir um Projecto... -Projecto Abrir um Projecto Recente -Abrir um Projecto Recente +Projecto Abrir um Projecto Recente +Abrir um Projecto Recente -Projecto Linguagem Activa -Linguagem Activa +Projecto Linguagem Activa +Linguagem Activa -Projecto Importar um Projecto Existente... -Importar um Projecto Existente... +Projecto Importar um Projecto Existente... +Importar um Projecto Existente... -Projecto Nova Classe... -Nova Classe... +Projecto Nova Classe... +Nova Classe... -Projecto Diagrama de Herança de Classes -Diagrama de Herança de Classes +Projecto Diagrama de Herança de Classes +Diagrama de Herança de Classes -Projecto Adicionar uma Tradução... -Adicionar uma Tradução... +Projecto Adicionar uma Tradução... +Adicionar uma Tradução... -Projecto Configuração da Compilação -Configuração da Compilação +Projecto Configuração da Compilação +Configuração da Compilação -Projecto Distribuição & Publicação -Distribuição & Publicação +Projecto Distribuição & Publicação +Distribuição & Publicação -Projecto Opções do Projecto... -Opções do Projecto... +Projecto Opções do Projecto... +Opções do Projecto... -Projecto Fechar o Projecto -Fechar o Projecto +Projecto Fechar o Projecto +Fechar o Projecto @@ -1476,258 +498,91 @@ -O Menu <guimenu ->Projecto</guimenu -> +O Menu <guimenu>Projecto</guimenu> - F8 Construir Construir o Projecto -Construir o Projecto - - - - - F7 Construir Construir o Alvo Activo -Construir o Alvo Activo - - - - -Construir Compilar o Ficheiro -Compilar o Ficheiro - - - - -Construir Correr o 'Configure' -Correr o 'Configure' - - - - -Construir Executar o 'automake' & outros -Executar o 'automake' & outros - - - - -Construir Instalar -Instalar - - - - -Construir Instalar (como utilizador root) -Instalar (como utilizador 'root') - - - - -Construir Limpar o projecto -Limpar o projecto - - - - -Construir Distclean -Distclean + F8 Construir Construir o Projecto +Construir o Projecto + + + + + F7 Construir Construir o Alvo Activo +Construir o Alvo Activo + + + + +Construir Compilar o Ficheiro +Compilar o Ficheiro + + + + +Construir Correr o 'Configure' +Correr o 'Configure' + + + + +Construir Executar o 'automake' & outros +Executar o 'automake' & outros + + + + +Construir Instalar +Instalar + + + + +Construir Instalar (como utilizador root) +Instalar (como utilizador 'root') + + + + +Construir Limpar o projecto +Limpar o projecto - &Shift;F9 Construir Mensagens do Make & Reunir -Mensagens do Make & Reunir +Construir Distclean +Distclean - - - -Construir Executar o Programa -Executar o Programa + + + + &Shift;F9 Construir Mensagens do Make & Reunir +Mensagens do Make & Reunir - - - -Construir Criar a Documentação da API -Criar a Documentação da API + + + +Construir Executar o Programa +Executar o Programa + + + + +Construir Criar a Documentação da API +Criar a Documentação da API - - - -Construir Limpar a Documentação da API -Limpar a Documentação da API + + + +Construir Limpar a Documentação da API +Limpar a Documentação da API - - - - Escape Construir Parar -Parar + + + + Escape Construir Parar +Parar @@ -1743,250 +598,97 @@ -O Menu <guimenu ->Projecto</guimenu -> +O Menu <guimenu>Projecto</guimenu> -Depurar Iniciar -Iniciar +Depurar Iniciar +Iniciar -Depurar Parar -Parar +Depurar Parar +Parar -Depurar Interromper -Interromper +Depurar Interromper +Interromper -Depurar Executar até ao Cursor -Executar Até Ao Cursor +Depurar Executar até ao Cursor +Executar Até Ao Cursor -Depurar Avançar Sobre -Avançar Sobre +Depurar Avançar Sobre +Avançar Sobre -Depurar Avançar sobre a Instrução -Avançar Sobre a Instrução +Depurar Avançar sobre a Instrução +Avançar Sobre a Instrução -Depurar Entrar -Avançar Para +Depurar Entrar +Avançar Para -Depurar Avançar para a Instrução -Avançar Para a Instrução +Depurar Avançar para a Instrução +Avançar Para a Instrução -Depurar Sair -Sair +Depurar Sair +Sair -Depurar Comutar o Ponto de Paragem -Comutar o Ponto de Paragem +Depurar Comutar o Ponto de Paragem +Comutar o Ponto de Paragem -Depurar Visualizadores -Visualizadores +Depurar Visualizadores +Visualizadores -Depurar Examinar o Ficheiro 'Core'... -Examinar o Ficheiro 'Core'... +Depurar Examinar o Ficheiro 'Core'... +Examinar o Ficheiro 'Core'... -Depurar Anexar ao Processo -Anexar ao Processo +Depurar Anexar ao Processo +Anexar ao Processo -Depurar Verificação de Fugas de Memória do Valgrind -Verificação de Fugas de Memória do Valgrind +Depurar Verificação de Fugas de Memória do Valgrind +Verificação de Fugas de Memória do Valgrind -Depurar Perfil com o KCachegrind -Análise com o KCachegrind +Depurar Perfil com o KCachegrind +Análise com o KCachegrind @@ -2005,48 +707,19 @@ -O Menu <guimenu ->Favoritos</guimenu -> +O Menu <guimenu>Favoritos</guimenu> -&Ctrl;B FavoritosComutar o Favorito -Adiciona a selecção actual aos seus favoritos. - - - - -Favoritos Limpar Todos os Favoritos -Limpar todos os favoritos. +&Ctrl;B FavoritosComutar o Favorito +Adiciona a selecção actual aos seus favoritos. + + + + +Favoritos Limpar Todos os Favoritos +Limpar todos os favoritos. @@ -2059,83 +732,28 @@ -O Menu <guimenu ->Janela</guimenu -> +O Menu <guimenu>Janela</guimenu> - &Alt;W Janela Fechar as Janelas Seleccionadas... -Fechar as Janelas Seleccionadas... - - - - &Ctrl;F4 Janela Fechar -Fechar - - - -Janela Fechar Tudo -Fechar Tudo - - - -Janela Fechar Todos os Outros -Fechar Todos os Outros + &Alt;W Janela Fechar as Janelas Seleccionadas... +Fechar as Janelas Seleccionadas... + + + + &Ctrl;F4 Janela Fechar +Fechar + + + +Janela Fechar Tudo +Fechar Tudo + + + +Janela Fechar Todos os Outros +Fechar Todos os Outros @@ -2152,489 +770,156 @@ -O Menu <guimenu ->Ferramentas</guimenu -> +O Menu <guimenu>Ferramentas</guimenu> -Ferramentas Modo Apenas de Leitura -Modo Apenas de Leitura - - - - -Ferramentas Modo do Tipo de Ficheiro -Modo do Tipo de Ficheiro - - - - -Ferramentas Modo de Realce -Modo de Realce - - - - -Ferramentas Fim da Linha -Fim da Linha - - - - -Ferramentas Ortografia -Ortografia - - - - - &Ctrl;I Ferramentas Indentar -Indentar - - - - - &Ctrl;&Shift;I Ferramentas Desindentar -Desindentar - - - - -Ferramentas Limpar a Indentação -Limpar a Indentação - - - - - &Ctrl;Tab Ferramentas Alinhar -Alinhar - - - - - &Ctrl;D Ferramentas Comentar -Comentário - - - - - &Ctrl;&Shift;D Ferramentas Descomentar -Descomentar - - - - - &Ctrl;U Ferramentas Maiúsculas -Maiúsculas - - - - - &Ctrl;&Shift;U Ferramentas Minúsculas -Minúsculas - - - - - &Alt;&Ctrl;U Ferramentas Capitalização -Capitalização - - - - - &Ctrl;J Ferramentas Juntar as Linhas -Juntar as Linhas - - - - -Ferramentas Mudança de Linha do Documento -Repartir o Documento - - - - -Ferramentas Visualizador das Diferenças... -Visualizador das Diferenças... - - - - -Ferramentas Executar o Comando... -Executar o Comando... - - - - -Ferramentas Filtrar a Selecção pelo Comando... -Filtra os dados seleccionados, através de um comando externo, usando o 'plugin' do Filtro. - - - - -Ferramentas Depurar a Expressão Regular... -Depurar a Expressão Regular... - - - - -Ferramentas Explorador de Componentes -Explorador de Componentes - - - - - &Alt;&Ctrl;C Ferramentas Abertura Rápida de Classe... -Abertura Rápida de Classes... - - - - - &Alt;&Ctrl;M Ferramentas Abertura Rápida de Método... -Abertura Rápida de Métodos... - - - - - &Alt;&Ctrl;P Ferramentas Antever o Resultado do Doxygen -Antever o Resultado do Doxygen - - - - - &Ctrl;&Shift;S Ferramentas Documentar a Função Actual -Documentar a Função Actual +Ferramentas Modo Apenas de Leitura +Modo Apenas de Leitura + + + + +Ferramentas Modo do Tipo de Ficheiro +Modo do Tipo de Ficheiro + + + + +Ferramentas Modo de Realce +Modo de Realce + + + + +Ferramentas Fim da Linha +Fim da Linha + + + + +Ferramentas Ortografia +Ortografia + + + + + &Ctrl;I Ferramentas Indentar +Indentar + + + + + &Ctrl;&Shift;I Ferramentas Desindentar +Desindentar + + + + +Ferramentas Limpar a Indentação +Limpar a Indentação + + + + + &Ctrl;Tab Ferramentas Alinhar +Alinhar + + + + + &Ctrl;D Ferramentas Comentar +Comentário + + + + + &Ctrl;&Shift;D Ferramentas Descomentar +Descomentar + + + + + &Ctrl;U Ferramentas Maiúsculas +Maiúsculas + + + + + &Ctrl;&Shift;U Ferramentas Minúsculas +Minúsculas + + + + + &Alt;&Ctrl;U Ferramentas Capitalização +Capitalização + + + + + &Ctrl;J Ferramentas Juntar as Linhas +Juntar as Linhas + + + + +Ferramentas Mudança de Linha do Documento +Repartir o Documento + + + + +Ferramentas Visualizador das Diferenças... +Visualizador das Diferenças... + + + + +Ferramentas Executar o Comando... +Executar o Comando... + + + + +Ferramentas Filtrar a Selecção pelo Comando... +Filtra os dados seleccionados, através de um comando externo, usando o 'plugin' do Filtro. + + + + +Ferramentas Depurar a Expressão Regular... +Depurar a Expressão Regular... + + + + +Ferramentas Explorador de Componentes +Explorador de Componentes + + + + + &Alt;&Ctrl;C Ferramentas Abertura Rápida de Classe... +Abertura Rápida de Classes... + + + + + &Alt;&Ctrl;M Ferramentas Abertura Rápida de Método... +Abertura Rápida de Métodos... + + + + + &Alt;&Ctrl;P Ferramentas Antever o Resultado do Doxygen +Antever o Resultado do Doxygen + + + + + &Ctrl;&Shift;S Ferramentas Documentar a Função Actual +Documentar a Função Actual @@ -2650,142 +935,53 @@ -O Menu <guimenu ->Configuração</guimenu -> +O Menu <guimenu>Configuração</guimenu> - &Ctrl;M Configuração Mostrar/Esconder o Menu -Mostra ou esconde a barra do menu. - - - -Configuração Barras de Ferramentas -Abre um sub-menu onde você poderá optar por mostrar ou esconder as várias barras de ferramentas disponíveis. - - - -Configuração Mostrar a Barra de Estado -Mostra a barra de estado. - - - -Configuração Configurar os Atalhos... -Configurar os Atalhos... - - - - -Configuração Configurar a Barra de Ferramentas... -Configurar a Barra de Ferramentas... - - - - -Configuração Configurar as Notificações... -Configurar as Notificações... - - - - -Configuração Configurar o Editor... -Configurar o Editor... + &Ctrl;M Configuração Mostrar/Esconder o Menu +Mostra ou esconde a barra do menu. + + + +Configuração Barras de Ferramentas +Abre um sub-menu onde você poderá optar por mostrar ou esconder as várias barras de ferramentas disponíveis. + + + +Configuração Mostrar a Barra de Estado +Mostra a barra de estado. + + + +Configuração Configurar os Atalhos... +Configurar os Atalhos... + + + + +Configuração Configurar a Barra de Ferramentas... +Configurar a Barra de Ferramentas... + + + + +Configuração Configurar as Notificações... +Configurar as Notificações... -Configuração Configurar o KDevelop... -Configurar o KDevelop... +Configuração Configurar o Editor... +Configurar o Editor... + + + + +Configuração Configurar o KDevelop... +Configurar o KDevelop... @@ -2800,187 +996,64 @@ -O Menu <guimenu ->Ajuda</guimenu -> +O Menu <guimenu>Ajuda</guimenu> -Ajuda Manual do KDevelop -Vê este documento. - - - - &Shift;F1 Ajuda O Que É Isto? -Mostra um ponto de interrogação (?) ao lado do cursor do rato, pelo que se carregar num item da janela, como o botão Parar, irá mostrar uma explicação breve. - - - - -Ajuda Dica do Dia -Dica do Dia - - - - - &Alt;&Ctrl;I Ajuda Procurar no Índice da Documentação... -Procurar no Índice da Documentação... - - - - - &Alt;&Ctrl;S Ajuda Procurar na Documentação... -Procurar na Documentação... - - - - -Ajuda Página do 'Man'... -Página do 'Man'... - - - - -Ajuda Página do 'Info'... -Página do 'Info'... - - - - -Ajuda Comunicar um Erro... -Comunica um erro. - - - -Ajuda Acerca do KDevelop... -Mostra alguma informação breve sobre o número de versão do KDevelop, os autores e o contrato de licença. - - - -Ajuda Acerca do KDE... -Mostra alguma informação acerca da versão do &kde; que você está a executar. +Ajuda Manual do KDevelop +Vê este documento. + + + + &Shift;F1 Ajuda O Que É Isto? +Mostra um ponto de interrogação (?) ao lado do cursor do rato, pelo que se carregar num item da janela, como o botão Parar, irá mostrar uma explicação breve. + + + + +Ajuda Dica do Dia +Dica do Dia + + + + + &Alt;&Ctrl;I Ajuda Procurar no Índice da Documentação... +Procurar no Índice da Documentação... + + + + + &Alt;&Ctrl;S Ajuda Procurar na Documentação... +Procurar na Documentação... + + + + +Ajuda Página do 'Man'... +Página do 'Man'... + + + + +Ajuda Página do 'Info'... +Página do 'Info'... + + + + +Ajuda Comunicar um Erro... +Comunica um erro. + + + +Ajuda Acerca do KDevelop... +Mostra alguma informação breve sobre o número de versão do KDevelop, os autores e o contrato de licença. + + + +Ajuda Acerca do KDE... +Mostra alguma informação acerca da versão do &kde; que você está a executar. diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/credits.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/credits.docbook index 8ab94afc2c4..61e7ef319c0 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/credits.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/credits.docbook @@ -1,40 +1,20 @@ -Créditos +Créditos -Contribuições +Contribuições - O conteúdo inicial deste manual foi escrito pelo Bernd Gehrmann bernd@kdevelop.org e pelo Caleb Tennis caleb@aei-tech.com. - Os capítulos Resumo do &automanag; e Operação do Gestor Automake foram escritos pelo Ian Wadham, ianw@netspace.net.au). + O conteúdo inicial deste manual foi escrito pelo Bernd Gehrmann bernd@kdevelop.org e pelo Caleb Tennis caleb@aei-tech.com. + Os capítulos Resumo do &automanag; e Operação do Gestor Automake foram escritos pelo Ian Wadham, ianw@netspace.net.au). - + - + diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/cvs.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/cvs.docbook index 40bb487fed8..68526252d39 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/cvs.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/cvs.docbook @@ -1,131 +1,75 @@ -Usar o &CVS; -CVS -controlo de revisões (versões) +Usar o &CVS; +CVS +controlo de revisões (versões) -Bases do &CVS; - -O &CVS; é o sistema de controlo de versões que muitos dos projectos 'open-source' - incluindo o &kde; — usam. Ele grava todo o código num sítio local, chamado de repositório. A partir do repositório, os programadores poderão obter uma versão actualizada do projecto (ou partes dele) em qualquer altura. Em contraste com outros sistemas de controlo de versões, não é necessário bloquear os ficheiros em que uma pessoa deseja trabalhar. Como tal, o desenvolvimento poderá ser altamente paralelizado. - -Sempre que um programador terminar uma tarefa, ele envia o seu código (acompanhado de uma mensagem de registo). O &CVS; tem a seu cargo a junção das alterações feitas pelos vários programadores. Poderá acontecer, obviamente, que os programadores trabalhem no mesmo pedaço de código, o que irá resultar num conjunto de alterações em conflito (na prática, isto ocorre raramente, e normalmente é sintoma de falta de comunicação). Nesse caso, o &CVS; rejeita um envio; só após todos os conflitos terem sido resolvidos é que um ficheiro poderá ser enviado. - -Até agora, isto foi uma descrição das funcionalidades básicas do &CVS; com que uma pessoa tem de lidar normalmente. Mas o &CVS; oferece bastante mais: poder-se-ão manter várias ramificações de um projecto (⪚ o &kde; 1.1.2 e o &kde; 2 eram ramificações da árvore de desenvolvimento do &kde;), reunir as modificações de uma ramificação noutra, pedir as diferenças entre versões, o histórico de versões de ficheiros &etc; - -O &CVS; está implementado como um sistema cliente-servidor. Como utilizador, toda a comunicação com o repositório é feita através do programa da linha de comandos &cvs;. Está disponível uma interface de nível mais elevado através das interfaces existentes, como o &cervisia; () ou o TkCVS (). No &tdevelop;, só uma pequena parte da funcionalidade do &cvs; é relevante para o seu trabalho diário e que poderá ser usada directamente. - -Assume-se um conhecimento básico da utilização do &CVS;. Em particular, deverá saber como obter um dado projecto do seu repositório. Recomenda-se o livro Open Source Development With &CVS; de Karl Fogel, o qual está disponível de forma livre (excepto os capítulos não-técnicos). Veja em . - - +Bases do &CVS; + +O &CVS; é o sistema de controlo de versões que muitos dos projectos 'open-source' - incluindo o &kde; — usam. Ele grava todo o código num sítio local, chamado de repositório. A partir do repositório, os programadores poderão obter uma versão actualizada do projecto (ou partes dele) em qualquer altura. Em contraste com outros sistemas de controlo de versões, não é necessário bloquear os ficheiros em que uma pessoa deseja trabalhar. Como tal, o desenvolvimento poderá ser altamente paralelizado. + +Sempre que um programador terminar uma tarefa, ele envia o seu código (acompanhado de uma mensagem de registo). O &CVS; tem a seu cargo a junção das alterações feitas pelos vários programadores. Poderá acontecer, obviamente, que os programadores trabalhem no mesmo pedaço de código, o que irá resultar num conjunto de alterações em conflito (na prática, isto ocorre raramente, e normalmente é sintoma de falta de comunicação). Nesse caso, o &CVS; rejeita um envio; só após todos os conflitos terem sido resolvidos é que um ficheiro poderá ser enviado. + +Até agora, isto foi uma descrição das funcionalidades básicas do &CVS; com que uma pessoa tem de lidar normalmente. Mas o &CVS; oferece bastante mais: poder-se-ão manter várias ramificações de um projecto (⪚ o &kde; 1.1.2 e o &kde; 2 eram ramificações da árvore de desenvolvimento do &kde;), reunir as modificações de uma ramificação noutra, pedir as diferenças entre versões, o histórico de versões de ficheiros &etc; + +O &CVS; está implementado como um sistema cliente-servidor. Como utilizador, toda a comunicação com o repositório é feita através do programa da linha de comandos &cvs;. Está disponível uma interface de nível mais elevado através das interfaces existentes, como o &cervisia; () ou o TkCVS (). No &tdevelop;, só uma pequena parte da funcionalidade do &cvs; é relevante para o seu trabalho diário e que poderá ser usada directamente. + +Assume-se um conhecimento básico da utilização do &CVS;. Em particular, deverá saber como obter um dado projecto do seu repositório. Recomenda-se o livro Open Source Development With &CVS; de Karl Fogel, o qual está disponível de forma livre (excepto os capítulos não-técnicos). Veja em . + + -Comandos do &CVS; no &tdevelop; +Comandos do &CVS; no &tdevelop; -Na árvore de ficheiros, estão disponíveis os seguintes itens do menu de contexto: +Na árvore de ficheiros, estão disponíveis os seguintes itens do menu de contexto: -Adicionar ao Repositório +Adicionar ao Repositório -Prepara o ficheiro marcado para ser adicionado ao repositório. O ficheiro é transferido para o mesmo quando o enviar (ou a pasta que o contém) da próxima vez. +Prepara o ficheiro marcado para ser adicionado ao repositório. O ficheiro é transferido para o mesmo quando o enviar (ou a pasta que o contém) da próxima vez. -Remover do Repositório +Remover do Repositório -Prepara um ficheiro para ser removido do repositório. Isto remove também o ficheiro do sistema de ficheiros local, como tal use esta funcionalidade com cuidado! +Prepara um ficheiro para ser removido do repositório. Isto remove também o ficheiro do sistema de ficheiros local, como tal use esta funcionalidade com cuidado! -Actualizar +Actualizar -Execute o cvs update para reunir as modificações dos outros utilizadores na sua pasta de trabalho. Quando usar este item do menu sobre uma pasta, a actualização irá acontecer normalmente de forma recursiva, excepto se tiver desactivado essa possibilidade no ficheiro de configuração .cvsrc. +Execute o cvs update para reunir as modificações dos outros utilizadores na sua pasta de trabalho. Quando usar este item do menu sobre uma pasta, a actualização irá acontecer normalmente de forma recursiva, excepto se tiver desactivado essa possibilidade no ficheiro de configuração .cvsrc. -Enviar +Enviar -Executa o cvs commit para enviar as modificações locais para o repositório. Lembre-se que deverá fazer uma actualização local antes de fazer isto. Caso contrário, quando outro utilizador tiver enviado as suas modificações antes, o &CVS; poder-lhe-á mostrar uma mensagem de erro. +Executa o cvs commit para enviar as modificações locais para o repositório. Lembre-se que deverá fazer uma actualização local antes de fazer isto. Caso contrário, quando outro utilizador tiver enviado as suas modificações antes, o &CVS; poder-lhe-á mostrar uma mensagem de erro. -Todos estes comandos são invocados como sub-processos pelo &tdevelop; sem quaisquer outras opções da linha de comandos ou variáveis de ambiente. Isto poderá ser um problema quando a ligação ao servidor de &CVS; for através de uma ligação de &ssh; e você tiver de indicar a sua senha, sempre que envia ou recebe as actualizações. Isto é, por exemplo, necessário quando o seu projecto está alojado no sourceforge.net. As soluções alternativas para este problema estão descritas na FAQ do &CVS;/SSH, que poderá encontrar na documentação do SourceForge. +Todos estes comandos são invocados como sub-processos pelo &tdevelop; sem quaisquer outras opções da linha de comandos ou variáveis de ambiente. Isto poderá ser um problema quando a ligação ao servidor de &CVS; for através de uma ligação de &ssh; e você tiver de indicar a sua senha, sempre que envia ou recebe as actualizações. Isto é, por exemplo, necessário quando o seu projecto está alojado no sourceforge.net. As soluções alternativas para este problema estão descritas na FAQ do &CVS;/SSH, que poderá encontrar na documentação do SourceForge. - + -Nos Bastidores +Nos Bastidores -O Que o &CVS; Grava na Pasta de Trabalho +O Que o &CVS; Grava na Pasta de Trabalho -(... ainda não escrito ...) - +(... ainda não escrito ...) + - + - + diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/debugger.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/debugger.docbook index 9bfc6e4c1d8..ff6dd1fc89d 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/debugger.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/debugger.docbook @@ -1,226 +1,85 @@ -A Interface do Depurador -depurador - -Para o C e C++, o &tdevelop; contém um depurador interno que está integrado directamente com o editor. Do ponto de vista técnico, está implementado como uma interface para o depurador multi-plataforma da &GNU; gdb através de um 'pipe'. O depurador poderá ser iniciado de várias formas: +A Interface do Depurador +depurador + +Para o C e C++, o &tdevelop; contém um depurador interno que está integrado directamente com o editor. Do ponto de vista técnico, está implementado como uma interface para o depurador multi-plataforma da &GNU; gdb através de um 'pipe'. O depurador poderá ser iniciado de várias formas: -Com a opção DepurarIniciar, o programa principal do seu projecto é carregado no depurador. +Com a opção DepurarIniciar, o programa principal do seu projecto é carregado no depurador. -Se usar a opção Depurar Iniciar (outro) Examinar o ficheiro 'core', poderá carregar um ficheiro de 'core' para a memória, o qual é gerado pelo 'kernel' do sistema operativo, quando o programa tiver estoirado (A geração de ficheiros 'core' poderá estar desligada no seu sistema; veja o ulimit(1)). Isto é útil para uma análise 'post-mortem' de um programa. +Se usar a opção Depurar Iniciar (outro) Examinar o ficheiro 'core', poderá carregar um ficheiro de 'core' para a memória, o qual é gerado pelo 'kernel' do sistema operativo, quando o programa tiver estoirado (A geração de ficheiros 'core' poderá estar desligada no seu sistema; veja o ulimit(1)). Isto é útil para uma análise 'post-mortem' de um programa. -Com a opção Depurar Iniciar (outro) Anexar a um processo, poderá invocar o depurador sobre um programa já em execução. Irá ver uma lista de processos onde poderá seleccionar o processo que o depurador deverá capturar. +Com a opção Depurar Iniciar (outro) Anexar a um processo, poderá invocar o depurador sobre um programa já em execução. Irá ver uma lista de processos onde poderá seleccionar o processo que o depurador deverá capturar. -Lembre-se que a depuração só é possível se o seu projecto tiver sido compilado com as informações de depuração activas. Poderá ser activada na janela de Opções do compilador. Quando esta opção estiver activa, o compilador gera dados adicionais que permitem ao depurador associar nomes de ficheiros e números de linha aos endereços do executável. +Lembre-se que a depuração só é possível se o seu projecto tiver sido compilado com as informações de depuração activas. Poderá ser activada na janela de Opções do compilador. Quando esta opção estiver activa, o compilador gera dados adicionais que permitem ao depurador associar nomes de ficheiros e números de linha aos endereços do executável. -A interface do depurador oferece várias vistas dentro do processo: +A interface do depurador oferece várias vistas dentro do processo: -Se tentar depurar um projecto sem informação de depuração, irá obter a mensagem Sem código... na barra de estado. Se tentar definir um ponto de paragem, é mostrado como Pendente (adicionar) na janela do ponto de paragem (ver abaixo). +Se tentar depurar um projecto sem informação de depuração, irá obter a mensagem Sem código... na barra de estado. Se tentar definir um ponto de paragem, é mostrado como Pendente (adicionar) na janela do ponto de paragem (ver abaixo). -Variáveis +Variáveis -variáveis de vigia -Esta janela lista os valores de todas as variáveis locais no ponto de execução actual do programa. Ela cobre as variáveis na pilha de chamadas completa, &ie; a função onde o processo foi interrompido, a função que chamou esta função, e assim por diante até à função main(). - -Outra ramificação nas variáveis contém as variáveis de vigia. Poderá configurar por si próprio as variáveis que são aqui mostradas. Tanto poderão ser vigiadas as variáveis locais como as globais. Poderá adicionar as variáveis se carregar no botão Adicionar ou carregar em Return, enquanto o item Vigia estiver seleccionado. Eles poderão ser removidos de novo, através do menu de contexto. +variáveis de vigia +Esta janela lista os valores de todas as variáveis locais no ponto de execução actual do programa. Ela cobre as variáveis na pilha de chamadas completa, &ie; a função onde o processo foi interrompido, a função que chamou esta função, e assim por diante até à função main(). + +Outra ramificação nas variáveis contém as variáveis de vigia. Poderá configurar por si próprio as variáveis que são aqui mostradas. Tanto poderão ser vigiadas as variáveis locais como as globais. Poderá adicionar as variáveis se carregar no botão Adicionar ou carregar em Return, enquanto o item Vigia estiver seleccionado. Eles poderão ser removidos de novo, através do menu de contexto. -Pilha de Chamadas +Pilha de Chamadas -pilha de chamadas -(... ainda não escrito ...) +pilha de chamadas +(... ainda não escrito ...) -Pontos de Paragem +Pontos de Paragem -pontos de paragem -Esta janela permite-lhe ver e manipular os pontos de paragem. Lembre-se que o &tdevelop; usa o GDB, como tal, para compreender por completo as funcionalidades de depuração do &tdevelop;, deverá ler um pouco sobre o GDB. - -Se quiser olhar para o código-fonte, os pontos de paragem estão definidos no tdevelop/languages/cpp/debugger/breakpoint.h. - -Do lado esquerdo, a janela tem botões para: +pontos de paragem +Esta janela permite-lhe ver e manipular os pontos de paragem. Lembre-se que o &tdevelop; usa o GDB, como tal, para compreender por completo as funcionalidades de depuração do &tdevelop;, deverá ler um pouco sobre o GDB. + +Se quiser olhar para o código-fonte, os pontos de paragem estão definidos no tdevelop/languages/cpp/debugger/breakpoint.h. + +Do lado esquerdo, a janela tem botões para: -Adicionar um ponto de paragem vazio -Editar o ponto de paragem seleccionado - Remover o ponto de paragem seleccionado -Remover todos os pontos de paragem +Adicionar um ponto de paragem vazio +Editar o ponto de paragem seleccionado + Remover o ponto de paragem seleccionado +Remover todos os pontos de paragem -A parte principal da janela é uma tabela com 7 colunas. Cada linha da tabela é um ponto de paragem. As colunas são: +A parte principal da janela é uma tabela com 7 colunas. Cada linha da tabela é um ponto de paragem. As colunas são: -Opção de selecção -Tipo: um dos seguinte: Inválido, Ficheiro:Linha, Ponto de Vigia, Endereço, Função -Estado. Os valores são: +Opção de selecção +Tipo: um dos seguinte: Inválido, Ficheiro:Linha, Ponto de Vigia, Endereço, Função +Estado. Os valores são: - Activo - Inactivo: Cada ponto de paragem poderá estar activo ou inactivo; no último caso, não fará efeito no seu programa até que o active de novo. - Pendente (adicionar): um ponto de paragem fica marcado desta forma se não estiver disponível nenhuma informação de depuração. Na página do 'info' do GDB:
Se a localização de um dado ponto de paragem não puder ser encontrada, poder-se-á dever ao facto que a localização esteja numa biblioteca dinâmica ainda por carregar. Nesse caso, poderá querer que o GDB crie um ponto de paragem especial (conhecido por ponto de paragem pendente) que tentará resolver-se a si próprio no futuro, quando for carregada a biblioteca dinâmica adequada.
+ Activo + Inactivo: Cada ponto de paragem poderá estar activo ou inactivo; no último caso, não fará efeito no seu programa até que o active de novo. + Pendente (adicionar): um ponto de paragem fica marcado desta forma se não estiver disponível nenhuma informação de depuração. Na página do 'info' do GDB:
Se a localização de um dado ponto de paragem não puder ser encontrada, poder-se-á dever ao facto que a localização esteja numa biblioteca dinâmica ainda por carregar. Nesse caso, poderá querer que o GDB crie um ponto de paragem especial (conhecido por ponto de paragem pendente) que tentará resolver-se a si próprio no futuro, quando for carregada a biblioteca dinâmica adequada.
-Pendente (limpar) -Pendente (modificar) -Localização no formato nome-ficheiro:número-linha -Condição -Ignorar a Contagem: Se este for um número QUANTIDADE maior que zero, as próximas QUANTIDADE vezes que o ponto de paragem for atingido, a execução do seu programa não irá parar; para além de decrementar o número de vezes a ignorar, o gdb não irá fazer nada. -Contagem: indica quantas vezes foi atingido um ponto de paragem. +Pendente (limpar) +Pendente (modificar) +Localização no formato nome-ficheiro:número-linha +Condição +Ignorar a Contagem: Se este for um número QUANTIDADE maior que zero, as próximas QUANTIDADE vezes que o ponto de paragem for atingido, a execução do seu programa não irá parar; para além de decrementar o número de vezes a ignorar, o gdb não irá fazer nada. +Contagem: indica quantas vezes foi atingido um ponto de paragem.
@@ -228,15 +87,10 @@
-Descodificação +Descodificação -descodificação -(... ainda não escrito ...) +descodificação +(... ainda não escrito ...) @@ -244,96 +98,51 @@ -Definir Pontos de Paragem +Definir Pontos de Paragem -(... ainda não escrito ...) +(... ainda não escrito ...) - + -Opções +Opções -Mostrar os Nomes Codificados +Mostrar os Nomes Codificados -codificação do nome -codificaçãonome - -No C++, os nomes das funções no executável são codificados, &ie; os nomes das funções incluem a informação sobre os tipos de argumentos recebidos. Isto é necessário para suportar a sobreposição ('overloading') de funções. O algoritmo de codificação não é normalizado e difere mesmo entre várias versões do compilador de C++ da &GNU;. - -Na janela de descodificação, são mostrados os nomes normalmente descodificados, como tal as assinaturas das funções irão aparecer como existem no código-fonte, por isso são fáceis de ler. Em alternativa, poderá querer ver os nomes codificados. +codificação do nome +codificaçãonome + +No C++, os nomes das funções no executável são codificados, &ie; os nomes das funções incluem a informação sobre os tipos de argumentos recebidos. Isto é necessário para suportar a sobreposição ('overloading') de funções. O algoritmo de codificação não é normalizado e difere mesmo entre várias versões do compilador de C++ da &GNU;. + +Na janela de descodificação, são mostrados os nomes normalmente descodificados, como tal as assinaturas das funções irão aparecer como existem no código-fonte, por isso são fáceis de ler. Em alternativa, poderá querer ver os nomes codificados. -Tentar Definir Pontos de Paragem ao Carregar as Bibliotecas +Tentar Definir Pontos de Paragem ao Carregar as Bibliotecas -pontos de paragem tardios -pontos de paragemtardios - -A infra-estrutura do depurador gdb não permite definir pontos de paragem em código que ainda não está carregado de momento. Numa aplicação altamente modular, onde muitas vezes o código só é carregado a pedido, como um 'plugin' (com a função da 'libc' dlopen(3)), isto poderá ser inconveniente. Como tal, o &tdevelop; contém o seu próprio suporte para os pontos de paragem em bibliotecas dinâmicas. Se definir esta opção, ela permitir-lhe-á definir pontos de paragem nas bibliotecas que ainda não estão carregada. Aí, sempre que o gdb notificar que uma biblioteca vai ser carregada, o &tdevelop; tentará definir os pontos de paragem pendentes. +pontos de paragem tardios +pontos de paragemtardios + +A infra-estrutura do depurador gdb não permite definir pontos de paragem em código que ainda não está carregado de momento. Numa aplicação altamente modular, onde muitas vezes o código só é carregado a pedido, como um 'plugin' (com a função da 'libc' dlopen(3)), isto poderá ser inconveniente. Como tal, o &tdevelop; contém o seu próprio suporte para os pontos de paragem em bibliotecas dinâmicas. Se definir esta opção, ela permitir-lhe-á definir pontos de paragem nas bibliotecas que ainda não estão carregada. Aí, sempre que o gdb notificar que uma biblioteca vai ser carregada, o &tdevelop; tentará definir os pontos de paragem pendentes. -Activar a Barra de Ferramentas Flutuante +Activar a Barra de Ferramentas Flutuante -barra de ferramentas do depurador -barra de ferramentasdepurador - -(... ainda não escrito ...) +barra de ferramentas do depurador +barra de ferramentasdepurador + +(... ainda não escrito ...) - + -
+ diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/documentation.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/documentation.docbook index da5206477e1..76692c13aec 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/documentation.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/documentation.docbook @@ -1,73 +1,36 @@ -Documentação +Documentação -A documentação, infelizmente, pertence às questões mais subestimadas da programação. Contudo, uma vez configurada devidamente e mantida a nível interno e externo, a documentação oferece uma ajuda muito valiosa. +A documentação, infelizmente, pertence às questões mais subestimadas da programação. Contudo, uma vez configurada devidamente e mantida a nível interno e externo, a documentação oferece uma ajuda muito valiosa. -A documentação tem várias facetas. Existe a - documentação interna do projecto, que consiste principalmente em - comentários nos ficheiros de código/inclusão - documentação interna da &API; do seu projecto, gerada a partir dos ficheiros do programa com ferramentas especiais, ⪚ &doxygen; +A documentação tem várias facetas. Existe a + documentação interna do projecto, que consiste principalmente em + comentários nos ficheiros de código/inclusão + documentação interna da &API; do seu projecto, gerada a partir dos ficheiros do programa com ferramentas especiais, ⪚ &doxygen; - - documentação externa do projecto, que inclui, entre outras - a documentação externa da &API; de ⪚ bibliotecas do sistema comuns (&kde;, &Qt;, &etc;) - qualquer outra documentação (manuais da linguagem de programação, informação de sistema geral, artigos e tutoriais, entre outros) + + documentação externa do projecto, que inclui, entre outras + a documentação externa da &API; de ⪚ bibliotecas do sistema comuns (&kde;, &Qt;, &etc;) + qualquer outra documentação (manuais da linguagem de programação, informação de sistema geral, artigos e tutoriais, entre outros) - + -Toda esta documentação deverá ser fácil de manter e prontamente disponível sempre que necessitar dela. O &tdevelop; tem todas as capacidades para tal. +Toda esta documentação deverá ser fácil de manter e prontamente disponível sempre que necessitar dela. O &tdevelop; tem todas as capacidades para tal. -O Navegador de Documentação +O Navegador de Documentação
-Uma Imagem da Árvore de Documentação +Uma Imagem da Árvore de Documentação - +
-
+ -
+ diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/editing.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/editing.docbook index c7222319578..be754f6849b 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/editing.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/editing.docbook @@ -1,608 +1,224 @@ -Ferramentas de Edição +Ferramentas de Edição -Excertos de Código +Excertos de Código - Funcionalidades (introdução preliminar) - O SnippetPart adiciona uma janela de ferramentas que fica acoplada por omissão à direita - A adição, edição e remoção de excertos de código está disponível através de um menu - Se fizer duplo-click sobre um excerto, introduzi-lo-á na área activa, na posição actual do cursor - As dicas mostram o conteúdo de um excerto - Os excertos são guardados na área pessoal dos utilizadores, como tal, cada utilizador poderá fazer os seus próprios excertos - Os excertos de código poderão conter variáveis do estilo $NOME_VARIAVEL$. Ao usar o excerto, o utilizador deverá preencher o valor de substituição das variáveis + Funcionalidades (introdução preliminar) + O SnippetPart adiciona uma janela de ferramentas que fica acoplada por omissão à direita + A adição, edição e remoção de excertos de código está disponível através de um menu + Se fizer duplo-click sobre um excerto, introduzi-lo-á na área activa, na posição actual do cursor + As dicas mostram o conteúdo de um excerto + Os excertos são guardados na área pessoal dos utilizadores, como tal, cada utilizador poderá fazer os seus próprios excertos + Os excertos de código poderão conter variáveis do estilo $NOME_VARIAVEL$. Ao usar o excerto, o utilizador deverá preencher o valor de substituição das variáveis - + -Mapeamento do Teclado -combinações de teclas +Mapeamento do Teclado +combinações de teclas -A seguir, serão listadas as combinações de teclas por omissão do editor predefinido. Poderá configurá-las como desejar (como?) +A seguir, serão listadas as combinações de teclas por omissão do editor predefinido. Poderá configurá-las como desejar (como?) -Esquerda -Move-se um carácter para a esquerda - -Direita -Move-se um carácter para a direita - -&Ctrl; Esquerda -Move-se uma palavra para a esquerda - -&Ctrl; Direita -Move-se uma palavra para a direita - -Cima -Move-se uma linha para cima - -Baixo -Move-se uma linha para baixo - -Page Up -Move-se uma página para cima - -Page Down -Move-se uma página para baixo - -&Ctrl; Page Down -Move-se para o início do ficheiro - -&Ctrl; Page Down -Move-se para o fim do ficheiro - -Home -Move-se para o início da linha - -End -Move-se para o fim da linha +Esquerda +Move-se um carácter para a esquerda + +Direita +Move-se um carácter para a direita + +&Ctrl; Esquerda +Move-se uma palavra para a esquerda + +&Ctrl; Direita +Move-se uma palavra para a direita + +Cima +Move-se uma linha para cima + +Baixo +Move-se uma linha para baixo + +Page Up +Move-se uma página para cima + +Page Down +Move-se uma página para baixo + +&Ctrl; Page Down +Move-se para o início do ficheiro + +&Ctrl; Page Down +Move-se para o fim do ficheiro + +Home +Move-se para o início da linha + +End +Move-se para o fim da linha -Para todas as teclas acima, pode-se usar adicionalmente a tecla &Shift;, para marcar a partir da posição actual do cursor até à posição onde se for parar. +Para todas as teclas acima, pode-se usar adicionalmente a tecla &Shift;, para marcar a partir da posição actual do cursor até à posição onde se for parar. -Backspace -Apaga um carácter à esquerda - -Delete -Apaga o carácter por baixo do cursor - -&Ctrl; C -Copia o texto seleccionado para a área de transferência - -&Ctrl; V -Cola o texto seleccionado da área de transferência - -&Ctrl; X -Apaga o texto seleccionado e coloca-o na área de transferência - -&Ctrl; Z -Desfazer - -&Shift;&Ctrl; Z -Refazer +Backspace +Apaga um carácter à esquerda + +Delete +Apaga o carácter por baixo do cursor + +&Ctrl; C +Copia o texto seleccionado para a área de transferência + +&Ctrl; V +Cola o texto seleccionado da área de transferência + +&Ctrl; X +Apaga o texto seleccionado e coloca-o na área de transferência + +&Ctrl; Z +Desfazer + +&Shift;&Ctrl; Z +Refazer - + -O Sistema de Comunicação de Problemas +O Sistema de Comunicação de Problemas -(... ainda não escrito ...) - +(... ainda não escrito ...) + -Procurar e Descobrir -procurar -descobrir +Procurar e Descobrir +procurar +descobrir -Procurar por Texto +Procurar por Texto -&Ctrl;F- Procurar &Ctrl;R- Substituir +&Ctrl;F- Procurar &Ctrl;R- Substituir - + -ISearch -isearch -pesquisa incremental -procurarincremental - -A forma convencional de procurar com a opção Editar Procurar necessita que você indique o termo a procurar por completo, antes de iniciar a pesquisa. A maior parte do tempo, é muito mais fácil procurar incrementalmente. Se carregar no campo de texto chamado ISearch da barra de ferramentas, a pesquisa é efectuada à medida que vai escrevendo. Irá concluir que o termo desejado poderá ser encontrado logo ao fim de escrever 3 ou 4 letras. - - +ISearch +isearch +pesquisa incremental +procurarincremental + +A forma convencional de procurar com a opção Editar Procurar necessita que você indique o termo a procurar por completo, antes de iniciar a pesquisa. A maior parte do tempo, é muito mais fácil procurar incrementalmente. Se carregar no campo de texto chamado ISearch da barra de ferramentas, a pesquisa é efectuada à medida que vai escrevendo. Irá concluir que o termo desejado poderá ser encontrado logo ao fim de escrever 3 ou 4 letras. + + -Grep -procurarnos ficheiros - -Ambos os mecanismos de procura descritos acima estão restringidos a procurar dento de um ficheiro de código. Existe uma outra ferramenta adicional que lhe permite procurar num (talvez grande) conjunto de ficheiros, através da opção do menu Procurar nos Ficheiros... do menu Editar. É, basicamente, uma interface para o programa &grep;(1). - -Na janela, poderá indicar os ficheiros onde deseja procurar. Existe um conjunto de padrões especiais disponíveis que poderá usar numa lista. Desta forma, poderá restringir facilmente o mecanismo de procura aos ficheiros de inclusão, por exemplo. Para além disso, existe uma pasta que poderá indicar onde começar a procura. Se assinalar a opção Recursivo, a pesquisa irá percorrer todas as pastas que estejam abaixo desta na hierarquia. - -O termo a procurar é, de um modo geral, uma expressão regular que segue a sintaxe do POSIX. Por exemplo, poderá usar o termo "\<K.*" se desejar procurar todas as palavras que comecem pela letra K. Os seguintes caracteres são interpretados de uma forma especial: +Grep +procurarnos ficheiros + +Ambos os mecanismos de procura descritos acima estão restringidos a procurar dento de um ficheiro de código. Existe uma outra ferramenta adicional que lhe permite procurar num (talvez grande) conjunto de ficheiros, através da opção do menu Procurar nos Ficheiros... do menu Editar. É, basicamente, uma interface para o programa &grep;(1). + +Na janela, poderá indicar os ficheiros onde deseja procurar. Existe um conjunto de padrões especiais disponíveis que poderá usar numa lista. Desta forma, poderá restringir facilmente o mecanismo de procura aos ficheiros de inclusão, por exemplo. Para além disso, existe uma pasta que poderá indicar onde começar a procura. Se assinalar a opção Recursivo, a pesquisa irá percorrer todas as pastas que estejam abaixo desta na hierarquia. + +O termo a procurar é, de um modo geral, uma expressão regular que segue a sintaxe do POSIX. Por exemplo, poderá usar o termo "\<K.*" se desejar procurar todas as palavras que comecem pela letra K. Os seguintes caracteres são interpretados de uma forma especial: - - . -Corresponde a qualquer carácter - - ^ -Corresponde ao início de uma linha - - $ -Corresponde ao fim de uma linha - - \< -Corresponde ao início de uma palavra - - \> -Corresponde ao fim de uma palavra - - ? -O item antecedente corresponde menos que uma vez - - * -O item antecedente corresponde zero ou mais vezes - - + -O item antecedente corresponde uma ou mais vezes - - {n} -O item antecedente corresponde exactamente 'n' vezes - - {n,} -O item antecedente corresponde 'n' ou mais vezes - - {,n} -O item antecedente corresponde menos de 'n' vezes - - {n,m} -O item antecedente corresponde pelo menos n mas menos que m vezes + + . +Corresponde a qualquer carácter + + ^ +Corresponde ao início de uma linha + + $ +Corresponde ao fim de uma linha + + \< +Corresponde ao início de uma palavra + + \> +Corresponde ao fim de uma palavra + + ? +O item antecedente corresponde menos que uma vez + + * +O item antecedente corresponde zero ou mais vezes + + + +O item antecedente corresponde uma ou mais vezes + + {n} +O item antecedente corresponde exactamente 'n' vezes + + {n,} +O item antecedente corresponde 'n' ou mais vezes + + {,n} +O item antecedente corresponde menos de 'n' vezes + + {n,m} +O item antecedente corresponde pelo menos n mas menos que m vezes -As referências anteriores às expressões entre parêntesis estão também disponíveis, através da notação \n. +As referências anteriores às expressões entre parêntesis estão também disponíveis, através da notação \n. -Para os programadores em C++, como bónus especial, existem alguns modelos de procura disponíveis para procurar padrões típicos. Estes permitem-lhe procurar, por exemplo, todas as chamadas a funções pertencentes a um dado objecto. +Para os programadores em C++, como bónus especial, existem alguns modelos de procura disponíveis para procurar padrões típicos. Estes permitem-lhe procurar, por exemplo, todas as chamadas a funções pertencentes a um dado objecto. -Logo que tenha iniciado a procura, após carregar no botão Procurar, esta será efectuada por um processo externo e assíncrono. Todos os itens encontrados irão aparecer na janela chamada Grep. Poderá então saltar para os itens encontrados, carregando neles. Lembre-se que o 'grep' procura os ficheiros da forma que eles estão guardados no sistema de ficheiros. Se tiver versões modificadas dos mesmos no seu editor, poderá ter algumas falhas de correspondência no número da linha ou mesmo obter alguns itens encontrados inválidos. Poderá evitar isto se gravar todos os ficheiros previamente. +Logo que tenha iniciado a procura, após carregar no botão Procurar, esta será efectuada por um processo externo e assíncrono. Todos os itens encontrados irão aparecer na janela chamada Grep. Poderá então saltar para os itens encontrados, carregando neles. Lembre-se que o 'grep' procura os ficheiros da forma que eles estão guardados no sistema de ficheiros. Se tiver versões modificadas dos mesmos no seu editor, poderá ter algumas falhas de correspondência no número da linha ou mesmo obter alguns itens encontrados inválidos. Poderá evitar isto se gravar todos os ficheiros previamente. - + - + -Completação de Código +Completação de Código -(... ainda não escrito ...) - +(... ainda não escrito ...) + -Criar Ficheiros e Classes Novos +Criar Ficheiros e Classes Novos -(... ainda não escrito ...) +(... ainda não escrito ...) -Editar os Modelos +Editar os Modelos -(... ainda não escrito ...) - +(... ainda não escrito ...) + - + - + diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/file-browsers.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/file-browsers.docbook index e9aedfc64e0..d1d1a839d7c 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/file-browsers.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/file-browsers.docbook @@ -1,67 +1,41 @@ -Os Navegadores de Ficheiros +Os Navegadores de Ficheiros -Do lado esquerdo da janela principal, o &tdevelop; poderá mostrar vários tipos de listas e árvores para a selecção de ficheiros: +Do lado esquerdo da janela principal, o &tdevelop; poderá mostrar vários tipos de listas e árvores para a selecção de ficheiros: -Árvore de Ficheiros +Árvore de Ficheiros -Isto mostra uma árvore com a hierarquia de ficheiros por baixo da pasta do projecto. Se carregar num ficheiro, este é carregado no editor. Para os ficheiros que não contenham texto, o &tdevelop; inicia uma aplicação que possa lidar com o tipo MIME respectivo. +Isto mostra uma árvore com a hierarquia de ficheiros por baixo da pasta do projecto. Se carregar num ficheiro, este é carregado no editor. Para os ficheiros que não contenham texto, o &tdevelop; inicia uma aplicação que possa lidar com o tipo MIME respectivo. -A árvore de ficheiros é actualizada regularmente, sempre que algo muda no sistema de ficheiros. Por exemplo, se criar ficheiros ou pastas novos (mesmo fora do &tdevelop;), isto é imediatamente reflectido na lista de ficheiros. No &Linux;, esta funcionalidade tira partido da biblioteca FAM. No caso dos outros sistemas operativos ou do NFS, as pastas apresentadas são pesquisadas regularmente em pequenos intervalos de tempo. +A árvore de ficheiros é actualizada regularmente, sempre que algo muda no sistema de ficheiros. Por exemplo, se criar ficheiros ou pastas novos (mesmo fora do &tdevelop;), isto é imediatamente reflectido na lista de ficheiros. No &Linux;, esta funcionalidade tira partido da biblioteca FAM. No caso dos outros sistemas operativos ou do NFS, as pastas apresentadas são pesquisadas regularmente em pequenos intervalos de tempo. -A árvore de ficheiros esconde os ficheiros que não são normalmente interessantes, como os ficheiros-objecto. Nas Opções do projecto, em Vistas de ficheiros, poderá configurar (como uma lista separada por vírgulas de caracteres especiais), quais os padrões que são usados para eliminar os ficheiros irrelevantes. +A árvore de ficheiros esconde os ficheiros que não são normalmente interessantes, como os ficheiros-objecto. Nas Opções do projecto, em Vistas de ficheiros, poderá configurar (como uma lista separada por vírgulas de caracteres especiais), quais os padrões que são usados para eliminar os ficheiros irrelevantes. -Para além disso, pode optar por restringir a árvore de ficheiros para mostrar apenas os ficheiros que pertençam ao projecto carregado no momento. Isto poderá ser activado ou desactivado se carregar com o botão direito do rato no item de topo da árvore. +Para além disso, pode optar por restringir a árvore de ficheiros para mostrar apenas os ficheiros que pertençam ao projecto carregado no momento. Isto poderá ser activado ou desactivado se carregar com o botão direito do rato no item de topo da árvore.
-Uma Imagem da Árvore de Ficheiros +Uma Imagem da Árvore de Ficheiros - -Uma Imagem da Árvore de Ficheiros + +Uma Imagem da Árvore de Ficheiros
-Grupos de Ficheiros +Grupos de Ficheiros -Esta mostra os ficheiros que pertençam ao projecto, agrupados pela sua extensão do nome do ficheiro. Como na árvore de ficheiros, poderá editar um ficheiro se carregar nele com o &LMB;. +Esta mostra os ficheiros que pertençam ao projecto, agrupados pela sua extensão do nome do ficheiro. Como na árvore de ficheiros, poderá editar um ficheiro se carregar nele com o &LMB;. -Os grupos mostrados nesta área poderão ser configurados na janela Vistas dos ficheiros das Opções do projecto. Para personalizar a área de acordo com as suas necessidades, é útil compreender como é que os ficheiros são distribuídos nos grupos. Para cada ficheiro, o &tdevelop; percorre todos os grupos de cima para baixo. Em cada grupo, verifica se o nome do ficheiro corresponde a cada um dos padrões. Se houver uma correspondência, o ficheiro é mostrado neste grupo e a iteração é interrompida. Isto torna claro que os padrões mais gerais devem ser colocados abaixo dos mais específicos. Por exemplo, um asterisco para o grupo Outros deverá ser o último padrão. +Os grupos mostrados nesta área poderão ser configurados na janela Vistas dos ficheiros das Opções do projecto. Para personalizar a área de acordo com as suas necessidades, é útil compreender como é que os ficheiros são distribuídos nos grupos. Para cada ficheiro, o &tdevelop; percorre todos os grupos de cima para baixo. Em cada grupo, verifica se o nome do ficheiro corresponde a cada um dos padrões. Se houver uma correspondência, o ficheiro é mostrado neste grupo e a iteração é interrompida. Isto torna claro que os padrões mais gerais devem ser colocados abaixo dos mais específicos. Por exemplo, um asterisco para o grupo Outros deverá ser o último padrão.
-
+ diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/getting-started.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/getting-started.docbook index 6cb1c1e8202..3eb6ceafc2e 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/getting-started.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/getting-started.docbook @@ -28,667 +28,360 @@ Volker Paul - BerndPol + BerndPol -Introdução ao &tdevelop; — Uma Visita Guiada +Introdução ao &tdevelop; — Uma Visita Guiada -Agora que você instalou o seu IDE &tdevelop;, como é que o vai utilizar bem? Dado que esta é uma aplicação complexa, a curva de aprendizagem pode ser um pouco inclinada, principalmente se não estiver já habituado a este tipo de ambientes de desenvolvimento integrados. -Iremos tentar suavizar esta curva de aprendizagem um pouco, vendo os passos de criação de uma aplicação do KDE em C++. Como tal, iremos dar uma vista de olhos (focada) em: +Agora que você instalou o seu IDE &tdevelop;, como é que o vai utilizar bem? Dado que esta é uma aplicação complexa, a curva de aprendizagem pode ser um pouco inclinada, principalmente se não estiver já habituado a este tipo de ambientes de desenvolvimento integrados. +Iremos tentar suavizar esta curva de aprendizagem um pouco, vendo os passos de criação de uma aplicação do KDE em C++. Como tal, iremos dar uma vista de olhos (focada) em: - O que é visto à superfície do IDE do &tdevelop;. - - Como criar um novo projecto. + O que é visto à superfície do IDE do &tdevelop;. + + Como criar um novo projecto. -Uma Vista Introdutória sobre o &tdevelop; +Uma Vista Introdutória sobre o &tdevelop; -À Superfície +À Superfície -Quando você inicia o &tdevelop; pela primeira vez, irá obter uma visualização semelhante à seguinte: +Quando você inicia o &tdevelop; pela primeira vez, irá obter uma visualização semelhante à seguinte: - A disposição inicial do &tdevelop; + A disposição inicial do &tdevelop; -Área de Trabalho e Páginas das Janelas de Ferramentas -Neste caso inicial, o &tdevelop; usa o modo denominado por modo de interface de utilizador IDEAl. Um espaço de trabalho com o tamanho máximo possível fica rodeado pela esquerda, baixo e direita por uma série de botões que actuam de forma semelhante às páginas numa área dividida em páginas. Se carregar numa destas páginas, aparece então uma janela de ferramentas que lhe permitirá trabalhar numa tarefa específica. +Área de Trabalho e Páginas das Janelas de Ferramentas +Neste caso inicial, o &tdevelop; usa o modo denominado por modo de interface de utilizador IDEAl. Um espaço de trabalho com o tamanho máximo possível fica rodeado pela esquerda, baixo e direita por uma série de botões que actuam de forma semelhante às páginas numa área dividida em páginas. Se carregar numa destas páginas, aparece então uma janela de ferramentas que lhe permitirá trabalhar numa tarefa específica. -Menu e Barras de Ferramentas -No topo, existe o menu normal, seguido de várias filas de barras de ferramentas, estando algumas vazias inicialmente. Elas serão preenchidas, logo que exista um projecto aberto para o trabalho de facto. +Menu e Barras de Ferramentas +No topo, existe o menu normal, seguido de várias filas de barras de ferramentas, estando algumas vazias inicialmente. Elas serão preenchidas, logo que exista um projecto aberto para o trabalho de facto. -Barra de Estado -Finalmente, existe uma barra de estado no fundo da janela que mostra algumas informações curtas sobre as várias tarefas. +Barra de Estado +Finalmente, existe uma barra de estado no fundo da janela que mostra algumas informações curtas sobre as várias tarefas. - + -Como Obter Alguma Ajuda +Como Obter Alguma Ajuda -Para além da Ajuda, que oferece algumas respostas a perguntas específicas, a barra de estado e dois tipos de dicas de ferramentas oferecem algumas informações rápidas. +Para além da Ajuda, que oferece algumas respostas a perguntas específicas, a barra de estado e dois tipos de dicas de ferramentas oferecem algumas informações rápidas. -O Que Este Item do Menu Faz? -Quando você coloca o cursor do rato sobre um item do menu, existe alguma informação curta que será apresentada na barra de estado. Embora isto, em alguns casos, repita apenas o nome da selecção, noutros poderá oferecer algumas informações adicionais sobre o intuito do comando do menu. +O Que Este Item do Menu Faz? +Quando você coloca o cursor do rato sobre um item do menu, existe alguma informação curta que será apresentada na barra de estado. Embora isto, em alguns casos, repita apenas o nome da selecção, noutros poderá oferecer algumas informações adicionais sobre o intuito do comando do menu. -Qual é o Nome Deste Item? -Em vários itens, irá aparecer uma dica com um nome curto da função, quando você colocar o cursor por cima dela durante alguns segundos. Isto é útil para uma orientação rápida na barra de ferramentas ou nas páginas de ferramentas no modo IDEAl, quando o IDE tiver sido configurado para mostrar os ícones apenas nestes botões. +Qual é o Nome Deste Item? +Em vários itens, irá aparecer uma dica com um nome curto da função, quando você colocar o cursor por cima dela durante alguns segundos. Isto é útil para uma orientação rápida na barra de ferramentas ou nas páginas de ferramentas no modo IDEAl, quando o IDE tiver sido configurado para mostrar os ícones apenas nestes botões. -O Que é Que Este Item Faz? -Está disponível mais alguma informação, através da ajuda de dicas de ferramentas para muitos itens do IDE. Seleccione a opção Ajuda O Que É Isto? ou carregue em &Shift;F1, podendo então com o cursor do ponto de interrogação seleccionar o item que deseja conhecer. Poderá também abrir qualquer menu desta forma e carregar num item específico do menu (tanto os activos como os desactivados, a cinzento) para ver se está disponível mais alguma informação. +O Que é Que Este Item Faz? +Está disponível mais alguma informação, através da ajuda de dicas de ferramentas para muitos itens do IDE. Seleccione a opção Ajuda O Que É Isto? ou carregue em &Shift;F1, podendo então com o cursor do ponto de interrogação seleccionar o item que deseja conhecer. Poderá também abrir qualquer menu desta forma e carregar num item específico do menu (tanto os activos como os desactivados, a cinzento) para ver se está disponível mais alguma informação. - + -O que está nos menus +O que está nos menus -Existem dez menus seleccionáveis na barra de menu. A maioria deles fica preenchida por completo, logo que um projecto tenha sido aberto para trabalho, enquanto outros necessitam pelo menos de um documento aberto. Em resumo, eles irão permitir os seguintes tipos de acção. +Existem dez menus seleccionáveis na barra de menu. A maioria deles fica preenchida por completo, logo que um projecto tenha sido aberto para trabalho, enquanto outros necessitam pelo menos de um documento aberto. Em resumo, eles irão permitir os seguintes tipos de acção. -Isto é apenas uma introdução. Para uma listagem mais detalhada dos menus e dos seus itens, veja a Referência de Comandos. +Isto é apenas uma introdução. Para uma listagem mais detalhada dos menus e dos seus itens, veja a Referência de Comandos. - Ficheiro + Ficheiro - Acções Normais - Este menu é bastante comum. Permite criar, abrir, gravar, imprimir e fechar ficheiros de documentos, assim como sair da aplicação &tdevelop;, como é normal acontecer. - Reverter as Alterações - Para além disso, permite reverter as alterações, carregando de novo o conteúdo do ficheiro de uma forma ordeira. + Acções Normais + Este menu é bastante comum. Permite criar, abrir, gravar, imprimir e fechar ficheiros de documentos, assim como sair da aplicação &tdevelop;, como é normal acontecer. + Reverter as Alterações + Para além disso, permite reverter as alterações, carregando de novo o conteúdo do ficheiro de uma forma ordeira. - Editar + Editar - Este menu só é útil se estiver algum documento aberto. - Acções Normais - Oferece as acções normais para desfazer/refazer e para cortar/copiar/colar. Para além disso, permite seleccionar blocos de texto de várias formas. - Procurar e Substituir - Existe uma funcionalidade de procura muito poderosa disponível no menu Editar. Para além das acções normais de procura e substituição que se limitam ao documento actual, você poderá também conduzir uma procura e substituição a nível global. Isto permite trabalhar em todos os ficheiros do projecto de uma vez. - Edição de Texto Avançada - Existem possibilidades para formatar de novo o documento actual e para completar automaticamente alguns textos escritos parcialmente de várias formas. + Este menu só é útil se estiver algum documento aberto. + Acções Normais + Oferece as acções normais para desfazer/refazer e para cortar/copiar/colar. Para além disso, permite seleccionar blocos de texto de várias formas. + Procurar e Substituir + Existe uma funcionalidade de procura muito poderosa disponível no menu Editar. Para além das acções normais de procura e substituição que se limitam ao documento actual, você poderá também conduzir uma procura e substituição a nível global. Isto permite trabalhar em todos os ficheiros do projecto de uma vez. + Edição de Texto Avançada + Existem possibilidades para formatar de novo o documento actual e para completar automaticamente alguns textos escritos parcialmente de várias formas. - Ver + Ver - Tal como no menu Editar, este menu só é útil se estiver algum projecto aberto de momento. Neste caso, ficarão disponíveis as seguintes acções (entre outras): - Histórico de Navegação - Avance e recue pelos documentos &etc; que tenha visitado. + Tal como no menu Editar, este menu só é útil se estiver algum projecto aberto de momento. Neste caso, ficarão disponíveis as seguintes acções (entre outras): + Histórico de Navegação + Avance e recue pelos documentos &etc; que tenha visitado. - Registo de Erros - Navegue pelas linhas de código dos erros que foram encontrados no último processo de compilação/construção. + Registo de Erros + Navegue pelas linhas de código dos erros que foram encontrados no último processo de compilação/construção. - Gerir a Janela de Ferramentas - Seleccione ou esconda as janelas de ferramentas ou as áreas acopláveis de ferramentas. + Gerir a Janela de Ferramentas + Seleccione ou esconda as janelas de ferramentas ou as áreas acopláveis de ferramentas. - Acções Relacionadas com o Editor - Alguns itens do menu Ver controlam a aparência e comportamento do editor que você usa. No caso do componente do &kate; (Editor de Texto Avançado Incorporado), ficarão disponíveis os seguintes controlos: + Acções Relacionadas com o Editor + Alguns itens do menu Ver controlam a aparência e comportamento do editor que você usa. No caso do componente do &kate; (Editor de Texto Avançado Incorporado), ficarão disponíveis os seguintes controlos: - Controlar o comportamento de mudança de linha na janela do documento. - Mostrar ou esconder vários dados nas janelas de documentos: os números de linhas, ícones e, adicionalmente, as marcações de favoritos na barra de posicionamento. - Controlar a visibilidade das secções dobradas (temporariamente escondidas) num texto de código. + Controlar o comportamento de mudança de linha na janela do documento. + Mostrar ou esconder vários dados nas janelas de documentos: os números de linhas, ícones e, adicionalmente, as marcações de favoritos na barra de posicionamento. + Controlar a visibilidade das secções dobradas (temporariamente escondidas) num texto de código. - Projecto + Projecto - Todo o trabalho do &tdevelop; baseia-se em projectos que coleccionam basicamente os ficheiros de código, os ficheiros de gestão das compilações e outras informações numa pasta de projecto. Neste menu, poderá controlar o projecto a usar, as propriedades que tem e algumas acções de gestão. Em particular: - Abrir um Projecto - Permite criar projectos novos, abrir projectos existentes e importar os projectos de outros ambientes. + Todo o trabalho do &tdevelop; baseia-se em projectos que coleccionam basicamente os ficheiros de código, os ficheiros de gestão das compilações e outras informações numa pasta de projecto. Neste menu, poderá controlar o projecto a usar, as propriedades que tem e algumas acções de gestão. Em particular: + Abrir um Projecto + Permite criar projectos novos, abrir projectos existentes e importar os projectos de outros ambientes. - Opções do Projecto - Permite definir um conjunto completo de propriedades diferentes do projecto. + Opções do Projecto + Permite definir um conjunto completo de propriedades diferentes do projecto. - Gestão de Classes - Adiciona novas classes ao projecto e atravessa a árvore de heranças de uma classe. + Gestão de Classes + Adiciona novas classes ao projecto e atravessa a árvore de heranças de uma classe. - Distribuir o Projecto - Ajuda a distribuir os pacotes de distribuição do projecto. + Distribuir o Projecto + Ajuda a distribuir os pacotes de distribuição do projecto. - Compilar + Compilar - Este menu tem a ver com tudo o que respeita à compilação e documentação do projecto. Como tal, só é usado quando está um projecto aberto de momento. Neste caso, oferece as seguintes acções: - Compilar, Editar as Ligações, Executar - Permite compilar e gerar o executável do projecto completo ou de partes dele, assim como executar a aplicação a partir do IDE. + Este menu tem a ver com tudo o que respeita à compilação e documentação do projecto. Como tal, só é usado quando está um projecto aberto de momento. Neste caso, oferece as seguintes acções: + Compilar, Editar as Ligações, Executar + Permite compilar e gerar o executável do projecto completo ou de partes dele, assim como executar a aplicação a partir do IDE. - Preparar as Operações de Compilação - Isto depende, de facto, do sistema de compilações que usa para este projecto. No caso dos projectos do 'automake', ele permite correr o Makefile.cvs e o configure por si só. Existe também a possibilidade de remover os ficheiros traduzidos do projecto em várias etapas de intensidade. + Preparar as Operações de Compilação + Isto depende, de facto, do sistema de compilações que usa para este projecto. No caso dos projectos do 'automake', ele permite correr o Makefile.cvs e o configure por si só. Existe também a possibilidade de remover os ficheiros traduzidos do projecto em várias etapas de intensidade. - Instalar a Aplicação - Permite instalar a aplicação, tanto nas pastas locais como nas pastas do sistema que só estão acessíveis para o utilizador 'root'. + Instalar a Aplicação + Permite instalar a aplicação, tanto nas pastas locais como nas pastas do sistema que só estão acessíveis para o utilizador 'root'. - Documentação da API - Compila ou remove a documentação da API baseada no 'doxygen' do projecto, tal como está definido nas opções do projecto. + Documentação da API + Compila ou remove a documentação da API baseada no 'doxygen' do projecto, tal como está definido nas opções do projecto. - Depuração + Depuração - Ainda que este menu seja preenchido quando está activo um projecto, só é útil de facto se o projecto actual tiver sido compilado previamente com a informação de depuração (o que é definido basicamente na opção Projecto Opções do Projecto..). Estão disponíveis as seguintes acções neste caso: - Acções Normais do Depurador - A primeira secção na opção Depurar oferece uma interface gráfica para o depurador simbólico GDB da &GNU;. Permite iniciar e parar a sua aplicação no depurador e percorrê-lo de várias formas. + Ainda que este menu seja preenchido quando está activo um projecto, só é útil de facto se o projecto actual tiver sido compilado previamente com a informação de depuração (o que é definido basicamente na opção Projecto Opções do Projecto..). Estão disponíveis as seguintes acções neste caso: + Acções Normais do Depurador + A primeira secção na opção Depurar oferece uma interface gráfica para o depurador simbólico GDB da &GNU;. Permite iniciar e parar a sua aplicação no depurador e percorrê-lo de várias formas. - Pontos de Paragem - O &tdevelop; oferece várias formas de definir pontos de paragem no código da sua aplicação. Uma delas é através da opção do menu Comutar o Ponto de Paragem. + Pontos de Paragem + O &tdevelop; oferece várias formas de definir pontos de paragem no código da sua aplicação. Uma delas é através da opção do menu Comutar o Ponto de Paragem. - Depuração Avançada - Outras opções do menu Depurar permitem uma análise mais sofisticada do programa. Use o &Shift;F1 para obter mais informações sobre o seu objectivo. + Depuração Avançada + Outras opções do menu Depurar permitem uma análise mais sofisticada do programa. Use o &Shift;F1 para obter mais informações sobre o seu objectivo. - Janela + Janela - Este menu é relativamente comum. Poderá seleccionar qualquer janela de documento aberta, assim como fechar aqui uma ou mais janelas. Poderá até seleccionar um conjunto de janelas de documentos para serem fechadas de uma vez. + Este menu é relativamente comum. Poderá seleccionar qualquer janela de documento aberta, assim como fechar aqui uma ou mais janelas. Poderá até seleccionar um conjunto de janelas de documentos para serem fechadas de uma vez. - Ferramentas + Ferramentas - O &tdevelop; é altamente personalizado. Poderá seleccionar um editor favorito para os seus documentos, assim como oferecer ferramentas externas e incorporadas para extender as capacidades básicas do IDE. O menu Ferramentas reflecte a maior parte desta configuração. - Edição Avançada - O conjunto superior dos itens do menu Ferramentas será oferecido pelo 'plugin' do editor em uso. Poderá seleccionar o seu editor favorito coma opção Configuração Configurar o KDevelop... Editor. Logo que tenha sido seleccionado um ficheiro de documento editável, a parte superior do menu Ferramentas irá oferecer comandos de edição avançados, específicos para a componente do editor em uso. + O &tdevelop; é altamente personalizado. Poderá seleccionar um editor favorito para os seus documentos, assim como oferecer ferramentas externas e incorporadas para extender as capacidades básicas do IDE. O menu Ferramentas reflecte a maior parte desta configuração. + Edição Avançada + O conjunto superior dos itens do menu Ferramentas será oferecido pelo 'plugin' do editor em uso. Poderá seleccionar o seu editor favorito coma opção Configuração Configurar o KDevelop... Editor. Logo que tenha sido seleccionado um ficheiro de documento editável, a parte superior do menu Ferramentas irá oferecer comandos de edição avançados, específicos para a componente do editor em uso. - Tratamento da Parte Web - No caso de a janela do documento activa conter uma página em HTML (⪚ mostrada numa selecção de Documentação), o menu Ferramentas irá mostrar itens de menu adicionais que oferecem várias formas de lidar com as páginas Web. + Tratamento da Parte Web + No caso de a janela do documento activa conter uma página em HTML (⪚ mostrada numa selecção de Documentação), o menu Ferramentas irá mostrar itens de menu adicionais que oferecem várias formas de lidar com as páginas Web. - Outras Ferramentas - Normalmente existirão um conjunto de outros itens, de acordo com as ferramentas disponíveis de momento. Use o &Shift;F1 para obter mais informações sobre os seus fins. + Outras Ferramentas + Normalmente existirão um conjunto de outros itens, de acordo com as ferramentas disponíveis de momento. Use o &Shift;F1 para obter mais informações sobre os seus fins. - Configuração + Configuração - Este menu permite-lhe mostrar e esconder o menu, as barras de ferramentas e a barra de estado. Do mesmo modo, também poderá configurar os atalhos, barras de ferramentas, notificações, o editor e o comportamento geral do KDevelop. + Este menu permite-lhe mostrar e esconder o menu, as barras de ferramentas e a barra de estado. Do mesmo modo, também poderá configurar os atalhos, barras de ferramentas, notificações, o editor e o comportamento geral do KDevelop. - Ajuda + Ajuda - Aqui poderá abrir este manual do KDevelop, ler a documentação do Qt, abrir as páginas do manual (no formato tradicional de manuais do UNIX) e as páginas do 'info' (o formato de manual da GNU), comunicar erros e obter algumas informações sobre a versão actual do seu KDevelop e os seus autores. + Aqui poderá abrir este manual do KDevelop, ler a documentação do Qt, abrir as páginas do manual (no formato tradicional de manuais do UNIX) e as páginas do 'info' (o formato de manual da GNU), comunicar erros e obter algumas informações sobre a versão actual do seu KDevelop e os seus autores. - + - + -Como Iniciar um Projecto Novo — o &appwizard; +Como Iniciar um Projecto Novo — o &appwizard; -Isto serve para lhe mostrar quão simples é pôr o KDevelop a criar um programa executável para si. +Isto serve para lhe mostrar quão simples é pôr o KDevelop a criar um programa executável para si. -O &appwizard; poderá criar rapidamente um projecto para si, a partir de uma lista de modelos de projecto predefinidos. Tudo o que tem a fazer é seleccionar o tipo de projecto que deseja, como nomeá-lo e onde colocá-lo. +O &appwizard; poderá criar rapidamente um projecto para si, a partir de uma lista de modelos de projecto predefinidos. Tudo o que tem a fazer é seleccionar o tipo de projecto que deseja, como nomeá-lo e onde colocá-lo. -Seleccione Projecto - Novo Projecto. A janela para Criar um Novo Projecto irá aparecer. Assumir-se-á que deseja criar um projecto normal para o KDE. Como tal, seleccione o tipo: C++ - KDE - Aplicação Simples do KDE. Indique o nome, p.ex. 'olamundo'. A localização por omissão será '/home/utilizador/olamundo'. Se terminou a configuração nesta janela, carregue em Seguinte. Na próxima janela poderá definir algumas opções que trazem já alguns valores predefinidos úteis. Carregue em Seguinte. Finalmente, será apresentado o modelo dos ficheiros .h e dos .cpp. Mais uma vez, poderá deixá-los com os valores predefinidos e carregar em Terminar. Irá ver então a mensagem a avisar que o seu programa foi criado. +Seleccione Projecto - Novo Projecto. A janela para Criar um Novo Projecto irá aparecer. Assumir-se-á que deseja criar um projecto normal para o KDE. Como tal, seleccione o tipo: C++ - KDE - Aplicação Simples do KDE. Indique o nome, p.ex. 'olamundo'. A localização por omissão será '/home/utilizador/olamundo'. Se terminou a configuração nesta janela, carregue em Seguinte. Na próxima janela poderá definir algumas opções que trazem já alguns valores predefinidos úteis. Carregue em Seguinte. Finalmente, será apresentado o modelo dos ficheiros .h e dos .cpp. Mais uma vez, poderá deixá-los com os valores predefinidos e carregar em Terminar. Irá ver então a mensagem a avisar que o seu programa foi criado. -Para executar o seu programa, seleccione a opção Construir - Executar o Programa. Irá receber uma mensagem a avisar que o 'automake' & amigos necessitam de correr primeiro. Carregue nesse caso em OK. O seu programa será então compilado e executado, e uma janela do seu novo programa irá aparecer, a dizer "Olá Mundo". Poderá agora editar o seu programa e adicionar mais algumas funcionalidades úteis. +Para executar o seu programa, seleccione a opção Construir - Executar o Programa. Irá receber uma mensagem a avisar que o 'automake' & amigos necessitam de correr primeiro. Carregue nesse caso em OK. O seu programa será então compilado e executado, e uma janela do seu novo programa irá aparecer, a dizer "Olá Mundo". Poderá agora editar o seu programa e adicionar mais algumas funcionalidades úteis. - + diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/index.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/index.docbook index 7bb7c0b4a52..29d2e941eb6 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/index.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/index.docbook @@ -1,68 +1,30 @@ KDevelop"> + KDevelop"> - Apache"> - API"> + Apache"> + API"> - autoconf"> - automake"> + autoconf"> + automake"> - ctags"> - CVS"> + ctags"> + CVS"> - Doxygen"> - doxywizard"> - egrep"> - grep"> - HTML"> - IDE"> - libtool"> + Doxygen"> + doxywizard"> + egrep"> + grep"> + HTML"> + IDE"> + libtool"> - Python"> - Perl"> - PHP"> + Python"> + Perl"> + PHP"> - Qt/embedded"> - ssh"> + Qt/embedded"> + ssh"> @@ -99,8 +61,7 @@ - + ]> - &FDLNotice; + &FDLNotice; - O &tdevelop; é um Ambiente de Desenvolvimento Integrado para ser usado numa grande variedade de tarefas de programação. + O &tdevelop; é um Ambiente de Desenvolvimento Integrado para ser usado numa grande variedade de tarefas de programação. - KDE - KDevelop - IDE - desenvolvimento - programação + KDE + KDevelop + IDE + desenvolvimento + programação @@ -261,412 +168,182 @@ Entries which require special treatment are marked with comments starting with ' + --> + --> - + -Bibliografia +Bibliografia -(... ainda não escrito ...) +(... ainda não escrito ...) -<ulink url="info://make/Top" ->GNU Make Manual</ulink -> +<ulink url="info://make/Top">GNU Make Manual</ulink> -Richard M.Stallman -RolandMcGrath +Richard M.Stallman +RolandMcGrath -<ulink url="info://automake/Top" ->GNU Automake</ulink -> +<ulink url="info://automake/Top">GNU Automake</ulink> -DavidMacKenzie -TomTromey +DavidMacKenzie +TomTromey -<ulink url="info://autoconf/Top" ->GNU Autoconf</ulink -> +<ulink url="info://autoconf/Top">GNU Autoconf</ulink> -DavidMacKenzie -BenElliston +DavidMacKenzie +BenElliston -<ulink url="info://gcc/Top" ->Using the GNU Compiler Collection</ulink -> -Richard M.Stallman +<ulink url="info://gcc/Top">Using the GNU Compiler Collection</ulink> +Richard M.Stallman -<ulink url="info://libtool/Top" ->GNU Libtool</ulink -> +<ulink url="info://libtool/Top">GNU Libtool</ulink> -GordonMatzigkeit -AlexandreOliva -ThomasTanner -Gary V.Vaughan +GordonMatzigkeit +AlexandreOliva +ThomasTanner +Gary V.Vaughan -GNU Autoconf, Automake, and Libtool -1st edition -October 2000 +GNU Autoconf, Automake, and Libtool +1st edition +October 2000 -Gary V.Vaughan -BenElliston -TomTromey -Ian LanceTaylor +Gary V.Vaughan +BenElliston +TomTromey +Ian LanceTaylor -New Riders Publishing -ISBN 1578701902 +New Riders Publishing +ISBN 1578701902 -Advanced Programming in the &UNIX; Environment -1st edition -June 1992 -W. RichardStevens -Addison-Wesley Pub Co -ISBN 0201563177 +Advanced Programming in the &UNIX; Environment +1st edition +June 1992 +W. RichardStevens +Addison-Wesley Pub Co +ISBN 0201563177 -Thinking in C++, Volume 1: Introduction to Standard C++ -2nd Edition -April 15, 2000 -BruceEckel -Prentice Hall -ISBN 0139798099 +Thinking in C++, Volume 1: Introduction to Standard C++ +2nd Edition +April 15, 2000 +BruceEckel +Prentice Hall +ISBN 0139798099 -Open Source Development with CVS -2nd Edition -October 12, 2001 +Open Source Development with CVS +2nd Edition +October 12, 2001 -KarlFogel -MosheBar +KarlFogel +MosheBar -The Coriolis Group -ISBN 158880173X +The Coriolis Group +ISBN 158880173X -Programming PHP -1st edition -March 2002 +Programming PHP +1st edition +March 2002 -RasmusLerdorf -KevinTatroe +RasmusLerdorf +KevinTatroe -O'Reilly & Associates -ISBN 1565926102 +O'Reilly & Associates +ISBN 1565926102 -Programming Python -2nd Edition -March 2001 -MarkLutz -O'Reilly & Associates -ISBN 0596000855 +Programming Python +2nd Edition +March 2001 +MarkLutz +O'Reilly & Associates +ISBN 0596000855 -Gui Programming With Python : Using the Qt Toolkit -Bk&Cd-r edition -January 2002 -BoudewijnRempt -Opendocs Llc -ISBN 0970033044 +Gui Programming With Python : Using the Qt Toolkit +Bk&Cd-r edition +January 2002 +BoudewijnRempt +Opendocs Llc +ISBN 0970033044 -Programming Perl -The Camel book -3rd Edition -July 2000 +Programming Perl +The Camel book +3rd Edition +July 2000 -LarryWall -TomChristiansen -JonOrwant +LarryWall +TomChristiansen +JonOrwant -O'Reilly & Associates -ISBN 0596000278 +O'Reilly & Associates +ISBN 0596000278 -Learning Perl -The Lama book -3rd Edition -July 15, 2001 +Learning Perl +The Lama book +3rd Edition +July 15, 2001 -Randal L.Schwartz -TomPhoenix +Randal L.Schwartz +TomPhoenix -O'Reilly & Associates -ISBN 0596001320 +O'Reilly & Associates +ISBN 0596001320 - + diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/nutshell.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/nutshell.docbook index 5cb54aa7098..43423c785c6 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/nutshell.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/nutshell.docbook @@ -1,6 +1,5 @@ -De Algibeira — Dicas e Truques +De Algibeira — Dicas e Truques -A informação deste capítulo pretende ser uma referência rápida para uma introdução ou se você (momentaneamente) se esqueceu de algum conceito básico. Existem também dicas rápidas para saber como resolver alguns problemas comuns ao trabalhar com o &tdevelop;. -Se quiser mais informações sobre determinado tópico, basta seguir a ligação no título que inicia esse aviso. -Está disponível alguma informação sobre os seguintes tópicos: +A informação deste capítulo pretende ser uma referência rápida para uma introdução ou se você (momentaneamente) se esqueceu de algum conceito básico. Existem também dicas rápidas para saber como resolver alguns problemas comuns ao trabalhar com o &tdevelop;. +Se quiser mais informações sobre determinado tópico, basta seguir a ligação no título que inicia esse aviso. +Está disponível alguma informação sobre os seguintes tópicos: - Aparência e Comportamento - Projectos - Compilação - &automanag; - Problemas na Compilação/Make - Outros Tópicos + Aparência e Comportamento + Projectos + Compilação + &automanag; + Problemas na Compilação/Make + Outros Tópicos -Aparência e Comportamento +Aparência e Comportamento -Forçar páginas de ferramentas mais pequenas no Modo IDEAl +Forçar páginas de ferramentas mais pequenas no Modo IDEAl -Por omissão, o &tdevelop; começa com páginas de ferramentas grandes baseadas em texto, em torno da área de trabalho. Poderá alterar esta aparência para ⪚ poupar espaço na janela de configuração do &tdevelop; (Configuração Configurar o KDevelop... Interface do Utilizador). -Se você usar uma versão mais antiga do &tdevelop; 3, esta janela de configuração poderá não estar disponível. Para mudar a visualização das páginas de ferramentas, coloque um item da marca do seu ficheiro de configuração $TDEHOME/share/config/tdeveloprc, como se segue: +Por omissão, o &tdevelop; começa com páginas de ferramentas grandes baseadas em texto, em torno da área de trabalho. Poderá alterar esta aparência para ⪚ poupar espaço na janela de configuração do &tdevelop; (Configuração Configurar o KDevelop... Interface do Utilizador). +Se você usar uma versão mais antiga do &tdevelop; 3, esta janela de configuração poderá não estar disponível. Para mudar a visualização das páginas de ferramentas, coloque um item da marca do seu ficheiro de configuração $TDEHOME/share/config/tdeveloprc, como se segue: -: apenas os ícones -: apenas o texto (por omissão) - -: ícones e texto +: apenas os ícones +: apenas o texto (por omissão) + +: ícones e texto - -Caracteres coloridos e/ou estilo de visualização esquisito + +Caracteres coloridos e/ou estilo de visualização esquisito -Se reparar em letras coloridas por todo o lado (&ie; nas páginas, barras de ferramentas, etc.) e a janela do &tdevelop; parecer estar a usar um estilo de visualização errado, isto poderá ajudar: +Se reparar em letras coloridas por todo o lado (&ie; nas páginas, barras de ferramentas, etc.) e a janela do &tdevelop; parecer estar a usar um estilo de visualização errado, isto poderá ajudar: -No seu ficheiro de configuração $TDEHOME/share/config/tdeveloprc, descubra a linha que contém Style=Checked e remova-a. Depois, reinicie o &tdevelop;. +No seu ficheiro de configuração $TDEHOME/share/config/tdeveloprc, descubra a linha que contém Style=Checked e remova-a. Depois, reinicie o &tdevelop;. -(Este comportamento acontece às vezes, depois de ter carregado num ficheiro UI de um dos navegadores de ficheiros e o &tdevelop; conseguiu de facto abrir o KUIViewer para mostrar a &GUI; que foi produzido a partir deste ficheiro.) +(Este comportamento acontece às vezes, depois de ter carregado num ficheiro UI de um dos navegadores de ficheiros e o &tdevelop; conseguiu de facto abrir o KUIViewer para mostrar a &GUI; que foi produzido a partir deste ficheiro.) -Modo de ecrã completo +Modo de ecrã completo -Seleccione a opção VerModo de Ecrã Completo dos menus ou carregue em &Ctrl;&Shift;F. +Seleccione a opção VerModo de Ecrã Completo dos menus ou carregue em &Ctrl;&Shift;F. -Esconder/mostrar o menu +Esconder/mostrar o menu -Para esconder o menu, seleccione a opção ConfiguraçãoMostrar o Menu dos menus ou carregue em &Ctrl;M. Para voltar a mostrar o menu, só está disponível o &Ctrl;M . +Para esconder o menu, seleccione a opção ConfiguraçãoMostrar o Menu dos menus ou carregue em &Ctrl;M. Para voltar a mostrar o menu, só está disponível o &Ctrl;M . -Projectos +Projectos -Criar um Novo Projecto +Criar um Novo Projecto -O ProjectoNovo Projecto... irá iniciar o &appwizard;. +O ProjectoNovo Projecto... irá iniciar o &appwizard;. -Criar um projecto personalizado +Criar um projecto personalizado -Não existe qualquer forma directa de criar um projecto personalizado (&ie; um projecto que usa as suas próprias Makefiles). Use a opção Projecto Importar um Projecto Existente em alternativa. Lembre-se de definir o Tipo de Projecto apropriado, indicado por um (Makefiles personalizadas), na janela. +Não existe qualquer forma directa de criar um projecto personalizado (&ie; um projecto que usa as suas próprias Makefiles). Use a opção Projecto Importar um Projecto Existente em alternativa. Lembre-se de definir o Tipo de Projecto apropriado, indicado por um (Makefiles personalizadas), na janela. -Usar as opções do projecto cedo +Usar as opções do projecto cedo -Sempre que iniciar um projecto novo, não se esqueça de configurar o Projecto Opções do Projecto... de acordo com a sua necessidade. +Sempre que iniciar um projecto novo, não se esqueça de configurar o Projecto Opções do Projecto... de acordo com a sua necessidade. -Compilação +Compilação -Falta algum detalhe nas mensagens de compilação +Falta algum detalhe nas mensagens de compilação -Se, durante as compilações, notar que falta alguma informação valiosa na Janela de Resultado das Mensagens, poderá ser devido ao facto de o nível de detalhe das mensagens estar demasiado baixo. Carregue com o &RMB; na janela e seleccione outro nível de detalhe do menu de contexto. +Se, durante as compilações, notar que falta alguma informação valiosa na Janela de Resultado das Mensagens, poderá ser devido ao facto de o nível de detalhe das mensagens estar demasiado baixo. Carregue com o &RMB; na janela e seleccione outro nível de detalhe do menu de contexto. -<link linkend="automake-manager" ->&automanag;</link -> +<link linkend="automake-manager">&automanag;</link> -Criar ficheiros novos num projecto +Criar ficheiros novos num projecto -Seleccione o sub-projecto na metade superior do &automanag;, depois carregue com o &RMB; na metade inferior nos títulos dos grupos a que deseja adicionar os ficheiros e seleccione a opção Criar um Novo Ficheiro.... +Seleccione o sub-projecto na metade superior do &automanag;, depois carregue com o &RMB; na metade inferior nos títulos dos grupos a que deseja adicionar os ficheiros e seleccione a opção Criar um Novo Ficheiro.... -Adicionar ficheiros existentes a um projecto +Adicionar ficheiros existentes a um projecto -Seleccione o sub-projecto na metade superior do &automanag;, depois carregue com o &RMB; na metade inferior nos títulos dos grupos a que deseja adicionar os ficheiros e seleccione a opção Adicionar os Ficheiros Existentes.... +Seleccione o sub-projecto na metade superior do &automanag;, depois carregue com o &RMB; na metade inferior nos títulos dos grupos a que deseja adicionar os ficheiros e seleccione a opção Adicionar os Ficheiros Existentes.... -Remover um ficheiro de um projecto +Remover um ficheiro de um projecto -Seleccione o sub-projecto na metade superior do &automanag;, depois carregue com o &RMB; na metade inferior nos títulos dos grupos de que deseja remover os ficheiros e seleccione a opção Remover. +Seleccione o sub-projecto na metade superior do &automanag;, depois carregue com o &RMB; na metade inferior nos títulos dos grupos de que deseja remover os ficheiros e seleccione a opção Remover. -Problemas na Compilação/Make +Problemas na Compilação/Make -O projecto não consegue compilar de novo após mudar de/para o alvo por omissão +O projecto não consegue compilar de novo após mudar de/para o alvo por omissão -Existe um problema com o sistema do &automake;/&autoconf;. Se a opção Projecto Configuração da Compilação oferecer para selecção as opções de três pastas de compilação: default, optimized e debug, tente-se manter sempre ou no 'default' ou nos alvos 'debug'/'optimized'. +Existe um problema com o sistema do &automake;/&autoconf;. Se a opção Projecto Configuração da Compilação oferecer para selecção as opções de três pastas de compilação: default, optimized e debug, tente-se manter sempre ou no 'default' ou nos alvos 'debug'/'optimized'. -Logo que tenha configurado o seu projecto com o 'default', nunca mais irá compilar com o 'debug' ou o 'optimized'. +Logo que tenha configurado o seu projecto com o 'default', nunca mais irá compilar com o 'debug' ou o 'optimized'. -Logo que tenha configurado o seu projecto com o 'debug' ou o 'optimized', nunca mais irá compilar com o 'default'. +Logo que tenha configurado o seu projecto com o 'debug' ou o 'optimized', nunca mais irá compilar com o 'default'. -Erro Wrong autoconf version &etc; +Erro Wrong autoconf version &etc; -Existem várias mensagens de erro relacionadas com as versões demasiado antigas do autoconf &etc; que impedem que o configure funcione convenientemente. Execute o autoreconf na árvore de pastas onde estão os ficheiros configure.in em questão. Este comando irá tentar actualizar a informação dos ficheiros do Sistema de Compilação da &GNU;. Veja o man autoreconf para mais informações. +Existem várias mensagens de erro relacionadas com as versões demasiado antigas do autoconf &etc; que impedem que o configure funcione convenientemente. Execute o autoreconf na árvore de pastas onde estão os ficheiros configure.in em questão. Este comando irá tentar actualizar a informação dos ficheiros do Sistema de Compilação da &GNU;. Veja o man autoreconf para mais informações. -Outros Tópicos +Outros Tópicos -Ficheiros de Configuração usados pelo &tdevelop; +Ficheiros de Configuração usados pelo &tdevelop; -Normalmente não terá de se preocupar, mas isto é muito útil de saber, no caso de algo correr mal com a sua configuração. - +Normalmente não terá de se preocupar, mas isto é muito útil de saber, no caso de algo correr mal com a sua configuração. + - + diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/plugin-tools.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/plugin-tools.docbook index 000426946ce..0b453fbf097 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/plugin-tools.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/plugin-tools.docbook @@ -1,536 +1,211 @@ -Ferramentas em 'Plugins' +Ferramentas em 'Plugins' - 'plugins' - -O &tdevelop; contém uma grande quantidade de pequenas ferramentas que o ajudam a desempenhar certas tarefas. A maioria delas está implementada sob a forma de 'plugins'. Isto significa que, se não necessitar de um 'plugin', podê-lo-á desactivar. -Isto também significa que, se está à procura de uma determinada funcionalidade que deveria lá estar e não está, então é porque provavelmente está implementada num 'plugin' e este está desactivado. Por exemplo, no menu de ficheiros, existe um menu de Abertura Rápida, se estiver activo na janela de Projecto - Opções do Projecto. + 'plugins' + +O &tdevelop; contém uma grande quantidade de pequenas ferramentas que o ajudam a desempenhar certas tarefas. A maioria delas está implementada sob a forma de 'plugins'. Isto significa que, se não necessitar de um 'plugin', podê-lo-á desactivar. +Isto também significa que, se está à procura de uma determinada funcionalidade que deveria lá estar e não está, então é porque provavelmente está implementada num 'plugin' e este está desactivado. Por exemplo, no menu de ficheiros, existe um menu de Abertura Rápida, se estiver activo na janela de Projecto - Opções do Projecto. -Tecnicamente, os 'plugins' são baseados na classe KDevPlugin que está definida em 'lib/interfaces/kdevplugin.h'. O seguinte é retirado de um comentário de lá (devidamente traduzida). - -O KDevPlugin é a classe de base para todos os 'plugins' do KDevelop. Um 'plugin' é um componente que é carregado na plataforma do KDevelop no início ou a pedido. Um 'plugin' tem um âmbito que poderá ser: -Nuclear -Global -Projecto +Tecnicamente, os 'plugins' são baseados na classe KDevPlugin que está definida em 'lib/interfaces/kdevplugin.h'. O seguinte é retirado de um comentário de lá (devidamente traduzida). + +O KDevPlugin é a classe de base para todos os 'plugins' do KDevelop. Um 'plugin' é um componente que é carregado na plataforma do KDevelop no início ou a pedido. Um 'plugin' tem um âmbito que poderá ser: +Nuclear +Global +Projecto -Os 'plugins' nucleares são 'plugins' globais que oferecem alguma funcionalidade "nuclear" e, como tal, não são seleccionados pelo utilizador, nas páginas de configuração dos 'plugins'. - -Os 'plugins' globais são 'plugins' que só necessitam da plataforma para serem carregados e não operam na interface KDevProject e/ou não usam a informação ao nível do projecto. Por exemplo, o 'plugin' 'uimode' permite a um programador escolher a interface do utilizador que deseja usar. - -Os 'plugins' do projecto necessitam de ter um projecto carregado e são normalmente carregados/terminados em conjunto com o projecto. Se um 'plugin' funcionar com informação relacionada com o projecto, então é um 'plugin' de projecto. O Gestor do Automake, por exemplo, só necessita de estar activo quando estiver carregado um projecto baseado no Automake. - -Como foi dito acima, os 'plugins' do núcleo não poderão ser desactivados. Os 'plugins' globais podem ser activados/desactivados em Configuração Configurar o KDevelop... em 'Plugins'. Os 'plugins' do projecto podem ser activados/desactivados na opção Projecto Opções do Projecto... em 'Plugins'. Os 'plugins' activos poderão ter vários efeitos no KDevelop. Dependendo da sua função, poderão adicionar menus extra, opções extra, botões extra na barra de ferramentas, etc. - -Os 'plugins' que estão desactivados não enchem os seus menus e não são carregados na memória. - - -A lista de 'plugins' que se segue é gerada por um pequeno programa ('listplugins.sh'), criado por Volker Paul. Todos os 'plugins' têm um ficheiro .desktop cujo nome e comentários estão escritos. Se, no que se segue, este comentários não forem muito úteis, foi porque os autores dos 'plugins' os fizeram assim. -Os 'plugins' estão organizados por âmbito (Nuclear, Global, Projecto). - -Âmbito: Nuclear +Os 'plugins' nucleares são 'plugins' globais que oferecem alguma funcionalidade "nuclear" e, como tal, não são seleccionados pelo utilizador, nas páginas de configuração dos 'plugins'. + +Os 'plugins' globais são 'plugins' que só necessitam da plataforma para serem carregados e não operam na interface KDevProject e/ou não usam a informação ao nível do projecto. Por exemplo, o 'plugin' 'uimode' permite a um programador escolher a interface do utilizador que deseja usar. + +Os 'plugins' do projecto necessitam de ter um projecto carregado e são normalmente carregados/terminados em conjunto com o projecto. Se um 'plugin' funcionar com informação relacionada com o projecto, então é um 'plugin' de projecto. O Gestor do Automake, por exemplo, só necessita de estar activo quando estiver carregado um projecto baseado no Automake. + +Como foi dito acima, os 'plugins' do núcleo não poderão ser desactivados. Os 'plugins' globais podem ser activados/desactivados em Configuração Configurar o KDevelop... em 'Plugins'. Os 'plugins' do projecto podem ser activados/desactivados na opção Projecto Opções do Projecto... em 'Plugins'. Os 'plugins' activos poderão ter vários efeitos no KDevelop. Dependendo da sua função, poderão adicionar menus extra, opções extra, botões extra na barra de ferramentas, etc. + +Os 'plugins' que estão desactivados não enchem os seus menus e não são carregados na memória. + + +A lista de 'plugins' que se segue é gerada por um pequeno programa ('listplugins.sh'), criado por Volker Paul. Todos os 'plugins' têm um ficheiro .desktop cujo nome e comentários estão escritos. Se, no que se segue, este comentários não forem muito úteis, foi porque os autores dos 'plugins' os fizeram assim. +Os 'plugins' estão organizados por âmbito (Nuclear, Global, Projecto). + +Âmbito: Nuclear - -Assistente de Aplicações -Assistente de Aplicações - -Visualizador de Diferenças -Visualizador de Diferenças - -Criação de Ficheiros -Criação de Ficheiros - -Ecrã Completo -Ecrã Completo - -Dica do Dia -Dica do Dia - -Selecção da Interface do Utilizador -Oferece uma janela para a selecção do modo de interface do utilizador. - -Gestor de SCV -Gestor do Sistema de Controlo de Versões + +Assistente de Aplicações +Assistente de Aplicações + +Visualizador de Diferenças +Visualizador de Diferenças + +Criação de Ficheiros +Criação de Ficheiros + +Ecrã Completo +Ecrã Completo + +Dica do Dia +Dica do Dia + +Selecção da Interface do Utilizador +Oferece uma janela para a selecção do modo de interface do utilizador. + +Gestor de SCV +Gestor do Sistema de Controlo de Versões -Âmbito: Global +Âmbito: Global - -Expansão de Abreviaturas -Oferece o suporte para as abreviaturas personalizadas - as palavras pequenas que se expandem em estruturas de código comuns necessárias. - -Documentação -O 'plugin' de Documentação oferece a navegação e pesquisa na documentação local e 'online', com o suporte para vários sistemas de documentação. - -Lista de Ficheiros -Oferece uma lista com todos os ficheiros abertos. (É útil quando a barra de páginas não é suficientemente larga.) - -Selector de Ficheiros -Um utilitário de navegação de ficheiros transparente na rede e poderoso. - -Filtragem e Inserção da Linha de Comandos -Oferece uma forma de manipular o texto do editor com base em ferramentas da linha de comandos. Aparece no menu Ferramentas. - -Interface do Grep -Integra o "find|grep" no KDevelop - permite uma procura rápida em vários ficheiros, com padrões e expressões regulares. - -Konsole Embebido -Este 'plugin' dá ao KDevelop um Konsole incorporado, para poder aceder fácil e rapidamente à linha de comandos. - -Adição do Menu "Abrir com" -Este 'plugin' oferece alternativas adicionais para "abrir" nos vários menus de contexto do KDevelop. - -Ferramenta de Exploração de Componentes -Uma ferramenta gráfica para efectuar pesquisas do tipo do TDETrader acerca dos serviços registados - -Teste de Expressões Regulares -Uma ferramenta para desenhar e testar expressões regulares, usando as sintaxes de expressões regulares normais. - -Componente de Substituição -Este 'plugin' é uma ferramenta interactiva de "Procurar e Substituir" ao nível do projecto. Faça a pesquisa com a correspondência por texto ou expressões regulares, e seleccione as substituições a fazer, numa antevisão, antes de a acção terminar. Logo que esteja carregada, aparece no menu Editar. - -Programação -O 'plugin' de Programação oferece capacidades de programação em KScript à aplicação KDevelop - -Excertos de Código -Este 'plugin' permite-lhe gravar excertos de código e adicioná-los ao seu código - -Estrutura do Texto -Oferece uma vista estrutural e de navegação para os ficheiros em HTML e TEX - -Adição ao Menu de Ferramentas -Este 'plugin' oferece uma forma simples para adicionar aplicações externas ao menu e às barras de Ferramentas. - -Interface para o Valgrind -O Valgrind é uma ferramenta que o ajuda a detectar problemas de gestão de memória nos programas. Veja em http://developer.kde.org/~sewardj/ + +Expansão de Abreviaturas +Oferece o suporte para as abreviaturas personalizadas - as palavras pequenas que se expandem em estruturas de código comuns necessárias. + +Documentação +O 'plugin' de Documentação oferece a navegação e pesquisa na documentação local e 'online', com o suporte para vários sistemas de documentação. + +Lista de Ficheiros +Oferece uma lista com todos os ficheiros abertos. (É útil quando a barra de páginas não é suficientemente larga.) + +Selector de Ficheiros +Um utilitário de navegação de ficheiros transparente na rede e poderoso. + +Filtragem e Inserção da Linha de Comandos +Oferece uma forma de manipular o texto do editor com base em ferramentas da linha de comandos. Aparece no menu Ferramentas. + +Interface do Grep +Integra o "find|grep" no KDevelop - permite uma procura rápida em vários ficheiros, com padrões e expressões regulares. + +Konsole Embebido +Este 'plugin' dá ao KDevelop um Konsole incorporado, para poder aceder fácil e rapidamente à linha de comandos. + +Adição do Menu "Abrir com" +Este 'plugin' oferece alternativas adicionais para "abrir" nos vários menus de contexto do KDevelop. + +Ferramenta de Exploração de Componentes +Uma ferramenta gráfica para efectuar pesquisas do tipo do TDETrader acerca dos serviços registados + +Teste de Expressões Regulares +Uma ferramenta para desenhar e testar expressões regulares, usando as sintaxes de expressões regulares normais. + +Componente de Substituição +Este 'plugin' é uma ferramenta interactiva de "Procurar e Substituir" ao nível do projecto. Faça a pesquisa com a correspondência por texto ou expressões regulares, e seleccione as substituições a fazer, numa antevisão, antes de a acção terminar. Logo que esteja carregada, aparece no menu Editar. + +Programação +O 'plugin' de Programação oferece capacidades de programação em KScript à aplicação KDevelop + +Excertos de Código +Este 'plugin' permite-lhe gravar excertos de código e adicioná-los ao seu código + +Estrutura do Texto +Oferece uma vista estrutural e de navegação para os ficheiros em HTML e TEX + +Adição ao Menu de Ferramentas +Este 'plugin' oferece uma forma simples para adicionar aplicações externas ao menu e às barras de Ferramentas. + +Interface para o Valgrind +O Valgrind é uma ferramenta que o ajuda a detectar problemas de gestão de memória nos programas. Veja em http://developer.kde.org/~sewardj/ -Âmbito: Projecto +Âmbito: Projecto - -'Plugin' de anotações -Descrição da anotação - -Formatador do Código-Fonte -Um 'plugin' para formatar o código-fonte, de acordo com um conjunto bem definido de regras. Quando for carregado, está presente no menu Ferramentas. - -Favoritos -Um 'plugin' que oferece a navegação e a apresentação de favoritos de código activos, mantendo-os persistentes entre sessões. - -Área de Classes -Este 'plugin' mostra uma vista gráfica sobre todas as classes do projecto, completas com os métodos e atributos, oferecendo ainda uma forma de navegar directamente pelo código. - -Copiar Para -Um 'plugin' de envio de ficheiros simples. Faz uma cópia de ficheiros através de qualquer protocolo suportado pelo TDEIO. - -Interface para o CTags -O CTags é uma ferramenta para navegar no código, com o suporte para várias línguas. Quando for carregado, oferece um menu para procurar as declarações/definições dos tipos, assim como uma janela de pesquisa. Para mais informações, vá a http://ctags.sourceforge.net/ - -Suporte de Empacotamento Final -Ajuda na criação de pacotes e na publicação do projecto final. Só é suportado o formato de pacotes RPM, por agora. - -Suporte para Doxygen -O 'plugin' do 'doxygen' oferece uma forma de indicar e controlar a geração da documentação para um projecto, com base no conteúdo do código-fonte. Deverá ter o 'doxygen' instalado para poder usar isto. Para mais informações, vá a http://www.doxygen.org - -Abertura Rápida -Oferece uma forma eficiente de procurar/abrir ficheiros, classes e métodos num projecto grande. Aparece nos menus Ficheiro e Ferramentas, quando estiver carregado. - -Verificação de Segurança -Verificação da segurança do código + +'Plugin' de anotações +Descrição da anotação + +Formatador do Código-Fonte +Um 'plugin' para formatar o código-fonte, de acordo com um conjunto bem definido de regras. Quando for carregado, está presente no menu Ferramentas. + +Favoritos +Um 'plugin' que oferece a navegação e a apresentação de favoritos de código activos, mantendo-os persistentes entre sessões. + +Área de Classes +Este 'plugin' mostra uma vista gráfica sobre todas as classes do projecto, completas com os métodos e atributos, oferecendo ainda uma forma de navegar directamente pelo código. + +Copiar Para +Um 'plugin' de envio de ficheiros simples. Faz uma cópia de ficheiros através de qualquer protocolo suportado pelo TDEIO. + +Interface para o CTags +O CTags é uma ferramenta para navegar no código, com o suporte para várias línguas. Quando for carregado, oferece um menu para procurar as declarações/definições dos tipos, assim como uma janela de pesquisa. Para mais informações, vá a http://ctags.sourceforge.net/ + +Suporte de Empacotamento Final +Ajuda na criação de pacotes e na publicação do projecto final. Só é suportado o formato de pacotes RPM, por agora. + +Suporte para Doxygen +O 'plugin' do 'doxygen' oferece uma forma de indicar e controlar a geração da documentação para um projecto, com base no conteúdo do código-fonte. Deverá ter o 'doxygen' instalado para poder usar isto. Para mais informações, vá a http://www.doxygen.org + +Abertura Rápida +Oferece uma forma eficiente de procurar/abrir ficheiros, classes e métodos num projecto grande. Aparece nos menus Ficheiro e Ferramentas, quando estiver carregado. + +Verificação de Segurança +Verificação da segurança do código -Até agora, foi a lista de 'plugins' gerada. +Até agora, foi a lista de 'plugins' gerada. -'Plugins' de Gestão de Projectos do &tdevelop; - +'Plugins' de Gestão de Projectos do &tdevelop; + - antproject - Gestor de Projectos do ANT (aplicações de &Java;) + antproject + Gestor de Projectos do ANT (aplicações de &Java;) - autoproject - Gestor de Projectos do Automake + autoproject + Gestor de Projectos do Automake - customproject - Gestor de Projectos Personalizados + customproject + Gestor de Projectos Personalizados - trollproject - Gestor de Projectos baseado no QMake + trollproject + Gestor de Projectos baseado no QMake - +
-Os 'plugin' acima indicados estão de momento (Maio de 2005) vazios. Talvez o suporte para a gestão de projectos seja implementado como 'plugins' no futuro. +Os 'plugin' acima indicados estão de momento (Maio de 2005) vazios. Talvez o suporte para a gestão de projectos seja implementado como 'plugins' no futuro. -'Plugins' de Suporte de Linguagens no &tdevelop; +'Plugins' de Suporte de Linguagens no &tdevelop; -cppsupportSuporte para C/C++ -fortransupportSuporte para Fortran -javasupportSuporte para &Java; -perlsupportSuporte para Perl -phpsupportSuporte para PHP -pythonsupportSuporte para Python - +cppsupportSuporte para C/C++ +fortransupportSuporte para Fortran +javasupportSuporte para &Java; +perlsupportSuporte para Perl +phpsupportSuporte para PHP +pythonsupportSuporte para Python +
-No que se segue, alguns dos 'plugins' serão discutidos em detalhe. +No que se segue, alguns dos 'plugins' serão discutidos em detalhe. -O 'plugin' <command ->abbrev</command -> -abbrev - -Este 'plugin' expande as abreviaturas em excertos de código usados com frequência. É activado ao carregar em Ctrl Espaço. Por exemplo, quando indicar "ife" num ficheiro de C++ no editor e carregar em CtrlEspaço, irá obter um modelo de código if-else, poupando assim algum texto escrito manualmente. O conjunto de abreviaturas depende da linguagem de programação do ficheiro editado. Por exemplo, para o PHP, irá estar obviamente interessado noutros modelos de código que não os do &Java;. +O 'plugin' <command>abbrev</command> +abbrev + +Este 'plugin' expande as abreviaturas em excertos de código usados com frequência. É activado ao carregar em Ctrl Espaço. Por exemplo, quando indicar "ife" num ficheiro de C++ no editor e carregar em CtrlEspaço, irá obter um modelo de código if-else, poupando assim algum texto escrito manualmente. O conjunto de abreviaturas depende da linguagem de programação do ficheiro editado. Por exemplo, para o PHP, irá estar obviamente interessado noutros modelos de código que não os do &Java;. -O conjunto de modelos de código é configurável. Se o 'plugin' estiver activo, poderá ver os que estão disponíveis na opção Configuração Configurar o KDevelop..., em Abreviaturas. +O conjunto de modelos de código é configurável. Se o 'plugin' estiver activo, poderá ver os que estão disponíveis na opção Configuração Configurar o KDevelop..., em Abreviaturas. -O 'plugin' <command ->filter</command -> -filtro - -Este oferece duas funcionalidades. Se seleccionar a opção Ferramentas Executar o comando, poderá indicar um comando da consola. O resultado deste comando é introduzido na janela de edição, quando carregar no botão Iniciar. +O 'plugin' <command>filter</command> +filtro + +Este oferece duas funcionalidades. Se seleccionar a opção Ferramentas Executar o comando, poderá indicar um comando da consola. O resultado deste comando é introduzido na janela de edição, quando carregar no botão Iniciar. -Está disponível uma funcionalidade relacionada em FerramentasFiltrar a selecção pelo comando.... Para a usar, deverá seleccionar uma área de texto no editor. Se agora indicar um comando e carregar no botão Iniciar, o comando é iniciado e a selecção é usada como dados de entrada para ele. O resultado à saída do comando é então introduzido no editor, substituindo a selecção. - -Por exemplo, se você escrever documentação, terá de fazer referência aos itens do menu. Para o fazer correctamente, p.ex., para o comando Copiar do menu Editar, terá de escrever: <menuchoice><guimenu>Editar</guimenu><guimenuitem>Copiar</guimenuitem></menuchoice> Isto é difícil, como tal gostaria de escrever apenas "Editar - Copiar" e deixar que o computador faça a formatação. Aqui está como o poderá fazer. Poderá criar um pequeno programa chamado 'mef', que poderá pôr p.ex., na pasta 'bin' da sua pasta pessoal: sed s/"^\(.*\) - \(.*\)\$"/"<menuchoice><guimenu>\1<\/guimenu><guimenuitem>\2<\/guimenuitem><\/menuchoice>"/ Não se esqueça de o tornar executável, e é tudo. Agora, no código .docbook da sua documentação, poderá escrever "Editar - Copiar". Se seleccionar o texto que acabou de escrever, escolha a opção FerramentasFiltrar a selecção pelo comando... e invoque o '~/bin/mef'. Imediatamente o "Editar - Copiar" será substituído por <menuchoice><guimenu>Editar</guimenu><guimenuitem>Copiar</guimenuitem></menuchoice> +Está disponível uma funcionalidade relacionada em FerramentasFiltrar a selecção pelo comando.... Para a usar, deverá seleccionar uma área de texto no editor. Se agora indicar um comando e carregar no botão Iniciar, o comando é iniciado e a selecção é usada como dados de entrada para ele. O resultado à saída do comando é então introduzido no editor, substituindo a selecção. + +Por exemplo, se você escrever documentação, terá de fazer referência aos itens do menu. Para o fazer correctamente, p.ex., para o comando Copiar do menu Editar, terá de escrever: <menuchoice><guimenu>Editar</guimenu><guimenuitem>Copiar</guimenuitem></menuchoice> Isto é difícil, como tal gostaria de escrever apenas "Editar - Copiar" e deixar que o computador faça a formatação. Aqui está como o poderá fazer. Poderá criar um pequeno programa chamado 'mef', que poderá pôr p.ex., na pasta 'bin' da sua pasta pessoal: sed s/"^\(.*\) - \(.*\)\$"/"<menuchoice><guimenu>\1<\/guimenu><guimenuitem>\2<\/guimenuitem><\/menuchoice>"/ Não se esqueça de o tornar executável, e é tudo. Agora, no código .docbook da sua documentação, poderá escrever "Editar - Copiar". Se seleccionar o texto que acabou de escrever, escolha a opção FerramentasFiltrar a selecção pelo comando... e invoque o '~/bin/mef'. Imediatamente o "Editar - Copiar" será substituído por <menuchoice><guimenu>Editar</guimenu><guimenuitem>Copiar</guimenuitem></menuchoice> @@ -538,194 +213,75 @@ -O 'plugin' do &doxygen; -&doxygen; -ferramenta de documentação -Documentação da API - -Este 'plugin' ajuda a usar a ferramenta de documentação de APIs &doxygen; (). Poderá seleccionar a opção Projecto Executar o Doxygen para gerar a documentação da API para o seu projecto actual, com base na configuração indicada pelo ficheiro Doxyfile da pasta do seu projecto. +O 'plugin' do &doxygen; +&doxygen; +ferramenta de documentação +Documentação da API + +Este 'plugin' ajuda a usar a ferramenta de documentação de APIs &doxygen; (). Poderá seleccionar a opção Projecto Executar o Doxygen para gerar a documentação da API para o seu projecto actual, com base na configuração indicada pelo ficheiro Doxyfile da pasta do seu projecto. -Para além disso, poderá configurar o &doxygen; no menu Projecto Opções do projecto.... Esta janela é bastante semelhante à ferramenta &doxywizard;. +Para além disso, poderá configurar o &doxygen; no menu Projecto Opções do projecto.... Esta janela é bastante semelhante à ferramenta &doxywizard;. -O 'Plugin' do &ctags; -&ctags; - -Ainda que o navegador de classes lhe dê uma análise extensiva dos símbolos e classes do seu projecto, poderá também querer usar a ferramenta 'ctags'. Em particular, este suporta bastantes mais linguagens que o navegador de classes. +O 'Plugin' do &ctags; +&ctags; + +Ainda que o navegador de classes lhe dê uma análise extensiva dos símbolos e classes do seu projecto, poderá também querer usar a ferramenta 'ctags'. Em particular, este suporta bastantes mais linguagens que o navegador de classes. -Pode activar este 'plugin' em Ferramentas CTags.... Quando a iniciar da primeira vez, o utilizador será questionado para criar uma base de dados de procura. Quando aceitar essa opção, o programa &ctags; irá iniciar e irá criar um ficheiro chamado tags na pasta do seu projecto. Este é um ficheiro de texto que contém todos os símbolos dos seus ficheiros de código. - -Poderá procurar na base de dados de símbolos de duas formas: quando a opção Corresponder à expressão regular estiver assinalada, o texto que introduzir será interpretado como uma expressão regular (variante POSIX) e aplicada aos símbolos existentes. Por exemplo, o texto .*Widget irá procurar por todos os símbolos que terminem em Widget. Se a opção não estiver assinalada, a pesquisa será feita à letra. - -Ao procurar, irá obter uma lista dos símbolos correspondentes, acompanhada dos números de linha em que estes são definidos. Poderá saltar para o ponto respectivo, se carregar num item da lista. - -Para algumas linguagens, o &ctags; distingue os diferentes tipos de símbolos. Por exemplo, o Python tem classes e funções. Poderá optar por procurar apenas por classes, assinalando ou desligando os tipos respectivos na janela. - -A base de dados de símbolos normalmente não é actualizada com as modificações do seu código. Por consequência, ao fim de algum tempo, os números de linha já não estarão mais correctos, e irão faltar as classes e funções novas. Como tal, deverá actualizar o ficheiro tags com intervalos regulares, carregando no botão Gerar de novo. +Pode activar este 'plugin' em Ferramentas CTags.... Quando a iniciar da primeira vez, o utilizador será questionado para criar uma base de dados de procura. Quando aceitar essa opção, o programa &ctags; irá iniciar e irá criar um ficheiro chamado tags na pasta do seu projecto. Este é um ficheiro de texto que contém todos os símbolos dos seus ficheiros de código. + +Poderá procurar na base de dados de símbolos de duas formas: quando a opção Corresponder à expressão regular estiver assinalada, o texto que introduzir será interpretado como uma expressão regular (variante POSIX) e aplicada aos símbolos existentes. Por exemplo, o texto .*Widget irá procurar por todos os símbolos que terminem em Widget. Se a opção não estiver assinalada, a pesquisa será feita à letra. + +Ao procurar, irá obter uma lista dos símbolos correspondentes, acompanhada dos números de linha em que estes são definidos. Poderá saltar para o ponto respectivo, se carregar num item da lista. + +Para algumas linguagens, o &ctags; distingue os diferentes tipos de símbolos. Por exemplo, o Python tem classes e funções. Poderá optar por procurar apenas por classes, assinalando ou desligando os tipos respectivos na janela. + +A base de dados de símbolos normalmente não é actualizada com as modificações do seu código. Por consequência, ao fim de algum tempo, os números de linha já não estarão mais correctos, e irão faltar as classes e funções novas. Como tal, deverá actualizar o ficheiro tags com intervalos regulares, carregando no botão Gerar de novo. -O 'plugin' <command ->astyle</command -> -astyle -Estilo Artístico -indentação - -O 'astyle' é um 'plugin' para formatar o código-fonte, de acordo com um conjunto definido de regras. +O 'plugin' <command>astyle</command> +astyle +Estilo Artístico +indentação + +O 'astyle' é um 'plugin' para formatar o código-fonte, de acordo com um conjunto definido de regras. -O 'plugin' <command ->regexptest</command -> -regexptest -depuraçãoexpressões regulares -expressões regularesdepuração - -A programação com expressões regulares poderá ser bastante complicada. Muitas das vezes, à primeira tentativa, uma expressão irá corresponder com demasiado texto. Em particular, ao lidar com uma linguagem compilada, os tempos em que se anda às voltas a depurar uma expressão regular poderão ser desgastantes. O 'plugin' 'regexptest' permite-lhe explorar directamente as alterações numa expressão regular. É activada ao escolher a opção Ferramentas Depurar a Expressão Regular.... +O 'plugin' <command>regexptest</command> +regexptest +depuraçãoexpressões regulares +expressões regularesdepuração + +A programação com expressões regulares poderá ser bastante complicada. Muitas das vezes, à primeira tentativa, uma expressão irá corresponder com demasiado texto. Em particular, ao lidar com uma linguagem compilada, os tempos em que se anda às voltas a depurar uma expressão regular poderão ser desgastantes. O 'plugin' 'regexptest' permite-lhe explorar directamente as alterações numa expressão regular. É activada ao escolher a opção Ferramentas Depurar a Expressão Regular.... -No grupo da variante, poderá escolher a variante do motor de expressões regulares usada. As versões suportadas de momento são as da norma do POSIX, que é usado pelo programa &grep;, e a sintaxe extendida do POSIX, que é usada pelo programa &egrep;. +No grupo da variante, poderá escolher a variante do motor de expressões regulares usada. As versões suportadas de momento são as da norma do POSIX, que é usado pelo programa &grep;, e a sintaxe extendida do POSIX, que é usada pelo programa &egrep;. -Quando introduzir uma expressão, irá obter uma reacção imediata sobre os erros de sintaxe da mesma. Ao indicar um texto qualquer no Texto de teste, poderá ver se a expressão corresponde a este texto. Em particular, se a sua expressão incluir grupos, como o ([a-z]), o conteúdos dos sub-grupos será apresentado numa lista. +Quando introduzir uma expressão, irá obter uma reacção imediata sobre os erros de sintaxe da mesma. Ao indicar um texto qualquer no Texto de teste, poderá ver se a expressão corresponde a este texto. Em particular, se a sua expressão incluir grupos, como o ([a-z]), o conteúdos dos sub-grupos será apresentado numa lista. -
+ diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/project-advanced.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/project-advanced.docbook index aacf961101a..d00d976b483 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/project-advanced.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/project-advanced.docbook @@ -2,110 +2,69 @@ - BerndPol + BerndPol -Gestão Avançada de Projectos +Gestão Avançada de Projectos -Carregar os Projectos +Carregar os Projectos -Carregar um Projecto Usado Recentemente +Carregar um Projecto Usado Recentemente -(... ainda não escrito ...) +(... ainda não escrito ...) - Como abrir um projecto recente + Como abrir um projecto recente - + -Carregar um Projecto Existente +Carregar um Projecto Existente -(... ainda não escrito ...) - +(... ainda não escrito ...) + -Converter os Ficheiros Antigos de Projectos do KDevelop - -O &tdevelop; permite-lhe abrir os ficheiros de projecto antigos do KDevelop 2.x e convertê-los para ficheiros do &tdevelop;. Para o fazer, vá a Abrir um Projecto... e seleccione os Ficheiros de projecto do KDevelop 2 no campo Filtro:. Depois, seleccione o ficheiro de projecto que deseja abrir. O projecto em questão é convertido para o &tdevelop; e é gravado como um ficheiro de projecto do &tdevelop;. - - +Converter os Ficheiros Antigos de Projectos do KDevelop + +O &tdevelop; permite-lhe abrir os ficheiros de projecto antigos do KDevelop 2.x e convertê-los para ficheiros do &tdevelop;. Para o fazer, vá a Abrir um Projecto... e seleccione os Ficheiros de projecto do KDevelop 2 no campo Filtro:. Depois, seleccione o ficheiro de projecto que deseja abrir. O projecto em questão é convertido para o &tdevelop; e é gravado como um ficheiro de projecto do &tdevelop;. + + -Importar um Projecto Existente +Importar um Projecto Existente -Para importar uma directoria existente no &tdevelop;, seleccione Importar uma Directoria Existente do menu Projecto. Você deverá ver o Assistente de Importação de Directorias, como é mostrado em baixo: +Para importar uma directoria existente no &tdevelop;, seleccione Importar uma Directoria Existente do menu Projecto. Você deverá ver o Assistente de Importação de Directorias, como é mostrado em baixo:
-A Janela de Importação de Directorias +A Janela de Importação de Directorias - +
-
+ -
+ -Ajustar o Projecto — Opções do Projecto +Ajustar o Projecto — Opções do Projecto -(... ainda não escrito ...) +(... ainda não escrito ...) - + - + diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/project-management.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/project-management.docbook index dfc80d34c54..be4f30c68c5 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/project-management.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/project-management.docbook @@ -2,477 +2,137 @@ - BerndPol - IanWadham + BerndPol + IanWadham -Compilação e Gestão de Projectos +Compilação e Gestão de Projectos -Este capítulo lida apenas com os projectos compilados, como os projectos de C++, Java ou Fortran. Os projectos para as linguagens de 'scripting' como o Python ou o PHP funcionam de forma bastante diferente. +Este capítulo lida apenas com os projectos compilados, como os projectos de C++, Java ou Fortran. Os projectos para as linguagens de 'scripting' como o Python ou o PHP funcionam de forma bastante diferente. -Aqui irá encontrar informações acerca de: +Aqui irá encontrar informações acerca de: - Resumo do &automanag;, que contém uma introdução ao &automanag;, - A Operação com o Gestor Automake, que descreve as bases sobre como trabalhar com o &automanag;, + Resumo do &automanag;, que contém uma introdução ao &automanag;, + A Operação com o Gestor Automake, que descreve as bases sobre como trabalhar com o &automanag;, -Resumo do &automanag; - -No capítulo dos Sistemas de compilação devemos uma vista geral sobre os sistemas de gestão de compilações usados normalmente nos sistemas &UNIX;. Nas secções seguintes iremos olhar para isto com mais detalhe. -Existe alguma confusão sobre o nome a dar estas coisas. A GNU chama-lhes sistemas de compilação quando descreve o Automake, o Autoconf e o Libtool. O QMake chama-se a si próprio uma ferramenta para criar Makefiles para os vários compiladores e plataformas. No &kde;, é usado com frequência o termo sistemas de gestão de projectos. Iremos usar este termo num sentido mais abrangente para descrever os ambientes predefinidos do &tdevelop; que são usados para organizar e construir os seus projectos. No contexto desta secção, contudo, iremos ver mais sobre os sistemas de compilação automatizados. +Resumo do &automanag; + +No capítulo dos Sistemas de compilação devemos uma vista geral sobre os sistemas de gestão de compilações usados normalmente nos sistemas &UNIX;. Nas secções seguintes iremos olhar para isto com mais detalhe. +Existe alguma confusão sobre o nome a dar estas coisas. A GNU chama-lhes sistemas de compilação quando descreve o Automake, o Autoconf e o Libtool. O QMake chama-se a si próprio uma ferramenta para criar Makefiles para os vários compiladores e plataformas. No &kde;, é usado com frequência o termo sistemas de gestão de projectos. Iremos usar este termo num sentido mais abrangente para descrever os ambientes predefinidos do &tdevelop; que são usados para organizar e construir os seus projectos. No contexto desta secção, contudo, iremos ver mais sobre os sistemas de compilação automatizados. -A Necessidade de um Sistema de Compilação Automatizado - -Se você tiver um programa simples Olá Mundo, feito em C, você poderá compilá-lo e gerar o executável com o comando &gcc; -o ola ola.c e executá-lo com o comando ./ola, por isso você nem irá necessitar de uma Makefile. -Se você tiver uma aplicação em C com vários módulos e ficheiros de inclusão e só o vai executar na sua própria máquina (&ie;., é uma aplicação caseira), você irá só necessitar de uma única Makefile, o que é relativamente simples de criar à mão (use o info Make para saber mais sobre o assunto). -As complicações começam quando: +A Necessidade de um Sistema de Compilação Automatizado + +Se você tiver um programa simples Olá Mundo, feito em C, você poderá compilá-lo e gerar o executável com o comando &gcc; -o ola ola.c e executá-lo com o comando ./ola, por isso você nem irá necessitar de uma Makefile. +Se você tiver uma aplicação em C com vários módulos e ficheiros de inclusão e só o vai executar na sua própria máquina (&ie;., é uma aplicação caseira), você irá só necessitar de uma única Makefile, o que é relativamente simples de criar à mão (use o info Make para saber mais sobre o assunto). +As complicações começam quando: - O seu código, documentação, imagens, sons, traduções, ficheiros de dados, &etc;, estão localizados em mais do que uma directoria, - Você tem uma hierarquia de directorias e sub-pastas, - Você está a usar bibliotecas que não fazem parte do conjunto tradicional do &UNIX;, com a biblioteca de Objectos do &Qt; ou as bibliotecas do &kde;, - Você está a usar um pré-processador para gerar algum do seu código-fonte, como o pré-compilador MOC do Qt, - Você pretende distribuir a sua aplicação pelo mundo inteiro, para as pessoas que podem não ter o mesmo sistema &UNIX;/&Linux;, o mesmo 'software' e 'hardware' que você, - Você precisa de uma funcionalidade de Instalação e Desinstalação automática, - Você pretende tornar a sua aplicação parte do conjunto do Ambiente do &kde;. + O seu código, documentação, imagens, sons, traduções, ficheiros de dados, &etc;, estão localizados em mais do que uma directoria, + Você tem uma hierarquia de directorias e sub-pastas, + Você está a usar bibliotecas que não fazem parte do conjunto tradicional do &UNIX;, com a biblioteca de Objectos do &Qt; ou as bibliotecas do &kde;, + Você está a usar um pré-processador para gerar algum do seu código-fonte, como o pré-compilador MOC do Qt, + Você pretende distribuir a sua aplicação pelo mundo inteiro, para as pessoas que podem não ter o mesmo sistema &UNIX;/&Linux;, o mesmo 'software' e 'hardware' que você, + Você precisa de uma funcionalidade de Instalação e Desinstalação automática, + Você pretende tornar a sua aplicação parte do conjunto do Ambiente do &kde;. -Se você tiver alguma ou todas as situações acima, você irá provavelmente necessitar de um sistema de compilações. No exemplo acima usámos o &gcc; para compilar e gerar o executável do programa Olá Mundo, mas nem todos os compiladores de C são chamados &gcc;. Por isso, se você distribuir a sua aplicação para alguém que esteja a usar outro compilador de C, a sua Makefile terá de alguma forma de usar o nome do compilador dessa pessoa, caso contrário a sua aplicação não irá conseguir compilar — e isto é apenas um exemplo simples do que poderá correr mal. -Um sistema de compilações irá limar estas diferenças para si. +Se você tiver alguma ou todas as situações acima, você irá provavelmente necessitar de um sistema de compilações. No exemplo acima usámos o &gcc; para compilar e gerar o executável do programa Olá Mundo, mas nem todos os compiladores de C são chamados &gcc;. Por isso, se você distribuir a sua aplicação para alguém que esteja a usar outro compilador de C, a sua Makefile terá de alguma forma de usar o nome do compilador dessa pessoa, caso contrário a sua aplicação não irá conseguir compilar — e isto é apenas um exemplo simples do que poderá correr mal. +Um sistema de compilações irá limar estas diferenças para si. - Irá verificar se as bibliotecas que precisa estão presentes em cada máquina recebida, - irá percorrer automaticamente todas as directorias da sua aplicação à procura dos ficheiros a pré-processar, compilar ou instalar e - irá instalar os componentes da sua aplicação nas directoria de destino correctas, certificando-se que - as directorias são criadas na máquina de destino tal como é pedido. + Irá verificar se as bibliotecas que precisa estão presentes em cada máquina recebida, + irá percorrer automaticamente todas as directorias da sua aplicação à procura dos ficheiros a pré-processar, compilar ou instalar e + irá instalar os componentes da sua aplicação nas directoria de destino correctas, certificando-se que + as directorias são criadas na máquina de destino tal como é pedido. -Em resumo, um sistema de compilação oferece métodos seguros para a sua aplicação ser compilada e instalada correctamente em qualquer máquina de destino. Como foi mostrado acima na introdução aos Sistemas de Gestão de Projectos, o &tdevelop; oferece três sistemas de compilação automatizados e a opção para criar a sua própria Makefile (carregue nos nomes dos projectos para obter mais informações): +Em resumo, um sistema de compilação oferece métodos seguros para a sua aplicação ser compilada e instalada correctamente em qualquer máquina de destino. Como foi mostrado acima na introdução aos Sistemas de Gestão de Projectos, o &tdevelop; oferece três sistemas de compilação automatizados e a opção para criar a sua própria Makefile (carregue nos nomes dos projectos para obter mais informações): - Os projectos do Automake que usam as ferramentas de programação normais da &GNU;. - Os projectos do QMake que usam o gestor de projectos QMake da Trolltech. - Os projectos do ANT que usam o gestor de projectos ANT do Apache para a programação em &Java;. - Os projectos personalizados que deixam a seu cargo a manutenção das suas próprias Makefiles. + Os projectos do Automake que usam as ferramentas de programação normais da &GNU;. + Os projectos do QMake que usam o gestor de projectos QMake da Trolltech. + Os projectos do ANT que usam o gestor de projectos ANT do Apache para a programação em &Java;. + Os projectos personalizados que deixam a seu cargo a manutenção das suas próprias Makefiles. -Tem de ser escolhida uma destas quatro alternativas quando você criar um projecto e a escolha é difícil de alterar mais tarde, por isso, você deverá pensar bem antes de começar. +Tem de ser escolhida uma destas quatro alternativas quando você criar um projecto e a escolha é difícil de alterar mais tarde, por isso, você deverá pensar bem antes de começar. - + -Tutoriais sobre o Autoconf/Automake/Libtool -Existem vários tutoriais disponíveis sobre o Sistema de Compilações da &GNU; (o Autoconf, o Automake e a Libtool), dos quais o &automanag; tira partido. +Tutoriais sobre o Autoconf/Automake/Libtool +Existem vários tutoriais disponíveis sobre o Sistema de Compilações da &GNU; (o Autoconf, o Automake e a Libtool), dos quais o &automanag; tira partido. - Está disponível um breve tutorial do 'autoconf', feito pelo Christopher W. Curtis na página pessoal do KDevelop. Ele concentra-se em alguns passos básicos para modificar uma Makefile. - Poderá ser encontrado um tutorial mais detalhado em . Este faz parte de um conjunto maior de tutoriais sobre Desenvolver 'software' com a GNU. - Existe ainda o famoso Livro da Cabra, intitulado Autoconf, Automake, and Libtool. Este é uma introdução fácil de ler mas concisa de todos os aspectos principais das Autotools da &GNU;. + Está disponível um breve tutorial do 'autoconf', feito pelo Christopher W. Curtis na página pessoal do KDevelop. Ele concentra-se em alguns passos básicos para modificar uma Makefile. + Poderá ser encontrado um tutorial mais detalhado em . Este faz parte de um conjunto maior de tutoriais sobre Desenvolver 'software' com a GNU. + Existe ainda o famoso Livro da Cabra, intitulado Autoconf, Automake, and Libtool. Este é uma introdução fácil de ler mas concisa de todos os aspectos principais das Autotools da &GNU;. - + -O Que É Que o &automanag; Faz? - -O &appwizard; terá configurado alguns ficheiros Makefile.am iniciais quando você criou um Novo Projecto de um tipo que use o Sistema de Compilações da &GNU;, como o C++ KDE Application framework. Durante o desenvolvimento, o &automanag; cria vários outros ficheiros Makefile.am para os projectos que usam o Sistema de Compilação da &GNU; e vai fazendo a manutenção dos mesmos, tal como o &appwizard; e o &automanag; os criaram. -Existirá um ficheiro Makefile.am por cada directoria do seu projecto que contém os ficheiros a ser compilados ou instalados. Irá conter as suas especificações para compilar, gerar e instalar os ficheiros e uma referência a todas as sub-pastas que também tenham um ficheiro Makefile.am e, possivelmente, alguns ficheiros para compilar, gerar e instalar. - -As directoria do seu projecto e os ficheiros de código poderão estar estruturados com qualquer profundidade, ou você poderá preferir uma estrutura plana do projecto com todas as sub-pastas no nível de topo. - -O objectivo do Sistema de Compilação da &GNU; é produzir estruturas de ficheiros de código que possam ser compilados, gerados e instalados em qualquer sistema &UNIX; ou &Linux; usando os comandos simples: - -./configure +O Que É Que o &automanag; Faz? + +O &appwizard; terá configurado alguns ficheiros Makefile.am iniciais quando você criou um Novo Projecto de um tipo que use o Sistema de Compilações da &GNU;, como o C++ KDE Application framework. Durante o desenvolvimento, o &automanag; cria vários outros ficheiros Makefile.am para os projectos que usam o Sistema de Compilação da &GNU; e vai fazendo a manutenção dos mesmos, tal como o &appwizard; e o &automanag; os criaram. +Existirá um ficheiro Makefile.am por cada directoria do seu projecto que contém os ficheiros a ser compilados ou instalados. Irá conter as suas especificações para compilar, gerar e instalar os ficheiros e uma referência a todas as sub-pastas que também tenham um ficheiro Makefile.am e, possivelmente, alguns ficheiros para compilar, gerar e instalar. + +As directoria do seu projecto e os ficheiros de código poderão estar estruturados com qualquer profundidade, ou você poderá preferir uma estrutura plana do projecto com todas as sub-pastas no nível de topo. + +O objectivo do Sistema de Compilação da &GNU; é produzir estruturas de ficheiros de código que possam ser compilados, gerados e instalados em qualquer sistema &UNIX; ou &Linux; usando os comandos simples: + +./configure make make install # Normalmente como "root". -e possam ser desinstalado com o comando make uninstall (normalmente como 'root'). - -Como é que isto funciona? Bem, o configure é um programa que - lida com os detalhes do sistema em que está a correr, como por exemplo o compilador e as bibliotecas que deve usar e onde é que estas se localizam, e então - cria ficheiros Makefile de forma recursiva, preenchendo as substituições nos respectivos ficheiros Makefile.in. +e possam ser desinstalado com o comando make uninstall (normalmente como 'root'). + +Como é que isto funciona? Bem, o configure é um programa que + lida com os detalhes do sistema em que está a correr, como por exemplo o compilador e as bibliotecas que deve usar e onde é que estas se localizam, e então + cria ficheiros Makefile de forma recursiva, preenchendo as substituições nos respectivos ficheiros Makefile.in. -Os Makefile.in são ficheiros de input — modelos que fornecem informações básicas para as Makefiles a serem produzidas a partir deles, preenchendo alguma informação dependente do sistema. Eles são gerados pelo utilitário Automake a partir dos ficheiros Makefile.am. -O processo de passar de Makefile.am (.am significa ficheiros de modelo do Automake) para ficheiros Makefile é gerido automaticamente pelo &promanag; do &tdevelop;, usando o utilitário Autoconf, algumas macros de M4 e outras coisas que não merece a pena falar aqui. -Por isso, quando o make se executa, ele escolhe os pedaços correctos do ambiente actual, como os compiladores e as bibliotecas. De forma semelhante, o make install coloca os componentes da sua aplicação, como os executáveis, a documentação e os ficheiros de dados nos locais correctos para esse ambiente. - -Se você distribuir a sua aplicação como um TAR (um único pacote comprimido que o &tdevelop; poderá criar para si), ele irá incluir os ficheiros Makefile.in e o programa configure, de modo a que o destinatário possa compilar, construir e instalar a sua aplicação sem terem o Automake, o Autoconf ou o &tdevelop; na máquina deles. Os ficheiros Makefile.am são também incluídos, para o caso de o destinatário precisar de fazer algumas modificações ao código-fonte. -As regras são ligeiramente diferentes se você distribuir o código através de um repositório da Web como o &cvs; do &kde;. - - +Os Makefile.in são ficheiros de input — modelos que fornecem informações básicas para as Makefiles a serem produzidas a partir deles, preenchendo alguma informação dependente do sistema. Eles são gerados pelo utilitário Automake a partir dos ficheiros Makefile.am. +O processo de passar de Makefile.am (.am significa ficheiros de modelo do Automake) para ficheiros Makefile é gerido automaticamente pelo &promanag; do &tdevelop;, usando o utilitário Autoconf, algumas macros de M4 e outras coisas que não merece a pena falar aqui. +Por isso, quando o make se executa, ele escolhe os pedaços correctos do ambiente actual, como os compiladores e as bibliotecas. De forma semelhante, o make install coloca os componentes da sua aplicação, como os executáveis, a documentação e os ficheiros de dados nos locais correctos para esse ambiente. + +Se você distribuir a sua aplicação como um TAR (um único pacote comprimido que o &tdevelop; poderá criar para si), ele irá incluir os ficheiros Makefile.in e o programa configure, de modo a que o destinatário possa compilar, construir e instalar a sua aplicação sem terem o Automake, o Autoconf ou o &tdevelop; na máquina deles. Os ficheiros Makefile.am são também incluídos, para o caso de o destinatário precisar de fazer algumas modificações ao código-fonte. +As regras são ligeiramente diferentes se você distribuir o código através de um repositório da Web como o &cvs; do &kde;. + + -Resumo do que o Gestor do Automake Faz +Resumo do que o Gestor do Automake Faz - Gera ficheiros Makefile.am nas sub-pastas que conhece como sub-projectos. - Actualiza os ficheiros Makefile.am à medida que a estrutura do projecto se altera. - Actualiza os ficheiros Makefile.am à medida que os ficheiros são adicionados ou removidos do projecto. - Aceita as definições de como os vários ficheiros deverão ser compilados ou instalados e modifica o Makefile.am de acordo com isso. - Aceita os parâmetros usados na compilação e na instalação (⪚, nomes de bibliotecas) e garante que eles são usados nos passos de compilação e geração de binários. + Gera ficheiros Makefile.am nas sub-pastas que conhece como sub-projectos. + Actualiza os ficheiros Makefile.am à medida que a estrutura do projecto se altera. + Actualiza os ficheiros Makefile.am à medida que os ficheiros são adicionados ou removidos do projecto. + Aceita as definições de como os vários ficheiros deverão ser compilados ou instalados e modifica o Makefile.am de acordo com isso. + Aceita os parâmetros usados na compilação e na instalação (⪚, nomes de bibliotecas) e garante que eles são usados nos passos de compilação e geração de binários. - + -Conteúdo dos Ficheiros do Automake - -Um ficheiro Makefile.am tem linhas que contêm nomes de variáveis seguidos de um sinal de igualdade (=) e uma lista de ficheiros ou valores de parâmetros. As variáveis têm nomes com duas partes, como por exemplo bin_PROGRAMS, aplicacao_SOURCES ou kdelnk_DATA. A segunda parte é chamada de primária e representa algo a partir do qual compilar ou instalar. A primeira parte é chamada de prefixo e representa: +Conteúdo dos Ficheiros do Automake + +Um ficheiro Makefile.am tem linhas que contêm nomes de variáveis seguidos de um sinal de igualdade (=) e uma lista de ficheiros ou valores de parâmetros. As variáveis têm nomes com duas partes, como por exemplo bin_PROGRAMS, aplicacao_SOURCES ou kdelnk_DATA. A segunda parte é chamada de primária e representa algo a partir do qual compilar ou instalar. A primeira parte é chamada de prefixo e representa: - Uma directoria na qual fazer a instalação (p.ex., a bin), - Um qualificador para o primário (p.ex. novaaplicacao para SOURCES, indicando que os ficheiros de código indicados a seguir ao novaaplicacao_SOURCES vão gerar o novaaplicacao), - Um prefixo especial noinst (abreviatura de no installation ou sem instalação), é normalmente usado para listar os ficheiros de inclusão (.h), - Ou o prefixo especial EXTRA, para os elementos dependentes da configuração. + Uma directoria na qual fazer a instalação (p.ex., a bin), + Um qualificador para o primário (p.ex. novaaplicacao para SOURCES, indicando que os ficheiros de código indicados a seguir ao novaaplicacao_SOURCES vão gerar o novaaplicacao), + Um prefixo especial noinst (abreviatura de no installation ou sem instalação), é normalmente usado para listar os ficheiros de inclusão (.h), + Ou o prefixo especial EXTRA, para os elementos dependentes da configuração. -Para mais informações sobre o Automake e os ficheiros Makefile.am, vá a info Automake. -Basicamente, o &automanag; cria e actualiza os nomes das variáveis e as listas de ficheiros ou parâmetros. Veja o exemplo seguinte de um Makefile.am para uma aplicação típica, chamada aplicacao. - -## Makefile.am da 'aplicacao' +Para mais informações sobre o Automake e os ficheiros Makefile.am, vá a info Automake. +Basicamente, o &automanag; cria e actualiza os nomes das variáveis e as listas de ficheiros ou parâmetros. Veja o exemplo seguinte de um Makefile.am para uma aplicação típica, chamada aplicacao. + +## Makefile.am da 'aplicacao' # este é o programa que é instalado. O nome dele é usado para todas as # outras variáveis do Makefile.am @@ -509,789 +169,328 @@ rc_DATA = novaaplicacaoui.rc AM_CXXFLAGS = -DA_MINHA_OPCAO_DO_PREPROCESSADOR_DE_C++ -Como poderá ver, muitos dos itens do lado direito são símbolos no formato $(xxxx). Estas são variáveis de ambiente que são definidas no ambiente actual do &kde; e que são substituídas pelos valores reais quando o ./configure gerar os ficheiros Makefile finais na máquina de destino. - -Também, logo depois de você ter iniciado o KDevelop, é uma boa ideia correr o comando ./configure --help, que lhe irá mostrar o conjunto de coisas que você poderá alterar na altura da compilação ou da instalação, como por exemplo, para um ambiente de testes. Em particular, o comando: +Como poderá ver, muitos dos itens do lado direito são símbolos no formato $(xxxx). Estas são variáveis de ambiente que são definidas no ambiente actual do &kde; e que são substituídas pelos valores reais quando o ./configure gerar os ficheiros Makefile finais na máquina de destino. + +Também, logo depois de você ter iniciado o KDevelop, é uma boa ideia correr o comando ./configure --help, que lhe irá mostrar o conjunto de coisas que você poderá alterar na altura da compilação ou da instalação, como por exemplo, para um ambiente de testes. Em particular, o comando: ./configure --prefix=/onde/voce/desejar - irá redireccionar a instalação por completo para uma estrutura de directorias à sua escolha, alterando a variável interna $(prefix) para o valor /onde/voce/desejar. + irá redireccionar a instalação por completo para uma estrutura de directorias à sua escolha, alterando a variável interna $(prefix) para o valor /onde/voce/desejar. - + - + -Operação do Gestor do Automake - -Neste capítulo você irá encontrar uma descrição básica dos elementos do &automanag; e como usá-los. Isto cobre: - A Janela do &automanag; que descreve a estrutura básica da janela principal do &automanag;. - A Janela Introdutória que descreve os elementos da sub-janela superior. - A Janela de Detalhes que descreve os elementos da sub-janela inferior. - O Navegar no &automanag; lista algumas operações básicas que você poderá efectuar no &automanag;. - Os Menus de Contexto no &automanag; descreve as janelas que irão aparecer quando você seleccionar uma acção no &automanag;. +Operação do Gestor do Automake + +Neste capítulo você irá encontrar uma descrição básica dos elementos do &automanag; e como usá-los. Isto cobre: + A Janela do &automanag; que descreve a estrutura básica da janela principal do &automanag;. + A Janela Introdutória que descreve os elementos da sub-janela superior. + A Janela de Detalhes que descreve os elementos da sub-janela inferior. + O Navegar no &automanag; lista algumas operações básicas que você poderá efectuar no &automanag;. + Os Menus de Contexto no &automanag; descreve as janelas que irão aparecer quando você seleccionar uma acção no &automanag;. -A Janela do &automanag; +A Janela do &automanag; - - + + - - - O &automanag; corre numa janela dividida. A parte superior é chamada de Introdução e a parte inferior de Detalhes. Entre elas existe uma barra fina que poderá ser arrastada com o rato para ajustar o tamanho das janelas. No modo IDEAl, você poderá também arrastar o lado da janela dividida para alterar a largura. - No topo de cada área existe uma barra de ferramentas, em que os botões de cada uma ficarão activos de cada vez que um elemento da respectiva área for seleccionada. Isto possibilita uma forma de você aceder às acções oferecidas por esse elemento. A outra são os menus de contexto que aparecem quando você carrega com o &RMB;, como será discutido em baixo. - No modo IDEAl existem dois pequenos botões adicionais na barra de título da janela do &automanag;, do lado esquerdo – uma seta triangular para a direita e um ponto. O botão da seta é usado para fechar a janela. O botão do ponto, por outro lado, irá manter a janela aberta, mesmo que outra janela do &tdevelop; tenha sido seleccionada. (Caso contrário, a janela do &automanag; irá fechar automaticamente sempre que outra janela ficar em primeiro plano.) - - + + + O &automanag; corre numa janela dividida. A parte superior é chamada de Introdução e a parte inferior de Detalhes. Entre elas existe uma barra fina que poderá ser arrastada com o rato para ajustar o tamanho das janelas. No modo IDEAl, você poderá também arrastar o lado da janela dividida para alterar a largura. + No topo de cada área existe uma barra de ferramentas, em que os botões de cada uma ficarão activos de cada vez que um elemento da respectiva área for seleccionada. Isto possibilita uma forma de você aceder às acções oferecidas por esse elemento. A outra são os menus de contexto que aparecem quando você carrega com o &RMB;, como será discutido em baixo. + No modo IDEAl existem dois pequenos botões adicionais na barra de título da janela do &automanag;, do lado esquerdo – uma seta triangular para a direita e um ponto. O botão da seta é usado para fechar a janela. O botão do ponto, por outro lado, irá manter a janela aberta, mesmo que outra janela do &tdevelop; tenha sido seleccionada. (Caso contrário, a janela do &automanag; irá fechar automaticamente sempre que outra janela ficar em primeiro plano.) + + - + -A Janela de Introdução +A Janela de Introdução -A janela de Introdução contém uma árvore de todas as directorias no seu projecto que contêm ficheiros de programas, documentação ou dados. Cada uma destas directorias contém um ficheiro Makefile.am e é reconhecida pelo &automanag; como um subprojecto. Existem três sub-projectos típicos num projecto baseado no &kde;, tal como é mostrado na ilustração acima: +A janela de Introdução contém uma árvore de todas as directorias no seu projecto que contêm ficheiros de programas, documentação ou dados. Cada uma destas directorias contém um ficheiro Makefile.am e é reconhecida pelo &automanag; como um subprojecto. Existem três sub-projectos típicos num projecto baseado no &kde;, tal como é mostrado na ilustração acima: - src – ficheiros com código-fonte para a sua aplicação, - doc – o se manual do utilizador, - po – extracções das cadeias de caracteres dos seus ficheiros de código que necessitem de ser traduzidas para outras línguas (p.ex., os títulos das janelas, os nomes dos menus, os textos dos botões, das janelas e as mensagens de vários tipos). + src – ficheiros com código-fonte para a sua aplicação, + doc – o se manual do utilizador, + po – extracções das cadeias de caracteres dos seus ficheiros de código que necessitem de ser traduzidas para outras línguas (p.ex., os títulos das janelas, os nomes dos menus, os textos dos botões, das janelas e as mensagens de vários tipos). -Repare que o subprojecto doc tem sempre um subprojecto en, o qual você poderá ver se carregar no símbolo + ao lado da palavra doc. Isto acontece porque a língua de base para toda a documentação do KDE é o Inglês (en). Se a sua aplicação fizer parte do KDE, as equipas de tradução do KDE poderão traduzir a sua documentação a partir do Inglês para outras línguas e as traduções irão para outros sub-projectos como o pt (Português) ou para fr (Francês). Os textos do subprojecto po também poderão ser traduzidos e gravados noutros ficheiros do po, permitindo desta forma que a sua aplicação seja utilizada por pessoas que não percebam Inglês. - -Os sub-projectos doc e po servem para diferentes fins. O doc contém a documentação, como os manuais do utilizador, enquanto que o po contém o texto traduzido da interface do utilizador que está integrado no código-fonte desta aplicação. - -A janela de Introdução serve — entre outras coisas — como uma ferramenta de navegação. Se você seleccionar um subprojecto na janela da Introdução, os detalhes correspondentes serão mostrados na área de Detalhes. - - +Repare que o subprojecto doc tem sempre um subprojecto en, o qual você poderá ver se carregar no símbolo + ao lado da palavra doc. Isto acontece porque a língua de base para toda a documentação do KDE é o Inglês (en). Se a sua aplicação fizer parte do KDE, as equipas de tradução do KDE poderão traduzir a sua documentação a partir do Inglês para outras línguas e as traduções irão para outros sub-projectos como o pt (Português) ou para fr (Francês). Os textos do subprojecto po também poderão ser traduzidos e gravados noutros ficheiros do po, permitindo desta forma que a sua aplicação seja utilizada por pessoas que não percebam Inglês. + +Os sub-projectos doc e po servem para diferentes fins. O doc contém a documentação, como os manuais do utilizador, enquanto que o po contém o texto traduzido da interface do utilizador que está integrado no código-fonte desta aplicação. + +A janela de Introdução serve — entre outras coisas — como uma ferramenta de navegação. Se você seleccionar um subprojecto na janela da Introdução, os detalhes correspondentes serão mostrados na área de Detalhes. + + -A Janela de Vista de Detalhes +A Janela de Vista de Detalhes -A janela de Detalhes contém uma árvore com todos os ficheiros no subprojecto seleccionado de momento na Introdução, assim como as regras de compilação, geração e instalação para este subprojecto. Como tal, as duas áreas em conjunto poder-lhe-ão dar o acesso a todos os componentes da sua aplicação e a todas as informações sobre como compilar, gerar e instalar os itens. +A janela de Detalhes contém uma árvore com todos os ficheiros no subprojecto seleccionado de momento na Introdução, assim como as regras de compilação, geração e instalação para este subprojecto. Como tal, as duas áreas em conjunto poder-lhe-ão dar o acesso a todos os componentes da sua aplicação e a todas as informações sobre como compilar, gerar e instalar os itens. -Alvos - -A lista em árvore nos Detalhes tem dois níveis. O nível de topo consiste nos alvos do &automanag; e o próximo nível contém as listas dos ficheiros que irão compor cada alvo. - -Este conceito de um alvo para o &automanag; difere de certa forma do que é um alvo nas Makefiles. Em resumo: +Alvos + +A lista em árvore nos Detalhes tem dois níveis. O nível de topo consiste nos alvos do &automanag; e o próximo nível contém as listas dos ficheiros que irão compor cada alvo. + +Este conceito de um alvo para o &automanag; difere de certa forma do que é um alvo nas Makefiles. Em resumo: - A definição de como deverá ser compilado, gerado ou instalado um conjunto de ficheiros é conhecido como um alvo no &automanag;, mas apenas como uma variável no Automake em si. - Um alvo no make é normalmente algo de muito diferente, sendo o parâmetro de um comando make (p.ex. make install, make clean). - Contudo, algumas variáveis do Makefile.am representam, de facto, um sub-alvo subjacente no make. + A definição de como deverá ser compilado, gerado ou instalado um conjunto de ficheiros é conhecido como um alvo no &automanag;, mas apenas como uma variável no Automake em si. + Um alvo no make é normalmente algo de muito diferente, sendo o parâmetro de um comando make (p.ex. make install, make clean). + Contudo, algumas variáveis do Makefile.am representam, de facto, um sub-alvo subjacente no make. - + -Navegar no &automanag; - -Tanto na janela de Introdução como na de Detalhes, você poderá carregar com o botão esquerdo nos símbolos + ou -, juntos a um subprojecto ou nome de alvo para expandir ou contrair a árvore. Se fizer isso com um subprojecto na Introdução, ele irá mostrar ou esconder os sub-projectos no próximo nível abaixo (se existir). Se o fizer com um alvo na janela de Detalhes, ele mostra ou esconde a lista de ficheiros que vão para esse alvo. +Navegar no &automanag; + +Tanto na janela de Introdução como na de Detalhes, você poderá carregar com o botão esquerdo nos símbolos + ou -, juntos a um subprojecto ou nome de alvo para expandir ou contrair a árvore. Se fizer isso com um subprojecto na Introdução, ele irá mostrar ou esconder os sub-projectos no próximo nível abaixo (se existir). Se o fizer com um alvo na janela de Detalhes, ele mostra ou esconde a lista de ficheiros que vão para esse alvo. -Abrir um Ficheiro para Edição +Abrir um Ficheiro para Edição -Se você carregar com o &LMB; no nome de um ficheiro na janela de Detalhes, o ficheiro correspondente irá abrir na janela de edição do &tdevelop;. +Se você carregar com o &LMB; no nome de um ficheiro na janela de Detalhes, o ficheiro correspondente irá abrir na janela de edição do &tdevelop;. -Activar os Botões da Barra de Ferramentas do &automanag; +Activar os Botões da Barra de Ferramentas do &automanag; -Se você carregar com o &LMB; no nome de um subprojecto na área de introdução ou num alvo da janela de detalhes, esse nome fica realçado e alguns botões da barra de ferramentas ficam activos na parte superior dessa janela. +Se você carregar com o &LMB; no nome de um subprojecto na área de introdução ou num alvo da janela de detalhes, esse nome fica realçado e alguns botões da barra de ferramentas ficam activos na parte superior dessa janela. - Recomenda-se que você use o botão direito do rato e os menus de contexto, em vez dos botões das barras de ferramentas, porque é muito mais fácil de ver e perceber o que é que eles fazem. - As operações nos sub-projectos e nos alvos têm efeitos de larga escala na estrutura, compilação, geração e instalação da sua aplicação. + Recomenda-se que você use o botão direito do rato e os menus de contexto, em vez dos botões das barras de ferramentas, porque é muito mais fácil de ver e perceber o que é que eles fazem. + As operações nos sub-projectos e nos alvos têm efeitos de larga escala na estrutura, compilação, geração e instalação da sua aplicação. -Seleccionar Acções/Menus de Contexto +Seleccionar Acções/Menus de Contexto -Se você carregar com o &RMB; no nome de um subprojecto, alvo ou ficheiro, irá aparecer um menu, onde nele poderá seleccionar as acções a efectuar sobre o item em questão, como adicionar um alvo ao subprojecto, adicionar um ficheiro a um alvo ou remover logicamente o ficheiro seleccionado do seu alvo. +Se você carregar com o &RMB; no nome de um subprojecto, alvo ou ficheiro, irá aparecer um menu, onde nele poderá seleccionar as acções a efectuar sobre o item em questão, como adicionar um alvo ao subprojecto, adicionar um ficheiro a um alvo ou remover logicamente o ficheiro seleccionado do seu alvo. - + -Menus de Contexto no &automanag; +Menus de Contexto no &automanag; -As seguintes acções explicam de forma resumida quais as operações que os menus disponibilizam e que irão aparecer, quando o botão direito do rato é carregado na janela do &automanag;. Elas pretendem ser meramente introdutórias. Você irá obter descrições mais detalhadas para a maioria das operações num capítulo posterior. +As seguintes acções explicam de forma resumida quais as operações que os menus disponibilizam e que irão aparecer, quando o botão direito do rato é carregado na janela do &automanag;. Elas pretendem ser meramente introdutórias. Você irá obter descrições mais detalhadas para a maioria das operações num capítulo posterior. -O Menu de Contexto de um Ficheiro - -Quando você carregar com o &RMB; no nome de um ficheiro na janela de Detalhes, irá aparecer o seguinte menu que lhe permite seleccionar uma de várias operações nesse ficheiro. Na ilustração por baixo, o ícone hi-16app-novaaplicacao.png foi seleccionado a partir do alvo Dados de ícone no 'novaaplicacao' do subprojecto novaaplicacao/src. +O Menu de Contexto de um Ficheiro + +Quando você carregar com o &RMB; no nome de um ficheiro na janela de Detalhes, irá aparecer o seguinte menu que lhe permite seleccionar uma de várias operações nesse ficheiro. Na ilustração por baixo, o ícone hi-16app-novaaplicacao.png foi seleccionado a partir do alvo Dados de ícone no 'novaaplicacao' do subprojecto novaaplicacao/src. - - + + - - - O item principal do menu para um ficheiro é o Remover, para retirar o ficheiro do seu alvo (i.e., não será mais usado para compilar, gerar ou instalar esse alvo). - O item CVS oferece um conjunto de operações do CVS sobre o ficheiro. - O item Abrir Com permite-lhe abrir o ficheiro com uma variedade de editores ou com qualquer aplicação que desejar (p.ex., você poderá abrir o ficheiro do ícone do nosso exemplo com o TDEIcon). - O item Perforce é usado para as operações semelhantes às do CVS, mas usando o sistema comercial de controlo de versões Perforce. - - + + + O item principal do menu para um ficheiro é o Remover, para retirar o ficheiro do seu alvo (i.e., não será mais usado para compilar, gerar ou instalar esse alvo). + O item CVS oferece um conjunto de operações do CVS sobre o ficheiro. + O item Abrir Com permite-lhe abrir o ficheiro com uma variedade de editores ou com qualquer aplicação que desejar (p.ex., você poderá abrir o ficheiro do ícone do nosso exemplo com o TDEIcon). + O item Perforce é usado para as operações semelhantes às do CVS, mas usando o sistema comercial de controlo de versões Perforce. + + - + -O Menu de Contexto de um Alvo - -Quando você carregar com o botão direito num alvo da janela de Detalhes, irá aparecer o seguinte menu que lhe permitirá seleccionar uma de várias operações sobre ele. Na imagem em baixo, o alvo novaaplicacao (Programa em bin) do subprojecto novaaplicacao/src estava seleccionado. +O Menu de Contexto de um Alvo + +Quando você carregar com o botão direito num alvo da janela de Detalhes, irá aparecer o seguinte menu que lhe permitirá seleccionar uma de várias operações sobre ele. Na imagem em baixo, o alvo novaaplicacao (Programa em bin) do subprojecto novaaplicacao/src estava seleccionado. - - + + - - - O item Opções de um alvo só se aplica aos ficheiros de código-fonte. Na janela correspondente você poderá indicar as opções do editor de ligações e os locais onde procurar as bibliotecas e onde você poderá também indicar uma lista com as bibliotecas que irão ser efectivamente associadas à sua aplicação. - O item Criar um Novo Ficheiro mostra uma janela, na qual você poderá indicar o nome e o tipo do ficheiro a ser gerado (a partir de uma lista). - O item Adicionar Ficheiros Existentes mostra uma janela, na qual você poderá adicionar um ou mais ficheiros existentes a este alvo. - O item Remover para um alvo, permite-lhe remover logicamente o alvo e todos os seus ficheiros da estrutura do projecto. - O item Tornar o Alvo Activo só se aplica aos alvos que contenham ficheiros de código. Os ficheiros novos serão sempre adicionados a um desses alvos activos. - O item Construir o Alvo invoca todas as operações de compilação e geração de binários necessárias para compilar o código apenas para este alvo. - - + + + O item Opções de um alvo só se aplica aos ficheiros de código-fonte. Na janela correspondente você poderá indicar as opções do editor de ligações e os locais onde procurar as bibliotecas e onde você poderá também indicar uma lista com as bibliotecas que irão ser efectivamente associadas à sua aplicação. + O item Criar um Novo Ficheiro mostra uma janela, na qual você poderá indicar o nome e o tipo do ficheiro a ser gerado (a partir de uma lista). + O item Adicionar Ficheiros Existentes mostra uma janela, na qual você poderá adicionar um ou mais ficheiros existentes a este alvo. + O item Remover para um alvo, permite-lhe remover logicamente o alvo e todos os seus ficheiros da estrutura do projecto. + O item Tornar o Alvo Activo só se aplica aos alvos que contenham ficheiros de código. Os ficheiros novos serão sempre adicionados a um desses alvos activos. + O item Construir o Alvo invoca todas as operações de compilação e geração de binários necessárias para compilar o código apenas para este alvo. + + - + -O Menu de Contexto de um Sub-Projecto +O Menu de Contexto de um Sub-Projecto -Quando você carregar com o &RMB; num subprojecto da janela de Introdução, irá aparecer o seguinte menu que lhe permite fazer as alterações mais abrangentes à estrutura do seu projecto e à forma como é compilado, gerado e instalado. Você poderá usá-lo para expandir ou modificar a estrutura básica do projecto que o &appwizard; criou. +Quando você carregar com o &RMB; num subprojecto da janela de Introdução, irá aparecer o seguinte menu que lhe permite fazer as alterações mais abrangentes à estrutura do seu projecto e à forma como é compilado, gerado e instalado. Você poderá usá-lo para expandir ou modificar a estrutura básica do projecto que o &appwizard; criou. - - + + - - - O item Opções de um subprojecto controla a forma como o subprojecto será compilado, gerado e instalado. A janela que aparece terá páginas para o Compilador, Inclusões, Prefixos e Ordem de Construção. - O item Adicionar um Sub-projecto cria uma nova directoria e um ficheiro-esqueleto do Makefile.am. - O item Adicionar um Alvo faz aparecer uma janela, na qual você poderá definir as regras para compilar, gerar ou instalar um grupo de ficheiros dentro do seu subprojecto. - Adicionar um Serviço (... a ser escrito ...) - Adicionar uma Aplicação (... a ser escrito ...) - Adicionar um Sub-Projecto Existente (... a ser escrito ...) - O item Remover o Sub-projecto do menu de contexto de um subprojecto é a forma correcta de remover um subprojecto. Ela irá ajustar os ficheiros Makefile.am de acordo com isso. Você também terá a opção de remover todos os ficheiros (ou ligações) da subdirectoria correspondente. Obviamente, esta funcionalidade deverá ser usada com cuidado. - O item Construir invoca todas as operações de compilação e geração necessárias para compilar o código apenas deste subprojecto. - Forçar a Reedição (... a ser escrito ...) - Limpar (... a ser escrito ...) - Instalar (... a ser escrito ...) - Instalar (como utilizador 'root') (... a ser escrito ...) - - + + + O item Opções de um subprojecto controla a forma como o subprojecto será compilado, gerado e instalado. A janela que aparece terá páginas para o Compilador, Inclusões, Prefixos e Ordem de Construção. + O item Adicionar um Sub-projecto cria uma nova directoria e um ficheiro-esqueleto do Makefile.am. + O item Adicionar um Alvo faz aparecer uma janela, na qual você poderá definir as regras para compilar, gerar ou instalar um grupo de ficheiros dentro do seu subprojecto. + Adicionar um Serviço (... a ser escrito ...) + Adicionar uma Aplicação (... a ser escrito ...) + Adicionar um Sub-Projecto Existente (... a ser escrito ...) + O item Remover o Sub-projecto do menu de contexto de um subprojecto é a forma correcta de remover um subprojecto. Ela irá ajustar os ficheiros Makefile.am de acordo com isso. Você também terá a opção de remover todos os ficheiros (ou ligações) da subdirectoria correspondente. Obviamente, esta funcionalidade deverá ser usada com cuidado. + O item Construir invoca todas as operações de compilação e geração necessárias para compilar o código apenas deste subprojecto. + Forçar a Reedição (... a ser escrito ...) + Limpar (... a ser escrito ...) + Instalar (... a ser escrito ...) + Instalar (como utilizador 'root') (... a ser escrito ...) + + - + - + - + -Projectos Automake -autoproject -&automake; -&autoconf; -&libtool; - -(... ainda não escrito ...) +Projectos Automake +autoproject +&automake; +&autoconf; +&libtool; + +(... ainda não escrito ...) -Autoconf -'script' configure -'script' config.status -Makefile.in -config.h.in - -Makefile.in em Makefile - -prefix = @prefix@ +Autoconf +'script' configure +'script' config.status +Makefile.in +config.h.in + +Makefile.in em Makefile + +prefix = @prefix@ INSTALL = @INSTALL@ build_triplet = @build@ CXX = @CXX@ -prefix = /home/ze/kde3 +prefix = /home/ze/kde3 INSTALL = /usr/bin/ginstall -c -p build_triplet = i686-pc-linux-gnu CXX = g++ -config.h.in em config.h +config.h.in em config.h -/* Defina se você tiver a 'libz' */ +/* Defina se você tiver a 'libz' */ #undef HAVE_LIBZ /* O tamanho de um `int', tal como indicado pelo 'sizeof'. */ #undef SIZEOF_INT -/* Defina se tiver a 'libz' */ +/* Defina se tiver a 'libz' */ #define HAVE_LIBZ 1 /* O tamanho de um `int', tal como indicado pelo 'sizeof'. */ #define SIZEOF_INT 4 - + -Automake +Automake -(... ainda não escrito ...) +(... ainda não escrito ...) - + -&automanag; do &tdevelop; +&automanag; do &tdevelop;
-Uma imagem do gestor de automake +Uma imagem do gestor de automake - +
-
+ -Compilar e Instalar as Bibliotecas +Compilar e Instalar as Bibliotecas --rpath -PIC -static -'plugins': no-undefined +-rpath +PIC +static +'plugins': no-undefined - + -
+ -'Makefiles' e Programas de Compilação Personalizados -Makefile -build.xml - -(... ainda não escrito ...) - - +'Makefiles' e Programas de Compilação Personalizados +Makefile +build.xml + +(... ainda não escrito ...) + + -Opções do Compilador +Opções do Compilador -(... ainda não escrito ...) +(... ainda não escrito ...) - + -Opções do Make +Opções do Make -(... ainda não escrito ...) +(... ainda não escrito ...) - + - + diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/setup.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/setup.docbook index 4738fc192be..0a440a88dfd 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/setup.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/setup.docbook @@ -2,27 +2,14 @@ - BerndPol + BerndPol -Configurar o &tdevelop; +Configurar o &tdevelop; -O &tdevelop; é um IDE muito poderoso e flexível que oferece muitas formas de o ajustar às suas necessidades. Para iniciar a configuração, seleccione ConfiguraçãoConfigurar o KDevelop.... Isto fará com que a janela de configuração se abra, consistindo numa janela de selecção à esquerda e na janela de configuração à direita, cujo conteúdo irá variar de acordo com o item de configuração que seleccionou. +O &tdevelop; é um IDE muito poderoso e flexível que oferece muitas formas de o ajustar às suas necessidades. Para iniciar a configuração, seleccione ConfiguraçãoConfigurar o KDevelop.... Isto fará com que a janela de configuração se abra, consistindo numa janela de selecção à esquerda e na janela de configuração à direita, cujo conteúdo irá variar de acordo com o item de configuração que seleccionou. @@ -30,176 +17,85 @@ -Seleccionar um item de configuração +Seleccionar um item de configuração - Seleccionar um item de configuração + Seleccionar um item de configuração -Iremos discutir estas configurações por uma ordem diferente, dividindo nos tópicos principais da Configuração Geral, Configurar a Documentação e Configuração Avançada, o que causa uma leitura mais intuitiva. -Se quiser ver directamente um certo item de configuração, use uma das seguintes referências. +Iremos discutir estas configurações por uma ordem diferente, dividindo nos tópicos principais da Configuração Geral, Configurar a Documentação e Configuração Avançada, o que causa uma leitura mais intuitiva. +Se quiser ver directamente um certo item de configuração, use uma das seguintes referências. - Geral - 'Plugins' - Formatador de Código - Assistente de Novo Ficheiro - Interface do Utilizador - Editor - Abreviaturas - O Menu Ferramentas - Ferramentas Externas - Documentação - Excertos de Código - Selector de Ficheiros + Geral + 'Plugins' + Formatador de Código + Assistente de Novo Ficheiro + Interface do Utilizador + Editor + Abreviaturas + O Menu Ferramentas + Ferramentas Externas + Documentação + Excertos de Código + Selector de Ficheiros -Configuração Geral +Configuração Geral -A configuração geral diz respeito às tarefas mais comuns de ajuste do &tdevelop; e consistem em: +A configuração geral diz respeito às tarefas mais comuns de ajuste do &tdevelop; e consistem em: - - Configuração Geral - - - Seleccionar a Interface do Utilizador - + + Configuração Geral + + + Seleccionar a Interface do Utilizador + -Tarefas de Edição do Código - - Seleccionar um Editor - - - Seleccionar um Estilo de Formatação de Código - - - Configurar a Ferramenta de Excertos de Código - +Tarefas de Edição do Código + + Seleccionar um Editor + + + Seleccionar um Estilo de Formatação de Código + + + Configurar a Ferramenta de Excertos de Código + - - Configurar o Selector de Ficheiros - + + Configurar o Selector de Ficheiros + -Configuração Geral +Configuração Geral -A janela de configuração Geral permite-lhe definir algum comportamento básico do &tdevelop; que irá mudar pouco no dia-a-dia. Isto respeita a: +A janela de configuração Geral permite-lhe definir algum comportamento básico do &tdevelop; que irá mudar pouco no dia-a-dia. Isto respeita a: -As opções gerais do projecto, como +As opções gerais do projecto, como - definir uma directoria-mãe por omissão, que o &tdevelop; deverá usar para os projectos novos. - decidir se quer que o &tdevelop; carregue automaticamente o projecto onde estava a trabalhar da última vez. + definir uma directoria-mãe por omissão, que o &tdevelop; deverá usar para os projectos novos. + decidir se quer que o &tdevelop; carregue automaticamente o projecto onde estava a trabalhar da última vez. -Seleccionar um tipo de letra para as janelas de resultados usadas mais frequentemente, nomeadamente: +Seleccionar um tipo de letra para as janelas de resultados usadas mais frequentemente, nomeadamente: -a Janela de Mensagens de Resultado que o &tdevelop; usa para apresentar ⪚ o progresso da compilação e +a Janela de Mensagens de Resultado que o &tdevelop; usa para apresentar ⪚ o progresso da compilação e -a Janela de Resultado da Aplicação que irá mostrar as mensagens de erro e de estado respeitantes a uma aplicação em execução. +a Janela de Resultado da Aplicação que irá mostrar as mensagens de erro e de estado respeitantes a uma aplicação em execução. @@ -207,34 +103,18 @@ -Algum comportamento comum respeitante às linhas apresentadas na Janela de Mensagens, como por exemplo: +Algum comportamento comum respeitante às linhas apresentadas na Janela de Mensagens, como por exemplo: -se as linhas compridas serão repartidas e +se as linhas compridas serão repartidas e -se as mensagens de entrada e saída das directorias geradas pelo Make serão apresentadas. +se as mensagens de entrada e saída das directorias geradas pelo Make serão apresentadas. -O nível de detalhe das mensagens correspondentes ao processo de compilação mostrado na janela de Mensagens. +O nível de detalhe das mensagens correspondentes ao processo de compilação mostrado na janela de Mensagens. @@ -244,754 +124,327 @@ - A janela de configuração geral + A janela de configuração geral -Ler o último projecto no arranque +Ler o último projecto no arranque -Assinale esta opção se deseja continuar a trabalhar no último projecto em que trabalhou. Isto fará com que o &tdevelop; carregue automaticamente este projecto no arranque. Será normalmente mostrado no estado em que você deixou o trabalho, para que possa continuar da mesma forma. +Assinale esta opção se deseja continuar a trabalhar no último projecto em que trabalhou. Isto fará com que o &tdevelop; carregue automaticamente este projecto no arranque. Será normalmente mostrado no estado em que você deixou o trabalho, para que possa continuar da mesma forma. -Pasta de projectos por omissão: +Pasta de projectos por omissão: -Por omissão, o &tdevelop; usa uma directoria de base comum para todos os projectos novos. Indique a localização absoluta desta directoria comum no campo de texto respectivo ou seleccione-a na sua estrutura de directorias. O &tdevelop; irá colocar os projectos novos aqui como sub-pastas desta. -Você poderá, obviamente, mudar a localização de um projecto novo na altura em que o configurar no &appwizard;. +Por omissão, o &tdevelop; usa uma directoria de base comum para todos os projectos novos. Indique a localização absoluta desta directoria comum no campo de texto respectivo ou seleccione-a na sua estrutura de directorias. O &tdevelop; irá colocar os projectos novos aqui como sub-pastas desta. +Você poderá, obviamente, mudar a localização de um projecto novo na altura em que o configurar no &appwizard;. -Tipo de letra da janela: +Tipo de letra da janela: -Para seleccionar um tipo de letra adequado para a Janela de Mensagens, carregue no botão do Tipo de Letra da Janela que mostra o tipo de letra actual (na imagem acima, diz Luxi Sans). Irá então aparecer a janela normal do &kde; para Seleccionar o Tipo de Letra, na qual você poderá seleccionar o tipo de letra a ser usado. -No primeiro arranque, o &tdevelop; inicializa esta configuração do tipo de letra com base no tipo de letra normal que o seu utilizador do &kde; tem configurada. Esta configuração é fixa, por isso, se você alterar as PreferênciasAparência & TemasTipos de Letra no Centro de Controlo, isto irá afectar esta selecção de tipo de letra do &tdevelop;. Você terá de seleccionar de novo explicitamente o tipo de letra da Janela de Mensagens. +Para seleccionar um tipo de letra adequado para a Janela de Mensagens, carregue no botão do Tipo de Letra da Janela que mostra o tipo de letra actual (na imagem acima, diz Luxi Sans). Irá então aparecer a janela normal do &kde; para Seleccionar o Tipo de Letra, na qual você poderá seleccionar o tipo de letra a ser usado. +No primeiro arranque, o &tdevelop; inicializa esta configuração do tipo de letra com base no tipo de letra normal que o seu utilizador do &kde; tem configurada. Esta configuração é fixa, por isso, se você alterar as PreferênciasAparência & TemasTipos de Letra no Centro de Controlo, isto irá afectar esta selecção de tipo de letra do &tdevelop;. Você terá de seleccionar de novo explicitamente o tipo de letra da Janela de Mensagens. -Mudança de linha +Mudança de linha -Por omissão, o &tdevelop; irá repartir as linhas compridas na janela de Mensagens, de modo que a informação valiosa não será ignorada com facilidade. Nalguns casos, isto irá gerar listas de mensagens grandes e confusas. Desligue a opção se não quiser que as linhas sejam repartidas. -Existe uma forma alternativa de alterar a mudança de linha. Basta carregar com o &RMB; na Janela de Mensagens e assinalar ou desligar o item Mudança de Linha do menu que irá aparecer. +Por omissão, o &tdevelop; irá repartir as linhas compridas na janela de Mensagens, de modo que a informação valiosa não será ignorada com facilidade. Nalguns casos, isto irá gerar listas de mensagens grandes e confusas. Desligue a opção se não quiser que as linhas sejam repartidas. +Existe uma forma alternativa de alterar a mudança de linha. Basta carregar com o &RMB; na Janela de Mensagens e assinalar ou desligar o item Mudança de Linha do menu que irá aparecer. -Mensagens de navegação em pastas +Mensagens de navegação em pastas -A ferramenta Make normalmente irá mostrar linhas do tipo Entering directory (A entrar na directoria), ou Leaving directory (A sair da directoria), quando ele muda de directoria de trabalho. dado que isto enche a lista de mensagens na janela de Mensagens, o &tdevelop; suprime estas mensagens por omissão. Assinale a opção se quiser saber que directorias o Make processou. -As alterações desta opção farão efeito apenas no processamento das mensagens novas. As mensagens antigas de navegação nas directorias ficarão à mesma visíveis quando você desligar esta funcionalidade. +A ferramenta Make normalmente irá mostrar linhas do tipo Entering directory (A entrar na directoria), ou Leaving directory (A sair da directoria), quando ele muda de directoria de trabalho. dado que isto enche a lista de mensagens na janela de Mensagens, o &tdevelop; suprime estas mensagens por omissão. Assinale a opção se quiser saber que directorias o Make processou. +As alterações desta opção farão efeito apenas no processamento das mensagens novas. As mensagens antigas de navegação nas directorias ficarão à mesma visíveis quando você desligar esta funcionalidade. -Mensagens do Compilador +Mensagens do Compilador -O &tdevelop; faz um pré-processamento que a janela das Mensagens recebe durante os processos de compilação, de modo a filtrar a informação supérflua. Você poderá controlar o nível de detalhe que o &tdevelop; irá mostrar com as opções exclusivas deste campo. +O &tdevelop; faz um pré-processamento que a janela das Mensagens recebe durante os processos de compilação, de modo a filtrar a informação supérflua. Você poderá controlar o nível de detalhe que o &tdevelop; irá mostrar com as opções exclusivas deste campo. - Muito Curto - Mostra apenas os avisos, erros e os ficheiros que estão a ser compilados. + Muito Curto + Mostra apenas os avisos, erros e os ficheiros que estão a ser compilados. - Curto - Suprime todas as opções do compilador e forma o resultado para ser mais legível. + Curto + Suprime todas as opções do compilador e forma o resultado para ser mais legível. - Completo - Mostra todas as mensagens sem modificações. + Completo + Mostra todas as mensagens sem modificações. -Existe uma forma alternativa de mudar o detalhe do resultado do compilador. Basta carregar com o &RMB; na janela de Mensagens e seleccione o nível de detalhe adequado no menu de contexto. +Existe uma forma alternativa de mudar o detalhe do resultado do compilador. Basta carregar com o &RMB; na janela de Mensagens e seleccione o nível de detalhe adequado no menu de contexto. -Tipo de Letra da Janela da Saída da Aplicação +Tipo de Letra da Janela da Saída da Aplicação -A janela do Resultado da Aplicação é usada par amostrar as mensagens de erro e de estado das aplicações que são executadas dentro do &tdevelop;. Estas são informações que a aplicação manda normalmente para a consola quando é executada autonomamente. Por isso, não precisa de sair do IDE ao testar a aplicação em que está a trabalhar. - -Para seleccionar um tipo de letra adequado para a Janela do Resultado da Aplicação, carregue no botão do Tipo de Letra da Janela, que mostra o tipo de letra seleccionado de momento (ele diz Luxi Sans na imagem acima). A janela normal do &kde; para Seleccionar o Tipo de Letra irá aparecer, no qual poderá seleccionar o tipo de letra a usar. -No primeiro arranque, o &tdevelop; inicializa esta configuração do tipo de letra com base no tipo de letra normal que o seu utilizador do &kde; tem configurada. Esta configuração é fixa, por isso, se você alterar as PreferênciasAparência & TemasTipos de Letra no Centro de Controlo, isto irá afectar esta selecção de tipo de letra do &tdevelop;. Você terá de seleccionar de novo explicitamente o tipo de letra da Janela de Resultados da Aplicação. +A janela do Resultado da Aplicação é usada par amostrar as mensagens de erro e de estado das aplicações que são executadas dentro do &tdevelop;. Estas são informações que a aplicação manda normalmente para a consola quando é executada autonomamente. Por isso, não precisa de sair do IDE ao testar a aplicação em que está a trabalhar. + +Para seleccionar um tipo de letra adequado para a Janela do Resultado da Aplicação, carregue no botão do Tipo de Letra da Janela, que mostra o tipo de letra seleccionado de momento (ele diz Luxi Sans na imagem acima). A janela normal do &kde; para Seleccionar o Tipo de Letra irá aparecer, no qual poderá seleccionar o tipo de letra a usar. +No primeiro arranque, o &tdevelop; inicializa esta configuração do tipo de letra com base no tipo de letra normal que o seu utilizador do &kde; tem configurada. Esta configuração é fixa, por isso, se você alterar as PreferênciasAparência & TemasTipos de Letra no Centro de Controlo, isto irá afectar esta selecção de tipo de letra do &tdevelop;. Você terá de seleccionar de novo explicitamente o tipo de letra da Janela de Resultados da Aplicação. - + -Seleccionar a Interface do Utilizador +Seleccionar a Interface do Utilizador - interface do utilizador - mudar de modos + interface do utilizador + mudar de modos - mudar de modo de interface - -Como já foi dito nos Modos Disponíveis de Interface do Utilizador, existem quatro formas diferentes no &tdevelop; para configurar o espaço de trabalho, sendo eles: + mudar de modo de interface + +Como já foi dito nos Modos Disponíveis de Interface do Utilizador, existem quatro formas diferentes no &tdevelop; para configurar o espaço de trabalho, sendo eles: - - Modo IDEAl - - - Modo de Janelas com Sub-molduras - - - Modo por Páginas - - - Modo de Janelas de Topo - + + Modo IDEAl + + + Modo de Janelas com Sub-molduras + + + Modo por Páginas + + + Modo de Janelas de Topo + -Para mudar o modo da interface do utilizador, seleccione a Configuração Configurar o KDevelop... no menu. A janela para Configurar o KDevelop irá aparecer, onde então terá de seleccionar Interface do Utilizador no campo do lado esquerdo. Isto levá-lo-á à página de configuração mostrada à direita. +Para mudar o modo da interface do utilizador, seleccione a Configuração Configurar o KDevelop... no menu. A janela para Configurar o KDevelop irá aparecer, onde então terá de seleccionar Interface do Utilizador no campo do lado esquerdo. Isto levá-lo-á à página de configuração mostrada à direita. -Seleccione um modo de interface de utilizador - Seleccione um modo de interface de utilizador +Seleccione um modo de interface de utilizador + Seleccione um modo de interface de utilizador -Seleccione a opção exclusiva para o modo de interface do utilizador que deseja utilizar e carregue em OK. - -Não se esqueça de reiniciar o &tdevelop; para que estas selecções façam efeito. - -Você você tiver seleccionado o modo IDEAl ou o modo de páginas, irão ficar disponíveis mais duas secções: a Usar Tabulações e Usar o Fechar ao Passar. Estas permitem-lhe configurar em que circunstâncias é que os separadores das páginas serão mostrados no topo das janelas dos documentos e se você poderá fechar o documento ao carregar no ícone da página. - -Apenas no modo de janelas IDEAl, existirá ainda mais uma secção de configuração, a Disposição das Páginas, a qual permite de facto seleccionar entre vários tamanhos dos separadores de páginas que rodeiam a área de trabalho principal neste modo. +Seleccione a opção exclusiva para o modo de interface do utilizador que deseja utilizar e carregue em OK. + +Não se esqueça de reiniciar o &tdevelop; para que estas selecções façam efeito. + +Você você tiver seleccionado o modo IDEAl ou o modo de páginas, irão ficar disponíveis mais duas secções: a Usar Tabulações e Usar o Fechar ao Passar. Estas permitem-lhe configurar em que circunstâncias é que os separadores das páginas serão mostrados no topo das janelas dos documentos e se você poderá fechar o documento ao carregar no ícone da página. + +Apenas no modo de janelas IDEAl, existirá ainda mais uma secção de configuração, a Disposição das Páginas, a qual permite de facto seleccionar entre vários tamanhos dos separadores de páginas que rodeiam a área de trabalho principal neste modo. -Configurar a Visualização da Barra de Páginas dos Documentos +Configurar a Visualização da Barra de Páginas dos Documentos -No modo IDEAl e no modo de páginas existirão páginas com nomes no topo dos diferentes documentos por omissão, de modo que possa seleccionar facilmente vários documentos diferentes ao carregar com o &LMB;. Se preferir ter mais espaço para as janelas dos documentos na área de trabalho principal do &tdevelop;, você poderá mudar para outro comportamento na secção de configuração Usa Tabulações. +No modo IDEAl e no modo de páginas existirão páginas com nomes no topo dos diferentes documentos por omissão, de modo que possa seleccionar facilmente vários documentos diferentes ao carregar com o &LMB;. Se preferir ter mais espaço para as janelas dos documentos na área de trabalho principal do &tdevelop;, você poderá mudar para outro comportamento na secção de configuração Usa Tabulações. - Sempre - Este é o modo por omissão — mostra uma página cujo separador tem um ícone e o nome do documento na área de trabalho principal do &tdevelop;. + Sempre + Este é o modo por omissão — mostra uma página cujo separador tem um ícone e o nome do documento na área de trabalho principal do &tdevelop;. - Quando mais que uma - Não mostra o documento numa página, quando só existe de facto um documento aberto. Se existir mais do que um, todavia, o &tdevelop; irá mostrar a barra de páginas normalmente como aparece na selecção Sempre. Você poderá seleccionar este modo se trabalhar num único documento na maior parte do tempo, dado que oferece um pouco mais de espaço vertical. + Quando mais que uma + Não mostra o documento numa página, quando só existe de facto um documento aberto. Se existir mais do que um, todavia, o &tdevelop; irá mostrar a barra de páginas normalmente como aparece na selecção Sempre. Você poderá seleccionar este modo se trabalhar num único documento na maior parte do tempo, dado que oferece um pouco mais de espaço vertical. - Nunca - Nunca mostra nenhuma página de selecção de documentos. Você poderá preferir este modo se você usa raramente o rato para mudar de documentos. Fornece mais espaço vertical para todas as janelas de documentos. Para seleccionar outra janela de documento ou fechar alguma, use o menu Janela do &tdevelop;. + Nunca + Nunca mostra nenhuma página de selecção de documentos. Você poderá preferir este modo se você usa raramente o rato para mudar de documentos. Fornece mais espaço vertical para todas as janelas de documentos. Para seleccionar outra janela de documento ou fechar alguma, use o menu Janela do &tdevelop;. -Configurar para Fechar um Documento com um 'Click' na sua Página +Configurar para Fechar um Documento com um 'Click' na sua Página -Quando você tiver configurado o &tdevelop; para mostrar a barra de páginas dos documentos, seja sempre ou apenas quando é mostrado mais do que um documento na área de trabalho, você poderá adicionar mais funcionalidades aos separadores das páginas para além da sua capacidade de selecção de documentos. Use a secção de configuração Usar o Fecho ao Passar para tal. +Quando você tiver configurado o &tdevelop; para mostrar a barra de páginas dos documentos, seja sempre ou apenas quando é mostrado mais do que um documento na área de trabalho, você poderá adicionar mais funcionalidades aos separadores das páginas para além da sua capacidade de selecção de documentos. Use a secção de configuração Usar o Fecho ao Passar para tal. - Não - Este é o comportamento normal. Não é adicionada mais nenhuma funcionalidade extra às páginas. Elas poderão ser usadas apenas para seleccionar as janelas dos documentos com o &LMB;. + Não + Este é o comportamento normal. Não é adicionada mais nenhuma funcionalidade extra às páginas. Elas poderão ser usadas apenas para seleccionar as janelas dos documentos com o &LMB;. - Sim - Quando você tiver seleccionado esta opção exclusiva, o &tdevelop; irá permitir fechar uma janela de um documento com um 'click' do &LMB;. Use o rato para apontar para o pequeno ícone do lado esquerdo do separador de páginas. Ele irá mudar para um símbolo de fecho. Agora, carregue com o &LMB; neste símbolo alterado para que o &tdevelop; feche a janela do documento correspondente. + Sim + Quando você tiver seleccionado esta opção exclusiva, o &tdevelop; irá permitir fechar uma janela de um documento com um 'click' do &LMB;. Use o rato para apontar para o pequeno ícone do lado esquerdo do separador de páginas. Ele irá mudar para um símbolo de fecho. Agora, carregue com o &LMB; neste símbolo alterado para que o &tdevelop; feche a janela do documento correspondente. - Sim, Atrasado - Depois de seleccionar esta opção, o &tdevelop; permitirá fechar uma janela de um documento como é mostrado no caso do Sim descrito em cima. O ícone não irá mudar instantaneamente, contudo, havendo neste caso um pequeno atraso antes de o ícone aparecer. + Sim, Atrasado + Depois de seleccionar esta opção, o &tdevelop; permitirá fechar uma janela de um documento como é mostrado no caso do Sim descrito em cima. O ícone não irá mudar instantaneamente, contudo, havendo neste caso um pequeno atraso antes de o ícone aparecer. -Configurar a Disposição das Páginas +Configurar a Disposição das Páginas -A secção de configuração Disposição das Páginas estará disponível apenas no modo IDEAl. Use estes botões para configurar a aparência das páginas que rodeiam a área de trabalho principal neste modo. +A secção de configuração Disposição das Páginas estará disponível apenas no modo IDEAl. Use estes botões para configurar a aparência das páginas que rodeiam a área de trabalho principal neste modo. - Ícones + Ícones - Cada página irá mostrar apenas um ícone. Se a ferramenta associada estiver visível, a página irá abrir e aparecerá um texto descritivo no seu separador. Você poderá usar este modo se trabalhar num monitor com uma resolução limitada. - Os ícones não são muito descritivos, de qualquer forma. Se você quiser saber que ferramenta está associada a uma dada página, coloque o cursor do rato sobre ela e espere um segundo. Irá então aparecer uma dica com o nome da ferramenta. + Cada página irá mostrar apenas um ícone. Se a ferramenta associada estiver visível, a página irá abrir e aparecerá um texto descritivo no seu separador. Você poderá usar este modo se trabalhar num monitor com uma resolução limitada. + Os ícones não são muito descritivos, de qualquer forma. Se você quiser saber que ferramenta está associada a uma dada página, coloque o cursor do rato sobre ela e espere um segundo. Irá então aparecer uma dica com o nome da ferramenta. - Texto - Este é o modo de apresentação das ferramentas por omissão. Cada página mostra o nome da sua ferramenta associada. + Texto + Este é o modo de apresentação das ferramentas por omissão. Cada página mostra o nome da sua ferramenta associada. - Texto e Ícones - Se as ferramentas normais parecem demasiado planas para si e você está a trabalhar num monitor de alta resolução, você poderá seleccionar esta opção. Fará com que o nome da ferramenta associada seja mostrado em cada página, para além de um ícone à esquerda dele, tornando as páginas mais fáceis de compreender. Veja a imagem das Páginas de Ferramentas Fechadas em baixo para um exemplo. + Texto e Ícones + Se as ferramentas normais parecem demasiado planas para si e você está a trabalhar num monitor de alta resolução, você poderá seleccionar esta opção. Fará com que o nome da ferramenta associada seja mostrado em cada página, para além de um ícone à esquerda dele, tornando as páginas mais fáceis de compreender. Veja a imagem das Páginas de Ferramentas Fechadas em baixo para um exemplo. -Páginas das Ferramentas Fechadas +Páginas das Ferramentas Fechadas -Se você seleccionou o modo IDEAl, com as páginas a mostrarem os textos (com ou sem os ícones a acompanhar), você não precisa de se preocupar em estar escondido por detrás de uma janela de ferramentas. Se uma das janelas das ferramentas ocupar mais espaço do que está disponível para mostrar todas as páginas (verticais), elas fechar-se-ão como é mostrado nesta figura: +Se você seleccionou o modo IDEAl, com as páginas a mostrarem os textos (com ou sem os ícones a acompanhar), você não precisa de se preocupar em estar escondido por detrás de uma janela de ferramentas. Se uma das janelas das ferramentas ocupar mais espaço do que está disponível para mostrar todas as páginas (verticais), elas fechar-se-ão como é mostrado nesta figura: -As páginas de ferramentas fecham-se para não ficarem escondidas detrás de outra janela - As páginas de ferramentas fecham-se para não ficarem escondidas detrás de outra janela +As páginas de ferramentas fecham-se para não ficarem escondidas detrás de outra janela + As páginas de ferramentas fecham-se para não ficarem escondidas detrás de outra janela -A janela de ferramentas activa deverá ser mostrada fixa (sem sobreposição), partilhando a área de trabalho com outras janelas, para permitir esse fecho de páginas. Carregue no pequeno quadrado no contorno da janela para conseguir isto, tal como é mostrado no exemplo. +A janela de ferramentas activa deverá ser mostrada fixa (sem sobreposição), partilhando a área de trabalho com outras janelas, para permitir esse fecho de páginas. Carregue no pequeno quadrado no contorno da janela para conseguir isto, tal como é mostrado no exemplo. - + -Seleccionar um Editor +Seleccionar um Editor -O &tdevelop; permite-lhe seleccionar a sua ferramenta de edição de texto favorita. Marque o item Editor da árvore de selecção da lado esquerdo da janela Configurar o KDevelop. Será mostrada a seguinte janela à direita. +O &tdevelop; permite-lhe seleccionar a sua ferramenta de edição de texto favorita. Marque o item Editor da árvore de selecção da lado esquerdo da janela Configurar o KDevelop. Será mostrada a seguinte janela à direita. -Seleccionar um editor - Seleccionar um editor +Seleccionar um editor + Seleccionar um editor -Para seleccionar um novo editor, carregue na seta da lista. Dependendo das interfaces dos componentes de edição com que a sua versão do &kde; foi compilada, irá aparecer uma lista dos editores que poderá seleccionar (veja a nota Importante em baixo para tal). Carregue no editor da sua preferência e carregue em OK. De momento, existem três possibilidades: +Para seleccionar um novo editor, carregue na seta da lista. Dependendo das interfaces dos componentes de edição com que a sua versão do &kde; foi compilada, irá aparecer uma lista dos editores que poderá seleccionar (veja a nota Importante em baixo para tal). Carregue no editor da sua preferência e carregue em OK. De momento, existem três possibilidades: - Editor de Texto Avançado Incorporado - Esta é a componente de edição normal do &kde;, a Kate. + Editor de Texto Avançado Incorporado + Esta é a componente de edição normal do &kde;, a Kate. - Componente Embebida do Vim + Componente Embebida do Vim - Esta oferece a aparência e comportamento do seu editor de base do &Linux; que é o vi. - - Você precisa de ter uma aplicação Vim adequada instalada. Dê uma vista de olhos no KVim para mais informações. - Para além disso, você precisa de configurar o componente KParts do Vim no Centro de Controlo do &kde; (Componentes do KDEConfiguração do Componente Vim) antes de o poder usar. - + Esta oferece a aparência e comportamento do seu editor de base do &Linux; que é o vi. + + Você precisa de ter uma aplicação Vim adequada instalada. Dê uma vista de olhos no KVim para mais informações. + Para além disso, você precisa de configurar o componente KParts do Vim no Centro de Controlo do &kde; (Componentes do KDEConfiguração do Componente Vim) antes de o poder usar. + - Editor de Texto Baseado no Qt Designer - Este é o editor que o &Qt; oferece no seu componente Designer. + Editor de Texto Baseado no Qt Designer + Este é o editor que o &Qt; oferece no seu componente Designer. -Estas interfaces de edição estão completamente integradas no conceito de IDE do &tdevelop;. Em particular, a possibilidade de saltar para linha de código-fonte responsável por um dado erro, se carregar no texto da sua mensagem na janela de Mensagens é oferecida por elas. +Estas interfaces de edição estão completamente integradas no conceito de IDE do &tdevelop;. Em particular, a possibilidade de saltar para linha de código-fonte responsável por um dado erro, se carregar no texto da sua mensagem na janela de Mensagens é oferecida por elas. -A mudança de editor não irá afectar os ficheiros já abertos. Existem duas possibilidades de prosseguir. Ou fecha todas as janelas de texto abertas e reabre-as uma a uma ou então simplesmente fecha o projecto inteiro e abre-o outra vez. As janelas serão então automaticamente abertas com a nova interface de edição de texto. +A mudança de editor não irá afectar os ficheiros já abertos. Existem duas possibilidades de prosseguir. Ou fecha todas as janelas de texto abertas e reabre-as uma a uma ou então simplesmente fecha o projecto inteiro e abre-o outra vez. As janelas serão então automaticamente abertas com a nova interface de edição de texto. -O &tdevelop; deixa-o usar as interfaces de edição que foram registadas no &kde; e que oferecem uma interface do KatePart. Se você acha que falta uma das selecções mostradas acima, verifique a sua instalação do &kde; para saber se o KPart foi instalado correctamente. - +O &tdevelop; deixa-o usar as interfaces de edição que foram registadas no &kde; e que oferecem uma interface do KatePart. Se você acha que falta uma das selecções mostradas acima, verifique a sua instalação do &kde; para saber se o KPart foi instalado correctamente. + -Seleccionar um Estilo de Formatação de Código - -O &tdevelop; formata automaticamente o texto de código de um estilo predefinido. Este estilo é altamente configurável. - -A funcionalidade de nova formatação de código está disponível apenas para o C, o C++ e o &Java;, de momento. Em especial, você não a poderá usar para as linguagens de 'scripting' como o PHP. Isto é porque o &tdevelop; usa a aplicação astyle para implementar esta funcionalidade. - -Para configurar um estilo de formatação específico, seleccione Configuração Configurar o KDevelop... no menu. A janela para Personalizar o KDevelop irá aparecer, onde terá de seleccionar o Formatador de Código na árvore da esquerda. Isto irá mostrar uma série de três páginas de configuração à direita, nomeadamente uma Configuração Geral da Formatação, uma Configuração do Estilo de Indentação e Outra Configuração de Formatação. - -Todas as mudanças de estilo aplicam-se apenas ao ficheiro acabado de introduzir. Se você quiser mudar o estilo de formatação de um texto de código já existente, você terá de usar explicitamente o comando EditarReformatar o Código. - -A consequência exacta destas definições de formatação do estilo dependem do editor que usa. De momento, a maioria das configurações são adequadas para a componente de edição do Kate (o Editor de Texto Avançado Incorporado). Outros editores (⪚ o editor do Qt) poderão basear-se apenas na sua configuração própria. Você terá de experimentar neste caso para saber os efeitos exactos da configuração de estilo oferecida aqui. - -Poderão existir incompatibilidades entre a configuração do estilo aqui oferecida e o editor que usa, até mesmo nos casos extremos, em que poderá corromper os seus ficheiros. Certifique-se que tem uma cópia de segurança dos seus ficheiros de código antes de tentar usar a sua configuração com um editor incompatível com o &kde;. +Seleccionar um Estilo de Formatação de Código + +O &tdevelop; formata automaticamente o texto de código de um estilo predefinido. Este estilo é altamente configurável. + +A funcionalidade de nova formatação de código está disponível apenas para o C, o C++ e o &Java;, de momento. Em especial, você não a poderá usar para as linguagens de 'scripting' como o PHP. Isto é porque o &tdevelop; usa a aplicação astyle para implementar esta funcionalidade. + +Para configurar um estilo de formatação específico, seleccione Configuração Configurar o KDevelop... no menu. A janela para Personalizar o KDevelop irá aparecer, onde terá de seleccionar o Formatador de Código na árvore da esquerda. Isto irá mostrar uma série de três páginas de configuração à direita, nomeadamente uma Configuração Geral da Formatação, uma Configuração do Estilo de Indentação e Outra Configuração de Formatação. + +Todas as mudanças de estilo aplicam-se apenas ao ficheiro acabado de introduzir. Se você quiser mudar o estilo de formatação de um texto de código já existente, você terá de usar explicitamente o comando EditarReformatar o Código. + +A consequência exacta destas definições de formatação do estilo dependem do editor que usa. De momento, a maioria das configurações são adequadas para a componente de edição do Kate (o Editor de Texto Avançado Incorporado). Outros editores (⪚ o editor do Qt) poderão basear-se apenas na sua configuração própria. Você terá de experimentar neste caso para saber os efeitos exactos da configuração de estilo oferecida aqui. + +Poderão existir incompatibilidades entre a configuração do estilo aqui oferecida e o editor que usa, até mesmo nos casos extremos, em que poderá corromper os seus ficheiros. Certifique-se que tem uma cópia de segurança dos seus ficheiros de código antes de tentar usar a sua configuração com um editor incompatível com o &kde;. -Configuração Geral da Formatação +Configuração Geral da Formatação -A página Geral da janela do Formatador de Código permite-lhe seleccionar um de cinco estilos predefinidos de formatação de código. +A página Geral da janela do Formatador de Código permite-lhe seleccionar um de cinco estilos predefinidos de formatação de código. -Configuração geral do estilo de formatação de código - Configuração geral do estilo de formatação de código +Configuração geral do estilo de formatação de código + Configuração geral do estilo de formatação de código -Será mostrado um exemplo de código formatado no campo à direita. Se nenhum dos estilos predefinidos é do seu agrado, você poderá carregar na opção de topo Definido pelo utilizador e definir as suas preferências de formatação de código nas outras duas páginas que ficarão disponíveis. +Será mostrado um exemplo de código formatado no campo à direita. Se nenhum dos estilos predefinidos é do seu agrado, você poderá carregar na opção de topo Definido pelo utilizador e definir as suas preferências de formatação de código nas outras duas páginas que ficarão disponíveis. -De momento, só os estilos de formatação predefinidos é que serão demonstrados com um texto de exemplo. Se você decidir definir o seu próprio estilo, não será apresentado nenhum texto de exemplo. Você terá de experimentar no próprio texto do código actual para ajustar a configuração ao seu gosto. +De momento, só os estilos de formatação predefinidos é que serão demonstrados com um texto de exemplo. Se você decidir definir o seu próprio estilo, não será apresentado nenhum texto de exemplo. Você terá de experimentar no próprio texto do código actual para ajustar a configuração ao seu gosto. - + -Configuração do Estilo de Indentação +Configuração do Estilo de Indentação -Uma indentação adequada é a forma principal de melhorar a legibilidade do texto do código. Se você seleccionou a página Indentação na janela do Formatador do Código, ser-lhe-á apresentada uma série de opções de formatação, agrupadas em três opções, como as que aparecem a seguir. +Uma indentação adequada é a forma principal de melhorar a legibilidade do texto do código. Se você seleccionou a página Indentação na janela do Formatador do Código, ser-lhe-á apresentada uma série de opções de formatação, agrupadas em três opções, como as que aparecem a seguir. -Configuração do estilo da indentação do código - Configuração do estilo da indentação do código +Configuração do estilo da indentação do código + Configuração do estilo da indentação do código -Configuração por Omissão +Configuração por Omissão -As escolhas de formato predefinidas fazem com que o código lembre o estilo de formatação da ANSI: +As escolhas de formato predefinidas fazem com que o código lembre o estilo de formatação da ANSI: -namespace espacoXpto +namespace espacoXpto { int Xpto() { @@ -1009,108 +462,55 @@ -Definir o Tamanho e os Caracteres da Indentação +Definir o Tamanho e os Caracteres da Indentação -As opções exclusivas agrupadas no grupo Preenchimento, definem como é que a indentação do código será feita. +As opções exclusivas agrupadas no grupo Preenchimento, definem como é que a indentação do código será feita. - Usar tabulações + Usar tabulações - Isto fará com que o editor insira um carácter de tabulação por cada nível de indentação. O tamanho da tabulação está predefinido na configuração do editor (é normalmente de 8 ou 4 caracteres). Use o ConfiguraçãoConfigurar o Editor... para o definir de novo. - O procedimento de definição da largura da tabulação actual depende do editor que seleccionou no passo de configuração em Seleccionar um Editor. Você terá de ver na ajuda correspondente do editor para descobrir como fazê-lo. + Isto fará com que o editor insira um carácter de tabulação por cada nível de indentação. O tamanho da tabulação está predefinido na configuração do editor (é normalmente de 8 ou 4 caracteres). Use o ConfiguraçãoConfigurar o Editor... para o definir de novo. + O procedimento de definição da largura da tabulação actual depende do editor que seleccionou no passo de configuração em Seleccionar um Editor. Você terá de ver na ajuda correspondente do editor para descobrir como fazê-lo. - Usar espaços - Se você seleccionar esta opção, o editor irá introduzir um conjunto de espaços por cada nível de indentação. Mude o número do valor por omissão 2 para o tamanho que preferir. + Usar espaços + Se você seleccionar esta opção, o editor irá introduzir um conjunto de espaços por cada nível de indentação. Mude o número do valor por omissão 2 para o tamanho que preferir. -Entidades Indentadas +Entidades Indentadas -Isto define quais as entidades de (C/C++) que serão formatadas com uma indentação extra para além do nível de indentação actual. - -Por omissão, só os namespaces (espaços de nomes) e os labels (identificadores) terão uma indentação extra. Você poderá querer experimentar com várias opções para se ajustar a essas indentações extra de acordo com o seu agrado. +Isto define quais as entidades de (C/C++) que serão formatadas com uma indentação extra para além do nível de indentação actual. + +Por omissão, só os namespaces (espaços de nomes) e os labels (identificadores) terão uma indentação extra. Você poderá querer experimentar com várias opções para se ajustar a essas indentações extra de acordo com o seu agrado. -Continuação +Continuação -As opções aqui agrupadas aplicam-se aos casos em que o sistema de formatação de código reparte automaticamente as linhas de código grandes. Ele tem dois casos especiais em conta, nomeadamente os casos em que as indentações são demasiado grandes e é necessário haver espaço restante para o código e para as condições, que deverão ter níveis de indentação extra para que sejam suficientemente perceptíveis. +As opções aqui agrupadas aplicam-se aos casos em que o sistema de formatação de código reparte automaticamente as linhas de código grandes. Ele tem dois casos especiais em conta, nomeadamente os casos em que as indentações são demasiado grandes e é necessário haver espaço restante para o código e para as condições, que deverão ter níveis de indentação extra para que sejam suficientemente perceptíveis. -Isto aplica-se aos casos de mudanças de linha estáticas apenas quando é usado um tamanho de linha máximo fixo no código. Se você configurar o seu editor para repartir dinamicamente as linhas apenas na visualização (o que é possível, na componente de edição do &kate;), os efeitos destas configurações não serão visíveis. +Isto aplica-se aos casos de mudanças de linha estáticas apenas quando é usado um tamanho de linha máximo fixo no código. Se você configurar o seu editor para repartir dinamicamente as linhas apenas na visualização (o que é possível, na componente de edição do &kate;), os efeitos destas configurações não serão visíveis. - Máximo na instrução + Máximo na instrução - Esta configuração limita a indentação máxima possível para as linhas de continuação para que sobre espaço suficiente para manter o texto legível. Nenhuma linha de continuação será indentada para além do número de colunas que seleccionar neste campo. - O tamanho por omissão está definido como 40 colunas de caracteres (metade de uma página de 80 colunas normal). Você poderá querer aumentar este valor para ter em conta o papel mais largo (⪚ se você usa a impressão no modo paisagem para o seu código) ou então diminui-lo se quiser ter em conta a configuração das margens nas suas impressões. + Esta configuração limita a indentação máxima possível para as linhas de continuação para que sobre espaço suficiente para manter o texto legível. Nenhuma linha de continuação será indentada para além do número de colunas que seleccionar neste campo. + O tamanho por omissão está definido como 40 colunas de caracteres (metade de uma página de 80 colunas normal). Você poderá querer aumentar este valor para ter em conta o papel mais largo (⪚ se você usa a impressão no modo paisagem para o seu código) ou então diminui-lo se quiser ter em conta a configuração das margens nas suas impressões. - Mínimo nas condições + Mínimo nas condições - As condições ou o código que se segue ⪚ a um operador de atribuição deverão ter normalmente uma indentação extra nas linhas de continuação para manter o texto legível. A quantidade desta indentação extra é aqui definida. - O valor por omissão é igual a Duas vezes o actual, o que significa que as condições continuadas irão ter um nível de indentação extra em relação ao tamanho de indentação normal que seleccionou no grupo Preenchimento. Você poderá alterar esta indentação extra para outro tamanho fixo (incluindo zero), usando as setas ou indicando o valor directamente. + As condições ou o código que se segue ⪚ a um operador de atribuição deverão ter normalmente uma indentação extra nas linhas de continuação para manter o texto legível. A quantidade desta indentação extra é aqui definida. + O valor por omissão é igual a Duas vezes o actual, o que significa que as condições continuadas irão ter um nível de indentação extra em relação ao tamanho de indentação normal que seleccionou no grupo Preenchimento. Você poderá alterar esta indentação extra para outro tamanho fixo (incluindo zero), usando as setas ou indicando o valor directamente. @@ -1118,51 +518,34 @@ - + -Outras Configurações de Formatação +Outras Configurações de Formatação -Outra configuração do estilo de formatação do código - Outra configuração do estilo de formatação do código +Outra configuração do estilo de formatação do código + Outra configuração do estilo de formatação do código -Controlar a posição das chavetas +Controlar a posição das chavetas -As opções no grupo (talvez mal chamado) Parêntesis controlam a posição das chavetas que delimitam os blocos no código em C/C++. Existem três possibilidades para você seleccionar. +As opções no grupo (talvez mal chamado) Parêntesis controlam a posição das chavetas que delimitam os blocos no código em C/C++. Existem três possibilidades para você seleccionar. - Interrupção + Interrupção - Esta insere uma quebra de linha antes de cada chaveta de abertura. Ambas as chavetas delimitadoras de um bloco serão colocadas ao mesmo nível de indentação que a instrução de topo do bloco. + Esta insere uma quebra de linha antes de cada chaveta de abertura. Ambas as chavetas delimitadoras de um bloco serão colocadas ao mesmo nível de indentação que a instrução de topo do bloco. -namespace espacoXpto +namespace espacoXpto { int Xpto() { @@ -1179,19 +562,10 @@ - Anexar + Anexar - Isto irá manter a chaveta de abertura de um bloco alinhada com a instrução de topo do bloco. As chavetas de fecho estarão ao mesmo nível de indentação que a instrução de topo do bloco. O else de uma instrução if será mantido em linha com a chaveta de fecho do bloco anterior. -namespace espacoXpto { + Isto irá manter a chaveta de abertura de um bloco alinhada com a instrução de topo do bloco. As chavetas de fecho estarão ao mesmo nível de indentação que a instrução de topo do bloco. O else de uma instrução if será mantido em linha com a chaveta de fecho do bloco anterior. +namespace espacoXpto { int Xpto() { if (eOla) { ola(); @@ -1204,15 +578,10 @@ - Estilo do Linux + Estilo do Linux - Este é um compromisso entre os estilos listados acima. As chavetas de delimitação dos blocos serão colocadas em linhas extra. As chavetas que abrem um bloco numa instrução condicional ou de ciclo serão mantidas na mesma linha. -namespace espacoXpto + Este é um compromisso entre os estilos listados acima. As chavetas de delimitação dos blocos serão colocadas em linhas extra. As chavetas que abrem um bloco numa instrução condicional ou de ciclo serão mantidas na mesma linha. +namespace espacoXpto { int Xpto() { @@ -1231,44 +600,30 @@ -Controlar os Espaços Extra +Controlar os Espaços Extra -Por omissão, o &tdevelop; minimiza a utilização dos espaços no código. +Por omissão, o &tdevelop; minimiza a utilização dos espaços no código. -if (eOla(argXpto)==valorOla) +if (eOla(argXpto)==valorOla) -Você poderá aumentar a legibilidade se forçar o sistema de formatação de código a inserir os espaços extra em posições especiais. +Você poderá aumentar a legibilidade se forçar o sistema de formatação de código a inserir os espaços extra em posições especiais. - Adicionar espaços à volta dos parêntesis + Adicionar espaços à volta dos parêntesis - De facto, o que esta opção pretende fazer é adicionar espaços à volta do texto entre parêntesis. Isto aumenta a legibilidade dos argumentos das funções e das condições. -if ( eOla( argXpto )==valorOla ) + De facto, o que esta opção pretende fazer é adicionar espaços à volta do texto entre parêntesis. Isto aumenta a legibilidade dos argumentos das funções e das condições. +if ( eOla( argXpto )==valorOla ) - Adicionar espaços à volta dos operadores + Adicionar espaços à volta dos operadores - Isto irá colocar espaços à volta dos operadores de atribuição e de comparação para aumentar a legibilidade. -if (eOla(argXpto) == valorOla) + Isto irá colocar espaços à volta dos operadores de atribuição e de comparação para aumentar a legibilidade. +if (eOla(argXpto) == valorOla) @@ -1277,32 +632,18 @@ -Controlar a formatação das construções de uma linha +Controlar a formatação das construções de uma linha -Existem alguns casos em que você não quer que o sistema de formatação de código divida uma linha em duas. Para o código de C/C++, isto poderá ser controlado aqui. +Existem alguns casos em que você não quer que o sistema de formatação de código divida uma linha em duas. Para o código de C/C++, isto poderá ser controlado aqui. - Manter as instruções de uma linha - Isto mantém as instruções de uma linha em conjunto, mesmo nas situações em que elas excedem um tamanho máximo de linha. + Manter as instruções de uma linha + Isto mantém as instruções de uma linha em conjunto, mesmo nas situações em que elas excedem um tamanho máximo de linha. - Manter os blocos de uma linha - Isto mantém os blocos de uma única linha em conjunto, mesmo nas situações em que elas excedem um tamanho máximo de linha. + Manter os blocos de uma linha + Isto mantém os blocos de uma única linha em conjunto, mesmo nas situações em que elas excedem um tamanho máximo de linha. @@ -1310,160 +651,73 @@ - + - + -Configurar a Ferramenta de Excertos de Código - -Ao editar no &tdevelop; você poderá gravar excertos de código usados frequentemente como Excertos de Código. Para configurar as capacidades da componente de excertos de código, seleccione a Configuração Configurar o KDevelop... no menu. A janela para Configurar o KDevelop irá aparecer, onde então terá de seleccionar Excertos de Código no campo do lado esquerdo. Isto levá-lo-á à página de configuração mostrada em baixo. +Configurar a Ferramenta de Excertos de Código + +Ao editar no &tdevelop; você poderá gravar excertos de código usados frequentemente como Excertos de Código. Para configurar as capacidades da componente de excertos de código, seleccione a Configuração Configurar o KDevelop... no menu. A janela para Configurar o KDevelop irá aparecer, onde então terá de seleccionar Excertos de Código no campo do lado esquerdo. Isto levá-lo-á à página de configuração mostrada em baixo. -Configurar a ferramenta de excertos de código - Configurar a Ferramenta de Excertos de Código +Configurar a ferramenta de excertos de código + Configurar a Ferramenta de Excertos de Código -Antevisão da Activação de um Excerto +Antevisão da Activação de um Excerto -Assinale a opção Mostrar o texto do excerto na dica se você quiser ver o texto armazenado numa janela de dica de ferramentas, sempre que você deixar o cursor do rato sobre o título desse excerto de código. +Assinale a opção Mostrar o texto do excerto na dica se você quiser ver o texto armazenado numa janela de dica de ferramentas, sempre que você deixar o cursor do rato sobre o título desse excerto de código. -Lidar com as Variáveis dos Excertos +Lidar com as Variáveis dos Excertos -A ferramenta de Excertos de Código permite a definição de texto variável em locais bem definidos, sempre que desejar inserir um excerto num ficheiro. Para conseguir isto, os Excertos de Código têm o seu próprio mecanismo de variáveis. Você poderá configurar o seu comportamento no grupo Variáveis. +A ferramenta de Excertos de Código permite a definição de texto variável em locais bem definidos, sempre que desejar inserir um excerto num ficheiro. Para conseguir isto, os Excertos de Código têm o seu próprio mecanismo de variáveis. Você poderá configurar o seu comportamento no grupo Variáveis. - Separador - A ferramenta de Excertos de Código distingue as variáveis no texto, rodeando os nomes das variáveis com símbolos delimitadores especiais. Para usar o seu próprio delimitador, altere o valor predefinido $ no campo Delimitador. + Separador + A ferramenta de Excertos de Código distingue as variáveis no texto, rodeando os nomes das variáveis com símbolos delimitadores especiais. Para usar o seu próprio delimitador, altere o valor predefinido $ no campo Delimitador. - Método de introdução das variáveis - - Uma janela para cada variável do excerto – irá mostrar uma janela separada para cada variável que a ferramenta encontre ao inserir o excerto de código seleccionado. - Uma janela para todas as variáveis do excerto – irá mostrar uma janela comum, onde o utilizador terá de de preencher os valores de todas as variáveis antes de o excerto ser inserido - + Método de introdução das variáveis + + Uma janela para cada variável do excerto – irá mostrar uma janela separada para cada variável que a ferramenta encontre ao inserir o excerto de código seleccionado. + Uma janela para todas as variáveis do excerto – irá mostrar uma janela comum, onde o utilizador terá de de preencher os valores de todas as variáveis antes de o excerto ser inserido + - + -Configurar o Selector de Ficheiros +Configurar o Selector de Ficheiros -O &tdevelop; oferece um Selector de Ficheiros que, quando é carregado no arranque, permite navegar até chegar a qualquer ficheiro ou directoria do sistema. +O &tdevelop; oferece um Selector de Ficheiros que, quando é carregado no arranque, permite navegar até chegar a qualquer ficheiro ou directoria do sistema. -O selector de ficheiros no modo IDEAl - O selector de ficheiros (modo IDEAl) +O selector de ficheiros no modo IDEAl + O selector de ficheiros (modo IDEAl) -O comportamento do Selector de Ficheiros é altamente configurável. Seleccione a Configuração Configurar o KDevelop... no menu. A janela para Configurar o KDevelop irá aparecer, onde então terá de seleccionar Selector de Ficheiros no campo do lado esquerdo. Isto levá-lo-á à página de configuração mostrada em baixo. +O comportamento do Selector de Ficheiros é altamente configurável. Seleccione a Configuração Configurar o KDevelop... no menu. A janela para Configurar o KDevelop irá aparecer, onde então terá de seleccionar Selector de Ficheiros no campo do lado esquerdo. Isto levá-lo-á à página de configuração mostrada em baixo. @@ -1471,258 +725,118 @@ -Configurar o selector de ficheiros - Configurar o selector de ficheiros +Configurar o selector de ficheiros + Configurar o selector de ficheiros -Configurar a Barra de Ferramentas +Configurar a Barra de Ferramentas -Existe uma barra de ferramentas no topo do Selector de Ficheiros, que poderá ser configurada como de costume no grupo Barra de Ferramentas. +Existe uma barra de ferramentas no topo do Selector de Ficheiros, que poderá ser configurada como de costume no grupo Barra de Ferramentas. - Adicionar uma Acção à Barra de Ferramentas + Adicionar uma Acção à Barra de Ferramentas - Seleccione um item na lista das Acções seleccionadas à direita, para que a acção nova seja então introduzida. + Seleccione um item na lista das Acções seleccionadas à direita, para que a acção nova seja então introduzida. - Seleccione a acção a ser introduzida na lista de Acções disponíveis à esquerda. + Seleccione a acção a ser introduzida na lista de Acções disponíveis à esquerda. - Carregue na seta direita (em cima) entre as duas listas. - A acção será removida da lista de Acções disponíveis e será introduzida nas Acções seleccionadas por baixo do item seleccionado. + Carregue na seta direita (em cima) entre as duas listas. + A acção será removida da lista de Acções disponíveis e será introduzida nas Acções seleccionadas por baixo do item seleccionado. - Remover uma Acção da Barra de Ferramentas + Remover uma Acção da Barra de Ferramentas - Seleccione o item a ser removido da lista de Acções seleccionadas à direita. + Seleccione o item a ser removido da lista de Acções seleccionadas à direita. - Carregue na seta para a esquerda (em baixo) entre as listas. - O item seleccionado será removido da lista de Acções seleccionadas e colocada de novo na lista de Acções disponíveis. + Carregue na seta para a esquerda (em baixo) entre as listas. + O item seleccionado será removido da lista de Acções seleccionadas e colocada de novo na lista de Acções disponíveis. - Reordenar as Acções na Barra de Ferramentas + Reordenar as Acções na Barra de Ferramentas - Seleccione a acção a ser mudada de posição na lista de Acções seleccionadas à direita. + Seleccione a acção a ser mudada de posição na lista de Acções seleccionadas à direita. - Carregue nas setas para cima e para baixo, à direita desta lista. - O item seleccionado será movido para cima ou para baixo na lista de Acções seleccionadas. + Carregue nas setas para cima e para baixo, à direita desta lista. + O item seleccionado será movido para cima ou para baixo na lista de Acções seleccionadas. -Definir Quando o Conteúdo Deverá Mudar +Definir Quando o Conteúdo Deverá Mudar -A actualização do conteúdo da janela do Selector de Ficheiros leva tempo e ocupa alguns recursos, especialmente ao mudar para outra directoria. Como tal, o Selector de Ficheiros está configurado por omissão de forma a que o seu conteúdo só se altera a pedido, &ie; quando você selecciona outra directoria ou quando desejar explicitamente actualizar o seu conteúdo. - -Carregue no botão Actualizar da barra de ferramentas para actualizar o conteúdo do Selector de Ficheiros. Esta barra de ferramentas não está disponível por omissão, todavia. Você precisa de a inserir primeiro. - -Você poderá configurar o Selector de Ficheiros para reflectir imediatamente certas alterações no seu trabalho. As opções do grupo Auto-Sincronização da janela de configuração são responsáveis por isto. +A actualização do conteúdo da janela do Selector de Ficheiros leva tempo e ocupa alguns recursos, especialmente ao mudar para outra directoria. Como tal, o Selector de Ficheiros está configurado por omissão de forma a que o seu conteúdo só se altera a pedido, &ie; quando você selecciona outra directoria ou quando desejar explicitamente actualizar o seu conteúdo. + +Carregue no botão Actualizar da barra de ferramentas para actualizar o conteúdo do Selector de Ficheiros. Esta barra de ferramentas não está disponível por omissão, todavia. Você precisa de a inserir primeiro. + +Você poderá configurar o Selector de Ficheiros para reflectir imediatamente certas alterações no seu trabalho. As opções do grupo Auto-Sincronização da janela de configuração são responsáveis por isto. - Quando um documento ficar activo - Se você seleccionar esta opção, o conteúdo do Selector de Ficheiros será actualizado sempre que for para outro documento aberto, ⪚ quando você carrega na página da janela de edição respectiva no modo IDEAl. Se necessário, o Selector de Ficheiros irá mudar para a directoria a que este ficheiro pertence e actualizará a área visível para mostrar o conteúdo actual da mesma. + Quando um documento ficar activo + Se você seleccionar esta opção, o conteúdo do Selector de Ficheiros será actualizado sempre que for para outro documento aberto, ⪚ quando você carrega na página da janela de edição respectiva no modo IDEAl. Se necessário, o Selector de Ficheiros irá mudar para a directoria a que este ficheiro pertence e actualizará a área visível para mostrar o conteúdo actual da mesma. - Quando um documento for aberto - Se você seleccionar esta opção, o conteúdo da janela do Selector de Ficheiros será actualizado sempre que um documento é aberto, ⪚ pela opção do menu FicheiroAbrir. Se necessário, o Selector de Ficheiros irá mudar para a directoria a que este ficheiro pertence e irá refrescar a visualização para mostrar o conteúdo actual. + Quando um documento for aberto + Se você seleccionar esta opção, o conteúdo da janela do Selector de Ficheiros será actualizado sempre que um documento é aberto, ⪚ pela opção do menu FicheiroAbrir. Se necessário, o Selector de Ficheiros irá mudar para a directoria a que este ficheiro pertence e irá refrescar a visualização para mostrar o conteúdo actual. - Quando o selector de ficheiros ficar visível - Se seleccionar esta opção, o conteúdo do Selector de Ficheiros será actualizado sempre que ficar visível de novo. Se necessário, o Selector de Ficheiros irá mudar para a directoria a que este ficheiro pertence e irá refrescar a visualização para mostrar o conteúdo actual. + Quando o selector de ficheiros ficar visível + Se seleccionar esta opção, o conteúdo do Selector de Ficheiros será actualizado sempre que ficar visível de novo. Se necessário, o Selector de Ficheiros irá mudar para a directoria a que este ficheiro pertence e irá refrescar a visualização para mostrar o conteúdo actual. -Você poderá combinar estas opções para ajustar o comportamento da actualização do Selector de Ficheiros ao seu gosto. +Você poderá combinar estas opções para ajustar o comportamento da actualização do Selector de Ficheiros ao seu gosto. -Controlar o Histórico nas Listas +Controlar o Histórico nas Listas -Existem duas listas na parte superior e na inferior da janela de conteúdo do Selector de Ficheiros que controlam a directoria a ser mostrada (a lista no topo) e os filtros a serem aplicados à janela de ficheiros (a lista de baixo). Um histórico das opções mais recentes é mantido no campo de selecção de cada lista. Você poderá configurar o número de itens do histórico da seguinte forma. +Existem duas listas na parte superior e na inferior da janela de conteúdo do Selector de Ficheiros que controlam a directoria a ser mostrada (a lista no topo) e os filtros a serem aplicados à janela de ficheiros (a lista de baixo). Um histórico das opções mais recentes é mantido no campo de selecção de cada lista. Você poderá configurar o número de itens do histórico da seguinte forma. - Recordar as localizações - Indique aqui o número máximo de selecções de directorias que a lista de cima deverá recordar. + Recordar as localizações + Indique aqui o número máximo de selecções de directorias que a lista de cima deverá recordar. - Recordar os filtros - Indique aqui o número máximo de definições de filtros que a lista em baixo deverá recordar. + Recordar os filtros + Indique aqui o número máximo de definições de filtros que a lista em baixo deverá recordar. -Controlar o que Deverá Ser Recordado Entre Sessões +Controlar o que Deverá Ser Recordado Entre Sessões -Por omissão, o Selector de Ficheiros está configurado de forma a que mostre o conteúdo da sessão mais recente no próximo arranque do &tdevelop;. Você poderá alterar este comportamento no grupo de configuração Sessão. - -Se o &tdevelop; foi reiniciado automaticamente pelo gestor de sessões do &kde;, as alterações a estas opções não farão efeito. Neste caso, a configuração da localização e dos filtros da sessão mais recente do &kde; será sempre reposta. +Por omissão, o Selector de Ficheiros está configurado de forma a que mostre o conteúdo da sessão mais recente no próximo arranque do &tdevelop;. Você poderá alterar este comportamento no grupo de configuração Sessão. + +Se o &tdevelop; foi reiniciado automaticamente pelo gestor de sessões do &kde;, as alterações a estas opções não farão efeito. Neste caso, a configuração da localização e dos filtros da sessão mais recente do &kde; será sempre reposta. - Repor a localização + Repor a localização - Desligue esta opção se não quiser que a localização apresentada seja guardada entre sessões. - Se você seleccionou uma das opções de auto-actualização, a localização apresentada poderá mudar automaticamente, independentemente do que foi recordado da sessão recente. + Desligue esta opção se não quiser que a localização apresentada seja guardada entre sessões. + Se você seleccionou uma das opções de auto-actualização, a localização apresentada poderá mudar automaticamente, independentemente do que foi recordado da sessão recente. - Repor os filtros + Repor os filtros - Desligue esta opção se não quiser que os filtros apresentados sejam guardados entre sessões. + Desligue esta opção se não quiser que os filtros apresentados sejam guardados entre sessões. @@ -1730,130 +844,58 @@ - + -Configurar o Assistente de Ficheiros Novos +Configurar o Assistente de Ficheiros Novos -(... ainda não escrito ...) +(... ainda não escrito ...) - + - + -Configurar a Documentação +Configurar a Documentação -O &tdevelop; contém uma funcionalidade de documentação muito poderosa que fornece o acesso a vários tipos de documentação extensa. Por exemplo, no modo IDEAl, você irá encontrar uma página de Documentação do lado direito da área de trabalho. +O &tdevelop; contém uma funcionalidade de documentação muito poderosa que fornece o acesso a vários tipos de documentação extensa. Por exemplo, no modo IDEAl, você irá encontrar uma página de Documentação do lado direito da área de trabalho. -A árvore de documentação do &tdevelop; no modo IDEAl - A árvore de documentação do &tdevelop; (modo IDEAl) +A árvore de documentação do &tdevelop; no modo IDEAl + A árvore de documentação do &tdevelop; (modo IDEAl) -O &tdevelop; precisa de ter carregado o 'plugin' de Documentação para ver a árvore de documentação. Veja as Ferramentas em 'Plugins' para mais informações. - -Você poderá configurar o conteúdo desta árvore de documentação se seleccionar a Configuração Configurar o KDevelop... no menu. A janela para Configurar o KDevelop irá aparecer, onde então terá de seleccionar Documentação no campo do lado esquerdo. - -A página de configuração que é mostrada apresenta um conjunto de páginas de configuração, nomeadamente: +O &tdevelop; precisa de ter carregado o 'plugin' de Documentação para ver a árvore de documentação. Veja as Ferramentas em 'Plugins' para mais informações. + +Você poderá configurar o conteúdo desta árvore de documentação se seleccionar a Configuração Configurar o KDevelop... no menu. A janela para Configurar o KDevelop irá aparecer, onde então terá de seleccionar Documentação no campo do lado esquerdo. + +A página de configuração que é mostrada apresenta um conjunto de páginas de configuração, nomeadamente: - Colectâneas de Documentação - Pesquisa por Texto Completo - Outro + Colectâneas de Documentação + Pesquisa por Texto Completo + Outro -Configurar as Colectâneas de Documentação - -A configuração da documentação foi dividida numa série de colectâneas de documentação, em que cada uma fornece o acesso aos ficheiros de documentação de um determinado formato e tipo de conteúdo únicos. Esta configuração controla quais os itens de documentação que serão listados na página de Conteúdo da funcionalidade de Documentação do &tdevelop;, e como é que o utilizador pode aceder aos detalhes da documentação, através de procuras indexadas e pelo texto completo. -A página de Documentação oferece uma série de páginas de configuração que são ordenadas verticalmente como uma pilha de cartões de índice. Cada uma das páginas, de cada vez, irá abrir ao carregar no título do seu cartão de índice: +Configurar as Colectâneas de Documentação + +A configuração da documentação foi dividida numa série de colectâneas de documentação, em que cada uma fornece o acesso aos ficheiros de documentação de um determinado formato e tipo de conteúdo únicos. Esta configuração controla quais os itens de documentação que serão listados na página de Conteúdo da funcionalidade de Documentação do &tdevelop;, e como é que o utilizador pode aceder aos detalhes da documentação, através de procuras indexadas e pelo texto completo. +A página de Documentação oferece uma série de páginas de configuração que são ordenadas verticalmente como uma pilha de cartões de índice. Cada uma das páginas, de cada vez, irá abrir ao carregar no título do seu cartão de índice: - Colectânea de Documentação do &Qt; - Colectânea de Documentação CHM - Colectânea de Documentação do Doxygen - Colectânea de Documentação do TOC do &tdevelop; - Colectânea de Documentação do DevHelp - Colectânea de Documentação Personalizada + Colectânea de Documentação do &Qt; + Colectânea de Documentação CHM + Colectânea de Documentação do Doxygen + Colectânea de Documentação do TOC do &tdevelop; + Colectânea de Documentação do DevHelp + Colectânea de Documentação Personalizada @@ -1862,72 +904,41 @@ -Configurar as colectâneas de documentação - Configurar as colectâneas de documentação +Configurar as colectâneas de documentação + Configurar as colectâneas de documentação -Estrutura Comum de Configuração da Documentação +Estrutura Comum de Configuração da Documentação -Todas as páginas de configuração da página de Documentação usam uma disposição comum. Você irá encontrar os itens de documentação disponíveis de momento, listados na página aberta à esquerda, bem como uma série de botões à direita. +Todas as páginas de configuração da página de Documentação usam uma disposição comum. Você irá encontrar os itens de documentação disponíveis de momento, listados na página aberta à esquerda, bem como uma série de botões à direita. -Botões de Gestão da Lista de Documentação +Botões de Gestão da Lista de Documentação -Existem três botões disponíveis para manter o conteúdo das páginas de configuração da documentação: +Existem três botões disponíveis para manter o conteúdo das páginas de configuração da documentação: - Adicionar + Adicionar - Abre uma janela de Propriedades do Catálogo de Documentação, tal como é mostrado em baixo, na qual poderá seleccionar a localização da fonte de documentação a adicionar, bem como lhe poderá atribuir um nome. + Abre uma janela de Propriedades do Catálogo de Documentação, tal como é mostrado em baixo, na qual poderá seleccionar a localização da fonte de documentação a adicionar, bem como lhe poderá atribuir um nome. - Editar + Editar - Abre uma janela de Propriedades do Catálogo de Documentação, tal como é mostrado em baixo, na qual poderá alterar a localização da fonte de documentação a adicionar, bem como lhe poderá mudar o nome. + Abre uma janela de Propriedades do Catálogo de Documentação, tal como é mostrado em baixo, na qual poderá alterar a localização da fonte de documentação a adicionar, bem como lhe poderá mudar o nome. - Remover + Remover - Remove o item de documentação seleccionado da lista. - O item só será removido da lista. Todas as fontes de documentação permanecerão inalteradas. Você terá de as remover explicitamente por outros meios. + Remove o item de documentação seleccionado da lista. + O item só será removido da lista. Todas as fontes de documentação permanecerão inalteradas. Você terá de as remover explicitamente por outros meios. @@ -1937,948 +948,419 @@ - Adicionar ou alterar um item de documentação + Adicionar ou alterar um item de documentação -O botão à direita do campo de Localização abre uma janela de directorias, cujos itens serão filtrados de acordo com o tipo de ficheiro da página de configuração seleccionada. -O campo de Título poderá não estar acessível, dependendo do tipo de documentação a ser mantido. +O botão à direita do campo de Localização abre uma janela de directorias, cujos itens serão filtrados de acordo com o tipo de ficheiro da página de configuração seleccionada. +O campo de Título poderá não estar acessível, dependendo do tipo de documentação a ser mantido. -Estrutura da Lista de Documentação +Estrutura da Lista de Documentação -Cada página de configuração de documentação mostra os itens de documentação listados numa tabela com quatro colunas: +Cada página de configuração de documentação mostra os itens de documentação listados numa tabela com quatro colunas: - TOC + TOC - Se esta opção estiver assinalada, este item de documentação irá aparecer na página de Conteúdo da funcionalidade de Documentation do &tdevelop;. - Se desligar a opção TOC, esta irá por sua vez desactivar as opções Índice e Procurar (ver em baixo). Como tal, você não poderá ter itens da colectânea de documentação indexados mas que não estejam visíveis no conteúdo. + Se esta opção estiver assinalada, este item de documentação irá aparecer na página de Conteúdo da funcionalidade de Documentation do &tdevelop;. + Se desligar a opção TOC, esta irá por sua vez desactivar as opções Índice e Procurar (ver em baixo). Como tal, você não poderá ter itens da colectânea de documentação indexados mas que não estejam visíveis no conteúdo. - Índice + Índice - Se esta opção estiver assinalada, será criado um índice interno a partir deste item de documentação. Isto oferece um acesso rápido à documentação, através do uso das páginas de Índice e (opcionalmente) Procurar da funcionalidade de Documentation do &tdevelop;. + Se esta opção estiver assinalada, será criado um índice interno a partir deste item de documentação. Isto oferece um acesso rápido à documentação, através do uso das páginas de Índice e (opcionalmente) Procurar da funcionalidade de Documentation do &tdevelop;. - O índice interno será criado da primeira vez que o utilizador seleccionar a página de Índice. Isto irá atrasar consideravelmente o primeiro acesso, porque o índice será lido do disco e depois é então colocado numa 'cache'. - Todas as pesquisas subsequentes irão usar então esta 'cache' e, por isso, irão funcionar muito mais depressa. + O índice interno será criado da primeira vez que o utilizador seleccionar a página de Índice. Isto irá atrasar consideravelmente o primeiro acesso, porque o índice será lido do disco e depois é então colocado numa 'cache'. + Todas as pesquisas subsequentes irão usar então esta 'cache' e, por isso, irão funcionar muito mais depressa. - Procurar + Procurar - Se esta opção estiver assinalada, o conteúdo deste item de documentação será incluído nas localizações de procura por texto completo da página Procurar da funcionalidade de Documentation do &tdevelop;. + Se esta opção estiver assinalada, o conteúdo deste item de documentação será incluído nas localizações de procura por texto completo da página Procurar da funcionalidade de Documentation do &tdevelop;. - O &tdevelop; usa a colectânea de aplicações do 'htdig' para efectuar as pesquisas por texto completo. Esta pesquisa é feita sobre um índice interno que a plataforma do 'htdig' tem de criar antes de poder ser usada. - Todas as alterações feitas na opção Procurar irão apenas afectar as pesquisas depois de reconstruir o índice da página Procurar da funcionalidade de Documentation do &tdevelop;. + O &tdevelop; usa a colectânea de aplicações do 'htdig' para efectuar as pesquisas por texto completo. Esta pesquisa é feita sobre um índice interno que a plataforma do 'htdig' tem de criar antes de poder ser usada. + Todas as alterações feitas na opção Procurar irão apenas afectar as pesquisas depois de reconstruir o índice da página Procurar da funcionalidade de Documentation do &tdevelop;. - Título - Este é o nome do item de Documentação que será mostrado na página de Conteúdo da funcionalidade de Documentação do &tdevelop;. + Título + Este é o nome do item de Documentação que será mostrado na página de Conteúdo da funcionalidade de Documentação do &tdevelop;. -As versões anteriores do &tdevelop; permitiam seleccionar os itens de documentação por projecto. Isto já não é mais possível. +As versões anteriores do &tdevelop; permitiam seleccionar os itens de documentação por projecto. Isto já não é mais possível. - + -Colecções de documentação do &Qt; +Colecções de documentação do &Qt; -Nesta página de configuração é configurada toda a documentação do &Qt;. +Nesta página de configuração é configurada toda a documentação do &Qt;. -Configurar a colectânea de documentação do &Qt; - Configurar a colectânea de documentação do &Qt; +Configurar a colectânea de documentação do &Qt; + Configurar a colectânea de documentação do &Qt; -Normalmente, o &tdevelop; irá preencher isto no seu primeiro arranque. Ele irá procurar pelos ficheiros de documentação normais *.xml e *.dcf da directoria de instalação do &Qt;. A tabela à esquerda irá listar os ficheiros que o &tdevelop; encontrou pelo seu título normal. - -Se você tem uma instalação fora do normal, então poderá não existir nenhuma informação indicada, ou então os endereços irão apontar para locais inválidos (⪚ para outra instalação do &Qt; disponível no seu sistema). Você poderá ajustar os itens, usando os botões à direita da lista. - -O &tdevelop; irá usar os títulos já fornecidos pela documentação do &Qt; instalada. Por isso, o campo Título da janela de Propriedades do Catálogo de Documentação está inacessível. - -Por omissão, nem toda a documentação do &Qt; estará visível na página de Conteúdo da funcionalidade de Documentation do &tdevelop;. Use a opção TOC na tabela de configuração para seleccionar a documentação a ser apresentada. - -Se você quiser incluir mais alguma documentação específica do &Qt; nos índices de pesquisa ou na pesquisa por texto completo, use as opções de Índice e Procurar da tabela de configuração. - - +Normalmente, o &tdevelop; irá preencher isto no seu primeiro arranque. Ele irá procurar pelos ficheiros de documentação normais *.xml e *.dcf da directoria de instalação do &Qt;. A tabela à esquerda irá listar os ficheiros que o &tdevelop; encontrou pelo seu título normal. + +Se você tem uma instalação fora do normal, então poderá não existir nenhuma informação indicada, ou então os endereços irão apontar para locais inválidos (⪚ para outra instalação do &Qt; disponível no seu sistema). Você poderá ajustar os itens, usando os botões à direita da lista. + +O &tdevelop; irá usar os títulos já fornecidos pela documentação do &Qt; instalada. Por isso, o campo Título da janela de Propriedades do Catálogo de Documentação está inacessível. + +Por omissão, nem toda a documentação do &Qt; estará visível na página de Conteúdo da funcionalidade de Documentation do &tdevelop;. Use a opção TOC na tabela de configuração para seleccionar a documentação a ser apresentada. + +Se você quiser incluir mais alguma documentação específica do &Qt; nos índices de pesquisa ou na pesquisa por texto completo, use as opções de Índice e Procurar da tabela de configuração. + + -Configurar a Colectânea de Documentação CHM +Configurar a Colectânea de Documentação CHM -Nesta página de configuração, você poderá recolher a documentação referente à norma de ficheiros de ajuda CHM da &Microsoft;. +Nesta página de configuração, você poderá recolher a documentação referente à norma de ficheiros de ajuda CHM da &Microsoft;. -Configurar os ficheiros de documentação CHM normais da &Microsoft; - Configurar os ficheiros de documentação CHM normais da &Microsoft; +Configurar os ficheiros de documentação CHM normais da &Microsoft; + Configurar os ficheiros de documentação CHM normais da &Microsoft; -Por omissão, esta página de configuração estará vazia (como é mostrado acima). Você poderá adicionar novos itens com os botões à direita do campo da lista. O &tdevelop; irá filtrar os ficheiros *.chm na janela de directoria associada aos botões Adicionar e Editar. - -Para mais informações sobre o formatos dos ficheiros *.chm da &Microsoft;, veja ⪚ a Documentação do PHP - Formato CHM Extendido em http://de2.php.net/docs-echm.php. - - +Por omissão, esta página de configuração estará vazia (como é mostrado acima). Você poderá adicionar novos itens com os botões à direita do campo da lista. O &tdevelop; irá filtrar os ficheiros *.chm na janela de directoria associada aos botões Adicionar e Editar. + +Para mais informações sobre o formatos dos ficheiros *.chm da &Microsoft;, veja ⪚ a Documentação do PHP - Formato CHM Extendido em http://de2.php.net/docs-echm.php. + + -Documentação Gerada pelo Doxygen +Documentação Gerada pelo Doxygen -Nesta página de configuração, toda a documentação da &API; gerada pelo &doxygen; será configurada. +Nesta página de configuração, toda a documentação da &API; gerada pelo &doxygen; será configurada. -Configurar a documentação da &API; gerada pelo Doxygen - Configurar a documentação da &API; gerada pelo Doxygen +Configurar a documentação da &API; gerada pelo Doxygen + Configurar a documentação da &API; gerada pelo Doxygen -Em resumo, estas &API;s documentam a interface para as funções de certas bibliotecas. Para produzir a documentação da &API; desta página é usada a ferramenta &doxygen;. -A documentação da &API; gerada pelo &doxygen; consiste numa série de ficheiros HTML, a começar pelo index.html. Adicionalmente, poderão existir ficheiros tag que contêm informações para se associar a documentações de &API; já existentes. Como tal, o &tdevelop; irá procurar pelo index.html e pelos ficheiros *.tag ao procurar pela documentação de &API; gerada pelo &doxygen;. -Existem algumas restrições estruturais assumidas ao procurar pela documentação da &API; gerada pelo &doxygen;. A directoria na qual se encontra o ficheiro index.html deverá conter algumas sub-pastas com colectâneas de documentação separadas. Assume-se que cada uma destas sub-pastas contém um ficheiro .tag e uma subdirectoria html/. -Você poderá dar uma vista de olhos em $TDEDIR/share/doc/HTML/en/tdelibs-apidocs para ter um exemplo de uma disposição de documentação de &API; em &doxygen;. - -O formato de documentação da &API; mais antigo do &kde;, o KDoc, já não é mais suportado directamente. Se quiser usar à mesma essa documentação, você podê-la-á adicionar à mesma na página da Colectânea Personalizada de Documentação. - -O &tdevelop; terá preenchido numa ligação a &API; actual das Bibliotecas do &kde;, desde que tivesse achado alguma na altura da instalação. Existem várias formas de o &tdevelop; a descobrir: +Em resumo, estas &API;s documentam a interface para as funções de certas bibliotecas. Para produzir a documentação da &API; desta página é usada a ferramenta &doxygen;. +A documentação da &API; gerada pelo &doxygen; consiste numa série de ficheiros HTML, a começar pelo index.html. Adicionalmente, poderão existir ficheiros tag que contêm informações para se associar a documentações de &API; já existentes. Como tal, o &tdevelop; irá procurar pelo index.html e pelos ficheiros *.tag ao procurar pela documentação de &API; gerada pelo &doxygen;. +Existem algumas restrições estruturais assumidas ao procurar pela documentação da &API; gerada pelo &doxygen;. A directoria na qual se encontra o ficheiro index.html deverá conter algumas sub-pastas com colectâneas de documentação separadas. Assume-se que cada uma destas sub-pastas contém um ficheiro .tag e uma subdirectoria html/. +Você poderá dar uma vista de olhos em $TDEDIR/share/doc/HTML/en/tdelibs-apidocs para ter um exemplo de uma disposição de documentação de &API; em &doxygen;. + +O formato de documentação da &API; mais antigo do &kde;, o KDoc, já não é mais suportado directamente. Se quiser usar à mesma essa documentação, você podê-la-á adicionar à mesma na página da Colectânea Personalizada de Documentação. + +O &tdevelop; terá preenchido numa ligação a &API; actual das Bibliotecas do &kde;, desde que tivesse achado alguma na altura da instalação. Existem várias formas de o &tdevelop; a descobrir: - Ou você indicou no comando configure a opção , quando compilou o &tdevelop; (veja o capítulo Como Obter a Documentação da &API; do &tdevelop;). - Ou então o comando configure descobriu automaticamente uma &API; das Bibliotecas do &kde; gerada pelo &doxygen; num dos locais normais que ele conhece à partida. - Ou, como último recurso, a pasta $TDEDIR/share/doc/HTML/en/tdelibs-apidocs/ foi encontrada no primeiro arranque do &tdevelop;. + Ou você indicou no comando configure a opção , quando compilou o &tdevelop; (veja o capítulo Como Obter a Documentação da &API; do &tdevelop;). + Ou então o comando configure descobriu automaticamente uma &API; das Bibliotecas do &kde; gerada pelo &doxygen; num dos locais normais que ele conhece à partida. + Ou, como último recurso, a pasta $TDEDIR/share/doc/HTML/en/tdelibs-apidocs/ foi encontrada no primeiro arranque do &tdevelop;. -Se o &tdevelop; não encontrou nenhuma documentação da &API; das Bibliotecas do &kde; gerada pelo &doxygen;, então a lista da Documentação Gerada pelo Doxygen aparecerá vazia. - -Você poderá adicionar os seus próprios itens de documentação da &API; (⪚ dos seus projectos actuais), usando os botões à direita. Se os quiser incluir na pesquisa indexada ou por texto completo marque as opções Índice ou Procurar da tabela de configuração. - -O &tdevelop; usa a informação do título do ficheiro index.html. Daí, o campo Título na janela de Propriedades do Catálogo de Documentação estar inacessível. +Se o &tdevelop; não encontrou nenhuma documentação da &API; das Bibliotecas do &kde; gerada pelo &doxygen;, então a lista da Documentação Gerada pelo Doxygen aparecerá vazia. + +Você poderá adicionar os seus próprios itens de documentação da &API; (⪚ dos seus projectos actuais), usando os botões à direita. Se os quiser incluir na pesquisa indexada ou por texto completo marque as opções Índice ou Procurar da tabela de configuração. + +O &tdevelop; usa a informação do título do ficheiro index.html. Daí, o campo Título na janela de Propriedades do Catálogo de Documentação estar inacessível. - O sistema do &kde; fornece mais documentação da &API; do que apenas a &API; das Bibliotecas do &kde;. Você irá precisar de mais informações de interfaces se quiser, ⪚, incluir a componente do &kate; nos seus programas. Para esta &API; da componente do &kate;, você deverá compilar e instalar a &API; das Bibliotecas de Base do &kde; a partir do código (com os comandos make apidox e make install no código do tdebase), adicionando então um item à lista Documentação Gerada pelo Doxygen como se segue: - + O sistema do &kde; fornece mais documentação da &API; do que apenas a &API; das Bibliotecas do &kde;. Você irá precisar de mais informações de interfaces se quiser, ⪚, incluir a componente do &kate; nos seus programas. Para esta &API; da componente do &kate;, você deverá compilar e instalar a &API; das Bibliotecas de Base do &kde; a partir do código (com os comandos make apidox e make install no código do tdebase), adicionando então um item à lista Documentação Gerada pelo Doxygen como se segue: + -Adicionar uma &API; de Base do &kde; à Lista - Adicionar uma &API; de Base do &kde; à Lista - - (Claro que deverá substituir a directoria /home/dev/o-meu-kde/ no campo Localização com a localização da sua instalação do &kde;). +Adicionar uma &API; de Base do &kde; à Lista + Adicionar uma &API; de Base do &kde; à Lista + + (Claro que deverá substituir a directoria /home/dev/o-meu-kde/ no campo Localização com a localização da sua instalação do &kde;). -Você precisa também de colocar a &API; do seu projecto actual nesta Colectânea de Documentação do Doxygen. As versões mais antigas do &tdevelop; colocavam-na na árvore de documentação ao nível do projecto. Isto já não é mais suportado. +Você precisa também de colocar a &API; do seu projecto actual nesta Colectânea de Documentação do Doxygen. As versões mais antigas do &tdevelop; colocavam-na na árvore de documentação ao nível do projecto. Isto já não é mais suportado. - + -Lidar com Documentação Estruturada (Ficheiros KDevelopTOC) +Lidar com Documentação Estruturada (Ficheiros KDevelopTOC) -O bloco principal da árvore de documentação do &tdevelop; fornece o acesso imediato à documentação estruturada, seja esta local ou remota. Você poderá configurar isto na página da Colectânea de Documentação do KDevelopTOC. +O bloco principal da árvore de documentação do &tdevelop; fornece o acesso imediato à documentação estruturada, seja esta local ou remota. Você poderá configurar isto na página da Colectânea de Documentação do KDevelopTOC. - Fornecer o acesso à documentação estruturada do KDevelopTOC + Fornecer o acesso à documentação estruturada do KDevelopTOC -O &tdevelop; vem com um conjunto de ficheiros KDevelopTOC predefinidos que são introduzidos automaticamente na tabela, na altura da instalação. Para manter o ambiente de trabalho fácil de gerir, só a documentação usada com maior frequência é que será marcada inicialmente para ser visualizada. Se você quiser ver outra documentação, marque a opção TOC na tabela de configuração. - -Os ficheiros KDevelopTOC não podem ser indexados para fazer uma pesquisa por texto completo, porque normalmente apontam para uma localização remota. Por outro lado, qualquer um desses ficheiros .toc poderá ter um índice definido manualmente, usando a marca <index>. Daí, a opção Índice ficará activa apenas quando o &tdevelop; encontrar uma marca <index> no ficheiro .toc. (Para mais detalhes, veja a descrição em baixo na secção de Ficheiros de Índice do &tdevelop;.) -A opção Procurar na tabela de configuração ficará sempre desactivada. - -Você poderá adicionar novos itens com os botões à direita da lista. O &tdevelop; irá filtrar os ficheiros *.toc na janela de directoria associada aos botões Adicionar e Editar. - -Só nas versões mais antigas do &tdevelop; é que o botão Remover irá alterar os ficheiros *.toc em disco, como tal a operação de remoção é segura agora. - - +O &tdevelop; vem com um conjunto de ficheiros KDevelopTOC predefinidos que são introduzidos automaticamente na tabela, na altura da instalação. Para manter o ambiente de trabalho fácil de gerir, só a documentação usada com maior frequência é que será marcada inicialmente para ser visualizada. Se você quiser ver outra documentação, marque a opção TOC na tabela de configuração. + +Os ficheiros KDevelopTOC não podem ser indexados para fazer uma pesquisa por texto completo, porque normalmente apontam para uma localização remota. Por outro lado, qualquer um desses ficheiros .toc poderá ter um índice definido manualmente, usando a marca <index>. Daí, a opção Índice ficará activa apenas quando o &tdevelop; encontrar uma marca <index> no ficheiro .toc. (Para mais detalhes, veja a descrição em baixo na secção de Ficheiros de Índice do &tdevelop;.) +A opção Procurar na tabela de configuração ficará sempre desactivada. + +Você poderá adicionar novos itens com os botões à direita da lista. O &tdevelop; irá filtrar os ficheiros *.toc na janela de directoria associada aos botões Adicionar e Editar. + +Só nas versões mais antigas do &tdevelop; é que o botão Remover irá alterar os ficheiros *.toc em disco, como tal a operação de remoção é segura agora. + + -Ficheiros de índice do &tdevelop; - -Existe uma funcionalidade especial associada a isto. Para ilustrá-la, siga estes passos: Na árvore de documentação, escolha um item ligeiramente abaixo da documentação do &Qt;/&kde; (⪚, o Livro de Programação no KDE2 (kde.org)). Carregue no sinal de mais (+) ao lado dele. Irá abrir uma árvore, na qual você poderá navegar pelos capítulos subsequentes que se encontram vários níveis abaixo, tudo de forma desligada. Porém, se você seleccionar finalmente um dos capítulos, o &tdevelop; irá em muitos dos casos tentar aceder a um ficheiro de documentação remoto. - -A razão por detrás disto e não só navegar localmente pela documentação remota sem desperdiçar recursos de acesso à rede, mas também para oferecer ao programador um acesso simples e estruturado à documentação que precisa. Com as ferramentas aqui oferecidas, uma pessoa poderá aceder a quase qualquer documentação local ou remota de forma estruturada, mesmo que o documento original seja um só ou a sua estrutura original seja diferente. Tudo o que é preciso é o acesso aos ficheiro e/ou partes dos outros ficheiros que são legíveis no &konqueror;. - -Esse acesso estruturado é possível com a utilização de ficheiros de índice especiais, os quais são identificados pela extensão .toc. Qualquer um desses ficheiros de índice do &tdevelop; contêm uma descrição estruturada em &XML; do documento a ser acedido. +Ficheiros de índice do &tdevelop; + +Existe uma funcionalidade especial associada a isto. Para ilustrá-la, siga estes passos: Na árvore de documentação, escolha um item ligeiramente abaixo da documentação do &Qt;/&kde; (⪚, o Livro de Programação no KDE2 (kde.org)). Carregue no sinal de mais (+) ao lado dele. Irá abrir uma árvore, na qual você poderá navegar pelos capítulos subsequentes que se encontram vários níveis abaixo, tudo de forma desligada. Porém, se você seleccionar finalmente um dos capítulos, o &tdevelop; irá em muitos dos casos tentar aceder a um ficheiro de documentação remoto. + +A razão por detrás disto e não só navegar localmente pela documentação remota sem desperdiçar recursos de acesso à rede, mas também para oferecer ao programador um acesso simples e estruturado à documentação que precisa. Com as ferramentas aqui oferecidas, uma pessoa poderá aceder a quase qualquer documentação local ou remota de forma estruturada, mesmo que o documento original seja um só ou a sua estrutura original seja diferente. Tudo o que é preciso é o acesso aos ficheiro e/ou partes dos outros ficheiros que são legíveis no &konqueror;. + +Esse acesso estruturado é possível com a utilização de ficheiros de índice especiais, os quais são identificados pela extensão .toc. Qualquer um desses ficheiros de índice do &tdevelop; contêm uma descrição estruturada em &XML; do documento a ser acedido. -Directoria Normal dos Ficheiros de Índice do &tdevelop; +Directoria Normal dos Ficheiros de Índice do &tdevelop; -Quando o &tdevelop; foi instalado, normalmente foi colocada uma série de ficheiros .toc predefinidos na directoria $TDEDIR/share/apps/kdevdoctreeview/tocs. Estes são ficheiros de texto estruturado relativamente simples. Você poderá olhar para eles com um editor de texto ou com outra funcionalidade de apresentação de texto. +Quando o &tdevelop; foi instalado, normalmente foi colocada uma série de ficheiros .toc predefinidos na directoria $TDEDIR/share/apps/kdevdoctreeview/tocs. Estes são ficheiros de texto estruturado relativamente simples. Você poderá olhar para eles com um editor de texto ou com outra funcionalidade de apresentação de texto. - + - Estrutura Básica dos Ficheiros de Índice do &tdevelop; + Estrutura Básica dos Ficheiros de Índice do &tdevelop; - cabeçalho + cabeçalho - <!DOCTYPE tdeveloptoc> + <!DOCTYPE tdeveloptoc> - <tdeveloptoc> + <tdeveloptoc> - (título) + (título) - (endereço de base) + (endereço de base) - (estrutura do conteúdo) + (estrutura do conteúdo) - (estrutura do índice) + (estrutura do índice) - </tdeveloptoc> + </tdeveloptoc> - Esta estrutura em &XML; será processada pelo 'plugin' de Documentação do &tdevelop; para configurar o conteúdo da árvore de documentação e para guiar o utilizador na navegação pela documentação. Ele contém toda a informação necessária para mostrar os títulos e aceder ao conteúdo do ficheiro de documentação. + Esta estrutura em &XML; será processada pelo 'plugin' de Documentação do &tdevelop; para configurar o conteúdo da árvore de documentação e para guiar o utilizador na navegação pela documentação. Ele contém toda a informação necessária para mostrar os títulos e aceder ao conteúdo do ficheiro de documentação. - title + title - <title> (algum texto de título) </title> + <title> (algum texto de título) </title> - Este é o título que o &tdevelop; irá mostrar nos níveis básicos da árvore de documentação. - Este título apresentado não pode de momento ser alterado pelo utilizador. Se você quiser mostrar outro texto, você terá de alterar manualmente o item <title> no ficheiro .toc. + Este é o título que o &tdevelop; irá mostrar nos níveis básicos da árvore de documentação. + Este título apresentado não pode de momento ser alterado pelo utilizador. Se você quiser mostrar outro texto, você terá de alterar manualmente o item <title> no ficheiro .toc. - endereço de base + endereço de base - <base href=" (&URL; do documento de base) "/> + <base href=" (&URL; do documento de base) "/> - Este &URL; aponta para a localização em que todos os ficheiros desta documentação se localizam. Será inserida no início de cada &URL; de secção na seguinte lista da estrutura do conteúdo. Por isso, se você ⪚ obter alguma documentação de um servidor remoto, tudo o que precisa para mostrar os ficheiros nesta nova localização é mudar o &URL; da <base>. + Este &URL; aponta para a localização em que todos os ficheiros desta documentação se localizam. Será inserida no início de cada &URL; de secção na seguinte lista da estrutura do conteúdo. Por isso, se você ⪚ obter alguma documentação de um servidor remoto, tudo o que precisa para mostrar os ficheiros nesta nova localização é mudar o &URL; da <base>. - estrutura do conteúdo + estrutura do conteúdo - <tocsect1 name=" (título da secção) " url=" (&URL; da secção) "> - ... - <tocsectn name=" (título da secção) " url=" (&URL; da secção) "/> - ... + <tocsect1 name=" (título da secção) " url=" (&URL; da secção) "> + ... + <tocsectn name=" (título da secção) " url=" (&URL; da secção) "/> + ... - </tocsect1> + </tocsect1> - Toda a informação restante de navegação e de acesso é guardada numa série de pares <tocsecti> ... </tocsecti> aninhados. Cada i corresponde a um nível consecutivo de aninhamento abaixo do nível n, correspondente à secção de documentação finalmente apresentada. - Todos os itens <tocsecti> devem ter um atributo name="xxx" associado a eles (o "xxx" representa o título actual). Isto será mostrado como o título do nível na árvore de documentação. Ele irá corresponder a uma secção da documentação actual. - Poderá existir um atributo url="" associado ao nível de aninhamento i. Quando o utilizador carregar no título de uma secção da documentação, o &tdevelop; irá tentar aceder ao ficheiro na localização indicada pelo endereço de base combinado com o &URL; da secção. - O item <tocsectn/> precisa de ter um atributo url="", de qualquer forma. Este <tocsectn/> final não vem aos pares, mas será sim fechado por um / antes do carácter >. - Qualquer endereço resultante da combinação do endereço de base e do &URL; da secção precisam de apontar para um ficheiro de texto visível. Normalmente, este será um ficheiro estruturado em HTML. É possível fazer referência a 'âncoras' num desses ficheiros, usando a notação normal do '#', com o formato: /url-de-base/url-da-seccao#ancora. + Toda a informação restante de navegação e de acesso é guardada numa série de pares <tocsecti> ... </tocsecti> aninhados. Cada i corresponde a um nível consecutivo de aninhamento abaixo do nível n, correspondente à secção de documentação finalmente apresentada. + Todos os itens <tocsecti> devem ter um atributo name="xxx" associado a eles (o "xxx" representa o título actual). Isto será mostrado como o título do nível na árvore de documentação. Ele irá corresponder a uma secção da documentação actual. + Poderá existir um atributo url="" associado ao nível de aninhamento i. Quando o utilizador carregar no título de uma secção da documentação, o &tdevelop; irá tentar aceder ao ficheiro na localização indicada pelo endereço de base combinado com o &URL; da secção. + O item <tocsectn/> precisa de ter um atributo url="", de qualquer forma. Este <tocsectn/> final não vem aos pares, mas será sim fechado por um / antes do carácter >. + Qualquer endereço resultante da combinação do endereço de base e do &URL; da secção precisam de apontar para um ficheiro de texto visível. Normalmente, este será um ficheiro estruturado em HTML. É possível fazer referência a 'âncoras' num desses ficheiros, usando a notação normal do '#', com o formato: /url-de-base/url-da-seccao#ancora. - estrutura do índice + estrutura do índice - <index> + <index> - <entry name=" (título do índice) " url=" (&URL; da secção do índice) "/> + <entry name=" (título do índice) " url=" (&URL; da secção do índice) "/> - </index> + </index> - O índice é uma lista simples de itens de índice - pares de títulos e &URL;s. O índice não é obrigatório. + O índice é uma lista simples de itens de índice - pares de títulos e &URL;s. O índice não é obrigatório. - + -Documentação do DevHelp - -A documentação do DevHelp é outra forma de aceder à documentação estruturada. Ele usa os ficheiros de índice estruturados identificados por uma extensão .devhelp semelhante aos ficheiros TOC do &tdevelop; para aceder à documentação do ambiente de trabalho do GNOME 2. -Você poderá controlar quais os ficheiros do DevHelp que deverão estar acessíveis na página de configuração da Colectânea de Documentação do DevHelp. +Documentação do DevHelp + +A documentação do DevHelp é outra forma de aceder à documentação estruturada. Ele usa os ficheiros de índice estruturados identificados por uma extensão .devhelp semelhante aos ficheiros TOC do &tdevelop; para aceder à documentação do ambiente de trabalho do GNOME 2. +Você poderá controlar quais os ficheiros do DevHelp que deverão estar acessíveis na página de configuração da Colectânea de Documentação do DevHelp. - Fornecer a documentação do DevHelp + Fornecer a documentação do DevHelp -Os ficheiros do DevHelp originalmente estavam acessíveis no 'site' Web do LiDN, mas estes parece que não são mantido já há algum tempo. A documentação do DevHelp mais recente está disponível na página Web para Obter os Livros do DevHelp. - -Quando o &tdevelop; é instalado, ele irá tentar procurar todos os ficheiros .devhelp nos locais-padrão do sistema, ⪚ nas sub-pastas de /opt/gnome/share/. Inicialmente, estes ficheiros não serão marcados para serem visualizados. Se quiser ver outra documentação, marque a opção TOC da tabela de configuração. - -Você poderá adicionar novos itens com os botões à direita da lista. O &tdevelop; irá filtrar os ficheiros *.toc na janela de directoria associada aos botões Adicionar e Editar. - - +Os ficheiros do DevHelp originalmente estavam acessíveis no 'site' Web do LiDN, mas estes parece que não são mantido já há algum tempo. A documentação do DevHelp mais recente está disponível na página Web para Obter os Livros do DevHelp. + +Quando o &tdevelop; é instalado, ele irá tentar procurar todos os ficheiros .devhelp nos locais-padrão do sistema, ⪚ nas sub-pastas de /opt/gnome/share/. Inicialmente, estes ficheiros não serão marcados para serem visualizados. Se quiser ver outra documentação, marque a opção TOC da tabela de configuração. + +Você poderá adicionar novos itens com os botões à direita da lista. O &tdevelop; irá filtrar os ficheiros *.toc na janela de directoria associada aos botões Adicionar e Editar. + + -Configurar as Colectâneas de Documentação Personalizadas +Configurar as Colectâneas de Documentação Personalizadas -Isto é para o seu próprio fim. Você poderá adicionar quase qualquer tipo de documentação, desde que possa ser mostrada pelos 'plugins' do &konqueror;. +Isto é para o seu próprio fim. Você poderá adicionar quase qualquer tipo de documentação, desde que possa ser mostrada pelos 'plugins' do &konqueror;. - Fornecer a documentação personalizada + Fornecer a documentação personalizada -Normalmente, esta colecção estará vazia no primeiro arranque do &tdevelop;. Foi preenchido deliberadamente um item para mostrar a estrutura do item. -O tratamento é relativamente simples aqui. Use os botões à direita da lista para adicionar, editar ou remover os itens dos documentos. O &tdevelop; não irá filtrar nada da janela de directorias que esteja associado aos botões Adicionar e Editar. - -Você terá de seleccionar explicitamente os itens para os mostrar na funcionalidade de documentação do &tdevelop;. Marque a opção TOC do item na tabela de configuração. - -A documentação personalizada não pode ser indexada ou pesquisada. Como tal, as opções Índice e Procurar não farão efeito, como é mostrado acima. - - - - +Normalmente, esta colecção estará vazia no primeiro arranque do &tdevelop;. Foi preenchido deliberadamente um item para mostrar a estrutura do item. +O tratamento é relativamente simples aqui. Use os botões à direita da lista para adicionar, editar ou remover os itens dos documentos. O &tdevelop; não irá filtrar nada da janela de directorias que esteja associado aos botões Adicionar e Editar. + +Você terá de seleccionar explicitamente os itens para os mostrar na funcionalidade de documentação do &tdevelop;. Marque a opção TOC do item na tabela de configuração. + +A documentação personalizada não pode ser indexada ou pesquisada. Como tal, as opções Índice e Procurar não farão efeito, como é mostrado acima. + + + + -Configurar os Índices de Pesquisa de Texto +Configurar os Índices de Pesquisa de Texto -(... ainda não escrito ...) +(... ainda não escrito ...) - Configurar os índices de pesquisa de texto + Configurar os índices de pesquisa de texto - + -Outras Configurações de Documentação +Outras Configurações de Documentação -(... ainda não escrito ...) +(... ainda não escrito ...) - + - + -Configuração Avançada +Configuração Avançada -(... ainda não escrito ...) +(... ainda não escrito ...) -Ferramentas em 'Plugins' +Ferramentas em 'Plugins' -(... ainda não escrito ...) - +(... ainda não escrito ...) + -Abreviaturas para a Completação de Palavras +Abreviaturas para a Completação de Palavras -(... ainda não escrito ...) - +(... ainda não escrito ...) + -Adicionar Aplicações Normais do &kde; ao Menu Ferramentas +Adicionar Aplicações Normais do &kde; ao Menu Ferramentas -(... ainda não escrito ...) - +(... ainda não escrito ...) + -Adicionar Aplicações Externas aos Menus +Adicionar Aplicações Externas aos Menus -(... ainda não escrito ...) +(... ainda não escrito ...) -Adicionar ao Menu Ferramentas +Adicionar ao Menu Ferramentas -(... ainda não escrito ...) - +(... ainda não escrito ...) + -Adicionar ao Menu de Contexto dos Ficheiros +Adicionar ao Menu de Contexto dos Ficheiros -(... ainda não escrito ...) - +(... ainda não escrito ...) + -Adicionar ao Menu de Contexto das Directorias +Adicionar ao Menu de Contexto das Directorias -(... ainda não escrito ...) - +(... ainda não escrito ...) + - + - + - + diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/survey-manual.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/survey-manual.docbook index 342e7db4f89..2f43d82a3db 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/survey-manual.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/survey-manual.docbook @@ -1,328 +1,181 @@ -O que Este Manual Contém +O que Este Manual Contém -Este manual do utilizador pretende descrever o conteúdo e a utilização do Ambiente de Desenvolvimento Integrado ou IDE &tdevelop; &kdevrelease;, do ponto de vista de um utilizador. Não é um manual de programação, nem descreve o processo de desenvolvimento em detalhe. O seu único objectivo é guiá-lo a lidar com o IDE. -Aqui poderá descobrir informações sobre os seguintes tópicos: +Este manual do utilizador pretende descrever o conteúdo e a utilização do Ambiente de Desenvolvimento Integrado ou IDE &tdevelop; &kdevrelease;, do ponto de vista de um utilizador. Não é um manual de programação, nem descreve o processo de desenvolvimento em detalhe. O seu único objectivo é guiá-lo a lidar com o IDE. +Aqui poderá descobrir informações sobre os seguintes tópicos: -Introdução ao &tdevelop; — Uma Visita Guiada +Introdução ao &tdevelop; — Uma Visita Guiada -Dá-lhe uma introdução rápida ao uso deste &IDE;, introduzindo os passos básicos para trabalhar num projecto. +Dá-lhe uma introdução rápida ao uso deste &IDE;, introduzindo os passos básicos para trabalhar num projecto. -Introdução às Funcionalidades do &tdevelop; +Introdução às Funcionalidades do &tdevelop; -Extende a vista guiada no capítulo anterior, dando uma visão geral sobre o que está incluído dentro do &tdevelop; e põe-o perante a aparência e comportamento deste &IDE;. +Extende a vista guiada no capítulo anterior, dando uma visão geral sobre o que está incluído dentro do &tdevelop; e põe-o perante a aparência e comportamento deste &IDE;. -Configurar o &tdevelop; +Configurar o &tdevelop; -Mostra como poderá adequar o &IDE; às suas necessidades. +Mostra como poderá adequar o &IDE; às suas necessidades. -Como começar: o &appwizard; +Como começar: o &appwizard; -Descreve as bases de como configurar um projecto novo no &tdevelop;, usando o &appwizard; incorporado. +Descreve as bases de como configurar um projecto novo no &tdevelop;, usando o &appwizard; incorporado. -Ferramentas de edição +Ferramentas de edição -Tudo o que necessita para escrever os ficheiros de código: usar o editor, procurar texto localmente e a nível do projecto, até à integração de ficheiros e classes novos no projecto. +Tudo o que necessita para escrever os ficheiros de código: usar o editor, procurar texto localmente e a nível do projecto, até à integração de ficheiros e classes novos no projecto. -Os Navegadores de Ficheiros +Os Navegadores de Ficheiros -Demonstra várias ferramentas para olhar para a estrutura do seu projecto e como aceder aos ficheiros com que deseja trabalhar. +Demonstra várias ferramentas para olhar para a estrutura do seu projecto e como aceder aos ficheiros com que deseja trabalhar. -Os Navegadores de Classes +Os Navegadores de Classes -Descreve uma das ferramentas mais poderosas do &tdevelop;, que lhe permite navegar pelas dependências de classes e lhe permite criar e aceder facilmente às classes e métodos que necessita. +Descreve uma das ferramentas mais poderosas do &tdevelop;, que lhe permite navegar pelas dependências de classes e lhe permite criar e aceder facilmente às classes e métodos que necessita. -Documentação +Documentação -Mostra como aceder à rica documentação que o &tdevelop; oferece e diz-lhe como criar a documentação para o seu projecto, consistindo numa documentação de &API; poderosa e clara, que lhe dá uma ideia geral de todo o código do seu projecto, assim como a documentação do utilizador baseada em DocBook. +Mostra como aceder à rica documentação que o &tdevelop; oferece e diz-lhe como criar a documentação para o seu projecto, consistindo numa documentação de &API; poderosa e clara, que lhe dá uma ideia geral de todo o código do seu projecto, assim como a documentação do utilizador baseada em DocBook. -Compilação e Gestão de Projectos +Compilação e Gestão de Projectos -Lida com a criação e gestão do seu projecto; descreve as bases do 'autoconf' e do 'automake', para além de como configurar Makefiles personalizadas e como usar as opções do compilador ou do 'make' para ajustar a sua aplicação de acordo com as suas necessidades. +Lida com a criação e gestão do seu projecto; descreve as bases do 'autoconf' e do 'automake', para além de como configurar Makefiles personalizadas e como usar as opções do compilador ou do 'make' para ajustar a sua aplicação de acordo com as suas necessidades. -Gestão de Compilações Avançada +Gestão de Compilações Avançada -Olha para as formas de manter várias configurações de compilação, para compilar de forma cruzada para diversas plataformas ou para fazer um sistema embebido, usando a biblioteca Qt/embedded. +Olha para as formas de manter várias configurações de compilação, para compilar de forma cruzada para diversas plataformas ou para fazer um sistema embebido, usando a biblioteca Qt/embedded. -A Interface do Depurador +A Interface do Depurador -Descreve como usar a interface incorporada do depurador gdb, para que possa descobrir os erros sem sair do &tdevelop;. +Descreve como usar a interface incorporada do depurador gdb, para que possa descobrir os erros sem sair do &tdevelop;. + + Python — an overview of how to create Python-based applications in &tdevelop;. + + + PHP — an overview of how to create PHP-based HTML applications in &tdevelop;. + //--> -Usar o CVS +Usar o CVS -Diz-lhe como é que pode manter o seu projecto com o sistema de controlo de versões CVS; uma prioridade, especialmente se vários programadores trabalharem no mesmo projecto. +Diz-lhe como é que pode manter o seu projecto com o sistema de controlo de versões CVS; uma prioridade, especialmente se vários programadores trabalharem no mesmo projecto. -Alguma informação usada normalmente foi colocada no apêndice. Entre outras, esta consiste de: +Alguma informação usada normalmente foi colocada no apêndice. Entre outras, esta consiste de: -Instalar o &tdevelop; +Instalar o &tdevelop; -Diz-lhe como obter o &tdevelop; e como o pôr a funcionar. +Diz-lhe como obter o &tdevelop; e como o pôr a funcionar. -De Algibeira — Dicas e Truques +De Algibeira — Dicas e Truques -Uma referência rápida aos comandos e acções mais usados. É também um guia rápido para resolver os problemas comuns ao lidar com o &tdevelop;. +Uma referência rápida aos comandos e acções mais usados. É também um guia rápido para resolver os problemas comuns ao lidar com o &tdevelop;. -Desenvolvimento em &UNIX; +Desenvolvimento em &UNIX; -Uma visão histórica da programação no sistema &UNIX;, as ferramentas principais necessárias e porque é que necessita de um &IDE;. +Uma visão histórica da programação no sistema &UNIX;, as ferramentas principais necessárias e porque é que necessita de um &IDE;. -Ficheiros de Configuração Usados pelo &tdevelop; -Indica os ficheiros que o &tdevelop; usa para gravar a sua informação interna. Isto é particularmente útil, no caso de algo correr mal com a sua configuração. +Ficheiros de Configuração Usados pelo &tdevelop; +Indica os ficheiros que o &tdevelop; usa para gravar a sua informação interna. Isto é particularmente útil, no caso de algo correr mal com a sua configuração. - -Ferramentas em 'Plugins' -Indica as ferramentas em 'plugins' que poderá usar para adequar as capacidades do &tdevelop; às suas necessidades. + +Ferramentas em 'Plugins' +Indica as ferramentas em 'plugins' que poderá usar para adequar as capacidades do &tdevelop; às suas necessidades. - -Exemplos dos Modos de Interface do Utilizador do KDevelop -Mostra alguns modos de interface do utilizador. + +Exemplos dos Modos de Interface do Utilizador do KDevelop +Mostra alguns modos de interface do utilizador. - -Mais Informações Como obter informações, comunicar erros, etc. + +Mais Informações Como obter informações, comunicar erros, etc. - -Changelog -Mostra o histórico desta documentação. + +Changelog +Mostra o histórico desta documentação. - -Bibliografia -Bibliografia + +Bibliografia +Bibliografia - + diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/tdevelop-install.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/tdevelop-install.docbook index 9a5f9a3db54..9193a1c0082 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/tdevelop-install.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/tdevelop-install.docbook @@ -2,971 +2,394 @@ - BerndPol + BerndPol -Instalar o &tdevelop; +Instalar o &tdevelop; - instalação - -Você irá encontrar aqui todos os passos necessários para compilar e instalar o IDE do &tdevelop;: - O Como obter o &tdevelop; concentra-se principalmente em como obter o código mais recente do CVS. - Os requisitos do &tdevelop; listam os programas e bibliotecas que irá necessitar de ter instalados para compilar com sucesso o IDE. - A compilação e instalação do &tdevelop; irá conduzi-lo por todos os passos de compilação e instalação da aplicação. - O Como obter uma documentação da &API; do &tdevelop; diz-lhe o que é uma API e como você poderá usar uma dessas ferramentas para navegar pelo código do &tdevelop;. + instalação + +Você irá encontrar aqui todos os passos necessários para compilar e instalar o IDE do &tdevelop;: + O Como obter o &tdevelop; concentra-se principalmente em como obter o código mais recente do CVS. + Os requisitos do &tdevelop; listam os programas e bibliotecas que irá necessitar de ter instalados para compilar com sucesso o IDE. + A compilação e instalação do &tdevelop; irá conduzi-lo por todos os passos de compilação e instalação da aplicação. + O Como obter uma documentação da &API; do &tdevelop; diz-lhe o que é uma API e como você poderá usar uma dessas ferramentas para navegar pelo código do &tdevelop;. -Como obter o &tdevelop; +Como obter o &tdevelop; - obter o &tdevelop; + obter o &tdevelop; - &tdevelop; - obter - -O &tdevelop; está disponível de forma binária para várias distribuições do &Linux; como a SuSE, a RedHat entre outras. Estes binários estão inseridos num pacote, em grande parte em RPMs, para uma instalação mais simples. Para instalar, siga as instruções normais que são dadas para a sua distribuição. -Você também poderá obter o código-fonte do &tdevelop;, compilá-lo e instalá-lo você mesmo. Este código poderá ser obtido na página pessoal do projecto em http://www.kdevelop.org ou através do 'site' FTP do &kde;. + &tdevelop; + obter + +O &tdevelop; está disponível de forma binária para várias distribuições do &Linux; como a SuSE, a RedHat entre outras. Estes binários estão inseridos num pacote, em grande parte em RPMs, para uma instalação mais simples. Para instalar, siga as instruções normais que são dadas para a sua distribuição. +Você também poderá obter o código-fonte do &tdevelop;, compilá-lo e instalá-lo você mesmo. Este código poderá ser obtido na página pessoal do projecto em http://www.kdevelop.org ou através do 'site' FTP do &kde;. -Obter Versões Diárias do &tdevelop; a partir do &CVS; +Obter Versões Diárias do &tdevelop; a partir do &CVS; - CVS + CVS -Se você quiser estar a acompanhar os desenvolvimentos actuais, estão disponíveis as imagens do repositório anónimo do &CVS;. O nome do módulo é tdevelop em :pserver:anonymous@anoncvs.kde.org:/home/kde. +Se você quiser estar a acompanhar os desenvolvimentos actuais, estão disponíveis as imagens do repositório anónimo do &CVS;. O nome do módulo é tdevelop em :pserver:anonymous@anoncvs.kde.org:/home/kde. -'Checkout' Inicial do &CVS; +'Checkout' Inicial do &CVS; - 'checkout' + 'checkout' - &tdevelop; - CVS - 'checkout' - -Para obter uma versão inicial do &tdevelop;, você precisa de obtê-la a partir do &CVS; anónimo. Para efectuar esta operação, com o nome de checkout, basta seguir estes passos. - -Iremos assumir que você irá querer pôr a sua cópia do &tdevelop; na pasta codigo_kde3 da sua directoria pessoal (a ~) . - - - # Criar a directoria de destino, se necessário: - ~> mkdir codigo_kde3 - ~> cd codigo_kde3 - ~/codigo_kde3> cvs -z3 -d :pserver:anonymous@anoncvs.kde.org:/home/kde co tdevelop - ~/codigo_kde3> cd tdevelop - - -Logo que tenha conseguido obter a sua versão do &tdevelop;, você poderá estar a par das alterações com o procedimento de actualização mostrado na secção a seguir. - -Mantenha a carga no servidor baixa. Por favor não faça a transferência completa ('checkout'), sempre que queira ter o seu &tdevelop; actualizado! Utilize para isto uma actualização de CVS. - -Agora, você poderá compilar a sua versão do &tdevelop;, tal como é mostrada no capítulo de Compilação e Instalação do &tdevelop;. - - + &tdevelop; + CVS + 'checkout' + +Para obter uma versão inicial do &tdevelop;, você precisa de obtê-la a partir do &CVS; anónimo. Para efectuar esta operação, com o nome de checkout, basta seguir estes passos. + +Iremos assumir que você irá querer pôr a sua cópia do &tdevelop; na pasta codigo_kde3 da sua directoria pessoal (a ~) . + + + # Criar a directoria de destino, se necessário: + ~> mkdir codigo_kde3 + ~> cd codigo_kde3 + ~/codigo_kde3> cvs -z3 -d :pserver:anonymous@anoncvs.kde.org:/home/kde co tdevelop + ~/codigo_kde3> cd tdevelop + + +Logo que tenha conseguido obter a sua versão do &tdevelop;, você poderá estar a par das alterações com o procedimento de actualização mostrado na secção a seguir. + +Mantenha a carga no servidor baixa. Por favor não faça a transferência completa ('checkout'), sempre que queira ter o seu &tdevelop; actualizado! Utilize para isto uma actualização de CVS. + +Agora, você poderá compilar a sua versão do &tdevelop;, tal como é mostrada no capítulo de Compilação e Instalação do &tdevelop;. + + -Manter a Sua Cópia do &CVS; Actual +Manter a Sua Cópia do &CVS; Actual - actualizar + actualizar - &tdevelop; - CVS - actualizar - -Depois de você ter obtido (e compilado com sucesso) o &tdevelop; a partir do CVS, tal como foi mostrado em cima, você poderá querer mantê-lo actualizado, de modo a obter todas as modificações. Para isso, siga estes passos (Iremos assumir de novo que você colocou a sua cópia do &tdevelop; na directoria codigo_kde3.) -Repare no comando up (= update), colocado em vez do co (que significa checkout). - - - ~> cd codigo_kde3 - ~/codigo_kde3> cvs -z3 -d :pserver:anonymous@anoncvs.kde.org:/home/kde up tdevelop - ~/codigo_kde3> cd tdevelop - - -Dê uma vista de olhos nas mensagens que o &CVS; produz, durante a sequência da actualização. Os passos exactos na sequência de compilação dependem disto. - -Agora, você poderá compilar uma nova versão do &tdevelop;, tal como é apresentado no capítulo das Considerações especiais de compilação do &CVS;. - - - - - + &tdevelop; + CVS + actualizar + +Depois de você ter obtido (e compilado com sucesso) o &tdevelop; a partir do CVS, tal como foi mostrado em cima, você poderá querer mantê-lo actualizado, de modo a obter todas as modificações. Para isso, siga estes passos (Iremos assumir de novo que você colocou a sua cópia do &tdevelop; na directoria codigo_kde3.) +Repare no comando up (= update), colocado em vez do co (que significa checkout). + + + ~> cd codigo_kde3 + ~/codigo_kde3> cvs -z3 -d :pserver:anonymous@anoncvs.kde.org:/home/kde up tdevelop + ~/codigo_kde3> cd tdevelop + + +Dê uma vista de olhos nas mensagens que o &CVS; produz, durante a sequência da actualização. Os passos exactos na sequência de compilação dependem disto. + +Agora, você poderá compilar uma nova versão do &tdevelop;, tal como é apresentado no capítulo das Considerações especiais de compilação do &CVS;. + + + + + -Requisitos do &tdevelop; +Requisitos do &tdevelop; - requisitos + requisitos - &tdevelop; - requisitos + &tdevelop; + requisitos - GNU - requisitos + GNU + requisitos -Para poder compilar e usar o &tdevelop; com sucesso, você precisa dos seguintes programas e bibliotecas. Eles estão disponíveis na maioria das plataformas como pacotes das próprias distribuições e, como tal, poderão ser instalados facilmente. +Para poder compilar e usar o &tdevelop; com sucesso, você precisa dos seguintes programas e bibliotecas. Eles estão disponíveis na maioria das plataformas como pacotes das próprias distribuições e, como tal, poderão ser instalados facilmente. -Necessário: +Necessário: - gcc/g++ ≥ 2.95.3 (ou compatível) - gcc - requisitos + gcc/g++ ≥ 2.95.3 (ou compatível) + gcc + requisitos - g++ - requisitos + g++ + requisitos - Disponível em gcc.gnu.org + Disponível em gcc.gnu.org - make da &GNU; (ou compatível) - make - requisitos + make da &GNU; (ou compatível) + make + requisitos - Disponível em www.gnu.org/software/make + Disponível em www.gnu.org/software/make - &perl; 5.004 (ou superior) - Perl - requisitos + &perl; 5.004 (ou superior) + Perl + requisitos - Disponível em www.perl.com + Disponível em www.perl.com - autoconf ≥ 2.52 - autoconf - requisitos + autoconf ≥ 2.52 + autoconf + requisitos - Disponível em www.gnu.org/software/autoconf + Disponível em www.gnu.org/software/autoconf - automake ≥ 1.6 - automake - requisitos + automake ≥ 1.6 + automake + requisitos - Disponível em www.gnu.org/software/automake + Disponível em www.gnu.org/software/automake - flex 2.5.4 (ou superior) - flex - requisitos + flex 2.5.4 (ou superior) + flex + requisitos - Disponível em www.gnu.org/software/flex + Disponível em www.gnu.org/software/flex - &Qt; ≥ 3.0.3 (ou superior) - Qt - requisitos + &Qt; ≥ 3.0.3 (ou superior) + Qt + requisitos - Disponível em www.trolltech.com/products/qt + Disponível em www.trolltech.com/products/qt - KDE ≥ 3.0.2 - KDE - requisitos + KDE ≥ 3.0.2 + KDE + requisitos - Disponível em www.kde.org + Disponível em www.kde.org -Opcional: - A ferramenta de navegação no código ctags, a partir do 'site' http://ctags.sourceforge.net, que lhe permite aceder rapidamente às declarações e definições, através de uns simples 'clicks' nos nomes dos itens, dentro do editor. ctags - - O dot, um compilador de linguagens gráficas, do http:/www.graphviz.org. Esta ferramenta é necessária, em conjunto com o &doxygen;, se você quiser ter as relações entre as classes desenhadas graficamente (o que é altamente recomendado). dot - - A ferramenta de documentação &doxygen;, do http://www.doxygen.org, se você quiser gerar documentação de APIs concisa e poderosa para os seus projectos. doxygen - - O valgrind de http://developer.kde.org/~sewardj/, que lhe ajuda a encontrar problemas de gestão de memória nas suas aplicações. valgrind - - O CVS do http://www.cvshome.org se você quiser usar o sistema de controlo de versões &CVS;. - CVS - requisitos - - Qualquer outro compilador e/ou ferramenta, para o caso de você querer programar noutra linguagem/plataforma que não o C++/&kde; ou queira usar alguma funcionalidade especial. +Opcional: + A ferramenta de navegação no código ctags, a partir do 'site' http://ctags.sourceforge.net, que lhe permite aceder rapidamente às declarações e definições, através de uns simples 'clicks' nos nomes dos itens, dentro do editor. ctags + + O dot, um compilador de linguagens gráficas, do http:/www.graphviz.org. Esta ferramenta é necessária, em conjunto com o &doxygen;, se você quiser ter as relações entre as classes desenhadas graficamente (o que é altamente recomendado). dot + + A ferramenta de documentação &doxygen;, do http://www.doxygen.org, se você quiser gerar documentação de APIs concisa e poderosa para os seus projectos. doxygen + + O valgrind de http://developer.kde.org/~sewardj/, que lhe ajuda a encontrar problemas de gestão de memória nas suas aplicações. valgrind + + O CVS do http://www.cvshome.org se você quiser usar o sistema de controlo de versões &CVS;. + CVS + requisitos + + Qualquer outro compilador e/ou ferramenta, para o caso de você querer programar noutra linguagem/plataforma que não o C++/&kde; ou queira usar alguma funcionalidade especial. - Você poderá dar uma volta à necessidade do &autoconf; ≥ 2.52 e do &automake; ≥ 1.6. Basta remover a directoria admin da directoria de instalação do seu &tdevelop; e escrever - autoconf - a circunvecção da versão necessita + Você poderá dar uma volta à necessidade do &autoconf; ≥ 2.52 e do &automake; ≥ 1.6. Basta remover a directoria admin da directoria de instalação do seu &tdevelop; e escrever + autoconf + a circunvecção da versão necessita - automake - a circunvecção da versão necessita + automake + a circunvecção da versão necessita - versão necessária - circunvecção para o 'autoconf'/'automake' + versão necessária + circunvecção para o 'autoconf'/'automake' - - (a-sua-directoria-do-tdevelop)> ln -s $TDEDIR/share/apps/tdelibs/admin admin - - na consola. Isto faz com que o &tdevelop; use a configuração normal da directoria admin do &kde; em alternativa. + + (a-sua-directoria-do-tdevelop)> ln -s $TDEDIR/share/apps/tdelibs/admin admin + + na consola. Isto faz com que o &tdevelop; use a configuração normal da directoria admin do &kde; em alternativa. - Tenha cuidado em não misturar as versões do &Qt;. Associe sempre o &tdevelop; à mesma versão do &Qt; com que as suas bibliotecas do &kde; foram compiladas. Caso contrário, você poderá obter comportamentos muito estranhos. + Tenha cuidado em não misturar as versões do &Qt;. Associe sempre o &tdevelop; à mesma versão do &Qt; com que as suas bibliotecas do &kde; foram compiladas. Caso contrário, você poderá obter comportamentos muito estranhos. - + -Compilação e Instalação do &tdevelop; +Compilação e Instalação do &tdevelop; - &tdevelop; - compilação + &tdevelop; + compilação - &tdevelop; - instalação - -Logo que todos os requisitos tenham sido cumpridos, você está pronto para compilar e instalar o &tdevelop;. Este apêndice irá discutir os passos necessários para o fazer. + &tdevelop; + instalação + +Logo que todos os requisitos tenham sido cumpridos, você está pronto para compilar e instalar o &tdevelop;. Este apêndice irá discutir os passos necessários para o fazer. - Os Passos Preliminares dizem-lhe como configurar um ambiente adequado. - O Compilar o &tdevelop; lida com a obtenção do código do &tdevelop; a partir do &cvs;, como o preparar para o processo de instalação e finalmente mostra os passos necessários para compilar e instalar o &tdevelop;. - O Algumas Notas Sobre as Opções do 'Configure' diz-lhe como executar o &tdevelop; se tiver sido instalado numa localização que não a directoria do &kde;. + Os Passos Preliminares dizem-lhe como configurar um ambiente adequado. + O Compilar o &tdevelop; lida com a obtenção do código do &tdevelop; a partir do &cvs;, como o preparar para o processo de instalação e finalmente mostra os passos necessários para compilar e instalar o &tdevelop;. + O Algumas Notas Sobre as Opções do 'Configure' diz-lhe como executar o &tdevelop; se tiver sido instalado numa localização que não a directoria do &kde;. -Passos Preliminares +Passos Preliminares - preliminares - Instalação do &tdevelop; + preliminares + Instalação do &tdevelop; - TDEDIR + TDEDIR - QTDIR + QTDIR - LD_LIBRARY_PATH + LD_LIBRARY_PATH - LIBRARY_PATH + LIBRARY_PATH - PATH - -Antes de entrar na sequência da consola, você precisa de se certificar que todas as bibliotecas e ferramentas estão disponíveis no sistema de compilação. Para conseguir isto, algumas variáveis de ambiente precisam de estar convenientemente definidas. Os passos reais a efectuar dependem da linha de comandos da consola que você utiliza. - -Para evitar ter de escrever todos os comandos que definem as variáveis de ambiente necessárias de cada vez que deseja compilar, você deverá colocá-las no seu ficheiro .bashrc ou .cshrc. Desta forma, as variáveis de ambiente serão configuradas convenientemente sempre que você iniciar a linha de comandos. + PATH + +Antes de entrar na sequência da consola, você precisa de se certificar que todas as bibliotecas e ferramentas estão disponíveis no sistema de compilação. Para conseguir isto, algumas variáveis de ambiente precisam de estar convenientemente definidas. Os passos reais a efectuar dependem da linha de comandos da consola que você utiliza. + +Para evitar ter de escrever todos os comandos que definem as variáveis de ambiente necessárias de cada vez que deseja compilar, você deverá colocá-las no seu ficheiro .bashrc ou .cshrc. Desta forma, as variáveis de ambiente serão configuradas convenientemente sempre que você iniciar a linha de comandos. -Configurar o Ambiente para a Linha de Comandos Bash - -Se você usar a linha de comandos 'bash', adicione as seguintes linhas: - - - export TDEDIR=(local da sua instalação do KDE) - export QTDIR=(local da sua biblioteca Qt) - export LD_LIBRARY_PATH=$QTDIR/lib:$TDEDIR/lib:$LD_LIBRARY_PATH - export LIBRARY_PATH=$QTDIR/lib:$TDEDIR/lib:$LIBRARY_PATH - export PATH=$QTDIR/bin:$TDEDIR/bin:$PATH - - - - +Configurar o Ambiente para a Linha de Comandos Bash + +Se você usar a linha de comandos 'bash', adicione as seguintes linhas: + + + export TDEDIR=(local da sua instalação do KDE) + export QTDIR=(local da sua biblioteca Qt) + export LD_LIBRARY_PATH=$QTDIR/lib:$TDEDIR/lib:$LD_LIBRARY_PATH + export LIBRARY_PATH=$QTDIR/lib:$TDEDIR/lib:$LIBRARY_PATH + export PATH=$QTDIR/bin:$TDEDIR/bin:$PATH + + + + -Configurar o Ambiente para a Linha de Comandos Tcsh +Configurar o Ambiente para a Linha de Comandos Tcsh -Se você usar a linha de comandos 'tcsh', adicione as seguintes linhas: +Se você usar a linha de comandos 'tcsh', adicione as seguintes linhas: - - setenv TDEDIR (local da sua instalação do KDE) - setenv QTDIR (local da sua biblioteca Qt) - setenv LD_LIBRARY_PATH=$QTDIR/lib:$TDEDIR/lib:$LD_LIBRARY_PATH - setenv LIBRARY_PATH $QTDIR/lib:$TDEDIR/lib:$LIBRARY_PATH - setenv PATH $QTDIR/bin:$TDEDIR/bin:$PATH - + + setenv TDEDIR (local da sua instalação do KDE) + setenv QTDIR (local da sua biblioteca Qt) + setenv LD_LIBRARY_PATH=$QTDIR/lib:$TDEDIR/lib:$LD_LIBRARY_PATH + setenv LIBRARY_PATH $QTDIR/lib:$TDEDIR/lib:$LIBRARY_PATH + setenv PATH $QTDIR/bin:$TDEDIR/bin:$PATH + - + - + -Compilar o &tdevelop; +Compilar o &tdevelop; - make - Instalação do &tdevelop; + make + Instalação do &tdevelop; - compilação - &tdevelop; - -Na discussão a seguir, assumimos que você colocou o código do seu &tdevelop; na directoria ~/codigo_kde3/tdevelop. + compilação + &tdevelop; + +Na discussão a seguir, assumimos que você colocou o código do seu &tdevelop; na directoria ~/codigo_kde3/tdevelop. -Considerações Especiais de Compilação do &CVS; +Considerações Especiais de Compilação do &CVS; -No caso de você usar uma imagem do &tdevelop; do &CVS;, os passos de compilação iniciais dependem se você fez um 'checkout' completo ou se apenas actualizou o código. +No caso de você usar uma imagem do &tdevelop; do &CVS;, os passos de compilação iniciais dependem se você fez um 'checkout' completo ou se apenas actualizou o código. -Após um 'Checkout' de CVS +Após um 'Checkout' de CVS -Você deverá inicializar o sistema de compilação depois de um 'checkout' completo. O mesmo se aplica de cada vez que você inicia a extracção do zero. Escreva: - -~/codigo_kde3/tdevelop> make -f admin/Makefile.common cvs-clean -e depois todos os passos a seguir. -Você poderá necessitar de acesso ao repositório do &CVS; para a limpeza, se alguns ficheiros corrompidos ou em falta precisarem de ser reconstruídos. -O comando cvs-clean irá remover todos os ficheiros que não pertençam ao &CVS; na directoria! Certifique-se que salvaguarda todas as informações valiosas, antes de executar este comando de limpeza. +Você deverá inicializar o sistema de compilação depois de um 'checkout' completo. O mesmo se aplica de cada vez que você inicia a extracção do zero. Escreva: + +~/codigo_kde3/tdevelop> make -f admin/Makefile.common cvs-clean +e depois todos os passos a seguir. +Você poderá necessitar de acesso ao repositório do &CVS; para a limpeza, se alguns ficheiros corrompidos ou em falta precisarem de ser reconstruídos. +O comando cvs-clean irá remover todos os ficheiros que não pertençam ao &CVS; na directoria! Certifique-se que salvaguarda todas as informações valiosas, antes de executar este comando de limpeza. -Após uma Actualização do CVS +Após uma Actualização do CVS -O próximo passo depende do resultado da sequência de actualização do &CVS;. Se você obteve algo do género do que se segue (repare na marca U ou P à esquerda, o que indica que o ficheiro foi alterado): +O próximo passo depende do resultado da sequência de actualização do &CVS;. Se você obteve algo do género do que se segue (repare na marca U ou P à esquerda, o que indica que o ficheiro foi alterado): -U /uma_directoria_qualquer/Makefile.am +U /uma_directoria_qualquer/Makefile.am -ou se você fez uma extracção completa, você precisa de fazer: -~/codigo_kde3/tdevelop> make -f Makefile.cvs -antes de prosseguir com todos os passos a seguir. +ou se você fez uma extracção completa, você precisa de fazer: +~/codigo_kde3/tdevelop> make -f Makefile.cvs +antes de prosseguir com todos os passos a seguir. - + -Sequência Básica de Comandos do <command ->make</command -> - -Logo que o sistema básico do 'make' tenha sido configurado desta forma, você precisa de decidir o tipo de sistema do &tdevelop; que você deseja usar. Isto é feito com o seguinte passo do 'configure' que compila a Makefile real que o comando make irá usar. - -Você poderá ignorar a opção das seguintes linhas de comando do configure se você quiser que o &tdevelop; seja instalado na directoria predefinida do &kde;. Veja o capítulo com Algumas notas sobre as opções do configure para saber mais sobre o assunto. +Sequência Básica de Comandos do <command>make</command> + +Logo que o sistema básico do 'make' tenha sido configurado desta forma, você precisa de decidir o tipo de sistema do &tdevelop; que você deseja usar. Isto é feito com o seguinte passo do 'configure' que compila a Makefile real que o comando make irá usar. + +Você poderá ignorar a opção das seguintes linhas de comando do configure se você quiser que o &tdevelop; seja instalado na directoria predefinida do &kde;. Veja o capítulo com Algumas notas sobre as opções do configure para saber mais sobre o assunto. -Uma Versão Compilada com Depuração +Uma Versão Compilada com Depuração -Se você quiser manter um registo do que a sua aplicação &tdevelop; faz durante a sua execução, poderá criar uma versão compilada com informações de depuração. Basta correr o comando configure para o fazer: - -~/codigo_kde3/tdevelop> ./configure --enable-debug=full --prefix=(onde-está-o-seu-kde3) +Se você quiser manter um registo do que a sua aplicação &tdevelop; faz durante a sua execução, poderá criar uma versão compilada com informações de depuração. Basta correr o comando configure para o fazer: + +~/codigo_kde3/tdevelop> ./configure --enable-debug=full --prefix=(onde-está-o-seu-kde3) -Uma Versão Compilada para Produção +Uma Versão Compilada para Produção -Se você só quiser usar o &tdevelop; tal-como-está (mais pequeno e mais rápido) basta a versão para produção. O configure fica deste modo da seguinte forma. - -~/codigo_kde3/tdevelop> ./configure --prefix=(onde-está-o-seu-kde3) +Se você só quiser usar o &tdevelop; tal-como-está (mais pequeno e mais rápido) basta a versão para produção. O configure fica deste modo da seguinte forma. + +~/codigo_kde3/tdevelop> ./configure --prefix=(onde-está-o-seu-kde3) -Se você quiser criar a sua própria documentação da API para o &tdevelop;, você precisa de incluir ainda mais outra opção do comando configure: - - ~/codigo_kde3/tdevelop> ./configure --(opções-acima) \ --with-tdelibsdoxy-dir=$TDEDIR/share/doc/HTML/en/tdelibs-apidocs - +Se você quiser criar a sua própria documentação da API para o &tdevelop;, você precisa de incluir ainda mais outra opção do comando configure: + + ~/codigo_kde3/tdevelop> ./configure --(opções-acima) \ --with-tdelibsdoxy-dir=$TDEDIR/share/doc/HTML/en/tdelibs-apidocs + -Compilar e Instalar o &tdevelop; +Compilar e Instalar o &tdevelop; -O configure irá verificar o sistema e criar uma Makefile de acordo com o que encontrou. O comando make irá usar esta Makefile por omissão. Deste modo, o - -~/codigo_kde3/tdevelop> make -será suficiente. Se necessário, obtenha agora permissões de 'root' se fizer -~/codigo_kde3/tdevelop> su -e indique a senha do 'root'. Instale então agora a aplicação: -~/codigo_kde3/tdevelop> make install -E foi tudo. Se você instalou o &tdevelop; na directoria por omissão do &kde;, você poderá agora correr o IDE. Caso contrário, serão necessários alguns passos adicionais como é demonstrado na secção Directoria de instalação personalizada em baixo. +O configure irá verificar o sistema e criar uma Makefile de acordo com o que encontrou. O comando make irá usar esta Makefile por omissão. Deste modo, o + +~/codigo_kde3/tdevelop> make +será suficiente. Se necessário, obtenha agora permissões de 'root' se fizer +~/codigo_kde3/tdevelop> su +e indique a senha do 'root'. Instale então agora a aplicação: +~/codigo_kde3/tdevelop> make install +E foi tudo. Se você instalou o &tdevelop; na directoria por omissão do &kde;, você poderá agora correr o IDE. Caso contrário, serão necessários alguns passos adicionais como é demonstrado na secção Directoria de instalação personalizada em baixo. - De facto, já terão sido instaladas normalmente três aplicações baseadas no &tdevelop;: + De facto, já terão sido instaladas normalmente três aplicações baseadas no &tdevelop;: - O IDE do &tdevelop; — este é o local onde você normalmente irá trabalhar. - O navegador de documentação do Assistente do &tdevelop; autónomo — isola todas as funcionalidades poderosas de documentação do IDE &tdevelop; numa ferramenta separada. Isto pode ser útil quando desejar procurar por alguma documentação de programação mas não queira iniciar o IDE por completo. - O Desenhador do &tdevelop; — aumenta o &Qt; User Interface Designer, adicionando os elementos específicos do &kde; e integra-se bem no IDE &tdevelop;. + O IDE do &tdevelop; — este é o local onde você normalmente irá trabalhar. + O navegador de documentação do Assistente do &tdevelop; autónomo — isola todas as funcionalidades poderosas de documentação do IDE &tdevelop; numa ferramenta separada. Isto pode ser útil quando desejar procurar por alguma documentação de programação mas não queira iniciar o IDE por completo. + O Desenhador do &tdevelop; — aumenta o &Qt; User Interface Designer, adicionando os elementos específicos do &kde; e integra-se bem no IDE &tdevelop;. @@ -974,315 +397,105 @@ - - + + -Algumas Notas sobre as Opções do <command ->configure</command -> +Algumas Notas sobre as Opções do <command>configure</command> -Directoria de Instalação Personalizada +Directoria de Instalação Personalizada - &tdevelop; - instalação - directoria personalizada + &tdevelop; + instalação + directoria personalizada - directoria personalizada + directoria personalizada - TDEDIRS + TDEDIRS - tdebuildsycoca - -Por omissão, o configure prepara o IDE para ser instalado na directoria predefinida do &kde;. Isto é necessário porque o &tdevelop; assume o acesso directo a algumas ferramentas e componentes que se encontram aí. Se você quiser usar a sua própria directoria de instalação, você terá de dizer isso ao configure com a opção : -~/codigo_kde3/tdevelop> ./configure --prefix=(onde-está-o-seu-kde3) -Existe uma contrapartida se o fizer. Você precisa de arranjar uma forma de o &tdevelop; aceder às ferramentas e componentes necessários na directoria do &kde;. (Você poderá à mesma usar o IDE sem o fazer, mas terá as capacidades bastante restritas). -Invoque uma linha de comandos e execute os seguintes comandos antes de iniciar o &tdevelop; na linha de comandos. - -Tenha cuidado em usar o plural: É o TDEDIRS, não apenas o TDEDIR) - - - (a-sua-directoria-do-tdevelop)> export TDEDIRS=/usr/local/kde:/opt/kde3 - ~> tdebuildsycoca - (Agora inicie o &tdevelop;:) - ~> tdevelop - - - - A variável de ambiente TDEDIRS precisa de apontar para a lista de directorias activas do &kde; do seu sistema. É usado - /usr/local/kde:/opt/kde3 - apenas como exemplo. - A directoria /usr/local/kde poderá, por exemplo, conter uma versão incompleta do &kde; que você tenha compilado para fins de depuração e a /opt/kde3 poderá, por sua vez, conter a versão normal do &kde; para a sua distribuição usada no dia-a-dia. - - -Numa linha de comandos 'tcsh' você precisa de definir as variáveis de ambiente usando: -~> setenv TDEDIRS /usr/local/kde:/opt/kde3 -O comando tdebuildsycoca (build system control cache ou construir a 'cache' de controlo do sistema) procura as bibliotecas e coloca em 'cache' a sua localização e versão, para que o &tdevelop; possa então encontrá-las. A contrapartida é que leva bastante tempo — e tem de ser corrida sempre que você você invoque a linha de comandos para iniciar o &tdevelop; a partir de uma directoria não-predefinida. Você poderá querer colocar os comandos acima num 'script' para reduzir o esforço de escrita. -(Você poderá também colocar as mesmas linhas no seu .bashrc ou .cshrc, mas isso não é aconselhável, dado que o tdebuildsycoca irá então ser executado sempre que você chamar a linha de comandos). - -O comando tdebuildsycoca não se executa a partir da raiz. Você terá de o invocar com um utilizador que não o 'root'. (Mas não é uma boa ideia, de qualquer forma, programar com o utilizador 'root'!) - + tdebuildsycoca + +Por omissão, o configure prepara o IDE para ser instalado na directoria predefinida do &kde;. Isto é necessário porque o &tdevelop; assume o acesso directo a algumas ferramentas e componentes que se encontram aí. Se você quiser usar a sua própria directoria de instalação, você terá de dizer isso ao configure com a opção : +~/codigo_kde3/tdevelop> ./configure --prefix=(onde-está-o-seu-kde3) +Existe uma contrapartida se o fizer. Você precisa de arranjar uma forma de o &tdevelop; aceder às ferramentas e componentes necessários na directoria do &kde;. (Você poderá à mesma usar o IDE sem o fazer, mas terá as capacidades bastante restritas). +Invoque uma linha de comandos e execute os seguintes comandos antes de iniciar o &tdevelop; na linha de comandos. + +Tenha cuidado em usar o plural: É o TDEDIRS, não apenas o TDEDIR) + + + (a-sua-directoria-do-tdevelop)> export TDEDIRS=/usr/local/kde:/opt/kde3 + ~> tdebuildsycoca + (Agora inicie o &tdevelop;:) + ~> tdevelop + + + + A variável de ambiente TDEDIRS precisa de apontar para a lista de directorias activas do &kde; do seu sistema. É usado + /usr/local/kde:/opt/kde3 + apenas como exemplo. + A directoria /usr/local/kde poderá, por exemplo, conter uma versão incompleta do &kde; que você tenha compilado para fins de depuração e a /opt/kde3 poderá, por sua vez, conter a versão normal do &kde; para a sua distribuição usada no dia-a-dia. + + +Numa linha de comandos 'tcsh' você precisa de definir as variáveis de ambiente usando: +~> setenv TDEDIRS /usr/local/kde:/opt/kde3 +O comando tdebuildsycoca (build system control cache ou construir a 'cache' de controlo do sistema) procura as bibliotecas e coloca em 'cache' a sua localização e versão, para que o &tdevelop; possa então encontrá-las. A contrapartida é que leva bastante tempo — e tem de ser corrida sempre que você você invoque a linha de comandos para iniciar o &tdevelop; a partir de uma directoria não-predefinida. Você poderá querer colocar os comandos acima num 'script' para reduzir o esforço de escrita. +(Você poderá também colocar as mesmas linhas no seu .bashrc ou .cshrc, mas isso não é aconselhável, dado que o tdebuildsycoca irá então ser executado sempre que você chamar a linha de comandos). + +O comando tdebuildsycoca não se executa a partir da raiz. Você terá de o invocar com um utilizador que não o 'root'. (Mas não é uma boa ideia, de qualquer forma, programar com o utilizador 'root'!) + - + - + -Como Obter a Documentação da API do &tdevelop; +Como Obter a Documentação da API do &tdevelop; - API - &tdevelop; + API + &tdevelop; - &tdevelop; - API + &tdevelop; + API - compilação - &tdevelop; - API + compilação + &tdevelop; + API - configure - API do &tdevelop; - -API é a abreviatura de Application Program Interface ou Interface de Programação de Aplicações. De facto, uma interface de programação desse tipo é um conjunto de descrições (&ie;, convenções de chamadas) pelas quais uma aplicação acede ao sistema operativo ou a outros serviços. No nosso contexto, todavia, foi adoptada uma definição mais abrangente. A API de uma aplicação do &kde; ou do &Qt; é um resumo das interfaces das classes e dos métodos, uma sinopse a ser usada como um dicionário para navegar pelo código. -Existe uma versão da API mais actual disponível na página Web do KDevelop. Ele será actualizado automaticamente a cada 24 horas, para que você se possa manter a par. -Bem, esta versão poderá ser usada apenas para leitura na Internet. Mas, de qualquer forma, você poderá criar também a sua própria documentação da API a partir do código do &tdevelop;. Para o fazer, você precisa de dizer ao sistema do 'automake' onde encontrar a API das KDELIBS no seu sistema. Isto é feito com a opção no comando configure:, quando se preparar para compilar o código do &tdevelop;: - - - ~/codigo_kde/tdevelop> ./configure --(opções-normais) \ + configure + API do &tdevelop; + +API é a abreviatura de Application Program Interface ou Interface de Programação de Aplicações. De facto, uma interface de programação desse tipo é um conjunto de descrições (&ie;, convenções de chamadas) pelas quais uma aplicação acede ao sistema operativo ou a outros serviços. No nosso contexto, todavia, foi adoptada uma definição mais abrangente. A API de uma aplicação do &kde; ou do &Qt; é um resumo das interfaces das classes e dos métodos, uma sinopse a ser usada como um dicionário para navegar pelo código. +Existe uma versão da API mais actual disponível na página Web do KDevelop. Ele será actualizado automaticamente a cada 24 horas, para que você se possa manter a par. +Bem, esta versão poderá ser usada apenas para leitura na Internet. Mas, de qualquer forma, você poderá criar também a sua própria documentação da API a partir do código do &tdevelop;. Para o fazer, você precisa de dizer ao sistema do 'automake' onde encontrar a API das KDELIBS no seu sistema. Isto é feito com a opção no comando configure:, quando se preparar para compilar o código do &tdevelop;: + + + ~/codigo_kde/tdevelop> ./configure --(opções-normais) \ - --with-tdelibsdoxy-dir=$TDEDIR/share/doc/HTML/en/tdelibs-apidocs + --with-tdelibsdoxy-dir=$TDEDIR/share/doc/HTML/en/tdelibs-apidocs - - -(o make irá substituir o $TDEDIR pela sua directoria real do &kde;). Depois disso, execute um comando make normal. Depois de o IDE do &tdevelop; ter sido criado, você terá a opção para criar a API também. Para isso, você terá de executar -~/codigo_kde3/tdevelop> make apidocs - -Isto irá criar um ficheiro Doxyfile na sua directoria de base do &tdevelop; que irá, por sua vez, ser processado pela aplicação DOxygen para criar um conjunto grande de ficheiros .html com a API. Quando o processo relativamente longo de criação da API chegar finalmente ao fim, você terá de instalar a API tal como se fosse instalar o IDE &tdevelop; em si. Obtenha as permissões de super-utilizador, se necessário, - -~/codigo_kde3/tdevelop> su - -e indique a senha do 'root'. Instale então os ficheiros da API: - -~/codigo_kde3/tdevelop> make install-apidox - -Quando isto tiver sido feito, o make informá-lo-á sobre a directoria onde você poderá finalmente ver o conteúdo da documentação da API. Lembre-se deste endereço, dado que o poderá usar tanto no &konqueror; como dentro do &tdevelop;, no caso de você ter configurado o código do &tdevelop; como um projecto sobre o qual trabalhar. - -Você irá ver provavelmente um grande conjunto de mensagens de aviso e/ou erro durante a criação da API executada pelo Doxygen. É melhor ignorá-las, dado que são apenas do interesse dos programadores do &tdevelop;. Se a geração da API chegar alguma vez ao fim com sucesso, os ficheiros da API em .html serão válidos. - - - - + + +(o make irá substituir o $TDEDIR pela sua directoria real do &kde;). Depois disso, execute um comando make normal. Depois de o IDE do &tdevelop; ter sido criado, você terá a opção para criar a API também. Para isso, você terá de executar +~/codigo_kde3/tdevelop> make apidocs + +Isto irá criar um ficheiro Doxyfile na sua directoria de base do &tdevelop; que irá, por sua vez, ser processado pela aplicação DOxygen para criar um conjunto grande de ficheiros .html com a API. Quando o processo relativamente longo de criação da API chegar finalmente ao fim, você terá de instalar a API tal como se fosse instalar o IDE &tdevelop; em si. Obtenha as permissões de super-utilizador, se necessário, + +~/codigo_kde3/tdevelop> su + +e indique a senha do 'root'. Instale então os ficheiros da API: + +~/codigo_kde3/tdevelop> make install-apidox + +Quando isto tiver sido feito, o make informá-lo-á sobre a directoria onde você poderá finalmente ver o conteúdo da documentação da API. Lembre-se deste endereço, dado que o poderá usar tanto no &konqueror; como dentro do &tdevelop;, no caso de você ter configurado o código do &tdevelop; como um projecto sobre o qual trabalhar. + +Você irá ver provavelmente um grande conjunto de mensagens de aviso e/ou erro durante a criação da API executada pelo Doxygen. É melhor ignorá-las, dado que são apenas do interesse dos programadores do &tdevelop;. Se a geração da API chegar alguma vez ao fim com sucesso, os ficheiros da API em .html serão válidos. + + + + diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/tdevelop-scripting.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/tdevelop-scripting.docbook index e9e9fc1841b..75e948638ec 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/tdevelop-scripting.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/tdevelop-scripting.docbook @@ -2,71 +2,45 @@ - IanGeiser + IanGeiser -Usar 'Scripts' no KDevelop +Usar 'Scripts' no KDevelop -Executar os 'Scripts' -Para aceder a um 'script' que esteja disponível ao &tdevelop;, use o menu Ferramentas'Scripts'. Se não existir esse menu, então não estão nenhuns 'scripts' disponíveis no KDevelop. +Executar os 'Scripts' +Para aceder a um 'script' que esteja disponível ao &tdevelop;, use o menu Ferramentas'Scripts'. Se não existir esse menu, então não estão nenhuns 'scripts' disponíveis no KDevelop. -Adicionar 'Scripts' -Logo que tenha adicionado o suporte do KScript à sua aplicação anfitriã, a adição dos 'scripts' é igualmente simples. Os programas são compostos em duas partes, um ficheiro 'desktop' que contém os meta-dados sobre o programa e o programa em si. Esta aproximação foi usada devido à segurança e à simplicidade. O ficheiro 'desktop' oferece meta-dados para os menus e para o tipo de programa. Isto evita que a aplicação-anfitriã tenha de inspeccionar cada um dos programas. Um exemplo desse ficheiro é mostrado abaixo: -O exemplo acima demonstra as partes principais que o KScript irá procurar. O primeiro item, o "Name", é o nome que irá aparecer ao utilizador na aplicação-anfitriã e o "Comment" será mostrado normalmente como uma dica. O "Type" é o mais importante. Este é usado para seleccionar o motor de 'scripts' adequado para executar o programa. De momento, os tipos disponíveis para o KDE são o "ShellScript/bash" e o "JavaScript/kjs". O próximo passo é criar o programa em si. Para o exemplo acima, o tipo de programa usado é o "ShellScript/bash". O motor de 'scripts' 'shellscript' oferece algumas coisas para o programador. O primeiro elemento é o ID de DCOP da aplicação anfitriã. Este é passado ao programa como primeiro argumento. Isto significa que, em todo o lado no programa, o valor de "$1" irá devolver o ID de DCOP do anfitrião. É mostrado um exemplo de programa abaixo: +Adicionar 'Scripts' +Logo que tenha adicionado o suporte do KScript à sua aplicação anfitriã, a adição dos 'scripts' é igualmente simples. Os programas são compostos em duas partes, um ficheiro 'desktop' que contém os meta-dados sobre o programa e o programa em si. Esta aproximação foi usada devido à segurança e à simplicidade. O ficheiro 'desktop' oferece meta-dados para os menus e para o tipo de programa. Isto evita que a aplicação-anfitriã tenha de inspeccionar cada um dos programas. Um exemplo desse ficheiro é mostrado abaixo: +O exemplo acima demonstra as partes principais que o KScript irá procurar. O primeiro item, o "Name", é o nome que irá aparecer ao utilizador na aplicação-anfitriã e o "Comment" será mostrado normalmente como uma dica. O "Type" é o mais importante. Este é usado para seleccionar o motor de 'scripts' adequado para executar o programa. De momento, os tipos disponíveis para o KDE são o "ShellScript/bash" e o "JavaScript/kjs". O próximo passo é criar o programa em si. Para o exemplo acima, o tipo de programa usado é o "ShellScript/bash". O motor de 'scripts' 'shellscript' oferece algumas coisas para o programador. O primeiro elemento é o ID de DCOP da aplicação anfitriã. Este é passado ao programa como primeiro argumento. Isto significa que, em todo o lado no programa, o valor de "$1" irá devolver o ID de DCOP do anfitrião. É mostrado um exemplo de programa abaixo: -Este programa é bastante simples e apenas executa um comando, passando o texto do primeiro documento ao resultado do "ls -l" +Este programa é bastante simples e apenas executa um comando, passando o texto do primeiro documento ao resultado do "ls -l" -Uma das ferramentas mais úteis ao desenvolver programas para as aplicações é a aplicação KDCOP. +Uma das ferramentas mais úteis ao desenvolver programas para as aplicações é a aplicação KDCOP.
- KDCOP - Navegar nas Interface de DCOP no &tdevelop; + KDCOP - Navegar nas Interface de DCOP no &tdevelop; - +
-A ferramenta KDCOP permite aos programadores dos 'scripts' navegarem e depurar as interfaces actuais da aplicação anfitriã. O KDCOP também oferece uma funcionalidade gira que permite aos utilizadores seleccionar um método e arrastar o código actual para o seu editor de texto. Isto simplifica a utilização para as pessoas que não conheçam os métodos de DCOP da linguagem de desenvolvimento. De momento, o KDCOP suporta o KJSEmbed, o Python, e a UNIX Shell para aceder ao DCOP. +A ferramenta KDCOP permite aos programadores dos 'scripts' navegarem e depurar as interfaces actuais da aplicação anfitriã. O KDCOP também oferece uma funcionalidade gira que permite aos utilizadores seleccionar um método e arrastar o código actual para o seu editor de texto. Isto simplifica a utilização para as pessoas que não conheçam os métodos de DCOP da linguagem de desenvolvimento. De momento, o KDCOP suporta o KJSEmbed, o Python, e a UNIX Shell para aceder ao DCOP. -Logo que o 'script' esteja completo, está pronto a ser instalado. Os programadores das aplicações deverão documentar a localização que será percorrida à procura destes programas. No caso do exemplo anterior do Kate, os programa estão localizados em "$TDEDIRS/share/apps/kate/scripts". +Logo que o 'script' esteja completo, está pronto a ser instalado. Os programadores das aplicações deverão documentar a localização que será percorrida à procura destes programas. No caso do exemplo anterior do Kate, os programa estão localizados em "$TDEDIRS/share/apps/kate/scripts".
- 'Scripts' do &tdevelop; no Sistema de Ficheiros + 'Scripts' do &tdevelop; no Sistema de Ficheiros - +
-O ficheiro 'desktop' do programa, bem como o programa associado, deverão estar na mesma pasta. Para os programadores do 'script', também se recomenda que todos os recursos dos outros programas, como os ficheiros UI ou os ficheiros de dados, deverão estar também na pasta de programas. No exemplo acima, o programa irá aparecer no menu "Ferramentas->'Scripts' do KDE". Uma coisa importante para os programadores de 'scripts' repararem é que não deverão executar operações que possam bloquear durante bastante tempo ou entrar num ciclo de eventos. Isto deve-se ao facto de a versão actual da interface de 'scripts' estar vocacionada para as tarefas automatizadas que executem até terminar. Isto está a ser pensado e extendido para o KDE 4. +O ficheiro 'desktop' do programa, bem como o programa associado, deverão estar na mesma pasta. Para os programadores do 'script', também se recomenda que todos os recursos dos outros programas, como os ficheiros UI ou os ficheiros de dados, deverão estar também na pasta de programas. No exemplo acima, o programa irá aparecer no menu "Ferramentas->'Scripts' do KDE". Uma coisa importante para os programadores de 'scripts' repararem é que não deverão executar operações que possam bloquear durante bastante tempo ou entrar num ciclo de eventos. Isto deve-se ao facto de a versão actual da interface de 'scripts' estar vocacionada para as tarefas automatizadas que executem até terminar. Isto está a ser pensado e extendido para o KDE 4.
diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/tdevelop-survey.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/tdevelop-survey.docbook index 575935943fd..ed756985929 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/tdevelop-survey.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/tdevelop-survey.docbook @@ -2,217 +2,94 @@ - BerndPol + BerndPol -Introdução às Funcionalidades do &tdevelop; +Introdução às Funcionalidades do &tdevelop; - &tdevelop; - introdução + &tdevelop; + introdução - vista geral + vista geral - introdução - -O &tdevelop; integra um conjunto de ferramentas, programas e modelos numa interface de utilizador comum. Basicamente, consiste em - vários modos de interface de utilizador com os quais você poderá seleccionar a aparência e comportamento do espaço de trabalho, - um &appwizard; que o ajuda a configurar um novo projecto, - vários sistemas de gestão de projectos que o ajudam a compilar e a gerir o seu projecto, - algumas ferramentas de edição para trabalhar nos textos do seu programa - vários navegadores de ficheiros que lhe oferecem várias vistas sobre o seu sistema de ficheiros, - vários navegadores de classes para o ajudarem a gerir as classes e as suas relações entre si no seu projecto de programação orientada por objectos, - uma interface para o depurador para procurar e remover os erros do programa dentro do &tdevelop;, e - várias ferramentas em 'plugins', ou seja, módulos extensíveis que podem ser carregados durante a execução e a pedido. Isto permite-lhe activar apenas as funcionalidades que você realmente necessita. - um conjunto de outras ferramentas auxiliares de diagnóstico, documentação e optimização. + introdução + +O &tdevelop; integra um conjunto de ferramentas, programas e modelos numa interface de utilizador comum. Basicamente, consiste em + vários modos de interface de utilizador com os quais você poderá seleccionar a aparência e comportamento do espaço de trabalho, + um &appwizard; que o ajuda a configurar um novo projecto, + vários sistemas de gestão de projectos que o ajudam a compilar e a gerir o seu projecto, + algumas ferramentas de edição para trabalhar nos textos do seu programa + vários navegadores de ficheiros que lhe oferecem várias vistas sobre o seu sistema de ficheiros, + vários navegadores de classes para o ajudarem a gerir as classes e as suas relações entre si no seu projecto de programação orientada por objectos, + uma interface para o depurador para procurar e remover os erros do programa dentro do &tdevelop;, e + várias ferramentas em 'plugins', ou seja, módulos extensíveis que podem ser carregados durante a execução e a pedido. Isto permite-lhe activar apenas as funcionalidades que você realmente necessita. + um conjunto de outras ferramentas auxiliares de diagnóstico, documentação e optimização. - De facto existem três aplicações baseadas no &tdevelop;: + De facto existem três aplicações baseadas no &tdevelop;: - O IDE do &tdevelop; — este é o local onde você normalmente irá trabalhar. - O navegador de documentação do Assistente do &tdevelop; autónomo — isola todas as funcionalidades poderosas de documentação do IDE &tdevelop; numa ferramenta separada. Isto pode ser útil quando desejar procurar por alguma documentação de programação mas não queira iniciar o IDE por completo. - O Desenhador do &tdevelop; — aumenta o &Qt; User Interface Designer, adicionando os elementos específicos do &kde; e integra-se bem no IDE &tdevelop;. + O IDE do &tdevelop; — este é o local onde você normalmente irá trabalhar. + O navegador de documentação do Assistente do &tdevelop; autónomo — isola todas as funcionalidades poderosas de documentação do IDE &tdevelop; numa ferramenta separada. Isto pode ser útil quando desejar procurar por alguma documentação de programação mas não queira iniciar o IDE por completo. + O Desenhador do &tdevelop; — aumenta o &Qt; User Interface Designer, adicionando os elementos específicos do &kde; e integra-se bem no IDE &tdevelop;. -Modos de Interface do Utilizador Disponíveis +Modos de Interface do Utilizador Disponíveis - &tdevelop; - modos de interface do utilizador + &tdevelop; + modos de interface do utilizador - interface do utilizador - modos do &tdevelop; + interface do utilizador + modos do &tdevelop; - Modos de interface + Modos de interface - Janelas-Filhas + Janelas-Filhas - Janelas em Páginas + Janelas em Páginas - Janelas de Topo + Janelas de Topo - IDEAl - -O &tdevelop; oferece aos programadores quatro modos de interface do utilizador (carregue no nome do modo para ver um exemplo): - IDEAl - Esta é uma nova aproximação de interfaces de utilizador que optimiza tanto o espaço de trabalho como a actuação intuitiva sobre as ferramentas. + IDEAl + +O &tdevelop; oferece aos programadores quatro modos de interface do utilizador (carregue no nome do modo para ver um exemplo): + IDEAl + Esta é uma nova aproximação de interfaces de utilizador que optimiza tanto o espaço de trabalho como a actuação intuitiva sobre as ferramentas. - Todas as janelas de ferramentas estão acopladas numa disposição em páginas à volta da área da janela principal. Elas agrupam-se à esquerda, em baixo e à direita, de acordo com os serviços fornecidos. - As janelas de edição e de navegação estarão empilhadas numa grande janela de páginas a meio da área da janela principal. + Todas as janelas de ferramentas estão acopladas numa disposição em páginas à volta da área da janela principal. Elas agrupam-se à esquerda, em baixo e à direita, de acordo com os serviços fornecidos. + As janelas de edição e de navegação estarão empilhadas numa grande janela de páginas a meio da área da janela principal. - Janelas-Filhas + Janelas-Filhas - Todas as janelas de ferramentas estão inicialmente acopladas à janela principal. - As janelas de edição e de navegação irão existir como janelas de topo dentro de uma área de visualização da janela principal. + Todas as janelas de ferramentas estão inicialmente acopladas à janela principal. + As janelas de edição e de navegação irão existir como janelas de topo dentro de uma área de visualização da janela principal. - Janelas em Páginas + Janelas em Páginas - Todas as janelas de ferramentas estão inicialmente acopladas à janela principal. - As janelas de edição e de navegação irão estar empilhadas numa janela com várias páginas separadas. + Todas as janelas de ferramentas estão inicialmente acopladas à janela principal. + As janelas de edição e de navegação irão estar empilhadas numa janela com várias páginas separadas. - Janelas de Topo + Janelas de Topo - Todas as janelas de edição, navegação e de ferramentas serão janelas de topo directamente no ecrã. - A janela principal só irá conter o menu, as barras de ferramentas e a barra de estado. + Todas as janelas de edição, navegação e de ferramentas serão janelas de topo directamente no ecrã. + A janela principal só irá conter o menu, as barras de ferramentas e a barra de estado. @@ -220,521 +97,245 @@ -Como Mudar de Modos de Interface do Utilizador: +Como Mudar de Modos de Interface do Utilizador: - interface do utilizador - mudar de modos + interface do utilizador + mudar de modos - mudar de modo de interface - -Para mudar o modo da interface do utilizador, seleccione a Configuração Configurar o KDevelop... no menu. A janela para Configurar o KDevelop irá aparecer, onde então terá de seleccionar Interface do Utilizador no campo do lado esquerdo. Isto levá-lo-á à página de configuração mostrada em baixo. + mudar de modo de interface + +Para mudar o modo da interface do utilizador, seleccione a Configuração Configurar o KDevelop... no menu. A janela para Configurar o KDevelop irá aparecer, onde então terá de seleccionar Interface do Utilizador no campo do lado esquerdo. Isto levá-lo-á à página de configuração mostrada em baixo. - Seleccione um modo de interface de utilizador + Seleccione um modo de interface de utilizador -(As versões mais antigas do &tdevelop; oferecem apenas a secção de selecção do modo de topo). +(As versões mais antigas do &tdevelop; oferecem apenas a secção de selecção do modo de topo). -Na secção do Modo Principal de Interface do Utilizador, seleccione a opção exclusiva do modo de interface de utilizador com que deseja trabalhar. -Dependendo do modo de interface de utilizador que seleccionou, as outras secções de configuração ficarão disponíveis, nas quais poderá ajustar mais detalhes da aparência e comportamento às suas preferências. Veja o capítulo sobre como Seleccionar a Interface do Utilizador para mais detalhes. +Na secção do Modo Principal de Interface do Utilizador, seleccione a opção exclusiva do modo de interface de utilizador com que deseja trabalhar. +Dependendo do modo de interface de utilizador que seleccionou, as outras secções de configuração ficarão disponíveis, nas quais poderá ajustar mais detalhes da aparência e comportamento às suas preferências. Veja o capítulo sobre como Seleccionar a Interface do Utilizador para mais detalhes. -Não se esqueça de reiniciar o &tdevelop; para que as suas selecções façam efeito. +Não se esqueça de reiniciar o &tdevelop; para que as suas selecções façam efeito. - + -Como Maximizar a Área do Espaço de Trabalho +Como Maximizar a Área do Espaço de Trabalho - &tdevelop; - espaço de trabalho + &tdevelop; + espaço de trabalho - &tdevelop; - maximizar o espaço de trabalho + &tdevelop; + maximizar o espaço de trabalho - interface do utilizador - espaço de trabalho + interface do utilizador + espaço de trabalho - interface do utilizador - barra de menu + interface do utilizador + barra de menu - interface do utilizador - modo de ecrã completo + interface do utilizador + modo de ecrã completo - modo de ecrã completo + modo de ecrã completo - barra de menu - esconder/mostrar + barra de menu + esconder/mostrar - esconder a barra de menu + esconder a barra de menu - mostrar a barra de menu + mostrar a barra de menu -Para maximizar o espaço, existe um modo de janelas de ecrã completo que expande a área da janela principal até aos extremos do ecrã. O espaço adicional poderá ser reclamado de volta se esconder a barra de menu. E, claro, você poderá esconder qualquer barra de ferramentas como é normal nas aplicações do KDE. +Para maximizar o espaço, existe um modo de janelas de ecrã completo que expande a área da janela principal até aos extremos do ecrã. O espaço adicional poderá ser reclamado de volta se esconder a barra de menu. E, claro, você poderá esconder qualquer barra de ferramentas como é normal nas aplicações do KDE. -Modo de Ecrã Completo +Modo de Ecrã Completo -Para mudar de ou para o modo de ecrã completo seleccione Ver Modo de Ecrã Completo no menu ou carregue em &Ctrl;&Shift;F. Existe também um ícone Modo de Ecrã Completo na Barra de Navegação. +Para mudar de ou para o modo de ecrã completo seleccione Ver Modo de Ecrã Completo no menu ou carregue em &Ctrl;&Shift;F. Existe também um ícone Modo de Ecrã Completo na Barra de Navegação. -Esconder/Mostrar o Menu +Esconder/Mostrar o Menu -Para esconder o menu seleccione Configuração Mostrar o Menu nas opções de menu ou carregue em &Ctrl;M . Você poderá também incluir um Mostrar o Menu numa barra de ferramentas adequada, p.ex., na Barra de Navegação para esse fim. Para voltar a mostrar o menu você precisa de carregar em &Ctrl;M ou de usar o ícone Mostrar o Menu, se estiver disponível. +Para esconder o menu seleccione Configuração Mostrar o Menu nas opções de menu ou carregue em &Ctrl;M . Você poderá também incluir um Mostrar o Menu numa barra de ferramentas adequada, p.ex., na Barra de Navegação para esse fim. Para voltar a mostrar o menu você precisa de carregar em &Ctrl;M ou de usar o ícone Mostrar o Menu, se estiver disponível. - + - + -Elementos da Interface do Utilizador +Elementos da Interface do Utilizador -(... ainda não escrito ...) +(... ainda não escrito ...) -A Área de Trabalho +A Área de Trabalho -(... ainda não escrito ...) - +(... ainda não escrito ...) + -A Barra de Título do &tdevelop; +A Barra de Título do &tdevelop; -(... ainda não escrito ...) - +(... ainda não escrito ...) + -A Barra de Estado do &tdevelop; +A Barra de Estado do &tdevelop; -(... ainda não escrito ...) - +(... ainda não escrito ...) + -A barra de menu +A barra de menu -(... ainda não escrito ...) - +(... ainda não escrito ...) + -As Barras de Ferramentas +As Barras de Ferramentas -(... ainda não escrito ...) - +(... ainda não escrito ...) + -As Janelas em Árvore +As Janelas em Árvore -(... ainda não escrito ...) - +(... ainda não escrito ...) + -As Janelas dos Resultados das Ferramentas +As Janelas dos Resultados das Ferramentas -(... ainda não escrito ...) - +(... ainda não escrito ...) + - + -Sistemas de Gestão de Projectos +Sistemas de Gestão de Projectos - gestão de projectos - -Globalmente, um projecto basear-se-á num sistema de gestão de projecto qualquer. O &tdevelop; oferece quatro sistemas de gestão de projectos que o programador poderá seleccionar ao criar um novo projecto. - Os projectos do Automake usam as ferramentas de desenvolvimento normais da &GNU;. - Os projectos do QMake usam o gestor de projectos QMake da Trolltech. - Os projectos de ANT usam o gestor de projectos ANT do Apache para a programação em &Java;. - Os projectos personalizados necessitam que você faça a gestão das suas próprias Makefiles. + gestão de projectos + +Globalmente, um projecto basear-se-á num sistema de gestão de projecto qualquer. O &tdevelop; oferece quatro sistemas de gestão de projectos que o programador poderá seleccionar ao criar um novo projecto. + Os projectos do Automake usam as ferramentas de desenvolvimento normais da &GNU;. + Os projectos do QMake usam o gestor de projectos QMake da Trolltech. + Os projectos de ANT usam o gestor de projectos ANT do Apache para a programação em &Java;. + Os projectos personalizados necessitam que você faça a gestão das suas próprias Makefiles. -Projectos Automake +Projectos Automake - projectos - automake + projectos + automake - automake - projectos - -Os projectos criados com o &automanag; do &tdevelop; tornam bastante simples a utilização das ferramentas normais da &GNU; para os programadores. Eles possibilitam - uma melhor forma de gerar Makefiles e - uma forma segura e boa de se adaptar facilmente entre vários sistemas de comandos configure gerados pelo Automake. + automake + projectos + +Os projectos criados com o &automanag; do &tdevelop; tornam bastante simples a utilização das ferramentas normais da &GNU; para os programadores. Eles possibilitam + uma melhor forma de gerar Makefiles e + uma forma segura e boa de se adaptar facilmente entre vários sistemas de comandos configure gerados pelo Automake. - + -Projectos QMake +Projectos QMake - projectos - qmake + projectos + qmake - qmake - projectos - -Para os programadores que gostam da flexibilidade e comportamento do sistema QMake do &Qt;, o &tdevelop; oferece a possibilidade de lidar com os projectos baseados em QMake (os ficheiros .pro) na sua interface gráfica. -Para mais informações sobre o gestor de projectos QMake veja o Guia de Utilizador do qmake, que deverá estar incluído na sua distribuição, ou dê uma vista de olhos na página de Documentação da TROLLTECH onde você poderá encontrar a documentação do QMake para a sua versão da Plataforma de Desenvolvimento de Aplicações Gráficas em C++ Qt. - + qmake + projectos + +Para os programadores que gostam da flexibilidade e comportamento do sistema QMake do &Qt;, o &tdevelop; oferece a possibilidade de lidar com os projectos baseados em QMake (os ficheiros .pro) na sua interface gráfica. +Para mais informações sobre o gestor de projectos QMake veja o Guia de Utilizador do qmake, que deverá estar incluído na sua distribuição, ou dê uma vista de olhos na página de Documentação da TROLLTECH onde você poderá encontrar a documentação do QMake para a sua versão da Plataforma de Desenvolvimento de Aplicações Gráficas em C++ Qt. + -Projectos ANT (Projectos em &Java;) +Projectos ANT (Projectos em &Java;) - projectos - ant + projectos + ant - ant - projectos + ant + projectos - projectos - Java + projectos + Java - Java - projectos + Java + projectos - desenvolvimento - Java - -Os programadores em &Java; poderão querer usar o gestor de projectos ANT do projecto Apache para os seus projectos. Para configurar um novo projecto de ANT no &tdevelop; seleccione Projecto Novo Projecto... Java Projecto de Ant Aplicação. -Para mais informações veja a página do Projecto Ant do Apache. - + desenvolvimento + Java + +Os programadores em &Java; poderão querer usar o gestor de projectos ANT do projecto Apache para os seus projectos. Para configurar um novo projecto de ANT no &tdevelop; seleccione Projecto Novo Projecto... Java Projecto de Ant Aplicação. +Para mais informações veja a página do Projecto Ant do Apache. + -Projectos Personalizados +Projectos Personalizados - projectos - personalizado + projectos + personalizado - projectos personalizados + projectos personalizados - Makefile - projectos personalizados - -Se você preferir manter as suas próprias Makefiles para o seu projecto, você poderá usar a opção de projectos personalizados do &tdevelop;. Isto poderá ser adequado para os projectos estruturados de forma anormal ou se deseja ter um controlo absoluto no processo do make. -Todavia, se você não precisa de facto da flexibilidade extra e do controlo do gestor de projectos personalizados, você deverá pensar no Autoproject ou num dos outros gestores de projectos, porque facilitam consideravelmente os processos de compilação e distribuição do programa. - + Makefile + projectos personalizados + +Se você preferir manter as suas próprias Makefiles para o seu projecto, você poderá usar a opção de projectos personalizados do &tdevelop;. Isto poderá ser adequado para os projectos estruturados de forma anormal ou se deseja ter um controlo absoluto no processo do make. +Todavia, se você não precisa de facto da flexibilidade extra e do controlo do gestor de projectos personalizados, você deverá pensar no Autoproject ou num dos outros gestores de projectos, porque facilitam consideravelmente os processos de compilação e distribuição do programa. + -Como Distribuir a sua Aplicação +Como Distribuir a sua Aplicação - distribuição + distribuição - aplicação - distribuição + aplicação + distribuição - pacotes binários - -A distribuição das suas aplicações não necessita que o utilizador final tenha nada de diferente instalado, a não ser - um compilador apropriado, - um editor de ligações, e - as bibliotecas de desenvolvimento apropriadas, + pacotes binários + +A distribuição das suas aplicações não necessita que o utilizador final tenha nada de diferente instalado, a não ser + um compilador apropriado, + um editor de ligações, e + as bibliotecas de desenvolvimento apropriadas, -o que, pelo menos para as aplicações em C++, é normalmente o caso. Mas você pode também distribuir os pacotes binários da sua aplicação. De qualquer forma, o utilizador final do seu produto não precisa do &tdevelop; instalado. -Para fornecer o seu código, aconselhamo-o a incluir também o ficheiro do projecto do &tdevelop;. Isto torna muito simples para os outros programadores — se usarem também o &tdevelop; — poder trabalhar com o seu código. -Para os projectos onde os vários programadores estão envolvidos, talvez trabalhando em sítios diferentes, poderá ser este o caso de qualquer forma. Por isso, você poderá garantir a consistência das Makefiles para não ter problemas. -Especialmente nas aplicações multilingues, os tradutores não irão lidar de facto com o código-fonte, excepto nos casos que necessitem de correcções para permitir o suporte de traduções. - - - - - -
+o que, pelo menos para as aplicações em C++, é normalmente o caso. Mas você pode também distribuir os pacotes binários da sua aplicação. De qualquer forma, o utilizador final do seu produto não precisa do &tdevelop; instalado. +Para fornecer o seu código, aconselhamo-o a incluir também o ficheiro do projecto do &tdevelop;. Isto torna muito simples para os outros programadores — se usarem também o &tdevelop; — poder trabalhar com o seu código. +Para os projectos onde os vários programadores estão envolvidos, talvez trabalhando em sítios diferentes, poderá ser este o caso de qualquer forma. Por isso, você poderá garantir a consistência das Makefiles para não ter problemas. +Especialmente nas aplicações multilingues, os tradutores não irão lidar de facto com o código-fonte, excepto nos casos que necessitem de correcções para permitir o suporte de traduções. + + + + + + diff --git a/tde-i18n-pt/docs/tdevelop/tdevelop/unixdev.docbook b/tde-i18n-pt/docs/tdevelop/tdevelop/unixdev.docbook index 2f7d543bfd0..fd58f349b1d 100644 --- a/tde-i18n-pt/docs/tdevelop/tdevelop/unixdev.docbook +++ b/tde-i18n-pt/docs/tdevelop/tdevelop/unixdev.docbook @@ -2,640 +2,292 @@ - BerndPol + BerndPol -Desenvolvimento em &UNIX; +Desenvolvimento em &UNIX; -desenvolvimento +desenvolvimento - &UNIX; - desenvolvimento + &UNIX; + desenvolvimento -Algumas Notas Históricas - -história -linguagens de 'scripting' +Algumas Notas Históricas + +história +linguagens de 'scripting' - &UNIX; - história + &UNIX; + história - &UNIX; - 'pipe' + &UNIX; + 'pipe' - &UNIX; - linha de comandos + &UNIX; + linha de comandos - 'shell' - &UNIX; - -Desde o início, o &UNIX; tem mantido dois paradigmas de programação bastante diferentes. Um é o mundo das linguagens de programação das aplicações e do sistema, onde algum código-fonte é traduzido para código-máquina por um programa de tradução, normalmente um compilador ou um interpretador. A linguagem de programação C é um exemplo. O &UNIX; foi o primeiro 'kernel' de sistema operativos a ser criado numa dessas linguagens de alto nível, em vez de ser feito em Assembly altamente orientado à máquina, como era feito antes dessa altura. (De facto, a linguagem C foi mesmo inventada para escrever o 'kernel' do &UNIX; e os programas associados num computador PDP-11 da DEC.) -O outro paradigma é o mundo das linguagens de 'scripting'. Este mundo evoluiu com a invenção da linha de comandos do &UNIX;, que era a interface do utilizador com o sistema operativo — e ao mesmo tempo uma linguagem de programação de muito alto nível. Um 'script' da linha de comandos é criado a partir de um conjunto de pequenos programas utilitários, como p.ex. o grep, o sed ou o find. Cada um desses utilitários é desenhado para uma tarefa estritamente definida. O truque é cada utilitário pode ser ligado a outro através de um mecanismo simples de transporte, chamado de pipe, o qual direcciona o resultado do utilitário anterior para o canal de introdução de dados do utilitário a seguir. Isto cria uma ferramenta de programação muito poderosa e altamente flexível. -À medida que o tempo foi evoluindo, também ambos os mundos foram evoluindo. Embora o C ainda seja usado principalmente como uma linguagem de programação de sistemas, o C++, como uma variante do C, enriqueceu com extensões orientadas a objectos e com genericidade e encontrou o seu lugar para o desenvolvimento de aplicações complexas nos anos 90. Existem outras linguagens de programação diversas, e mesmo algumas linguagens mais antigas ainda têm lugar — o FORTRAN77 e o Ada p.ex. ainda têm a sua força nas aplicações numéricas. - + 'shell' + &UNIX; + +Desde o início, o &UNIX; tem mantido dois paradigmas de programação bastante diferentes. Um é o mundo das linguagens de programação das aplicações e do sistema, onde algum código-fonte é traduzido para código-máquina por um programa de tradução, normalmente um compilador ou um interpretador. A linguagem de programação C é um exemplo. O &UNIX; foi o primeiro 'kernel' de sistema operativos a ser criado numa dessas linguagens de alto nível, em vez de ser feito em Assembly altamente orientado à máquina, como era feito antes dessa altura. (De facto, a linguagem C foi mesmo inventada para escrever o 'kernel' do &UNIX; e os programas associados num computador PDP-11 da DEC.) +O outro paradigma é o mundo das linguagens de 'scripting'. Este mundo evoluiu com a invenção da linha de comandos do &UNIX;, que era a interface do utilizador com o sistema operativo — e ao mesmo tempo uma linguagem de programação de muito alto nível. Um 'script' da linha de comandos é criado a partir de um conjunto de pequenos programas utilitários, como p.ex. o grep, o sed ou o find. Cada um desses utilitários é desenhado para uma tarefa estritamente definida. O truque é cada utilitário pode ser ligado a outro através de um mecanismo simples de transporte, chamado de pipe, o qual direcciona o resultado do utilitário anterior para o canal de introdução de dados do utilitário a seguir. Isto cria uma ferramenta de programação muito poderosa e altamente flexível. +À medida que o tempo foi evoluindo, também ambos os mundos foram evoluindo. Embora o C ainda seja usado principalmente como uma linguagem de programação de sistemas, o C++, como uma variante do C, enriqueceu com extensões orientadas a objectos e com genericidade e encontrou o seu lugar para o desenvolvimento de aplicações complexas nos anos 90. Existem outras linguagens de programação diversas, e mesmo algumas linguagens mais antigas ainda têm lugar — o FORTRAN77 e o Ada p.ex. ainda têm a sua força nas aplicações numéricas. + -Linguagens de 'Scripting' Contemporâneas -Na área do 'scripting', houve um ligeiro desvio da linha de comandos, que sofre de problemas de portabilidade, para as linguagens que unificam todas as funcionalidades comuns necessárias para as suas bibliotecas-padrão, embora sejam à mesma capazes de interagir com o exterior através de 'pipes' se necessário. -Todas essas linguagens de 'scripting' têm em comum o facto de serem altamente portáveis entre as variantes de &UNIX;, &Microsoft; &Windows;, &Mac; OS ou até mesmo o VMS. Do mesmo modo, todas elas têm implementações distribuídas de forma gratuita. +Linguagens de 'Scripting' Contemporâneas +Na área do 'scripting', houve um ligeiro desvio da linha de comandos, que sofre de problemas de portabilidade, para as linguagens que unificam todas as funcionalidades comuns necessárias para as suas bibliotecas-padrão, embora sejam à mesma capazes de interagir com o exterior através de 'pipes' se necessário. +Todas essas linguagens de 'scripting' têm em comum o facto de serem altamente portáveis entre as variantes de &UNIX;, &Microsoft; &Windows;, &Mac; OS ou até mesmo o VMS. Do mesmo modo, todas elas têm implementações distribuídas de forma gratuita. -&perl; +&perl; -Perl +Perl - linguagens de 'scripting' - Perl - -O &perl; tornou-se popular como uma linguagem de processamento de texto e de administração de sistemas. No início da World Wide Web, os 'scripts' CGI escritos em &perl; eram uma forma usada em grande medida para criar páginas Web dinâmicas a partir de bases de dados. Hoje em dia, este método foi substituído em grande parte pelo 'plugin' mod_perl do servidor Web &apache;. Entre as potencialidades do &perl; encontra-se o seu suporte incorporado para correspondência de expressões regulares avançado e o seu arquivo rico de módulos distribuídos gratuitamente. -Para mais informações veja o 'site' Web do Comprehensive Perl Archive Network (CPAN). - + linguagens de 'scripting' + Perl + +O &perl; tornou-se popular como uma linguagem de processamento de texto e de administração de sistemas. No início da World Wide Web, os 'scripts' CGI escritos em &perl; eram uma forma usada em grande medida para criar páginas Web dinâmicas a partir de bases de dados. Hoje em dia, este método foi substituído em grande parte pelo 'plugin' mod_perl do servidor Web &apache;. Entre as potencialidades do &perl; encontra-se o seu suporte incorporado para correspondência de expressões regulares avançado e o seu arquivo rico de módulos distribuídos gratuitamente. +Para mais informações veja o 'site' Web do Comprehensive Perl Archive Network (CPAN). + -Python +Python -Python +Python - linguagens de 'scripting' - Python - -O &python; brilha pela elegância do seu sistema de classes e pela facilidade e flexibilidade com que as bibliotecas externas conseguem ser incorporadas, de forma a aparecerem como classes e funções normais do &python;. Em contraste com o &perl;, o &python; tem uma &API; embebida clara e concisa, o que o torna a linguagem de escolha para tornar os programas em C ou C++ utilizáveis em 'scripts'. - + linguagens de 'scripting' + Python + +O &python; brilha pela elegância do seu sistema de classes e pela facilidade e flexibilidade com que as bibliotecas externas conseguem ser incorporadas, de forma a aparecerem como classes e funções normais do &python;. Em contraste com o &perl;, o &python; tem uma &API; embebida clara e concisa, o que o torna a linguagem de escolha para tornar os programas em C ou C++ utilizáveis em 'scripts'. + -PHP +PHP -PHP +PHP - linguagens de 'scripting' - PHP - -O &php; foi inventado como uma linguagem directamente incorporada nas páginas &HTML; e, por consequência, tem as suas utilizações principais a distribuir conteúdo dinâmico na Web. - - + linguagens de 'scripting' + PHP + +O &php; foi inventado como uma linguagem directamente incorporada nas páginas &HTML; e, por consequência, tem as suas utilizações principais a distribuir conteúdo dinâmico na Web. + + -'Scripting' de Alto-Nível - -As aplicações de &UNIX; de alto-nível normalmente perdem a velocidade e flexibilidade dos mecanismos de 'scripting' da linha de comandos tradicional. Isto é especialmente verdadeiro no mundo das interfaces gráficas do utilizador (&GUI;) como ⪚ o &kde;. -Têm existido algumas tentativas de oferecer mecanismos semelhantes que irão funcionar num nível aplicacional mais elevado, como o CORBA e, no ambiente do &kde;, o &DCOP;. +'Scripting' de Alto-Nível + +As aplicações de &UNIX; de alto-nível normalmente perdem a velocidade e flexibilidade dos mecanismos de 'scripting' da linha de comandos tradicional. Isto é especialmente verdadeiro no mundo das interfaces gráficas do utilizador (&GUI;) como ⪚ o &kde;. +Têm existido algumas tentativas de oferecer mecanismos semelhantes que irão funcionar num nível aplicacional mais elevado, como o CORBA e, no ambiente do &kde;, o &DCOP;. -O Protocolo CORBA +O Protocolo CORBA -CORBA +CORBA - linguagens de 'scripting' - CORBA + linguagens de 'scripting' + CORBA - comunicação - CORBA - -O CORBA (Common Object Request Broker Architecture) é uma tentativa para permitir as aplicações informáticas trabalharem em conjunto numa rede. Foi originada pelo comité normativo, privado e independente do distribuidor da OMG (Object Management Group). -Os programas baseados em CORBA usam o protocolo-padrão IIOP para comunicarem. As implementações baseadas no IIOP estão disponíveis num vasto conjunto de sistemas operativos, linguagens de programação e redes, sendo assim multi-plataforma. -A desvantagem principal do CORBA é a sua velocidade relativamente baixo. Embora isto possa ser suportável em redes, é um grande entrave para as comunicações entre aplicações num ambiente sem rede, como por exemplo o &kde; a correr num único computador. - - + comunicação + CORBA + +O CORBA (Common Object Request Broker Architecture) é uma tentativa para permitir as aplicações informáticas trabalharem em conjunto numa rede. Foi originada pelo comité normativo, privado e independente do distribuidor da OMG (Object Management Group). +Os programas baseados em CORBA usam o protocolo-padrão IIOP para comunicarem. As implementações baseadas no IIOP estão disponíveis num vasto conjunto de sistemas operativos, linguagens de programação e redes, sendo assim multi-plataforma. +A desvantagem principal do CORBA é a sua velocidade relativamente baixo. Embora isto possa ser suportável em redes, é um grande entrave para as comunicações entre aplicações num ambiente sem rede, como por exemplo o &kde; a correr num único computador. + + -A Interface de &DCOP; +A Interface de &DCOP; -DCOP +DCOP - linguagens de 'scripting' - DCOP + linguagens de 'scripting' + DCOP - comunicação - DCOP - -Outra evolução do 'scripting' semelhante ao &UNIX; é o protocolo DCOP, o qual foi destinado à comunicação entre as aplicações do &kde; para ultrapassar as limitações do CORBA. -O &DCOP; significa Desktop COmmunikation Protocol e está implementado como um mecanismo simples de IPC/RPC para operar sobre 'sockets'. De facto, isto fornece funcionalidades semelhantes às do mecanismo tradicional de 'pipes' do &UNIX;. -O 'scripting' de linha de comandos tradicional é baseado em programas utilitários relativamente pequenos que foram desenhados para funcionarem de uma forma textual muito restrita. O &DCOP; permite aos programas gráficos elaborados comunicarem uns com os outros de uma forma muito semelhante. Isto permite ⪚ a um programa do &kde; enviar mensagens a outro programa do &kde; ou receber dados do mesmo para os seus objectivos próprios. -Existem desvantagens, contudo. Para usar o &DCOP; um programa precisa de ser desenhado para conter uma interface &DCOP; especial. Para além disso, o processo de comunicação do &DCOP; corre de forma um pouco lenta. De qualquer forma, ele confere muito do poder e da flexibilidade do 'scripting' em &UNIX; para os programas de alto nível que se baseiam numa interface gráfica para o utilizador. -Para mais informações, veja o artigo DCOP: Desktop COmmunications Protocol ou a referência da &API; da biblioteca do Desktop Communication Protocol &DCOP; para a biblioteca de &DCOP; do &kde;. - - - + comunicação + DCOP + +Outra evolução do 'scripting' semelhante ao &UNIX; é o protocolo DCOP, o qual foi destinado à comunicação entre as aplicações do &kde; para ultrapassar as limitações do CORBA. +O &DCOP; significa Desktop COmmunikation Protocol e está implementado como um mecanismo simples de IPC/RPC para operar sobre 'sockets'. De facto, isto fornece funcionalidades semelhantes às do mecanismo tradicional de 'pipes' do &UNIX;. +O 'scripting' de linha de comandos tradicional é baseado em programas utilitários relativamente pequenos que foram desenhados para funcionarem de uma forma textual muito restrita. O &DCOP; permite aos programas gráficos elaborados comunicarem uns com os outros de uma forma muito semelhante. Isto permite ⪚ a um programa do &kde; enviar mensagens a outro programa do &kde; ou receber dados do mesmo para os seus objectivos próprios. +Existem desvantagens, contudo. Para usar o &DCOP; um programa precisa de ser desenhado para conter uma interface &DCOP; especial. Para além disso, o processo de comunicação do &DCOP; corre de forma um pouco lenta. De qualquer forma, ele confere muito do poder e da flexibilidade do 'scripting' em &UNIX; para os programas de alto nível que se baseiam numa interface gráfica para o utilizador. +Para mais informações, veja o artigo DCOP: Desktop COmmunications Protocol ou a referência da &API; da biblioteca do Desktop Communication Protocol &DCOP; para a biblioteca de &DCOP; do &kde;. + + + -Sistemas de Compilação - -Excepto nos casos muito simples, o seu projecto irá consistir de um grande conjunto de blocos de construção de código-fonte, estando cada um deles colocado num ficheiro separado para uma manutenção mais simples. Para pôr isto a correr, você terá de traduzir efectivamente todas estas coisas em algumas unidades de linguagem da máquina, num formato adequado que permita ao sistema operativo carregar e executar o programa. -Para conseguir isto, as ferramentas básicas que necessárias são - um editor de texto para escrever os ficheiros de código-fonte, - um programa de tradução, normalmente um compilador para transformar o código-fonte em ficheiros-objecto, - um criador de bibliotecas que junta os ficheiros-objecto em bibliotecas, para os poder reutilizar facilmente sem ter de os recompilar. - um editor de ligações que junta os vários ficheiros-objecto e bibliotecas todos num único executável, - um sistema de compilação que forneça alguns meios de gerir todas estas coisas e — não esquecer - um depurador para (assim se espera) poder encontrar todos os erros no programa e possivelmente algumas outras ferramentas de diagnóstico para ter tudo a correr sem problemas. +Sistemas de Compilação + +Excepto nos casos muito simples, o seu projecto irá consistir de um grande conjunto de blocos de construção de código-fonte, estando cada um deles colocado num ficheiro separado para uma manutenção mais simples. Para pôr isto a correr, você terá de traduzir efectivamente todas estas coisas em algumas unidades de linguagem da máquina, num formato adequado que permita ao sistema operativo carregar e executar o programa. +Para conseguir isto, as ferramentas básicas que necessárias são + um editor de texto para escrever os ficheiros de código-fonte, + um programa de tradução, normalmente um compilador para transformar o código-fonte em ficheiros-objecto, + um criador de bibliotecas que junta os ficheiros-objecto em bibliotecas, para os poder reutilizar facilmente sem ter de os recompilar. + um editor de ligações que junta os vários ficheiros-objecto e bibliotecas todos num único executável, + um sistema de compilação que forneça alguns meios de gerir todas estas coisas e — não esquecer + um depurador para (assim se espera) poder encontrar todos os erros no programa e possivelmente algumas outras ferramentas de diagnóstico para ter tudo a correr sem problemas. -Quando você tem um projecto grande que consiste possivelmente em centenas de ficheiros de código-fonte, o processo de compilação pode-se tornar bastante trabalhoso. Você não irá querer recompilar todos os ficheiros de cada vez que você tenha alterado apenas alguns deles. Em vez disso, você só deseja compilar aqueles ficheiros que são afectados pelas modificações. De um mode geral, não é óbvio saber quais é que são. -Quando você ⪚ mudar o protótipo de uma função num ficheiro de inclusão, você terá de compilar todos os ficheiros que incluam este. Se o seu projecto contiver assim tantos ficheiros, você poder-se-á esquecer de um ou dois deles, se tiver de fazer esse trabalho manualmente. Como tal, é necessária alguma forma de automatização. +Quando você tem um projecto grande que consiste possivelmente em centenas de ficheiros de código-fonte, o processo de compilação pode-se tornar bastante trabalhoso. Você não irá querer recompilar todos os ficheiros de cada vez que você tenha alterado apenas alguns deles. Em vez disso, você só deseja compilar aqueles ficheiros que são afectados pelas modificações. De um mode geral, não é óbvio saber quais é que são. +Quando você ⪚ mudar o protótipo de uma função num ficheiro de inclusão, você terá de compilar todos os ficheiros que incluam este. Se o seu projecto contiver assim tantos ficheiros, você poder-se-á esquecer de um ou dois deles, se tiver de fazer esse trabalho manualmente. Como tal, é necessária alguma forma de automatização. -O Processo Make +O Processo Make - make + make - Makefile + Makefile - regra + regra - recompilações + recompilações - alvo + alvo - dependências + dependências - comandos - -Uma ferramenta que toma conta das recompilações é o make. Ele mantém um registo de todo o trabalho, usando um conjunto de regras que descrevem o que fazer no caso de algum pedaço de informação (normalmente um ficheiro de código ou um ficheiro-objecto) ser alterado. Todas as regras que pertencem a um dado projecto são guardadas num ficheiro chamado Makefile que é processado pelo make de cada vez que você deseja actualizar o seu trabalho. -Cada regra consiste em vários blocos de construção, nomeadamente - um alvo, ou seja, o ficheiro a ser criado - um conjunto de dependências, basicamente os nomes daqueles ficheiros de que o alvo depende (⪚, o nome de um ficheiro de código, onde então o alvo será o nome do ficheiro-objecto a ser criado) e - os comandos que serão executados para criar o alvo (&ie;, para o compilar ou para ligar outros ficheiros-objecto em conjunto para formar um programa executável). + comandos + +Uma ferramenta que toma conta das recompilações é o make. Ele mantém um registo de todo o trabalho, usando um conjunto de regras que descrevem o que fazer no caso de algum pedaço de informação (normalmente um ficheiro de código ou um ficheiro-objecto) ser alterado. Todas as regras que pertencem a um dado projecto são guardadas num ficheiro chamado Makefile que é processado pelo make de cada vez que você deseja actualizar o seu trabalho. +Cada regra consiste em vários blocos de construção, nomeadamente + um alvo, ou seja, o ficheiro a ser criado + um conjunto de dependências, basicamente os nomes daqueles ficheiros de que o alvo depende (⪚, o nome de um ficheiro de código, onde então o alvo será o nome do ficheiro-objecto a ser criado) e + os comandos que serão executados para criar o alvo (&ie;, para o compilar ou para ligar outros ficheiros-objecto em conjunto para formar um programa executável). -Basicamente, o comando make irá ler as regras uma a seguir à outra, verificar cada ficheiro na lista de dependências de um determinado alvo e criar esse alvo de novo, se algum destes ficheiros foi alterado, usando os comandos indicados na regra. -Existem várias possibilidades adicionais para controlar um processo do 'make' e, deste modo, uma Makefile poderá deste modo ficar bastante complexa. Não poderemos entrar em detalhes aqui. Contudo, recomendamos que você se vá acostumando à sintaxe do make. Mesmo que você não o use directamente, a compreensão dos fundamentos do sistema de compilação poderá ser útil. Veja o Manual do Make da GNU para mais informações. -Para mais detalhes específicos do &tdevelop;, veja o capítulo sobre a Gestão de Projectos e Compilações deste manual. -Existem vários tutoriais disponíveis; veja as referências no capítulo sobre gestão dos projectos e das compilações. - - - +Basicamente, o comando make irá ler as regras uma a seguir à outra, verificar cada ficheiro na lista de dependências de um determinado alvo e criar esse alvo de novo, se algum destes ficheiros foi alterado, usando os comandos indicados na regra. +Existem várias possibilidades adicionais para controlar um processo do 'make' e, deste modo, uma Makefile poderá deste modo ficar bastante complexa. Não poderemos entrar em detalhes aqui. Contudo, recomendamos que você se vá acostumando à sintaxe do make. Mesmo que você não o use directamente, a compreensão dos fundamentos do sistema de compilação poderá ser útil. Veja o Manual do Make da GNU para mais informações. +Para mais detalhes específicos do &tdevelop;, veja o capítulo sobre a Gestão de Projectos e Compilações deste manual. +Existem vários tutoriais disponíveis; veja as referências no capítulo sobre gestão dos projectos e das compilações. + + + -Desenvolvimento de &GUI;s +Desenvolvimento de &GUI;s - GUI + GUI - interface gráfica do utilizador + interface gráfica do utilizador - interface do utilizador - GUI - -Os programadores de aplicações estão incumbidos normalmente em ter não só de criar as bibliotecas e a lógica dos programas, mas também em fornecer interfaces de utilizador que sejam tanto intuitivas como funcionais. A maioria dos programadores recebem pouca ou nenhuma formação na programação de GUIs e, como tal, as interfaces do utilizador resultantes poderão ficar mal desenhadas. -Ao longo dos anos, alguns princípios de desenho foram evoluindo. É altamente recomendado que adira a eles. Desta forma, as suas interfaces de utilizador irão reter uma aparência e comportamento comuns, factores que os utilizadores da sua aplicação irão agradecer. -Para a programação de &GUI;s no &kde;, existe um guia de estilo disponível. Ele está nas Linhas-Guia de Interfaces do Utilizador do &kde; na página dos programadores do &kde;. -Poderá ser encontrada uma breve introdução aos princípios de desenho de interfaces aqui. - - + interface do utilizador + GUI + +Os programadores de aplicações estão incumbidos normalmente em ter não só de criar as bibliotecas e a lógica dos programas, mas também em fornecer interfaces de utilizador que sejam tanto intuitivas como funcionais. A maioria dos programadores recebem pouca ou nenhuma formação na programação de GUIs e, como tal, as interfaces do utilizador resultantes poderão ficar mal desenhadas. +Ao longo dos anos, alguns princípios de desenho foram evoluindo. É altamente recomendado que adira a eles. Desta forma, as suas interfaces de utilizador irão reter uma aparência e comportamento comuns, factores que os utilizadores da sua aplicação irão agradecer. +Para a programação de &GUI;s no &kde;, existe um guia de estilo disponível. Ele está nas Linhas-Guia de Interfaces do Utilizador do &kde; na página dos programadores do &kde;. +Poderá ser encontrada uma breve introdução aos princípios de desenho de interfaces aqui. + + -Integrar os Conceitos e as Ferramentas – o IDE +Integrar os Conceitos e as Ferramentas – o IDE - IDE + IDE - ambiente integrado de desenvolvimento + ambiente integrado de desenvolvimento - desenvolvimento - IDE + desenvolvimento + IDE - ambiente - IDE - -Existem várias ferramentas separadas disponíveis para quase todos os passos do processo de programação — planeamento, edição, gestão de ficheiros e processos de compilação, depuração, documentação, entre muitas outras coisas. Mas, logo que os projectos cresçam, o processo de programação tornar-se-ão bastante complicados. -Muito do trabalho repetitivo tem de ser feito ao desenhar, compilar e depurar um programa. Muito do trabalho pode-se poupar através do uso de modelos e 'scripts'. O restante é feito mantendo, de forma simples, as ferramentas disponíveis facilmente e com capacidades de comunicarem umas com as outras através de uma &GUI; comum. -Por exemplo—não seria conveniente que um depurador fosse capaz de abrir o ficheiro de código em questão num editor e colocasse o cursor directamente sobre a posição do erro que foi encontrado? -Para conseguir um esquema desses mais facilmente, os Ambientes de Desenvolvimento Integrados (&IDE;s) foram criados. Um &IDE; desse género integra todos os modelos, ferramentas e programas necessários no processo de desenvolvimento num único ambiente. -Para a plataforma do &kde;, o &tdevelop; é desses &IDE;s. Ele contém um conjunto vasto de ferramentas que facilitam o desenvolvimento e manutenção dos programas, mesmo para as diferentes linguagens de programação e pelas várias plataformas. + ambiente + IDE + +Existem várias ferramentas separadas disponíveis para quase todos os passos do processo de programação — planeamento, edição, gestão de ficheiros e processos de compilação, depuração, documentação, entre muitas outras coisas. Mas, logo que os projectos cresçam, o processo de programação tornar-se-ão bastante complicados. +Muito do trabalho repetitivo tem de ser feito ao desenhar, compilar e depurar um programa. Muito do trabalho pode-se poupar através do uso de modelos e 'scripts'. O restante é feito mantendo, de forma simples, as ferramentas disponíveis facilmente e com capacidades de comunicarem umas com as outras através de uma &GUI; comum. +Por exemplo—não seria conveniente que um depurador fosse capaz de abrir o ficheiro de código em questão num editor e colocasse o cursor directamente sobre a posição do erro que foi encontrado? +Para conseguir um esquema desses mais facilmente, os Ambientes de Desenvolvimento Integrados (&IDE;s) foram criados. Um &IDE; desse género integra todos os modelos, ferramentas e programas necessários no processo de desenvolvimento num único ambiente. +Para a plataforma do &kde;, o &tdevelop; é desses &IDE;s. Ele contém um conjunto vasto de ferramentas que facilitam o desenvolvimento e manutenção dos programas, mesmo para as diferentes linguagens de programação e pelas várias plataformas. -Funcionalidades Básicas do &tdevelop; &kdevrelease; +Funcionalidades Básicas do &tdevelop; &kdevrelease; - &tdevelop; - funcionalidades + &tdevelop; + funcionalidades - funcionalidades + funcionalidades - Gere todas as ferramentas de desenvolvimento necessárias para a programação em C++, como o compilador, o editor de ligações, o depurador e o sistema de compilações. + Gere todas as ferramentas de desenvolvimento necessárias para a programação em C++, como o compilador, o editor de ligações, o depurador e o sistema de compilações. - Contém um &appwizard; que gera aplicações completas e prontas a funcionar. + Contém um &appwizard; que gera aplicações completas e prontas a funcionar. - Permite ao utilizador seleccionar um editor integrado, baseado no editor do programador &kwrite; ou no QEditor da Trolltech ou noutro qualquer. + Permite ao utilizador seleccionar um editor integrado, baseado no editor do programador &kwrite; ou no QEditor da Trolltech ou noutro qualquer. - Um gerador de classes, para poder criar classes novas e integrá-las no projecto actual. + Um gerador de classes, para poder criar classes novas e integrá-las no projecto actual. - Gestão de ficheiros para o código, os ficheiros de inclusão, documentação, etc., a incluir no projecto. + Gestão de ficheiros para o código, os ficheiros de inclusão, documentação, etc., a incluir no projecto. - A assistência na criação de manuais do utilizador da aplicação, feitos com as ferramentas do &kde;. + A assistência na criação de manuais do utilizador da aplicação, feitos com as ferramentas do &kde;. - Documentação da &API; automática e baseada em &HTML; para as classes de um projecto com referências cruzadas para as bibliotecas utilizadas. + Documentação da &API; automática e baseada em &HTML; para as classes de um projecto com referências cruzadas para as bibliotecas utilizadas. - Suporte para internacionalização, o que permite aos tradutores adicionarem a sua língua-alvo a um projecto com facilidade, incluindo o suporte para o &kbabel;. + Suporte para internacionalização, o que permite aos tradutores adicionarem a sua língua-alvo a um projecto com facilidade, incluindo o suporte para o &kbabel;. - O suporte para a gestão de um projecto através de um de vários sistemas de controlo de versões (⪚, o &CVS;), fornecendo uma interface simples de utilizar para as funções mais necessárias. + O suporte para a gestão de um projecto através de um de vários sistemas de controlo de versões (⪚, o &CVS;), fornecendo uma interface simples de utilizar para as funções mais necessárias. - Uma interface para um depurador integrado. + Uma interface para um depurador integrado. - Um emulador da consola de texto. + Um emulador da consola de texto. - Realce de sintaxe nos ficheiros de código. + Realce de sintaxe nos ficheiros de código. - Completação automática de código para as variáveis das classes, os métodos das mesmas, os argumentos das funções, entre outras coisas. + Completação automática de código para as variáveis das classes, os métodos das mesmas, os argumentos das funções, entre outras coisas. - Modelos para criar vários projectos (módulos do &kcontrol;, 'applets' do &kicker; (painel), KIOSlaves, 'plugins' do &konqueror; e estilos do ecrã). + Modelos para criar vários projectos (módulos do &kcontrol;, 'applets' do &kicker; (painel), KIOSlaves, 'plugins' do &konqueror; e estilos do ecrã). - Quatro janelas de navegação em árvore para mudar facilmente entre ficheiros de código, ficheiros de inclusão, classes e documentação, eliminando a necessidade de um gestor de ficheiros externo. + Quatro janelas de navegação em árvore para mudar facilmente entre ficheiros de código, ficheiros de inclusão, classes e documentação, eliminando a necessidade de um gestor de ficheiros externo. - Suporte para compilações cruzadas, com a possibilidade de indicar vários compiladores diferentes, opções de compilação, arquitecturas-alvo, &etc; + Suporte para compilações cruzadas, com a possibilidade de indicar vários compiladores diferentes, opções de compilação, arquitecturas-alvo, &etc; - Suporte para projectos do Qt/Embedded (como o Zaurus e o iPAQ). + Suporte para projectos do Qt/Embedded (como o Zaurus e o iPAQ). - Inclusão de vários programas que necessite para programar, adicionando-os ao menu Ferramentas, de acordo com as suas necessidades individuais. + Inclusão de vários programas que necessite para programar, adicionando-os ao menu Ferramentas, de acordo com as suas necessidades individuais. - + - + - + -- cgit v1.2.1