bugGNU Octave - Bugs: bug #52795, "pickableparts"...


bug #52795: "pickableparts" unimplemented

Submitted by:  Pantxo Diribarne <pantxo>
Submitted on:  Wed 03 Jan 2018 02:35:42 PM UTC  
Category: Plotting with OpenGLSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Feature Request
Status: In ProgressAssigned to: None
Originator Name: Open/Closed: Open
Release: devOperating System: Any

Add a New Comment(Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


Thu 04 Jan 2018 11:57:28 PM UTC, comment #2:

@Pantxo: I pushed your patch here (). I re-worded the documentation in genpropdoc.m slightly to try and make clearer the distinction between "pickableparts" and "hittest", although it's already not very clear with Matlab.

I had a few questions. First, for absolute Matlab compatibility, not all objects accept the "all" value. That is why I had the base property contain the only two universal values "visible" and "none" and I overrode the property on the individual objects which do support "all". If it makes for an easier implementation then we can just keep things the way they are with the base property having all three values.

Second, I did some testing with the following script tst_pick.m

One thing I noticed is that even though the Patch object is on top of the Line object, it is always the Line object callback that is triggered. Of course, this happened before PickableParts was implemented so it is unrelated to your change; it's still wrong though.

It might be useful to get confirmation from someone with access to Matlab, but I think "PickableParts" only acts on a per object level and doesn't necessarily affect children. For example, when PickableParts is set to "none" on the axes object, I still think you should be able to interact with graphic objects within the axes.

Finally, I'm not sure our implementation of HitTest is correct. When HitTest is "off", is the mouse click passed to the ancestor of the object which received the click (this is what the Matlab documentation says, but I'm not sure exactly what it means), or does the object which is behind the object which received the click get it instead? The latter is what is implemented, but I don't think that is right.

A simple test, after using tst_pick.m above, is

Rik <rik5>
Project Administrator
Wed 03 Jan 2018 08:25:25 PM UTC, comment #1:

I attached an updated patch with which the doc now building cleanly.

(file #42814)

Pantxo Diribarne <pantxo>
Project Member
Wed 03 Jan 2018 02:35:42 PM UTC, original submission:

I attached a tentative implementation of the "pickableparts" property. Could someone who knkows how it is supposed to work in Matlab test it?

Pantxo Diribarne <pantxo>
Project Member


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):

Attached Files
file #42838:  tst_pick.m added by rik5 (307B - text/x-matlab)
file #42814:  pickableparts2.patch added by pantxo (23KiB - text/x-patch)
file #42806:  pickableparts.patch added by pantxo (23KiB - text/x-patch)


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -unavailable- added by rik5 (Posted a comment)
  • -unavailable- added by pantxo (Submitted the item)

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.


    Please enter the title of George Orwell's famous dystopian book (it's a date):



    Follow 5 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Thu 04 Jan 2018 11:58:01 PM UTCrik5Attached File-=>Added tst_pick.m, #42838
    Thu 04 Jan 2018 11:57:28 PM UTCrik5StatusPatch Submitted=>In Progress
    Wed 03 Jan 2018 08:25:25 PM UTCpantxoAttached File-=>Added pickableparts2.patch, #42814
      StatusNone=>Patch Submitted
    Wed 03 Jan 2018 02:35:42 PM UTCpantxoAttached File-=>Added pickableparts.patch, #42806

    Back to the top

    Powered by Savane 3.1-cleanup1