diff options
author | Geenz <geenz@geenzo.com> | 2013-04-01 08:15:12 -0400 |
---|---|---|
committer | Geenz <geenz@geenzo.com> | 2013-04-01 08:15:12 -0400 |
commit | 2656b1f405dcf3b67d644bf47b02a64886ef2ca4 (patch) | |
tree | 9e4037a1a6bd0ecacc75fbe2de9eb6c0785a5f1b /indra | |
parent | 80a79e5d7b4f37f862b312e848b1d1e7f85b0fa9 (diff) |
First pass at adding a viable replacement for TSM's old UseInputWindow method (which is now deprecated with seemingly no Cocoa replacement).
Diffstat (limited to 'indra')
-rw-r--r-- | indra/llwindow/llappdelegate-objc.h | 6 | ||||
-rw-r--r-- | indra/llwindow/llopenglview-objc.h | 12 | ||||
-rw-r--r-- | indra/llwindow/llopenglview-objc.mm | 22 | ||||
-rw-r--r-- | indra/llwindow/llwindowmacosx-objc.h | 2 | ||||
-rw-r--r-- | indra/llwindow/llwindowmacosx-objc.mm | 10 | ||||
-rw-r--r-- | indra/llwindow/llwindowmacosx.cpp | 14 | ||||
-rw-r--r-- | indra/newview/SecondLife.nib | bin | 7403 -> 12997 bytes | |||
-rw-r--r-- | indra/newview/SecondLife.xib | 381 | ||||
-rw-r--r-- | indra/newview/llappdelegate-objc.mm | 15 |
9 files changed, 444 insertions, 18 deletions
diff --git a/indra/llwindow/llappdelegate-objc.h b/indra/llwindow/llappdelegate-objc.h index 6a4794f3c3..e7f6ecd5fc 100644 --- a/indra/llwindow/llappdelegate-objc.h +++ b/indra/llwindow/llappdelegate-objc.h @@ -11,11 +11,15 @@ @interface LLAppDelegate : NSObject <NSApplicationDelegate> { LLNSWindow *window; + NSWindow *inputWindow; + LLNonInlineTextView *inputView; NSTimer *frameTimer; } @property (assign) IBOutlet LLNSWindow *window; +@property (assign) IBOutlet NSWindow *inputWindow; +@property (assign) IBOutlet LLNonInlineTextView *inputView; - (void) mainLoop; - +- (void) showInputWindow:(bool)show; @end diff --git a/indra/llwindow/llopenglview-objc.h b/indra/llwindow/llopenglview-objc.h index 5f972b1a98..6b21148bb6 100644 --- a/indra/llwindow/llopenglview-objc.h +++ b/indra/llwindow/llopenglview-objc.h @@ -12,9 +12,6 @@ #import <CoreFoundation/CFNumber.h> #include <string> -// Some nasty shovelling of LLOpenGLView from LLNativeBindings to prevent any C++ <-> Obj-C interop oddities. -// Redraw callback handling removed (for now) due to being unneeded in the patch that preceeds this addition. - @interface LLOpenGLView : NSOpenGLView <NSTextInputClient> { std::string mLastDraggedUrl; @@ -44,6 +41,15 @@ @end +@interface LLNonInlineTextView : NSTextView +{ + LLOpenGLView *glview; +} + +- (void) setGLView:(LLOpenGLView*)view; + +@end + @interface LLNSWindow : NSWindow - (NSPoint)convertToScreenFromLocalPoint:(NSPoint)point relativeToView:(NSView *)view; diff --git a/indra/llwindow/llopenglview-objc.mm b/indra/llwindow/llopenglview-objc.mm index 376d238c90..a6ef35a8eb 100644 --- a/indra/llwindow/llopenglview-objc.mm +++ b/indra/llwindow/llopenglview-objc.mm @@ -501,9 +501,25 @@ attributedStringInfo getSegments(NSAttributedString *str) @end -// We use a custom NSWindow for our event handling. -// Why not an NSWindowController you may ask? -// Answer: this is easier. +@implementation LLNonInlineTextView + +- (void) setGLView:(LLOpenGLView *)view +{ + glview = view; +} + +- (void) insertText:(id)insertString +{ + [self insertText:insertString replacementRange:NSMakeRange(0, 0)]; +} + +- (void) insertText:(id)aString replacementRange:(NSRange)replacementRange +{ + [glview insertText:aString replacementRange:replacementRange]; + [_window orderOut:_window]; +} + +@end @implementation LLNSWindow diff --git a/indra/llwindow/llwindowmacosx-objc.h b/indra/llwindow/llwindowmacosx-objc.h index 1d05db14b2..14a0c22d66 100644 --- a/indra/llwindow/llwindowmacosx-objc.h +++ b/indra/llwindow/llwindowmacosx-objc.h @@ -90,6 +90,8 @@ void setWindowPos(NSWindowRef window, float* pos); void closeWindow(NSWindowRef window); void removeGLView(GLViewRef view); void makeFirstResponder(NSWindowRef window, GLViewRef view); +void setupInputWindow(NSWindowRef window, GLViewRef view); +void showInputWindow(bool show); // These are all implemented in llwindowmacosx.cpp. // This is largely for easier interop between Obj-C and C++ (at least in the viewer's case due to the BOOL vs. BOOL conflict) diff --git a/indra/llwindow/llwindowmacosx-objc.mm b/indra/llwindow/llwindowmacosx-objc.mm index 43f853bfd1..0eef8c9f83 100644 --- a/indra/llwindow/llwindowmacosx-objc.mm +++ b/indra/llwindow/llwindowmacosx-objc.mm @@ -362,6 +362,16 @@ void removeGLView(GLViewRef view) [(LLOpenGLView*)view release]; } +void setupInputWindow(NSWindowRef window, GLViewRef glview) +{ + [[(LLAppDelegate*)[NSApp delegate] inputView] setGLView:(LLOpenGLView*)glview]; +} + +void showInputWindow(bool show) +{ + [(LLAppDelegate*)[NSApp delegate] showInputWindow:show]; +} + NSWindowRef getMainAppWindow() { LLNSWindow *winRef = [(LLAppDelegate*)[[NSApplication sharedApplication] delegate] window]; diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp index 6f66da66a4..2d0f981b3e 100644 --- a/indra/llwindow/llwindowmacosx.cpp +++ b/indra/llwindow/llwindowmacosx.cpp @@ -191,6 +191,8 @@ LLWindowMacOSX::LLWindowMacOSX(LLWindowCallbacks* callbacks, //start with arrow cursor initCursors(); setCursor( UI_CURSOR_ARROW ); + + allowLanguageTextInput(NULL, FALSE); } mCallbacks = callbacks; @@ -513,18 +515,22 @@ BOOL LLWindowMacOSX::createContext(int x, int y, int width, int height, int bits // Get the view instead. mGLView = createOpenGLView(mWindow, mFSAASamples, !disable_vsync); mContext = getCGLContextObj(mGLView); + // Since we just created the context, it needs to be set up. glNeedsInit = TRUE; gGLManager.mVRAM = getVramSize(mGLView); } - + + // This sets up our view to recieve text from our non-inline text input window. + setupInputWindow(mWindow, mGLView); + // Hook up the context to a drawable if(mContext != NULL) { - LL_INFOS("Window") << "Setting CGL Context..." << LL_ENDL; - LL_DEBUGS("Window") << "createContext: setting current context" << LL_ENDL; + + U32 err = CGLSetCurrentContext(mContext); if (err != kCGLNoError) { @@ -1888,6 +1894,8 @@ void LLWindowMacOSX::allowLanguageTextInput(LLPreeditor *preeditor, BOOL b) return; } + showInputWindow(!b); + // Take care of old and new preeditors. if (preeditor != mPreeditor || !b) { diff --git a/indra/newview/SecondLife.nib b/indra/newview/SecondLife.nib Binary files differindex f55ddaabcd..0b0ff5308b 100644 --- a/indra/newview/SecondLife.nib +++ b/indra/newview/SecondLife.nib diff --git a/indra/newview/SecondLife.xib b/indra/newview/SecondLife.xib index 7d20b7fd7c..fdfea49c42 100644 --- a/indra/newview/SecondLife.xib +++ b/indra/newview/SecondLife.xib @@ -11,9 +11,13 @@ <string key="NS.object.0">3084</string> </object> <array key="IBDocument.IntegratedClassDependencies"> + <string>IBNSLayoutConstraint</string> <string>NSCustomObject</string> <string>NSMenu</string> <string>NSMenuItem</string> + <string>NSScrollView</string> + <string>NSScroller</string> + <string>NSTextView</string> <string>NSView</string> <string>NSWindowTemplate</string> </array> @@ -340,6 +344,202 @@ <int key="NSWindowCollectionBehavior">128</int> <bool key="NSWindowIsRestorable">YES</bool> </object> + <object class="NSWindowTemplate" id="979091056"> + <int key="NSWindowStyleMask">31</int> + <int key="NSWindowBacking">2</int> + <string key="NSWindowRect">{{272, 176}, {938, 42}}</string> + <int key="NSWTFlags">-1535638528</int> + <string key="NSWindowTitle">Window</string> + <string key="NSWindowClass">NSPanel</string> + <nil key="NSViewClass"/> + <nil key="NSUserInterfaceItemIdentifier"/> + <object class="NSView" key="NSWindowView" id="1044753903"> + <reference key="NSNextResponder"/> + <int key="NSvFlags">256</int> + <array class="NSMutableArray" key="NSSubviews"> + <object class="NSScrollView" id="238626476"> + <reference key="NSNextResponder" ref="1044753903"/> + <int key="NSvFlags">256</int> + <array class="NSMutableArray" key="NSSubviews"> + <object class="NSClipView" id="871543330"> + <reference key="NSNextResponder" ref="238626476"/> + <int key="NSvFlags">2304</int> + <array class="NSMutableArray" key="NSSubviews"> + <object class="NSTextView" id="395788163"> + <reference key="NSNextResponder" ref="871543330"/> + <int key="NSvFlags">2322</int> + <set class="NSMutableSet" key="NSDragTypes"> + <string>Apple HTML pasteboard type</string> + <string>Apple PDF pasteboard type</string> + <string>Apple PICT pasteboard type</string> + <string>Apple PNG pasteboard type</string> + <string>Apple URL pasteboard type</string> + <string>CorePasteboardFlavorType 0x6D6F6F76</string> + <string>NSColor pasteboard type</string> + <string>NSFilenamesPboardType</string> + <string>NSStringPboardType</string> + <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string> + <string>NeXT RTFD pasteboard type</string> + <string>NeXT Rich Text Format v1.0 pasteboard type</string> + <string>NeXT TIFF v4.0 pasteboard type</string> + <string>NeXT font pasteboard type</string> + <string>NeXT ruler pasteboard type</string> + <string>WebURLsWithTitlesPboardType</string> + <string>public.url</string> + </set> + <string key="NSFrameSize">{938, 42}</string> + <reference key="NSSuperview" ref="871543330"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="339833963"/> + <string key="NSReuseIdentifierKey">_NS:13</string> + <object class="NSTextContainer" key="NSTextContainer" id="648552009"> + <object class="NSLayoutManager" key="NSLayoutManager"> + <object class="NSTextStorage" key="NSTextStorage"> + <object class="NSMutableString" key="NSString"> + <characters key="NS.bytes"/> + </object> + <nil key="NSDelegate"/> + </object> + <array class="NSMutableArray" key="NSTextContainers"> + <reference ref="648552009"/> + </array> + <int key="NSLMFlags">166</int> + <nil key="NSDelegate"/> + </object> + <reference key="NSTextView" ref="395788163"/> + <double key="NSWidth">938</double> + <int key="NSTCFlags">1</int> + </object> + <object class="NSTextViewSharedData" key="NSSharedData"> + <int key="NSFlags">67121127</int> + <int key="NSTextCheckingTypes">0</int> + <nil key="NSMarkedAttributes"/> + <object class="NSColor" key="NSBackgroundColor" id="535647664"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MQA</bytes> + </object> + <dictionary key="NSSelectedAttributes"> + <object class="NSColor" key="NSBackgroundColor"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">selectedTextBackgroundColor</string> + <object class="NSColor" key="NSColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes> + </object> + </object> + <object class="NSColor" key="NSColor"> + <int key="NSColorSpace">6</int> + <string key="NSCatalogName">System</string> + <string key="NSColorName">selectedTextColor</string> + <object class="NSColor" key="NSColor" id="835883401"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MAA</bytes> + </object> + </object> + </dictionary> + <reference key="NSInsertionColor" ref="835883401"/> + <dictionary key="NSLinkAttributes"> + <object class="NSColor" key="NSColor"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MCAwIDEAA</bytes> + </object> + <object class="NSCursor" key="NSCursor"> + <string key="NSHotSpot">{8, -8}</string> + <int key="NSCursorType">13</int> + </object> + <integer value="1" key="NSUnderline"/> + </dictionary> + <nil key="NSDefaultParagraphStyle"/> + <nil key="NSTextFinder"/> + <int key="NSPreferredTextFinderStyle">1</int> + </object> + <int key="NSTVFlags">6</int> + <string key="NSMaxSize">{939, 10000000}</string> + <nil key="NSDelegate"/> + </object> + </array> + <string key="NSFrame">{{1, 1}, {938, 42}}</string> + <reference key="NSSuperview" ref="238626476"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="395788163"/> + <string key="NSReuseIdentifierKey">_NS:11</string> + <reference key="NSDocView" ref="395788163"/> + <reference key="NSBGColor" ref="535647664"/> + <object class="NSCursor" key="NSCursor"> + <string key="NSHotSpot">{4, 5}</string> + <object class="NSImage" key="NSImage"> + <int key="NSImageFlags">79691776</int> + <array key="NSReps"> + <array> + <integer value="5"/> + <object class="NSURL"> + <nil key="NS.base"/> + <string key="NS.relative">file://localhost/Applications/Xcode.app/Contents/SharedFrameworks/DVTKit.framework/Resources/DVTIbeamCursor.tiff</string> + </object> + </array> + </array> + <object class="NSColor" key="NSColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MCAwAA</bytes> + </object> + </object> + </object> + <int key="NScvFlags">4</int> + </object> + <object class="NSScroller" id="339833963"> + <reference key="NSNextResponder" ref="238626476"/> + <int key="NSvFlags">256</int> + <string key="NSFrame">{{923, 1}, {16, 42}}</string> + <reference key="NSSuperview" ref="238626476"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView"/> + <string key="NSReuseIdentifierKey">_NS:83</string> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> + <reference key="NSTarget" ref="238626476"/> + <string key="NSAction">_doScroller:</string> + <double key="NSPercent">0.96666666666666667</double> + </object> + <object class="NSScroller" id="1067057765"> + <reference key="NSNextResponder" ref="238626476"/> + <int key="NSvFlags">-2147483392</int> + <string key="NSFrame">{{-100, -100}, {87, 18}}</string> + <reference key="NSSuperview" ref="238626476"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="871543330"/> + <string key="NSReuseIdentifierKey">_NS:33</string> + <bool key="NSAllowsLogicalLayoutDirection">NO</bool> + <int key="NSsFlags">1</int> + <reference key="NSTarget" ref="238626476"/> + <string key="NSAction">_doScroller:</string> + <double key="NSCurValue">1</double> + <double key="NSPercent">0.94565218687057495</double> + </object> + </array> + <string key="NSFrame">{{-1, -1}, {940, 44}}</string> + <reference key="NSSuperview" ref="1044753903"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="1067057765"/> + <string key="NSReuseIdentifierKey">_NS:9</string> + <int key="NSsFlags">133138</int> + <reference key="NSVScroller" ref="339833963"/> + <reference key="NSHScroller" ref="1067057765"/> + <reference key="NSContentView" ref="871543330"/> + <double key="NSMinMagnification">0.25</double> + <double key="NSMaxMagnification">4</double> + <double key="NSMagnification">1</double> + </object> + </array> + <string key="NSFrameSize">{938, 42}</string> + <reference key="NSSuperview"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="238626476"/> + <string key="NSReuseIdentifierKey">_NS:21</string> + </object> + <string key="NSScreenRect">{{0, 0}, {2560, 1440}}</string> + <string key="NSMaxSize">{10000000000000, 10000000000000}</string> + <bool key="NSWindowIsRestorable">YES</bool> + </object> </array> <object class="IBObjectContainer" key="IBDocument.Objects"> <array class="NSMutableArray" key="connectionRecords"> @@ -471,6 +671,22 @@ </object> <int key="connectionID">850</int> </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">inputWindow</string> + <reference key="source" ref="756173070"/> + <reference key="destination" ref="979091056"/> + </object> + <int key="connectionID">953</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> + <string key="label">inputView</string> + <reference key="source" ref="756173070"/> + <reference key="destination" ref="395788163"/> + </object> + <int key="connectionID">954</int> + </object> </array> <object class="IBMutableOrderedSet" key="objectRecords"> <array key="orderedObjects"> @@ -726,6 +942,131 @@ <reference key="object" ref="383018193"/> <reference key="parent" ref="701759256"/> </object> + <object class="IBObjectRecord"> + <int key="objectID">941</int> + <reference key="object" ref="979091056"/> + <array class="NSMutableArray" key="children"> + <reference ref="1044753903"/> + </array> + <reference key="parent" ref="0"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">942</int> + <reference key="object" ref="1044753903"/> + <array class="NSMutableArray" key="children"> + <reference ref="238626476"/> + <object class="IBNSLayoutConstraint" id="721706750"> + <reference key="firstItem" ref="1044753903"/> + <int key="firstAttribute">4</int> + <int key="relation">0</int> + <reference key="secondItem" ref="238626476"/> + <int key="secondAttribute">4</int> + <float key="multiplier">1</float> + <object class="IBLayoutConstant" key="constant"> + <double key="value">-1</double> + </object> + <float key="priority">1000</float> + <reference key="containingView" ref="1044753903"/> + <int key="scoringType">8</int> + <float key="scoringTypeFloat">29</float> + <int key="contentType">3</int> + </object> + <object class="IBNSLayoutConstraint" id="797493936"> + <reference key="firstItem" ref="1044753903"/> + <int key="firstAttribute">6</int> + <int key="relation">0</int> + <reference key="secondItem" ref="238626476"/> + <int key="secondAttribute">6</int> + <float key="multiplier">1</float> + <object class="IBLayoutConstant" key="constant"> + <double key="value">-1</double> + </object> + <float key="priority">1000</float> + <reference key="containingView" ref="1044753903"/> + <int key="scoringType">8</int> + <float key="scoringTypeFloat">29</float> + <int key="contentType">3</int> + </object> + <object class="IBNSLayoutConstraint" id="262904360"> + <reference key="firstItem" ref="238626476"/> + <int key="firstAttribute">3</int> + <int key="relation">0</int> + <reference key="secondItem" ref="1044753903"/> + <int key="secondAttribute">3</int> + <float key="multiplier">1</float> + <object class="IBLayoutConstant" key="constant"> + <double key="value">-1</double> + </object> + <float key="priority">1000</float> + <reference key="containingView" ref="1044753903"/> + <int key="scoringType">8</int> + <float key="scoringTypeFloat">29</float> + <int key="contentType">3</int> + </object> + <object class="IBNSLayoutConstraint" id="609370450"> + <reference key="firstItem" ref="238626476"/> + <int key="firstAttribute">5</int> + <int key="relation">0</int> + <reference key="secondItem" ref="1044753903"/> + <int key="secondAttribute">5</int> + <float key="multiplier">1</float> + <object class="IBLayoutConstant" key="constant"> + <double key="value">-1</double> + </object> + <float key="priority">1000</float> + <reference key="containingView" ref="1044753903"/> + <int key="scoringType">8</int> + <float key="scoringTypeFloat">29</float> + <int key="contentType">3</int> + </object> + </array> + <reference key="parent" ref="979091056"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">943</int> + <reference key="object" ref="238626476"/> + <array class="NSMutableArray" key="children"> + <reference ref="395788163"/> + <reference ref="1067057765"/> + <reference ref="339833963"/> + </array> + <reference key="parent" ref="1044753903"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">944</int> + <reference key="object" ref="395788163"/> + <reference key="parent" ref="238626476"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">945</int> + <reference key="object" ref="1067057765"/> + <reference key="parent" ref="238626476"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">946</int> + <reference key="object" ref="339833963"/> + <reference key="parent" ref="238626476"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">949</int> + <reference key="object" ref="609370450"/> + <reference key="parent" ref="1044753903"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">950</int> + <reference key="object" ref="262904360"/> + <reference key="parent" ref="1044753903"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">951</int> + <reference key="object" ref="797493936"/> + <reference key="parent" ref="1044753903"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">952</int> + <reference key="object" ref="721706750"/> + <reference key="parent" ref="1044753903"/> + </object> </array> </object> <dictionary class="NSMutableDictionary" key="flattenedProperties"> @@ -770,12 +1111,31 @@ <string key="829.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="841.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="92.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="941.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <boolean value="YES" key="941.NSWindowTemplate.visibleAtLaunch"/> + <array class="NSMutableArray" key="942.IBNSViewMetadataConstraints"> + <reference ref="609370450"/> + <reference ref="262904360"/> + <reference ref="797493936"/> + <reference ref="721706750"/> + </array> + <string key="942.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <boolean value="NO" key="943.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints"/> + <string key="943.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="944.CustomClassName">LLNonInlineTextView</string> + <string key="944.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="945.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="946.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="949.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="950.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="951.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="952.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> </dictionary> <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/> <nil key="activeLocalization"/> <dictionary class="NSMutableDictionary" key="localizations"/> <nil key="sourceID"/> - <int key="maxID">940</int> + <int key="maxID">954</int> </object> <object class="IBClassDescriber" key="IBDocument.Classes"> <array class="NSMutableArray" key="referencedPartialClassDescriptions"> @@ -783,13 +1143,18 @@ <string key="className">LLAppDelegate</string> <string key="superclassName">NSObject</string> <dictionary class="NSMutableDictionary" key="outlets"> - <string key="glview">LLOpenGLView</string> + <string key="inputView">LLNonInlineTextView</string> + <string key="inputWindow">NSWindow</string> <string key="window">LLNSWindow</string> </dictionary> <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName"> - <object class="IBToOneOutletInfo" key="glview"> - <string key="name">glview</string> - <string key="candidateClassName">LLOpenGLView</string> + <object class="IBToOneOutletInfo" key="inputView"> + <string key="name">inputView</string> + <string key="candidateClassName">LLNonInlineTextView</string> + </object> + <object class="IBToOneOutletInfo" key="inputWindow"> + <string key="name">inputWindow</string> + <string key="candidateClassName">NSWindow</string> </object> <object class="IBToOneOutletInfo" key="window"> <string key="name">window</string> @@ -810,11 +1175,11 @@ </object> </object> <object class="IBPartialClassDescription"> - <string key="className">LLOpenGLView</string> - <string key="superclassName">NSOpenGLView</string> + <string key="className">LLNonInlineTextView</string> + <string key="superclassName">NSTextView</string> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBProjectSource</string> - <string key="minorKey">./Classes/LLOpenGLView.h</string> + <string key="minorKey">./Classes/LLNonInlineTextView.h</string> </object> </object> </array> diff --git a/indra/newview/llappdelegate-objc.mm b/indra/newview/llappdelegate-objc.mm index 5fb5087cd8..8da44fcf33 100644 --- a/indra/newview/llappdelegate-objc.mm +++ b/indra/newview/llappdelegate-objc.mm @@ -12,6 +12,8 @@ @implementation LLAppDelegate @synthesize window; +@synthesize inputWindow; +@synthesize inputView; - (void)dealloc { @@ -63,4 +65,17 @@ } } +- (void) showInputWindow:(bool)show +{ + if (show) + { + NSLog(@"Showing input window."); + [inputWindow makeKeyAndOrderFront:inputWindow]; + } else { + NSLog(@"Hiding input window."); + [inputWindow orderOut:inputWindow]; + [window makeKeyAndOrderFront:window]; + } +} + @end |