This is InspectorManager.m in view mode; [Download] [Up]
/* InspectorManager.m
created by Robert Vasvari - July 1994
*/
#import "STSwapBoxManager.h"
#import "STUtil.h"
#import "STAdjFontTextField.h"
#import "STAppController.h"
#import "STClockView.h"
#import "InspectorManager.h"
#import "DocumentClass.h"
@implementation InspectorManager
- awakeFromNib
{
[super awakeFromNib];
/* set up the textfields */
[nameText setFontString:"Helvetica"];
[nameText setAttributes:4 :8
align:NX_CENTERED
lines:1];
[pathText setFontString:"Helvetica"];
[pathText setAttributes:0 :4
align:NX_LEFTALIGNED
lines:2];
[panel setDocEdited:NO];
return self;
}
- updateInspector:sender
{
id doc=[[NXApp delegate] currentDoc];
//printf("in updateInspector\n");
if(!doc)
{ name=nil;
path=nil;
cTime=nil;
mTime=nil;
return self;
}
[doc getInspectorData:&name :&path :&tag :&cTime :&mTime];
return self;
}
- loadDataFor:(int)boxTag
{
/* this method loads the data into the currently selected
screen.
*/
switch(boxTag)
{ case 0:
[nameText setStringValue:name ? [name cString] : ""];
[pathText setStringValue:path ? [path cString] : ""];
[createClock setValue:cTime];
[modifyClock setValue:mTime];
[tagText setIntValue:tag];
[panel setTitle:"Screen 1 Inspector"];
break;
case 1:
[panel setTitle:"Screen 2 Inspector"];
break;
default:fprintf(stderr,"loadDataFor: bad boxTag:%d\n",boxTag);
}
return self;
}
- getPanelWithScreen:(int)index
{ /* this needed to be overridden to make sure
updateInspector gets called
*/
[panel disableFlushWindow];
[panel disableDisplay];
[self updateInspector:nil];
[super getPanelWithScreen:index];
[panel reenableDisplay];
[panel display];
[panel reenableFlushWindow];
[panel flushWindow];
return self;
}
- windowDidUpdate:sender
{
//printf("in Inspector windowDidUpdate\n");
[panel disableFlushWindow];
[panel disableDisplay];
if([panel isVisible]) [self updateInspector:nil];
/* this will call loadData */
[super windowDidUpdate:sender];
[panel reenableDisplay];
[panel display];
[panel reenableFlushWindow];
[panel flushWindow];
return self;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.