aboutsummaryrefslogtreecommitdiffstats
path: root/Frameworks/PSMTabBar/PSMTabBarControl.m
diff options
context:
space:
mode:
authorrowanbeentje <rowan@beent.je>2011-03-03 01:52:27 +0000
committerrowanbeentje <rowan@beent.je>2011-03-03 01:52:27 +0000
commit6fdc5d75e246d205ea97d65e7ddd8305df5003d8 (patch)
tree453dd831fa6e4a899906a89627de0f74459adaf8 /Frameworks/PSMTabBar/PSMTabBarControl.m
parent4422810afa93d3cbce76812cc50e45ef8634180b (diff)
downloadsequelpro-6fdc5d75e246d205ea97d65e7ddd8305df5003d8.tar.gz
sequelpro-6fdc5d75e246d205ea97d65e7ddd8305df5003d8.tar.bz2
sequelpro-6fdc5d75e246d205ea97d65e7ddd8305df5003d8.zip
- Fix all warnings in the PSMTabBar framework, including a fix for a 10.5 dragging issue and implementing Safari-style fadeout of previous window shell when dragging the last miniwindow out of a tab bar
Diffstat (limited to 'Frameworks/PSMTabBar/PSMTabBarControl.m')
-rw-r--r--Frameworks/PSMTabBar/PSMTabBarControl.m62
1 files changed, 32 insertions, 30 deletions
diff --git a/Frameworks/PSMTabBar/PSMTabBarControl.m b/Frameworks/PSMTabBar/PSMTabBarControl.m
index 8debd774..231f3e3c 100644
--- a/Frameworks/PSMTabBar/PSMTabBarControl.m
+++ b/Frameworks/PSMTabBar/PSMTabBarControl.m
@@ -44,15 +44,14 @@
- (void)_checkWindowFrame;
// actions
-- (void)overflowMenuAction:(id)sender;
- (void)closeTabClick:(id)sender;
-- (void)tabClick:(id)sender;
- (void)tabNothing:(id)sender;
// notification handlers
- (void)frameDidChange:(NSNotification *)notification;
- (void)windowDidMove:(NSNotification *)aNotification;
- (void)windowDidUpdate:(NSNotification *)notification;
+- (void)windowStatusDidChange:(NSNotification *)notification;
// NSTabView delegate
- (void)tabView:(NSTabView *)tabView didSelectTabViewItem:(NSTabViewItem *)tabViewItem;
@@ -68,6 +67,8 @@
- (void)_bindPropertiesForCell:(PSMTabBarCell *)cell andTabViewItem:(NSTabViewItem *)item;
- (id)cellForPoint:(NSPoint)point cellFrame:(NSRectPointer)outFrame;
+- (void)fireSpring:(NSTimer *)timer;
+- (void)animateShowHide:(NSTimer *)timer;
- (void)_animateCells:(NSTimer *)timer;
@end
@@ -105,7 +106,7 @@
{
NSRect aRect=[self frame];
aRect.origin.x = [style leftMarginForTabBarControl];
- aRect.origin.y = 0.0;
+ aRect.origin.y = 0.0f;
aRect.size.width = [self availableCellWidth];
aRect.size.height = [style tabCellHeight];
return aRect;
@@ -153,7 +154,7 @@
[self _positionOverflowMenu];
// new tab button
- NSRect addTabButtonRect = NSMakeRect([self frame].size.width - [style rightMarginForTabBarControl] + 1, 3.0, 16.0, 16.0);
+ NSRect addTabButtonRect = NSMakeRect([self frame].size.width - [style rightMarginForTabBarControl] + 1, 3.0f, 16.0f, 16.0f);
_addTabButton = [[PSMRolloverButton alloc] initWithFrame:addTabButtonRect];
if (_addTabButton) {
NSImage *newButtonImage = [style addTabButtonImage];
@@ -682,7 +683,7 @@
// add to collection
[_cells addObject:cell];
[cell release];
- if ([_cells count] == [tabView numberOfTabViewItems]) {
+ if ((NSInteger)[_cells count] == [tabView numberOfTabViewItems]) {
[self update]; // don't update unless all are accounted for!
}
}
@@ -714,7 +715,7 @@
}
if ([item identifier] != nil) {
- if ([[item identifier] respondsToSelector:@selector(objectCount)]) {
+ if ([[item identifier] respondsToSelector:@selector(count)]) {
[[item identifier] removeObserver:cell forKeyPath:@"objectCount"];
}
}
@@ -947,10 +948,10 @@
// moves the frame of the tab bar and window (or partner view) linearly to hide or show the tab bar
NSRect myFrame = [self frame];
NSDictionary *userInfo = [timer userInfo];
- CGFloat myCurrentOrigin = ([[userInfo objectForKey:@"myOriginalOrigin"] doubleValue] + (([[userInfo objectForKey:@"myTargetOrigin"] doubleValue] - [[userInfo objectForKey:@"myOriginalOrigin"] doubleValue]) * (_currentStep/kPSMHideAnimationSteps)));
- CGFloat myCurrentSize = ([[userInfo objectForKey:@"myOriginalSize"] doubleValue] + (([[userInfo objectForKey:@"myTargetSize"] doubleValue] - [[userInfo objectForKey:@"myOriginalSize"] doubleValue]) * (_currentStep/kPSMHideAnimationSteps)));
- CGFloat partnerCurrentOrigin = ([[userInfo objectForKey:@"partnerOriginalOrigin"] doubleValue] + (([[userInfo objectForKey:@"partnerTargetOrigin"] doubleValue] - [[userInfo objectForKey:@"partnerOriginalOrigin"] doubleValue]) * (_currentStep/kPSMHideAnimationSteps)));
- CGFloat partnerCurrentSize = ([[userInfo objectForKey:@"partnerOriginalSize"] doubleValue] + (([[userInfo objectForKey:@"partnerTargetSize"] doubleValue] - [[userInfo objectForKey:@"partnerOriginalSize"] doubleValue]) * (_currentStep/kPSMHideAnimationSteps)));
+ CGFloat myCurrentOrigin = ([[userInfo objectForKey:@"myOriginalOrigin"] floatValue] + (([[userInfo objectForKey:@"myTargetOrigin"] floatValue] - [[userInfo objectForKey:@"myOriginalOrigin"] floatValue]) * (_currentStep/kPSMHideAnimationSteps)));
+ CGFloat myCurrentSize = ([[userInfo objectForKey:@"myOriginalSize"] floatValue] + (([[userInfo objectForKey:@"myTargetSize"] floatValue] - [[userInfo objectForKey:@"myOriginalSize"] floatValue]) * (_currentStep/kPSMHideAnimationSteps)));
+ CGFloat partnerCurrentOrigin = ([[userInfo objectForKey:@"partnerOriginalOrigin"] floatValue] + (([[userInfo objectForKey:@"partnerTargetOrigin"] floatValue] - [[userInfo objectForKey:@"partnerOriginalOrigin"] floatValue]) * (_currentStep/kPSMHideAnimationSteps)));
+ CGFloat partnerCurrentSize = ([[userInfo objectForKey:@"partnerOriginalSize"] floatValue] + (([[userInfo objectForKey:@"partnerTargetSize"] floatValue] - [[userInfo objectForKey:@"partnerOriginalSize"] floatValue]) * (_currentStep/kPSMHideAnimationSteps)));
NSRect myNewFrame;
if ([self orientation] == PSMTabBarHorizontalOrientation) {
@@ -1053,7 +1054,7 @@
{
// make sure all of our tabs are accounted for before updating,
// or only proceed if a drag is in progress (where counts may mismatch)
- if ([[self tabView] numberOfTabViewItems] != [_cells count] && ![[PSMTabDragAssistant sharedDragAssistant] isDragging]) {
+ if ([[self tabView] numberOfTabViewItems] != (NSInteger)[_cells count] && ![[PSMTabDragAssistant sharedDragAssistant] isDragging]) {
return;
}
@@ -1082,7 +1083,7 @@
if (animate) {
NSMutableArray *targetFrames = [NSMutableArray arrayWithCapacity:[_cells count]];
- for (NSInteger i = 0; i < [_cells count]; i++) {
+ for (NSUInteger i = 0; i < [_cells count]; i++) {
currentCell = [_cells objectAtIndex:i];
//we're going from NSRect -> NSValue -> NSRect -> NSValue here - oh well
@@ -1104,7 +1105,7 @@
[self _animateCells:_animationTimer];
} else {
- for (NSInteger i = 0; i < [_cells count]; i++) {
+ for (NSUInteger i = 0; i < [_cells count]; i++) {
currentCell = [_cells objectAtIndex:i];
[currentCell setFrame:[_controller cellFrameAtIndex:i]];
@@ -1124,11 +1125,11 @@
NSAnimation *animation = [[timer userInfo] objectAtIndex:1];
NSArray *targetFrames = [[timer userInfo] objectAtIndex:0];
PSMTabBarCell *currentCell;
- NSInteger cellCount = [_cells count];
+ NSUInteger cellCount = (NSUInteger)[_cells count];
if ((cellCount > 0) && [animation isAnimating]) {
//compare our target position with the current position and move towards the target
- for (NSInteger i = 0; i < [targetFrames count] && i < cellCount; i++) {
+ for (NSUInteger i = 0; i < [targetFrames count] && i < cellCount; i++) {
currentCell = [_cells objectAtIndex:i];
NSRect cellFrame = [currentCell frame], targetFrame = [[targetFrames objectAtIndex:i] rectValue];
CGFloat sizeChange;
@@ -1164,8 +1165,8 @@
} else {
//put all the cells where they should be in their final position
if (cellCount > 0) {
- for (NSInteger i = 0; i < [targetFrames count] && i < cellCount; i++) {
- PSMTabBarCell *currentCell = [_cells objectAtIndex:i];
+ for (NSUInteger i = 0; i < [targetFrames count] && i < cellCount; i++) {
+ currentCell = [_cells objectAtIndex:i];
NSRect cellFrame = [currentCell frame], targetFrame = [[targetFrames objectAtIndex:i] rectValue];
if ([self orientation] == PSMTabBarHorizontalOrientation) {
@@ -1196,7 +1197,7 @@
[_animationTimer invalidate];
[_animationTimer release]; _animationTimer = nil;
- for (NSInteger i = 0; i < cellCount; i++) {
+ for (NSUInteger i = 0; i < cellCount; i++) {
currentCell = [_cells objectAtIndex:i];
//we've hit the cells that are in overflow, stop setting up tracking rects
@@ -1217,8 +1218,9 @@
// Skip tracking rects for placeholders - not required.
if ([cell isPlaceholder]) return;
- NSInteger tag, index = [_cells indexOfObject:cell];
- NSRect cellTrackingRect = [_controller cellTrackingRectAtIndex:index];
+ NSInteger tag;
+ NSUInteger anIndex = [_cells indexOfObject:cell];
+ NSRect cellTrackingRect = [_controller cellTrackingRectAtIndex:anIndex];
NSPoint mousePoint = [self convertPoint:[[self window] mouseLocationOutsideOfEventStream] fromView:nil];
BOOL mouseInCell = NSMouseInRect(mousePoint, cellTrackingRect, [self isFlipped]);
@@ -1232,7 +1234,7 @@
[cell setHighlighted:mouseInCell];
if ([cell hasCloseButton] && ![cell isCloseButtonSuppressed]) {
- NSRect closeRect = [_controller closeButtonTrackingRectAtIndex:index];
+ NSRect closeRect = [_controller closeButtonTrackingRectAtIndex:anIndex];
BOOL mouseInCloseRect = NSMouseInRect(mousePoint, closeRect, [self isFlipped]);
//set the close button tracking rect
@@ -1390,9 +1392,9 @@
return;
}
- CGFloat dx = fabs(currentPoint.x - trackingStartPoint.x);
- CGFloat dy = fabs(currentPoint.y - trackingStartPoint.y);
- CGFloat distance = sqrt(dx * dx + dy * dy);
+ CGFloat dx = fabsf(currentPoint.x - trackingStartPoint.x);
+ CGFloat dy = fabsf(currentPoint.y - trackingStartPoint.y);
+ CGFloat distance = sqrtf(dx * dx + dy * dy);
if (distance >= 10 && !_didDrag && ![[PSMTabDragAssistant sharedDragAssistant] isDragging] &&
[self delegate] && [[self delegate] respondsToSelector:@selector(tabView:shouldDragTabViewItem:fromTabBar:)] &&
@@ -1815,7 +1817,7 @@
// message, thus I can end up updating when there are no cells, if no tabs were (yet) present
NSInteger tabIndex = [aTabView indexOfTabViewItem:tabViewItem];
- if ([_cells count] > 0 && tabIndex < [_cells count]) {
+ if ([_cells count] > 0 && tabIndex < (NSInteger)[_cells count]) {
PSMTabBarCell *thisCell = [_cells objectAtIndex:tabIndex];
if (_alwaysShowActiveTab && [thisCell isInOverflowMenu]) {
@@ -2002,12 +2004,12 @@
- (NSSize)minimumFrameSizeFromKnobPosition:(NSInteger)position
{
- return NSMakeSize(100.0, 22.0);
+ return NSMakeSize(100.0f, 22.0f);
}
- (NSSize)maximumFrameSizeFromKnobPosition:(NSInteger)knobPosition
{
- return NSMakeSize(10000.0, 22.0);
+ return NSMakeSize(10000.0f, 22.0f);
}
- (void)placeView:(NSRect)newFrame
@@ -2056,7 +2058,7 @@
// bind for the existence of a counter
[cell setCount:0];
if ([item identifier] != nil) {
- if ([[[cell representedObject] identifier] respondsToSelector:@selector(objectCount)]) {
+ if ([[[cell representedObject] identifier] respondsToSelector:@selector(count)]) {
[cell bind:@"count" toObject:[item identifier] withKeyPath:@"objectCount" options:nil];
[[item identifier] addObserver:cell forKeyPath:@"objectCount" options:0 context:nil];
}
@@ -2138,9 +2140,9 @@
return [_cells objectAtIndex:(cellCount - 1)];
}
-- (NSInteger)numberOfVisibleTabs
+- (NSUInteger)numberOfVisibleTabs
{
- NSInteger i, cellCount = 0;
+ NSUInteger i, cellCount = 0;
PSMTabBarCell *nextCell;
for (i = 0; i < [_cells count]; i++) {