diff options
| -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.nibBinary files differ index 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 | 
