Development/Architecture/KDE3/KHTML/pt-br: Difference between revisions

From KDE TechBase
(Created page with "O DOM é uma implementação usando classes internas para armazenar os dados do documento. As classes que acessam o DOM usam um esquema refcounting para armazenar os dados. A...")
No edit summary
 
(9 intermediate revisions by 2 users not shown)
Line 15: Line 15:
#include <kapp.h>
#include <kapp.h>


<span class="mw-translate-fuzzy">
int main(int argc, char *argv[])
int main(int argc, char *argv[])
{
{
     KApplication a(argc, argv, "testkhtml");
     KApplication a(argc, argv, "testkhtml");
</span>
}


     KHTMLWidget *html = new KHTMLWidget;
     KHTMLWidget *html = new KHTMLWidget;
Line 31: Line 30:
     html->openURL(argv[1]);
     html->openURL(argv[1]);


     <span class="mw-translate-fuzzy">
     { QWidget::connect(html, SIGNAL(setTitle(const QString &)),
QWidget::connect(html, SIGNAL(setTitle(const QString &)),
                     html, SLOT(setCaption(const QString &)));
                     html, SLOT(setCaption(const QString &)));
     html->show();
     html->show();
Line 39: Line 37:


</syntaxhighlight>
</syntaxhighlight>
</span>


Este pequeno exemplo já oferece a você um navegador funcional, que permite que você navegue na web (você vai precisar do executável <tt>kio_http</tt> do KDE para acessar os arquivos não locais). Teste <tt>testkhtml http://www.kde.org</tt> e você vai ter um widget que mostra a página inicial do KDE.
Este pequeno exemplo já oferece a você um navegador funcional, que permite que você navegue na web (você vai precisar do executável <tt>kio_http</tt> do KDE para acessar os arquivos não locais). Teste <tt>testkhtml http://www.kde.org</tt> e você vai ter um widget que mostra a página inicial do KDE.
Line 53: Line 50:
Assim, o DOM faz o gerenciamento de memória para você. Você pode apenas usar as classes definidas nos arquivos de cabeçalho DOM para acessar partes do documento. Contanto que você não use ponteiros, você não terá vazamentos de memória.
Assim, o DOM faz o gerenciamento de memória para você. Você pode apenas usar as classes definidas nos arquivos de cabeçalho DOM para acessar partes do documento. Contanto que você não use ponteiros, você não terá vazamentos de memória.


You can easily access the document being shown by the
Você pode facilmente acessar o documento que está sendo mostrado pelo método <tt>KHTMLWidget::document()</tt>, de onde se pode ter acesso a todas as partes do documento.
<tt>KHTMLWidget::document()</tt> method, from where you can
get access to every part of the document.


== Java ==
== Java ==


Thanks to the work of Richard Moore, <tt>KHTML</tt> can display Java applets.
Graça ao trabalho  de Richard Moore, <tt>KHTML</tt> pode exibir applets Java.
Java is not enabled by default, but you can do so by using
O Java ainda não está habilitado por padrão, mas você fazer isso usando <tt>KHTMLWidget::setEnableJava(true);</tt>, e configurar a variável do ambiente tt>CLASSPATH</tt> para:
<tt>KHTMLWidget::setEnableJava(true);</tt>, and setting the environment variable
<tt>CLASSPATH</tt> to:


  CLASSPATH=$KDEDIR/share/apps/kjava/kjava-classes.zip:$JDK_DIR/lib
  CLASSPATH=$KDEDIR/share/apps/kjava/kjava-classes.zip:$JDK_DIR/lib


You will need to have the java developers kit installed though. I tested it
Entretanto, você precisa ter o kit de desenvolvedores java instalado. Eu testei
with JDK-1.1.7, and don't know if it'll run with other versions of JDK or with
com JDK-1.1.7, e não sei se ele vai funcionar com outras versões do JDK ou do Kaffe.
Kaffe.


== JavaScript (ECMA-Script) ==
== JavaScript (ECMA-Script) ==


The JavaScript support aims at compliance with the ECMAScript Language
O suporte ao JavaScript visa à compatibilidade com as epecificações do ECMAScript Language [http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM ECMA-262] 3ª edição.
specification [http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM ECMA-262] 3rd edition.
This roughly equals JavaScript 1.5.


== Cascading Style Sheets (CSS) ==
== Cascading Style Sheets (CSS) ==


Cascading style sheets 2.1 are mostly supported now.
Estilo de planilhas em cascata 2.1 são, na sua maioria, suportados agora.




''Initial Author:'' [mailto:[email protected] Lars Knoll]
''Autor inicial:'' [mailto:[email protected] Lars Knoll]


[[Category:KDE3]]
[[Categoria:KDE3]]
[[Category:Architecture]]
[[Categoria:Arquitetura]]

Latest revision as of 20:21, 29 August 2014


KHTML - Biblioteca de HTML do KDE

KHTML é uma biblioteca XML/HTML4 compatível com HTML4, com suporte para DOM, Java, JavaScript e Cascading Style Sheets (CSS).

Você pode obter uma visão geral dos atuais recursos do KHTML aqui.

Pequeno exemplo

Usar o KHTML no seu programa é bem fácil. O exemplo a seguir mostra para você uma completa aplicação com a qual você já pode navegar na web:

#include <khtml.h>
#include <kapp.h>

int main(int argc, char *argv[])
{
    KApplication a(argc, argv, "testkhtml");
}

    KHTMLWidget *html = new KHTMLWidget;
    html->resize(800,500);
    //html->setJScriptEnabled(true);
    html->setJavaEnabled(true);
    //html->setFollowsLinks(false);

    a.setTopWidget(html);
    html->setURLCursor(QCursor(PointingHandCursor));
    html->openURL(argv[1]);

    { QWidget::connect(html, SIGNAL(setTitle(const QString &)),
                     html, SLOT(setCaption(const QString &)));
    html->show();
    a.exec();
}

Este pequeno exemplo já oferece a você um navegador funcional, que permite que você navegue na web (você vai precisar do executável kio_http do KDE para acessar os arquivos não locais). Teste testkhtml http://www.kde.org e você vai ter um widget que mostra a página inicial do KDE.

KHTML tem muitas funcionalidades. Quase tudo o que você realmente precisa pode ser acessado através das funções de membro da classe KHTMLWidget.

Document Object Model (DOM)

KHTML fornece uma implementação praticamente completa do Dom Level 1 e 2.

O DOM é uma implementação usando classes internas para armazenar os dados do documento. As classes que acessam o DOM usam um esquema refcounting para armazenar os dados. Assim, o DOM faz o gerenciamento de memória para você. Você pode apenas usar as classes definidas nos arquivos de cabeçalho DOM para acessar partes do documento. Contanto que você não use ponteiros, você não terá vazamentos de memória.

Você pode facilmente acessar o documento que está sendo mostrado pelo método KHTMLWidget::document(), de onde se pode ter acesso a todas as partes do documento.

Java

Graça ao trabalho de Richard Moore, KHTML pode exibir applets Java. O Java ainda não está habilitado por padrão, mas você fazer isso usando KHTMLWidget::setEnableJava(true);, e configurar a variável do ambiente tt>CLASSPATH para:

CLASSPATH=$KDEDIR/share/apps/kjava/kjava-classes.zip:$JDK_DIR/lib

Entretanto, você precisa ter o kit de desenvolvedores java instalado. Eu testei com JDK-1.1.7, e não sei se ele vai funcionar com outras versões do JDK ou do Kaffe.

JavaScript (ECMA-Script)

O suporte ao JavaScript visa à compatibilidade com as epecificações do ECMAScript Language ECMA-262 3ª edição.

Cascading Style Sheets (CSS)

Estilo de planilhas em cascata 2.1 são, na sua maioria, suportados agora.


Autor inicial: Lars Knoll

Categoria:KDE3 Categoria:Arquitetura