]> Creatis software - creaImageIO.git/blobdiff - src/creaImageIOWxTreeView.cpp
#3218 creaImageIO Feature New Normal - vtk8itk4wx3-mingw64
[creaImageIO.git] / src / creaImageIOWxTreeView.cpp
index 3a1c04e603fc9f3d747c392f15cbe28b35601633..6d43dda4a73d6f6ce6ec5abdd4dfc00b728ab54f 100644 (file)
@@ -51,6 +51,7 @@ int wxCALLBACK CompareFunctionStrings(long item1, long item2, long sortData)
 
   const std::string& s1(*(data1->attr));
   const std::string& s2(*(data2->attr));
+  
   if(sortData==1)
     {
       // inverse the order
@@ -125,104 +126,91 @@ namespace creaImageIO
     : wxPanel(parent,id),
       TreeView(handler, gimmick)
   {
-    GimmickDebugMessage(1,"WxTreeView::WxTreeView"
-                       <<std::endl);
+    GimmickDebugMessage(1,"WxTreeView::WxTreeView"<<std::endl);
 
-    
     // Split part below toolbar into notebook for views and panel
     // for preview, messages...
     // TO DO : Splitter
     //    mSplitter = new wxSplitterWindow( this , -1);
 
     // Global sizer
-    msizer = new wxBoxSizer(wxHORIZONTAL);
-    
-    int ctrl_style = wxLC_REPORT | wxLC_VRULES;
-    int col_style = wxLIST_FORMAT_LEFT;
-
+    msizer                     = new wxBoxSizer(wxHORIZONTAL);    
+    int ctrl_style     = wxLC_REPORT | wxLC_VRULES;
+    int col_style      = wxLIST_FORMAT_LEFT;
     // Creating the ListCtrl for the levels > 0 (not for Root level)
-    for (int i = 0;
-        i < handler->GetTree().GetNumberOfLevels() -1;
-        ++i)
-      {
-       GimmickDebugMessage(5,"Creating view for level "<<i
-                           <<std::endl);
-       LevelType level;
-       level.SelectedUpToDate = true;
-       level.SortColumn = 0;
-
-       // If the first level : parent = this
-       wxWindow* sparent = this;
-       // else parent = last splitter
-       if (i>0) 
-               sparent = mLevelList[i-1].wxSplitter;
-
-       level.wxSplitter = new wxSplitterWindow( sparent , -1);
-       if(i!=0)
-       {
-       level.wxSplitter->Show(false);
-       }
-       //          level.wxSplitter->SetMinimumPaneSize(100);
-       
-       wxListCtrl* ctrl = new wxListCtrl(level.wxSplitter,
-                                         i,
-                                         wxDefaultPosition, 
-                                         wxDefaultSize,
-                                         ctrl_style);
-       level.wxCtrl = ctrl;
-       level.wxSplitter->Initialize(ctrl);
-   
-       // Create the columns : one for each attribute of the level
-       int col = 0;
-       std::string title;
-
-       tree::LevelDescriptor::AttributeDescriptorListType::const_iterator a;
-       for (a  = handler->GetTree().GetAttributeDescriptorList(i+1).begin();
-            a != handler->GetTree().GetAttributeDescriptorList(i+1).end();
-            ++a)
-
-{
-       
-           GimmickDebugMessage(5,"Creating column "<<col<<" : "
-                               <<a->GetName()
-                               <<std::endl);
-           
-           if(a->GetFlags()!=creaImageIO::tree::AttributeDescriptor::PRIVATE)
-             {
-               
-               if(a->GetName()=="UNKNOWN")
-                 {
-                   title = "#";
-                   title += handler->GetTree().GetLevelDescriptor(i+1).GetName();
-                   if (title[title.size()-1]!='s')
-                     title += "s";
-                   
-                 }
-               else
-                 {
-                   title=a->GetName();
-                 }
-                 std::string temp = a->GetKey();
-                 if (temp.compare("ID") != 0)
-                 {
+    for (int i = 0;i < handler->GetTree().GetNumberOfLevels() -1; ++i)
+    {
+               GimmickDebugMessage(5,"Creating view for level "<<i <<std::endl);
+               LevelType level;
+               level.SelectedUpToDate  = true;
+               level.SortColumn                = 0;
+
+               // If the first level : parent = this
+               wxWindow* sparent               = this;
+               // else parent = last splitter
+               if (i>0) 
+               {
+                       sparent = mLevelList[i-1].wxSplitter;
+               } // if
+               level.wxSplitter = new wxSplitterWindow( sparent , -1);
+               if(i!=0)
+               {
+                       level.wxSplitter->Show(false);
+               } // if
+               //          level.wxSplitter->SetMinimumPaneSize(100);
                
-               ctrl->InsertColumn(col, 
-                                  crea::std2wx(title),
-                                  col_style);
-               col++;
-                 }
-               level.key.push_back(a->GetKey());
-             }
+               wxListCtrl* ctrl = new wxListCtrl(level.wxSplitter,
                
-         }
-         
-       mLevelList.push_back(level);
-      }
+// EED1 2018-08-16
+//                                               i,
+                                                 wxID_ANY,
+                                                  
+                                                 wxDefaultPosition, 
+                                                 wxDefaultSize,
+                                                 ctrl_style);
+               level.wxCtrl = ctrl;
+               level.wxSplitter->Initialize(ctrl);
+          
+               // Create the columns : one for each attribute of the level
+               int col = 0;
+               std::string title;
+
+               tree::LevelDescriptor::AttributeDescriptorListType::const_iterator a;
+               for (a  = handler->GetTree().GetAttributeDescriptorList(i+1).begin();
+                        a != handler->GetTree().GetAttributeDescriptorList(i+1).end();
+                        ++a)
+               {
+                       GimmickDebugMessage(5,"Creating column "<<col<<" : " <<a->GetName() <<std::endl);       
+                       if(a->GetFlags()!=creaImageIO::tree::AttributeDescriptor::PRIVATE)
+                       {
+                               if(a->GetName()=="UNKNOWN")
+                               {
+                                       title = "#";
+                                       title += handler->GetTree().GetLevelDescriptor(i+1).GetName();
+                                       if (title[title.size()-1]!='s')
+                                       {               
+                                               title += "s";
+                                       } // if
+                               } else {
+                                       title=a->GetName();
+                               } // if a
+                               std::string temp = a->GetKey();
+                               if (temp.compare("ID") != 0)
+                               {               
+                                       ctrl->InsertColumn(col,crea::std2wx(title),col_style);
+                                       col++;
+                               } // if temp
+                                       level.key.push_back(a->GetKey());
+                       } // if
+                       
+               } // for a  
+               mLevelList.push_back(level);
+      } //  for i
     
 #if wxUSE_MENUS
 
         // Column Menu
-    menu =new wxMenu;
+    menu =new wxMenu();
        wxMenuItem* m1=menu->Append(wxID_ANY, _T("&Sort ascending"));
        wxMenuItem* m2=menu->Append(wxID_ANY, _T("&Sort descending"));
        wxMenuItem* m3=menu->Append(wxID_ANY, _T("&Filter"));
@@ -235,20 +223,18 @@ namespace creaImageIO
 
 
        ////SubMenuItem EXPORT
-       subExportMenu = new wxMenu;
+       subExportMenu = new wxMenu();
        wxMenuItem *subExp1 = subExportMenu->Append(wxID_ANY, _T("&Export to Storage"));
        Connect( subExp1->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WxTreeView::OnExportToStorage) );
 
        //ItemMenu
-       menuItem =new wxMenu;
-
+       menuItem =new wxMenu();
 
        wxMenuItem* m2Item=menuItem->Append(wxID_ANY, _T("&Local Copy"));
        wxMenuItem* m3Item=menuItem->Append(wxID_ANY, _T("&Edit Fields"));
        wxMenuItem* m4Item=menuItem->Append(wxID_ANY, _T("&Display Dicom Tags"));
        menuItem->AppendSubMenu(subExportMenu, wxT("&Export"));
 
-
        wxMenuItem* m1Item=menuItem->Append(wxID_ANY, _T("&Anonymize"));
        mAnonymizingID=m1Item->GetId();
        Connect( mAnonymizingID, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WxTreeView::OnAnonymizer) );
