This is ColorBrowser.m in view mode; [Download] [Up]
//--------------------------------------------------------------------------------------------------------- // // ColorBrowser // // Inherits From: NXBrowser // // Declared In: ColorBrowser.h // // Disclaimer // // You may freely copy, distribute and reuse this software and its // associated documentation. I disclaim any warranty of any kind, // expressed or implied, as to its fitness for any particular use. // //--------------------------------------------------------------------------------------------------------- #import "ColorBrowser.h" #import "ColorBrowserCell.h" @implementation ColorBrowser //--------------------------------------------------------------------------------------------------------- // Initialization //--------------------------------------------------------------------------------------------------------- - initFrame: (const NXRect *) frameRect { // Give it default IB characteristics and set the Cell class. [super initFrame: frameRect]; [self setCellClass: [ColorBrowserCell class]]; [self separateColumns: YES]; [self setHorizontalScrollerEnabled: YES]; [self setEmptySelectionEnabled: YES]; [self setTitle: "ColorBrowser" ofColumn: 0]; return self; } //--------------------------------------------------------------------------------------------------------- // Setting Cell Color //--------------------------------------------------------------------------------------------------------- - setTextColor:(NXColor)aColor forCellWithStringValue:(const char*)aString inColumn:(int) aColumn { id matrix; id currentCell; int rows; int columns; int iterator; if ( ! aString) return self; if ( ! (matrix = [self matrixInColumn: aColumn])) return self; [matrix getNumRows: &rows numCols: &columns]; if ( ! rows) return self; for (iterator = 0; iterator < rows; iterator++) { currentCell = [matrix cellAt: iterator : 0]; if ( ! NXOrderStrings ( aString, [currentCell stringValue], YES, -1, NULL)) [currentCell setTextColor: aColor]; } [self update]; return self; } - setTextColor: (NXColor) aColor forCellWithIntValue: (int) anInt inColumn: (int) aColumn { id matrix; int rows; int columns; int iterator; if ( ! (matrix = [self matrixInColumn: aColumn])) return self; [matrix getNumRows: &rows numCols: &columns]; if ( ! rows) return self; for (iterator = 0; iterator < rows; iterator++) if ([[matrix cellAt: iterator : 0] intValue] == anInt) [[matrix cellAt: iterator : 0] setTextColor: aColor]; [self update]; return self; } - setTextColor: (NXColor) aColor forCellWithFloatValue: (float) aFloat inColumn: (int) aColumn { id matrix; int rows; int columns; int iterator; if ( ! (matrix = [self matrixInColumn: aColumn])) return self; [matrix getNumRows: &rows numCols: &columns]; if ( ! rows) return self; for (iterator = 0; iterator < rows; iterator++) if ([[matrix cellAt: iterator : 0] floatValue] == aFloat) [[matrix cellAt: iterator : 0] setTextColor: aColor]; [self update]; return self; } - setTextColor: (NXColor)aColor forCellWithDoubleValue: (double)aDouble inColumn: (int) aColumn { id matrix; int rows; int columns; int iterator; if ( ! (matrix = [self matrixInColumn: aColumn])) return self; [matrix getNumRows: &rows numCols: &columns]; if ( ! rows) return self; for (iterator = 0; iterator < rows; iterator++) if ([[matrix cellAt: iterator : 0] doubleValue] == aDouble) [[matrix cellAt: iterator : 0] setTextColor: aColor]; [self update]; return self; } - setTextColor: (NXColor) aColor forCellWithTag: (int) aTag inColumn: (int) aColumn { id matrix; id cellWithTag; if ( ! (matrix = [self matrixInColumn: aColumn])) return self; if ((cellWithTag = [matrix findCellWithTag: aTag])) [cellWithTag setTextColor: aColor]; [self update]; return self; } - setTextColor:(NXColor)aColor forCellInRow: (int) aRow inColumn: (int) aColumn; { id matrix; id cellInRow; if ( ! (matrix = [self matrixInColumn: aColumn])) return self; if ((cellInRow = [matrix cellAt: aRow :0])) [cellInRow setTextColor: aColor]; [self update]; return self; } - setTextColor: (NXColor) aColor inColumn: (int) aColumn; { id matrix; int rows; int columns; int iterator; if ( ! (matrix = [self matrixInColumn: aColumn])) return self; [matrix getNumRows: &rows numCols: &columns]; if ( ! rows) return self; for (iterator = 0; iterator < rows; iterator++) [[matrix cellAt: iterator :0] setTextColor: aColor]; [self update]; return self; } - setTextColorOfSelectedCells:(NXColor)aColor { if ([self isMultipleSelectionEnabled]) { int iterator; id selectedCellsList = [[List alloc] init]; [self getSelectedCells: selectedCellsList]; for (iterator = 0; iterator < [selectedCellsList count]; iterator++) [[selectedCellsList objectAt: iterator] setTextColor: aColor]; if (selectedCellsList) [selectedCellsList free]; } else { [[self selectedCell] setTextColor: aColor]; } [self update]; return self; } //--------------------------------------------------------------------------------------------------------- // IB Methods //--------------------------------------------------------------------------------------------------------- - (const char*) getInspectorClassName { return "ColorBrowserInspector"; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.