On Oct 11, 2014, at 10:23 AM, Keary Suska <cocoa-...@esoteritech.com> wrote:

> On Oct 11, 2014, at 3:53 AM, Daryle Walker <dary...@mac.com> wrote:
> 
>> On Oct 10, 2014, at 1:58 AM, Ken Thomases <k...@codeweavers.com> wrote:
>> 
>>> On Oct 10, 2014, at 12:02 AM, Daryle Walker <dary...@mac.com> wrote:
>>> 
>>>> On Oct 7, 2014, at 8:03 PM, Ken Thomases <k...@codeweavers.com> wrote:
>>>> 
>>>>> On Oct 7, 2014, at 5:29 PM, Daryle Walker <dary...@mac.com> wrote:
>>>>> 
>>>>>> 1. Although the text in the window expands vertically as needed, it 
>>>>>> never does horizontally. Wrapping always happens when lines are too 
>>>>>> long, but it adjusts as the width of the window is changed. How do I get 
>>>>>> “infinite” space horizontally? I tried various tweaks in Interface 
>>>>>> Builder and looked at various Apple guides, but I can’t turn off the 
>>>>>> horizontal wrapping.
>>>>> 
>>>>> On the Size inspector of IB, enable Resizable Horizontally.  Then, in 
>>>>> code, do this (assuming self.textView is the outlet property):
>>>>> 
>>>>> self.textView.textContainer.widthTracksTextView = NO;
>>>>> 
>>>>> I couldn't find anyplace in IB that exposes the text container attributes.
>>>> 
>>>> I added “textContainer.widthTracksTextView” to the run-time attributes 
>>>> section in Interface Builder as a Boolean, and it changes the behavior in 
>>>> the other direction; the text wraps at the window’s original width, even 
>>>> if I make the window wider. Changing it to YES (i.e. turning on the 
>>>> checkbox) brings back the previous behavior. (I first changed the 
>>>> horizontal point limit to 10K, just like the vertical limit.)
>>> 
>>> Did you also set Resizable Horizontally (the first step, above)?  And, yes, 
>>> good catch: I forget to mention changing the max. width.
>> 
>> Yes.
>> 
>>> I tested this and it worked for me.  In summary, all three steps:
>>> 
>>> * Set the text view's max. width
>>> * Set the text view to be horizontally resizable
>>> * Set textView.textContainer.widthTracksTextView = NO
>> 
>> I had that before my last post; didn’t fix it, made it worse (text width is 
>> the initial width of the window, even if I Zoom it out, or manually make it 
>> wider, or narrower(!)).
> 
> 
> I think Ken mis-stated what he meant--the max width isn't terribly relevant. 
> You need to set the actual container size (width minimally) to an unlikely 
> large number. Apple's TextViewSizing example project demonstrates this. They 
> use the value 1.0e7, which comments say is the largest possible value before 
> experiencing text drawing issues. You will have to set this value in code, as 
> it can't be set via IB.

This fixed it. Thanks.

There was a minor detour where I just had “textContainer.containerSize” set. 
You need BOTH “containerSize” and “widthTracksTextView” set (to {10M, 10M} and 
NO, respectively). Both of these can be set in the user-defined run-time 
attributes section of IB. I heard about this a few months ago as a power-user 
hint. I first tried it to set the text-view’s font to the system fixed-width 
font, but I couldn’t do it. NSFont is not a type supported by the runtime 
attribute section, but NSSize and BOOL are.

>> On Oct 7, 2014, at 5:33 PM, Daryle Walker <dary...@mac.com> wrote:
>>>>> 
>>>>>> 3. The text in the view-source window is editable, although I turned 
>>>>>> that off. (It’s still selectable.) I can cut/copy/paste. Isn’t turning 
>>>>>> off editing supposed to stop this?
>>>>> 
>>>>> Are you using bindings?  Do any of them have Conditionally Sets Editable 
>>>>> enabled in the binding options?
>>>> 
>>>> Yes, one for the text view's contents, and another on the window's title 
>>>> (using the format substitution version). There is a binding for the text 
>>>> view being editable, but I’m not using it. (The text contents property in 
>>>> my window controller class is read-write.)
>>> 
>>> My point was to check the options on those bindings for the Conditionally 
>>> Sets Editable option.  If any of them have that option enabled, that would 
>>> explain why your text is editable when you set the text view to 
>>> non-editable.  The binding option is overriding the attribute you set.  
>>> Turn it off.
>> 
>> I thought you meant the “Editable” attribute under “Availability.” I haven’t 
>> activated that Binding at all. But now I see you meant the C.S.E. option 
>> under the Binding I did make. That option is checked.
>> 
>> Turning it off blocks Cut and Paste, but still allows Copy, Select All, and 
>> Find.
> 
> You will need to also turn off "selectable" (setSelectable: in code) which 
> should disable the rest, and possibly change "find" value to "none" 
> (setUsesFindBar: and/or setUsesFindPanel:).

Oh, I want read-only actions supported. Those don’t break the illusion that the 
source-view and browser windows are connected.

— 
Daryle Walker
Mac, Internet, and Video Game Junkie
darylew AT mac DOT com 

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to