Added Keyboard Selection Support Added Mouse Selection Support Added Keyboard Editing Support Corrected Some Bugs Abstracted the Layout System further Added Functions Button (test)
40 lines
1.2 KiB
Objective-C
40 lines
1.2 KiB
Objective-C
//
|
|
// MPFunctionLayout.h
|
|
// MathPad
|
|
//
|
|
// Created by Kim Wittenburg on 07.08.14.
|
|
// Copyright (c) 2014 Kim Wittenburg. All rights reserved.
|
|
//
|
|
|
|
@import Cocoa;
|
|
#import "MPLayout.h"
|
|
|
|
@interface MPFunctionLayout : MPLayout
|
|
|
|
+ (MPFunctionLayout *)functionLayoutForFunctionAtIndexPath:(NSIndexPath *)path
|
|
inRootExpression:(MPExpression *)rootExpression
|
|
parent:(MPExpressionLayout *)parent;
|
|
|
|
@property (readonly, nonatomic, weak) MPFunction *function;
|
|
|
|
@end
|
|
|
|
@interface MPFunctionLayout (MPSubclassOverride)
|
|
|
|
#pragma mark Cache Methods
|
|
- (CTLineRef)lineForPrivateCacheIndex:(NSUInteger)index
|
|
generator:(CTLineRef (^)())generator;
|
|
|
|
// Should also implement accessor method for special function type:
|
|
// - (MPCustomFunction *)customFunction
|
|
// {
|
|
// return (MPCustomFunction *)self.function;
|
|
// }
|
|
|
|
#pragma mark Size and Drawing Methods
|
|
- (NSPoint)offsetOfChildLayoutAtIndex:(NSUInteger)index; // To be implemented
|
|
- (NSIndexPath *)indexPathForMousePoint:(NSPoint)point; // To be implemented
|
|
- (NSRect)generateBounds; // To be implemented
|
|
- (void)drawAtPoint:(NSPoint)point; // To be implemented
|
|
|
|
@end |