This is Controller.h in view mode; [Download] [Up]
/* * This sourcecode is part of FileSpy, a logfile observing utility. * Copyright (C) 1996 Felix Rauch * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Notice that this program may not be possessed, used, copied, * distributed or modified by people having to do with nuclear * weapons. See the file CONDITIONS for details. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * To contact the original author, try: * e-mail: Felix.Rauch@nice.ch * Traditional mail: Felix Rauch * Sempacherstrasse 33 * 8032 Zurich * Switzerland */ #import <appkit/appkit.h> #import <objc/List.h> #import <objc/Storage.h> #import <defaults/defaults.h> #import <dpsclient/dpsNeXT.h> #import <soundkit/Sound.h> #import <sys/stat.h> #import <sys/types.h> #import <pwd.h> #import <stdio.h> #import <ansi/stdlib.h> #import <limits.h> #ifdef DEBUG #include <assert.h> #endif #import "SpyTextFieldCell.h" #import "MyScrollView.h" #import "Finder.h" #import "MyMatrix.h" #import "ExistenceTextFieldCell.h" #import "SimpleMatrix.h" #define FILTER_DONTCOPY 0 #define FILTER_DONTBEEP 1 #define SPY_CONTENTS 1 #define SPY_EXISTENCE 2 #define MAXSTRLEN 256 extern const char versionString[]; @interface Controller:Object { id myScrollView; id myTextField; id myWindow; id myMatrix; id myAddButton; id radioMatrix; id popupSwitch; id superlogSwitch; // superlog is the old name for multilog id filterSwitch; id dontCopySwitch; id superFilenameButton; // tri-state button for how-is-filename-in-superlog id spytypeButton; // tri-state button about what to spy id infoPanel; id preferencesPanel; id inspectorPanel; id findPanel; id finder; id secsTextField; id secsScroller; id maxLinesTextField; id maxLinesScroller; id maxLinesMatrix; id soundButton; id fileListButton; id prefPopupSwitch; id prefSoundButton; id prefSuperlogSwitch; id prefRadioMatrix; id prefFilterSwitch; id prefDontCopySwitch; id prefSuperFilenameButton; // wether filenames should be copied id prefSpytypeButton; // what to spy id superPopupSwitch; id superSoundSwitch; id superFilterSwitch; id superDupSwitch; // 'No duplicated lines' id timeSwitch; // print timestamp in log? id prefTimeSwitch; // same for preferences id showTimeSwitch; // show duration of change in Existencelog? id filterWindow; id filterText; id filterModeMatrix; id keySwitch; id stateSwitch; id infoPanelName; id infoPanelAddress; id prefGenView; // for the preferences panel handling id prefNewView; id prefSuperView; id prefSwapfileView; id prefSwapfileTextField; char *swapfilename; id prefSwapfileSizeTextField; long int swapfilesize; BOOL swapfileTooBig, swapfileError; id multiView; id popButton; id versionTextField; id superColorWell; id prefColorWell; id fontTextField; // preview-textfield in inspector id prefFontTextField; // preview-textfield in preferences id fontButton; // 'Set...' button in inspector id prefFontButton; // 'Set...' button in preferences id myFontManager; // the Fontmanager object id inspectorMultiView; // the inspectorPanel's view id inspectorNormalView; // the usual inspectorView id inspectorNoView; // 'No Inspector' id inspectorName; // textField for file's name id inspectorFile; // textField for "File[s]" id existencelogWindow; id myExistenceScrollView; id myExistenceMatrix; unsigned fileCount, oldFileCount; double secs; DPSTimedEntry alarmTimedEntry; BOOL running, saveFileList; BOOL prefPopup, prefBeepOnChange, prefSuperlog, prefUseFilter; BOOL prefDontCopySuperlog; // don't copy to superlog on startup int prefFileMode, filterMode; NXCoord winx, winy; id superFont, superDoc, superWindow, superScrollView, superText; id lastSuperlogUser; Storage *filterStore; BOOL superPopup, superBeepOnChange, superUseFilter, useFilter; BOOL displayCurWindow, whileInit, becomeKey, saveState, newFileOffset; BOOL filterIsUpToDate; BOOL prefTimeStamp; // print time in log? unsigned int prefSuperCopyFilename; char frameStr[NX_MAXFRAMESTRINGLENGTH]; id firstFileStore; NXColor prefColor; id prefFont; int maxLines; // how many lines in a log window? BOOL maxLineState; // do we use this feature anyway? BOOL myWindowIsVisible; // set to NO as soon as it willClose BOOL noDuplicatedLines; unsigned short int prefSpytype; // check for existence-Flags; char *inspectorFrame; // frame of inspectorPanel char *lastSuperlogString; // the last line which was logged in superlog unsigned int nrOpenWindows; // number of open windows List *tmpList; BOOL existenceSeen; id mySound; id soundTextField; id commandTextField; BOOL showTime; // show duration of change in ExistenceLog? id conditionsWindow; id copyingWindow; id helpWindow; id helpText; } - showPreferences:sender; - appWillInit:sender; - appDidInit:sender; - appWillTerminate:sender; - app:sender powerOffIn:(int)ms andSave:(int)aFlag; - free; - (BOOL)appAcceptsAnotherFile:sender; - (int)app:sender openFile:(const char *)filename type:(const char *)aType; - addFileWithName:(const char *)name; - addFile:sender; - deleteFile:sender; - chooseFile:sender; - singleClick:sender; - doubleClick:sender; - radioClick:sender; - superlogClick:sender; - autoPopUpClick:sender; - beepOnChangeClick:sender; - useFilterClick:sender; - superFilenameClick:sender; // wether filenames should be copied in superlog - prefSuperFilenameClick:sender;// .. same in preferences - timeClick:sender; - prefTimeClick:sender; - spytypeClick:sender; // spy for existence? - prefSpytypeClick:sender; // .. same in preferences - colorChanged:sender; // textcolor for superlog - prefColorChanged:sender; // .. same in preferences - (NXColor)prefColor; // color in preferences, not used yet - changeFont:sender; // received from FontManager? - filterModeClick:sender; - prefRadioClick:sender; - prefSuperlogClick:sender; - prefAutoPopUpClick:sender; - prefBeepOnChangeClick:sender; - prefUseFilterClick:sender; - superAutoPopUpClick:sender; - superBeepOnChangeClick:sender; - superUseFilterClick:sender; - superDupLinesClick:sender; - copySuperlogClick:sender; - prefCopySuperlogClick:sender; - keyClick:sender; - stateClick:sender; - saveFileListClick:sender; - setShowTimeClick:sender; - (BOOL)showTime; - changeUpdatePeriod:sender; - setPref:sender; - setPrefToView:sender; - savePreferences:sender; - saveFilter:sender; - loadPreferences:sender; - startSpy; // start DPSTimedEntry anyway - startSpyIfNeeded; // start DPSTimedEntry if there is at least 1 File to spy - stopSpy; // stop TimedEntry - stopSpyIfNeeded; // stop TimedEntry if there's no file left to spy - checkFiles; // check the files for changes - changeUpdatePeriod:sender; - changeBeepState:sender; - showSuperlog:sender; - updateSuperlog:sender:(char *)newText :(BOOL)changed :(BOOL)beepThis :(BOOL)popThis; - setupSuperlog; - setupFilter; - showFilter:sender; - applyFilter:sender; - (BOOL)filterString:(char *)str andRemove:(BOOL)rm who:sender; // (returns YES if something passes the filter) - (int)filterMode; - (BOOL)superUsesFilter; - (BOOL)becomeKey; - unhideApp:sender; - clearBuffer:sender; - windowDidBecomeKey:sender; - windowWillClose:sender; - showInspectorPanel:sender; - setInspectorToView:theView; - showFindPanel:sender; - findNext:sender; - findPrevious:sender; - enterSelection:sender; - jumpToSelection:sender; - findTexts:(BOOL)all; // return list with all text-objects to scan with find - showFontPanel:sender; // send orderFrontFontPanel from myFontmanager - setMaxLines:sender; - (int)maxLines; - shortSuperText; - addWindow:sender; // for counting the visible windows - existenceMatrix; - showExistencelogRegardless; - window; @end // C functions void alarmHandler(DPSTimedEntry te, double timeNow, void *data); @interface Controller(Services) - registerServices:sender; - validRequestorForSendType:(NXAtom)typeSent andReturnType:(NXAtom)typeReturned; - (BOOL)writeSelectionToPasteboard:(Pasteboard *)pboard types:(NXAtom *)types; - spyFileFromService:pasteboard userData:(const char *)userData error:(char **)msg; @end @interface Controller(Sounds) - soundClick:sender; - setSoundClick:sender; - setSound:(const char *)file; - nxbeep; - (const char *)soundName; @end @interface Controller(Info) - loadInfo; - showInfo:sender; - showConditions:sender; - showCopying:sender; - showHelp:sender; @end @interface Controller(Swapfile) - swapfilenameClick:sender; - swapfileSetNameClick:sender; - swapfilesizeClick:sender; - updateSwapfile; @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.