Develop and Download Open Source Software

Browse CVS Repository

Annotation of /undmail/guiproto/PreferenceController.m

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Sat Jan 25 13:23:47 2003 UTC (21 years, 2 months ago) by footashida
Branch: MAIN
*** empty log message ***

1 footashida 1.1 #import "PreferenceController.h"
2     #import "PreferenceToolbarSource.h"
3    
4     @implementation PreferenceController
5     -(id)init{
6     self = [super initWithWindowNibName:@"Preference"];
7     return self;
8     }
9     -(void)windowDidLoad{
10     NSWindow *window;
11     NSToolbar *toolbar;
12     PreferenceToolbarSource *preferenceToolbarSource;
13    
14     window = [self window];
15    
16     // init window
17     [window setContentSize:[generalPref bounds].size];
18     [[window contentView] addSubview:generalPref];
19     [window center];
20    
21     // init toolbar
22     toolbar = [[NSToolbar alloc] initWithIdentifier:@"PreferenceToolBar"];
23     preferenceToolbarSource = [[PreferenceToolbarSource alloc] initWithController:self];
24     [toolbar setDelegate:preferenceToolbarSource];
25     [window setToolbar:toolbar];
26     [toolbar release];
27     }
28     -(IBAction)selectPreferenceTab:(id)sender{
29     [self selectPreferenceTabWithName:[sender itemIdentifier]];
30     }
31     -(void)selectPreferenceTabWithName:(NSString *)identifier{
32     if([identifier isEqual:@"general_tab"]){
33     [self changePreferenceView:generalPref];
34     }else if([identifier isEqual:@"view_tab"]){
35     [self changePreferenceView:viewPref];
36     }else if([identifier isEqual:@"account_tab"]){
37     [self changePreferenceView:accountPref];
38     }else if([identifier isEqual:@"template_tab"]){
39     [self changePreferenceView:templatePref];
40     }else if([identifier isEqual:@"rule_tab"]){
41     [self changePreferenceView:rulePref];
42     }else{
43     // ������������������������������
44     }
45     }
46     -(IBAction)changePreferenceView:(NSView *)newView{
47    
48     NSRect oldContentRect; // ���������������������������������������Rect
49     NSRect oldWindowRect; // ������������Window���Rect
50     NSRect newContentRect; // ���������������������������������������Rect
51     NSRect newWindowRect; // ������������Window������Rect
52     float toolbarHeight; // ������������������������
53    
54     NSView *contentsView; // Window���������������������������
55     NSView *oldView;
56     NSView *dumView;
57    
58     NSWindow *preferenceWindow = [self window];
59    
60     oldWindowRect = [preferenceWindow frame];
61     oldContentRect = [[preferenceWindow contentView] bounds];
62    
63     toolbarHeight = NSHeight(oldWindowRect) - NSHeight(oldContentRect);
64    
65     newContentRect = [newView bounds];
66    
67     // ������������������Window���Rect���������
68     newWindowRect.origin.x
69     = oldWindowRect.origin.x;
70     newWindowRect.origin.y
71     = oldWindowRect.origin.y + (NSHeight(oldContentRect) - NSHeight(newContentRect));
72     newWindowRect.size.width
73     = newContentRect.size.width;
74     newWindowRect.size.height
75     = toolbarHeight + newContentRect.size.height;
76    
77     contentsView = [preferenceWindow contentView];
78     oldView = [[contentsView subviews] objectAtIndex:0];
79     dumView = [[NSView alloc] init];
80     [contentsView replaceSubview:oldView with:dumView];
81     [preferenceWindow setFrame:newWindowRect display:YES animate:YES];
82     [contentsView replaceSubview:dumView with:newView];
83     [dumView release];
84    
85     }
86    
87     @end

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26