Changeset 48947f4 in tol for tolbase/lib/wtree/wtree.tcl


Ignore:
Timestamp:
Dec 15, 2011, 7:53:09 PM (15 years ago)
Author:
Jorge Pérez <josp.jorge@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
755cdff
Parents:
be70fb2
Message:

fixes #1363, if a node match the search criteria then this implies that every ancestor must be visibles

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@3934 be4846ae-f051-483a-831f-b64e7d08527f

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tolbase/lib/wtree/wtree.tcl

    rbe70fb2 r48947f4  
    501501  }
    502502 
     503  method _filterNodesMatching { } {
     504    if { [ llength $listFilterOff ] } {
     505      $tree item configure [ list list $listFilterOff ] -visible 0
     506      set listFilterOff [ list ]
     507    }
     508    if { [ llength $listFilterOn ] } {
     509      $tree item configure [ list list $listFilterOn ] -visible 1
     510      if { !$options(-table) } {
     511        foreach nid $listFilterOn {
     512          $tree item configure \
     513              [ list list [ $tree item ancestors $nid ] ] -visible 1
     514        }
     515      }
     516      set listFilterOn [ list ]
     517    }
     518  }
     519
    503520  method _filterNodeSet { nodes positiveWords negativeRegExp } {
    504521    #puts "filterNodeSet '$nodes' '$positiveWords'"
    … …  
    512529      }
    513530
     531      $self _filterNode $n $positiveWords $negativeRegExp
     532      # desciendo a los hijos
     533      $self _filterNodeSet [ $tree item children $n ] \
     534          $positiveWords $negativeRegExp
     535     
     536      if { 0 } {
    514537      if { [ $self _filterNode $n $positiveWords $negativeRegExp ] } {
    515538        # si el resultado es visible desciendo y filtro a los hijos
    … …  
    517540            $positiveWords $negativeRegExp
    518541      }
     542      }
    519543
    520544      # esto es para el filtrado automatico incremental
    … …  
    522546      if { !$breakFilter && !( $numItemsFiltered % 1000 ) } {
    523547        # refresco la cola de eventos
    524         if { [ llength $listFilterOn ] } {
    525           $tree item configure [ list list $listFilterOn ] -visible 1
    526           set listFilterOn [ list ]
    527         }
    528         if { [ llength $listFilterOff ] } {
    529           $tree item configure [ list list $listFilterOff ] -visible 0
    530           set listFilterOff [ list ]
    531         }
     548        $self _filterNodesMatching
    532549        update
    533550      }
    534551    }
    535     if { [ llength $listFilterOn ] } {
    536       $tree item configure [ list list $listFilterOn ] -visible 1
    537       set listFilterOn [ list ]
    538     }
    539     if { [ llength $listFilterOff ] } {
    540       $tree item configure [ list list $listFilterOff ] -visible 0
    541       set listFilterOff [ list ]
    542     }
     552    $self _filterNodesMatching
    543553    return 1
    544554  }
Note: See TracChangeset for help on using the changeset viewer.