---- Original message ----

  Date: Fri, 31 Dec 2010 07:27:51 -0500 (EST)
  From: <codyh...@comporium.net>
  Subject: Re: [users] Re: API to clone a row in a
  writer's table
  To: users@openoffice.org

  >---- Original message ----
  >
  > Date: Fri, 31 Dec 2010 12:16:25 +0000 (UTC)
  > From: Sandro <san...@e-den.it>
  > Subject: [users] Re: API to clone a row in a
  > writer's table
  > To: users@openoffice.org
  >
  > >Thanks Andrew,
  > >
  > >Andrew Douglas Pitonyak <andrew <at>
  > pitonyak.org> writes:>
  > >
  > >> Note that I have not tried anything that I am
  > about to suggest
  > >>
  > >> 1. Insert the new row where you desire it to
  > be.
  > >>
  > >> 2. Use the view cursor to select the row that
  > you desire to duplicate.
  > >>
  > >> 3. Use a dispatch to copy row to the
  clipboard.
  > >>
  > >> 4. Move the view cursor to the new position
  and
  > use a dispatch to paste
  > >> the row into the new row.
  > >
  > >after sending this mail I did also investigate
  > the solution with dispatcher,
  > >but I realized I couldn't understand how to
  move
  > the viewcursor to the
  > >correct location... moreover I mean to use it
  in
  > a headless environ and I
  > >wasn't sure that this is the best solution.
  > Anyhow this is what I did:
  > >
  > >
  > > table = document.TextTables.getByIndex(0)
  > > cell = table.getCellByPosition(0,1)
  > > controller=document.getCurrentController()
  > > frame=controller.getFrame()
  > > view_cursor=controller.getViewCursor()
  > >
  > > ... how to move the cursor to the cell??
  > >
  > > dispatcher = context.ServiceManager.
  > >
  >
  createInstance('com.sun.star.frame.DispatchHelper')
  > >
  > > dispatcher.executeDispatch(frame,
  > '.uno:EntireRow', '', 0, tuple())
  > > dispatcher.executeDispatch(frame, '.uno:Copy',
  > '', 0, tuple())
  > > dispatcher.executeDispatch(frame,
  '.uno:Paste',
  > '', 0, tuple())
  > > dispatcher.executeDispatch(frame,
  > '.uno:JumpToNextCell', '', 0, tuple())
  > >
  > >
  > >
  > >
  > >>
  > >> Note: This will likely fail with a complex
  > table and special care is
  > >> required for complex content (such as when a
  > cell contains multiple text
  > >> objects; for example, an embedded image).
  > >
  > >The case I'm dealing with now is simple but as
  it
  > is part of a template
  > >system that is public I can't make assumptions
  on
  > how complex will the real
  > >templates be.
  > >
  > >> I think that new provisions may exist for
  > copying text content. If that is
  > >> the case, you may be able to copy the text
  > content in each cell to the new
  > >> cell in the new row.
  > >
  > >Can you explain what you mean by "new
  provisions
  > may exist for copying text
  > >content". I think this is what I was looking
  for
  > but I was not able to find
  > >a way neather for copying text and style nor
  for
  > pasting it!...
  > >
  > >
  > >thanks for your time
  > >sandro
  > >*:-)
  > >
  > >>
  > >> On 12/28/2010 11:36 AM, Sandro wrote:
  > >> > Hi,
  > >> > I already spent many hours on this problem
  > and I can't find the correct
  > >> > approach. I really hope someone can help me
  > or point me in the correct
  > >> > direction/reading.
  > >> >
  > >> > I need to programmatically duplicate rows
  of
  > a Table in openoffice writer.
  > >> >
  > >> > It's not difficult to add rows via
  > table.Rows.insertByIndex(idx, count),
  > >> > that adds empty rows and it's easy to add
  > text in that row assigning
  > >> > DataArray to the CellRange. Doing this way
  > you loose control on the style of
  > >> > the cells and specifically if a cell has
  > words with different style
  > >> > (bold/italic) they get flattened to the
  same
  > face. What I need is to
  > >> > duplicate a row in a way that preserves the
  > style of each word in the
  > >> > cell/row.
  > >> >
  > >> > This is the last step of a Python template
  > system that uses openoffice
  > >> > (http://oootemplate.argolinux.org). I
  access
  > the document via 'uno'
  > >> > interface in Python but any language would
  do
  > to explain the logic behind
  > >> > it.
  > >> >
  > >> > thanks in advance
  > >> >
  > >> >
  > >> > sandro
  > >> > *
  > >> >
  > >> >
  > >> >
  >
  ---------------------------------------------------------------------
  > >> > To unsubscribe, e-mail: users-unsubscribe
  > <at> openoffice.org
  > >> > For additional commands, e-mail: users-help
  > <at> openoffice.org
  > >> >
  > >>
  > >
  > >
  > >
  >
  >---------------------------------------------------------------------
  > >To unsubscribe, e-mail:
  > users-unsubscr...@openoffice.org
  > >For additional commands, e-mail:
  > users-h...@openoffice.org
  > >
  > >

Reply via email to