This is MiscTableView.h in view mode; [Download] [Up]
#ifndef __MiscTableView_h #define __MiscTableView_h //============================================================================= // // Copyright (C) 1995-1997 by Paul S. McCarthy and Eric Sunshine. // Written by Paul S. McCarthy and Eric Sunshine. // All Rights Reserved. // // This notice may not be removed from this source code. // // This object is included in the MiscKit by permission from the authors // and its use is governed by the MiscKit license, found in the file // "License.rtf" in the MiscKit distribution. Please refer to that file // for a list of all applicable permissions and restrictions. // //============================================================================= //----------------------------------------------------------------------------- // MiscTableView.h // // General-purpose 2-D display object that works with the // MiscTableScroll to provide row/column sizing and dragging. // // This object is responsible for drawing, mouse and keyboard // events in the content portion of the display. // //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- // $Id: MiscTableView.h,v 1.15 97/06/18 10:02:36 sunshine Exp $ // $Log: MiscTableView.h,v $ // Revision 1.15 97/06/18 10:02:36 sunshine // v125.9: Worked around Objective-C++ compiler crash in OPENSTEP 4.2 for NT // when sending message to 'super' from within a category. Unified naming. // numVisibleSlots: --> numberOfVisibleSlots: // "highlight" --> "selected" in color-related method names. // // Revision 1.14 97/04/15 09:10:17 sunshine // v0.125.8: Added "MiscTableScroll/" prefix to #import to facilitate new // framework organization. // // Revision 1.13 97/04/01 08:02:33 sunshine // v0.125.5: Fixed bug: As a result of autorelease mechanism, TableView // actually gets freed *after* TableScroll, however TableView still pointed // to the TableScroll with 'scroll' and tried to send messages to the freed // object. (This showed up when I fixed the bug in TableBorder where it was // retaining its 'owner' TableScroll but never releasing it, thus leaking the // TableScroll, TableView, etc.) //----------------------------------------------------------------------------- extern "Objective-C" { #import <AppKit/NSView.h> } #import <MiscTableScroll/MiscTableTypes.h> @class MiscBorderView, MiscMouseTracker, MiscTableScroll; @class NSCell, NSText; class MiscSparseSet; class MiscTableBorder; struct MiscTSPageBreak { MiscPixels offset; MiscPixels size; MiscCoord_V first; // One's comp if started on earlier page. MiscCoord_V last; // One's comp if ends on later page. }; struct MiscTSPageImages { NSImage* page_header; NSImage* page_footer; NSImage* col_titles; NSImage* row_titles; }; struct MiscTablePages { MiscTablePrintInfo info; MiscTSPageBreak* col_breaks; MiscTSPageBreak* row_breaks; MiscTSPageImages* images; id pageHeader; id pageFooter; MiscBorderView* colTitles; MiscBorderView* rowTitles; float page_header_height; float page_footer_height; float col_titles_height; float row_titles_width; }; @interface MiscTableView : NSView { MiscTableBorder* colBorder; MiscTableBorder* rowBorder; MiscBorderType trackerBorder; MiscMouseTracker* tracker; MiscSparseSet* oldColSel; MiscSparseSet* oldRowSel; MiscTablePages* pages; unsigned int inhibitCursor; MiscCoord_V cursorSlot; } - (id)initWithFrame:(NSRect)r scroll:(MiscTableScroll*)s colInfo:(MiscTableBorder*)colBorder rowInfo:(MiscTableBorder*)rowBorder; - (void)adjustSize; - (id)scroll; - (NSRect)cellInsideAtRow:(MiscCoord_P)row column:(MiscCoord_P)col; - (NSRect)cellFrameAtRow:(int)row column:(int)col; // Physical coords - (BOOL)getRow:(int*)row column:(int*)col // Physical coords forPoint:(NSPoint)point; - (void)drawCellAtRow:(int)row column:(int)col; // Physical coords - (void)drawRow:(int)row; // Physical coord - (void)drawColumn:(int)col; // Physical coord - (void)scrollCellToVisibleAtRow:(int)row column:(int)col; // Physical coords - (void)scrollRowToVisible:(int)row; // Physical coord - (void)scrollColumnToVisible:(int)col; // Physical coord - (int)numberOfVisibleSlots:(MiscBorderType)b; // All physical coords. - (int)firstVisibleSlot:(MiscBorderType)b; - (int)lastVisibleSlot:(MiscBorderType)b; - (BOOL)border:(MiscBorderType)b slotIsVisible:(int)n; - (void)border:(MiscBorderType)b setFirstVisibleSlot:(int)n; - (void)border:(MiscBorderType)b setLastVisibleSlot:(int)n; - (void)setSelectionMode:(MiscSelectionMode)mode; - (void)selectionChanged; - (void)resetSelection; - (void)reflectCursor; - (void)trackBy:(MiscBorderType)b; - (MiscBorderType)trackingBy; - (void)disableCursor; // Can nest. - (void)enableCursor; - (BOOL)isCursorEnabled; - (void)drawCursor; - (void)eraseCursor; - (BOOL)shouldDrawCursor; - (BOOL)sendAction:(SEL)cmd to:(id)obj; - (void)mouseDown:(NSEvent*)event; - (void)keyboardSelect:(NSEvent*)p; - (void)moveCursorBy:(int)delta; - (void)superPrint:(id)sender; // See implementation for explanation. @end // PRINTING ------------------------------------------------------------------- @interface MiscTableView(Print) - (void)print:(id)sender; - (BOOL)knowsPagesFirst:(int*)first last:(int*)last; - (NSRect)rectForPage:(int)n; - (NSPoint)locationOfPrintRect:(NSRect)rect; - (void)drawPageBorderWithSize:(NSSize)size; - (MiscTablePrintInfo const*)getPrintInfo; @end #endif // __MiscTableView_h
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.