From 935baf97a926baa50d985808736e0adb8837c716 Mon Sep 17 00:00:00 2001
From: Jens-Heiner Rechtien <hr@openoffice.org>
Date: Tue, 19 May 2009 09:32:45 +0000
Subject: CWS-TOOLING: integrate CWS impress169 2009-05-13 17:37:21 +0200 sj 
 r271865 : #i100942# applied patch, removed oversafe buffer check (now without
 warnings on 64 bit platform) 2009-05-13 12:27:18 +0200 sj  r271855 :
 #i101769# fixed line/fill attributes for graphic objects 2009-05-12 10:25:17
 +0200 cl  r271799 : report correct minimum cell hight for empty cells
 2009-04-28 17:29:46 +0200 cl  r271334 : fixed merge error 2009-04-28 16:18:01
 +0200 cl  r271330 : fixed build error 2009-04-28 12:38:09 +0200 cl  r271320 :
 #i100129# images for new layouts 2009-04-27 19:12:06 +0200 cl  r271302 :
 CWS-TOOLING: rebase CWS impress169 to trunk@270723 (milestone: DEV300:m46)
 2009-04-20 19:13:28 +0200 sj  r271012 : #i100942# applied patch, removed
 oversafe buffer check 2009-04-09 18:00:01 +0200 sj  r270719 : #158488# added
 rectangular gradient support 2009-04-09 17:49:52 +0200 sj  r270718 : #158488#
 added rectangular gradient support 2009-04-09 17:46:24 +0200 sj  r270717 :
 #158488# added rectangular gradient support 2009-03-26 18:16:34 +0100 cl 
 r270098 : #i99867# applied patch from jlcheng to correctly register table
 design pane 2009-03-26 18:12:11 +0100 cl  r270097 : #i100220# leave some
 items default so they are not overridden if a new table style is set
 2009-03-26 18:11:10 +0100 cl  r270096 : #i100220# clear only those items that
 are also in the style when assigning a new table layout 2009-03-26 15:56:24
 +0100 cl  r270085 : #i99977# listen to outliner and dispose if outliner dies
 2009-03-26 15:47:29 +0100 cl  r270084 : #i99977# made the Outliner a
 SfxBroadcaster so others can listen for its death 2009-03-24 19:10:05 +0100
 sj  r269991 : #i100490# fixed text resize problem 2009-03-23 14:31:11 +0100
 sj  r269872 : #i96083# added patch, (dubious && and ||) 2009-03-19 17:55:11
 +0100 sj  r269764 : #i100275# applied patch, row height is now correct even
 for rows containing no text 2009-03-18 18:10:52 +0100 sj  r269701 : #i93616#
 solved performance problem when loading document 2009-03-18 16:20:40 +0100 sj
  r269688 : removing unused code 2009-03-18 16:19:22 +0100 sj  r269687 :
 removing unused code 2009-03-18 16:17:54 +0100 sj  r269686 : removing unused
 code 2009-03-18 10:28:07 +0100 cl  r269643 : #i100029# let cells be disposed
 as soon as the table model is disposed 2009-03-17 15:56:50 +0100 cl  r269614
 : #i99984# new impress photo layouts 3x2 and 2x2 2009-03-17 15:36:35 +0100 cl
  r269611 : #i99984# adding new impress photo layouts 3x2 and 2x2 2009-03-16
 18:43:48 +0100 cl  r269564 : #i55224# correct internal links if pages are
 changed 2009-03-16 16:40:38 +0100 cl  r269559 : #i55224# correct internal
 hyperlinks if slides are changed/renamed 2009-03-16 15:34:12 +0100 cl 
 r269553 : #i99427# invalidate slots after promote/demote 2009-03-13 18:18:20
 +0100 sj  r269492 : #i92421# fixed loop if loading encrypted ppt file
 2009-03-13 14:51:58 +0100 sj  r269481 : #i93002# fixed crash if saving
 presentation without master title placeholder 2009-03-13 12:26:21 +0100 sj 
 r269468 : #i100147# do not exceed the max point count if creating simple
 polygon via ::GetSimple 2009-03-12 17:00:45 +0100 sj  r269427 : #i82518#
 justifying rectangles for arc/pie and chord actions, fixed round rectangle
 problem

---
 xmloff/source/draw/sdxmlexp.cxx | 49 ++++++++++++++++++++++++++++++++++++++++-
 xmloff/source/draw/ximpstyl.cxx | 25 +++++++++++++++++++--
 2 files changed, 71 insertions(+), 3 deletions(-)

(limited to 'xmloff')

diff --git a/xmloff/source/draw/sdxmlexp.cxx b/xmloff/source/draw/sdxmlexp.cxx
index 3eaacf87cc59..67c66b6a1d5f 100644
--- a/xmloff/source/draw/sdxmlexp.cxx
+++ b/xmloff/source/draw/sdxmlexp.cxx
@@ -208,7 +208,7 @@ DECLARE_LIST(ImpXMLEXPPageMasterList, ImpXMLEXPPageMasterInfo*)
 
 //////////////////////////////////////////////////////////////////////////////
 
