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 28 #ifndef UNODIALOG_HXX 29 #define UNODIALOG_HXX 30 31 #include <com/sun/star/uno/Sequence.h> 32 #include <com/sun/star/lang/XSingleServiceFactory.hpp> 33 #ifndef _COM_SUN_STAR_LANG_XMULTI_COMPONENT_FACTORY_HPP_ 34 #include <com/sun/star/lang/XMultiServiceFactory.hpp> 35 #endif 36 #include <com/sun/star/container/XIndexContainer.hpp> 37 #include <com/sun/star/frame/XController.hpp> 38 #include <com/sun/star/frame/XFrame.hpp> 39 #include <com/sun/star/script/XInvocation.hpp> 40 #include <com/sun/star/beans/XPropertySet.hpp> 41 #include <com/sun/star/beans/XMultiPropertySet.hpp> 42 #include <com/sun/star/awt/XControl.hpp> 43 #include <com/sun/star/awt/XControlModel.hpp> 44 #include <com/sun/star/container/XNameContainer.hpp> 45 #include <com/sun/star/container/XNameAccess.hpp> 46 #include <com/sun/star/uno/XComponentContext.hpp> 47 #include <com/sun/star/awt/XActionListener.hpp> 48 #include <com/sun/star/awt/XTextListener.hpp> 49 #include <com/sun/star/awt/XButton.hpp> 50 #include <com/sun/star/awt/XCheckBox.hpp> 51 #include <com/sun/star/awt/XComboBox.hpp> 52 #include <com/sun/star/awt/XTextComponent.hpp> 53 #include <com/sun/star/awt/XRadioButton.hpp> 54 #include <com/sun/star/awt/XListBox.hpp> 55 #include <com/sun/star/awt/XFixedText.hpp> 56 #include <com/sun/star/awt/XControlContainer.hpp> 57 #include <com/sun/star/awt/XReschedule.hpp> 58 #include <com/sun/star/awt/XDialog.hpp> 59 #include <com/sun/star/awt/Size.hpp> 60 #include <cppuhelper/implbase1.hxx> 61 #include <cppuhelper/implbase2.hxx> 62 #include <cppuhelper/implbase3.hxx> 63 64 // ------------- 65 // - UnoDialog - 66 // ------------- 67 68 //////////////////////////////////////////////////////////////////////// 69 70 class UnoDialog 71 { 72 public : 73 74 UnoDialog( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxMSF, com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& rxFrame ); 75 ~UnoDialog(); 76 77 void execute(); 78 void endExecute( sal_Bool bStatus ); 79 80 com::sun::star::uno::Reference< com::sun::star::awt::XWindowPeer > createWindowPeer( com::sun::star::uno::Reference< com::sun::star::awt::XWindowPeer > xParentPeer ) 81 throw ( com::sun::star::uno::Exception ); 82 83 com::sun::star::uno::Reference< com::sun::star::uno::XInterface > insertControlModel( const rtl::OUString& rServiceName, const rtl::OUString& rName, 84 const com::sun::star::uno::Sequence< rtl::OUString >& rPropertyNames, const com::sun::star::uno::Sequence< com::sun::star::uno::Any >& rPropertyValues ); 85 86 void setVisible( const rtl::OUString& rName, sal_Bool bVisible ); 87 88 sal_Bool isHighContrast(); 89 90 sal_Int32 getMapsFromPixels( sal_Int32 nPixels ) const; 91 92 com::sun::star::uno::Reference< com::sun::star::awt::XButton > insertButton( const rtl::OUString& rName, 93 com::sun::star::uno::Reference< com::sun::star::awt::XActionListener > xActionListener, const com::sun::star::uno::Sequence< rtl::OUString >& rPropertyNames, 94 const com::sun::star::uno::Sequence< com::sun::star::uno::Any >& rPropertyValues ); 95 96 com::sun::star::uno::Reference< com::sun::star::awt::XFixedText > insertFixedText( const rtl::OUString& rName, 97 const com::sun::star::uno::Sequence< rtl::OUString > rPropertyNames, const com::sun::star::uno::Sequence< com::sun::star::uno::Any > rPropertyValues ); 98 99 com::sun::star::uno::Reference< com::sun::star::awt::XCheckBox > insertCheckBox( const rtl::OUString& rName, 100 const com::sun::star::uno::Sequence< rtl::OUString > rPropertyNames, const com::sun::star::uno::Sequence< com::sun::star::uno::Any > rPropertyValues ); 101 102 com::sun::star::uno::Reference< com::sun::star::awt::XControl > insertFormattedField( const rtl::OUString& rName, 103 const com::sun::star::uno::Sequence< rtl::OUString > rPropertyNames, const com::sun::star::uno::Sequence< com::sun::star::uno::Any > rPropertyValues ); 104 105 com::sun::star::uno::Reference< com::sun::star::awt::XComboBox > insertComboBox( const rtl::OUString& rName, 106 const com::sun::star::uno::Sequence< rtl::OUString > rPropertyNames, const com::sun::star::uno::Sequence< com::sun::star::uno::Any > rPropertyValues ); 107 108 com::sun::star::uno::Reference< com::sun::star::awt::XRadioButton > insertRadioButton( const rtl::OUString& rName, 109 const com::sun::star::uno::Sequence< rtl::OUString > rPropertyNames, const com::sun::star::uno::Sequence< com::sun::star::uno::Any > rPropertyValues ); 110 111 com::sun::star::uno::Reference< com::sun::star::awt::XListBox > insertListBox( const rtl::OUString& rName, 112 const com::sun::star::uno::Sequence< rtl::OUString > rPropertyNames, const com::sun::star::uno::Sequence< com::sun::star::uno::Any > rPropertyValues ); 113 114 com::sun::star::uno::Reference< com::sun::star::awt::XControl > insertImage( const rtl::OUString& rName, 115 const com::sun::star::uno::Sequence< rtl::OUString > rPropertyNames, const com::sun::star::uno::Sequence< com::sun::star::uno::Any > rPropertyValues ); 116 117 void setControlProperty( const rtl::OUString& rControlName, const rtl::OUString& rPropertyName, const com::sun::star::uno::Any& rPropertyValue ); 118 com::sun::star::uno::Any getControlProperty( const rtl::OUString& rControlName, const rtl::OUString& rPropertyName ); 119 #if 0 120 void showMessageBox( const rtl::OUString& rTitle, const rtl::OUString& rMessage, sal_Bool bErrorBox ) const; 121 #endif 122 void enableControl( const rtl::OUString& rControlName ); 123 void disableControl( const rtl::OUString& rControlName ); 124 125 com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > mxMSF; 126 com::sun::star::uno::Reference< com::sun::star::frame::XController > mxController; 127 com::sun::star::uno::Reference< com::sun::star::awt::XReschedule > mxReschedule; 128 129 com::sun::star::uno::Reference< com::sun::star::uno::XInterface > mxDialogModel; 130 com::sun::star::uno::Reference< com::sun::star::beans::XMultiPropertySet > mxDialogModelMultiPropertySet; 131 com::sun::star::uno::Reference< com::sun::star::beans::XPropertySet > mxDialogModelPropertySet; 132 com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory > mxDialogModelMSF; 133 com::sun::star::uno::Reference< com::sun::star::container::XNameContainer > mxDialogModelNameContainer; 134 com::sun::star::uno::Reference< com::sun::star::container::XNameAccess > mxDialogModelNameAccess; 135 136 com::sun::star::uno::Reference< com::sun::star::awt::XControlModel > mxControlModel; 137 138 com::sun::star::uno::Reference< com::sun::star::awt::XDialog > mxDialog; 139 com::sun::star::uno::Reference< com::sun::star::awt::XControl > mxControl; 140 com::sun::star::uno::Reference< com::sun::star::awt::XWindowPeer > mxWindowPeer; 141 142 com::sun::star::uno::Reference< com::sun::star::awt::XControlContainer > mxDialogControlContainer; 143 com::sun::star::uno::Reference< com::sun::star::lang::XComponent > mxDialogComponent; 144 com::sun::star::uno::Reference< com::sun::star::awt::XWindow > mxDialogWindow; 145 146 sal_Bool mbStatus; 147 }; 148 149 #endif // UNODIALOG_HXX 150