Changeset 67

Show
Ignore:
Timestamp:
11/24/06 16:52:57 (2 years ago)
Author:
t
Message:

simplified clicking code for toggle tree.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/FRII/ext/flek/Fl_Toggle_Tree.cc

    r10 r67  
    319319int Fl_Toggle_Tree::handle(int event) { 
    320320  //  printf("event: %d\n",event); 
    321   static Fl_Toggle_Node* prev = 0; 
    322321  switch (event) { 
    323322   case FL_ENTER: 
     
    334333     int cy; 
    335334     Fl_Toggle_Node* tnode = (Fl_Toggle_Node*) Fl_Toggle_Tree_Base::find(Fl::event_y(), depth, cy); 
    336      if (Fl::event_x() < x() + depth*16 + 16) { 
     335     if ((Fl::event_x() < x() + depth*16 + 16) || 1) { 
    337336       if (tnode->opened_) { 
    338337         current_ = tnode; 
     
    346345         open(tnode); 
    347346       } 
    348      } else { 
    349        if (Fl::event_state(FL_SHIFT)) { 
    350          if (prev == 0) prev = tnode; 
    351          select_range(prev, tnode, 1); 
    352          //current_ = 0; 
    353          state_ = FL_TOGGLE_SELECT; 
    354          do_callback(); 
    355        } else if (Fl::event_state(FL_CTRL)) { 
    356          //if (!tnode->selected_) 
    357          select_range(tnode, tnode, Fl::event_state(FL_CTRL)); 
    358          /* 
    359          else { 
    360            selection_current_ = NULL; 
    361            tnode->selected_ = 0; 
    362            tnode->changed_ = 1; 
    363            tnode = 0; 
    364          } 
    365          current_ = 0; 
    366          */ 
    367          state_ = FL_TOGGLE_SELECT; 
    368          do_callback(); 
    369        } else { 
    370          select_range(tnode, tnode, 0); 
    371          state_ = Fl::event_clicks() ? FL_TOGGLE_HIT : FL_TOGGLE_SELECT; 
    372          if (tnode == current_ && state_ == FL_TOGGLE_SELECT) { 
    373            state_ = FL_TOGGLE_RESELECT; 
    374           } 
    375           //current_ = tnode; 
    376           if (state_ == FL_TOGGLE_RESELECT && edit_on_reselect_) { 
    377             edit(tnode, x() + depth*16 + label_offset_, cy); 
    378           } 
    379           
    380          do_callback(); 
     347     } // else { 
     348       // select_range(tnode, tnode, 0); 
     349       state_ = Fl::event_clicks() ? FL_TOGGLE_HIT : FL_TOGGLE_SELECT; 
     350       if (tnode == current_ && state_ == FL_TOGGLE_SELECT) { 
     351         state_ = FL_TOGGLE_RESELECT; 
    381352       } 
    382        damaged_ = 0
    383        damage(FL_DAMAGE_CHILD)
    384        prev = tnode
    385      
     353       do_callback()
     354       //       damaged_ = 0
     355       // damage(FL_DAMAGE_CHILD)
     356       //     
    386357   } 
    387358   return 1;