File: MAccessoryScrollView.m

package info (click to toggle)
mysql-query-browser 1.1.6-1sarge0
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 36,320 kB
  • ctags: 24,680
  • sloc: pascal: 203,479; xml: 136,561; ansic: 47,502; cpp: 28,926; sh: 12,433; objc: 4,823; java: 1,849; php: 1,485; python: 1,225; sql: 1,128; makefile: 872
file content (62 lines) | stat: -rw-r--r-- 1,115 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
//
//  MAccessoryScrollView.m
//  MySQLGUICommon
//
//  Created by Alfredo Kojima on 9/3/04.
//  Copyright 2004 MySQL AB. All rights reserved.
//

#import "MAccessoryScrollView.h"


@implementation MAccessoryScrollView


- (void)dealloc
{
  [_accessoryViews release];
  [super dealloc];
}


- (void)addAccessoryView:(NSView*)view
{
  if (!_accessoryViews)
    _accessoryViews= [[NSMutableArray alloc] init];
  
  [_accessoryViews addObject:view];
  [self tile];
}


- (void)tile
{
  int i;
  NSRect rect, prect;
  NSScroller *hscroller= [self horizontalScroller];
  float x;

  // 1st do the default arrangement 
  [super tile];
  
  prect= [self frame];
  rect= [hscroller frame];
  
  x= rect.origin.x;
  // now arrange our accessory views
  for (i= 0; i < [_accessoryViews count]; i++)
  {
    NSView *view= [_accessoryViews objectAtIndex:i];
    float w= [view frame].size.width;
    [view setFrame:NSMakeRect(x, rect.origin.y, w, rect.size.height)];
    [view setNeedsDisplay:YES];
    x+= w;
  }
  rect.origin.x+= x;
  rect.size.width-= x;
  [hscroller setFrame:rect];
  [hscroller setNeedsDisplay];
}


@end