//=================================================
//=================================================
- void WxGimmickView::OnSelectionChange(std::vector<tree::Node*>& sel)
+ void WxGimmickView::OnSelectionChange(std::vector<tree::Node*>& sel, bool isSelection, int selection, bool needProcess)
{
GimmickDebugMessage(5,
"WxGimmickView::OnSelectionChange"
<<std::endl);
wxBusyCursor busy;
- bool valid = ValidateSelected(sel,
- mSelectionMinDimension,
- mSelectionMaxDimension );
+ bool valid=true;
+ if(sel.size()==0)
+ {
+ SetMessage("Cannot have 0 images selected!");
+ }
+ else if(needProcess)
+ {
+ ClearStatus();
+ std::vector<tree::Node*>::iterator i;
+ for(i=sel.begin();i!=sel.end()&&valid;++i)
+ {
+ valid= ValidateSelected((*i),
+ mSelectionMinDimension,
+ mSelectionMaxDimension );
+ }
+ }
+ else if(isSelection)
+ {
+ valid= ValidateSelected(sel.front(),
+ mSelectionMinDimension,
+ mSelectionMaxDimension );
+ }
+ else
+ {
+ ClearStatus();
+ std::vector<tree::Node*>::iterator i;
+ for(i=sel.begin();i!=sel.end()&&valid;++i)
+ {
+ valid= ValidateSelected((*i),
+ mSelectionMinDimension,
+ mSelectionMaxDimension );
+ }
+ }
+
mText->SetLabel(crea::std2wx(GetMessage()));
- if(valid)
+ /*if(valid)
{
ReadImageThreaded(sel);
}
else
{
ClearSelection();
- }
+ }*/
+ ReadImageThreaded(sel);
}
if (prio == maxprio) break;
}
}
+ else
+ {
+ pointers.clear();
+ ImagePointerHolder* ph=new ImagePointerHolder(GetDefaultImage());
+ pointers.push_back(ph);
+ mViewer->SetImageVector(pointers);
+ }
}
//==================================================
pointers.push_back(new ImagePointerHolder(GetDefaultImage()));
mViewer->SetImageVector(pointers);
mViewer->RefreshIfNecessary();
+ ClearStatus();
}
//=================================================