-/*=========================================================================
+/*
+ # ---------------------------------------------------------------------
+ #
+ # 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.h,v $
Language: C++
- Date: $Date: 2010/03/25 15:24:50 $
- Version: $Revision: 1.7 $
+ Date: $Date: 2012/11/16 08:49:01 $
+ Version: $Revision: 1.10 $
=========================================================================*/
-/* ---------------------------------------------------------------------
-
-* 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
- *
- * Long description which
+ *
+ * Long description which
* can span multiple lines
*/
/**
- * \file
- * \brief
+ * \file
+ * \brief
*/
/**
* \class bbtk::
- * \brief
+ * \brief
*/
#ifdef _USE_WXWIDGETS_
-
+
#ifndef __bbtkWxGUIPackageBrowser2_h__
#define __bbtkWxGUIPackageBrowser2_h__
//================================================================
class WxGUIPackageBrowser2;
//================================================================
-
+
//================================================================
/// Abstract class which defines the callbacks invoked by WxGUIPackageBrowser2
};
//================================================================
-
+
//================================================================
class WxGUIBlackBoxInfo : public wxPanel
{
void UpdateInfo(BlackBoxDescriptor* descr);
void InsertInputOutput(wxListCtrl* l, BlackBoxInputOutputDescriptor* i);
+ void OnEraseBackGround( wxEvent& );
private:
BlackBoxDescriptor* mDescriptor;
wxStaticText* mName;
wxStaticText* mDescription;
wxStaticText* mAuthor;
wxStaticText* mCategory;
-
+
wxListCtrl* mInputList;
wxListCtrl* mOutputList;
} ;
//================================================================
-
+
//================================================================
class WxGUIBlackBoxListUser
{
public:
WxGUIBlackBoxListUser() {}
virtual ~WxGUIBlackBoxListUser() {}
-
- // User callback when a box is selected in the list
+
+ // User callback when a box is selected in the list
virtual void WxGUIBlackBoxListUserOnSelected( BlackBoxDescriptor* ) {}
};
//================================================================
// add one item to the listctrl in report mode
void Insert(BlackBoxDescriptor::Pointer d);
-
- //
+
+ //
void OnColClick(wxListEvent& event);
void OnColRightClick(wxListEvent& event);
void OnColBeginDrag(wxListEvent& event);
void OnActivated(wxListEvent& event);
void OnFocused(wxListEvent& event);
void OnCacheHint(wxListEvent& event);
-
void OnChar(wxKeyEvent& event);
#if USE_CONTEXT_MENU
virtual wxString OnGetItemText(long item, long column) const;
virtual int OnGetItemColumnImage(long item, long column) const;
virtual wxListItemAttr *OnGetItemAttr(long item) const;
-
+
WxGUIBlackBoxListUser* mUser;
wxListItemAttr m_attr;
public WxGUIBlackBoxListUser
{
public:
- WxGUIPackageBrowser2( wxWindow *parent,
+ WxGUIPackageBrowser2( wxWindow *parent,
WxGUIPackageBrowser2User* user = 0 );
~WxGUIPackageBrowser2();
bool IsVisible(BlackBoxDescriptor::Pointer d);
void OnFilter(wxCommandEvent&);
-
- // User callback when a box is selected in the list
+ void OnEraseBackGround( wxEvent& );
+
+ // User callback when a box is selected in the list
void WxGUIBlackBoxListUserOnSelected( BlackBoxDescriptor* );
-
- //RaC
+
+ //RaC
BlackBoxDescriptor* GetActualSelected();
+ Factory::Pointer GetFactory();
private:
- wxAuiManager m_mgr;
- WxGUIPackageBrowser2User* mUser;
- Interpreter::Pointer mInterpreter;
- Factory::Pointer mFactory;
- WxGUIBlackBoxList* mBoxList;
- WxGUIBlackBoxInfo* mBoxInfo;
-
- wxTextCtrl* mPackageFilter;
- wxTextCtrl* mNameFilter;
- wxTextCtrl* mDescriptionFilter;
- wxTextCtrl* mCategoryFilter;
- wxTextCtrl* mInputTypeFilter;
- wxTextCtrl* mOutputTypeFilter;
- wxTextCtrl* mInputNatureFilter;
- wxTextCtrl* mOutputNatureFilter;
-
- wxCheckBox* mShowWidgetsFilter;
- wxCheckBox* mShowAdaptorsFilter;
- wxCheckBox* mShowGUIsFilter;
+ wxAuiManager m_mgr;
+ WxGUIPackageBrowser2User* mUser;
+ Interpreter::Pointer mInterpreter;
+ Factory::Pointer mFactory;
+ WxGUIBlackBoxList* mBoxList;
+ WxGUIBlackBoxInfo* mBoxInfo;
+
+ wxTextCtrl *mPackageFilter;
+ wxTextCtrl *mNameFilter;
+ wxTextCtrl *mDescriptionFilter;
+ wxTextCtrl *mCategoryFilter;
+ wxTextCtrl *mInputTypeFilter;
+ wxTextCtrl *mOutputTypeFilter;
+ wxTextCtrl *mInputNatureFilter;
+ wxTextCtrl *mOutputNatureFilter;
+
+ wxCheckBox *mShowWidgetsFilter;
+ wxCheckBox *mShowAdaptorsFilter;
+ wxCheckBox *mShowGUIsFilter;
//RaC
- BlackBoxDescriptor *_actualSelected;
+ BlackBoxDescriptor *_actualSelected;
+
+ bool findnpos(const std::string &strA, const std::string &strB );
- DECLARE_EVENT_TABLE()
+ DECLARE_EVENT_TABLE()
};
//================================================================
-
+
//================================================================
- /// Browser2 in a frame
+ /// Browser2 in a frame
class BBTK_EXPORT WxGUIPackageBrowser2Window : public wxFrame
//, public WxGUICommandUser
{
private :
-
+
WxGUIPackageBrowser2* mBrowser;
+
};
//================================================================
-
+
} // namespace bbtk