[Lazarus] Object Inspector odd behavior (ComboBox issue)

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[Lazarus] Object Inspector odd behavior (ComboBox issue)

John Stoneham
My setup: LCL=carbon (OS X), I build svn daily, and fpc is 2.5.1 from svn

A couple of weeks ago, I noticed that *single*-clicking in the Object Inspector actually increments the value of any property displayed with ComboBoxes. That can't be the intended behavior, can it? And then, you can't re-click it to increment it again; you have to drop the list down and *double*-click on an item to select the new value. This seems really strange to me and counter-intuitive. I had to carefully go back through my entire project to make sure I haven't accidentally changed a value simply by single-clicking in the object inspector (several indeed had been changed). Every svn update, I rebuild hoping it's not going to do it anymore, but it still does.

I actually hope this is a bug, because it's just really weird. Where would I look in the sources to change this behavior so that it only increments on double-click, not single-click? 

Related to TComboBox, the behavior on carbon (not sure about other platforms) is not consistent. If it's a read-only list, single-clicking on an item in the drop-down list selects it and the list goes back up. If it's not read-only, you must double-click on a list item to make the list go back up (proper behavior on OS X is for the item to be selected and the list go back up with just a single click). Again, where would I look in the sources to change this behavior? This one is really important for my project, because it goes against the Apple HI Guidelines and might cause my app to get rejected.


--
John

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Object Inspector odd behavior (ComboBox issue)

dmitry boyarintsev
> Related to TComboBox, the behavior on carbon (not sure about other platforms) is not consistent.
> If it's a read-only list, single-clicking on an item in the drop-down list selects it and the list goes
> back up. If it's not read-only, you must double-click on a list item to make the list go back up
> (proper behavior on OS X is for the item to be selected and the list go back up with just a single click).
> Again, where would I look in the sources to change this behavior? This one is really important for my project,
> because it goes against the Apple HI Guidelines and might cause my app to get rejected.

I'm afraid this is how Apple designed Carbon (intentionally i suspect
to force everyone to use Cocoa).
You can actually test by using Interface Builder. Create a window and
place a combobox on it. Add some items to the combobox and run the
simulation. You'll see that combobox is behaving in the same.

This is possible to fix, but it required some additional efforts, and
nobody ever wanted to fix Apple's bugs for them.

This bug doesn't present in Cocoa combobox. So it will be working once
Cocoa widgetset is mature enough, however it's still Alpha and almost
unusable.

thanks,
Dmitry

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Object Inspector odd behavior (ComboBox issue)

John Stoneham


On Mon, Feb 14, 2011 at 12:07 PM, dmitry boyarintsev <[hidden email]> wrote:

I'm afraid this is how Apple designed Carbon (intentionally i suspect
to force everyone to use Cocoa).
You can actually test by using Interface Builder. Create a window and
place a combobox on it. Add some items to the combobox and run the
simulation. You'll see that combobox is behaving in the same.

This is possible to fix, but it required some additional efforts, and
nobody ever wanted to fix Apple's bugs for them.

This bug doesn't present in Cocoa combobox. So it will be working once
Cocoa widgetset is mature enough, however it's still Alpha and almost
unusable.

Hmm, didn't know it was a Carbon combobox thing, since I've only every used Cocoa in the past, and it is definitely different. Ok, good enough.

However, I'm still curious as to why on earth Object Inspector increments properties on *single*-click. That is just annoying the hell out of me. You can't even click to see the list of available properties without changing the value. I've tried delving into the source but can't locate where to fix this.


--
John

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Object Inspector odd behavior (ComboBox issue)

John Stoneham


On Mon, Feb 14, 2011 at 12:14 PM, John Stoneham <[hidden email]> wrote:

However, I'm still curious as to why on earth Object Inspector increments properties on *single*-click. That is just annoying the hell out of me. You can't even click to see the list of available properties without changing the value. I've tried delving into the source but can't locate where to fix this.



Alright, this is definitely a bug. I tried it on the 0.9.28.2 release and it definitely does not happen there. I can't recall when it started. I'm not sure if it affects other widgets sets.

--
John

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Object Inspector odd behavior (ComboBox issue)

John Stoneham


On Mon, Feb 14, 2011 at 12:30 PM, John Stoneham <[hidden email]> wrote:


On Mon, Feb 14, 2011 at 12:14 PM, John Stoneham <[hidden email]> wrote:

However, I'm still curious as to why on earth Object Inspector increments properties on *single*-click. That is just annoying the hell out of me. You can't even click to see the list of available properties without changing the value. I've tried delving into the source but can't locate where to fix this.



Alright, this is definitely a bug. I tried it on the 0.9.28.2 release and it definitely does not happen there. I can't recall when it started. I'm not sure if it affects other widgets sets.



Just tried Lazarus svn on Ubuntu and single-clicking on a property in the Object Inspector does *not* increment its value -- unlike the weird behavior in the Object Inspector on OS X.

Someone who has more familiarity with the source than me will have to determine if it's because of a bug introduced in the carbon widgets sometime after 0.9.28.2, or if it's a bug in the IDE code itself which somehow only shows with the carbon widget set.

--
John

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus