From 99c9ad7ef1f1d77b713577df72eae32d3f479cf6 Mon Sep 17 00:00:00 2001 From: Neil Hodgson Date: Fri, 23 Oct 2015 23:19:42 +1100 Subject: Add a menu command to ScintillaTest to add or remove an extra Scintilla view on the right of the window to allow testing deletion of a ScintillaView. --- cocoa/ScintillaTest/AppController.h | 3 +++ cocoa/ScintillaTest/AppController.mm | 26 +++++++++++++++++++++++++- cocoa/ScintillaTest/English.lproj/MainMenu.xib | 6 ++++++ 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/cocoa/ScintillaTest/AppController.h b/cocoa/ScintillaTest/AppController.h index 6025f6a50..6fb4dac68 100644 --- a/cocoa/ScintillaTest/AppController.h +++ b/cocoa/ScintillaTest/AppController.h @@ -15,10 +15,13 @@ @interface AppController : NSObject { IBOutlet NSBox *mEditHost; ScintillaView* mEditor; + ScintillaView* sciExtra; // For testing Scintilla tear-down + NSString* sql; } - (void) awakeFromNib; - (void) setupEditor; - (IBAction) searchText: (id) sender; +- (IBAction) addRemoveExtra: (id) sender; @end diff --git a/cocoa/ScintillaTest/AppController.mm b/cocoa/ScintillaTest/AppController.mm index 44cd6e97f..189e7b0ea 100644 --- a/cocoa/ScintillaTest/AppController.mm +++ b/cocoa/ScintillaTest/AppController.mm @@ -77,15 +77,20 @@ const char user_keywords[] = // Definition of own keywords, not used by MySQL. NSString* path = [[NSBundle mainBundle] pathForResource: @"TestData" ofType: @"sql" inDirectory: nil]; - NSString* sql = [NSString stringWithContentsOfFile: path + sql = [NSString stringWithContentsOfFile: path encoding: NSUTF8StringEncoding error: &error]; + + [sql retain]; + if (error && [[error domain] isEqual: NSCocoaErrorDomain]) NSLog(@"%@", error); [mEditor setString: sql]; [self setupEditor]; + + sciExtra = nil; } //-------------------------------------------------------------------------------------------------- @@ -271,6 +276,25 @@ static const char * box_xpm[] = { [self showAutocompletion]; } +- (IBAction) addRemoveExtra: (id) sender +{ + if (sciExtra) { + [sciExtra removeFromSuperview]; + sciExtra = nil; + } else { + NSRect newFrame = mEditHost.frame; + newFrame.origin.x += newFrame.size.width + 5; + newFrame.origin.y += 46; + newFrame.size.width = 96; + newFrame.size.height -= 60; + + sciExtra = [[[ScintillaView alloc] initWithFrame: newFrame] autorelease]; + [[[mEditHost window]contentView] addSubview: sciExtra]; + [sciExtra setGeneralProperty: SCI_SETWRAPMODE parameter: SC_WRAP_WORD value: 1]; + [sciExtra setString: sql]; + } +} + -(IBAction) setFontQuality: (id) sender { [ScintillaView directCall:mEditor message:SCI_SETFONTQUALITY wParam:[sender tag] lParam:0]; diff --git a/cocoa/ScintillaTest/English.lproj/MainMenu.xib b/cocoa/ScintillaTest/English.lproj/MainMenu.xib index 32f850eee..efe9bc5b0 100644 --- a/cocoa/ScintillaTest/English.lproj/MainMenu.xib +++ b/cocoa/ScintillaTest/English.lproj/MainMenu.xib @@ -509,6 +509,12 @@ + + + + + + -- cgit v1.2.3