Real Software Forums

The forum for Real Studio and other Real Software products.
[ REAL Software Website | Board Index ]
It is currently Wed Aug 23, 2017 7:01 am
xojo

All times are UTC - 5 hours




Post new topic Reply to topic  [ 13 posts ] 
Author Message
 Post subject: TextArea - Cocoa vs Carbon [Solved.... well Explained]
PostPosted: Sun Apr 28, 2013 11:28 am 
Offline
User avatar

Joined: Sun Aug 05, 2007 10:46 am
Posts: 4931
Location: San Diego, CA
Could someone take a look at this project and see if they can tell me if the problem is something I did (or didn't do) or if it is a remaining bug in Cocoa implementation?

This is a sample project stripped down to the minimum required to duplicate the problem.

Basically it is a simple StyledText window that accepts text from an outside control, allows the user to edit it, and then puts it back

The final version has a toolbar for BOLD/ITALIC/COLOR etc... and when that toolbar is there.... COCOA won't even let the user type anything...
Removing that toolbar at least allows the textarea to accept text... but the ability to change Font/Size are ignored.

here is a link to a zip file http://www.rdsisemore.com/ta_test.rbp.zip

there is a note section explaining expected behaviour, and what happens in Carbon vs Cocoa....

I would REALLY appreciate it someone had the time to download this (its not a ton of code).... and compile both as CARBON and COCOA and see if they can find the issue.

I REALLY REALLY need this work in COCOA. The ironic thing is that this control is one of the less complex parts of the overall project, and everything else works perfectly in COCOA

_________________
Dave Sisemore
iMac I7[2012], OSX Mountain Lion 10.8.3 RB2012r2.1
Note : I am not interested in any solutions that involve custom Plug-ins of any kind


Last edited by DaveS on Sun Apr 28, 2013 5:19 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
 Post subject: Re: TextArea - Cocoa vs Carbon
PostPosted: Sun Apr 28, 2013 12:15 pm 
Offline

Joined: Fri Nov 16, 2012 8:10 pm
Posts: 34
Cocoa (10.8.3)

I think the problem is Update_FontInfo Method

I can not write into winTextBar Window
if I close the window the app crashes

when I put a comment in this code, I can write in winTextBar.

'fnt=TextArea1.SelTextFont
'fnt=ConvertEncoding(fnt,encodings.ascii)
'fnt=ReplaceAll(fnt,Chr(0),"")
'If Len(fnt)=0 Then fnt="Arial"
'x=-1
'For i=0 To puFONT.ListCount-1
's=puFONT.list(i)
'If Left(fnt,Len(s))=s Then x=i
'Next i
'If x>=0 And x<>puFONT.listindex Then puFONT.listindex=x
'//
'// Update FontSize Listbox
'//
'x=TextArea1.SelTextSize
'For i=0 To puFONT.ListCount-1
'If Val(puSIZE.list(i))=x Then
'puSIZE.ListIndex=i
'Exit For
'End If
'Next i
'busy=False

_________________
OSX 10.8.3
ListBox Example Project OSX
TextEditor Example Project OSX
Homepage


Top
 Profile  
Reply with quote  
 Post subject: Re: TextArea - Cocoa vs Carbon
PostPosted: Sun Apr 28, 2013 12:19 pm 
Offline
User avatar

Joined: Sun Aug 05, 2007 10:46 am
Posts: 4931
Location: San Diego, CA
yes.... I know that.....
the question is WHY?

If you had read the notes section it explained all of that already..... this works fine under Cocoa.... and that code you commented is the "issue"

_________________
Dave Sisemore
iMac I7[2012], OSX Mountain Lion 10.8.3 RB2012r2.1
Note : I am not interested in any solutions that involve custom Plug-ins of any kind


Top
 Profile  
Reply with quote  
 Post subject: Re: TextArea - Cocoa vs Carbon
PostPosted: Sun Apr 28, 2013 1:24 pm 
Offline

Joined: Sat Dec 24, 2011 5:32 am
Posts: 40
Location: Germany
Hello,
nothing seems to get executed after this line:

fnt=TextArea1.SelTextFont


Top
 Profile  
Reply with quote  
 Post subject: Re: TextArea - Cocoa vs Carbon
PostPosted: Sun Apr 28, 2013 1:37 pm 
Offline
User avatar

Joined: Sun Aug 05, 2007 10:46 am
Posts: 4931
Location: San Diego, CA
Not to complain about people trying to help.... but please... read my notes.
I know WHAT does not work,
I know WHERE it does not work....
what I don't know is WHY it doesn't work in Cocoa...

Is there something *I* need to do different as a work-around because of Cocoa?
Does it plain NOT work, but will (maybe) work when XoJo is released?

So... do I
a) wait for Xojo... and continue with other aspects of my project until then?
b) recode using a work-around that someone may or may not be able to suggest?
c) scrap this window and try a whole different approach?

_________________
Dave Sisemore
iMac I7[2012], OSX Mountain Lion 10.8.3 RB2012r2.1
Note : I am not interested in any solutions that involve custom Plug-ins of any kind


Top
 Profile  
Reply with quote  
 Post subject: Re: TextArea - Cocoa vs Carbon
PostPosted: Sun Apr 28, 2013 4:01 pm 
Offline

Joined: Wed May 25, 2011 10:18 am
Posts: 33
I would do a).
The TextArea is very buggy at this time. I stopped using it. If Xojo uses it, they must have fixed a lot of bugs. I *guess* the Code Editor is based on TextArea...

Kind regards
Christian

_________________
me.self works with:
Real Studio Pro (always the latest), 10.7.x, Mac mini i5, Love


Top
 Profile  
