1*01aa44aaSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*01aa44aaSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*01aa44aaSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*01aa44aaSAndrew Rist * distributed with this work for additional information 6*01aa44aaSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*01aa44aaSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*01aa44aaSAndrew Rist * "License"); you may not use this file except in compliance 9*01aa44aaSAndrew Rist * with the License. You may obtain a copy of the License at 10*01aa44aaSAndrew Rist * 11*01aa44aaSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*01aa44aaSAndrew Rist * 13*01aa44aaSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*01aa44aaSAndrew Rist * software distributed under the License is distributed on an 15*01aa44aaSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*01aa44aaSAndrew Rist * KIND, either express or implied. See the License for the 17*01aa44aaSAndrew Rist * specific language governing permissions and limitations 18*01aa44aaSAndrew Rist * under the License. 19*01aa44aaSAndrew Rist * 20*01aa44aaSAndrew Rist *************************************************************/ 21*01aa44aaSAndrew Rist 22*01aa44aaSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef SVTOOLS_INC_TABLE_TABLEINPUTHANDLER_HXX 25cdf0e10cSrcweir #define SVTOOLS_INC_TABLE_TABLEINPUTHANDLER_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include <boost/shared_ptr.hpp> 28cdf0e10cSrcweir 29cdf0e10cSrcweir class MouseEvent; 30cdf0e10cSrcweir class KeyEvent; 31cdf0e10cSrcweir class HelpEvent; 32cdf0e10cSrcweir class CommandEvent; 33cdf0e10cSrcweir class NotifyEvent; 34cdf0e10cSrcweir 35cdf0e10cSrcweir //........................................................................ 36cdf0e10cSrcweir namespace svt { namespace table 37cdf0e10cSrcweir { 38cdf0e10cSrcweir //........................................................................ 39cdf0e10cSrcweir 40cdf0e10cSrcweir class ITableControl; 41cdf0e10cSrcweir 42cdf0e10cSrcweir //==================================================================== 43cdf0e10cSrcweir //= ITableInputHandler 44cdf0e10cSrcweir //==================================================================== 45cdf0e10cSrcweir /** interface for components handling input in a ->TableControl 46cdf0e10cSrcweir */ 47cdf0e10cSrcweir class ITableInputHandler 48cdf0e10cSrcweir { 49cdf0e10cSrcweir public: 50cdf0e10cSrcweir // all those methods have the same semantics as the equal-named methods of ->Window, 51cdf0e10cSrcweir // with the additional option to return a boolean value indicating whether 52cdf0e10cSrcweir // the event should be further processed by the ->Window implementations (<FALSE/>), 53cdf0e10cSrcweir // or whether it has been sufficiently handled by the ->ITableInputHandler instance 54cdf0e10cSrcweir // (<FALSE/>). 55cdf0e10cSrcweir 56cdf0e10cSrcweir virtual bool MouseMove ( ITableControl& _rControl, const MouseEvent& rMEvt ) = 0; 57cdf0e10cSrcweir virtual bool MouseButtonDown ( ITableControl& _rControl, const MouseEvent& rMEvt ) = 0; 58cdf0e10cSrcweir virtual bool MouseButtonUp ( ITableControl& _rControl, const MouseEvent& rMEvt ) = 0; 59cdf0e10cSrcweir virtual bool KeyInput ( ITableControl& _rControl, const KeyEvent& rKEvt ) = 0; 60cdf0e10cSrcweir virtual bool GetFocus ( ITableControl& _rControl ) = 0; 61cdf0e10cSrcweir virtual bool LoseFocus ( ITableControl& _rControl ) = 0; 62cdf0e10cSrcweir virtual bool RequestHelp ( ITableControl& _rControl, const HelpEvent& rHEvt ) = 0; 63cdf0e10cSrcweir virtual bool Command ( ITableControl& _rControl, const CommandEvent& rCEvt ) = 0; 64cdf0e10cSrcweir virtual bool PreNotify ( ITableControl& _rControl, NotifyEvent& rNEvt ) = 0; 65cdf0e10cSrcweir virtual bool Notify ( ITableControl& _rControl, NotifyEvent& rNEvt ) = 0; 66cdf0e10cSrcweir ~ITableInputHandler()67cdf0e10cSrcweir virtual ~ITableInputHandler() { } 68cdf0e10cSrcweir }; 69cdf0e10cSrcweir typedef ::boost::shared_ptr< ITableInputHandler > PTableInputHandler; 70cdf0e10cSrcweir 71cdf0e10cSrcweir //........................................................................ 72cdf0e10cSrcweir } } // namespace svt::table 73cdf0e10cSrcweir //........................................................................ 74cdf0e10cSrcweir 75cdf0e10cSrcweir #endif // SVTOOLS_INC_TABLE_TABLEINPUTHANDLER_HXX 76