11d2dbeb0SAndrew Rist /************************************************************** 21d2dbeb0SAndrew Rist * 31d2dbeb0SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 41d2dbeb0SAndrew Rist * or more contributor license agreements. See the NOTICE file 51d2dbeb0SAndrew Rist * distributed with this work for additional information 61d2dbeb0SAndrew Rist * regarding copyright ownership. The ASF licenses this file 71d2dbeb0SAndrew Rist * to you under the Apache License, Version 2.0 (the 81d2dbeb0SAndrew Rist * "License"); you may not use this file except in compliance 91d2dbeb0SAndrew Rist * with the License. You may obtain a copy of the License at 101d2dbeb0SAndrew Rist * 111d2dbeb0SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 121d2dbeb0SAndrew Rist * 131d2dbeb0SAndrew Rist * Unless required by applicable law or agreed to in writing, 141d2dbeb0SAndrew Rist * software distributed under the License is distributed on an 151d2dbeb0SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 161d2dbeb0SAndrew Rist * KIND, either express or implied. See the License for the 171d2dbeb0SAndrew Rist * specific language governing permissions and limitations 181d2dbeb0SAndrew Rist * under the License. 191d2dbeb0SAndrew Rist * 201d2dbeb0SAndrew Rist *************************************************************/ 211d2dbeb0SAndrew Rist 221d2dbeb0SAndrew Rist 23cdf0e10cSrcweir #ifndef _ACCFRAMEBASE_HXX 24cdf0e10cSrcweir #define _ACCFRAMEBASE_HXX 25cdf0e10cSrcweir 26ca62e2c2SSteve Yin #ifndef _PAM_HXX 27ca62e2c2SSteve Yin #include <pam.hxx> 28ca62e2c2SSteve Yin #endif 29ca62e2c2SSteve Yin 30cdf0e10cSrcweir #include <acccontext.hxx> 31cdf0e10cSrcweir 32cdf0e10cSrcweir #include <calbck.hxx> 33cdf0e10cSrcweir 34cdf0e10cSrcweir class SwFlyFrm; 35cdf0e10cSrcweir 36cdf0e10cSrcweir class SwAccessibleFrameBase : public SwAccessibleContext, 37cdf0e10cSrcweir public SwClient 38cdf0e10cSrcweir { 39cdf0e10cSrcweir sal_Bool bIsSelected; // protected by base class mutex 40cdf0e10cSrcweir 41cdf0e10cSrcweir sal_Bool IsSelected(); 42cdf0e10cSrcweir 43cdf0e10cSrcweir protected: 44cdf0e10cSrcweir 45cdf0e10cSrcweir // Set states for getAccessibleStateSet. 46*86e1cf34SPedro Giffuni // This drived class additionally sets SELECTABLE(1), SELECTED(+), 47cdf0e10cSrcweir // FOCUSABLE(1) and FOCUSED(+) 48cdf0e10cSrcweir virtual void GetStates( ::utl::AccessibleStateSetHelper& rStateSet ); 49ca62e2c2SSteve Yin SwFlyFrm* getFlyFrm() const; 50ca62e2c2SSteve Yin sal_Bool GetSelectedState( ); 51ca62e2c2SSteve Yin SwPaM* GetCrsr(); 52cdf0e10cSrcweir 53cdf0e10cSrcweir virtual void _InvalidateCursorPos(); 54cdf0e10cSrcweir virtual void _InvalidateFocus(); 55cdf0e10cSrcweir 56cdf0e10cSrcweir virtual ~SwAccessibleFrameBase(); 57cdf0e10cSrcweir virtual void Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNew); 58cdf0e10cSrcweir 59cdf0e10cSrcweir public: 60cdf0e10cSrcweir 61cdf0e10cSrcweir SwAccessibleFrameBase( SwAccessibleMap* pInitMap, 62cdf0e10cSrcweir sal_Int16 nInitRole, 63cdf0e10cSrcweir const SwFlyFrm *pFlyFrm ); 64cdf0e10cSrcweir 65cdf0e10cSrcweir virtual sal_Bool HasCursor(); // required by map to remember that object 66cdf0e10cSrcweir 67cdf0e10cSrcweir static sal_uInt8 GetNodeType( const SwFlyFrm *pFlyFrm ); 68cdf0e10cSrcweir 69cdf0e10cSrcweir // The object is not visible an longer and should be destroyed 70cdf0e10cSrcweir virtual void Dispose( sal_Bool bRecursive = sal_False ); 71ca62e2c2SSteve Yin virtual sal_Bool SetSelectedState( sal_Bool bSeleted ); 72cdf0e10cSrcweir }; 73cdf0e10cSrcweir 74cdf0e10cSrcweir 75cdf0e10cSrcweir #endif 76