| Tutorial 5: wfsSetParent 
          and wfsSetChild  Tutorial 5: wfsSetParent and wfsSetChild
If you check out scene 9 
          in the feature tour (the source code for which is in WFS48x.DIR in the 
          'samples' folder of your WFS documentation) you see that when you drop 
          blue window B on another blue window A, then A becomes the parent of 
          B. The source code is kind of complicated (though well-documented), but 
          that is only because there is logic that  
          checks to see what windows the blue window has been dropped on; 
          selects the highest window it has been dropped on that also has 
            the parent-switching logic associated with it (Maybe you drop a blue 
            window on a window that doesn't have the parent-switching logic associated 
            with it, ie, drop it on a window that isn't blue. Then you don't want 
            to switch the parent.);and then makes the result look like a tree. It's really this last 
            step that makes the source code relatively complex.  The point of scene 9 
          is actually much smaller than the code associated with it. Scene 9 
          was made to illustrate use of the wfsSetParent 
          handler and the wfsSetChild handler. 
          I got kind of carried away seeing if I could make a tree-control type 
          of thing. I would say that WFS is better suited for windowing than making 
          windows out of tree control elements. But even in windowing you sometimes 
          need to change parent-child relationships at run-time. The wfsSetParent handler lets you 
          set/change the parent of a multi-sprite at run-time. The wfsSetChild 
          handler lets you make a multi-sprite be a child of another multi-sprite. 
          Really, these two operations do the same thing. When you set the parent 
          of multi-sprite B to be multi-sprite A, that's the same thing as setting 
          multi-sprite B to be a child of multi-sprite A. Both of these handlers are defined in the "3: 
          Window Manager" and "Menu Manager" 
          behaviors. If you look at the HTML documentation of wfsSetParent 
          and wfsSetChild, you see that how 
          to call them and what they do is pretty well-documented. Check out the 
          diagrams in the wfsSetChild documentation. 
          Don't be intimidated by the relative complexity of the source code of 
          scene 9. 
          Changing the parent-child relationships between multi-sprites is very 
          simple, a one-liner, unless you want to create something like a tree 
          control type of thing in which case the bulk of the logic is in making 
          it look like a tree.   |