1 /* 2 This file is part of HelpViewer (http://www.roard.com/helpviewer) 3 Copyright (C) 2003 Nicolas Roard (nicolas@roard.com) 4 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program; if not, write to the Free Software 17 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 18 */ 19 20 #ifndef __SECTION_H__ 21 #define __SECTION_H__ 22 23 #include <Foundation/Foundation.h> 24 #include <AppKit/AppKit.h> 25 #include "GNUstep.h" 26 #include "TextFormatter.h" 27 #include "HandlerStructure.h" 28 29 #define SECTION_TYPE_NORMAL 0 30 #define SECTION_TYPE_CHAPTER 1 31 #define SECTION_TYPE_PART 2 32 #define SECTION_TYPE_PLAIN 3 33 34 @interface Section : NSObject 35 { 36 NSMutableAttributedString* text; 37 NSString* header; 38 NSRange range; 39 NSMutableArray* subs; 40 Section* parent; 41 int type; 42 BOOL rendered; 43 BOOL loaded; 44 NSString* path; 45 } 46 - (id) initWithHeader: (NSString*) header; 47 - (NSMutableAttributedString*) text; 48 - (void) setType: (int) t; 49 - (int) type; 50 - (NSString*) header; 51 - (NSRange) range; 52 - (void) setRange: (NSRange) range; 53 - (void) addSub: (Section*) sub; 54 - (NSMutableArray*) subs; 55 - (Section*) parent; 56 - (void) setParent: (Section*) par; 57 - (void) print; 58 - (void) setPath: (NSString*) src; 59 - (void) setLoaded: (BOOL) load; 60 - (BOOL) loaded; 61 - (void) load; 62 - (NSMutableAttributedString*) contentWithLevel: (int) level ; 63 + (void) setTextFormatter: (id) obj; 64 + (void) setBundle: (NSBundle*) obj; 65 @end 66 67 #endif 68