Opened 6 months ago

Closed 5 months ago

#352 closed bug (fixed)

NListtree subentries not autoindent

Reported by: Javier de las Rivas Owned by: Thore Böckelmann
Priority: normal Milestone: 5.0-2017R3
Component: foreign class Version: 5.0-2016R2
Severity: minor Keywords: NListtree
Cc: OS Platform: All
Blocked By: Blocking:
Release Notes:

Description

Summary

See pic attached, maybe is NListtree problem, but as I see it on the MUI prefs's NListtree example, maybe it's MUI prefs. The subentries aren't indented:
-amiga
misc
tech
amiga

IMO it should be/show something like:
-amiga

| misc
| tech
| amiga

Steps to reproduce

  1. Open MUI prefs
  2. Go to NListtree and expand nodes

Expected results

Actual results

Regression

Notes

Attachments (3)

FastView_T170609_001214.jpg (110.9 KB) - added by Javier de las Rivas 6 months ago.
NListtree expanden nodes not indented
NListtree_os3.lha (38.5 KB) - added by Thore Böckelmann 5 months ago.
NListtree.mcc fixed for virtual groups, AmigaOS3 build
NListtree_os4.lha (47.8 KB) - added by Thore Böckelmann 5 months ago.
NListtree.mcc fixed for virtual groups, AmigaOS4 build

Download all attachments as: .zip

Change History (11)

Changed 6 months ago by Javier de las Rivas

Attachment: FastView_T170609_001214.jpg added

NListtree expanden nodes not indented

comment:1 Changed 6 months ago by Thore Böckelmann

This is a known bug of NList(tree). It only occurs in virtual groups, like the MUI prefs pages. When placed in a normal group the tree is shown correctly.

Unfortunately the NList code is such an utterly convoluted and unmaintainable mess that it is next to impossible to fix this issue. I already tried to find the true cause for this graphical issue but did not succeed.

comment:2 Changed 6 months ago by Javier de las Rivas

ok, then.
Too much (re)work to create an nlisttree wrapper that uses listtree, so such NListtree can be removed (put to oblivion)?
THX for clarification.

comment:3 Changed 6 months ago by Thore Böckelmann

The problem is that NList + NListtree have dependencies, just like List + Listtree.

Simply turing NListtree into a wrapper around Listtree to a void the graphical issues might sound like an easy task. But I cannot tell the exact implications right now. There might be applications which rely on the specific features of NList/NListtree. A wrapper must simulate this special behaviour. Otherwise it might break the application.

I will nevertheless try to fix this issue directly in NList. Perhaps I can find a workaround to the virtual/non-virtual positioning.

comment:4 Changed 5 months ago by Thore Böckelmann

I finally found the cause and fixed this issue. NListtree was obtaining some image dimensions in a method which is not guaranteed to be called for objects in virtual groups and was the wrong method to obtain the dimension values anyway. Please try the attached binaries.

comment:5 Changed 5 months ago by Thore Böckelmann

Component: MUI prefs applicationforeign class
OS Platform: undefinedAll
Owner: set to Thore Böckelmann
Status: newassigned

Changed 5 months ago by Thore Böckelmann

Attachment: NListtree_os3.lha added

NListtree.mcc fixed for virtual groups, AmigaOS3 build

Changed 5 months ago by Thore Böckelmann

Attachment: NListtree_os4.lha added

NListtree.mcc fixed for virtual groups, AmigaOS4 build

comment:6 Changed 5 months ago by Thore Böckelmann

Keywords: NListtree added
Milestone: future release5.0-2017R3
Priority: undecidednormal

comment:7 Changed 5 months ago by Javier de las Rivas

YES!!! Tested OS4 version and now it indents ok.

THX THX THX for fixing such bug.

comment:8 Changed 5 months ago by Thore Böckelmann

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.