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 _EXTENSIONS_PROPCTRLR_SELECTLABELDIALOG_HXX_ 29 #define _EXTENSIONS_PROPCTRLR_SELECTLABELDIALOG_HXX_ 30 31 #include <vcl/fixed.hxx> 32 #include <svtools/svtreebx.hxx> 33 #ifndef _SV_BUTTON_HXX 34 #include <vcl/button.hxx> 35 #endif 36 #include <vcl/image.hxx> 37 #include <vcl/dialog.hxx> 38 #include <com/sun/star/beans/XPropertySet.hpp> 39 #ifndef _EXTENSIONS_PROPCTRLR_MODULEPRC_HXX_ 40 #include "modulepcr.hxx" 41 #endif 42 43 //............................................................................ 44 namespace pcr 45 { 46 //............................................................................ 47 48 //======================================================================== 49 // OSelectLabelDialog 50 //======================================================================== 51 class OSelectLabelDialog 52 :public ModalDialog 53 ,public PcrClient 54 { 55 FixedText m_aMainDesc; 56 SvTreeListBox m_aControlTree; 57 CheckBox m_aNoAssignment; 58 FixedLine m_aSeparator; 59 OKButton m_aOk; 60 CancelButton m_aCancel; 61 62 ImageList m_aModelImages; 63 ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > m_xControlModel; 64 ::rtl::OUString m_sRequiredService; 65 Image m_aRequiredControlImage; 66 SvLBoxEntry* m_pInitialSelection; 67 ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > m_xInitialLabelControl; 68 69 ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > m_xSelectedControl; 70 SvLBoxEntry* m_pLastSelected; 71 sal_Bool m_bHaveAssignableControl; 72 73 public: 74 OSelectLabelDialog(Window* pParent, ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _xControlModel); 75 ~OSelectLabelDialog(); 76 77 ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > GetSelected() const { return m_aNoAssignment.IsChecked() ? ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > () : m_xSelectedControl; } 78 79 protected: 80 sal_Int32 InsertEntries(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _xContainer, SvLBoxEntry* pContainerEntry); 81 82 DECL_LINK(OnEntrySelected, SvTreeListBox*); 83 DECL_LINK(OnNoAssignmentClicked, Button*); 84 }; 85 86 //............................................................................ 87 } // namespace pcr 88 //............................................................................ 89 90 #endif // _EXTENSIONS_PROPCTRLR_SELECTLABELDIALOG_HXX_ 91 92