---- 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