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 // MARKER(update_precomp.py): autogen include statement, do not remove 29 #include "precompiled_vcl.hxx" 30 31 #include <unx/gtk/atkbridge.hxx> 32 #include <unx/gtk/gtkframe.hxx> 33 34 #include "atkfactory.hxx" 35 #include "atkutil.hxx" 36 #include "atkwindow.hxx" 37 #include <stdio.h> 38 39 bool InitAtkBridge(void) 40 { 41 const char* pVersion = atk_get_toolkit_version(); 42 if( ! pVersion ) 43 return false; 44 45 unsigned int major, minor, micro; 46 47 /* check gail minimum version requirements */ 48 if( sscanf( pVersion, "%u.%u.%u", &major, &minor, µ) < 3 ) 49 { 50 // g_warning( "unable to parse gail version number" ); 51 return false; 52 } 53 54 if( ( (major << 16) | (minor << 8) | micro ) < ( (1 << 16) | 8 << 8 | 6 ) ) 55 { 56 g_warning( "libgail >= 1.8.6 required for accessibility support" ); 57 return false; 58 } 59 60 /* Initialize the AtkUtilityWrapper class */ 61 g_type_class_unref( g_type_class_ref( OOO_TYPE_ATK_UTIL ) ); 62 63 /* Initialize the GailWindow wrapper class */ 64 g_type_class_unref( g_type_class_ref( OOO_TYPE_WINDOW_WRAPPER ) ); 65 66 /* Register AtkObject wrapper factory */ 67 AtkRegistry * registry = atk_get_default_registry(); 68 if( registry ) 69 atk_registry_set_factory_type( registry, OOO_TYPE_FIXED, OOO_TYPE_WRAPPER_FACTORY ); 70 71 return true; 72 } 73 74 void DeInitAtkBridge() 75 { 76 restore_gail_window_vtable(); 77 } 78 79