https://bugzilla.novell.com/show_bug.cgi?id=363367


           Summary: TreeView plus/minus box fails with owner drawn
                    checkboxes
           Product: Mono: Class Libraries
           Version: 1.2.6
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: Windows.Forms
        AssignedTo: [email protected]
        ReportedBy: [EMAIL PROTECTED]
         QAContact: [email protected]
                CC: [EMAIL PROTECTED]
          Found By: ---


If you have an owner drawn checkbox the plus minus is treated as if it is where
the checkbox is located.

To reproduce:
1. Create a TreeView
2. Set CheckBoxes = false
3. Create an ImageList with 2 images
4. Set TreeView.StateImageList to the ImageList created above
5. Create some nodes with children and set the StateImageIndex to 0 for each of
them
6. Run
7. Click on a plus/minus box next to a node.

(NOTE: see bug 363353 if the above setup causes an exception in Mono.)

Actual Result:
Clicking on plus/minus does nothing. However click the checkbox does
expand/collapse the tree.

Expectant Result:
Clicking on plus/minus expands/collapses tree. Click checkbox won't do anything
unless coded explicitly to do so.

Observation:
It is just detecting the plus/minus box at the wrong location. See the code
below from TreeView:

                private bool IsPlusMinusArea (TreeNode node, int x)
                {
                        ...
                        int l = node.Bounds.Left + 5;

                        if (show_root_lines || node.Parent != null)
                                l -= indent;
                        if (ImageList != null)
                                l -= ImageList.ImageSize.Width + 3;
*see here: >>>>>        if (checkboxes)
                                l -= 19;
                        return (x > l && x < l + 8);
                }

                *maybe should be "if (checkboxes || StateImageList !=null)


-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
_______________________________________________
mono-bugs maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to