From 2a9cd3d33877f2490550c2de08452eac220a131c Mon Sep 17 00:00:00 2001 From: Eduardo Davila Date: Wed, 29 Apr 2009 15:24:21 +0000 Subject: [PATCH] BUG mac image selection --- src2/creaImageIOTimestampDatabaseHandler.cpp | 4 +- src2/creaImageIOWxGimmickView.cpp | 3 +- src2/creaImageIOWxTreeView.cpp | 44 +++++++++++++++----- 3 files changed, 36 insertions(+), 15 deletions(-) diff --git a/src2/creaImageIOTimestampDatabaseHandler.cpp b/src2/creaImageIOTimestampDatabaseHandler.cpp index a05bc26..be586d8 100644 --- a/src2/creaImageIOTimestampDatabaseHandler.cpp +++ b/src2/creaImageIOTimestampDatabaseHandler.cpp @@ -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); } diff --git a/src2/creaImageIOWxGimmickView.cpp b/src2/creaImageIOWxGimmickView.cpp index 1e39a55..646782c 100644 --- a/src2/creaImageIOWxGimmickView.cpp +++ b/src2/creaImageIOWxGimmickView.cpp @@ -466,8 +466,7 @@ namespace creaImageIO mSelectionMaxDimension ); } } - - mText->SetLabel(crea::std2wx(GetMessage())); + mText->SetLabel(crea::std2wx(GetMessage())); /*if(valid) { ReadImageThreaded(sel); diff --git a/src2/creaImageIOWxTreeView.cpp b/src2/creaImageIOWxTreeView.cpp index 9746016..867a192 100644 --- a/src2/creaImageIOWxTreeView.cpp +++ b/src2/creaImageIOWxTreeView.cpp @@ -263,16 +263,39 @@ namespace creaImageIO // the selection of upper level std::vector& 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::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; iGetItemState(i,wxLIST_STATE_SELECTED)<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"<