-#define IMP_AUTOLAYOUT_INFO_MAX         (33L)
+#define IMP_AUTOLAYOUT_INFO_MAX         (35L)
 
 class ImpXMLAutoLayoutInfo
 {
@@ -1250,6 +1250,53 @@ void SdXMLExport::ImpWriteAutoLayoutInfos()
                         ImpWriteAutoLayoutPlaceholder(XmlPlaceholderSubtitle, pInfo->GetPresRectangle());
                         break;
                     }
+
+                    case 33 : // AUTOLAYOUT_4CLIPART
+                    {
+                        Rectangle aTopLeft(pInfo->GetPresRectangle());
+                        aTopLeft.setHeight(long(aTopLeft.GetHeight() * 0.477));
+                        aTopLeft.setWidth(long(aTopLeft.GetWidth() * 0.488));
+                        Rectangle aBottomLeft(aTopLeft);
+                        aBottomLeft.Top() = long(aBottomLeft.Top() + aBottomLeft.GetHeight() * 1.095);
+                        Rectangle aTopRight(aTopLeft);
+                        aTopRight.Left() = long(aTopRight.Left() + aTopRight.GetWidth() * 1.05);
+                        Rectangle aBottomRight(aTopRight);
+                        aBottomRight.Top() = long(aBottomRight.Top() + aBottomRight.GetHeight() * 1.095);
+
+                        ImpWriteAutoLayoutPlaceholder(XmlPlaceholderTitle, pInfo->GetTitleRectangle());
+                        ImpWriteAutoLayoutPlaceholder(XmlPlaceholderGraphic, aTopLeft);
+                        ImpWriteAutoLayoutPlaceholder(XmlPlaceholderGraphic, aTopRight);
+                        ImpWriteAutoLayoutPlaceholder(XmlPlaceholderGraphic, aBottomLeft);
+                        ImpWriteAutoLayoutPlaceholder(XmlPlaceholderGraphic, aBottomRight);
+                        break;
+                    }
+
+                    case 34 : // AUTOLAYOUT_6CLIPART
+                    {
+                        Rectangle aTopLeft(pInfo->GetPresRectangle());
+                        aTopLeft.setHeight(long(aTopLeft.GetHeight() * 0.477));
+                        aTopLeft.setWidth(long(aTopLeft.GetWidth() * 0.322));   
+                        Rectangle aTopCenter(aTopLeft);
+                        aTopCenter.Left() = long(aTopCenter.Left() + aTopCenter.GetWidth() * 1.05);
+                        Rectangle aTopRight(aTopLeft);
+                        aTopRight.Left() = long(aTopRight.Left() + aTopRight.GetWidth() * 2 * 1.05);
+                    
+                        Rectangle aBottomLeft(aTopLeft);
+                        aBottomLeft.Top() = long(aBottomLeft.Top() + aBottomLeft.GetHeight() * 1.095);
+                        Rectangle aBottomCenter(aTopCenter);
+                        aBottomCenter.Top() = long(aBottomCenter.Top() + aBottomCenter.GetHeight() * 1.095);
+                        Rectangle aBottomRight(aTopRight);
+                        aBottomRight.Top() = long(aBottomRight.Top() + aBottomRight.GetHeight() * 1.095);
+                                                
+                        ImpWriteAutoLayoutPlaceholder(XmlPlaceholderTitle, pInfo->GetTitleRectangle());
+                        ImpWriteAutoLayoutPlaceholder(XmlPlaceholderGraphic, aTopLeft);
+                        ImpWriteAutoLayoutPlaceholder(XmlPlaceholderGraphic, aTopCenter);
+                        ImpWriteAutoLayoutPlaceholder(XmlPlaceholderGraphic, aTopRight);
+                        ImpWriteAutoLayoutPlaceholder(XmlPlaceholderGraphic, aBottomLeft);
+                        ImpWriteAutoLayoutPlaceholder(XmlPlaceholderGraphic, aBottomCenter);
+                        ImpWriteAutoLayoutPlaceholder(XmlPlaceholderGraphic, aBottomRight);
+                        break;
+                    }
                     default:
                     {
                         DBG_ERROR("XMLEXP: unknown autolayout export");
diff --git a/xmloff/source/draw/ximpstyl.cxx b/xmloff/source/draw/ximpstyl.cxx
index bacc081840bf..35c1bafbec94 100644
--- a/xmloff/source/draw/ximpstyl.cxx
+++ b/xmloff/source/draw/ximpstyl.cxx
@@ -730,9 +730,30 @@ void SdXMLPresentationPageLayoutContext::EndElement()
                     }
                     break;
                 }
-                default: // 5 items
+                case 5:
                 {
-                    mnTypeId = 18; // AUTOLAYOUT_4OBJ
+                    SdXMLPresentationPlaceholderContext* pObj1 = maList.GetObject(1);
+
+                    if(pObj1->GetName().equals(
+                        OUString(RTL_CONSTASCII_USTRINGPARAM("object"))))
+                    {
+                        mnTypeId = 18; // AUTOLAYOUT_4OBJ
+                    }
+                    else
+                    {
+                        mnTypeId = 33; // AUTOLAYOUT_4CLIPART
+                    }
+                     break;
+
+                }
+                case 7:
+                {
+                    mnTypeId = 33; // AUTOLAYOUT_6CLIPART
+                    break;
+                }
+                default:
+                {
+                    mnTypeId = 20; // AUTOLAYOUT_NONE
                     break;
                 }
             }
-- 
cgit