@@ -257,21 +243,18 @@ namespace creaImageIO
        mEditFieldID=m3Item->GetId();
        mDumpID=m4Item->GetId();
        
-       
        Connect( mLocalCopyID, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WxTreeView::OnLocalCopy) );
        Connect( mEditFieldID, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WxTreeView::OnEditField) );
        Connect( mDumpID, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(WxTreeView::OnDumpTags) );
        
-
-       
 #endif // wxUSE_MENUS
        /// Initialize the first level splitter
          
        msizer->Add( mLevelList[0].wxSplitter ,1, wxGROW  ,0);
-       //      mColumnSelected=1;
-       mLastSelected=0;
-       mLastLevel=0;
-       //      mDirection=true;
+       //      mColumnSelected = 1;
+       mLastSelected           = 0;
+       mLastLevel                      = 0;
+       //      mDirection              = true;
 
        mIgnoreSelectedChanged = false;
 
@@ -281,7 +264,6 @@ namespace creaImageIO
     SetSizer( msizer );     
     SetAutoLayout(true);
     Layout();
-
   }
   //=====================================================================
 
@@ -289,61 +271,47 @@ namespace creaImageIO
   /// Destructor
   WxTreeView::~WxTreeView()
   {
-    GimmickDebugMessage(1,"WxTreeView::~WxTreeView"
-                       <<std::endl);
+    GimmickDebugMessage(1,"WxTreeView::~WxTreeView"<<std::endl);
        delete menu;
        delete menuItem;
-
   }
   //=====================================================================
   
