+/*
+ # ---------------------------------------------------------------------
+ #
+ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+ # pour la SantÈ)
+ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+ # Previous Authors : Laurent Guigues, Jean-Pierre Roux
+ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+ #
+ # This software is governed by the CeCILL-B license under French law and
+ # abiding by the rules of distribution of free software. You can use,
+ # modify and/ or redistribute the software under the terms of the CeCILL-B
+ # license as circulated by CEA, CNRS and INRIA at the following URL
+ # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+ # or in the file LICENSE.txt.
+ #
+ # As a counterpart to the access to the source code and rights to copy,
+ # modify and redistribute granted by the license, users are provided only
+ # with a limited warranty and the software's author, the holder of the
+ # economic rights, and the successive licensors have only limited
+ # liability.
+ #
+ # The fact that you are presently reading this means that you have had
+ # knowledge of the CeCILL-B license and that you accept its terms.
+ # ------------------------------------------------------------------------ */
+
+
/*=========================================================================
Program: bbtk
Module: $RCSfile: bbtkWxGUIPackageBrowser2.cxx,v $
Language: C++
- Date: $Date: 2012/05/23 13:59:56 $
- Version: $Revision: 1.25 $
+ Date: $Date: 2012/11/16 08:49:01 $
+ Version: $Revision: 1.27 $
=========================================================================*/
-/* ---------------------------------------------------------------------
-
-* Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale)
-* Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux
-*
-* This software is governed by the CeCILL-B license under French law and
-* abiding by the rules of distribution of free software. You can use,
-* modify and/ or redistribute the software under the terms of the CeCILL-B
-* license as circulated by CEA, CNRS and INRIA at the following URL
-* http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
-* or in the file LICENSE.txt.
-*
-* As a counterpart to the access to the source code and rights to copy,
-* modify and redistribute granted by the license, users are provided only
-* with a limited warranty and the software's author, the holder of the
-* economic rights, and the successive licensors have only limited
-* liability.
-*
-* The fact that you are presently reading this means that you have had
-* knowledge of the CeCILL-B license and that you accept its terms.
-* ------------------------------------------------------------------------ */
+
/* \brief Short description in one line
*
EVT_RIGHT_DOWN(WxGUIBlackBoxList::OnRightClick)
END_EVENT_TABLE()
- int wxCALLBACK MyCompareFunction(long item1, long item2, long WXUNUSED(sortData))
- {
+int wxCALLBACK MyCompareFunction(long item1, long item2, long WXUNUSED(sortData))
+{
// inverse the order
if (item1 < item2)
- return -1;
+ {
+ return -1;
+ }
if (item1 > item2)
- return 1;
-
+ {
+ return 1;
+ }
return 0;
- }
+}
// WxGUIBlackBoxList
WxGUIBlackBoxList::WxGUIBlackBoxList(wxWindow *parent,
EnableContextMenu();
#endif
}
-
+
void WxGUIBlackBoxList::Insert(BlackBoxDescriptor::Pointer d)
{
if (GetColumnCount()!=3)
{
InsertColumn( 0, _("Package"),
- wxLIST_FORMAT_LEFT, 60 );
+ wxLIST_FORMAT_LEFT, 90 );
InsertColumn( 1, _("Box"),
- wxLIST_FORMAT_LEFT, 200 );
+ wxLIST_FORMAT_LEFT, 150 );
InsertColumn( 2, _("Description"),
wxLIST_FORMAT_LEFT, 500 );
}
*/
}
+
void WxGUIBlackBoxList::OnCacheHint(wxListEvent& event)
{
BlackBoxDescriptor* d = (BlackBoxDescriptor*)(info.GetData());
if (d!=0)
{
- sendtext += crea::std2wx(d->GetFullTypeName());
+ //DFGO -> To identify it is a box
+ sendtext += crea::std2wx("box:");
+ sendtext += crea::std2wx(d->GetFullTypeName());
+ sendtext += _T("<EndEED>");
+ printf("EED WxGUIBlackBoxList::OnBeginDrag <%s>%d <%s>%d\n",
+ (const char*)sendtext.mb_str(),sendtext.Len() , d->GetFullTypeName().c_str() , d->GetFullTypeName().length() );
}
- }
- else
- {
+ } else {
wxFAIL_MSG(wxT("wxListCtrl::GetItem() failed"));
}
wxTextDataObject tdo(sendtext);
+ printf("EED WxGUIBlackBoxList::OnBeginDrag <%s>\n",(const char*) tdo.GetText().mb_str() );
+
wxDropSource tds(tdo, this);
- tds.DoDragDrop();
+ tds.DoDragDrop( );
// const wxPoint& pt = event.m_pointDrag;
//================================================================
WxGUIBlackBoxInfo::WxGUIBlackBoxInfo(wxWindow* parent)
:
+// wxPanel(parent, -1,wxDefaultPosition, wxDefaultSize, wxFULL_REPAINT_ON_RESIZE),
wxPanel(parent, -1),
mDescriptor()
{
mCategory = new wxStaticText(this,-1,_T(""));
sizer->Add(mCategory,0,wxGROW);
- wxBoxSizer *inputs =
- new wxStaticBoxSizer
- ( new wxStaticBox(this, wxID_ANY, _T("Inputs")), wxVERTICAL );
+ wxBoxSizer *inputs = new wxStaticBoxSizer ( new wxStaticBox(this, wxID_ANY, _T("Inputs")), wxVERTICAL );
mInputList = new wxListCtrl(this, -1,
wxDefaultPosition,
wxDefaultSize,
inputs->Add(mInputList,1,wxGROW);
sizer->Add(inputs,1,wxGROW);
- wxBoxSizer *outputs =
- new wxStaticBoxSizer
- ( new wxStaticBox(this, wxID_ANY, _T("Outputs")), wxVERTICAL );
+ wxBoxSizer *outputs = new wxStaticBoxSizer ( new wxStaticBox(this, wxID_ANY, _T("Outputs")), wxVERTICAL );
mOutputList = new wxListCtrl(this, -1,
wxDefaultPosition,
wxDefaultSize,
wxLC_REPORT //wxLC_LIST
- | wxSUNKEN_BORDER);
+ | wxBORDER_SUNKEN);
+// | wxFULL_REPAINT_ON_RESIZE | wxVSCROLL);
outputs->Add(mOutputList,1,wxGROW);
sizer->Add(outputs,1,wxGROW);
SetSizer(sizer);
+// sizer->FitInside(this);
+ Connect( this->GetId(), wxEVT_ERASE_BACKGROUND , (wxObjectEventFunction) (void (WxGUIBlackBoxInfo::*)(wxEvent&)) &WxGUIBlackBoxInfo::OnEraseBackGround );
+
+
SetAutoLayout(true);
Layout();
}
//================================================================
+
+ void WxGUIBlackBoxInfo::OnEraseBackGround( wxEvent& )
+ {
+ mInputList->ClearBackground();
+ mOutputList->ClearBackground();
+ }
+
+
//================================================================
void WxGUIBlackBoxInfo::UpdateInfo(BlackBoxDescriptor* descr)
id_fc3
};
+ //================================================================
+ void WxGUIPackageBrowser2::OnEraseBackGround( wxEvent& )
+ {
+ mBoxList->ClearBackground();
+ ClearBackground();
+ Refresh();
+// Update();
+ }
+ //================================================================
+
+
//================================================================
WxGUIPackageBrowser2::WxGUIPackageBrowser2( wxWindow *parent,
WxGUIPackageBrowser2User* user )
wxLC_REPORT //wxLC_LIST
| wxSUNKEN_BORDER);
mBoxList->SetUser(this);
- mBoxList->SetBackgroundColour(*wxWHITE);
+ Connect( GetId(), wxEVT_SIZE , (wxObjectEventFunction) (void (WxGUIPackageBrowser2::*)(wxEvent&)) &WxGUIPackageBrowser2::OnEraseBackGround );
// JGRR & CM DISABLED CLOSE BUTTON
m_mgr.AddPane(mBoxList,
.MinimizeButton(true)
.MaximizeButton(true)
.Bottom()
- .MinSize(wxSize(100,300))
+ .MinSize(wxSize(100,200))
.CloseButton(false)
);
.Caption(wxT("Filter"))
.MinimizeButton(true)
.MaximizeButton(true)
- .Right()
+ .Left()
.MinSize(wxSize(100,100))
.CloseButton(false)
);
Layout();
}
- //================================================================
+
+ //================================================================
Factory::Pointer WxGUIPackageBrowser2::GetFactory()
{
return mFactory;
//================================================================
void WxGUIPackageBrowser2::RebuildList()
{
- mBoxList->Hide();
+// mBoxList->Hide();
mBoxList->ClearAll();
-
+ mBoxList->ClearBackground();
const Factory::PackageMapType& M = mFactory->GetPackageMap();
Factory::PackageMapType::const_iterator i;
for (i=M.begin();i!=M.end();++i)