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 _SALAQUAFPICKER_HXX_ 29 #define _SALAQUAFPICKER_HXX_ 30 31 //_____________________________________________________________________________ 32 // includes of other projects 33 //_____________________________________________________________________________ 34 35 #include <osl/mutex.hxx> 36 37 #ifndef _RTL_USTRING_HXX 38 #include <rtl/ustring.hxx> 39 #endif 40 41 #ifndef _COM_SUN_STAR_LANG_ILLEGALARGUMENTEXCEPTION_HXX_ 42 #include <com/sun/star/lang/IllegalArgumentException.hpp> 43 #endif 44 45 #ifndef _COM_SUN_STAR_UNO_RUNTIMEEXCEPTION_HXX_ 46 #include <com/sun/star/uno/RuntimeException.hpp> 47 #endif 48 #include "ControlHelper.hxx" 49 50 #include <premac.h> 51 #import <Cocoa/Cocoa.h> 52 #include <postmac.h> 53 54 //---------------------------------------------------------- 55 // class declaration 56 //---------------------------------------------------------- 57 58 class SalAquaPicker 59 { 60 public: 61 // constructor 62 SalAquaPicker(); 63 virtual ~SalAquaPicker(); 64 65 int run(); 66 int runandwaitforresult(); 67 68 inline rtl::OUString getDisplayDirectory() { return m_sDisplayDirectory; } 69 70 inline ControlHelper* getControlHelper() const { 71 return m_pControlHelper; 72 } 73 74 protected: 75 76 rtl::OUString m_sDisplayDirectory; 77 78 NSSavePanel *m_pDialog; 79 80 ControlHelper *m_pControlHelper; 81 82 osl::Mutex m_rbHelperMtx; 83 84 // The type of dialog 85 enum NavigationServices_DialogType { 86 NAVIGATIONSERVICES_OPEN, 87 NAVIGATIONSERVICES_SAVE, 88 NAVIGATIONSERVICES_DIRECTORY 89 }; 90 91 NavigationServices_DialogType m_nDialogType; 92 93 void implsetTitle( const ::rtl::OUString& aTitle ) 94 throw( ::com::sun::star::uno::RuntimeException ); 95 96 void implsetDisplayDirectory( const rtl::OUString& rDirectory ) 97 throw( com::sun::star::lang::IllegalArgumentException, com::sun::star::uno::RuntimeException ); 98 99 rtl::OUString implgetDisplayDirectory( ) 100 throw( com::sun::star::uno::RuntimeException ); 101 102 void implInitialize( ); 103 104 }; 105 106 #endif 107