-  
-  
   //=====================================================================
   const std::vector<tree::Node*>& WxTreeView::GetSelected(int level)
   {
-printf("EED WxTreeView::GetSelected Start\n");   
-         
          std::vector<tree::Node*>& sel = mLevelList[0].Selected;
     //  if (GetSelectedUpToDate(level)) 
     int l = level - 1;
     // the selection of upper level
-printf("EED WxTreeView::GetSelected 1\n");       
        if(mLevelList.size() == level -1)
        {
                sel = mLevelList.back().Selected;
        } else {
                sel=  mLevelList[l].Selected;
        }
-printf("EED WxTreeView::GetSelected 2\n");       
        if (sel.size() > 0)
        {
                sel.clear();
        }
-printf("EED WxTreeView::GetSelected 3\n");       
        if (level == 1) 
     {
-printf("EED WxTreeView::GetSelected 4\n");       
-               sel.push_back(GetTreeHandler()->GetTree().GetTree());
-    } else if (level < mLevelList.size()+2 )  
-       {
-printf("EED WxTreeView::GetSelected 5\n");       
+               sel.push_back( GetTreeHandler()->GetTree().GetTree() );
+    } else if (level < mLevelList.size()+2 ) {
                long item = -1;
                for ( ;; )
                {
-printf("EED WxTreeView::GetSelected 5.1\n");     
-                       item = GetCtrl(l-1)->GetNextItem(item,
+               item = GetCtrl(l-1)->GetNextItem(item,
                                                                                 wxLIST_NEXT_ALL,
                                                                                 wxLIST_STATE_SELECTED);
-printf("EED WxTreeView::GetSelected 5.2\n");     
                        if ( item == -1 )
                        {
-printf("EED WxTreeView::GetSelected 5.3\n");     
                                break;
                        }
-                       long adr = (long)GetCtrl(l-1)->GetItemData(item);
-printf("EED WxTreeView::GetSelected 5.4\n");     
-                       tree::Node* n = ((ItemData*)adr)->node;
+//                     long adr = (long)GetCtrl(l-1)->GetItemData(item);
+                       ItemData* adr = (ItemData*)GetCtrl(l-1)->GetItemData(item);
+//                     tree::Node* n = ((ItemData*)adr)->node;
+                       tree::Node* n = adr->node;
                        /* FCY 18-04-2011: don't understand the real purpose of these lines,
                         if uncomment add last frame in first place 
                                if(mLastSelected==item)
@@ -354,7 +322,6 @@ printf("EED WxTreeView::GetSelected 5.4\n");
                        }
                        else
                        {*/     
-printf("EED WxTreeView::GetSelected 6\n");       
                                sel.push_back(n);
                        //}                     
                        
@@ -385,7 +352,6 @@ printf("EED WxTreeView::GetSelected 6\n");
        }   
         
     //    return mLevelList[level-1].Selected;
-printf("EED WxTreeView::GetSelected End\n");     
     return sel;
   }
 
@@ -404,7 +370,6 @@ printf("EED WxTreeView::GetSelected End\n");
        // if no selection, no remove action.
     if(sel.size() != 0)
        {
-       
            std::stringstream out;
            std::string levelName=GetTreeHandler()->GetTree().GetLevelDescriptor(mLastLevel).GetName();
            out<<"Delete ";
@@ -474,7 +439,6 @@ printf("EED WxTreeView::GetSelected End\n");
   /// Updates a level of the view (adds or removes children, etc.)
   void WxTreeView::UpdateLevel( int level )
   {
-printf("EED WxTreeView::UpdateLevel Start\n "); 
        GimmickDebugMessage(1,
                        GetTreeHandler()->GetTree().GetLabel()
                        <<"WxTreeView::UpdateLevel(level "
@@ -483,26 +447,19 @@ printf("EED WxTreeView::UpdateLevel Start\n ");
                        <<std::endl);
     
     wxBusyCursor busy;
-printf("EED WxTreeView::UpdateLevel 1\n "); 
     RecursiveUpdateLevel(level);
-printf("EED WxTreeView::UpdateLevel 2\n "); 
     int i;
     for (i=0; i<level-1; i++)
     {
-printf("EED WxTreeView::UpdateLevel 3\n "); 
                if (!GetSplitter(i)->IsSplit()) 
                { 
-printf("EED WxTreeView::UpdateLevel 4\n "); 
                        GetSplitter(i)->SplitVertically(  GetCtrl(i), GetSplitter(i+1),100 );
                } // if
       } // for
-printf("EED WxTreeView::UpdateLevel 5\n "); 
     if (GetSplitter(i)->IsSplit()) 
        { 
-printf("EED WxTreeView::UpdateLevel 6\n "); 
                GetSplitter(i)->Unsplit(); 
        }
-printf("EED WxTreeView::UpdateLevel End\n "); 
     
   }
   //=====================================================================
@@ -511,33 +468,24 @@ printf("EED WxTreeView::UpdateLevel End\n ");
   /// Recursive method called upon by UpdateLevel to refresh all windows
   void WxTreeView::RecursiveUpdateLevel( int level )
   {
-printf("EED WxTreeView::RecursiveUpdateLevel Start\n");          
     GimmickDebugMessage(1,
                        GetTreeHandler()->GetTree().GetLabel()
                        <<"WxTreeView::RecursiveUpdateLevel(level "
                        <<level
                        <<")"<<std::endl);
     
-printf("EED WxTreeView::RecursiveUpdateLevel 0.1\n");    
-    
+    int l = level - 1; 
     const std::vector<tree::Node*>& sel(GetSelected(level));
     
-printf("EED WxTreeView::RecursiveUpdateLevel 0.2\n");    
-    int l = level - 1;
-printf("EED WxTreeView::RecursiveUpdateLevel 0.3\n");    
     
     // to speed up inserting we hide the control temporarily
     GetCtrl(l)->Hide();
-printf("EED WxTreeView::RecursiveUpdateLevel 0.4\n");    
     GetCtrl(l)->DeleteAllItems();
     
-printf("EED WxTreeView::RecursiveUpdateLevel 0.5\n");    
     std::vector<tree::Node*>::const_iterator i;
-printf("EED WxTreeView::RecursiveUpdateLevel 1\n");      
     
     for (i=sel.begin(); i!=sel.end(); ++i)
     {
-printf("EED WxTreeView::RecursiveUpdateLevel 2\n");      
        GimmickDebugMessage(1,
                            "adding children of '"
                            <<(*i)->GetLabel()
@@ -553,7 +501,6 @@ printf("EED WxTreeView::RecursiveUpdateLevel 2\n");
             j!= (*i)->GetChildrenList().rend(); 
             ++j)
          {
-printf("EED WxTreeView::RecursiveUpdateLevel 3\n");      
            GimmickDebugMessage(1,
                                "adding children "
                                <<(*j)->GetLabel()
@@ -569,9 +516,9 @@ printf("EED WxTreeView::RecursiveUpdateLevel 3\n");
                         wxLIST_MASK_FORMAT
                         );
            
-               ItemData* data = new ItemData();
-           data->node = *j;
-           data->id = _id;
+               ItemData* data  = new ItemData();
+           data->node          = *j;
+           data->id            = _id;
                
            item.SetId(_id);
            item.SetData(data);
@@ -581,58 +528,55 @@ printf("EED WxTreeView::RecursiveUpdateLevel 3\n");
            
            //Setting attributes
            for (int k=0; k<GetCtrl(l)->GetColumnCount(); ++k)                          
-             {
-               std::string val;
-               //  Temporary correction : it works but no explanation about the problem FCY
-               
-               if(k==0 && level <3)
-               {
-                 val = (*j)->GetAttribute("NumberOfChildren");
-               } else {
-                 val = (*j)->GetAttribute(mLevelList[l].key[k]);
-               }
-printf("EED WxTreeView::RecursiveUpdateLevel 4\n");      
-               if(((*j)->GetAttributeDescriptor(mLevelList[l].key[k])).isDateEntry()) // Date
-                 {
-                   //                                    std::cout << "["<<val<< "]" << std::endl;
-                   std::string valtmp(val);
-                   try
-                     {
-                       boost::gregorian::date d1(boost::gregorian::from_undelimited_string(val));                                 
-                       val = to_iso_extended_string(d1);
-                     }
-                   catch (...)
-                     {
-                       val =  valtmp;
-                     }
-                   //                                    std::cout << "["<<val<< "]" << std::endl;     
-                 } else if(((*j)->GetAttributeDescriptor(mLevelList[l].key[k])).isTimeEntry()) // Time
-                 {
-                   if ((val.size()>6) && 
-                       (val != "" || val != " "))
-                     val = val.substr(0,2) + " : " 
-                       + val.substr(2,2) + " : " 
-                       + val.substr(4,2);
-                 } else {
-                   if (val.size()==0) val = "?";
-                 }
-printf("EED WxTreeView::RecursiveUpdateLevel 5\n");      
-               if (val.size()==0) val = "X";
-               item.SetText( crea::std2wx(val));
-               item.SetColumn(k);
+           {
+                       std::string val;
+                       //  Temporary correction : it works but no explanation about the problem FCY            
+                       if(k==0 && level <3)
+                       {
+                               val = (*j)->GetAttribute("NumberOfChildren");
+                       } else {
+                               val = (*j)->GetAttribute(mLevelList[l].key[k]);
+                       }
+                       if(((*j)->GetAttributeDescriptor(mLevelList[l].key[k])).isDateEntry()) // Date
+                       {
+                               //                                        std::cout << "["<<val<< "]" << std::endl;
+                               std::string valtmp(val);
+                               try
+                               {
+                                       boost::gregorian::date d1(boost::gregorian::from_undelimited_string(val));                                 
+                                       val = to_iso_extended_string(d1);
+                               } catch (...) {
+                                       val =  valtmp;
+                               }
+                               //                                        std::cout << "["<<val<< "]" << std::endl;     
+                       } else if(((*j)->GetAttributeDescriptor(mLevelList[l].key[k])).isTimeEntry()) // Time
+                       {
+                               if ((val.size()>6) && (val != "" || val != " "))
+                               {               
+                                       val = val.substr(0,2) + " : " + val.substr(2,2) + " : " + val.substr(4,2);
+                               }
+                       } else {
+                               if (val.size()==0)
+                               { 
+                                       val = "?";
+                               }
+                       } // if j
+                       if (val.size()==0)
+                       {
+                               val = "X";
+                       }
+                       item.SetText( crea::std2wx(val));
+                       item.SetColumn(k);
                  
-                 GetCtrl(l)->SetItem(item);
-                 }
+                       GetCtrl(l)->SetItem(item);
+               } // for k
                item.Clear();
            
-         }
-      }
-printf("EED WxTreeView::RecursiveUpdateLevel 6\n");      
+         } // for j
+      }  // for i
     
     SortLevel(l);
-printf("EED WxTreeView::RecursiveUpdateLevel 7\n");      
     GetCtrl(l)->Show();
-printf("EED WxTreeView::RecursiveUpdateLevel End\n");    
   }
   //=====================================================================
   
@@ -660,18 +604,14 @@ printf("EED WxTreeView::RecursiveUpdateLevel End\n");
   //================================================================
   void WxTreeView::OnItemSelected(wxListEvent& event)
   { 
-printf("EED  WxTreeView::OnItemSelected Start\n");       
     GimmickDebugMessage(1,GetTreeHandler()->GetTree().GetLabel()<<" WxTreeView::OnItemSelected"<<std::endl);
 
     if (mIgnoreSelectedChanged) 
     {
                GimmickDebugMessage(1, " mIgnoreSelectedChanged true: returning"<<std::endl);
-printf("EED  WxTreeView::OnItemSelected 0.1\n");         
                return;
     }
-    
-printf("EED  WxTreeView::OnItemSelected 1\n");   
-    
+        
     wxListItem info;
     info.m_itemId = event.m_itemIndex;
     mLastSelected = event.m_itemIndex;
@@ -685,25 +625,18 @@ printf("EED  WxTreeView::OnItemSelected 1\n");
        mLastLevel=level;
     GimmickDebugMessage(1," Level "<<level+1<<std::endl);
     
-printf("EED  WxTreeView::OnItemSelected 2 %d  %d  \n", level, mLevelList.size() );       
     // Update the children level (if selection not at last level)
     if (level<mLevelList.size()-1) 
     {  
-printf("EED  WxTreeView::OnItemSelected 2.0\n");         
                UpdateLevel( level + 2 ); 
                // Reset the viewer setting the default image
-printf("EED  WxTreeView::OnItemSelected 2.1\n");         
                GetGimmickView()->ClearSelection();
-printf("EED  WxTreeView::OnItemSelected 2.2\n");         
     }
-printf("EED  WxTreeView::OnItemSelected 3\n");   
     // Select all images if the selection is at series level
     if (level==mLevelList.size()-2) 
        {
-printf("EED  WxTreeView::OnItemSelected 4\n");   
                SelectAll(level+1);
        }
-printf("EED  WxTreeView::OnItemSelected 5\n");   
     // Validate selected images if the selection is at image level
     if (level==(mLevelList.size()-1)) //&&mProcess) 
     {
@@ -714,37 +647,30 @@ printf("EED  WxTreeView::OnItemSelected 5\n");
                  ValidateSelectedImages (false);
                }
     } // if
-printf("EED  WxTreeView::OnItemSelected End\n");
   }
   //================================================================
 
   //================================================================
   void WxTreeView::SelectAll(int level)
