]> Creatis software - creaImageIO.git/commitdiff
BUG mac image selection
authorEduardo Davila <Eduardo.Davila@creatis.insa-lyon.fr>
Wed, 29 Apr 2009 15:24:21 +0000 (15:24 +0000)
committerEduardo Davila <Eduardo.Davila@creatis.insa-lyon.fr>
Wed, 29 Apr 2009 15:24:21 +0000 (15:24 +0000)
src2/creaImageIOTimestampDatabaseHandler.cpp
src2/creaImageIOWxGimmickView.cpp
src2/creaImageIOWxTreeView.cpp

index a05bc260f9189fbbb309e1dd8a49838ab1e2cf0b..be586d8cdf5f924ac80e5792f1d6c724cca27259 100644 (file)
@@ -188,12 +188,12 @@ namespace creaImageIO
         do
      {
          pos = str.find('\\');
-         if (pos!=-1)  
+         if ((int)pos!=-1)  
                 {
                         str.replace(pos, 1, "/");
                 }
      }
-     while (pos!=-1);
+     while ((int)pos!=-1);
   }
 
 
index 1e39a5542e3b35f7668a9ee5c82ab4524480538f..646782cac0372c4152f63ee5c5ff95235789ad24 100644 (file)
@@ -466,8 +466,7 @@ namespace creaImageIO
                                mSelectionMaxDimension );
                }
        }
-       
-    mText->SetLabel(crea::std2wx(GetMessage()));
+       mText->SetLabel(crea::std2wx(GetMessage()));
     /*if(valid)
       {
        ReadImageThreaded(sel);
index 97460164e3126be0ee473543c6654c45fa3b390c..867a192275db6d2f713088267e1e911ba9e02686 100644 (file)
@@ -263,16 +263,39 @@ namespace creaImageIO
     // the selection of upper level
     std::vector<tree::Node*>& sel(mLevelList[level-1].Selected);
     sel.clear();
-
-    if (level == 1) 
+         if (level == 1) 
       {
        sel.push_back(GetTreeHandler()->GetTree().GetTree());
       }
     else if (level < 5) 
     {
-               int n = GetCtrl(l-1)->GetItemCount();
-               for (int i = 0; i < n; i++)
+               long item = -1;
+               for ( ;; )
+               {
+                       item = GetCtrl(l-1)->GetNextItem(item,
+                                                                                wxLIST_NEXT_ALL,
+                                                                                wxLIST_STATE_SELECTED);
+                       if ( item == -1 )
+                               break;
+                       long adr = GetCtrl(l-1)->GetItemData(item);
+                       tree::Node* n = ((ItemData*)adr)->node;
+                       if(mLastSelected==item)
+                       {
+                               std::vector<tree::Node*>::iterator it;
+                               it = sel.begin();
+                               it = sel.insert ( it , n );
+                       }
+                       else
+                       {
+                               
+                               sel.push_back(n);
+                       }                       
+                       
+               }
+               /*int n = GetCtrl(l-1)->GetItemCount();
+               for (int i = 0; i<n; i++)
                {
+                       std::cout<<GetCtrl(l-1)->GetItemState(i,wxLIST_STATE_SELECTED)<<std::endl;
                        if ( GetCtrl(l-1)->GetItemState(i,wxLIST_STATE_SELECTED))
                        {
                                long adr = GetCtrl(l-1)->GetItemData(i);
@@ -285,17 +308,16 @@ namespace creaImageIO
                                }
                                else
                                {
+                                       
                                        sel.push_back(n);
                                }
                        }
-             }
+             }*/
          }
        else
        {
                // NOTHING
-       }
-
-     
+       }   
         
     //    return mLevelList[level-1].Selected;
     return sel;
@@ -541,6 +563,7 @@ namespace creaImageIO
   //================================================================
   void WxTreeView::OnItemSelected(wxListEvent& event)
   { 
+         
     GimmickDebugMessage(1,
                        GetTreeHandler()->GetTree().GetLabel()
                        <<" WxTreeView::OnItemSelected"<<std::endl);
@@ -585,11 +608,11 @@ namespace creaImageIO
       {
        if(event.GetEventType()==wxEVT_COMMAND_LIST_ITEM_SELECTED)
          {
-           ValidateSelectedImages (true);
+                 ValidateSelectedImages (true);
          }
        else
          {
-           ValidateSelectedImages (false);
+                 ValidateSelectedImages (false);
          }
       }
     
@@ -649,7 +672,6 @@ namespace creaImageIO
     GimmickDebugMessage(7,
                        "WxTreeView::OnEndLabelEdit" 
                        <<std::endl);
-    wxObject* ctrl = event.GetEventObject(); 
     unsigned int level = 0;
     for (level = 0; level<mLevelList.size(); ++level)
       {