mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-09-29 21:57:41 +00:00
Normalize application naming in ./Tests/Manual
Ensure: * CamelCase, ending in Test * No hyphens, spaces, underscores or other non-alpha characters Updated application directory names. Update Jakefiles.
This commit is contained in:
@@ -0,0 +1,125 @@
|
||||
/*
|
||||
* AppController.j
|
||||
* CPTextViewDelegateAndNotifications
|
||||
*
|
||||
* Created by Martin Carlberg on December 22, 2017.
|
||||
* Copyright 2017, Oops AB All rights reserved.
|
||||
*/
|
||||
|
||||
@import <Foundation/Foundation.j>
|
||||
@import <AppKit/AppKit.j>
|
||||
@import "NotificationStatistics.j"
|
||||
|
||||
@implementation AppController : CPObject
|
||||
{
|
||||
@outlet CPWindow theWindow;
|
||||
|
||||
CPArray notificationStatistics @accessors;
|
||||
}
|
||||
|
||||
- (void)applicationDidFinishLaunching:(CPNotification)aNotification
|
||||
{
|
||||
// This is called when the application is done loading.
|
||||
[self setNotificationStatistics: @[
|
||||
[NotificationStatistics notificationStatisticsWithName:CPStringFromSelector(@selector(textView:willChangeSelectionFromCharacterRange:toCharacterRange:))],
|
||||
[NotificationStatistics notificationStatisticsWithName:CPStringFromSelector(@selector(textView:shouldChangeTextInRange:replacementString:))],
|
||||
[NotificationStatistics notificationStatisticsWithName:CPStringFromSelector(@selector(textView:doCommandBySelector:))],
|
||||
[NotificationStatistics notificationStatisticsWithName:CPStringFromSelector(@selector(textViewDidChangeSelection:))],
|
||||
[NotificationStatistics notificationStatisticsWithName:CPStringFromSelector(@selector(textView:shouldChangeTypingAttributes:toAttributes:))],
|
||||
[NotificationStatistics notificationStatisticsWithName:CPStringFromSelector(@selector(textViewDidChangeTypingAttributes:))],
|
||||
[NotificationStatistics notificationStatisticsWithName:CPStringFromSelector(@selector(textShouldBeginEditing:))],
|
||||
[NotificationStatistics notificationStatisticsWithName:CPStringFromSelector(@selector(textShouldEndEditing:))],
|
||||
[NotificationStatistics notificationStatisticsWithName:CPStringFromSelector(@selector(textDidBeginEditing:))],
|
||||
[NotificationStatistics notificationStatisticsWithName:CPStringFromSelector(@selector(textDidEndEditing:))],
|
||||
]];
|
||||
|
||||
self.globalOrder = 0;
|
||||
}
|
||||
|
||||
- (void)awakeFromCib
|
||||
{
|
||||
// This is called when the cib is done loading.
|
||||
// You can implement this method on any object instantiated from a Cib.
|
||||
// It's a useful hook for setting up current UI values, and other things.
|
||||
|
||||
// In this case, we want the window from Cib to become our full browser window
|
||||
[theWindow setFullPlatformWindow:YES];
|
||||
self.globalOrder = 0;
|
||||
}
|
||||
|
||||
- (IBAction)resetStatistics:(id)sender {
|
||||
self.globalOrder = 0;
|
||||
for (var i = 0, array = [self notificationStatistics]; i < array.length; i++) {
|
||||
var ns = array[i];
|
||||
[ns setOrder:0];
|
||||
[ns setCount:0];
|
||||
}
|
||||
}
|
||||
|
||||
- (NotificationStatistics)notificationStatisticsWithName:(CPString)aName
|
||||
{
|
||||
for (var i = 0, array = [self notificationStatistics]; i < array.length; i++) {
|
||||
var ns = array[i];
|
||||
if ([ns.name isEqualToString:aName]) {
|
||||
return ns;
|
||||
}
|
||||
}
|
||||
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (void)registerNotificationWithSelector:(SEL)selector
|
||||
{
|
||||
var ns = [self notificationStatisticsWithName:CPStringFromSelector(selector)];
|
||||
if (ns) {
|
||||
[ns setCount:[ns count] + 1];
|
||||
[ns setOrder:self.globalOrder += 1];
|
||||
}
|
||||
}
|
||||
|
||||
- (CPRange)textView:(CPTextView)textView willChangeSelectionFromCharacterRange:(CPRange)oldSelectedCharRange toCharacterRange:(CPRange)newSelectedCharRange {
|
||||
[self registerNotificationWithSelector:_cmd];
|
||||
return newSelectedCharRange;
|
||||
}
|
||||
|
||||
- (BOOL)textView:(CPTextView)textView shouldChangeTextInRange:(CPRange)affectedCharRange replacementString:(CPString)replacementString {
|
||||
[self registerNotificationWithSelector:_cmd];
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (BOOL)textView:(CPTextView)textView doCommandBySelector:(SEL)commandSelector {
|
||||
[self registerNotificationWithSelector:_cmd];
|
||||
return NO;
|
||||
}
|
||||
- (CPDictionary)textView:(CPTextView)textView shouldChangeTypingAttributes:(CPDictionary)oldTypingAttributes toAttributes:(CPDictionary)newTypingAttributes {
|
||||
[self registerNotificationWithSelector:_cmd];
|
||||
return newTypingAttributes;
|
||||
}
|
||||
|
||||
- (void)textViewDidChangeSelection:(CPNotification)notification {
|
||||
[self registerNotificationWithSelector:_cmd];
|
||||
}
|
||||
|
||||
- (void)textViewDidChangeTypingAttributes:(CPNotification)notification {
|
||||
[self registerNotificationWithSelector:_cmd];
|
||||
}
|
||||
|
||||
- (BOOL)textShouldBeginEditing:(CPText)textObject {
|
||||
[self registerNotificationWithSelector:_cmd];
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (BOOL)textShouldEndEditing:(CPText)textObject {
|
||||
[self registerNotificationWithSelector:_cmd];
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void)textDidBeginEditing:(CPNotification)notification {
|
||||
[self registerNotificationWithSelector:_cmd];
|
||||
}
|
||||
|
||||
- (void)textDidEndEditing:(CPNotification)notification {
|
||||
[self registerNotificationWithSelector:_cmd];
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user