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_svx.hxx"
30 #include "AccessibleTextEventQueue.hxx"
31 #include <svx/unoshape.hxx>
32 #include "editeng/unolingu.hxx"
33 #include <editeng/unotext.hxx>
34 
35 #include "editeng/unoedhlp.hxx"
36 #include "editeng/unopracc.hxx"
37 #include <svx/svdmodel.hxx>
38 #include <svx/svdpntv.hxx>
39 #include <editeng/editdata.hxx>
40 #include <editeng/editeng.hxx>
41 #include <editeng/editview.hxx>
42 
43 namespace accessibility
44 {
45 	//------------------------------------------------------------------------
46 	//
47 	// EventQueue implementation
48 	//
49 	//------------------------------------------------------------------------
50 
51     AccessibleTextEventQueue::AccessibleTextEventQueue()
52     {
53     }
54 
55     AccessibleTextEventQueue::~AccessibleTextEventQueue()
56     {
57         Clear();
58     }
59 
60     void AccessibleTextEventQueue::Append( const SfxHint& rHint )
61     {
62         maEventQueue.push_back( new SfxHint( rHint ) );
63     }
64 
65     void AccessibleTextEventQueue::Append( const SdrHint& rHint )
66     {
67         maEventQueue.push_back( new SdrHint( rHint ) );
68     }
69 
70     void AccessibleTextEventQueue::Append( const SfxSimpleHint& rHint )
71     {
72         maEventQueue.push_back( new SfxSimpleHint( rHint ) );
73     }
74 
75     void AccessibleTextEventQueue::Append( const TextHint& rHint )
76     {
77         maEventQueue.push_back( new TextHint( rHint ) );
78     }
79 
80     void AccessibleTextEventQueue::Append( const SvxViewHint& rHint )
81     {
82         maEventQueue.push_back( new SvxViewHint( rHint ) );
83     }
84 
85     void AccessibleTextEventQueue::Append( const SvxEditSourceHint& rHint )
86     {
87         maEventQueue.push_back( new SvxEditSourceHint( rHint ) );
88     }
89 
90     ::std::auto_ptr< SfxHint > AccessibleTextEventQueue::PopFront()
91     {
92         ::std::auto_ptr< SfxHint > aRes( *(maEventQueue.begin()) );
93         maEventQueue.pop_front();
94         return aRes;
95     }
96 
97     bool AccessibleTextEventQueue::IsEmpty() const
98     {
99         return maEventQueue.empty();
100     }
101 
102     void AccessibleTextEventQueue::Clear()
103     {
104         // clear queue
105         while( !IsEmpty() )
106             PopFront();
107     }
108 
109 } // end of namespace accessibility
110 
111 //------------------------------------------------------------------------
112