From a402502e216a38491c7132b0915026f83af89254 Mon Sep 17 00:00:00 2001
From: Artur Dorda <artur.dorda+libo@gmail.com>
Date: Sun, 15 Apr 2012 02:20:16 +0200
Subject: [PATCH] transferring java XPrintAreas to c++

---
 sc/qa/extras/sctablesheetobj.cxx    |    5 ++-
 test/Library_subsequenttest.mk      |    1 +
 test/Package_inc.mk                 |    1 +
 test/inc/test/sheet/xprintareas.hxx |   59 +++++++++++++++++++++++++++++++++
 test/source/sheet/xprintareas.cxx   |   61 +++++++++++++++++++++++++++++++++++
 5 files changed, 126 insertions(+), 1 deletions(-)
 create mode 100644 test/inc/test/sheet/xprintareas.hxx
 create mode 100644 test/source/sheet/xprintareas.cxx

diff --git a/sc/qa/extras/sctablesheetobj.cxx b/sc/qa/extras/sctablesheetobj.cxx
index 0f1d79a..1a1d2e5 100644
--- a/sc/qa/extras/sctablesheetobj.cxx
+++ b/sc/qa/extras/sctablesheetobj.cxx
@@ -36,7 +36,7 @@
 namespace sc_apitest
 {
 
-class ScTableSheetObj : public UnoApiTest, apitest::XSearchable, apitest::XReplaceable
+class ScTableSheetObj : public UnoApiTest, apitest::XSearchable, apitest::XReplaceable, apitest::XPrintAreas
 {
 public:
     ScTableSheetObj();
@@ -49,6 +49,9 @@ public:
     CPPUNIT_TEST(testFindFirst);
     CPPUNIT_TEST(testReplaceAll);
     CPPUNIT_TEST(testCreateReplaceDescriptor);
+    // XPrintAreas
+    CPPUNIT_TEST(testSetAndGetPrintTitleColumns);
+    CPPUNIT_TEST(testSetAndGetPrintTitleRows);
     CPPUNIT_TEST_SUITE_END();
 
 private:
diff --git a/test/Library_subsequenttest.mk b/test/Library_subsequenttest.mk
index 070c6d1..7d865f8 100644
--- a/test/Library_subsequenttest.mk
+++ b/test/Library_subsequenttest.mk
@@ -79,6 +79,7 @@ $(eval $(call gb_Library_add_exception_objects,subsequenttest,\
     test/source/sheet/xdatapilottable2 \
     test/source/sheet/xnamedrange \
     test/source/sheet/xnamedranges \
+    test/source/sheet/xprintareas \
     test/source/sheet/xspreadsheetdocument \
     test/source/sheet/xspreadsheets2 \
     test/source/util/xreplaceable \
diff --git a/test/Package_inc.mk b/test/Package_inc.mk
index 62c3fa4..306a72d 100644
--- a/test/Package_inc.mk
+++ b/test/Package_inc.mk
@@ -50,5 +50,6 @@ $(eval $(call gb_Package_add_file,test_inc,inc/test/sheet/xspreadsheetdocument.h
 $(eval $(call gb_Package_add_file,test_inc,inc/test/sheet/xspreadsheets2.hxx,test/sheet/xspreadsheets2.hxx))
 $(eval $(call gb_Package_add_file,test_inc,inc/test/util/xreplaceable.hxx,test/util/xreplaceable.hxx))
 $(eval $(call gb_Package_add_file,test_inc,inc/test/util/xsearchable.hxx,test/util/xsearchable.hxx))
+$(eval $(call gb_Package_add_file,test_inc,inc/test/util/xprintareas.hxx,test/util/xprintareas.hxx))
 
 # vim: set noet sw=4 ts=4:
diff --git a/test/inc/test/sheet/xprintareas.hxx b/test/inc/test/sheet/xprintareas.hxx
new file mode 100644
index 0000000..08f5348
--- /dev/null
+++ b/test/inc/test/sheet/xprintareas.hxx
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ * Copyright (C) 2012 Artur Dorda <artur.dorda+libo@gmail.com> (initial developer)
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+ #include <com/sun/star/sheet/XPrintAreas.hpp>
+ #include <test/testdllapi.hxx>
+
+using namespace com::sun::star;
+
+namespace apitest {
+
+class OOO_DLLPUBLIC_TEST XPrintAreas
+{
+public:
+    virtual uno::Reference< uno::XInterface > init() = 0;
+
+    void testSetAndGetPrintTitleColumns();   //getter and setter in one test case
+    void testSetAndGetPrintTitleRows();
+
+    void testGetPrintAreas();           // returns a sequence containing all print areas of the sheet.
+    void testSetPrintAreas();           // sets the print areas of the sheet.
+    void testGetTitleColumns();         // returns the range that is specified as title columns range.
+    void testSetTitleColumns();         // specifies a range of columns as title columns range.
+    void testGetTitleRows();            // returns the range that is specified as title rows range.
+    void testSetTitleRows();            // specifies a range of rows as title rows range.
+
+protected:
+    ~XPrintAreas() {}
+
+
+};
+
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/test/source/sheet/xprintareas.cxx b/test/source/sheet/xprintareas.cxx
new file mode 100644
index 0000000..1e7a5f9
--- /dev/null
+++ b/test/source/sheet/xprintareas.cxx
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ * Copyright (C) 2012 Artur Dorda <artur.dorda+libo@gmail.com> (initial developer)
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#include <test/sheet/xprintareas.hxx>
+#include <com/sun/star/sheet/XPrintAreas.hpp>
+
+#include "cppunit/extensions/HelperMacros.h"
+#include <rtl/oustringostreaminserter.hxx>
+
+using namespace com::sun::star::uno;
+
+namespace apitest {
+
+    void XPrintAreas::testSetAndGetPrintTitleColumns()
+    {
+        uno::Reference< sheet::XPrintAreas > xPrintAreas(init(), UNO_QUERY_THROW);
+        sal_Bool testState = true;
+        xPrintAreas->setPrintTitleColumns(testState);
+
+        CPPUNIT_ASSERT_MESSAGE("Wrong attribution at PrintTitleColumns", xPrintAreas.getPrintTitleColumns() == !testState);
+
+    }
+
+    void XPrintAreas::testSetAndGetPrintTitleRows()
+    {
+        uno::Reference< sheet::XPrintAreas > xPrintAreas(init(), UNO_QUERY_THROW);
+        sal_Bool testState = true;
+        xPrintAreas->setPrintTitleRows(testState);
+
+        CPPUNIT_ASSERT_MESSAGE("Wrong attribution at PrintTitleRows", xPrintAreas.getPrintTitleRows() == !testState);
+    }
+
+    // the rest is right now in progress...
+
+
+}
-- 
1.7.4.1

