mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-08-25 04:57:03 +00:00
removeAllTrackingAreas
This commit is contained in:
+1
-4
@@ -1060,10 +1060,7 @@ var CPControlBlackColor = [CPColor blackColor];
|
||||
|
||||
- (void)updateTrackingAreas
|
||||
{
|
||||
var myTrackingAreas = [self trackingAreas];
|
||||
|
||||
for (var i = 0; i < myTrackingAreas.length; i++)
|
||||
[self removeTrackingArea:myTrackingAreas[i]];
|
||||
[self removeAllTrackingAreas];
|
||||
|
||||
[self addTrackingArea:[[CPTrackingArea alloc] initWithRect:CGRectMakeZero()
|
||||
options:CPTrackingMouseEnteredAndExited | CPTrackingActiveInKeyWindow | CPTrackingInVisibleRect
|
||||
|
||||
@@ -1190,11 +1190,8 @@ The sum of the views and the sum of the dividers should be equal to the size of
|
||||
|
||||
- (void)updateTrackingAreas
|
||||
{
|
||||
var myTrackingAreas = [self trackingAreas];
|
||||
|
||||
for (var i = 0; i < myTrackingAreas.length; i++)
|
||||
[self removeTrackingArea:myTrackingAreas[i]];
|
||||
|
||||
[self removeAllTrackingAreas];
|
||||
|
||||
var options = CPTrackingCursorUpdate | CPTrackingActiveInKeyWindow;
|
||||
|
||||
for (var i = 0; i < _subviews.length - 1; i++)
|
||||
|
||||
@@ -465,10 +465,7 @@ var CPTableHeaderViewResizeZone = 3.0,
|
||||
|
||||
- (void)updateTrackingAreas
|
||||
{
|
||||
var myTrackingAreas = [self trackingAreas];
|
||||
|
||||
for (var i = 0; i < myTrackingAreas.length; i++)
|
||||
[self removeTrackingArea:myTrackingAreas[i]];
|
||||
[self removeAllTrackingAreas];
|
||||
|
||||
var options = CPTrackingCursorUpdate | CPTrackingActiveInKeyWindow;
|
||||
|
||||
|
||||
+31
-6
@@ -3459,12 +3459,8 @@ setBoundsOrigin:
|
||||
|
||||
if (![_trackingAreas containsObject:trackingArea])
|
||||
[CPException raise:CPInternalInconsistencyException reason:"Trying to remove unreferenced trackingArea"];
|
||||
|
||||
if (_window)
|
||||
[_window _removeTrackingArea:trackingArea];
|
||||
|
||||
[trackingArea _setReferencingView:nil];
|
||||
[_trackingAreas removeObject:trackingArea];
|
||||
|
||||
[self _removeTrackingArea:trackingArea];
|
||||
}
|
||||
|
||||
// Invoked automatically when the view’s geometry changes such that its tracking areas need to be recalculated.
|
||||
@@ -3485,6 +3481,35 @@ setBoundsOrigin:
|
||||
// This enables you to use updateTrackingArea to initially attach your tracking areas to the view.
|
||||
}
|
||||
|
||||
- (void)removeAllTrackingAreas
|
||||
{
|
||||
// This utility method is intended for CPView subclasses overwriting updateTrackingAreas
|
||||
//
|
||||
// Typical use would be :
|
||||
//
|
||||
// - (void)updateTrackingAreas
|
||||
// {
|
||||
// [self removeAllTrackingAreas];
|
||||
//
|
||||
// ... add your specific updated tracking areas ...
|
||||
// }
|
||||
|
||||
while (_trackingAreas.length > 0)
|
||||
[self _removeTrackingArea:_trackingAreas[0]];
|
||||
}
|
||||
|
||||
// Internal methods
|
||||
|
||||
- (void)_removeTrackingArea:(CPTrackingArea)trackingArea
|
||||
{
|
||||
if (_window)
|
||||
[_window _removeTrackingArea:trackingArea];
|
||||
|
||||
[trackingArea _setReferencingView:nil];
|
||||
|
||||
[_trackingAreas removeObject:trackingArea];
|
||||
}
|
||||
|
||||
- (void)_notifyUpdateTrackingAreas
|
||||
{
|
||||
_inhibitUpdateTrackingAreasNotifications = YES;
|
||||
|
||||
Reference in New Issue
Block a user