Oi, Danilo,
Tenta usar o
XTextViewCursor<http://api.libreoffice.org/common/ref/com/sun/star/text/XTextViewCursor.html>,
e o método
XPageCursor.jumpToPage(nPage)<http://api.libreoffice.org/common/ref/com/sun/star/text/XPageCursor.html#jumpToPage>
.
Eu encontrei uma pergunta muito parecida com a sua no oooforum, inclusive
com códigos que você poderia estudar:
http://www.oooforum.org/forum/viewtopic.phtml?t=110832
Abraços
--
William
~Projeto Cogroo <http://cogroo.sourceforge.net/>/Cogroo
Comunidade<http://ccsl.ime.usp.br/cogroo/comunidade/>
2011/10/28 Danilo Costa <danilocss@gmail.com>
Bom dia,
Sou Danilo, estou desenvolvendo no ambiente NetBeans+Swing. Estou tentando
criar um método parecido com localizar do BrOffice. Ou seja, terei um
documento Writer e informarei uma referência, clicarei no botão "Ir Para" e
o método deve mostrar(colocará o cursor no ponto onde a referência se
encontra) no texto onde está a referência solicitada, caso clique novamente
no botão "Ir Para" ele mostrará a proxima localização da referência.
Segue o método que criamos, porém não estamos conseguindo mover o cursor.
public void localizarReferencia(Documento pDocumento, String pReferencia) {
try {
//procura referencia no texto
XSearchable lSearch = getSearchable();
XSearchDescriptor lDescInicio = getSearchDescriptor(lSearch);
lDescInicio.setSearchString(pReferencia);
//retorna o range da palavra procurada
XTextRange lRange =
getTextRange(lSearch.findFirst(lDescInicio));
//retorna um cursor de texto com o range encontrado
XTextCursor lCursorTexto = getTextCursorPorRange(lRange);
//to confirmando em modo debug que o texto no range é o mesmo da
palavra procurada.
lCursorTexto.getString();
//crio um cursor de visão
XTextViewCursor lCursorVisao = getTextViewCursor();
lCursorVisao.gotoRange(lCursorTexto, true);
lCursorVisao.goLeft((short) 1, true);
//torna cursor visivel
lCursorVisao.setVisible(true);
} catch (Exception pEx) {
throw new AmbienteException(OfficeUtil.MSG_ERRO_OPEN_OFFICE,
pEx);
}
}
Att.
Danilo Costa.
--
Você está recebendo e-mails da lista dev@pt-br.libreoffice.org
# Informações sobre os comandos disponíveis (em inglês):
mande e-mail vazio para dev+help@pt-br.libreoffice.org
# Cancelar sua assinatura: mande e-mail vazio para:
dev+unsubscribe@pt-br.libreoffice.org
# Arquivo de mensagens: http://listarchives.libreoffice.org/pt-br/dev
--
Você está recebendo e-mails da lista dev@pt-br.libreoffice.org
# Informações sobre os comandos disponíveis (em inglês):
mande e-mail vazio para dev+help@pt-br.libreoffice.org
# Cancelar sua assinatura: mande e-mail vazio para:
dev+unsubscribe@pt-br.libreoffice.org
# Arquivo de mensagens: http://listarchives.libreoffice.org/pt-br/dev
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.