home *** CD-ROM | disk | FTP | other *** search
- /* Controller.m:
- * You may freely copy, distribute, and reuse the code in this example.
- * NeXT disclaims any warranty of any kind, expressed or implied, as to its
- * fitness for any particular use.
- *
- *
- *
- */
-
- #import "Controller.h"
- #import "SQLWindow.h"
-
- @implementation Controller
-
- #define DEFAULT_LIBRARY "Library/Databases"
-
- - open:sender
- {
- char **files;
- char *path;
- const char *directory;
- const char *const types[] = { "dbmodel", "dbmodela", 0 };
- id openPanel;
-
- openPanel = [OpenPanel new];
- [openPanel allowMultipleFiles:YES];
- path = alloca(1 + MAXPATHLEN);
- sprintf(path, "%s/%s", getenv("HOME"), DEFAULT_LIBRARY);
- if ([openPanel runModalForDirectory:path file:NULL types:types])
- if ((files = (char **) [openPanel filenames]) != NULL)
- {
- directory = [openPanel directory];
- for (; *files; ++files)
- {
- sprintf(path, "%s/%s", directory, *files);
- [self openFileNamed:path];
- }
- }
-
- return self;
- }
-
- - openFileNamed:(const char *)filename
- {
- return [[SQLWindow alloc] initWithFile:filename];
- }
-
- - evaluate:sender
- {
- [[[NXApp mainWindow] delegate] evaluate:sender];
- return self;
- }
-
- - clear:sender
- {
- [[[NXApp mainWindow] delegate] clear:sender];
- return self;
- }
-
- - print:sender
- {
- [[[NXApp mainWindow] delegate] print:sender];
- return self;
- }
-
- - close:sender
- {
- [[[NXApp mainWindow] delegate] performClose:sender];
- return self;
- }
-
- @end
-