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