Annotation of Examples/IndexingKit/Ledger/JFTableVectorConfiguration.h, revision 1.1.1.1

1.1       root        1: 
                      2: /* 
                      3:  *     JFTableVectorConfiguration
                      4:  *     Written by Joe Freeman
                      5:  *
                      6:  *     A list of these configuration objects is fed to a JFTableViewLoader
                      7:  *     to tell it what ivars and titles map into a DBTableView
                      8:  */
                      9: #import <appkit/appkit.h>
                     10: 
                     11: @interface JFTableVectorConfiguration:Object
                     12: {
                     13:        /* vars in this block are archived */
                     14:        const char *templateName;       /* class name of the template */
                     15:        const char *title;
                     16:        const char *ivarName;
                     17:        
                     18:        /* these are cached so only figure out once */
                     19:        BOOL    kindOfStringTable;      /* funny hack put in for kris */
                     20:        Ivar    ivarInfo;               /* ivar_name ,ivar_type, ivar_offset */
                     21:        SEL     setMethod;
                     22:        SEL     getMethod;
                     23:        Class   template;               /* only used when rebuilding */
                     24: }
                     25: 
                     26: /*======================================================================
                     27:  *     designated initializer
                     28:  *======================================================================*/
                     29: 
                     30: - initDataClassName:(const char *)aString 
                     31:        titleName:(const char *)newTitle 
                     32:        ivarName:(const char *)newIvar;
                     33: 
                     34: /*======================================================================
                     35:  *     setup methods for this configuration object
                     36:  *======================================================================*/
                     37: 
                     38:        /* we give the class by name, because we continue to try and look
                     39:         * up the class, so we can configure this object without the data
                     40:         * class being linked into the application
                     41:         */
                     42: - setDataClassName:(const char *)aString;
                     43:        /* this will become the title of the column */
                     44: - setTitle:(const char *)newTitle;     /* DOES NOT MAKE COPY */
                     45:        /* this supports a special case.  subclass of NXStringTable
                     46:         * may put the key to one of their elements here instead of an ivar
                     47:         * this class looks to see if it is a subclass of an NXStringTable
                     48:         */
                     49: - setIvarName:(const char *)newIvar;   /* DOES NOT MAKE COPY */
                     50: 
                     51: - (const char *)dataClassName;
                     52: - (const char *)title;
                     53: - (const char *)ivarName;
                     54: 
                     55: /*======================================================================
                     56:  *     archiving support (for the palette!)
                     57:  *======================================================================*/
                     58: 
                     59: - awake;
                     60: - read:(NXTypedStream *)typedStream;
                     61: - write:(NXTypedStream *)typedStream;
                     62: 
                     63: 
                     64: /*======================================================================
                     65:  *     use this thing to transfer data from dbvalues to datastore objects
                     66:  *======================================================================*/
                     67: 
                     68: /*
                     69:  * Load up the DBValue object (aValue) from the portion of the 
                     70:  * dataObject specified by this configuration object
                     71:  */
                     72: - getValueFromObject:dataObject into:aValue;
                     73: 
                     74: /*
                     75:  * save the dbvalue object into the portion of the data object specified by
                     76:  * this configuration object 
                     77:  */
                     78: - setValueForObject:dataObject from:aValue;
                     79: 
                     80: @end

unix.superglobalmegacorp.com

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