summaryrefslogtreecommitdiff
path: root/cocoa/Tree.h
diff options
context:
space:
mode:
authorSven Weidauer <sven.weidauer@gmail.com>2011-02-01 08:39:32 +0000
committerSven Weidauer <sven.weidauer@gmail.com>2011-02-01 08:39:32 +0000
commit28ff0cfb0af7d58244dfd06546b2c8ec37f01c75 (patch)
treef4f64446469767174db5689b0c7155aa0b8c9f98 /cocoa/Tree.h
parente20f69147d0f0d8c5e3abf087ff39724014fe251 (diff)
downloadnetsurf-28ff0cfb0af7d58244dfd06546b2c8ec37f01c75.tar.gz
netsurf-28ff0cfb0af7d58244dfd06546b2c8ec37f01c75.tar.bz2
Factored Tree class out of TreeView
svn path=/trunk/netsurf/; revision=11577
Diffstat (limited to 'cocoa/Tree.h')
-rw-r--r--cocoa/Tree.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/cocoa/Tree.h b/cocoa/Tree.h
new file mode 100644
index 000000000..b03f48be0
--- /dev/null
+++ b/cocoa/Tree.h
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2011 Sven Weidauer <sven.weidauer@gmail.com>
+ *
+ * This file is part of NetSurf, http://www.netsurf-browser.org/
+ *
+ * NetSurf 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; version 2 of the License.
+ *
+ * NetSurf 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+#import "desktop/tree.h"
+
+@class Tree;
+
+@protocol TreeDelegate
+
+- (void) tree: (Tree *)tree requestedRedrawInRect: (NSRect) rect;
+- (void) tree: (Tree *)tree resized: (NSSize) size;
+- (void) tree: (Tree *)tree scrollPoint: (NSPoint) point;
+- (NSSize) treeWindowSize: (Tree *)tree;
+
+@end
+
+
+@interface Tree : NSObject {
+ id <TreeDelegate> delegate;
+ struct tree *tree;
+}
+
+@property (readwrite, assign, nonatomic) id <TreeDelegate> delegate;
+@property (readwrite, assign, nonatomic, getter=isRedrawing) BOOL redrawing;
+
+- initWithFlags: (unsigned int) flags;
+
+- (struct node *) rootNode;
+- (struct tree *) tree;
+
+@end
+
+
+@interface Tree (ViewInterface)
+
+- (void) drawRect: (NSRect) rect inView: (NSView *) view;
+- (void) mouseAction: (browser_mouse_state)state atPoint: (NSPoint)point;
+- (void) mouseDragEnd: (browser_mouse_state)state fromPoint: (NSPoint)p0 toPoint: (NSPoint) p1;
+- (void) keyPress: (uint32_t) key;
+
+@end