1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27#ifndef __com_sun_star_ui_ActionTriggerContainer_idl__ 28#define __com_sun_star_ui_ActionTriggerContainer_idl__ 29 30#ifndef __com_sun_star_container_XIndexContainer_idl__ 31#include <com/sun/star/container/XIndexContainer.idl> 32#endif 33#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__ 34#include <com/sun/star/lang/XMultiServiceFactory.idl> 35#endif 36#ifndef __com_sun_star_container_XContainer_idl__ 37#include <com/sun/star/container/XContainer.idl> 38#endif 39#ifndef __com_sun_star_container_XEnumerationAccess_idl__ 40#include <com/sun/star/container/XEnumerationAccess.idl> 41#endif 42 43module com { module sun { module star { module ui { 44 45 46/** describes a container of user actions. 47 48 <p>No assumption is made about any graphical representation: 49 You could have a menu or a toolbox working with the same container 50 describing their entries.</p> 51 52 <p>Possible elements of the <type>ActionTriggerContainer</type> are 53 <ul> 54 <li><type>ActionTrigger</type> - 55 represents a simply clickable menu entry</li> 56 <li><type>ActionTriggerSeparator</type> - 57 represents a separator between two entries<br/> 58 This entry type is of interest for components rendering a an 59 <type>ActionTriggerContainer</type> 60 </li> 61 <li><type>ActionTriggerContainer</type> - 62 represents a sub container</li> 63 </ul> 64 </p> 65*/ 66published service ActionTriggerContainer 67{ 68 /** provides access to the entries of a menu. The element type 69 is <type scope="com::sun::star::beans">XPropertySet</type>. 70 The property set contains attributes like CommandURL, HelpURL 71 as defined in the service <type scope="com::sun::star::ui">ActionTrigger</type> 72 and optional a <type scope="com::sun::star::ui">ActionTriggerContainer</type>. 73 */ 74 75 interface ::com::sun::star::container::XIndexContainer; 76 77 /** creates elements to be inserted into the container. 78 <p>Usually, the <method>XMultiServiceFactory::getSupportedServiceNames</method> 79 gives you a <type>ActionTrigger</type> and 80 optionally <type>ActionTriggerContainer</type> and 81 <type>ActionTriggerSeparator</type> 82 83 .</p> 84 */ 85 interface ::com::sun::star::lang::XMultiServiceFactory; 86 87 /** allows to enumerate the elements of the container 88 */ 89 [optional] interface ::com::sun::star::container::XEnumerationAccess; 90 91 /** allows foreign components to register themself as listener for the container 92 structure. 93 */ 94 [optional] interface ::com::sun::star::container::XContainer; 95}; 96}; }; }; }; 97#endif 98