Version 5.2.6.1, tag libreoffice-5.2.6.1
[LibreOffice.git] / offapi / com / sun / star / frame / XController.idl
blobdbe16853501952bb22371a744507f845b3a3402e
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_frame_XController_idl__
20 #define __com_sun_star_frame_XController_idl__
22 #include <com/sun/star/lang/XComponent.idl>
25 module com { module sun { module star { module frame {
27 published interface XFrame;
28 published interface XModel;
30 /** With this interface, components viewed in a Frame can serve
31 events (by supplying dispatches).
33 @see XFrame
34 @see com::sun::star::awt::XWindow
35 @see XModel
37 published interface XController: com::sun::star::lang::XComponent
39 /** is called to attach the controller with its managing frame.
41 @param Frame
42 the new owner frame of this controller
44 void attachFrame( [in] XFrame Frame );
46 /** is called to attach the controller to a new model.
48 @param Model
49 the new model for this controller
51 @return
52 `TRUE`if attach was successfully
53 <br>
54 `FALSE`otherwise
56 boolean attachModel( [in] XModel Model );
58 /** is called to prepare the controller for closing the view
60 @param Suspend
61 `TRUE`force the controller to suspend his work
62 `FALSE`try to reactivate the controller
64 @return
65 `TRUE`if request was accepted and of course successfully finished
66 <br>
67 `FALSE`otherwise
69 boolean suspend( [in] boolean Suspend );
71 /** provides access to current view status
73 @returns
74 set of data that can be used to restore the current view status
75 at later time by using XController::restoreViewData()
77 any getViewData();
79 /** restores the view status using the data gotten from a previous call to
80 XController::getViewData().
82 @param Data
83 set of data to restore it
85 void restoreViewData( [in] any Data );
87 /** provides access to currently attached model
89 @returns
90 the currently attached model.
92 XModel getModel();
94 /** provides access to owner frame of this controller
96 @returns
97 the frame containing this controller.
99 XFrame getFrame();
103 }; }; }; };
105 #endif
107 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */