home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-09-17 | 28.9 KB | 830 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: FWEventH.cpp
- // Release Version: $ ODF 2 $
- //
- // Copyright: (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #include "FWFrameW.hpp"
-
- #ifndef FWEVENT_H
- #include "FWEvent.h"
- #endif
-
- #ifndef FWEVENTH_H
- #include "FWEventH.h"
- #endif
-
- #ifndef FWFRAME_H
- #include "FWFrame.h"
- #endif
-
- #ifndef FWMNUBAR_H
- #include "FWMnuBar.h"
- #endif
-
- #ifndef FWORDCOL_H
- #include "FWOrdCol.h"
- #endif
-
- #ifndef FWCURSOR_H
- #include "FWCursor.h"
- #endif
-
- #ifndef SOM_ODFrame_xh
- #include <Frame.xh>
- #endif
-
- #ifndef SOM_ODFacet_xh
- #include <Facet.xh>
- #endif
-
- #ifndef FWSOMENV_H
- #include "FWSOMEnv.h"
- #endif
-
- #pragma segment fwevents
-
- //========================================================================================
- // Template Instantiations
- //========================================================================================
-
- FW_DEFINE_AUTO_TEMPLATE(FW_TOrderedCollectionIterator, FW_MEventHandler)
- FW_DEFINE_AUTO_TEMPLATE(FW_TOrderedCollection, FW_MEventHandler)
-
- #ifdef FW_USE_TEMPLATE_PRAGMAS
-
- #pragma template_access public
- #pragma template FW_TOrderedCollection<FW_MEventHandler>
- #pragma template FW_TOrderedCollectionIterator<FW_MEventHandler>
-
- #endif
-
- //========================================================================================
- // class FW_MEventHandler
- //========================================================================================
-
- FW_DEFINE_CLASS_M0(FW_MEventHandler)
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::FW_MEventHandler
- //----------------------------------------------------------------------------------------
-
- FW_MEventHandler::FW_MEventHandler()
- : fNextEventHandler(NULL),
- fEnabled(true),
- fPriority(FW_kNoPriority),
- fEventHandlers(NULL)
- {
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::FW_MEventHandler
- //----------------------------------------------------------------------------------------
-
- FW_MEventHandler::FW_MEventHandler(Environment* ev, FW_MEventHandler* nextEventHandler, FW_Priority thePriority)
- : fNextEventHandler(nextEventHandler),
- fEnabled(true),
- fPriority(thePriority),
- fEventHandlers(NULL)
- {
- FW_UNUSED(ev);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::~FW_MEventHandler
- //----------------------------------------------------------------------------------------
-
- FW_MEventHandler::~FW_MEventHandler()
- {
- if (fEventHandlers)
- {
- FW_MEventHandler* eventHandler;
- while ((eventHandler = fEventHandlers->First()) != NULL)
- {
- fEventHandlers->Remove(eventHandler);
- delete eventHandler; // adopted eventHandler belongs to this event handler
- }
-
- delete fEventHandlers;
- }
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::GetPriority
- //----------------------------------------------------------------------------------------
-
- FW_Priority FW_MEventHandler::GetPriority(Environment* ev) const
- {
- FW_UNUSED(ev);
- return fPriority;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::SetPriority
- //----------------------------------------------------------------------------------------
-
- void FW_MEventHandler::SetPriority(Environment* ev, FW_Priority thePriority)
- {
- FW_UNUSED(ev);
- fPriority = thePriority;
- // [B1 Conversion] Changing the priority should change its position ????
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::Insert
- //----------------------------------------------------------------------------------------
-
- void FW_MEventHandler::PrivInsert(Environment* ev, FW_MEventHandler* eventHandler)
- {
- FW_MEventHandler* before = NULL;
-
- FW_TOrderedCollectionIterator<FW_MEventHandler> ite(fEventHandlers);
- for (FW_MEventHandler* handler = ite.First(); ite.IsNotComplete(); handler = ite.Next())
- {
- if (handler == eventHandler) {
- FW_DEBUG_MESSAGE("in FW_MEventHandler::PrivInsert, handler already inserted");
- return;
- }
- if (handler->GetPriority(ev) > eventHandler->GetPriority(ev))
- {
- before = handler;
- }
- }
-
- if (before)
- fEventHandlers->AddBefore(before, eventHandler);
- else
- fEventHandlers->AddLast(eventHandler);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::AdoptEventHandler
- //----------------------------------------------------------------------------------------
-
- void FW_MEventHandler::AdoptEventHandler(Environment* ev, FW_MEventHandler* eventHandler)
- {
- if (fEventHandlers == NULL)
- {
- FW_TOrderedCollection<FW_MEventHandler>* eventHandlers = FW_NEW(FW_TOrderedCollection<FW_MEventHandler>, ());
- fEventHandlers = eventHandlers;
- }
-
- PrivInsert(ev, eventHandler);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::RemoveEventHandler
- //----------------------------------------------------------------------------------------
-
- FW_MEventHandler* FW_MEventHandler::RemoveEventHandler(Environment* ev, FW_MEventHandler* eventHandler)
- {
- FW_UNUSED(ev);
- FW_MEventHandler* theEventHandler = NULL;
- if (fEventHandlers)
- {
- fEventHandlers->Remove(eventHandler);
- theEventHandler = eventHandler;
- // [HLX] should we dispose fEventHandlers if empty???
- }
-
- return theEventHandler;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::Enable
- //----------------------------------------------------------------------------------------
-
- void FW_MEventHandler::Enable(Environment* ev)
- {
- FW_UNUSED(ev);
- fEnabled = TRUE;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::Disable
- //----------------------------------------------------------------------------------------
-
- void FW_MEventHandler::Disable(Environment* ev)
- {
- FW_UNUSED(ev);
- // FW_ASSERT(fSuperView != NULL); // a CFrame cannot be disabled
- fEnabled = FALSE;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::GetFrame
- //----------------------------------------------------------------------------------------
-
- FW_CFrame* FW_MEventHandler::GetFrame(Environment* ev) const
- {
- FW_UNUSED(ev);
- // Event handlers are not automtically associated with a frame.
- // Views, which derive from
- FW_DEBUG_MESSAGE("FW_MEventHandler::GetFrame: subclass responsibility");
- return NULL;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::IsTarget
- //----------------------------------------------------------------------------------------
-
- FW_Boolean FW_MEventHandler::IsTarget(Environment* ev) const
- {
- FW_CFrame* frame = GetFrame(ev);
- return (frame ? frame->GetTarget(ev) == this : false);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::IsActiveTarget
- //----------------------------------------------------------------------------------------
-
- FW_Boolean FW_MEventHandler::IsActiveTarget(Environment* ev) const
- {
- FW_CFrame* frame = GetFrame(ev);
- return (frame ? (frame->GetTarget(ev) == this) && (frame->HasSelectionFocus(ev)) : false);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::IsSuspendedTarget
- //----------------------------------------------------------------------------------------
-
- FW_Boolean FW_MEventHandler::IsSuspendedTarget(Environment* ev) const
- {
- FW_CFrame* frame = GetFrame(ev);
- return (frame ? (frame->GetTarget(ev) == this) && (!frame->HasSelectionFocus(ev)) : false);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::BecomeTarget
- //----------------------------------------------------------------------------------------
-
- FW_Boolean FW_MEventHandler::BecomeTarget(Environment* ev, FW_Boolean tabSelection)
- {
- FW_CFrame* frame = GetFrame(ev);
-
- FW_ASSERT(IsEnabled(ev)); // can't make a disabled view the target
- FW_ASSERT(frame); // can't become the target without a frame
-
- FW_MEventHandler* currentTarget = frame->GetTarget(ev);
- if (this != currentTarget)
- {
- if (currentTarget->ResignTarget(ev))
- {
- frame->SetTarget(ev, this, tabSelection);
- return true;
- }
- else
- return false;
- }
- return true;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::ResignTarget
- //----------------------------------------------------------------------------------------
-
- FW_Boolean FW_MEventHandler::ResignTarget(Environment* ev)
- {
- FW_CFrame* frame = GetFrame(ev);
- FW_ASSERT(frame);
-
- if (this == frame->GetTarget(ev))
- {
- if (WillingToResignTarget(ev) == 0)
- {
- frame->SetTarget(ev, frame);
- return true;
- }
- else
- return false;
- }
- else
- return true;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::WantsToBeTarget
- //----------------------------------------------------------------------------------------
-
- FW_Boolean FW_MEventHandler::WantsToBeTarget(Environment* ev)
- {
- FW_UNUSED(ev);
- return false;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::WillingToResignTarget
- //----------------------------------------------------------------------------------------
-
- long FW_MEventHandler::WillingToResignTarget(Environment* ev)
- {
- FW_UNUSED(ev);
- return 0;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::ActivateTarget
- //----------------------------------------------------------------------------------------
-
- void FW_MEventHandler::ActivateTarget(Environment* ev, FW_Boolean tabSelection)
- {
- FW_UNUSED(ev);
- FW_UNUSED(tabSelection);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::DeactivateTarget
- //----------------------------------------------------------------------------------------
-
- void FW_MEventHandler::DeactivateTarget(Environment* ev)
- {
- FW_UNUSED(ev);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::PrivDispatchIdle
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::PrivDispatchIdle(Environment* ev, const FW_CNullEvent& theNullEvent)
- {
- if (fEventHandlers)
- {
- FW_TOrderedCollectionIterator<FW_MEventHandler> ite(fEventHandlers);
- for (FW_MEventHandler* eventHandler = ite.First(); ite.IsNotComplete(); eventHandler = ite.Next())
- {
- if (eventHandler->PrivDispatchIdle(ev, theNullEvent) == FW_kHandled)
- return FW_kHandled;
- }
- }
-
- return IsEnabled(ev) ? HandleIdle(ev, theNullEvent) : FW_kNotHandled;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::HandleIdle
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::HandleIdle(Environment* ev, const FW_CNullEvent& theNullEvent)
- {
- return DoIdle(ev, theNullEvent);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::DoIdle
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::DoIdle(Environment* ev, const FW_CNullEvent& theNullEvent)
- {
- FW_UNUSED(ev);
- FW_UNUSED(theNullEvent);
- return FW_kNotHandled;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::PrivDispatchMouseDown
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::PrivDispatchMouseDown(Environment* ev, const FW_CMouseEvent& theMouseEvent)
- {
- if (fEventHandlers)
- {
- FW_TOrderedCollectionIterator<FW_MEventHandler> ite(fEventHandlers);
- for (FW_MEventHandler* eventHandler = ite.First(); ite.IsNotComplete(); eventHandler = ite.Next())
- {
- if (eventHandler->PrivDispatchMouseDown(ev, theMouseEvent) == FW_kHandled)
- return FW_kHandled;
- }
- }
-
- return HandleMouseDown(ev, theMouseEvent);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::HandleMouseDown
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::HandleMouseDown(Environment* ev, const FW_CMouseEvent& theMouseEvent)
- {
- return IsEnabled(ev) ? DoMouseDown(ev, theMouseEvent) : FW_kNotHandled;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::DoMouseDown
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::DoMouseDown(Environment* ev, const FW_CMouseEvent& theMouseEvent)
- {
- FW_UNUSED(ev);
- FW_UNUSED(theMouseEvent);
- return FW_kNotHandled;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::PrivDispatchBGMouseDown
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::PrivDispatchBGMouseDown(Environment* ev, const FW_CMouseEvent& theMouseEvent)
- {
- if (fEventHandlers)
- {
- FW_TOrderedCollectionIterator<FW_MEventHandler> ite(fEventHandlers);
- for (FW_MEventHandler* eventHandler = ite.First(); ite.IsNotComplete(); eventHandler = ite.Next())
- {
- if (eventHandler->PrivDispatchBGMouseDown(ev, theMouseEvent) == FW_kHandled)
- return FW_kHandled;
- }
- }
-
- return HandleBGMouseDown(ev, theMouseEvent);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::HandleBGMouseDown
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::HandleBGMouseDown(Environment* ev, const FW_CMouseEvent& theMouseEvent)
- {
- return IsEnabled(ev) ? DoBGMouseDown(ev, theMouseEvent) : FW_kNotHandled;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::DoBGMouseDown
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::DoBGMouseDown(Environment* ev, const FW_CMouseEvent& theMouseEvent)
- {
- FW_UNUSED(ev);
- FW_UNUSED(theMouseEvent);
- return FW_kNotHandled;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::PrivDispatchMouseUp
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::PrivDispatchMouseUp(Environment* ev, const FW_CMouseEvent& theMouseEvent)
- {
- if (fEventHandlers)
- {
- FW_TOrderedCollectionIterator<FW_MEventHandler> ite(fEventHandlers);
- for (FW_MEventHandler* eventHandler = ite.First(); ite.IsNotComplete(); eventHandler = ite.Next())
- {
- if (eventHandler->PrivDispatchMouseUp(ev, theMouseEvent) == FW_kHandled)
- return FW_kHandled;
- }
- }
-
- return HandleMouseUp(ev, theMouseEvent);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::HandleMouseUp
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::HandleMouseUp(Environment* ev, const FW_CMouseEvent& theMouseEvent)
- {
- FW_UNUSED(ev);
- return IsEnabled(ev) ? DoMouseUp(ev, theMouseEvent) : FW_kNotHandled;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::DoMouseUp
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::DoMouseUp(Environment* ev, const FW_CMouseEvent& theMouseEvent)
- {
- FW_UNUSED(ev);
- FW_UNUSED(theMouseEvent);
- return FW_kNotHandled;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::PrivDispatchMouseDownInEmbeddedFrame
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::PrivDispatchMouseDownInEmbeddedFrame(Environment* ev,
- const FW_CEmbeddedMouseEvent& theEmbeddedMouseEvent)
- {
- if (fEventHandlers)
- {
- FW_TOrderedCollectionIterator<FW_MEventHandler> ite(fEventHandlers);
- for (FW_MEventHandler* eventHandler = ite.First(); ite.IsNotComplete(); eventHandler = ite.Next())
- {
- if (eventHandler->PrivDispatchMouseDownInEmbeddedFrame(ev, theEmbeddedMouseEvent) == FW_kHandled)
- return FW_kHandled;
- }
- }
-
- return IsEnabled(ev) ? HandleMouseDownInEmbeddedFrame(ev, theEmbeddedMouseEvent) : FW_kNotHandled;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::HandleMouseDownInEmbeddedFrame
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::HandleMouseDownInEmbeddedFrame(Environment* ev,
- const FW_CEmbeddedMouseEvent& theEmbeddedMouseEvent)
- {
- return DoMouseDownInEmbeddedFrame(ev, theEmbeddedMouseEvent);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::DoMouseDownInEmbeddedFrame
- //----------------------------------------------------------------------------------------
- // By default just call DoMouseDown
-
- FW_Handled FW_MEventHandler::DoMouseDownInEmbeddedFrame(Environment* ev, const FW_CEmbeddedMouseEvent& theEmbeddedMouseEvent)
- {
- return DoMouseDown(ev, theEmbeddedMouseEvent);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::PrivDispatchBGMouseDownInEmbeddedFrame
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::PrivDispatchBGMouseDownInEmbeddedFrame(Environment* ev,
- const FW_CEmbeddedMouseEvent& theEmbeddedMouseEvent)
- {
- if (fEventHandlers)
- {
- FW_TOrderedCollectionIterator<FW_MEventHandler> ite(fEventHandlers);
- for (FW_MEventHandler* eventHandler = ite.First(); ite.IsNotComplete(); eventHandler = ite.Next())
- {
- if (eventHandler->PrivDispatchBGMouseDownInEmbeddedFrame(ev, theEmbeddedMouseEvent) == FW_kHandled)
- return FW_kHandled;
- }
- }
-
- return IsEnabled(ev) ? HandleBGMouseDownInEmbeddedFrame(ev, theEmbeddedMouseEvent) : FW_kNotHandled;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::HandleBGMouseDownInEmbeddedFrame
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::HandleBGMouseDownInEmbeddedFrame(Environment* ev,
- const FW_CEmbeddedMouseEvent& theEmbeddedMouseEvent)
- {
- return DoBGMouseDownInEmbeddedFrame(ev, theEmbeddedMouseEvent);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::DoBGMouseDownInEmbeddedFrame
- //----------------------------------------------------------------------------------------
- // By default just call DoBGMouseDown
-
- FW_Handled FW_MEventHandler::DoBGMouseDownInEmbeddedFrame(Environment* ev, const FW_CEmbeddedMouseEvent& theEmbeddedMouseEvent)
- {
- return DoBGMouseDown(ev, theEmbeddedMouseEvent);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::PrivDispatchMouseUpInEmbeddedFrame
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::PrivDispatchMouseUpInEmbeddedFrame(Environment* ev, const FW_CEmbeddedMouseEvent& theEmbeddedMouseEvent)
- {
- if (fEventHandlers)
- {
- FW_TOrderedCollectionIterator<FW_MEventHandler> ite(fEventHandlers);
- for (FW_MEventHandler* eventHandler = ite.First(); ite.IsNotComplete(); eventHandler = ite.Next())
- {
- if (eventHandler->PrivDispatchMouseUpInEmbeddedFrame(ev, theEmbeddedMouseEvent) == FW_kHandled)
- return FW_kHandled;
- }
- }
-
- return IsEnabled(ev) ? HandleMouseUpInEmbeddedFrame(ev, theEmbeddedMouseEvent) : FW_kNotHandled;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::HandleMouseUpInEmbeddedFrame
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::HandleMouseUpInEmbeddedFrame(Environment* ev, const FW_CEmbeddedMouseEvent& theEmbeddedMouseEvent)
- {
- return DoMouseUpInEmbeddedFrame(ev, theEmbeddedMouseEvent);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::DoMouseUpInEmbeddedFrame
- //----------------------------------------------------------------------------------------
- // By Default just call DoMouseUp
-
- FW_Handled FW_MEventHandler::DoMouseUpInEmbeddedFrame(Environment* ev, const FW_CEmbeddedMouseEvent& theEmbeddedMouseEvent)
- {
- return DoMouseUp(ev, theEmbeddedMouseEvent);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::PrivDispatchMouseDownInEmbeddedFrameBorder
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::PrivDispatchMouseDownInEmbeddedFrameBorder(Environment* ev, const FW_CBorderMouseEvent& theBorderMouseEvent)
- {
- if (fEventHandlers)
- {
- FW_TOrderedCollectionIterator<FW_MEventHandler> ite(fEventHandlers);
- for (FW_MEventHandler* eventHandler = ite.First(); ite.IsNotComplete(); eventHandler = ite.Next())
- {
- if (eventHandler->PrivDispatchMouseDownInEmbeddedFrameBorder(ev, theBorderMouseEvent) == FW_kHandled)
- return FW_kHandled;
- }
- }
-
- return IsEnabled(ev) ? HandleMouseDownInEmbeddedFrameBorder(ev, theBorderMouseEvent) : FW_kNotHandled;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::HandleMouseDownInEmbeddedFrameBorder
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::HandleMouseDownInEmbeddedFrameBorder(Environment* ev, const FW_CBorderMouseEvent& theBorderMouseEvent)
- {
- FW_UNUSED(ev);
- return DoMouseDownInEmbeddedFrameBorder(ev, theBorderMouseEvent);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::DoMouseDownInEmbeddedFrameBorder
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::DoMouseDownInEmbeddedFrameBorder(Environment* ev, const FW_CBorderMouseEvent& theBorderMouseEvent)
- {
- FW_UNUSED(ev);
- FW_UNUSED(theBorderMouseEvent);
- return FW_kNotHandled;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::PrivDispatchVirtualKey
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::PrivDispatchVirtualKey(Environment* ev, const FW_CVirtualKeyEvent& theVirtualKeyEvent)
- {
- if (fEventHandlers)
- {
- FW_TOrderedCollectionIterator<FW_MEventHandler> ite(fEventHandlers);
- for (FW_MEventHandler* eventHandler = ite.First(); ite.IsNotComplete(); eventHandler = ite.Next())
- {
- if (eventHandler->PrivDispatchVirtualKey(ev, theVirtualKeyEvent) == FW_kHandled)
- return FW_kHandled;
- }
- }
-
- return IsEnabled(ev) ? HandleVirtualKey(ev, theVirtualKeyEvent) : FW_kNotHandled;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::HandleVirtualKey
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::HandleVirtualKey(Environment* ev, const FW_CVirtualKeyEvent& theVirtualKeyEvent)
- {
- return DoVirtualKey(ev, theVirtualKeyEvent);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::DoVirtualKey
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::DoVirtualKey(Environment* ev, const FW_CVirtualKeyEvent& theVirtualKeyEvent)
- {
- FW_UNUSED(ev);
- FW_UNUSED(theVirtualKeyEvent);
- return FW_kNotHandled;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::PrivDispatchCharKey
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::PrivDispatchCharKey(Environment* ev, const FW_CCharKeyEvent& theCharKeyEvent)
- {
- if (fEventHandlers)
- {
- FW_TOrderedCollectionIterator<FW_MEventHandler> ite(fEventHandlers);
- for (FW_MEventHandler* eventHandler = ite.First(); ite.IsNotComplete(); eventHandler = ite.Next())
- {
- if (eventHandler->PrivDispatchCharKey(ev, theCharKeyEvent) == FW_kHandled)
- return FW_kHandled;
- }
- }
-
- return IsEnabled(ev) ? HandleCharKey(ev, theCharKeyEvent) : FW_kNotHandled;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::HandleCharKey
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::HandleCharKey(Environment* ev, const FW_CCharKeyEvent& theCharKeyEvent)
- {
- return DoCharKey(ev, theCharKeyEvent);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::DoCharKey
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::DoCharKey(Environment* ev, const FW_CCharKeyEvent& theCharKeyEvent)
- {
- FW_UNUSED(ev);
- FW_UNUSED(theCharKeyEvent);
- return FW_kNotHandled;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::PrivDispatchMenuEvent
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::PrivDispatchMenuEvent(Environment* ev, const FW_CMenuEvent& theMenuEvent)
- {
- if (fEventHandlers)
- {
- FW_TOrderedCollectionIterator<FW_MEventHandler> ite(fEventHandlers);
- for (FW_MEventHandler* eventHandler = ite.First(); ite.IsNotComplete(); eventHandler = ite.Next())
- {
- if (eventHandler->PrivDispatchMenuEvent(ev, theMenuEvent) == FW_kHandled)
- return FW_kHandled;
- }
- }
-
- return IsEnabled(ev) ? HandleMenu(ev, theMenuEvent) : FW_kNotHandled;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::HandleMenu
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::HandleMenu(Environment* ev, const FW_CMenuEvent& theMenuEvent)
- {
- FW_UNUSED(ev);
- return DoMenu(ev, theMenuEvent);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::DoMenu
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::DoMenu(Environment* ev, const FW_CMenuEvent& theMenuEvent)
- {
- FW_UNUSED(ev);
- FW_UNUSED(theMenuEvent);
- return FW_kNotHandled;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::PrivDispatchAdjustMenus
- //----------------------------------------------------------------------------------------
- // Attention: behaviors for adjust menus are done AFTER the main handlers. This allows
- // someone to 'override' a handler
-
- FW_Handled FW_MEventHandler::PrivDispatchAdjustMenus(Environment *ev, FW_CMenuBar* menuBar,
- FW_Boolean hasMenuFocus, FW_Boolean isRoot)
- {
- FW_Handled handled = IsEnabled(ev) ? HandleAdjustMenus(ev, menuBar, hasMenuFocus, isRoot) : FW_kNotHandled;
-
- if (!handled && fEventHandlers)
- {
- FW_TOrderedCollectionIterator<FW_MEventHandler> ite(fEventHandlers);
- for (FW_MEventHandler* eventHandler = ite.First(); ite.IsNotComplete(); eventHandler = ite.Next())
- {
- if ((handled = eventHandler->PrivDispatchAdjustMenus(ev, menuBar, hasMenuFocus, isRoot)) == FW_kHandled)
- break;
- }
- }
-
- return handled;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::HandleAdjustMenus
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::HandleAdjustMenus(Environment *ev,
- FW_CMenuBar* menuBar,
- FW_Boolean hasMenuFocus,
- FW_Boolean isRoot)
- {
- return DoAdjustMenus(ev, menuBar, hasMenuFocus, isRoot);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MEventHandler::DoAdjustMenus
- //----------------------------------------------------------------------------------------
-
- FW_Handled FW_MEventHandler::DoAdjustMenus(Environment *ev, FW_CMenuBar* menuBar,
- FW_Boolean hasMenuFocus, FW_Boolean isRoot)
- {
- FW_UNUSED(ev);
- FW_UNUSED(menuBar);
- FW_UNUSED(hasMenuFocus);
- FW_UNUSED(isRoot);
-
- return FW_kNotHandled; // not done handling
- }
-