LibreOffice Module test (master) 1
xformlayeraccess.cxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
9
11
12#include <com/sun/star/form/runtime/XFormController.hpp>
13#include <com/sun/star/view/XFormLayerAccess.hpp>
14
15#include <com/sun/star/uno/Reference.hxx>
16
17#include <cppunit/TestAssert.h>
18
19using namespace css;
20
21namespace apitest
22{
24{
25 uno::Reference<view::XFormLayerAccess> xFLA(init(), uno::UNO_QUERY_THROW);
26
27 const bool bCurrentMode = xFLA->isFormDesignMode();
28
29 // deliberately don't use UNO_QUERY_THROW, so we can use
30 // uno::XInterface::is() in CPPUNIT_ASSERT()
31 xFLA->setFormDesignMode(false);
32 uno::Reference<form::runtime::XFormController> xFC = xFLA->getFormController(m_xForm);
33 CPPUNIT_ASSERT(xFC.is());
34
35 xFLA->setFormDesignMode(bCurrentMode);
36}
37
39
41{
42 uno::Reference<view::XFormLayerAccess> xFLA(init(), uno::UNO_QUERY_THROW);
43
44 const bool bCurrentMode = xFLA->isFormDesignMode();
45 xFLA->setFormDesignMode(!bCurrentMode);
46
47 const bool bNewMode = xFLA->isFormDesignMode();
48 CPPUNIT_ASSERT_EQUAL(!bCurrentMode, bNewMode);
49
50 xFLA->setFormDesignMode(bCurrentMode);
51 CPPUNIT_ASSERT_EQUAL(bCurrentMode, static_cast<bool>(xFLA->isFormDesignMode()));
52}
53
54} // namespace apitest
55
56/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
css::uno::Reference< css::form::XForm > m_xForm
virtual css::uno::Reference< css::uno::XInterface > init()=0