Reply with quote  
 Post subject: Re: TextArea - Cocoa vs Carbon
PostPosted: Sun Apr 28, 2013 4:03 pm 
Offline

Joined: Sat Dec 24, 2011 5:32 am
Posts: 40
Location: Germany
Cocoa-Build

Hello,
in the Change-events of „puFont“ and „puSize“ you are having the code:

If ready And Not busy Then
...
End If


but both (ready and busy) are TRUE when changing the selection in the popupmenu so nothing will happen.


In the Method „Update_FontInfo“ should it not be

For i=0 To puSize.ListCount-1
If Val(puSIZE.list(i))=x Then
puSIZE.ListIndex=i
Exit For
End If
Next i


instead of

For i=0 To puFONT.ListCount-1
If Val(puSIZE.list(i))=x Then
puSIZE.ListIndex=i
Exit For
End If
Next i


Top
 Profile  
Reply with quote  
 Post subject: Re: TextArea - Cocoa vs Carbon
PostPosted: Sun Apr 28, 2013 5:00 pm 
Offline
User avatar

Joined: Sun Aug 05, 2007 10:46 am
Posts: 4931
Location: San Diego, CA
1) Busy should ONLY be TRUE if those events are called DURING the UPDATE_FONTINFO procedure... which they will be as that procedure changes there value. Otherwise there would be an infinite loop.. With the puFONT and/or puSIZE CHANGE event calling UPDATE_FONTINFO, and UPDATE_FONTINFO changing the value ... ad nauseum. The BUSY flag is set to TRUE at the beginning of UPDATE_FONTINFO, to hold off events from the popup menus, and set to FALSE as the last step. And READY is set to true to hold off random events while the window initializes.

So the CHANGE event will only do something
IF the window is initialized (READY=TRUE) and UPDATE_FONTINFO is not active (BUSY=FALSE).
Both flags should be TRUE only for the split second that UPDATE_INFO is running


2) Yes it should be puSIZE not puFONT..... but in reality it should still work as there are more fonts than sizes.... and would always exit when it found the right index value.


Anyone out there in the XOJO beta that can just tell me if it works there or not? :)

_________________
Dave Sisemore
iMac I7[2012], OSX Mountain Lion 10.8.3 RB2012r2.1
Note : I am not interested in any solutions that involve custom Plug-ins of any kind


Top
 Profile  
Reply with quote  
 Post subject: Re: TextArea - Cocoa vs Carbon
PostPosted: Sun Apr 28, 2013 5:08 pm 
Offline
User avatar

Joined: Sun Aug 05, 2007 10:46 am
Posts: 4931
Location: San Diego, CA
However... a previous post did point at something that I didn't fully appreciate.


the line

fnt=TextArea1.SelTextFont

in COCOA when it hits that line..... IT EXITS THE PROCEDURE without completing it!
It doesn't bomb... no errors... it just exits.... leaving BUSY still set to TRUE!

_________________
Dave Sisemore
iMac I7[2012], OSX Mountain Lion 10.8.3 RB2012r2.1
Note : I am not interested in any solutions that involve custom Plug-ins of any kind


Top
 Profile  
Reply with quote  
 Post subject: Re: TextArea - Cocoa vs Carbon [Solved.... well Explained]
PostPosted: Sun Apr 28, 2013 5:22 pm 
Offline
User avatar

Joined: Sun Aug 05, 2007 10:46 am
Posts: 4931
Location: San Diego, CA
Ok... after lots of frustration... and testing..... and hair pulling (which at my age I can't afford)

Carbon. SelTextFont/SelTextSize will return the values related to the nearest character if the cursor is in the text, but a range of characters is not selected. (SELLENGTH=0 is allowed)

Cocoa. Will NOT. It must have a SELLENGTH>=1 or it does really strange things

SOOOOoo.... I am going to see if I can code it to detect that... actually select a character... get the data.. .and reset SELENGTH before returning.....

_________________
Dave Sisemore
iMac I7[2012], OSX Mountain Lion 10.8.3 RB2012r2.1
Note : I am not interested in any solutions that involve custom Plug-ins of any kind


Top
 Profile  
Reply with quote  
 Post subject: Re: TextArea - Cocoa vs Carbon [Solved.... well Explained]
PostPosted: Sun Apr 28, 2013 5:40 pm 
Offline

Joined: Fri Jan 23, 2009 9:18 am
Posts: 104
Location: Summerfield, Florida
I believe feedback 15839 describes the problems you are seeing.

Multiple problems with text area have a status of fixed and verified.

Jim


Top
 Profile  
Reply with quote  
 Post subject: Re: TextArea - Cocoa vs Carbon [Solved.... well Explained]
PostPosted: Sun Apr 28, 2013 5:44 pm 
Offline
User avatar

Joined: Sun Aug 05, 2007 10:46 am
Posts: 4931
Location: San Diego, CA
Thanks... too bad I have NEVER been able to figure out how to get the feedback system to work....

_________________
Dave Sisemore
iMac I7[2012], OSX Mountain Lion 10.8.3 RB2012r2.1
Note : I am not interested in any solutions that involve custom Plug-ins of any kind


Top
 Profile  
Reply with quote  
 Post subject: Re: TextArea - Cocoa vs Carbon [Solved.... well Explained]
PostPosted: Sun Apr 28, 2013 7:58 pm 
Offline

Joined: Wed Feb 16, 2011 1:59 pm
Posts: 74
Location: Arizona, USA
So without directly helping you and by re-stating some of the obvious; other people did help you. Not bad. This is where having someone completely unbiased review one's code and errors pays dividend.

_________________
Windows XP SP3
RS 2012r2


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 13 posts ] 

All times are UTC - 5 hours


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group