Revision: 54468
          http://brlcad.svn.sourceforge.net/brlcad/?rev=54468&view=rev
Author:   bob1961
Date:     2013-02-22 12:28:10 +0000 (Fri, 22 Feb 2013)
Log Message:
-----------
Upgrade Archer's tree view to accommodate the hierarchy associated with the 
dsp, ebm, extrude, revolve and vol primitives.

Modified Paths:
--------------
    brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl

Modified: brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl
===================================================================
--- brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl   2013-02-22 11:32:54 UTC 
(rev 54467)
+++ brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl   2013-02-22 12:28:10 UTC 
(rev 54468)
@@ -3901,9 +3901,24 @@
     }
     fillTreeColumns $cnode $_ctext
 
-    if {!$_flat && $ctype == "comb"} {
-       set tree [getTreeFromGData $cgdata]
-       set mlist [getTreeMembers $tree]
+    if {!$_flat} {
+       set mlist ""
+       switch -- $ctype {
+           "comb" {
+               set tree [getTreeFromGData $cgdata]
+               set mlist [getTreeMembers $tree]
+           }
+           "dsp" -
+           "ebm" -
+           "vol" {
+               set mlist [$itk_component(ged) get $_ctext file]
+           }
+           "extrude" -
+           "revolve" {
+               set mlist [$itk_component(ged) get $_ctext sk_name]
+           }
+       }
+
        if {$mlist != ""} {
            removeTreeNodeTag $cnode $TREE_OPENED_TAG
            $itk_component(newtree) item $cnode -open false
@@ -4377,7 +4392,13 @@
     set cgdata [$itk_component(ged) get $ctext]
     set ctype [lindex $cgdata 0]
 
-    if {$ctype == "comb" && [info exists mPNode2CList($cnode)]} {
+    if {($ctype == "comb" ||
+        $ctype == "dsp" ||
+        $ctype == "ebm" ||
+        $ctype == "extrude" ||
+        $ctype == "revolve" ||
+        $ctype == "vol") &&
+       [info exists mPNode2CList($cnode)]} {
        # If this node has never been opened ...
        if {[addTreeNodeTag $cnode $TREE_OPENED_TAG]} {
            # Remove placeholder
@@ -4385,32 +4406,62 @@
            $itk_component(newtree) delete $placeholder
            unset mPNode2CList($cnode)
 
-           set tree [getTreeFromGData $cgdata]
-           foreach gctext [getTreeMembers $tree] {
-               if {[catch {$itk_component(ged) get $gctext} gcgdata]} {
-                   set op [getTreeOp $ctext $gctext]
-                   set img [getTreeImage $gctext "invalid" $op]
+           switch -- $ctype {
+               "comb" {
+                   set tree [getTreeFromGData $cgdata]
+                   foreach gctext [getTreeMembers $tree] {
+                       if {[catch {$itk_component(ged) get $gctext} gcgdata]} {
+                           set op [getTreeOp $ctext $gctext]
+                           set img [getTreeImage $gctext "invalid" $op]
 
+                           set gcnode [$itk_component(newtree) insert $cnode 
end \
+                                           -tags $TREE_POPUP_TAG \
+                                           -text $gctext \
+                                           -image $img]
+
+                           fillTreeColumns $gcnode $gctext
+
+                           lappend mText2Node($gctext) [list $gcnode $cnode]
+                           set mNode2Text($gcnode) $gctext
+                           lappend mPNode2CList($cnode) [list $gctext $gcnode]
+                           set mCNode2PList($gcnode) [list $ctext $cnode]
+
+                           continue
+                       }
+
+                       # Add gchild members
+                       if {$mEnableListView} {
+                           fillTree $cnode $gctext 1 1
+                       } else {
+                           fillTree $cnode $gctext 0 0
+                       }
+                   }
+               }
+               "dsp" -
+               "ebm" -
+               "vol" {
+                   set gctext [$itk_component(ged) get $ctext file]
                    set gcnode [$itk_component(newtree) insert $cnode end \
                                    -tags $TREE_POPUP_TAG \
                                    -text $gctext \
-                                   -image $img]
-
+                                   -image $mImage_other]
                    fillTreeColumns $gcnode $gctext
 
                    lappend mText2Node($gctext) [list $gcnode $cnode]
                    set mNode2Text($gcnode) $gctext
                    lappend mPNode2CList($cnode) [list $gctext $gcnode]
                    set mCNode2PList($gcnode) [list $ctext $cnode]
-
-                   continue
                }
+               "extrude" -
+               "revolve" {
+                   set gctext [$itk_component(ged) get $ctext sk_name]
 
-               # Add gchild members
-               if {$mEnableListView} {
-                   fillTree $cnode $gctext 1 1
-               } else {
-                   fillTree $cnode $gctext 0 0
+                   # Add gchild members
+                   if {$mEnableListView} {
+                       fillTree $cnode $gctext 1 1
+                   } else {
+                       fillTree $cnode $gctext 0 0
+                   }
                }
            }
        }

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to