00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include "TCarbonEvent.h"
00011
00012 class CAUCarbonViewNib;
00013
00014 class CAUCarbonViewEditor {
00015 public:
00016 CAUCarbonViewEditor(CAUCarbonViewNib *view);
00017 virtual ~CAUCarbonViewEditor();
00018
00019 bool HandleEvent(EventHandlerCallRef inHandlerRef, EventRef event);
00020 bool HandleEvent(EventRef event) { return HandleEvent(0, event); };
00021 void ShowHide(bool show);
00022
00023 bool IsValid() const;
00024
00025 void UpdatePropertiesList();
00026 protected:
00027 virtual void WantEventTypes(EventTargetRef target, UInt32 inNumTypes, const EventTypeSpec *inList);
00028 virtual void RemoveEventTypes(EventTargetRef target, UInt32 inNumTypes, const EventTypeSpec *inList);
00029
00030 virtual OSStatus SetUpTracking(TCarbonEvent& inEvent);
00031 virtual OSStatus StillTracking(TCarbonEvent&inEvent);
00032 virtual OSStatus StopTracking(TCarbonEvent&inEvent);
00033
00034 virtual OSStatus WindowContextual(TCarbonEvent&inEvent, EventHandlerCallRef inHandlerRef);
00035 virtual OSStatus CommandProcess(TCarbonEvent&inEvent, EventHandlerCallRef inHandlerRef);
00036 virtual OSStatus DrawControl(TCarbonEvent&inEvent, EventHandlerCallRef inHandlerRef);
00037 virtual OSStatus ClickControl(TCarbonEvent&inEvent, EventHandlerCallRef inHandlerRef);
00038
00039 private:
00040 bool IsCompositing();
00041
00043 CFMutableDictionaryRef mHandlers;
00044
00045 CAUCarbonViewNib *mAUView;
00046 HIViewRef mCurrentControl;
00047 WindowRef mInfos;
00048 MenuRef mMenu, mControlsMenu;
00049
00050 HIPoint mFromPoint;
00051
00052 };