1d1766043SAndrew Rist/**************************************************************
2*99c4f019SAriel Constenla-Haile *
3d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5d1766043SAndrew Rist * distributed with this work for additional information
6d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10*99c4f019SAriel Constenla-Haile *
11d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12*99c4f019SAriel Constenla-Haile *
13d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14d1766043SAndrew Rist * software distributed under the License is distributed on an
15d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17d1766043SAndrew Rist * specific language governing permissions and limitations
18d1766043SAndrew Rist * under the License.
19*99c4f019SAriel Constenla-Haile *
20d1766043SAndrew Rist *************************************************************/
21d1766043SAndrew Rist
22cdf0e10cSrcweir#ifndef __com_sun_star_ui_dialogs_XWizardController_idl__
23cdf0e10cSrcweir#define __com_sun_star_ui_dialogs_XWizardController_idl__
24cdf0e10cSrcweir
25cdf0e10cSrcweir#include <com/sun/star/ui/dialogs/XWizardPage.idl>
26cdf0e10cSrcweir
27cdf0e10cSrcweirmodule com { module sun { module star { module ui { module dialogs {
28cdf0e10cSrcweir
29cdf0e10cSrcweir/** is the interface of a client-provided controller of a custom <type>Wizard</type>.
30105086f9SAriel Constenla-Haile
31105086f9SAriel Constenla-Haile    @since OpenOffice 3.3
32cdf0e10cSrcweir */
338e964030SAriel Constenla-Haileinterface XWizardController
34cdf0e10cSrcweir{
35cdf0e10cSrcweir    /** creates a page
36cdf0e10cSrcweir
37cdf0e10cSrcweir        <p>Wizard pages are created on demand, when the respective page is reached during traveling through the
38cdf0e10cSrcweir        wizard. Effectively, this means the method is called at most once for each possible page ID.</p>
39cdf0e10cSrcweir
40cdf0e10cSrcweir        @param ParentWindow
41cdf0e10cSrcweir            the parent window to use for the page window
42cdf0e10cSrcweir        @param PageId
43cdf0e10cSrcweir            the ID of the page.
44cdf0e10cSrcweir        @return
45cdf0e10cSrcweir            the requested page.
46cdf0e10cSrcweir    */
47cdf0e10cSrcweir    XWizardPage createPage( [in] ::com::sun::star::awt::XWindow ParentWindow, [in] short PageId );
48cdf0e10cSrcweir
49cdf0e10cSrcweir    /** provides the title of a page given by ID
50cdf0e10cSrcweir
51cdf0e10cSrcweir        <p>The page titles are displayed in the wizard's roadmap.</p>
52cdf0e10cSrcweir    */
53cdf0e10cSrcweir    string  getPageTitle( [in] short PageId );
54cdf0e10cSrcweir
55cdf0e10cSrcweir    boolean canAdvance();
56cdf0e10cSrcweir
57cdf0e10cSrcweir    /** called when a new page in the wizard is being activated
58cdf0e10cSrcweir    */
59cdf0e10cSrcweir    void    onActivatePage( [in] short PageId );
60cdf0e10cSrcweir
61cdf0e10cSrcweir    /** called when a page in the wizard is being deactivated
62cdf0e10cSrcweir    */
63cdf0e10cSrcweir    void    onDeactivatePage( [in] short PageId );
64cdf0e10cSrcweir
65cdf0e10cSrcweir    /** called when the wizard is about to be finished.
66cdf0e10cSrcweir
67cdf0e10cSrcweir        <p>This method allows the controller to do any final checks, and ultimatively veto finishing the wizard.</p>
68cdf0e10cSrcweir    */
69cdf0e10cSrcweir    boolean confirmFinish();
70cdf0e10cSrcweir};
71cdf0e10cSrcweir
72cdf0e10cSrcweir}; }; }; }; };
73cdf0e10cSrcweir
74cdf0e10cSrcweir#endif
75