]> err.no Git - sope/blob - sopex/SOPEX/SOPEXWOXDocument.m
fixed a warning
[sope] / sopex / SOPEX / SOPEXWOXDocument.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: SOPEXWOXDocument.m 1 2004-08-20 11:17:52Z znek $
22 //  Created by znek on Fri Mar 26 2004.
23
24
25 #import "SOPEXWOXDocument.h"
26 #import "SOPEXContentValidator.h"
27 #import "SOPEXTextView.h"
28 #import "SOPEXRangeUtilities.h"
29
30
31 @implementation SOPEXWOXDocument
32
33 - (NSArray *)fileTypes
34 {
35     return [NSArray arrayWithObject:@"wox"];
36 }
37
38
39 #pragma mark -
40 #pragma mark ### VALIDATION ###
41
42
43 - (NSError *)validateRepresentationForFileType:(NSString *)fileType
44 {
45     id content;
46
47     content = [[self textViewForFileType:fileType] string];
48     return [SOPEXContentValidator validateWOXContent:content];
49 }
50
51
52 #pragma mark -
53 #pragma mark ### TEXTVIEW DELEGATE ###
54
55
56 - (void)textViewDidChangeSelection:(NSNotification *)notification
57 {
58     NSTextView *textView = [notification object];
59     NSEvent *event;
60     NSRange selRange;
61     
62     selRange = [textView selectedRange];
63     event = [NSApp currentEvent];
64     
65     if(([event type] == NSLeftMouseUp) && ([event clickCount] == 2))
66     {
67         NSRange matchRange = SOPEX_findMatchingTagForRangeInString(selRange, [textView string]);
68         
69         if(matchRange.location != NSNotFound)
70         {
71             selRange = NSUnionRange(selRange, matchRange);
72             [textView setSelectedRange:selRange affinity:NSSelectionAffinityUpstream stillSelecting:YES];
73             [textView scrollRangeToVisible:matchRange];
74         }
75     }
76 }
77
78 @end