Okay, after a re-write of the GUI_LIST object, a list can now have groups, a group containing individual list elements, with these list elements having child groups.
Notice that the FDC, ATA, and USB list elements, each have a child group listing of one or more elements each. Click on the minus sign to hide the children, shown in the window beneath it with a plus button to show these children again. i.e.: Collapse or Expand.
A group is completely independent of another group of elements so that more than one element can point to a single group, each child group shown (the same physical group of elements) updated when one is changed, so is the other listing shown.
The dotted lines I mentioned before are being drawn, the code is there (as shown below):
But they are not visible due to the fact that the placement of these lines is on the LIST object instead of the ELEMENT object and is not getting pushed to the "dirty" RECT. If I manually mark that RECT as dirty, the LIST object thinks its dirty and overwrites them anyway. This is shown below.
The pink area (added after the fact) is the LIST object, while the white areas are the ELEMENT objects within the list. I will need to "back peddle" the drawing of these dotted lines so that they remain visible.
However, now with the groups, the LIST object now knows when a group ends compared to my previous post where it did not.
Along with this, I noticed that I now need to write a little bit of code to make sure that I can only have one "application name" running at the same time. i.e.: Don't let the user have more than one of these apps open. Should be quite simple to implement, though I didn't think about it until I tried it. :-)
Ben
-
http://www.fysnet.net/osdesign_book_series.htm