xref: /AOO41X/main/framework/inc/macros/debug/event.hxx (revision cdf0e10c4e3984b49a9502b011690b615761d4a3)
1*cdf0e10cSrcweir /*************************************************************************
2*cdf0e10cSrcweir  *
3*cdf0e10cSrcweir  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*cdf0e10cSrcweir  *
5*cdf0e10cSrcweir  * Copyright 2000, 2010 Oracle and/or its affiliates.
6*cdf0e10cSrcweir  *
7*cdf0e10cSrcweir  * OpenOffice.org - a multi-platform office productivity suite
8*cdf0e10cSrcweir  *
9*cdf0e10cSrcweir  * This file is part of OpenOffice.org.
10*cdf0e10cSrcweir  *
11*cdf0e10cSrcweir  * OpenOffice.org is free software: you can redistribute it and/or modify
12*cdf0e10cSrcweir  * it under the terms of the GNU Lesser General Public License version 3
13*cdf0e10cSrcweir  * only, as published by the Free Software Foundation.
14*cdf0e10cSrcweir  *
15*cdf0e10cSrcweir  * OpenOffice.org is distributed in the hope that it will be useful,
16*cdf0e10cSrcweir  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17*cdf0e10cSrcweir  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*cdf0e10cSrcweir  * GNU Lesser General Public License version 3 for more details
19*cdf0e10cSrcweir  * (a copy is included in the LICENSE file that accompanied this code).
20*cdf0e10cSrcweir  *
21*cdf0e10cSrcweir  * You should have received a copy of the GNU Lesser General Public License
22*cdf0e10cSrcweir  * version 3 along with OpenOffice.org.  If not, see
23*cdf0e10cSrcweir  * <http://www.openoffice.org/license.html>
24*cdf0e10cSrcweir  * for a copy of the LGPLv3 License.
25*cdf0e10cSrcweir  *
26*cdf0e10cSrcweir  ************************************************************************/
27*cdf0e10cSrcweir 
28*cdf0e10cSrcweir #ifndef __FRAMEWORK_MACROS_DEBUG_EVENT_HXX_
29*cdf0e10cSrcweir #define __FRAMEWORK_MACROS_DEBUG_EVENT_HXX_
30*cdf0e10cSrcweir 
31*cdf0e10cSrcweir //*************************************************************************************************************
32*cdf0e10cSrcweir //	special macros for event handling
33*cdf0e10cSrcweir //*************************************************************************************************************
34*cdf0e10cSrcweir 
35*cdf0e10cSrcweir #ifdef	ENABLE_EVENTDEBUG
36*cdf0e10cSrcweir 
37*cdf0e10cSrcweir 	//_________________________________________________________________________________________________________________
38*cdf0e10cSrcweir 	//	includes
39*cdf0e10cSrcweir 	//_________________________________________________________________________________________________________________
40*cdf0e10cSrcweir 
41*cdf0e10cSrcweir 	#ifndef _RTL_STRBUF_HXX_
42*cdf0e10cSrcweir 	#include <rtl/strbuf.hxx>
43*cdf0e10cSrcweir 	#endif
44*cdf0e10cSrcweir 
45*cdf0e10cSrcweir 	/*_____________________________________________________________________________________________________________
46*cdf0e10cSrcweir 		LOGFILE_EVENTDEBUG
47*cdf0e10cSrcweir 
48*cdf0e10cSrcweir 		For follow macros we need a special log file. If user forget to specify anyone, we must do it for him!
49*cdf0e10cSrcweir 	_____________________________________________________________________________________________________________*/
50*cdf0e10cSrcweir 
51*cdf0e10cSrcweir 	#ifndef	LOGFILE_EVENTDEBUG
52*cdf0e10cSrcweir 		#define	LOGFILE_EVENTDEBUG																										\
53*cdf0e10cSrcweir 					"events.log"
54*cdf0e10cSrcweir 	#endif
55*cdf0e10cSrcweir 
56*cdf0e10cSrcweir 	/*_____________________________________________________________________________________________________________
57*cdf0e10cSrcweir 		LOG_FRAMEACTIONEVENT( SFRAMETYPE, SFRAMENAME, AFRAMEACTION )
58*cdf0e10cSrcweir 
59*cdf0e10cSrcweir 		Use this macro to print debug informations about sending of events to listener for controling right order.
60*cdf0e10cSrcweir 		( Use new scope in macro to declare sBuffer more then on time in same "parentscope"! )
61*cdf0e10cSrcweir 	_____________________________________________________________________________________________________________*/
62*cdf0e10cSrcweir 
63*cdf0e10cSrcweir 	#define LOG_FRAMEACTIONEVENT( SFRAMETYPE, SFRAMENAME, AFRAMEACTION )																\
64*cdf0e10cSrcweir 				{																														\
65*cdf0e10cSrcweir 					::rtl::OStringBuffer sBuffer(1024);																					\
66*cdf0e10cSrcweir 					sBuffer.append( "[ "				);																				\
67*cdf0e10cSrcweir 					sBuffer.append( SFRAMETYPE			);																				\
68*cdf0e10cSrcweir 					sBuffer.append( " ] \""				);																				\
69*cdf0e10cSrcweir 					sBuffer.append( U2B( SFRAMENAME )	);																				\
70*cdf0e10cSrcweir 					sBuffer.append( "\" send event \""	);																				\
71*cdf0e10cSrcweir 					switch( AFRAMEACTION )																								\
72*cdf0e10cSrcweir 					{																													\
73*cdf0e10cSrcweir 						case ::com::sun::star::frame::FrameAction_COMPONENT_ATTACHED	:	sBuffer.append("COMPONENT ATTACHED"		);	\
74*cdf0e10cSrcweir 																							break;										\
75*cdf0e10cSrcweir 						case ::com::sun::star::frame::FrameAction_COMPONENT_DETACHING	:	sBuffer.append("COMPONENT DETACHING"	);	\
76*cdf0e10cSrcweir 																							break;										\
77*cdf0e10cSrcweir 						case ::com::sun::star::frame::FrameAction_COMPONENT_REATTACHED	:	sBuffer.append("COMPONENT REATTACHED"	);	\
78*cdf0e10cSrcweir 																							break;										\
79*cdf0e10cSrcweir 						case ::com::sun::star::frame::FrameAction_FRAME_ACTIVATED		:	sBuffer.append("FRAME ACTIVATED"		);	\
80*cdf0e10cSrcweir 																							break;										\
81*cdf0e10cSrcweir 						case ::com::sun::star::frame::FrameAction_FRAME_DEACTIVATING	:	sBuffer.append("FRAME DEACTIVATING"		);	\
82*cdf0e10cSrcweir 																							break;										\
83*cdf0e10cSrcweir 						case ::com::sun::star::frame::FrameAction_CONTEXT_CHANGED		:	sBuffer.append("CONTEXT CHANGED"		);	\
84*cdf0e10cSrcweir 																							break;										\
85*cdf0e10cSrcweir 						case ::com::sun::star::frame::FrameAction_FRAME_UI_ACTIVATED	:	sBuffer.append("FRAME UI ACTIVATED"		);	\
86*cdf0e10cSrcweir 																							break;										\
87*cdf0e10cSrcweir 						case ::com::sun::star::frame::FrameAction_FRAME_UI_DEACTIVATING	:	sBuffer.append("FRAME UI DEACTIVATING"	);	\
88*cdf0e10cSrcweir 																							break;										\
89*cdf0e10cSrcweir 						case ::com::sun::star::frame::FrameAction_MAKE_FIXED_SIZE		:	sBuffer.append("MAKE_FIXED_SIZE"		);	\
90*cdf0e10cSrcweir 																							break;										\
91*cdf0e10cSrcweir 						default:	sBuffer.append("... ERROR: invalid FrameAction detected!"	);										\
92*cdf0e10cSrcweir 									break;																								\
93*cdf0e10cSrcweir 					}																													\
94*cdf0e10cSrcweir 					sBuffer.append( " ... event to listener.\n\n" );																	\
95*cdf0e10cSrcweir 					WRITE_LOGFILE( LOGFILE_EVENTDEBUG, sBuffer.makeStringAndClear() )													\
96*cdf0e10cSrcweir 				}
97*cdf0e10cSrcweir 
98*cdf0e10cSrcweir 	/*_____________________________________________________________________________________________________________
99*cdf0e10cSrcweir 		LOG_FRAMEACTIONEVENT( SFRAMETYPE, SFRAMENAME )
100*cdf0e10cSrcweir 
101*cdf0e10cSrcweir 		These macro log information about sending of dispose events to listener.
102*cdf0e10cSrcweir 		( Use new scope in macro to declare sBuffer more then on time in same "parentscope"! )
103*cdf0e10cSrcweir 	_____________________________________________________________________________________________________________*/
104*cdf0e10cSrcweir 
105*cdf0e10cSrcweir 	#define	LOG_DISPOSEEVENT( SFRAMETYPE, SFRAMENAME )																					\
106*cdf0e10cSrcweir 				{																														\
107*cdf0e10cSrcweir 					::rtl::OStringBuffer sBuffer(1024);																					\
108*cdf0e10cSrcweir 					sBuffer.append( "[ "									);															\
109*cdf0e10cSrcweir 					sBuffer.append( SFRAMETYPE								);															\
110*cdf0e10cSrcweir 					sBuffer.append( " ] \""									);															\
111*cdf0e10cSrcweir 					sBuffer.append( U2B( SFRAMENAME )						);															\
112*cdf0e10cSrcweir 					sBuffer.append( "\" send dispose event to listener.\n\n");															\
113*cdf0e10cSrcweir 					WRITE_LOGFILE( LOGFILE_EVENTDEBUG, sBuffer.makeStringAndClear() )													\
114*cdf0e10cSrcweir 				}
115*cdf0e10cSrcweir 
116*cdf0e10cSrcweir #else	// #ifdef ENABLE_EVENTDEBUG
117*cdf0e10cSrcweir 
118*cdf0e10cSrcweir 	/*_____________________________________________________________________________________________________________
119*cdf0e10cSrcweir 		If right testmode is'nt set - implements these macros empty!
120*cdf0e10cSrcweir 	_____________________________________________________________________________________________________________*/
121*cdf0e10cSrcweir 
122*cdf0e10cSrcweir 	#undef	LOGFILE_EVENTDEBUG
123*cdf0e10cSrcweir 	#define LOG_FRAMEACTIONEVENT( SFRAMETYPE, SFRAMENAME, AFRAMEACTION )
124*cdf0e10cSrcweir 	#define	LOG_DISPOSEEVENT( SFRAMETYPE, SFRAMENAME )
125*cdf0e10cSrcweir 
126*cdf0e10cSrcweir #endif	// #ifdef ENABLE_EVENTDEBUG
127*cdf0e10cSrcweir 
128*cdf0e10cSrcweir //*****************************************************************************************************************
129*cdf0e10cSrcweir //	end of file
130*cdf0e10cSrcweir //*****************************************************************************************************************
131*cdf0e10cSrcweir 
132*cdf0e10cSrcweir #endif	// #ifndef __FRAMEWORK_MACROS_DEBUG_EVENT_HXX_
133