Re: [Libreoffice] complete

2011-04-20 Thread Michael Meeks
Hi Timo,

On Thu, 2011-04-14 at 17:50 +0200, Timo wrote:
 Maybe this task should be moved to “completed”?
 http://wiki.documentfoundation.org/Easy_Hacks#Make_python_.2F_mail-merge_debuggable

I read your last mail, and I was not certain that it is working :-) so
sadly the code didn't get merged.

Do you think you could re-send your code as a patch vs. master: with
the new msgbox.py file added ? we should also have a patch for scp2/ to
install the new python file too (git grep for mailmerge.py in there).
Also good to add [PATCH] to the Subject to get some priority review :-)
[ also confirm the LGPLv3+/MPL license ].

  MessageBoxButtons as well as XSCRIPTCONTEXT do not exist for me. Python
  doesn´t find them and they are documented as “not published” [1]. 

Did you get over this ? presumably you are running this using the
python embedded with libreoffice, rather than some external python ?

  [3] see screenshot Bildschirmfoto.png

Looks nice :-)

Great work,

Michael.

-- 
 michael.me...@novell.com  , Pseudo Engineer, itinerant idiot


___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] complete

2011-04-14 Thread Timo
Maybe this task should be moved to “completed”?
http://wiki.documentfoundation.org/Easy_Hacks#Make_python_.2F_mail-merge_debuggable


Am Montag, den 11.04.2011, 21:26 +0200 schrieb Timo:
 Hi Michael,
 
 MessageBoxButtons as well as XSCRIPTCONTEXT do not exist for me. Python
 doesn´t find them and they are documented as “not published” [1]. I
 think it would be nice to use createMessageBox() and to have a dynamic
 size and a nice error icon. But with the use of Laurent´s implementation
 I could solve the task. [2]
 
 With the modified mailmerge.py I get the expected pythonerror in a
 messagebox after closing the MsgBox. [3] In fact all pythonerrors are
 reported like this on my computer. What does it look like on nonfree
 platforms? In fact it is better to display only one error message.
 
 Not all python errors are reported in a message by default. If there are
 syntax errors at the beginning of the file, office remains silent. This
 is problem. 
 
 When there is a MsgBox that works for everybody I suggest to implement
 it into pythonscript.py so that it is being used for all exceptions. 
 
 
 regards,
 
 Timo
 
 
 [1]
 http://api.openoffice.org/docs/common/ref/com/sun/star/awt/MessageBoxButtons.html#BUTTONS_OK
 
 [2] see mailmerge.py and MsgBox.py from the attachments
 
 [3] see screenshot Bildschirmfoto.png
 
 
 Am Montag, den 11.04.2011, 17:01 +0100 schrieb Michael Meeks:
  Hi Timo,
  
  On Sat, 2011-04-09 at 02:22 +0200, Timo wrote:
   Is there a way to test the pythonfile within office? At the moment each
   time i kill soffice, restart writer and click
  
  So - after a bit more digging; I got to here:
  
  class MessageBox:
  def __init__(self, XParentWindow):
  try:
  if XParentWindow is None:
  frame = XSCRIPTCONTEXT.getDesktop().getCurrentFrame()
  XParentWindow = frame.getContainerWindow()
  self.Parent = XParentWindow
  self.Toolkit = XParentWindow.getToolkit()
  except:
  raise AttributeError, 'Did not get a valid parent window'
  
  def msgbox(self, message='', flag=0, title=''):
  '''Wrapper for com.sun.star.awt.XMessageBoxFactory.'''
  rect = uno.createUnoStruct('com.sun.star.awt.Rectangle')
  dlg = self.Toolkit.createMessageBox(self.Parent, rect, errorbox, 
  1, title, message)
  dlg.execute()
  
  
  Which at least works for me, though I couldn't see why the
  com.sun.star.awt.MessageBoxButtons set of constants wouldn't work nicely
  for me.
  
  When I whack that into my system's TableSample.py and add:
  
  box = MessageBox(None)
  box.msgbox (What is this ?)
  
  to createTable() - I get a nice message-box first :-) I bound running
  that macro to F4 to make it quicker to loop iterate / check the code
   
  The UNO API is pretty fearsome to use, it can help to read the
  interface comments in offapi/ but it is not for the faint hearted,
  clearly :-)
  
  I guess, seeing how broken the C++ side is - with helpful comments
  like:
  
  if(!bIsLoggedIn)
  {
  OSL_FAIL(create error message);
  return;
  }
  
  that simply don't create an error message, or do anything useful -
  perhaps a chunk of the work needed is on the C++ side anyway.
  
  HTH,
  
  Michael.
  
 
 ___
 LibreOffice mailing list
 LibreOffice@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/libreoffice


___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice