ftp.nice.ch/Attic/openStep/implementation/gnustep/sources/objcX-0.87.tgz#/objcX-0.87/appkit/Cell.h

This is Cell.h in view mode; [Download] [Up]

/* Interface for Cell class
 * Copyright (C)  1993, 1994, 1995  The Board of Trustees of  
 * The Leland Stanford Junior University.  All Rights Reserved.
 *
 * Authors: Scott Francis, Paul Kunz, Imran Qureshi, and Libing Wang
 *
 * This file is part of an Objective-C class library for a window system
 *
 * Cell.h,v 1.57 1995/12/13 22:32:54 fedor Exp
 */

 
#ifndef _Cell_h_
#define _Cell_h_

#include <objc/Object.h>
#include "graphics.h"

/* Cell Types */

#define NX_NULLCELL   0
#define NX_TEXTCELL   1
#define NX_ICONCELL   2

@class Control;
@interface Cell:Object
{
  /* 
   *  These are for argument passing to widgets. they are place first so that
   *  they are easy to find while debugging
   */
    char               *instancename;
    void               *classname;
    void               *widgetid;
    void               *arglist;
    int                 numargs;
    int                 allocedargs;
    Control		*parentid;
    NXRect		_frame;

  /* The OpenStep instance variables */
    char               *contents;
    id                  support; /* will need add to -copy when used */

  /* The following are in struct cFlags1 in OpenStep */
    struct _cFlags1 {
        unsigned int    state:1;
        unsigned int    highlighted:1;
        unsigned int	disabled:1;
        unsigned int    editable:1;
        unsigned int    type:2;
        unsigned int    freeText:1;
        unsigned int    alignment:2;	/* for sub-classes that can use it */
        unsigned int    bordered:1;
        unsigned int    bezeled:1;
        unsigned int    selectable:1;
        unsigned int    scrollable:1;
        unsigned int    entryType:3;
    } cFlags1;
    
    
  /* The following in struct cFlags2 in OpenStep */

    struct _cFlags2    {
        unsigned int    continuous:1;
        unsigned int    actOnMouseDown:1;
        unsigned int    floatLeft:4;
        unsigned int    floatRight:4;
        unsigned int    autoRange:1;
        unsigned int    actOnMouseDragged:1;
        unsigned int    noWrap:1;
        unsigned int    dontActOnMouseUp:1;
        unsigned int    _isLeaf:1;
        unsigned int    _isLoaded:1;
    } cFlags2;
    
  /* The following in struct cFlags3 in OpenStep */
    BOOL                isWhite;
    BOOL                useUserKeyEquivalent;
    BOOL                center;
    BOOL                docEditing;
    BOOL                docSaved;
    BOOL                wasSelectable;

  /* The following are not in OpenStep */
    Control	    *controlView;

}

// + (BOOL)prefersTrackingUntilMouseUp;

- init;
- initTextCell:(const char *)aString;
- initIconCell:(const char *)iconName;

- awake;

- free;
- controlView;
- _setControlView:aView;
- (int)type;
- setType:(int)aType;
- (int)state;
- setState:(int)value;

- incrementState;

- target;
- setTarget:anObject;
- (SEL)action;
- setAction:(SEL)aSelector;
- (int)tag;
- setTag:(int)anInt;

- (BOOL)isOpaque;

- (BOOL)isEnabled;
- setEnabled:(BOOL)flag;

// - (int)sendActionOn:(int)mask;
- (BOOL)isContinuous;
- setContinuous:(BOOL)flag;
- (BOOL)isEditable;
- setEditable:(BOOL)flag;
- (BOOL)isSelectable;
- setSelectable:(BOOL)flag;
- (BOOL)isBordered;
- setBordered:(BOOL)flag;
- (BOOL)isBezeled;
- setBezeled:(BOOL)flag;
- (BOOL)isScrollable;
- setScrollable:(BOOL)flag;

