Annotation of Examples/DatabaseKit/BarChart/ChartOfMatrix.h, revision 1.1

1.1     ! root        1: /* 
        !             2:  * BarChart, A simple multi source loadable class.
        !             3:  *
        !             4:  *     Written by: Joe Freeman 7/92
        !             5:  *     
        !             6:  *     HSB color sweep stolen from some of Randy Nelson's code
        !             7:  *             should use NXEqualColor() for duplicates
        !             8:  *
        !             9:  */
        !            10: /* bar spacing:Each plot is a width of 2N and each gap is a width of 1N
        !            11:  *     The total width is m*(2N+N) + N  = 3mN+N = where m is number of bars
        !            12:  *     Thus N = width / (3m+1)
        !            13:  */
        !            14: 
        !            15: /* Generated by Interface Builder */
        !            16: 
        !            17: #import <appkit/appkit.h>
        !            18: #import <dbkit/dbkit.h>
        !            19: 
        !            20: typedef enum _graphType {
        !            21:        DRAW_H_BAR      = 0,
        !            22:        DRAW_V_BAR      = 1,
        !            23:        DRAW_H_LINE     = 2,
        !            24:        DRAW_V_LINE     = 3     /* not impl */
        !            25:        } graphType;
        !            26:        
        !            27: 
        !            28: @interface ChartOfMatrix:View
        !            29: {
        !            30:     id dataSrc;                /* only connect in nib if is really matrix */
        !            31:     id minField;
        !            32:     id maxField;
        !            33:     id meanField;
        !            34: 
        !            35:     float      minSheetSet, maxSheetSet;/* min and max size  if not auto */
        !            36:     float      vMargin,hMargin;/* size of top/bottom, right/left margins */
        !            37:     struct _COM_Flags {
        !            38:        BOOL    autoScale:1;    /*  set vertical on fly or from xxxSheetSet */
        !            39:        BOOL    randomBarColors:1;/* random color for the bars */
        !            40:        BOOL    drawFrame:1;    /* the black line around the plot */
        !            41:        unsigned drawType:3;    /* bars, h, v, line */
        !            42:        unsigned dummy:10;
        !            43:        } COM_Flags;
        !            44:     NXColor    backgroundColor;
        !            45:     NXColor    highlightColor;
        !            46:     unsigned int       highlightIndex; /* currently selected row */
        !            47:     int                numPrototypes;  /* number of prototype bars/ points disp IB */
        !            48:     int                borderType;     /* should we bezel */
        !            49:     
        !            50:     id         mrExpression,mrFetchGroup; /* if getting fed from recordList */
        !            51: 
        !            52: }
        !            53: 
        !            54: - initFrame:(NXRect *)r;
        !            55: - awake;
        !            56: 
        !            57: /*============================================================
        !            58:  * color dragging support
        !            59:  *============================================================*/
        !            60: 
        !            61: - (NXDragOperation)draggingEntered:(id <NXDraggingInfo>)sender;
        !            62: - (BOOL)performDragOperation:(id <NXDraggingInfo>)sender;
        !            63: 
        !            64: /*============================================================
        !            65:  * instance set / query methods
        !            66:  *============================================================*/
        !            67: 
        !            68: - setGraphType:(int)drawCode;
        !            69: - (int)graphType;
        !            70: 
        !            71: /* */
        !            72: - takeRandomColorStateFrom:sender;
        !            73: - setRandomBarColorEnabled:(BOOL)flag;
        !            74: - (BOOL)isRandomBarColorEnabled;
        !            75: - takeBackgroundColorFrom:sender;
        !            76: - setBackgroundColor:(NXColor)aColor;
        !            77: - (NXColor)backgroundColor;
        !            78: - takeHighlightColorFrom:sender;
        !            79: - setHighlightColor:(NXColor)aColor;
        !            80: - (NXColor)highlightColor;
        !            81: 
        !            82: 
        !            83: /* set and query the size for the margins (in points) */
        !            84: - takeHMarginFrom:sender;
        !            85: - takeVMarginFrom:sender;
        !            86: - (float)hMargin;
        !            87: - (float)vMargin;
        !            88: 
        !            89: /* fancy controls */
        !            90: - takeFrameStateFrom:sender;
        !            91: - (BOOL)frameState;
        !            92: - takeNumProtosFrom:sender;
        !            93: - (int)numProtos;
        !            94: - takeBorderTypeFrom:sender;   /* what type of bezel  gets sender's tag*/
        !            95: - (int)borderType;
        !            96: 
        !            97: - takeAutoScaleStateFrom:sender;
        !            98: - setAutoScale:(BOOL)flag;
        !            99: - (BOOL)autoScale;
        !           100: 
        !           101: /* when autoscale is off, set the min and max for the sheet */
        !           102: - takeMinValueFrom:sender;
        !           103: - takeMaxValueFrom:sender;
        !           104: - (double)minValue;
        !           105: - (double)maxValue;
        !           106: 
        !           107: /*============================================================
        !           108:  * pasteboard
        !           109:  *============================================================*/
        !           110: 
        !           111: - copy:sender;
        !           112: 
        !           113: /*============================================================
        !           114:  * do real work
        !           115:  *============================================================*/
        !           116: 
        !           117: - (int)numLocations;
        !           118: - (float)valueOfLocation:(int)n;
        !           119: - calcRect:(NXRect *)r 
        !           120:        ofBar:(int)n 
        !           121:        insideRect:(NXRect *)boundingRect
        !           122:        usingMin:(float)minSheetVal;
        !           123: 
        !           124: /*============================================================
        !           125:  * target action loading
        !           126:  *============================================================*/
        !           127: 
        !           128: - plotFromMatrix:sender;
        !           129:        /* we get this when DBModule fetches new batch of values */
        !           130:        
        !           131: /*============================================================
        !           132:  * dbKit feed
        !           133:  *============================================================*/
        !           134: 
        !           135: - associationContentsDidChange:association;
        !           136:        /* we get this when values are updated via UI */
        !           137: - association:association setValue:(DBValue *)value;
        !           138:        /* we get this when the selection changes */
        !           139: - associationSelectionDidChange:association;
        !           140:        /* we get this when a row is deleted */
        !           141: - associationCurrentRecordDidDelete:association;
        !           142: 
        !           143: 
        !           144: /*============================================================
        !           145:  * do a selection with the mouse
        !           146:  *============================================================*/
        !           147:  
        !           148: - mouseDown:(NXEvent *)theEvent;
        !           149: 
        !           150: /*============================================================
        !           151:  * archiving for the inspector 
        !           152:  *============================================================*/
        !           153: 
        !           154: - read:(NXTypedStream *)stream;
        !           155: - write:(NXTypedStream *)stream;
        !           156: 
        !           157: /*============================================================
        !           158:  * rendering 
        !           159:  *============================================================*/
        !           160: 
        !           161: - calcMin:(float *)rMin andMax:(float *)rMax andMean:(float *)rMean;
        !           162: - renderVLines:(NXRect *)r  min:(float )minSheetVal max:(float )maxSheetVal;
        !           163: - renderBars:(NXRect *)r min:(float )minSheetVal max:(float )maxSheetVal;
        !           164: 
        !           165: /*============================================================
        !           166:  * rendering 
        !           167:  *============================================================*/
        !           168: 
        !           169: - drawSelf:(NXRect *)r :(int)c;
        !           170: 
        !           171: @end

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.