This is BBAtomLibraryBrowserController.m in view mode; [Download] [Up]
/* BBAtomLibraryBrowserController.h
*
* This subclass of MiscSwapContentsCtrl is in charge of the organic section
* of the atomlibrary
*
* For more interface-info see the header file. In depth information
* can be found here in the source-code.
*
* Written by: Thomas Engel
* Created: 12.01.1994 (Copyleft)
* Last modified: 15.05.1994
*/
#import "BBAtomLibraryBrowserController.h"
#import "BBAtomLibraryManager.h"
#import "../BBBasicAtom.h"
#import "../BBAppManager.h"
@implementation BBAtomLibraryBrowserController
-revert:sender
{
// Ok. we will swap in. So Lets set up the browser & first column.
// we have a lot to do with the atomList so lets cache it.
atomList = [[[NXApp delegate] atomLibrary] atomList];
[browser setTarget:self];
[browser setAction:@selector(selectNewAtom:)];
[browser setDoubleAction:@selector(selectNewAtom:)];
[browser loadColumnZero];
return [super revert:self];
}
- selectNewAtom:sender
{
// Lets find the selected Cell and take its tag...very simple.
int theTag;
theTag = [[browser selectedCell] tag];
[[[NXApp delegate] atomLibrary] selectBasicAtomWithProtons:(short)theTag];
return self;
}
- (int)browser:sender fillMatrix:matrix inColumn:(int)column
{
// We just fill the matrix with the needed number of cells.
// According the atoms inside the list.
int i, n;
n = [atomList count];
for( i=0; i<n; i++ ) [matrix addRow];
return n;
}
- browser:sender loadCell:cell atRow:(int)row inColumn:(int)column
{
// Just set the atoms name as the String value.
id anAtom;
anAtom = [atomList objectAt:row];
[cell setStringValue:[anAtom name]];
[cell setTag:[anAtom protons]];
[cell setLoaded:YES];
[cell setLeaf:YES];
return self;
}
@end
/*
* History: 14.05.94 Switched to new name: BB...
*
* 12.01.94 First implementation.
*
*
* Bugs: - Hmm...yes..sure. Well the name should be: C...Kohlenstoff not
* just Kohlenstoff
*
* - To implement the switching we will maintain our own list which will
* be sorted the way we need it.
*/These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.