]> err.no Git - sope/blob - sopex/SOPEX/SOPEXWODocument.m
SOPE:X 2.x
[sope] / sopex / SOPEX / SOPEXWODocument.m
1 /*
2  Copyright (C) 2004 Marcus Mueller <znek@mulle-kybernetik.com>
3
4  This file is part of OGo
5
6  OGo is free software; you can redistribute it and/or modify it under
7  the terms of the GNU Lesser General Public License as published by the
8  Free Software Foundation; either version 2, or (at your option) any
9  later version.
10
11  OGo is distributed in the hope that it will be useful, but WITHOUT ANY
12  WARRANTY; without even the implied warranty of MERCHANTABILITY or
13  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
14  License for more details.
15
16  You should have received a copy of the GNU Lesser General Public
17  License along with OGo; see the file COPYING.  If not, write to the
18  Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
19  02111-1307, USA.
20  */
21 // $Id: SOPEXWODocument.m,v 1.3 2004/04/09 18:53:02 znek Exp $
22 //  Created by znek on Fri Mar 26 2004.
23
24
25 #import "SOPEXWODocument.h"
26 #import "SOPEXRangeUtilities.h"
27 #import "SOPEXTextView.h"
28 #import "SOPEXContentValidator.h"
29
30
31 @implementation SOPEXWODocument
32
33 - (id)initWithPath:(NSString *)_path
34 {
35     [super initWithPath:_path];
36     self->componentName = [[[_path lastPathComponent] stringByDeletingPathExtension] retain];
37     return self;
38 }
39
40 - (void)dealloc
41 {
42     [self->componentName release];
43     [super dealloc];
44 }
45
46 - (NSArray *)fileTypes
47 {
48     return [NSArray arrayWithObjects:@"html", @"wod", nil];
49 }
50
51 - (NSString *)fullPathForFileType:(NSString *)fileType
52 {
53     return [NSString stringWithFormat:@"%@/%@.%@", self->path, self->componentName, fileType];
54 }
55
56
57 #pragma mark -
58 #pragma mark ### VALIDATION ###
59
60
61 - (NSError *)validateRepresentationForFileType:(NSString *)fileType
62 {
63     id content;
64     NSError *status;
65
66     content = [[self textViewForFileType:fileType] string];
67     if([fileType isEqualToString:@"html"])
68         status = [SOPEXContentValidator validateWOHTMLContent:content];
69     else
70         status = [SOPEXContentValidator validateWODContent:content];
71     return status;
72 }
73
74 @end