- (BOOL)isHighlighted;
- (int)alignment;
- setAlignment:(int)mode;

// - setWrap:(BOOL)flag;
// - font;
// - setFont:fontObj;
// - (int)entryType;
// - setEntryType:(int)aType;
// - (BOOL)isEntryAcceptable:(const char *)aString;

- setFloatingPointFormat:(BOOL)autoRange 
                       left:(unsigned)leftDigits right:(unsigned)rightDigits;

// - (unsigned short)keyEquivalent;

- (const char *)stringValue;
- setStringValue:(const char *)aString;

- setStringValueNoCopy:(const char *)aString;
- setStringValueNoCopy:(char *)aString shouldFree:(BOOL)flag;

- (int)intValue;
- setIntValue:(int)anInt;
- (float)floatValue;
- setFloatValue:(float)aFloat;
- (double)doubleValue;
- setDoubleValue:(double)aDouble;
- takeIntValueFrom:sender;

- takeFloatValueFrom:sender;
- takeDoubleValueFrom:sender;

- takeStringValueFrom:sender;
- (const char *)icon;
- setIcon:(const char *)iconName;

- (int)getParameter:(int)aParameter;
- setParameter:(int)aParameter to:(int)value;
- getIconRect:(NXRect *)theRect;
- getTitleRect:(NXRect *)theRect;
- getDrawRect:(NXRect *)theRect;
- calcCellSize:(NXSize *)theSize;
- calcCellSize:(NXSize *)theSize inRect:(const NXRect *)aRect;
- calcDrawInfo:(const NXRect *)aRect;
- setTextAttributes:textObj;
- drawInside:(const NXRect *)cellFrame inView:controlView;
- drawSelf:(const NXRect *)cellFrame inView:controlView;
- highlight:(const NXRect *)cellFrame inView:controlView lit:(BOOL)flag;
- (int)mouseDownFlags;
- getPeriodicDelay:(float*)delay andInterval:(float*)interval;
- (BOOL)startTrackingAt:(const NXPoint *)startPoint inView:controlView;
- (BOOL)continueTracking:(const NXPoint *)lastPoint 
                      at:(const NXPoint *)currentPoint inView:controlView;
- stopTracking:(const NXPoint *)lastPoint at:(const NXPoint *)stopPoint 
        inView:controlView mouseIsUp:(BOOL)flag;
- (BOOL)trackMouse:(NXEvent *)theEvent inRect:(const NXRect *)cellFrame 
            ofView:controlView;
- edit:(const NXRect *)aRect inView:controlView editor:textObj 
  delegate:anObject event:(NXEvent *)theEvent;
- select:(const NXRect *)aRect inView:controlView editor:textObj 
              delegate:anObject start:(int)selStart length:(int)selLength;
- endEditing:textObj;
- write:(NXTypedStream *)stream;

- read:(NXTypedStream *)stream;

// - resetCursorRect:(const NXRect *)cellFrame inView:controlView;

// + new; 
// + newTextCell; 
// + newTextCell:(const char *)aString; 
// + newIconCell; 
// + newIconCell:(const char *)iconName;

- copyFromZone:(NSZone *)zone;
- sendAction;
@end

// #ifdef KANJI
// @interface Cell(InputManager)
// - (BOOL)cellUsesIM;
// - setCellUsesIM:(BOOL)flag;
// @end
// #endif


@class View;
@interface Cell(WidgetSet)
/* The following methods are GNUStep only */
- _setFont;
- _moveTo:(NXCoord)x :(NXCoord)y;
- _setEnabled:(BOOL)flag;
- _setFrame:(const NXRect *)frame inView:(Control *)aView;
- _getFrame:(NXRect *)frame;
- _setSize:(const NXSize *)size;
- _getSizeAdjust:(NXSize *)size;
- _addCallback;
- _managedBy:parent;
- _managedBy:parent wid:(void *)widget;
- _destroy;
- (void *)_widget;
- _copy;
@end

#endif

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.