diff options
author | nyamatongwe <unknown> | 2010-07-24 11:31:15 +1000 |
---|---|---|
committer | nyamatongwe <unknown> | 2010-07-24 11:31:15 +1000 |
commit | a8ec0328ac3fa1fa3f1326c7e47a2d8ec1c3033f (patch) | |
tree | d41c6fb220c97f5ff0b719137d928e4dd9282f7a | |
parent | 0d936f6a50f8ca9d7115d7194dda3217e054dc1a (diff) | |
download | scintilla-mirror-a8ec0328ac3fa1fa3f1326c7e47a2d8ec1c3033f.tar.gz |
Updates from Scintilla-Cocoa project.
Updated case mapping, modifier key for zoom, redo, mouse wheel, search and highlight.
-rw-r--r-- | cocoa/ScintillaCocoa.h | 3 | ||||
-rw-r--r-- | cocoa/ScintillaCocoa.mm | 62 | ||||
-rw-r--r-- | cocoa/ScintillaTest/AppController.h | 1 | ||||
-rw-r--r-- | cocoa/ScintillaTest/AppController.mm | 12 | ||||
-rw-r--r-- | cocoa/ScintillaTest/English.lproj/MainMenu.xib | 927 | ||||
-rw-r--r-- | cocoa/ScintillaView.h | 16 | ||||
-rw-r--r-- | cocoa/ScintillaView.mm | 88 |
7 files changed, 963 insertions, 146 deletions
diff --git a/cocoa/ScintillaCocoa.h b/cocoa/ScintillaCocoa.h index 5be17c773..a5d6575f4 100644 --- a/cocoa/ScintillaCocoa.h +++ b/cocoa/ScintillaCocoa.h @@ -14,7 +14,7 @@ */ #include <stdlib.h> -#include <string.h> +#include <string> #include <stdio.h> #include <ctype.h> #include <time.h> @@ -122,6 +122,7 @@ protected: virtual void Initialise(); virtual void Finalise(); + virtual std::string CaseMapString(const std::string &s, int caseMapping); public: ScintillaCocoa(NSView* view); virtual ~ScintillaCocoa(); diff --git a/cocoa/ScintillaCocoa.mm b/cocoa/ScintillaCocoa.mm index f91183aa2..6d3296a51 100644 --- a/cocoa/ScintillaCocoa.mm +++ b/cocoa/ScintillaCocoa.mm @@ -255,6 +255,31 @@ void ScintillaCocoa::Finalise() //-------------------------------------------------------------------------------------------------- /** + * Case-fold the given string depending on the specified case mapping type. + * Note: ScintillaCocoa exclusively works with Unicode. We don't even think about adding support for + * obsolete code page stuff. + */ +std::string ScintillaCocoa::CaseMapString(const std::string &s, int caseMapping) +{ + NSString* textToConvert = [NSString stringWithUTF8String: s.c_str()]; + std::string result; + switch (caseMapping) + { + case cmUpper: + result = [[textToConvert uppercaseString] UTF8String]; + break; + case cmLower: + result = [[textToConvert lowercaseString] UTF8String]; + break; + default: + result = s; + } + return result; +} + +//-------------------------------------------------------------------------------------------------- + +/** * Helper function to get the outer container which represents the Scintilla editor on application side. */ ScintillaView* ScintillaCocoa::TopContainer() @@ -501,14 +526,15 @@ void ScintillaCocoa::Paste(bool forceRectangular) pdoc->BeginUndoAction(); ClearSelection(); + int length = selectedText.len - 1; // One less to avoid inserting the terminating 0 character. if (selectedText.rectangular) { SelectionPosition selStart = sel.RangeMain().Start(); - PasteRectangular(selStart, selectedText.s, selectedText.len); + PasteRectangular(selStart, selectedText.s, length); } else - if (pdoc->InsertString(sel.RangeMain().caret.Position(), selectedText.s, selectedText.len)) - SetEmptySelection(sel.RangeMain().caret.Position() + selectedText.len); + if (pdoc->InsertString(sel.RangeMain().caret.Position(), selectedText.s, length)) + SetEmptySelection(sel.RangeMain().caret.Position() + length); pdoc->EndUndoAction(); @@ -1373,34 +1399,32 @@ void ScintillaCocoa::MouseUp(NSEvent* event) void ScintillaCocoa::MouseWheel(NSEvent* event) { bool command = ([event modifierFlags] & NSCommandKeyMask) != 0; - bool shift = ([event modifierFlags] & NSShiftKeyMask) != 0; - int delta; - if (shift) - delta = 10 * [event deltaX]; // Arbitrary scale factor. - else - { + int dX = 0; + int dY = 0; + + dX = 10 * [event deltaX]; // Arbitrary scale factor. + // In order to make scrolling with larger offset smoother we scroll less lines the larger the // delta value is. if ([event deltaY] < 0) - delta = -(int) sqrt(-10.0 * [event deltaY]); + dY = -(int) sqrt(-10.0 * [event deltaY]); else - delta = (int) sqrt(10.0 * [event deltaY]); - } + dY = (int) sqrt(10.0 * [event deltaY]); if (command) { // Zoom! We play with the font sizes in the styles. // Number of steps/line is ignored, we just care if sizing up or down. - if (delta > 0) + if (dY > 0.5) KeyCommand(SCI_ZOOMIN); - else + else if (dY < -0.5) KeyCommand(SCI_ZOOMOUT); } else - if (shift) - HorizontalScrollTo(xOffset - delta); - else - ScrollTo(topLine - delta, true); + { + HorizontalScrollTo(xOffset - dX); + ScrollTo(topLine - dY, true); + } } //-------------------------------------------------------------------------------------------------- @@ -1429,7 +1453,7 @@ void ScintillaCocoa::Undo() void ScintillaCocoa::Redo() { - Editor::Undo(); + Editor::Redo(); } //-------------------------------------------------------------------------------------------------- diff --git a/cocoa/ScintillaTest/AppController.h b/cocoa/ScintillaTest/AppController.h index f324615d1..dbc2417f5 100644 --- a/cocoa/ScintillaTest/AppController.h +++ b/cocoa/ScintillaTest/AppController.h @@ -19,5 +19,6 @@ - (void) awakeFromNib; - (void) setupEditor; +- (IBAction) searchText: (id) sender; @end diff --git a/cocoa/ScintillaTest/AppController.mm b/cocoa/ScintillaTest/AppController.mm index d660e0f75..9bce5fd11 100644 --- a/cocoa/ScintillaTest/AppController.mm +++ b/cocoa/ScintillaTest/AppController.mm @@ -209,6 +209,18 @@ const char user_keywords[] = // Definition of own keywords, not used by MySQL. [mEditor setStatusText: @"Operation complete"]; } +//-------------------------------------------------------------------------------------------------- + +- (IBAction) searchText: (id) sender +{ + NSSearchField* searchField = (NSSearchField*) sender; + [mEditor findAndHighlightText: [searchField stringValue] + matchCase: NO + wholeWord: NO + scrollTo: YES + wrap: YES]; +} + @end //-------------------------------------------------------------------------------------------------- diff --git a/cocoa/ScintillaTest/English.lproj/MainMenu.xib b/cocoa/ScintillaTest/English.lproj/MainMenu.xib index e795086ed..6de460712 100644 --- a/cocoa/ScintillaTest/English.lproj/MainMenu.xib +++ b/cocoa/ScintillaTest/English.lproj/MainMenu.xib @@ -1,23 +1,26 @@ <?xml version="1.0" encoding="UTF-8"?> -<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.03"> +<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10"> <data> <int key="IBDocument.SystemTarget">1050</int> - <string key="IBDocument.SystemVersion">9G55</string> - <string key="IBDocument.InterfaceBuilderVersion">677</string> - <string key="IBDocument.AppKitVersion">949.43</string> - <string key="IBDocument.HIToolboxVersion">353.00</string> + <string key="IBDocument.SystemVersion">10D573</string> + <string key="IBDocument.InterfaceBuilderVersion">762</string> + <string key="IBDocument.AppKitVersion">1038.29</string> + <string key="IBDocument.HIToolboxVersion">460.00</string> + <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> + <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="NS.object.0">762</string> + </object> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> <integer value="372"/> </object> <object class="NSArray" key="IBDocument.PluginDependencies"> <bool key="EncodedWithXMLCoder">YES</bool> - <string>com.apple.InterfaceBuilderKit</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> </object> <object class="NSMutableDictionary" key="IBDocument.Metadata"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> + <object class="NSArray" key="dict.sortedKeys" id="0"> <bool key="EncodedWithXMLCoder">YES</bool> </object> <object class="NSMutableArray" key="dict.values"> @@ -79,7 +82,7 @@ </object> <object class="NSMenuItem" id="609285721"> <reference key="NSMenu" ref="110575045"/> - <string type="base64-UTF8" key="NSTitle">UHJlZmVyZW5jZXPigKY</string> + <string key="NSTitle">Preferences…</string> <string key="NSKeyEquiv">,</string> <int key="NSKeyEquivModMask">1048576</int> <int key="NSMnemonicLoc">2147483647</int> @@ -200,7 +203,7 @@ </object> <object class="NSMenuItem" id="722745758"> <reference key="NSMenu" ref="720053764"/> - <string type="base64-UTF8" key="NSTitle">T3BlbuKApg</string> + <string key="NSTitle">Open…</string> <string key="NSKeyEquiv">o</string> <int key="NSKeyEquivModMask">1048576</int> <int key="NSMnemonicLoc">2147483647</int> @@ -264,7 +267,7 @@ </object> <object class="NSMenuItem" id="117038363"> <reference key="NSMenu" ref="720053764"/> - <string type="base64-UTF8" key="NSTitle">U2F2ZSBBc+KApg</string> + <string key="NSTitle">Save As…</string> <string key="NSKeyEquiv">S</string> <int key="NSKeyEquivModMask">1179648</int> <int key="NSMnemonicLoc">2147483647</int> @@ -302,7 +305,7 @@ </object> <object class="NSMenuItem" id="49223823"> <reference key="NSMenu" ref="720053764"/> - <string type="base64-UTF8" key="NSTitle">UHJpbnTigKY</string> + <string key="NSTitle">Print…</string> <string key="NSKeyEquiv">p</string> <int key="NSKeyEquivModMask">1048576</int> <int key="NSMnemonicLoc">2147483647</int> @@ -425,7 +428,7 @@ <bool key="EncodedWithXMLCoder">YES</bool> <object class="NSMenuItem" id="447796847"> <reference key="NSMenu" ref="963351320"/> - <string type="base64-UTF8" key="NSTitle">RmluZOKApg</string> + <string key="NSTitle">Find…</string> <string key="NSKeyEquiv">f</string> <int key="NSKeyEquivModMask">1048576</int> <int key="NSMnemonicLoc">2147483647</int> @@ -490,7 +493,7 @@ <bool key="EncodedWithXMLCoder">YES</bool> <object class="NSMenuItem" id="679648819"> <reference key="NSMenu" ref="769623530"/> - <string type="base64-UTF8" key="NSTitle">U2hvdyBTcGVsbGluZ+KApg</string> + <string key="NSTitle">Show Spelling…</string> <string key="NSKeyEquiv">:</string> <int key="NSKeyEquivModMask">1048576</int> <int key="NSMnemonicLoc">2147483647</int> @@ -1017,7 +1020,7 @@ </object> <object class="NSMenuItem" id="237841660"> <reference key="NSMenu" ref="466310130"/> - <string type="base64-UTF8" key="NSTitle">Q3VzdG9taXplIFRvb2xiYXLigKY</string> + <string key="NSTitle">Customize Toolbar…</string> <string key="NSKeyEquiv"/> <int key="NSKeyEquivModMask">1048576</int> <int key="NSMnemonicLoc">2147483647</int> @@ -1118,7 +1121,7 @@ <string key="NSWindowTitle">Window</string> <string key="NSWindowClass">NSWindow</string> <nil key="NSViewClass"/> - <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string> + <string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string> <object class="NSView" key="NSWindowView" id="439893737"> <reference key="NSNextResponder"/> <int key="NSvFlags">319</int> @@ -1132,11 +1135,11 @@ <object class="NSView" id="33804839"> <reference key="NSNextResponder" ref="1016473779"/> <int key="NSvFlags">256</int> - <string key="NSFrame">{{1, 1}, {842, 640}}</string> + <string key="NSFrame">{{1, 1}, {842, 590}}</string> <reference key="NSSuperview" ref="1016473779"/> </object> </object> - <string key="NSFrame">{{17, 16}, {844, 656}}</string> + <string key="NSFrame">{{17, 16}, {844, 606}}</string> <reference key="NSSuperview" ref="439893737"/> <string key="NSOffsets">{0, 0}</string> <object class="NSTextFieldCell" key="NSTitleCell"> @@ -1145,10 +1148,10 @@ <string key="NSContents">Scintilla Editor</string> <object class="NSFont" key="NSSupport"> <string key="NSName">LucidaGrande</string> - <double key="NSSize">1.100000e+01</double> + <double key="NSSize">11</double> <int key="NSfFlags">3100</int> </object> - <object class="NSColor" key="NSBackgroundColor"> + <object class="NSColor" key="NSBackgroundColor" id="561710607"> <int key="NSColorSpace">6</int> <string key="NSCatalogName">System</string> <string key="NSColorName">textBackgroundColor</string> @@ -1178,9 +1181,9 @@ <int key="NSCellFlags">67239424</int> <int key="NSCellFlags2">134217728</int> <string key="NSContents">Quit</string> - <object class="NSFont" key="NSSupport"> + <object class="NSFont" key="NSSupport" id="887178038"> <string key="NSName">LucidaGrande</string> - <double key="NSSize">1.300000e+01</double> + <double key="NSSize">13</double> <int key="NSfFlags">1044</int> </object> <reference key="NSControlView" ref="610247741"/> @@ -1192,12 +1195,81 @@ <int key="NSPeriodicInterval">25</int> </object> </object> + <object class="NSSearchField" id="552917647"> + <reference key="NSNextResponder" ref="439893737"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{20, 630}, {287, 22}}</string> + <reference key="NSSuperview" ref="439893737"/> + <bool key="NSEnabled">YES</bool> + <object class="NSSearchFieldCell" key="NSCell" id="515024530"> + <int key="NSCellFlags">343014976</int> + <int key="NSCellFlags2">268436480</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="887178038"/> + <reference key="NSControlView" ref="552917647"/> + <bool key="NSDrawsBackground">YES</bool> + <int key="NSTextBezelStyle">1</int> + <reference key="NSBackgroundColor" ref="561710607"/> + <object class="NSColor" key="NSTextColor"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">controlTextColor</string> + <object class="NSColor" key="NSColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MAA</bytes> + </object> + </object> + <object class="NSButtonCell" key="NSSearchButtonCell"> + <int key="NSCellFlags">130560</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">search</string> + <reference key="NSControlView" ref="552917647"/> + <string key="NSAction">_searchFieldSearch:</string> + <reference key="NSTarget" ref="515024530"/> + <int key="NSButtonFlags">138690815</int> + <int key="NSButtonFlags2">0</int> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">400</int> + <int key="NSPeriodicInterval">75</int> + </object> + <object class="NSButtonCell" key="NSCancelButtonCell"> + <int key="NSCellFlags">130560</int> + <int key="NSCellFlags2">0</int> + <string key="NSContents">clear</string> + <object class="NSMutableArray" key="NSAccessibilityOverriddenAttributes"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSMutableDictionary"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>AXDescription</string> + <string>NSAccessibilityEncodedAttributesValueType</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>cancel</string> + <integer value="1"/> + </object> + </object> + </object> + <reference key="NSControlView" ref="552917647"/> + <string key="NSAction">_searchFieldCancel:</string> + <reference key="NSTarget" ref="515024530"/> + <int key="NSButtonFlags">138690815</int> + <int key="NSButtonFlags2">0</int> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">400</int> + <int key="NSPeriodicInterval">75</int> + </object> + <int key="NSMaximumRecents">255</int> + </object> + </object> </object> <string key="NSFrameSize">{982, 692}</string> <reference key="NSSuperview"/> </object> <string key="NSScreenRect">{{0, 0}, {1440, 878}}</string> - <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string> + <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string> </object> <object class="NSCustomObject" id="755631768"> <string key="NSClassName">NSFontManager</string> @@ -1753,34 +1825,40 @@ </object> <int key="connectionID">455</int> </object> + <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">searchText:</string> + <reference key="source" ref="229445039"/> + <reference key="destination" ref="552917647"/> + </object> + <int key="connectionID">468</int> + </object> </object> <object class="IBMutableOrderedSet" key="objectRecords"> <object class="NSArray" key="orderedObjects"> <bool key="EncodedWithXMLCoder">YES</bool> <object class="IBObjectRecord"> <int key="objectID">0</int> - <object class="NSArray" key="object" id="1049"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> + <reference key="object" ref="0"/> <reference key="children" ref="1048"/> <nil key="parent"/> </object> <object class="IBObjectRecord"> <int key="objectID">-2</int> <reference key="object" ref="1021"/> - <reference key="parent" ref="1049"/> - <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string> + <reference key="parent" ref="0"/> + <string key="objectName">File's Owner</string> </object> <object class="IBObjectRecord"> <int key="objectID">-1</int> <reference key="object" ref="1014"/> - <reference key="parent" ref="1049"/> + <reference key="parent" ref="0"/> <string key="objectName">First Responder</string> </object> <object class="IBObjectRecord"> <int key="objectID">-3</int> <reference key="object" ref="1050"/> - <reference key="parent" ref="1049"/> + <reference key="parent" ref="0"/> <string key="objectName">Application</string> </object> <object class="IBObjectRecord"> @@ -1796,7 +1874,7 @@ <reference ref="586577488"/> <reference ref="302598603"/> </object> - <reference key="parent" ref="1049"/> + <reference key="parent" ref="0"/> <string key="objectName">MainMenu</string> </object> <object class="IBObjectRecord"> @@ -2332,7 +2410,7 @@ <bool key="EncodedWithXMLCoder">YES</bool> <reference ref="439893737"/> </object> - <reference key="parent" ref="1049"/> + <reference key="parent" ref="0"/> </object> <object class="IBObjectRecord"> <int key="objectID">372</int> @@ -2341,6 +2419,7 @@ <bool key="EncodedWithXMLCoder">YES</bool> <reference ref="1016473779"/> <reference ref="610247741"/> + <reference ref="552917647"/> </object> <reference key="parent" ref="972006081"/> </object> @@ -2652,12 +2731,12 @@ <object class="IBObjectRecord"> <int key="objectID">420</int> <reference key="object" ref="755631768"/> - <reference key="parent" ref="1049"/> + <reference key="parent" ref="0"/> </object> <object class="IBObjectRecord"> <int key="objectID">450</int> <reference key="object" ref="229445039"/> - <reference key="parent" ref="1049"/> + <reference key="parent" ref="0"/> </object> <object class="IBObjectRecord"> <int key="objectID">451</int> @@ -2678,14 +2757,26 @@ <reference key="object" ref="1009897894"/> <reference key="parent" ref="610247741"/> </object> + <object class="IBObjectRecord"> + <int key="objectID">466</int> + <reference key="object" ref="552917647"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="515024530"/> + </object> + <reference key="parent" ref="439893737"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">467</int> + <reference key="object" ref="515024530"/> + <reference key="parent" ref="552917647"/> + </object> </object> </object> <object class="NSMutableDictionary" key="flattenedProperties"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMutableArray" key="dict.sortedKeys"> + <object class="NSArray" key="dict.sortedKeys"> <bool key="EncodedWithXMLCoder">YES</bool> - <string>-1.IBPluginDependency</string> - <string>-2.IBPluginDependency</string> <string>-3.IBPluginDependency</string> <string>103.IBPluginDependency</string> <string>103.ImportedFromIB2</string> @@ -2817,6 +2908,7 @@ <string>354.IBPluginDependency</string> <string>354.ImportedFromIB2</string> <string>371.IBEditorWindowLastContentRect</string> + <string>371.IBPluginDependency</string> <string>371.IBWindowTemplateEditedContentRect</string> <string>371.NSWindowTemplate.visibleAtLaunch</string> <string>371.editorWindowContentRectSynchronizationRect</string> @@ -2869,11 +2961,11 @@ <string>417.IBPluginDependency</string> <string>418.IBPluginDependency</string> <string>419.IBPluginDependency</string> - <string>420.IBPluginDependency</string> - <string>450.IBPluginDependency</string> <string>451.IBPluginDependency</string> <string>452.IBPluginDependency</string> <string>453.IBPluginDependency</string> + <string>466.IBPluginDependency</string> + <string>467.IBPluginDependency</string> <string>5.IBPluginDependency</string> <string>5.ImportedFromIB2</string> <string>56.IBPluginDependency</string> @@ -2913,117 +3005,115 @@ <object class="NSMutableArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilderKit</string> - <string>com.apple.InterfaceBuilderKit</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1" id="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>{{596, 852}, {216, 23}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>{{522, 812}, {146, 23}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>{{436, 809}, {64, 6}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>{{608, 612}, {275, 83}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>{{187, 434}, {243, 243}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>{{608, 612}, {167, 43}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>{{608, 612}, {241, 103}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>{{525, 802}, {197, 73}}</string> <string>{{207, 285}, {478, 20}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>{74, 862}</string> <string>{{6, 978}, {478, 20}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -3032,21 +3122,22 @@ <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>{{608, 612}, {215, 63}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> + <string>{{274, 370}, {982, 692}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> - <string>{{274, 369}, {982, 692}}</string> - <string>{{274, 369}, {982, 692}}</string> - <reference ref="9"/> + <string>{{274, 370}, {982, 692}}</string> + <integer value="1"/> <string>{{33, 99}, {480, 360}}</string> <string>{3.40282e+38, 3.40282e+38}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -3103,47 +3194,45 @@ <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>{{219, 102}, {245, 183}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>{{23, 794}, {245, 183}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>{{145, 474}, {199, 203}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <reference ref="9"/> + <integer value="1"/> </object> </object> <object class="NSMutableDictionary" key="unlocalizedProperties"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> + <reference key="dict.sortedKeys" ref="0"/> <object class="NSMutableArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> </object> @@ -3151,15 +3240,13 @@ <nil key="activeLocalization"/> <object class="NSMutableDictionary" key="localizations"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> + <reference key="dict.sortedKeys" ref="0"/> <object class="NSMutableArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> </object> </object> <nil key="sourceID"/> - <int key="maxID">458</int> + <int key="maxID">468</int> </object> <object class="IBClassDescriber" key="IBDocument.Classes"> <object class="NSMutableArray" key="referencedPartialClassDescriptions"> @@ -3167,6 +3254,10 @@ <object class="IBPartialClassDescription"> <string key="className">AppController</string> <string key="superclassName">NSObject</string> + <object class="NSMutableDictionary" key="actions"> + <string key="NS.key.0">searchText:</string> + <string key="NS.object.0">id</string> + </object> <object class="NSMutableDictionary" key="outlets"> <string key="NS.key.0">mEditHost</string> <string key="NS.object.0">NSBox</string> @@ -3177,9 +3268,601 @@ </object> </object> </object> + <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBPartialClassDescription"> + <string key="className">NSActionCell</string> + <string key="superclassName">NSCell</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSActionCell.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSApplication</string> + <string key="superclassName">NSResponder</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="905531705"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSApplication.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSApplication</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="854027565"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSApplicationScripting.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSApplication</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="562071960"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSColorPanel.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSApplication</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSHelpManager.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSApplication</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSPageLayout.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSApplication</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSBox</string> + <string key="superclassName">NSView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSBox.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSBrowser</string> + <string key="superclassName">NSControl</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSBrowser.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSButton</string> + <string key="superclassName">NSControl</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSButton.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSButtonCell</string> + <string key="superclassName">NSActionCell</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSButtonCell.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSCell</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSCell.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSControl</string> + <string key="superclassName">NSView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="10957210"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSControl.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSDocument</string> + <string key="superclassName">NSObject</string> + <object class="NSMutableDictionary" key="actions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>printDocument:</string> + <string>revertDocumentToSaved:</string> + <string>runPageLayout:</string> + <string>saveDocument:</string> + <string>saveDocumentAs:</string> + <string>saveDocumentTo:</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + </object> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSDocument.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSDocument</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSDocumentScripting.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSDocumentController</string> + <string key="superclassName">NSObject</string> + <object class="NSMutableDictionary" key="actions"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>clearRecentDocuments:</string> + <string>newDocument:</string> + <string>openDocument:</string> + <string>saveAllDocuments:</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>id</string> + <string>id</string> + <string>id</string> + <string>id</string> + </object> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSDocumentController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSFontManager</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="60454901"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSFontManager.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSFormatter</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSFormatter.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSMatrix</string> + <string key="superclassName">NSControl</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSMatrix.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSMenu</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="687201532"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSMenu.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSMenuItem</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="283337664"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSMenuItem.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSMovieView</string> + <string key="superclassName">NSView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSMovieView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSAccessibility.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <reference key="sourceIdentifier" ref="905531705"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <reference key="sourceIdentifier" ref="854027565"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <reference key="sourceIdentifier" ref="562071960"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <reference key="sourceIdentifier" ref="10957210"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSDictionaryController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSDragging.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <reference key="sourceIdentifier" ref="60454901"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSFontPanel.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSKeyValueBinding.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <reference key="sourceIdentifier" ref="687201532"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSNibLoading.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSOutlineView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSPasteboard.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSSavePanel.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="1040540259"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSTableView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSToolbarItem.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="763667182"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSArchiver.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSClassDescription.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSError.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSObject.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSObjectScripting.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSPortCoder.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSScriptClassDescription.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSScriptWhoseTests.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSThread.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSURL.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSURLDownload.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSResponder</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSInterfaceStyle.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSResponder</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSResponder.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSSearchField</string> + <string key="superclassName">NSTextField</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSSearchField.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSSearchFieldCell</string> + <string key="superclassName">NSTextFieldCell</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSSearchFieldCell.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSTableView</string> + <string key="superclassName">NSControl</string> + <reference key="sourceIdentifier" ref="1040540259"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSText</string> + <string key="superclassName">NSView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSText.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSTextField</string> + <string key="superclassName">NSControl</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSTextField.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSTextFieldCell</string> + <string key="superclassName">NSActionCell</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSTextFieldCell.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSTextView</string> + <string key="superclassName">NSText</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSTextView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSClipView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSView</string> + <reference key="sourceIdentifier" ref="283337664"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSRulerView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSView</string> + <string key="superclassName">NSResponder</string> + <reference key="sourceIdentifier" ref="763667182"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSWindow</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSDrawer.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSWindow</string> + <string key="superclassName">NSResponder</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSWindow.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSWindow</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSWindowScripting.h</string> + </object> + </object> + </object> </object> <int key="IBDocument.localizationMode">0</int> + <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string> + <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies"> + <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string> + <integer value="1050" key="NS.object.0"/> + </object> + <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults"> + <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string> + <integer value="1050" key="NS.object.0"/> + </object> + <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies"> + <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string> + <integer value="3000" key="NS.object.0"/> + </object> + <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> <string key="IBDocument.LastKnownRelativeProjectPath">../ScintillaTest.xcodeproj</string> <int key="IBDocument.defaultPropertyAccessControl">3</int> + <object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>NSMenuCheckmark</string> + <string>NSMenuMixedState</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>{9, 8}</string> + <string>{7, 2}</string> + </object> + </object> </data> </archive> diff --git a/cocoa/ScintillaView.h b/cocoa/ScintillaView.h index 73903c369..0d66d36a4 100644 --- a/cocoa/ScintillaView.h +++ b/cocoa/ScintillaView.h @@ -53,6 +53,9 @@ extern NSString *SCIUpdateUINotification; // It uses the content view for display. Scintilla::ScintillaCocoa* mBackend; + // The object (eg NSDocument) that controls the ScintillaView. + NSObject* mOwner; + // This is the actual content to which the backend renders itself. InnerView* mContent; @@ -92,6 +95,11 @@ extern NSString *SCIUpdateUINotification; - (NSString*) selectedString; +- (void)setFontName: (NSString*) font + size: (int) size + bold: (BOOL) bold + italic: (BOOL) italic; + // Native call through to the backend. + (sptr_t) directCall: (ScintillaView*) sender message: (unsigned int) message wParam: (uptr_t) wParam lParam: (sptr_t) lParam; @@ -115,6 +123,12 @@ extern NSString *SCIUpdateUINotification; - (void) setInfoBar: (NSView <InfoBarCommunicator>*) aView top: (BOOL) top; - (void) setStatusText: (NSString*) text; -@property Scintilla::ScintillaCocoa* backend; +- (void) findAndHighlightText: (NSString*) searchText + matchCase: (BOOL) matchCase + wholeWord: (BOOL) wholeWord + scrollTo: (BOOL) scrollTo + wrap: (BOOL) wrap; +@property Scintilla::ScintillaCocoa* backend; +@property (retain) NSObject* owner; @end diff --git a/cocoa/ScintillaView.mm b/cocoa/ScintillaView.mm index 84362e1c2..6f4557c2b 100644 --- a/cocoa/ScintillaView.mm +++ b/cocoa/ScintillaView.mm @@ -287,10 +287,13 @@ NSString *SCIUpdateUINotification = @"SCIUpdateUI"; currentPosition = mMarkedTextRange.location; } + // Note: Scintilla internally works almost always with bytes instead chars, so we need to take + // this into account when determining selection ranges and such. + std::string raw_text = [newText UTF8String]; mOwner.backend->InsertText(newText); mMarkedTextRange.location = currentPosition; - mMarkedTextRange.length = [newText length]; + mMarkedTextRange.length = raw_text.size(); // Mark the just inserted text. Keep the marked range for later reset. [mOwner setGeneralProperty: SCI_SETINDICATORCURRENT parameter: INPUT_INDICATOR value: 0]; @@ -298,7 +301,7 @@ NSString *SCIUpdateUINotification = @"SCIUpdateUI"; parameter: mMarkedTextRange.location value: mMarkedTextRange.length]; - // Select the part which is indicated in the given range. + // Select the part which is indicated in the given range. It does not scroll the caret into view. if (range.length > 0) { [mOwner setGeneralProperty: SCI_SETSELECTIONSTART @@ -558,6 +561,7 @@ NSString *SCIUpdateUINotification = @"SCIUpdateUI"; @implementation ScintillaView @synthesize backend = mBackend; +@synthesize owner = mOwner; /** * ScintiallView is a composite control made from an NSView and an embedded NSView that is @@ -1360,17 +1364,95 @@ static void notification(intptr_t windowid, unsigned int iMessage, uintptr_t wPa [mInfoBar notify: IBNStatusChanged message: text location: NSZeroPoint value: 0]; } +//-------------------------------------------------------------------------------------------------- + - (NSRange) selectedRange { return [mContent selectedRange]; } +//-------------------------------------------------------------------------------------------------- + - (void)insertText: (NSString*)text { [mContent insertText: text]; } -@end +//-------------------------------------------------------------------------------------------------- + +/** + * Searches and marks the first occurance of the given text and optionally scrolls it into view. + */ +- (void) findAndHighlightText: (NSString*) searchText + matchCase: (BOOL) matchCase + wholeWord: (BOOL) wholeWord + scrollTo: (BOOL) scrollTo + wrap: (BOOL) wrap +{ + // The current position is where we start searching. That is either the end of the current + // (main) selection or the caret position. That ensures we do proper "search next" too. + int currentPosition = [self getGeneralProperty: SCI_GETCURRENTPOS parameter: 0]; + int length = [self getGeneralProperty: SCI_GETTEXTLENGTH parameter: 0]; + + int searchFlags= 0; + if (matchCase) + searchFlags |= SCFIND_MATCHCASE; + if (wholeWord) + searchFlags |= SCFIND_WHOLEWORD; + + Sci_TextToFind ttf; + ttf.chrg.cpMin = currentPosition; + ttf.chrg.cpMax = length; + ttf.lpstrText = (char*) [searchText UTF8String]; + int position = mBackend->WndProc(SCI_FINDTEXT, searchFlags, (sptr_t) &ttf); + + if (position < 0 && wrap) + { + ttf.chrg.cpMin = 0; + ttf.chrg.cpMax = currentPosition; + position = mBackend->WndProc(SCI_FINDTEXT, searchFlags, (sptr_t) &ttf); + } + + if (position >= 0) + { + // Highlight the found text. + [self setGeneralProperty: SCI_SETSELECTIONSTART + parameter: position + value: 0]; + [self setGeneralProperty: SCI_SETSELECTIONEND + parameter: position + [searchText length] + value: 0]; + + if (scrollTo) + [self setGeneralProperty: SCI_SCROLLCARET parameter: 0 value: 0]; + } +} //-------------------------------------------------------------------------------------------------- +- (void) setFontName: (NSString*) font + size: (int) size + bold: (BOOL) bold + italic: (BOOL) italic +{ + for (int i = 0; i < 32; i++) + { + [self setGeneralProperty: SCI_STYLESETFONT + parameter: i + value: (sptr_t)[font UTF8String]]; + [self setGeneralProperty: SCI_STYLESETSIZE + parameter: i + value: size]; + [self setGeneralProperty: SCI_STYLESETBOLD + parameter: i + value: bold]; + [self setGeneralProperty: SCI_STYLESETITALIC + parameter: i + value: italic]; + } +} + +//-------------------------------------------------------------------------------------------------- + +@end + |