This is Worker.m in view mode; [Download] [Up]
/* BigView.m
* Purpose: This class functions as NXApp's delegate, initializing stuff
* before PaginationLab runs. It also handles requests to run the
* pageLayout panel.
*
* You may freely copy, distribute, and reuse the code in this example.
* NeXT disclaims any warranty of any kind, expressed or implied, as to its
* fitness for any particular use.
*
* Written by: Samuel Streeper
* Created: (04/April/91)
*/
#import "Worker.h"
#import "MyPageLayout.h"
#import "MyPrintInfo.h"
#import <appkit/Application.h>
#import <appkit/Form.h>
#import <appkit/ButtonCell.h>
#import <appkit/FormCell.h>
#import <appkit/ClipView.h>
#import <appkit/ScrollView.h>
@implementation Worker
- runPageLayout:sender
{
[[MyPageLayout new] runModal];
return self;
}
- appDidInit:sender
{
NXRect bvRect, cvRect;
NXPoint pt;
id newPi;
id clipView = [myBigView superview];
[clipView allocateGState]; // otherwise halftone phase is wrong on scrolling
// The following lines of code simply scroll the BigView so that
// it's top is showing, rather than it's coordinate origin. Yes,
// I know this code is ugly...
[myBigView getBounds:&bvRect];
[clipView getBounds:&cvRect];
pt = cvRect.origin;
pt.y = bvRect.size.height - cvRect.size.height;
[clipView rawScroll:&pt];
[[clipView superview] reflectScroll:clipView];
//set the new modified PrintInfo, free the old one
newPi = [[MyPrintInfo alloc] init];
[[NXApp setPrintInfo: newPi] free];
[myBigView setPrintInfo:newPi];
[[myBigView window] makeKeyAndOrderFront:self];
return self;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.