-  {
-printf("EED  WxTreeView::SelectAll Start\n");    
-         
+  {      
     long item = -1;
     //    int level=mLevelList.size()-1;
     for ( ;; )
-      {
-       item = GetCtrl(level)->GetNextItem(item,
-                                          wxLIST_NEXT_ALL);
-        if ( item == -1 )
-         break;
-       
-       if(item==(GetCtrl(level)->GetItemCount()-1))
-         {
-           mIgnoreSelectedChanged = false;//mProcess=true;
-         }
-       else
-         {
-           mIgnoreSelectedChanged = true;//    mProcess=false;
-         }
-       GetCtrl(level)->SetItemState(item,wxLIST_STATE_SELECTED, wxLIST_MASK_STATE 
-                                    | wxLIST_MASK_TEXT |wxLIST_MASK_IMAGE | wxLIST_MASK_DATA | wxLIST_MASK_WIDTH | wxLIST_MASK_FORMAT);
-      }
-printf("EED  WxTreeView::SelectAll End\n");      
-         
+    {
+               item = GetCtrl(level)->GetNextItem(item,wxLIST_NEXT_ALL);
+               if ( item == -1 )
+               {
+                       break;
+               }
+               if(item==(GetCtrl(level)->GetItemCount()-1))
+               {
+                       mIgnoreSelectedChanged = false;//mProcess=true;
+               } else {
+                       mIgnoreSelectedChanged = true;//        mProcess=false;
+               }
+               GetCtrl(level)->SetItemState(item,wxLIST_STATE_SELECTED, wxLIST_MASK_STATE 
+                                                | wxLIST_MASK_TEXT |wxLIST_MASK_IMAGE | wxLIST_MASK_DATA | wxLIST_MASK_WIDTH | wxLIST_MASK_FORMAT);
+    } // for
   }
 
   //================================================================
@@ -1001,7 +927,6 @@ printf("EED  WxTreeView::SelectAll End\n");
   //================================================================
   void WxTreeView::SortLevel(int level)
   { 
-printf("EED WxTreeView::SortLevel Start %d \n", level);
     GimmickDebugMessage(1,
                        "WxTreeView::SortLevel(" 
                        <<level<<")"
@@ -1042,13 +967,10 @@ printf("EED WxTreeView::SortLevel Start %d \n", level);
                        <<nbselected<<" selected before sorting"
                        <<std::endl);  
 
-printf("EED WxTreeView::SortLevel 1\n");
     mIgnoreSelectedChanged = true; 
     // 
     if (mLevelList[level].SortAscending)
     {
-printf("EED WxTreeView::SortLevel 2\n");
-       
                if(ty==1)
                {
                        GetCtrl(level)->SortItems(CompareFunctionInts, 0);
@@ -1064,8 +986,6 @@ printf("EED WxTreeView::SortLevel 2\n");
                } // if ty
     } //mLevelList
  
-printf("EED WxTreeView::SortLevel 3\n");
-
     // Reselects the unselected 
     n = GetCtrl(level)->GetItemCount();
     int after = 0;
@@ -1084,7 +1004,6 @@ printf("EED WxTreeView::SortLevel 3\n");
                
                if (data->selected)
                {
-printf("EED WxTreeView::SortLevel 4\n");
                        nbselected--;
                        if (nbselected==0)
                        {
@@ -1112,9 +1031,7 @@ printf("EED WxTreeView::SortLevel 4\n");
                        "WxTreeView::SortLevel : " 
                        <<after<<" selected after sorting"
                        <<std::endl);  
-  
-printf("EED WxTreeView::SortLevel End\n");
-  }
+    }
   //================================================================