Date: prev next · Thread: first prev next last


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.