aboutsummaryrefslogtreecommitdiffhomepage
path: root/cocoa
diff options
context:
space:
mode:
Diffstat (limited to 'cocoa')
-rw-r--r--cocoa/PlatCocoa.mm16
-rw-r--r--cocoa/ScintillaTest/AppController.mm43
2 files changed, 55 insertions, 4 deletions
diff --git a/cocoa/PlatCocoa.mm b/cocoa/PlatCocoa.mm
index 9b4455237..ce112f853 100644
--- a/cocoa/PlatCocoa.mm
+++ b/cocoa/PlatCocoa.mm
@@ -1383,7 +1383,10 @@ static NSImage* ImageFromXPM(XPM* pxpm)
img = [NSImage alloc];
[img autorelease];
CGImageRef imageRef = surfaceIXPM->GetImage();
- [img initWithCGImage:imageRef size:NSZeroSize];
+ [img initWithSize:NSZeroSize];
+ NSBitmapImageRep *bitmapRep = [[NSBitmapImageRep alloc] initWithCGImage: imageRef];
+ [img addRepresentation: bitmapRep];
+ [bitmapRep release];
CGImageRelease(imageRef);
delete surfaceXPM;
}
@@ -1464,7 +1467,10 @@ public:
class ListBoxImpl;
@interface AutoCompletionDataSource :
-NSObject <NSTableViewDataSource>
+NSObject
+#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5
+<NSTableViewDataSource>
+#endif
{
ListBoxImpl* box;
}
@@ -1841,7 +1847,10 @@ void ListBoxImpl::RegisterRGBAImage(int type, int width, int height, const unsig
[img autorelease];
CGImageRef imageRef = ImageFromRGBA(width, height, pixelsImage, false);
NSSize sz = {width, height};
- [img initWithCGImage:imageRef size:sz];
+ [img initWithSize: sz];
+ NSBitmapImageRep *bitmapRep = [[NSBitmapImageRep alloc] initWithCGImage: imageRef];
+ [img addRepresentation: bitmapRep];
+ [bitmapRep release];
CGImageRelease(imageRef);
[img retain];
ImageMap::iterator it=images.find(type);
@@ -1878,7 +1887,6 @@ NSImage* ListBoxImpl::ImageForRow(NSInteger row)
if (it != images.end())
{
NSImage* img = it->second;
- [img retain];
return img;
}
else
diff --git a/cocoa/ScintillaTest/AppController.mm b/cocoa/ScintillaTest/AppController.mm
index fbcdad9a8..294704f02 100644
--- a/cocoa/ScintillaTest/AppController.mm
+++ b/cocoa/ScintillaTest/AppController.mm
@@ -211,6 +211,47 @@ const char user_keywords[] = // Definition of own keywords, not used by MySQL.
//--------------------------------------------------------------------------------------------------
+/* XPM */
+static const char * box_xpm[] = {
+ "12 12 2 1",
+ " c None",
+ ". c #800000",
+ " .........",
+ " . . ..",
+ " . . . .",
+ "......... .",
+ ". . . .",
+ ". . . ..",
+ ". . .. .",
+ "......... .",
+ ". . . .",
+ ". . . . ",
+ ". . .. ",
+ "......... "};
+
+
+- (void) showAutocompletion
+{
+ const char *words = "Babylon-5?1 Battlestar-Galactica Millenium-Falcon?2 Moya?2 Serenity Voyager";
+ [mEditor setGeneralProperty: SCI_AUTOCSETIGNORECASE parameter: 1 value:0];
+ [mEditor setGeneralProperty: SCI_REGISTERIMAGE parameter: 1 value:(sptr_t)box_xpm];
+ const int imSize = 12;
+ [mEditor setGeneralProperty: SCI_RGBAIMAGESETWIDTH parameter: imSize value:0];
+ [mEditor setGeneralProperty: SCI_RGBAIMAGESETHEIGHT parameter: imSize value:0];
+ char image[imSize * imSize * 4];
+ for (size_t y = 0; y < imSize; y++) {
+ for (size_t x = 0; x < imSize; x++) {
+ char *p = image + (y * imSize + x) * 4;
+ p[0] = 0xFF;
+ p[1] = 0xA0;
+ p[2] = 0;
+ p[3] = x * 23;
+ }
+ }
+ [mEditor setGeneralProperty: SCI_REGISTERRGBAIMAGE parameter: 2 value:(sptr_t)image];
+ [mEditor setGeneralProperty: SCI_AUTOCSHOW parameter: 0 value:(sptr_t)words];
+}
+
- (IBAction) searchText: (id) sender
{
NSSearchField* searchField = (NSSearchField*) sender;
@@ -219,6 +260,8 @@ const char user_keywords[] = // Definition of own keywords, not used by MySQL.
wholeWord: NO
scrollTo: YES
wrap: YES];
+ if ([[searchField stringValue] isEqualToString: @"XX"])
+ [self showAutocompletion];
}
@end