#include "OpenImageDialog.h"
#include "vtkImageData.h"
+#include <structBCPSettings.h>
+#include <buttonContainerSettings.h>
+#include <creaPanelButtonContainer.h>
class MyApp:public wxApp
{
MyFrame *frame = new MyFrame(wxT("CREATIS basic"));
const int width = 600;
+
const int height = 250;
frame->SetSize(width,height);
-
+
frame->Show(true);
return true;
# ------------------------------------------------------------------------ */
#ADD_SUBDIRECTORY(ManualPaint)
-#ADD_SUBDIRECTORY(BasicViewer)
+##ADD_SUBDIRECTORY(BasicViewer)
IF(QT_USE_QTUITOOLS)
ADD_SUBDIRECTORY(QtVTKViewer)
//=====
void ColorLayerImageView::Process()
{
-
+
ColorLayerImageViewPanel *clivp = (ColorLayerImageViewPanel*)bbGetOutputWidget();
clivp->SetActive( bbGetInputActive() );
{
ButtonContainerSettings* settings = new ButtonContainerSettings( );
printf("EED PanelButtonContainer::Process %d\n", bbGetInputIn( ).size() );
-
-
settings->AddButtons(bbGetInputIn( ), bbGetInputType());
-
-
PBContainer* panel = new PBContainer( myPanel, settings, bbGetInputType() );
wxBoxSizer* sizer = new wxBoxSizer( wxHORIZONTAL );
sizer->Add( panel, 1, wxEXPAND, 0 );
this->myPanel = new wxPanel( parent, -1 );
/// \TODO fix warning: unused variable ww
wxWindow* ww = bbCreateWidgetOfInput( "In", this->myPanel );
- bbSetOutputWidget( myPanel);
-
+ ww=NULL;
+ bbSetOutputWidget( myPanel );
}
//=====
// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
_z2 = z2;
}
-
-
//----------------------------------------------------------------------------
int ColorLayerImageView::GetX() // virtual
{
}
// Grey level extrema are set by default to the image grey level extrema.
- int minTot = floor (_range[0]);
- int maxTot = ceil (_range[1]);
+ double minTot = _range[0];
+ double maxTot = _range[1];
- _grey_level_boundary.push_back((double)minTot);
+ _grey_level_boundary.push_back(minTot);
// By default, the histogram is split into BaseColorNb areas of equal width.
double delta = (maxTot - minTot)/GetBaseColorNb();
for (int i = 1; i <= GetBaseColorNb() ; i ++)
{
- _grey_level_boundary.push_back((double)minTot + i * delta);
- }
+ _grey_level_boundary.push_back(minTot + i * delta);
+ } // for
}
//----------------------------------------------------------------------------
_range[1]=255;
}
- int minTot = floor (_range[0]);
- int maxTot = ceil (_range[1]);
+ double minTot = floor (_range[0]);
+ double maxTot = ceil (_range[1]);
- _grey_level_boundary.push_back((double)minTot);
+ _grey_level_boundary.push_back(minTot);
// By default, the histogram is split into three areas of equal width.
double delta = (maxTot - minTot)/3.0;
_grey_level_boundary.push_back(minTot + delta);
_grey_level_boundary.push_back(minTot + 2*delta);
- _grey_level_boundary.push_back((double)maxTot);
+ _grey_level_boundary.push_back(maxTot);
}
//----------------------------------------------------------------------------
void ColorLayerImageView::ConfigLookupTable() // virtual
{
- // CM
+ // CM 2014
+ // EED 28/01/2015
+
// Grey level extrema retrieved from the image grey level extrema.
-
GetImage()->GetScalarRange(_range);
-
-
+ double minRange = _range[0];
+ double maxRange = _range[1];
// ------------------ Setting Default Values
// Checks the size consistency of vectors _base_color and _grey_level_boundary.
// In case of inconsistency, an exception should be thrown. Instead, the default values are set.
if (GetBaseColorNb() == 0)
- SetDefaultBaseColorAndGreyLevelBoundary();
-
- // If at least one color has been set, set the grey level boundaries to build an equipartition of the image grey levels, keeping the base colors defined.
- else
- if (GetBaseColorNb() != (_grey_level_boundary.size() - 1) )
+ {
+ SetDefaultBaseColorAndGreyLevelBoundary();
+ }
+ else { // If at least one color has been set, set the grey level boundaries to build an equipartition of the image grey levels, keeping the base colors defined.
+ if (GetBaseColorNb() != ((int)_grey_level_boundary.size() - 1) )
{
- std::cout << "CM ColorLayerImageView::ConfigLookupTable : ERROR!!! Inconsistency between the sizes of vectors _base_color and _grey_level_boundary. _base_color.size()/3 (=" <<_base_color.size()/3 << ") should be equal to _grey_level_boundary.size() - 1 (=" << _grey_level_boundary.size() - 1 << ")." << std::endl;
- std::cout << "CM The default values for the base colors and the grey level boundaries will be set." << std::endl;
- SetDefaultGreyLevelBoundary();
+ std::cout << "CM ColorLayerImageView::ConfigLookupTable : ERROR!!! Inconsistency between the sizes of vectors _base_color and _grey_level_boundary. _base_color.size()/3 (=" <<_base_color.size()/3 << ") should be equal to _grey_level_boundary.size() - 1 (=" << _grey_level_boundary.size() - 1 << ")." << std::endl;
+ std::cout << "CM The default values for the base colors and the grey level boundaries will be set." << std::endl;
+ SetDefaultGreyLevelBoundary();
}
+ }
// ------------------ End Of Setting Default Values
-
// ------------------ Defining the Threshold Table
vtkLookupTable* thresholdTable = GetThresholdTable();
+ double thresholdTable_range[2];
+ double r1,r2,g1,g2,b1,b2;
+ int start,end;
// CM Number of table values consistent with the effective number of values (see loop below).
- double thresholdTable_range[2];
- thresholdTable_range[1]= std::max( GetGreyLevelBoundaries( GetBaseColorNb() ), ceil(_range[1]) );
- thresholdTable_range[0]= std::min( GetGreyLevelBoundaries(0), floor(_range[0]) );
- thresholdTable->SetNumberOfTableValues(thresholdTable_range[1] - thresholdTable_range[0] + 1);
+ thresholdTable_range[1]= std::max( GetGreyLevelBoundaries( _grey_level_boundary.size()-1 ) , ceil(_range[1]) );
+ thresholdTable_range[0]= std::min( GetGreyLevelBoundaries(0) , floor(_range[0]) );
+
thresholdTable->SetTableRange(thresholdTable_range);
thresholdTable->SetAlphaRange(0, 1);
thresholdTable->SetValueRange(0, 1);
-
thresholdTable->SetSaturationRange(0, 0);
thresholdTable->SetRampToLinear( );
+ maxColorsThresholdTable = 1000;
+ thresholdTable->SetNumberOfTableValues( maxColorsThresholdTable );
+
+
// Defines the lookup table.
// If the image has a degradation in one (or both) extremum (lower or higher),
// sets the corresponding grey levels as transparent white in the lookup table.
- for (int i = floor(_range[0]); i <= GetGreyLevelBoundaries(0); i++)
- {
- thresholdTable -> SetTableValue( i, 0, 0, 0, 0);
- }
- for (int i = GetGreyLevelBoundaries( GetBaseColorNb() ) + 1 ; i <= ceil(_range[1]); i++)
- {
- thresholdTable -> SetTableValue( i, 0, 0, 0, 0);
- }
-
- int delta;
// _color_type true, i.e. plain colors.
// Sets the plain color for each grey level interval.
if (_color_type)
- {
- for (int i = 0; i < GetBaseColorNb(); i++)
- {
- delta = GetGreyLevelBoundaries(i+1) - GetGreyLevelBoundaries(i);
- for (int ii = 1; ii <= delta; ii++)
- {
- thresholdTable->SetTableValue(GetGreyLevelBoundaries(i) + ii,
- GetBaseColors(i*3),
- GetBaseColors(i*3 + 1),
- GetBaseColors(i*3 + 2),
- 1);
- }
- }
- } // End Of if (_color_type)
+ {
+
+ if ( minRange<GetGreyLevelBoundaries(0) )
+ {
+ start = 0;
+ end = GrayLevel_TO_colorTableIndex( GetGreyLevelBoundaries(0) );
+ FillColorTable(start,end, 0,0,0, 0,0,0);
+ }
+
+ if ( maxRange>GetGreyLevelBoundaries( _grey_level_boundary.size()-1 ) )
+ {
+ start = GrayLevel_TO_colorTableIndex( GetGreyLevelBoundaries( _grey_level_boundary.size()-1 ) );
+ end = GrayLevel_TO_colorTableIndex( maxRange );
+ FillColorTable(start,end, 0,0,0, 0,0,0);
+ }
+
+ for (int iColor = 0; iColor < GetBaseColorNb(); iColor++)
+ {
+ r1 = GetBaseColors(iColor*3+0);
+ g1 = GetBaseColors(iColor*3+1);
+ b1 = GetBaseColors(iColor*3+2);
+ start = GrayLevel_TO_colorTableIndex( GetGreyLevelBoundaries(iColor) );
+ end = GrayLevel_TO_colorTableIndex( GetGreyLevelBoundaries(iColor+1) );
+ FillColorTable(start,end, r1,g1,b1,r1,g1,b1);
+ } // for i
+ } // End Of if (_color_type)
-
// _color_type false, i.e. gradient color
else
- {
- // First color:
- // Creates a linear range from white to the first color.
- delta = GetGreyLevelBoundaries(1) - GetGreyLevelBoundaries(0);
- for (int ii = 1; ii <= delta ; ii++)
- {
- thresholdTable->SetTableValue( (GetGreyLevelBoundaries(0) + ii), GetBaseColors(0) * ii/delta,
- GetBaseColors(1) * ii/delta, GetBaseColors(2) * ii/delta, 1);
- }
-
- // If other colors exist:
- // Creates linear ranges between one color and the following in the color vector.
+ {
+//EED 28/01/2015
if (GetBaseColorNb() > 1)
- {
- for (int i = 1; i < GetBaseColorNb(); i++)
- {
- delta = GetGreyLevelBoundaries(i+1) - GetGreyLevelBoundaries(i);
- for (int ii = 1; ii <= delta; ii++)
{
- // Color computation : previous_color + (current_color - previous_color)/delta * ii
- thresholdTable->SetTableValue((GetGreyLevelBoundaries(i) + ii),
- GetBaseColors((i-1)*3) + (GetBaseColors(i*3) - GetBaseColors((i-1)*3)) / delta * ii ,
- GetBaseColors((i-1)*3 + 1) + (GetBaseColors(i*3 + 1) - GetBaseColors((i-1)*3 + 1)) / delta * ii ,
- GetBaseColors((i-1)*3 + 2) + (GetBaseColors(i*3 + 2) - GetBaseColors((i-1)*3 + 2)) / delta * ii ,
- 1);
- }
- }
- }
- } // End Of if (!_color_type)
-
-
-
- thresholdTable->SetRange(_range[0], _range[1]); // image intensity range
- thresholdTable->SetValueRange(0.0, 1.0); // from black to white
-
+ for (int iColor = 0; iColor < GetBaseColorNb(); iColor++)
+ {
+ if (iColor==0)
+ {
+ r1 = 0;
+ g1 = 0;
+ b1 = 0;
+ } else {
+ r1 = GetBaseColors((iColor-1)*3+0);
+ g1 = GetBaseColors((iColor-1)*3+1);
+ b1 = GetBaseColors((iColor-1)*3+2);
+ } // if iColor == 0
+
+ r2 = GetBaseColors(iColor*3+0);
+ g2 = GetBaseColors(iColor*3+1);
+ b2 = GetBaseColors(iColor*3+2);
+ start = GrayLevel_TO_colorTableIndex( GetGreyLevelBoundaries(iColor) );
+ end = GrayLevel_TO_colorTableIndex( GetGreyLevelBoundaries(iColor+1) );
+ FillColorTable( start,end, r1,g1,b1, r2,g2,b2 );
+ }// for
+ } //if
+ } // End Of if (!_color_type)
+
+ thresholdTable->SetRange( minRange, maxRange );
+ thresholdTable->SetValueRange( 0.0, 1.0 );
thresholdTable->Build( );
+ //EO CM EED
+}
+//----------------------------------------------------------------------------
+int ColorLayerImageView::GrayLevel_TO_colorTableIndex( double VALUE )
+{
+ GetImage()->GetScalarRange(_range);
+ double minRange = _range[0];
+ double maxRange = _range[1];
+ return maxColorsThresholdTable * (VALUE-minRange) / (maxRange-minRange);
+}
-/*
-// Create a greyscale lookup table
+//----------------------------------------------------------------------------
+void ColorLayerImageView::FillColorTable(int start, int end, double r1, double g1, double b1, double r2, double g2, double b2)
+{
vtkLookupTable* thresholdTable = GetThresholdTable();
- thresholdTable->SetRange(0.5, 0.75); // image intensity range
- thresholdTable->SetValueRange(0.0, 1); // from black to white
- thresholdTable->SetHueRange(0.0, 1.0); // from black to white
- thresholdTable->SetSaturationRange(0.0, 1.0); // no color saturation
- thresholdTable->SetRampToLinear();
- thresholdTable->Build();
-*/
+ int iTable;
+ double delta = end-start;
+ double dr = (r2-r1)/delta;
+ double dg = (g2-g1)/delta;
+ double db = (b2-b1)/delta;
+ for (iTable=0; iTable<=delta; iTable++)
+ {
+ thresholdTable->SetTableValue( iTable+start , r1+dr*iTable, g1+dg*iTable, b1+db*iTable,1);
+ } // for iTable
- // ------------------ End Of Defining the Threshold Table
+ if (start==0) thresholdTable->SetTableValue( start , r1, g1, b1,0); // The first color in the table is transparent
- //EO CM
}
// EOF
*/
int GetBaseColorNb();
+
+ void FillColorTable(int start, int end, double r1, double g1, double b1, double r2, double g2, double b2);
+
+ int GrayLevel_TO_colorTableIndex( double VALUE );
+
+
private:
int _x2, _y2, _z2;
void SetDefaultGreyLevelBoundary();
void SetDefaultBaseColorAndGreyLevelBoundary();
virtual void ConfigLookupTable();
+ int maxColorsThresholdTable;
+
//! Range values in the colored image.
double _range[2];
wxRadioBox * radioOpts = new wxRadioBox(dial, -1, _T("Type of Transformation"), wxDefaultPosition, wxSize(270,45), 3 , lstOptOperation, 3, wxRA_SPECIFY_COLS);
dialSizer->Add( new wxStaticText(dial,-1,message) , 0, wxGROW );
- // dialSizer->Add( new wxStaticText(dial,-1,_T("selected Roi file. Do you want to tranform it?")) , 0, wxGROW );
dialSizer->Add( new wxStaticText(dial,-1,_T(" ")) , 0, wxGROW );
dialSizer->Add(radioOpts,0,wxGROW);
dialSizer->Add( new wxStaticText(dial,-1,_T(" ")) , 0, wxGROW );
ColorLayerImageViewPanel::ColorLayerImageViewPanel(wxWindow* parent, int min, int max, int type)
: wxPanel(parent, -1, wxDefaultPosition, wxSize(600,100), wxBORDER_SUNKEN)
{
- printf("EED ColorLayerImageViewPanel::ColorLayerImageViewPanel start \n");
_spcBase[0] = _spcBase[1] = _spcBase[2] = 0;
_dimBase[0] = _dimBase[1] = _dimBase[2] = 0;
-//EED01 _colorLayerImageView = new ColorLayerImageView();
_colorLayerImageViewManager = new ColorLayerImageViewManager();
_btn_ReadImage = new wxButton(this, wxID_ANY, _T("Read Image") );
}
-//EED01
-//EED01 //----------------------------------------------------------------------------
-//EED01 void ColorLayerImageViewPanel::SetColorLayerImageView(ColorLayerImageView* colorLayerImageView)
-//EED01 {
-//EED01 _colorLayerImageView = colorLayerImageView;
-//EED01 }
-//EED01
-//EED01 //----------------------------------------------------------------------------
-//EED01 ColorLayerImageView* ColorLayerImageViewPanel::GetColorLayerImageView()
-//EED01 {
-//EED01 return _colorLayerImageView;
-//EED01 }
-
-
+//----------------------------------------------------------------------------
ColorLayerImageViewManager* ColorLayerImageViewPanel::GetColorLayerImageViewManager()
{
return _colorLayerImageViewManager;
}
+//----------------------------------------------------------------------------
// This is the new spacing of the background image (1,1,1)
void ColorLayerImageViewPanel::SetBaseSpacing(double spc[3])
{
_spcBase[2] = 1;
}
+//----------------------------------------------------------------------------
// This is the Original spacing of the background image
void ColorLayerImageViewPanel::SetOriginalSpacing(double spc[3])
{
_spcOrg[2] = spc[2];
}
+//----------------------------------------------------------------------------
// This is the size in pixels of the background image
void ColorLayerImageViewPanel::SetBaseDimension(int dim[3])
{
else
typeOfTransformation = _fitting_mode;
//EO CM
-
- printf("EED ColorLayerImageViewPanel::onReadImage call dialog spc size,dim...???\n");
-
if (typeOfTransformation==1) // make dimensions equals
{
printf("EED ColorLayerImageViewPanel::onReadImage ...WARNNING.... dif size image spc*dim ofnew image ...???\n");
img->SetSpacing(spc);
} // spc !_spcBase dim!__dimBase
-//EED01 if (_colorLayerImageView!=NULL)
-//EED01 {
-//EED01 _colorLayerImageView->onThreshold();
if (_active==true)
{
_colorLayerImageViewManager->onThreshold();
RefreshView();
}
-//EED01 }
}
//----------------------------------------------------------------------------
void ColorLayerImageViewPanel::onThresholdChange(wxCommandEvent& event)
{
-//EED01 if (_colorLayerImageView!=NULL)
-//EED01 {
if (_thresholdGo)
{
-//EED01 _colorLayerImageView->onThresholdChange();
_colorLayerImageViewManager->onThresholdChange();
RefreshView();
//std::cout<< "Valor Min: " << minVal << " & Valor Max: " << maxVal << std::endl;
} // _thresholdGo
-//EED01 }//_colorLayerImageView
}
//----------------------------------------------------------------------------
void ColorLayerImageViewPanel::onThresholdShow(wxCommandEvent& event)
{
-//EED01 if (_colorLayerImageView!=NULL)
-//EED01 {
_thresholdGo = _cb_ShowHide->GetValue();
if (_thresholdGo)
{
-//EED01 _colorLayerImageView->onThreshold();
_colorLayerImageViewManager->onThreshold();
}else{
-//EED01 _colorLayerImageView->onThresholdRemove( );
_colorLayerImageViewManager->onThresholdRemove( );
}
RefreshView();
-//EED01 }//_colorLayerImageView
}
//----------------------------------------------------------------------------
void ColorLayerImageViewPanel::onThresholdStop()
{
-//EED01 if (_colorLayerImageView!=NULL)
-//EED01 {
if (_thresholdGo)
{
-//EED01 _colorLayerImageView->onThresholdRemove( );
_colorLayerImageViewManager->onThresholdRemove( );
_thresholdGo=false;
}
-//EED01 }//_colorLayerImageView
}
//----------------------------------------------------------------------------
void ColorLayerImageViewPanel::onThresholdInterpolation(wxCommandEvent& event)
{
-//EED01 if (_colorLayerImageView!=NULL)
-//EED01 {
-//EED01 _colorLayerImageView->onThresholdInterpolation(_interpolationCheckBox->GetValue());
_colorLayerImageViewManager->onThresholdInterpolation(_interpolationCheckBox->GetValue());
RefreshView();
-//EED01 }//_colorLayerImageView
}
//----------------------------------------------------------------------------
void ColorLayerImageViewPanel::onSliceFixDinamic(wxCommandEvent& event)
{
-//EED01 if (_colorLayerImageView!=NULL)
-//EED01 {
bool fixdin = _cb_SliceFixDinamic->GetValue();
-//EED01 _colorLayerImageView->SetSliceFixDynamic( fixdin );
_colorLayerImageViewManager->SetSliceFixDynamic( fixdin );
if (fixdin==false)
{
-//EED01 _colorLayerImageView->SetZ2( _sl_SliceImage->GetValue() );
_colorLayerImageViewManager->SetX2( _sl_SliceImageX->GetValue() );
_colorLayerImageViewManager->SetY2( _sl_SliceImageY->GetValue() );
_colorLayerImageViewManager->SetZ2( _sl_SliceImageZ->GetValue() );
_sl_SliceImageX->Enable(!fixdin);
_sl_SliceImageY->Enable(!fixdin);
_sl_SliceImageZ->Enable(!fixdin);
-//EED01 _colorLayerImageView->onThreshold();
_colorLayerImageViewManager->onThreshold();
RefreshView();
-//EED01 }//_colorLayerImageView
}
//----------------------------------------------------------------------------
void ColorLayerImageViewPanel::onSliceImage(wxScrollEvent& event)
{
-//EED01 if (_colorLayerImageView!=NULL)
-//EED01 {
-//EED01 _colorLayerImageView->SetZ2( _sl_SliceImage->GetValue() );
-//EED01 _colorLayerImageView->onThreshold();
-//EED01 RefreshView();
- _colorLayerImageViewManager->SetX2( _sl_SliceImageX->GetValue() );
- _colorLayerImageViewManager->SetY2( _sl_SliceImageY->GetValue() );
- _colorLayerImageViewManager->SetZ2( _sl_SliceImageZ->GetValue() );
- _colorLayerImageViewManager->onThreshold();
+ _colorLayerImageViewManager->SetX2( _sl_SliceImageX->GetValue() );
+ _colorLayerImageViewManager->SetY2( _sl_SliceImageY->GetValue() );
+ _colorLayerImageViewManager->SetZ2( _sl_SliceImageZ->GetValue() );
+ _colorLayerImageViewManager->onThreshold();
RefreshView();
-//EED01 }//_colorLayerImageView
}
//----------------------------------------------------------------------------
void ColorLayerImageViewPanel::onChangeOpacity(wxScrollEvent& event)
{
-//EED01 if (_colorLayerImageView!=NULL)
-//EED01 {
int opacity = _opacity->GetValue();
-//EED01 _colorLayerImageView->onThresholdChangeOpacity(opacity);
_colorLayerImageViewManager->onThresholdChangeOpacity(opacity);
RefreshView();
-//EED01 }//_colorLayerImageView
}
/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
+ #
+ # 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.
+ # ------------------------------------------------------------------------ */
/*!
* @file buttonContainerController.cxx
namespace controller
{
// ----------------------------------------------------------------------------------
- ButtonContainerController::ButtonContainerController( BCPanel* panel )
+ ButtonContainerController::ButtonContainerController(BCPanel* panel)
{
- std::cout<< "MLER | ButtonContainerController::ButtonContainerController( BCPanel* panel )" << std::endl;
this->m_BCPanel = panel;
}
// ----------------------------------------------------------------------------------
- ButtonContainerController::~ButtonContainerController( )
+ ButtonContainerController::~ButtonContainerController()
{
}
// ----------------------------------------------------------------------------------
- void
- ButtonContainerController::AddEvents( )
+ void ButtonContainerController::AddEvents()
{
try
{
- std::cout<< "MLER | ButtonContainerController:: AddEvents( )" << std::endl;
//Adding ButtonManagerEvents
- for( GroupManagerList::iterator it =
- this->m_BCPanel->m_GroupManagerList.begin( ); it
- != this->m_BCPanel->m_GroupManagerList.end( ); ++it )
+ for (GroupManagerList::iterator it =
+ this->m_BCPanel->m_GroupManagerList.begin();
+ it != this->m_BCPanel->m_GroupManagerList.end(); ++it)
{
- this->Connect(
- ( *it ).first,
- wxEVT_COMMAND_BUTTON_CLICKED,
- (wxObjectEventFunction) &ButtonContainerController::ButtonExpEvent );
- }//rof
+ this->Connect((*it).first, wxEVT_COMMAND_BUTTON_CLICKED,
+ (wxObjectEventFunction)
+ & ButtonContainerController::ButtonExpEvent);
+ } //rof
//Adding ButtonEvents
- for( ButtonGroupList::iterator it =
- this->m_BCPanel->m_ButtonGroupList.begin( ); it
- != this->m_BCPanel->m_ButtonGroupList.end( ); ++it )
+ for (ButtonGroupList::iterator it =
+ this->m_BCPanel->m_ButtonGroupList.begin();
+ it != this->m_BCPanel->m_ButtonGroupList.end(); ++it)
{
- KeyList keylist = ( *it )->GetButtonIdContainer( );
- for( KeyList::iterator it2 = keylist.begin( ); it2 != keylist.end( ); ++it2 )
+ KeyList keylist = (*it)->GetButtonIdContainer();
+ for (KeyList::iterator it2 = keylist.begin(); it2 != keylist.end();
+ ++it2)
{
- this->Connect( ( *it2 ), wxEVT_COMMAND_BUTTON_CLICKED,
- (wxObjectEventFunction) &ButtonContainerController::ButtonEvent );
- }//rof
- }//rof
- }//yrt
- catch ( const std::exception& e )
+ this->Connect((*it2), wxEVT_COMMAND_BUTTON_CLICKED,
+ (wxObjectEventFunction)
+ & ButtonContainerController::ButtonEvent);
+ } //rof
+ } //rof
+ } //yrt
+ catch (const std::exception& e)
{
std::cerr << "ButtonContainerController::AddEvents( ) exception: "
- << e.what( ) << std::endl;
- }//hctac
+ << e.what() << std::endl;
+ } //hctac
}
// ----------------------------------------------------------------------------------
- void
- ButtonContainerController::ButtonExpEvent( wxCommandEvent& event )
+ void ButtonContainerController::ButtonExpEvent(wxCommandEvent& event)
{
- long id = event.GetId( );
- std::cout<< "MLER | ButtonContainerController:: ButtonExpEvent( wxCommandEvent& event )" << std::endl;
+ long id = event.GetId();
try
{
//changing the button label when its clicked and then hide the buttons of the group.
- if ( this->m_BCPanel->m_GroupManagerList[ id ]->GetButton( )->GetLabel( ).Cmp(
- _( "+" ) ) == 0 )
+ if (this->m_BCPanel->m_GroupManagerList[id]->GetButton()->GetLabel().Cmp(
+ _("+")) == 0)
{
- this->m_BCPanel->m_GroupManagerList[ id ]->GetButton( )->SetLabel(
- _( "-" ) );
- this->m_BCPanel->m_GroupManagerList[ id ]->HideSubPanel( false );
- }//fi
- else if ( this->m_BCPanel->m_GroupManagerList[ id ]->GetButton( )->GetLabel( ).Cmp(
- _( "-" ) ) == 0 )
+ this->m_BCPanel->m_GroupManagerList[id]->GetButton()->SetLabel(
+ _("-"));
+ this->m_BCPanel->m_GroupManagerList[id]->HideSubPanel(false);
+ } //fi
+ else if (this->m_BCPanel->m_GroupManagerList[id]->GetButton()->GetLabel().Cmp(
+ _("-")) == 0)
{
- this->m_BCPanel->m_GroupManagerList[ id ]->GetButton( )->SetLabel(
- _( "+" ) );
- this->m_BCPanel->m_GroupManagerList[ id ]->HideSubPanel( true );
- }//fi esle
- this->m_BCPanel->FitSizer( );
- }//yrt
- catch ( const std::exception& e )
+ this->m_BCPanel->m_GroupManagerList[id]->GetButton()->SetLabel(
+ _("+"));
+ this->m_BCPanel->m_GroupManagerList[id]->HideSubPanel(true);
+ } //fi esle
+ this->m_BCPanel->FitSizer();
+ } //yrt
+ catch (const std::exception& e)
{
std::cerr
- << "ButtonContainerController::ButtonExpEvent( wxCommandEvent& event ) exception: "
- << e.what( ) << std::endl;
- }//hctac
+ << "ButtonContainerController::ButtonExpEvent( wxCommandEvent& event ) exception: "
+ << e.what() << std::endl;
+ } //hctac
}
// ----------------------------------------------------------------------------------
- void
- ButtonContainerController::ButtonEvent( wxCommandEvent& event )
+ void ButtonContainerController::ButtonEvent(wxCommandEvent& event)
{
- std::cout<< "MLER | ButtonContainerController:: ButtonEvent( wxCommandEvent& event )" << std::endl;
try
{
- for( ButtonGroupList::iterator it =
- this->m_BCPanel->m_ButtonGroupList.begin( ); it
- != this->m_BCPanel->m_ButtonGroupList.end( ); ++it )
+ for (ButtonGroupList::iterator it =
+ this->m_BCPanel->m_ButtonGroupList.begin();
+ it != this->m_BCPanel->m_ButtonGroupList.end(); ++it)
{
- if ( ( *it )->GetButton( event.GetId( ) ) != NULL )
+ if ((*it)->GetButton(event.GetId()) != NULL)
{
- ( *it )->GetButton( event.GetId( ) )->Execute( );
- }//fi
- }//rof
- }//yrt
- catch ( const std::exception& e )
+ (*it)->GetButton(event.GetId())->Execute();
+ } //fi
+ } //rof
+ } //yrt
+ catch (const std::exception& e)
{
std::cerr
- << "ButtonContainerController::ButtonEvent( wxCommandEvent& event ) exception: "
- << e.what( ) << std::endl;
- }//hctac
+ << "ButtonContainerController::ButtonEvent( wxCommandEvent& event ) exception: "
+ << e.what() << std::endl;
+ } //hctac
}
// ----------------------------------------------------------------------------------
-
}//ecapsename
-}//ecapsename
+} //ecapsename
// ----------------------------------------------------------------------------------
ButtonGroupFactory::ButtonGroupFactory( )
{
- std::cout<< "MLER | ButtonGroupFactory::ButtonGroupFactory( )" << std::endl;
}
// ----------------------------------------------------------------------------------
ButtonGroupFactory::~ButtonGroupFactory( )
ButtonGroupContainer groupView;
try
{
- std::cout<< "MLER | ButtonGroupFactory::CreateButtonGroupContainer()" << std::endl;
ButtonGroupMap map = settings->GetButtonGroupContainer( );
for( ButtonGroupMap::iterator it = map.begin( ); it != map.end( ); ++it )
{
{
ButtonContainer buttonList;
- std::cout<< "MLER | ButtonGroupFactory::GetButtons()" << std::endl;
try
{
for( ButtonList::iterator it = buttonModel.begin( ); it
/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
+ #
+ # 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.
+ # ------------------------------------------------------------------------ */
/*!
* @file buttonGroupFactory.h
/*! @typedef std::list< ButtonGroup* > ButtonGroupContainer;
* @brief Defines the ButtonGroupContainer type.
*/
- typedef std::list< ButtonGroup* > ButtonGroupContainer;
+ typedef std::list<ButtonGroup*> ButtonGroupContainer;
// ----------------------------------------------------------------------------------
/*! @typedef std::map< long, Button* > ButtonContainer;
* @brief Defines the ButtonContainer type.
*/
- typedef std::map< long, Button* > ButtonContainer;
+ typedef std::map<long, Button*> ButtonContainer;
// ----------------------------------------------------------------------------------
//end of typedef definition
public:
/*! @fn ButtonGroupFactory::ButtonGroupFactory( );
* @brief This is the default constructor.
*/
- ButtonGroupFactory( );
+ ButtonGroupFactory();
// -------------------------------------------------------------------------------
/*! @fn virtual ButtonGroupFactory::~ButtonGroupFactory( );
* @brief This is the destructor.
*/
virtual
- ~ButtonGroupFactory( );
-
+ ~ButtonGroupFactory();
+
/*! @fn ButtonGroupContainer ButtonGroupFactory::CreateButtonGroupContainer( wxWindow* parent, ButtonGroupModel* settings );
* @brief This method creates the ButtonGroupContainer.
* @param parent the wxWindow* parent to be attached.
* @return ButtonGroupContainer The wx button group container.
*/
ButtonGroupContainer
- CreateButtonGroupContainer( wxWindow* parent,
- ButtonGroupModel* settings );
+ CreateButtonGroupContainer(wxWindow* parent,
+ ButtonGroupModel* settings);
private:
-
/*! @fn ButtonContainer ButtonGroupFactory::GetButtons( wxWindow* parent, ButtonList buttonModel );
* @brief This method creates a wx button container for a group.
* @return ButtonContainer The wx button container.
*/
ButtonContainer
- GetButtons( wxWindow* parent, ButtonList buttonModel );
+ GetButtons(wxWindow* parent, ButtonList buttonModel);
};
- }//ecapseman
-}//ecapseman
+ } //ecapseman
+} //ecapseman
#endif // CARTOBUTTONFACTORY_H
/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
+ #
+ # 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.
+ # ------------------------------------------------------------------------ */
/*!
* @file containerSettings.cxx
namespace model
{
// ----------------------------------------------------------------------------------
- ContainerSettings::ContainerSettings( )
+ ContainerSettings::ContainerSettings()
{
}
// ----------------------------------------------------------------------------------
- ContainerSettings::~ContainerSettings( )
+ ContainerSettings::~ContainerSettings()
{
}
-
+
// ----------------------------------------------------------------------------------
- ButtonGroupMap
- ContainerSettings::GetButtonGroupContainer( )
+ ButtonGroupMap ContainerSettings::GetButtonGroupContainer()
{
- std::cout<< "MLER | ContainerSettings::GetButtonGroupContainer( )" << std::endl;
- return ( this->m_ButtonGroupContainer );
+ return (this->m_ButtonGroupContainer);
}
// ----------------------------------------------------------------------------------
- KeyMapList
- ContainerSettings::GetGroupNameList( )
+ KeyMapList ContainerSettings::GetGroupNameList()
{
- std::cout<< "MLER | ContainerSettings::GetGroupNameList( )" << std::endl;
- return ( this->m_GroupNameList );
+ return (this->m_GroupNameList);
}
-
+
// ----------------------------------------------------------------------------------
- void
- ContainerSettings::SetButtonGroupContainer(ButtonGroupMap bgContainer)
+ void ContainerSettings::SetButtonGroupContainer(ButtonGroupMap bgContainer)
{
- std::cout<< "MLER | ContainerSettings:: SetButtonGroupContainer(ButtonGroupMap bgContainer)" << std::endl;
this->m_ButtonGroupContainer = bgContainer;
}
// ----------------------------------------------------------------------------------
- void
- ContainerSettings::SetGroupNameList( KeyMapList gNameList )
+ void ContainerSettings::SetGroupNameList(KeyMapList gNameList)
{
- std::cout<< "MLER | ContainerSettings::SetGroupNameList" << std::endl;
this->m_GroupNameList = gNameList;
}
-
- // ----------------------------------------------------------------------------------
-
+ // ----------------------------------------------------------------------------------
- void
- ContainerSettings::AddButton( const StringType & groupName,
- const StringType &buttonName, const wxBitmap &icon,
- const StringType &buttonDescription, FunctionEventType event )
+ void ContainerSettings::AddButton(const StringType & groupName,
+ const StringType &buttonName, const wxBitmap &icon,
+ const StringType &buttonDescription, FunctionEventType event)
{
- std::cout<< "MLER | ContainerSettings::AddButton( const StringType & groupName," << std::endl;
- ButtonPair* pair = new ButtonPair(
- new ButtonInfo( buttonName, icon ),
- new ButtonAction( buttonDescription, event ) );
+ ButtonPair* pair = new ButtonPair(new ButtonInfo(buttonName, icon),
+ new ButtonAction(buttonDescription, event));
try
{
- for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
- != this->m_GroupNameList.end( ); ++it )
+ for (KeyMapList::iterator it = this->m_GroupNameList.begin();
+ it != this->m_GroupNameList.end(); ++it)
{
- if ( ( *it ).compare( groupName ) == 0 )
+ if ((*it).compare(groupName) == 0)
{
- std::cout<<"MLER ContainerSettings // AddButton : it "<<*it <<std::endl;
- this->m_ButtonGroupContainer[ groupName ].push_back( pair );
+ this->m_ButtonGroupContainer[groupName].push_back(pair);
return;
- }//fi
- }//rof
- this->m_GroupNameList.push_back( groupName );
- this->m_ButtonGroupContainer[ groupName ].push_back( pair );
- }//yrt
- catch ( const std::exception& e )
+ } //fi
+ } //rof
+ this->m_GroupNameList.push_back(groupName);
+ this->m_ButtonGroupContainer[groupName].push_back(pair);
+ } //yrt
+ catch (const std::exception& e)
{
std::cerr
- << "ContainerSettings::AddButton( const std::string & groupName,"
- << "const std::string buttonName, const std::string iconpath,"
- << "const std::string buttonDescription, FunctionEventType event ) exception: "
- << e.what( ) << std::endl;
- }//hctac
+ << "ContainerSettings::AddButton( const std::string & groupName,"
+ << "const std::string buttonName, const std::string iconpath,"
+ << "const std::string buttonDescription, FunctionEventType event ) exception: "
+ << e.what() << std::endl;
+ } //hctac
}
// ----------------------------------------------------------------------------------
- void
- ContainerSettings::AddButton( BCSettingsStruct* info )
+ void ContainerSettings::AddButton(BCSettingsStruct* info)
{
- std::cout<< "MLER | ContainerSettings::AddButton( BCSettingsStruct* info )" << std::endl;
+
ButtonPair* pair = new ButtonPair(
- new ButtonInfo( info->buttonName, info->icon ),
- new ButtonAction( info->buttonDescription, info->eventFunction ) );
+ new ButtonInfo(info->buttonName, info->icon),
+ new ButtonAction(info->buttonDescription, info->eventFunction));
try
{
- for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
- != this->m_GroupNameList.end( ); ++it )
+ for (KeyMapList::iterator it = this->m_GroupNameList.begin();
+ it != this->m_GroupNameList.end(); ++it)
{
- if ( ( *it ).compare( info->groupName ) == 0 )
+ if ((*it).compare(info->groupName) == 0)
{
- this->m_ButtonGroupContainer[ info->groupName ].push_back( pair );
+ this->m_ButtonGroupContainer[info->groupName].push_back(pair);
return;
- }//fi
- }//rof
- this->m_GroupNameList.push_back( info->groupName );
- this->m_ButtonGroupContainer[ info->groupName ].push_back( pair );
- }//yrt
- catch ( const std::exception& e )
+ } //fi
+ } //rof
+ this->m_GroupNameList.push_back(info->groupName);
+ this->m_ButtonGroupContainer[info->groupName].push_back(pair);
+ } //yrt
+ catch (const std::exception& e)
{
std::cerr
- << "void ContainerSettings::AddButton( BCSettingsStruct* info ) "
- << "exception: " << e.what( ) << std::endl;
- }//hctac
+ << "void ContainerSettings::AddButton( BCSettingsStruct* info ) "
+ << "exception: " << e.what() << std::endl;
+ } //hctac
}
// ----------------------------------------------------------------------------------
- void
- ContainerSettings::AddButtons( BCStructVectorType infoList )
+ void ContainerSettings::AddButtons(BCStructVectorType infoList)
{
- std::cout<< "MLER | ContainerSettings::AddButtons( BCStructVectorType infoList )" << std::endl;
+
try
{
- for( BCStructVectorType::iterator it = infoList.begin( ); it
- != infoList.end( ); ++it )
+ for (BCStructVectorType::iterator it = infoList.begin();
+ it != infoList.end(); ++it)
{
- this->AddButton( *it );
- }//rof
- }//yrt
- catch ( const std::exception& e )
+ this->AddButton(*it);
+ } //rof
+ } //yrt
+ catch (const std::exception& e)
{
std::cerr
- << "ContainerSettings::AddButtons( BCStructVectorType infoList ) "
- << "exception: " << e.what( ) << std::endl;
- }//hctac
+ << "ContainerSettings::AddButtons( BCStructVectorType infoList ) "
+ << "exception: " << e.what() << std::endl;
+ } //hctac
}
// ----------------------------------------------------------------------------------
}//ecapseman
-}//ecapseman
+} //ecapseman
#include <vector>
#include <wx/bitmap.h>
-//EED-MLER #include <wx/listctrl.h>
#include "structBCSettings.h"
#include "system.h"
ButtonGroupMap m_ButtonGroupContainer; //! <The container with the group of buttons.
KeyMapList m_GroupNameList; //! <The container with the name of the groups of buttons.
- //ListGroupMap m_ListGroupContainer; // contenedor del grupo de listas
};
}
}
/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
+ #
+ # 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.
+ # ------------------------------------------------------------------------ */
/*!
* @file functor.cxx
* @brief Implements TFunctor class and it propose is Call_Back Functions
* @author Diego CACERES (diego.caceres[AT]creatis.insa-lyon.fr)
* @date 2011-06-02
-*/
+ */
namespace creaButtonContainer
{
- namespace model
- {
- // constructor - takes pointer to an object and pointer to a member and stores
- // them in two private variables
- // -------------------------------------------------------------------------------
- template< typename TClass >
- TConcreteFunctor< TClass >::TConcreteFunctor( TClass* _pt2Object, void
- (TClass::*_fpt)( const ButtonIDType &buttonName ) )
- {
- this->pt2Object = _pt2Object;
- this->fpt = _fpt;
- }
- // -------------------------------------------------------------------------------
- // override operator "()" // execute member functions
- template< typename TClass >
- void
- TConcreteFunctor< TClass >::operator()( const ButtonIDType &buttonName )
- {std::cout << "MLER - TConcreteFunctor< TClass >::operator():" << buttonName << std::endl;
- try
- {
- ( *pt2Object.*fpt )( buttonName );
- }//yrt
- catch ( const std::exception& e )
- {
- std::cerr<< "TConcreteFunctor< TClass >::operator()( const ButtonIDType &buttonName )"
- <<" exception: " << e.what( ) << std::endl;
- }//hctac
- }
- // -------------------------------------------------------------------------------
- // override function "Call" // execute member function
- template< typename TClass >
- void
- TConcreteFunctor< TClass >::Call( const ButtonIDType &buttonName )
- {
- std::cout << "MLER - TConcreteFunctor< TClass >::Call " << buttonName << std::endl;
- try
- {
- ( *pt2Object.*fpt )( buttonName );
- }//yrt
- catch ( const std::exception& e )
- {
- std::cerr<< "TConcreteFunctor< TClass >::Call( const ButtonIDType &buttonName )"
- <<" exception: " << e.what( ) << std::endl;
- }//hctac
- }
- }//ecapseman
-}//ecapseman
+ namespace model
+ {
+ // constructor - takes pointer to an object and pointer to a member and stores
+ // them in two private variables
+ // -------------------------------------------------------------------------------
+ template<typename TClass>
+ TConcreteFunctor<TClass>::TConcreteFunctor(TClass* _pt2Object,
+ void (TClass::*_fpt)(const ButtonIDType &buttonName))
+ {
+ this->pt2Object = _pt2Object;
+ this->fpt = _fpt;
+ }
+ // -------------------------------------------------------------------------------
+ // override operator "()" // execute member functions
+ template<typename TClass>
+ void TConcreteFunctor<TClass>::operator()(const ButtonIDType &buttonName)
+ {
+ try
+ {
+ (*pt2Object.*fpt)(buttonName);
+ } //yrt
+ catch (const std::exception& e)
+ {
+ std::cerr
+ << "TConcreteFunctor< TClass >::operator()( const ButtonIDType &buttonName )"
+ << " exception: " << e.what() << std::endl;
+ } //hctac
+ }
+ // -------------------------------------------------------------------------------
+ // override function "Call" // execute member function
+ template<typename TClass>
+ void TConcreteFunctor<TClass>::Call(const ButtonIDType &buttonName)
+ {
+ try
+ {
+ (*pt2Object.*fpt)(buttonName);
+ } //yrt
+ catch (const std::exception& e)
+ {
+ std::cerr
+ << "TConcreteFunctor< TClass >::Call( const ButtonIDType &buttonName )"
+ << " exception: " << e.what() << std::endl;
+ } //hctac
+ }
+ } //ecapseman
+} //ecapseman
+++ /dev/null
-/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
-
-#include "listConfig.h"
-
-namespace creaButtonContainer
-{
- namespace model
- {
-
- ListConfig::ListConfig(ItemsMap items)
- {
- m_itemsMap = items;
-
- }
-
- ListConfig::~ListConfig()
- {
-
- }
-
- ListConfig::ItemsMap
- ListConfig::AddFinalItems(std::string name)
- {
- std::cout<< "MLER | ListConfig::AddFinalItems(std::string name)" << std::endl;
-
- ItemsMap::iterator it1 = m_finalItems.find(name);
-
- if(it1 == m_finalItems.end())
- {
- for(ItemsMap::iterator it=this->m_itemsMap.begin(); it!=this->m_itemsMap.end(); ++it)
- {
- if((it->first).compare(name) != 0 )
- {
- std::cout << "Item en finalItems: "<< name << std::endl;
- m_finalItems[name] = it->second;
- }
- }
- }
- std::cout << "FinalItems Add" << m_finalItems.size() << std::endl;
-
- return (m_finalItems);
- }
-
- ListConfig::ItemsMap
- ListConfig::DelFinalItems(std::string name)
- {
- std::cout<< "MLER | ListConfig::DelFinalItems(std::string name)" << std::endl;
- ItemsMap::iterator it1;
-
- //if(m_finalItems.empty())
- std::cout<<"name item -----test A"<< name <<std::endl;
-
- if(!m_finalItems.empty())
- {
- for(ItemsMap::iterator it= this->m_finalItems.begin(); it!=this->m_finalItems.end();++it)
- {
- if((it->first).compare(name) == 0 )
- {
- std::cout << "Item a borrar: "<< name << std::endl;
-
- it1 = m_finalItems.find(name);
- m_finalItems.erase(it1);
-
- }
- }
- }
-
- std::cout<< "si borre tengo --- test 2 "<< m_finalItems.size() << std::endl;
-
- return (m_finalItems);
- }
-
- }//namespace model
-}//namespace creaButtonContainer
+++ /dev/null
-/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
-
-#ifndef LISTCONFIG_H
-#define LISTCONFIG_H
-
-#include <wx/panel.h>
-
-#include<iostream>
-#include <map>
-#include <string>
-
-//#include "listWx.h"
-//#include "listConfigPanel.h"
-#include "functor.h"
-
-namespace creaButtonContainer
-{
- namespace model
- {
- class ListConfig
- {
- public:
- //typedef creaButtonContainer::model::TFunctor TFunctor;
- typedef std::map<std::string, wxPanel*> ItemsMap;
-
-
-
- //ListConfig(ItemsMap items, TFunctor* functor);
- ListConfig(ItemsMap items);
- ~ListConfig();
-
- //ItemsMap
- //GetItemsMap();
-
- ItemsMap
- AddFinalItems(std::string name);
-
- ItemsMap
- DelFinalItems(std::string name);
-
- private:
-
- ItemsMap m_itemsMap;
- TFunctor* functor;
- ItemsMap m_finalItems;
-
-
- };
-
- }
-}
-
-#endif // LISTCONFIG_H
+++ /dev/null
-/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
-
-
-/*#include "listGroupFactory.h"
-
-namespace creaButtonContainer
-{
- namespace model
- {
- // ----------------------------------------------------------------------------------
- ListGroupFactory::ListGroupFactory( )
- {
- }
- // ----------------------------------------------------------------------------------
- ListGroupFactory::~ListGroupFactory( )
- {
- }
-
- // ----------------------------------------------------------------------------------
- ListGroupFactory::ButtonGroupContainer ListGroupFactory::CreateButtonGroupContainer( wxWindow* parent, ButtonGroupModel* settings )
- {
- ButtonGroupContainer groupView;
- try
- {
- std::cout<< std::endl << " MLER listGroupFactory.cxx / CreateButtonGroupContainer(): " << std::endl;
- ButtonGroupMap map = settings->GetButtonGroupContainer( );
- for( ButtonGroupMap::iterator it = map.begin( ); it != map.end( ); ++it )
- {
- wxString groupNameAux( ( *it ).first.c_str( ), wxConvUTF8 );
- wxStaticText* wxGroupName = new wxStaticText( parent, -1, groupNameAux, wxDefaultPosition, wxDefaultSize, 0, _T("GroupText") );
- ButtonGroup* group = new ButtonGroup( wxGroupName, this->GetButtons( parent, ( *it ).second ) );
- groupView.push_back( group );
- }//rof
- }//yrt
- catch ( const std::exception& e )
- {
- std::cerr
- << "ButtonGroupFactory::CreateButtonGroupContainer( wxWindow* parent, ButtonGroupModel* settings )"
- << " exception: " << e.what( ) << std::endl;
- }//chtac
- return ( groupView );
- }
-
-
- // ----------------------------------------------------------------------------------
- ListGroupFactory::ButtonContainer ListGroupFactory::GetButtons( wxWindow* parent, ButtonList buttonModel )
- {
- ButtonContainer buttonList;
- try
- {
- for( ButtonList::iterator it = buttonModel.begin( ); it
- != buttonModel.end( ); ++it )
- {
- long id = wxNewId( );
- buttonList[ id ] = new Button( parent, id, *it );
- }
- }
- catch ( const std::exception& e )
- {
- std::cerr
- << "ButtonGroupFactory::GetButtons( wxWindow* parent, ButtonList buttonModel )"
- << "exception: " << e.what( ) << std::endl;
- }//chtac
-
- return ( buttonList ); // JPR
- }
- // ----------------------------------------------------------------------------------
- }//ecapseman
-}//ecapseman*/
-
-
+++ /dev/null
-/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
-
-/*#ifndef LISTGROUPFACTORY_H
-#define LISTGROUPFACTORY_H
-
-#include <wx/window.h>
-
-#include "system.h"
-#include "button.h"
-#include "listGroup.h"
-#include "containerSettings.h"
-
-
-namespace creaButtonContainer
-{
-
- namespace model
- {
-
- class ListGroupFactory
- {
- public:
-
- typedef creaButtonContainer::view::ListWx Button;
- // ----------------------------------------------------------------------------------
-
- typedef creaButtonContainer::view::ListGroup ButtonGroup;
- // ----------------------------------------------------------------------------------
-
- typedef creaButtonContainer::model::ContainerSettings ButtonGroupModel;
- // ----------------------------------------------------------------------------------
-
- typedef std::list< ButtonGroup* > ButtonGroupContainer;
- // ----------------------------------------------------------------------------------
-
- typedef std::map< long, Button* > ButtonContainer;
- // ----------------------------------------------------------------------------------
- //end of typedef definition
- public:
-
- ListGroupFactory( );
- // -------------------------------------------------------------------------------
-
- virtual
- ~ListGroupFactory( );
-
- ButtonGroupContainer
- CreateButtonGroupContainer( wxWindow* parent,
- ButtonGroupModel* settings );
- private:
-
-
- ButtonContainer
- GetButtons( wxWindow* parent, ButtonList buttonModel );
- };
- }//ecapseman
-}//ecapseman
-
-#endif // LISTGROUPFACTORY_H*/
/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
+ #
+ # 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.
+ # ------------------------------------------------------------------------ */
/*!
* @file structBCSettings.h
StringType iconpath; //! <The iconPath of the button.
BitmapType icon; //! <The iconPath of the button.
StringType buttonDescription; //! <The description of the button.
- FunctionEventType eventFunction; //! <The event associated to the button.
+ FunctionEventType eventFunction; //! <The event associated to the button.
- //===MLER===
- StringType type; //!<Tipo contenedor>
- StringType itemsList;
};
} //ecapseman
} //ecapseman
// ----------------------------------------------------------------------------------
Button::Button( wxWindow* parent, long id, ButtonPair* pair )
{
- std::cout<< "MLER | Button::Button()" << std::endl;
-
this->m_ButtonPair = pair;
StringType wXbuttonName = this->m_ButtonPair->first->first;
BitmapType wXicon = this->m_ButtonPair->first->second;
StringType
Button::GetButtonName( )
{
- std::cout<< "MLER | Button::GetButtonName( )" << std::endl;
return ( this->m_ButtonPair->first->first );
}
BitmapType
Button::GetIcon( )
{
- std::cout<< "MLER | Button::GetIcon( )" << std::endl;
return ( this->m_ButtonPair->first->second );
}
StringType
Button::GetDescription( )
{
- std::cout<< "MLER | Button::GetDescription( )" << std::endl;
return ( this->m_ButtonPair->second->first );
}
void
Button::Execute( )
{
- std::cout<< "MLER | Button::Execute( )" << std::endl;
try
{
TFunctor* vTable[ ] =
{ this->m_ButtonPair->second->second };
vTable[ 0 ]->Call( this->m_ButtonPair->first->first );
- std::cout<< "Call Button: " << this->m_ButtonPair->first->first <<std::endl;
}//yrt
catch ( const std::exception& e )
{
/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
+ #
+ # 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.
+ # ------------------------------------------------------------------------ */
/*!
* @file buttonGroup.cxx
: wxScrolledWindow(parent,-1, wxDefaultPosition,wxDefaultSize, wxTAB_TRAVERSAL | wxVSCROLL | wxHSCROLL | wxFULL_REPAINT_ON_RESIZE, _T("creaButtonContainer") )
{
- std::cout<< "MLER | ButtonContainerPanel::ButtonContainerPanel( )" << std::endl;
-
ButtonGroupFactory factory;
-
this->SetButtonGroupContainer( factory.CreateButtonGroupContainer( this, settings ) );
-
this->PanelInit( );
this->m_ButtonCController = new BCController( this );
this->m_ButtonCController->AddEvents( );
this->SetEventHandler( this->m_ButtonCController );
}
-
+
// ----------------------------------------------------------------------------------
- ButtonContainerPanel::~ButtonContainerPanel( )
+ ButtonContainerPanel::~ButtonContainerPanel()
{
}
-
+
// ----------------------------------------------------------------------------------
- void ButtonContainerPanel::SetButtonGroupContainer(ButtonGroupList groupContainer )
+ void ButtonContainerPanel::SetButtonGroupContainer(
+ ButtonGroupList groupContainer)
{
- std::cout<< "MLER | ButtonContainerPanel::SetButtonGroupContainer()" << std::endl;
+
this->m_ButtonGroupList = groupContainer;
}
+
// ----------------------------------------------------------------------------------
- /*void ButtonContainerPanel::SetListGroupContainer(ListGroupList groupContainer )
- {
- this->m_ListGroupList = groupContainer;
- }*/
-
- // ----------------------------------------------------------------------------------
- void ButtonContainerPanel::PanelInit( )
+ void ButtonContainerPanel::PanelInit()
{
- std::cout<< "MLER | ButtonContainerPanel::PanelInit( )" << std::endl;
try
{
-
+
// EED 20/01/2012 flag 01
- this->m_Sizer = new Sizer( 0, 1, 0, 0 );
+ this->m_Sizer = new Sizer(0, 1, 0, 0);
- for( ButtonGroupList::iterator it = this->m_ButtonGroupList.begin( ); it != this->m_ButtonGroupList.end( ); ++it )
- {
- GroupManager* manager = new GroupManager( this, *it );
- this->m_GroupManagerList[ manager->GetButtonID( ) ] = manager;
- this->m_Sizer->Add( manager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
- }
+ for (ButtonGroupList::iterator it = this->m_ButtonGroupList.begin();
+ it != this->m_ButtonGroupList.end(); ++it)
+ {
+ GroupManager* manager = new GroupManager(this, *it);
+ this->m_GroupManagerList[manager->GetButtonID()] = manager;
+ this->m_Sizer->Add(manager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5);
+ }
- this->SetSizer( this->m_Sizer );
- this->Layout( );
- this->FitSizer( );
- }//yrt
- catch ( const std::exception& e )
+ this->SetSizer(this->m_Sizer);
+ this->Layout();
+ this->FitSizer();
+ } //yrt
+ catch (const std::exception& e)
{
std::cerr << "ButtonContainerPanel::PanelInit( ) " << "exception: "
- << e.what( ) << std::endl;
- }//hctac
+ << e.what() << std::endl;
+ } //hctac
}
-
+
// ----------------------------------------------------------------------------------
- void ButtonContainerPanel::FitSizer( )
+ void ButtonContainerPanel::FitSizer()
{
- std::cout<< "MLER | ButtonContainerPanel::FitSizer( )" << std::endl;
- this->m_Sizer->Fit( this );
- this->m_Sizer->FitInside( this );
- this->SetScrollRate( 20, 20 );
- this->m_Sizer->SetSizeHints( this );
+ this->m_Sizer->Fit(this);
+ this->m_Sizer->FitInside(this);
+ this->SetScrollRate(20, 20);
+ this->m_Sizer->SetSizeHints(this);
}
// ----------------------------------------------------------------------------------
}//ecapseman
-}//ecapseman
+} //ecapseman
/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
+ #
+ # 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.
+ # ------------------------------------------------------------------------ */
/*!
* @file buttonContainerController.h
#include "buttonGroupFactory.h"
#include "containerSettings.h"
#include "buttonContainerController.h"
-//EED-MLER #include "listGroup.h"
-//EED-MLER #include "listGroupFactory.h"
/*! @namespace <creaButtonContainer>
* @brief Contains the creaButtonContainer library included in creaMaracasVisu.
* @bug The scrolled it doesn't work! (to be changed soon)
* @see <a href="http://docs.wxwidgets.org/stable/wx_wxscrolledwindow.html">wxScrolledWindow</a>
*/
- class ButtonContainerPanel : public wxScrolledWindow
+ class ButtonContainerPanel: public wxScrolledWindow
{
public:
//typedef definition
/*! @typedef std::list< ButtonGroup* > ButtonGroupList;
* @brief Defines the ButtonGroupList type.
*/
- typedef std::list< ButtonGroup* > ButtonGroupList;
+ typedef std::list<ButtonGroup*> ButtonGroupList;
// ----------------------------------------------------------------------------------
/*! @typedef std::map< long, GroupManager* > GroupManagerList;
* @brief Defines the GroupManagerList type.
*/
- typedef std::map< long, GroupManager* > GroupManagerList;
+ typedef std::map<long, GroupManager*> GroupManagerList;
// ----------------------------------------------------------------------------------
/*! @typedef wxFlexGridSizer Sizer;
* @brief Defines the Sizer type.
/*! @typedef std::list< long > KeyList;
* @brief Defines the KeyList type.
*/
- typedef std::list< long > KeyList;
+ typedef std::list<long> KeyList;
// ----------------------------------------------------------------------------------
/*! @typedef creaButtonContainer::model::ContainerSettings ButtonGroupSettings;
* @brief Defines the ButtonGroupSettings type.
*/
- typedef creaButtonContainer::model::ContainerSettings
- ButtonGroupSettings;
+ typedef creaButtonContainer::model::ContainerSettings ButtonGroupSettings;
// ----------------------------------------------------------------------------------
/*! @typedef creaButtonContainer::model::ButtonGroupFactory ButtonGroupFactory;
* @brief Defines the ButtonGroupFactory type.
*/
- typedef creaButtonContainer::model::ButtonGroupFactory
- ButtonGroupFactory;
+ typedef creaButtonContainer::model::ButtonGroupFactory ButtonGroupFactory;
// ----------------------------------------------------------------------------------
/*! creaButtonContainer::controller::ButtonContainerController BCController;
* @brief Defines the BCController type.
*/
- typedef creaButtonContainer::controller::ButtonContainerController
- BCController;
-
-
- //typedef creaButtonContainer::model::ListGroupFactory ListGroupFactory;
-
- //typedef creaButtonContainer::view::ListGroup ListGroup;
-
- //typedef std::list< ListGroup* > ListGroupList;
-
- //typedef creaButtonContainer::model::ListGroupFactory ListGroupFactory;
-
+ typedef creaButtonContainer::controller::ButtonContainerController BCController;
// ----------------------------------------------------------------------------------
//end of typedef definition
* @param parent wxWindow pointer to parent.
* @param settings ButtonGroupSettings Pointer to button container settings.
*/
- ButtonContainerPanel( wxWindow* parent, ButtonGroupSettings* settings);
+ ButtonContainerPanel(wxWindow* parent, ButtonGroupSettings* settings);
// ----------------------------------------------------------------------------------
/*! @fn ~ButtonContainerPanel( );
* @brief This is the destructor.
*/
virtual
- ~ButtonContainerPanel( );
+ ~ButtonContainerPanel();
// ----------------------------------------------------------------------------------
/*! @fn SetGroupContainer( ButtonGroupList groupContainer );
* @brief This method sets the settings to the container.
* @param groupContainer
*/
void
- SetButtonGroupContainer( ButtonGroupList groupContainer );
+ SetButtonGroupContainer(ButtonGroupList groupContainer);
// ----------------------------------------------------------------------------------
/*! @fn PanelInit( );
* This method initializes the panel.
* @exception std::bad_alloc
*/
void
- PanelInit( );
+ PanelInit();
// ----------------------------------------------------------------------------------
//void
* This method fits and organizes the sizer.
*/
void
- FitSizer( );
+ FitSizer();
// ----------------------------------------------------------------------------------
public:
friend class creaButtonContainer::controller::ButtonContainerController;
private:
- GroupManagerList m_GroupManagerList; //!<The container of managers.
- ButtonGroupList m_ButtonGroupList; //!<The list of button groups.
- BCController* m_ButtonCController; //!<Pontier to controller.
- Sizer* m_Sizer; //!<Pointer to wxSizer
-
-
- //ListGroupList m_ListGroupList;
+ GroupManagerList m_GroupManagerList; //!<The container of managers.
+ ButtonGroupList m_ButtonGroupList; //!<The list of button groups.
+ BCController* m_ButtonCController; //!<Pontier to controller.
+ Sizer* m_Sizer; //!<Pointer to wxSizer
- DECLARE_EVENT_TABLE() //!<Event Table declaration.
+ DECLARE_EVENT_TABLE()
+ //!<Event Table declaration.
};
- }//ecapseman
-}//ecapseman
+ } //ecapseman
+} //ecapseman
#endif // BUTTONCONTAINERPANEL_H
/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
+ #
+ # 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.
+ # ------------------------------------------------------------------------ */
/*!
* @file buttonGroup.cxx
namespace view
{
// ----------------------------------------------------------------------------------
- ButtonGroup::ButtonGroup( wxStaticText* groupName, ButtonContainer cartoButtons )
+ ButtonGroup::ButtonGroup(wxStaticText* groupName,
+ ButtonContainer cartoButtons)
{
- std::cout<< "MLER | ButtonGroup::ButtonGroup()" << std::endl;
this->m_GroupName = groupName;
this->m_Buttons = cartoButtons;
}
-
+
// ----------------------------------------------------------------------------------
- ButtonGroup::~ButtonGroup( )
+ ButtonGroup::~ButtonGroup()
{
}
-
+
// ----------------------------------------------------------------------------------
- ButtonGroup::ButtonContainer
- ButtonGroup::GetButtonContainer( )
+ ButtonGroup::ButtonContainer ButtonGroup::GetButtonContainer()
{
- std::cout<< "MLER | ButtonGroup::GetButtonContainer( )" << std::endl;
- return ( this->m_Buttons );
+ return (this->m_Buttons);
}
-
+
// ----------------------------------------------------------------------------------
wxStaticText*
- ButtonGroup::GetGroupName( )
+ ButtonGroup::GetGroupName()
{
- return ( this->m_GroupName );
+ return (this->m_GroupName);
}
-
+
// ----------------------------------------------------------------------------------
- ButtonGroup::IdButtonContainer
- ButtonGroup::GetButtonIdContainer( )
+ ButtonGroup::IdButtonContainer ButtonGroup::GetButtonIdContainer()
{
- std::cout<< "MLER | ButtonGroup::GetButtonIdContainer( )" << std::endl;
IdButtonContainer idContainer;
try
{
- for( ButtonContainer::iterator it = this->m_Buttons.begin( ); it
- != this->m_Buttons.end( ); ++it )
+ for (ButtonContainer::iterator it = this->m_Buttons.begin();
+ it != this->m_Buttons.end(); ++it)
{
- idContainer.push_back( ( *it ).first );
- }//rof
- }//yrt
- catch ( std::exception& e )
+ idContainer.push_back((*it).first);
+ } //rof
+ } //yrt
+ catch (std::exception& e)
{
std::cerr << "ButtonGroup::GetButtonIdContainer( )" << "exception: "
- << e.what( ) << std::endl;
- }//hctac
- return ( idContainer );
+ << e.what() << std::endl;
+ } //hctac
+ return (idContainer);
}
-
+
// ----------------------------------------------------------------------------------
Button*
- ButtonGroup::GetButton( long id )
+ ButtonGroup::GetButton(long id)
{
- std::cout<< "MLER | ButtonGroup::GetButton( long id )" << std::endl;
try
{
//return ( this->m_Buttons[ id ] ); // JPR
- }//yrt
- catch ( std::exception& e )
+ } //yrt
+ catch (std::exception& e)
{
std::cerr << "ButtonGroup::GetButton( long id )" << "exception: "
- << e.what( ) << std::endl;
- }//hctac
- return ( this->m_Buttons[ id ] );// JPR
+ << e.what() << std::endl;
+ } //hctac
+ return (this->m_Buttons[id]); // JPR
}
// ----------------------------------------------------------------------------------
}//ecapseman
-}//ecapseman
+} //ecapseman
/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
+ #
+ # 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.
+ # ------------------------------------------------------------------------ */
/*!
* @file buttonManager.cxx
namespace view
{
// ----------------------------------------------------------------------------------
- ButtonManager::ButtonManager( ) :
- wxFlexGridSizer( 0, 1, 0, 0 )
+ ButtonManager::ButtonManager()
+ : wxFlexGridSizer(0, 1, 0, 0)
{
- std::cout<< "MLER | ButtonManager::ButtonManager( )" << std::endl;
}
-
+
//EED 20/01/2012 Flag03
// ----------------------------------------------------------------------------------
- ButtonManager::ButtonManager( ButtonGroup* buttonGroup ) :
- wxFlexGridSizer( 0, 1, 0, 0 )
+ ButtonManager::ButtonManager(ButtonGroup* buttonGroup)
+ : wxFlexGridSizer(0, 1, 0, 0)
{
try
{
- std::cout<< "MLER | ButtonManager::ButtonManager( ButtonGroup* buttonGroup )" << std::endl;
- this->SetGroupName( buttonGroup->GetGroupName( ) );
- this->SetButtonManager( buttonGroup->GetButtonContainer( ) );
- }//yrt
- catch ( const std::exception& e )
+ this->SetGroupName(buttonGroup->GetGroupName());
+ this->SetButtonManager(buttonGroup->GetButtonContainer());
+ } //yrt
+ catch (const std::exception& e)
{
- std::cerr << "Button::Execute( ) exception: " << e.what( ) << std::endl;
- }//hctac
+ std::cerr << "Button::Execute( ) exception: " << e.what() << std::endl;
+ } //hctac
}
+
// ----------------------------------------------------------------------------------
- //MLER
- /*ButtonManager::ButtonManager (ListGroup* buttonGroup):
- wxFlexGridSizer( 0, 1, 0, 0 )
- {
- try
- {
- std::cout << " MLER buttonManager.cxx / ButtonManager(ListGroup* buttonGroup) " << std::endl;
- this->SetGroupName( buttonGroup->GetGroupName( ) );
- this->SetListManager(buttonGroup->GetButtonContainer( ) );
- }//yrt
- catch ( const std::exception& e )
- {
- std::cerr << "Button::Execute( ) exception: " << e.what( ) << std::endl;
- }//hctac
- }*/
- // ----------------------------------------------------------------------------------
- ButtonManager::~ButtonManager( )
+ ButtonManager::~ButtonManager()
{
}
-
+
// ----------------------------------------------------------------------------------
- void ButtonManager::SetGroupName( wxStaticText* groupName )
+ void ButtonManager::SetGroupName(wxStaticText* groupName)
{
- std::cout<< "MLER | ButtonManager::SetGroupName( wxStaticText* groupName )" << std::endl;
this->m_GroupName = groupName;
- this->Add( this->m_GroupName, -1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
+ this->Add(this->m_GroupName, -1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5);
}
-
+
// ----------------------------------------------------------------------------------
- void ButtonManager::SetButtonManager( ButtonContainer buttonContainer )
+ void ButtonManager::SetButtonManager(ButtonContainer buttonContainer)
{
- std::cout<< "MLER | ButtonManager::SetButtonManager( ButtonContainer buttonContainer )" << std::endl;
try
{
- if ( this->m_GroupName != NULL )
+ if (this->m_GroupName != NULL)
{
- this->m_GridSizer = new wxGridSizer( 0, 3, 0, 0 );
- for( ButtonContainer::iterator it = buttonContainer.begin( ); it!= buttonContainer.end( ); ++it )
+ this->m_GridSizer = new wxGridSizer(0, 3, 0, 0);
+ for (ButtonContainer::iterator it = buttonContainer.begin();
+ it != buttonContainer.end(); ++it)
{
- this->m_GridSizer->Add( ( *it ).second, -1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
+ this->m_GridSizer->Add((*it).second, -1,
+ wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5);
}
- this->Add( m_GridSizer, -1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
- }//fi
- }//yrt
- catch ( const std::exception& e )
+ this->Add(m_GridSizer, -1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5);
+ } //fi
+ } //yrt
+ catch (const std::exception& e)
{
std::cerr
- << "ButtonManager::SetButtonManager( ButtonContainer buttonContainer )"
- << "exception: " << e.what( ) << std::endl;
- }//hctac
+ << "ButtonManager::SetButtonManager( ButtonContainer buttonContainer )"
+ << "exception: " << e.what() << std::endl;
+ } //hctac
}
// ----------------------------------------------------------------------------------
- /*void ButtonManager::SetListManager(ListContainer buttonContainer )
- {
- try
- {
- if ( this->m_GroupName != NULL )
- {
- this->m_GridSizer = new wxGridSizer( 0, 3, 0, 0 );
- for( ListContainer::iterator it = buttonContainer.begin( ); it!= buttonContainer.end( ); ++it )
- {
- this->m_GridSizer->Add( ( *it ).second, -1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
- }
- this->Add( m_GridSizer, -1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
- }//fi
- }//yrt
- catch ( const std::exception& e )
- {
- std::cerr
- << "ButtonManager::SetButtonManager( ButtonContainer buttonContainer )"
- << "exception: " << e.what( ) << std::endl;
- }//hctac
- }*/
- // ----------------------------------------------------------------------------------
-
-
-
-
- void
- ButtonManager::ShowButtonManager( )
+ void ButtonManager::ShowButtonManager()
{
- std::cout<< "MLER | ButtonManager::ShowButtonManager( )" << std::endl;
- this->Show( this->m_GridSizer, true, false );
+ this->Show(this->m_GridSizer, true, false);
}
// ----------------------------------------------------------------------------------
- void
- ButtonManager::HideButtonManager( )
+ void ButtonManager::HideButtonManager()
{
- std::cout<< "MLER | ButtonManager::HideButtonManager( )" << std::endl;
- this->Show( this->m_GridSizer, false, false );
+ this->Show(this->m_GridSizer, false, false);
}
// ----------------------------------------------------------------------------------
}//ecapseman
-}//ecapseman
+} //ecapseman
/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
+ #
+ # 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.
+ # ------------------------------------------------------------------------ */
/*!
* @file buttonManager.h
#include "button.h"
#include "buttonGroup.h"
-#include "listWx.h"
-#include "listGroup.h"
/*! @namespace <creaButtonContainer>
* @brief Contains the creaButtonContainer library included in creaMaracasVisu.
* @details This class describes a wxFlexGridSizer with the button manager.
* @see <a href="http://docs.wxwidgets.org/stable/wx_wxflexGridSizer.html">wxFlexGridSizer</a>
*/
- class ButtonManager : public wxFlexGridSizer
+ class ButtonManager: public wxFlexGridSizer
{
public:
//typedef definition.
/*! @typedef std::map< long, Button* > ButtonContainer;
* @brief Defines the ButtonContainer type.
*/
- typedef std::map< long, Button* > ButtonContainer;
+ typedef std::map<long, Button*> ButtonContainer;
// ----------------------------------------------------------------------------------
- //MLER
- //typedef creaButtonContainer::view::ListGroup ListGroup;
- //typedef std::map<long, ListWx* > ListContainer;
//end of typedef definition.
public:
* @brief This is the default constructor.
* @exception std::bad_alloc
*/
- ButtonManager( );
+ ButtonManager();
// ----------------------------------------------------------------------------------
/*! @fn ButtonManager( ButtonGroup* buttonGroup );
* @brief This is the parameterized constructor
* @param buttonGroup The group of buttons.
*/
- ButtonManager( ButtonGroup* buttonGroup );
- // ----------------------------------------------------------------------------------
- //MLER
- //ButtonManager (ListGroup* buttonGroup);
+ ButtonManager(ButtonGroup* buttonGroup);
+
// ----------------------------------------------------------------------------------
/*! @fn ~ButtonManager( );
* @brief This is the destructor.
*/
virtual
- ~ButtonManager( );
+ ~ButtonManager();
// ----------------------------------------------------------------------------------
/*! @fn SetGroupName( wxStaticText* groupName );
* @details Sets the groupName.
* @param groupName
*/
void
- SetGroupName( wxStaticText* groupName );
+ SetGroupName(wxStaticText* groupName);
// ----------------------------------------------------------------------------------
/*! @fn ShowButtonManager( );
* @brief This method shows the ButtonManager
*/
void
- ShowButtonManager( );
+ ShowButtonManager();
// ----------------------------------------------------------------------------------
/*! @fn HideButtonManager( );
* @brief This method hides the ButtonManager.
* @exception std::bad_alloc
*/
void
- HideButtonManager( );
+ HideButtonManager();
// ----------------------------------------------------------------------------------
private:
// ----------------------------------------------------------------------------------
* @param buttonContainer
*/
void
- SetButtonManager( ButtonContainer buttonContainer );
+ SetButtonManager(ButtonContainer buttonContainer);
// ----------------------------------------------------------------------------------
- //MLER
- /*void
- SetListManager( ListContainer buttonContainer );*/
- // ----------------------------------------------------------------------------------
-
private:
wxStaticText* m_GroupName; //!<The name of the group.
wxGridSizer* m_GridSizer; //!<The sizer that contains the buttons.
};
- }//ecapseman
-}//ecapseman
+ } //ecapseman
+} //ecapseman
#endif // CARTOBUTTONCONTAINER_H
/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
+ #
+ # 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.
+ # ------------------------------------------------------------------------ */
/*!
* @file groupManager.cxx
namespace view
{
// ----------------------------------------------------------------------------------
- GroupManager::GroupManager( wxWindow* parent, ButtonGroup* buttonGroup ) :
- wxFlexGridSizer( 1, 0, 0, 0 )
+ GroupManager::GroupManager(wxWindow* parent, ButtonGroup* buttonGroup)
+ : wxFlexGridSizer(1, 0, 0, 0)
{
//EED 20/01/2012 flag 02
- std::cout<< "MLER | GroupManager::GroupManager( )" << std::endl;
- this->m_IDExpButton = wxNewId( );
- this->m_ExpansionButton = new ExpansionButton( parent, this->m_IDExpButton, _("-"), wxDefaultPosition, wxSize( 20, 20 ), 0, wxDefaultValidator, _T("EXPBUTTON") );
- this->Add( m_ExpansionButton, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
- this->m_ButtonManager = new ButtonManager( buttonGroup );
- this->Add( this->m_ButtonManager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
+ this->m_IDExpButton = wxNewId();
+ this->m_ExpansionButton = new ExpansionButton(parent, this->m_IDExpButton,
+ _("-"), wxDefaultPosition, wxSize(20, 20), 0, wxDefaultValidator,
+ _T("EXPBUTTON"));
+ this->Add(m_ExpansionButton, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5);
+ this->m_ButtonManager = new ButtonManager(buttonGroup);
+ this->Add(this->m_ButtonManager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP,
+ 5);
}
-
- /*GroupManager::GroupManager(wxWindow* parent, ListGroup* buttonGroup ):
- wxFlexGridSizer( 1, 0, 0, 0 )
- {
- std::cout << " MLER groupManager.cxx / GroupManager(ListGroup* buttonGroup) " << std::endl;
- this->m_IDExpButton = wxNewId( );
- this->m_ExpansionButton = new ExpansionButton( parent, this->m_IDExpButton, _("-"), wxDefaultPosition, wxSize( 20, 20 ), 0, wxDefaultValidator, _T("EXPBUTTON") );
- this->Add( m_ExpansionButton, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
- this->m_ButtonManager = new ButtonManager( buttonGroup );
- this->Add( this->m_ButtonManager, 1, wxALL | wxALIGN_LEFT | wxALIGN_TOP, 5 );
- }//MLER*/
// ----------------------------------------------------------------------------------
- GroupManager::~GroupManager( )
+ GroupManager::~GroupManager()
{
}
-
+
// ----------------------------------------------------------------------------------
- long
- GroupManager::GetButtonID( )
+ long GroupManager::GetButtonID()
{
- std::cout<< "MLER | GroupManager::GetButtonID( )" << std::endl;
- return ( this->m_IDExpButton );
+ return (this->m_IDExpButton);
}
-
+
// ----------------------------------------------------------------------------------
GroupManager::ExpansionButton*
- GroupManager::GetButton( )
+ GroupManager::GetButton()
{
- std::cout<< "MLER | GroupManager::GetButton( )" << std::endl;
- return ( this->m_ExpansionButton );
+ return (this->m_ExpansionButton);
}
-
+
// ----------------------------------------------------------------------------------
ButtonManager*
- GroupManager::GetButtonManager( )
+ GroupManager::GetButtonManager()
{
- return ( this->m_ButtonManager );
+ return (this->m_ButtonManager);
}
-
+
// ----------------------------------------------------------------------------------
- void
- GroupManager::SetButtonID( long id )
+ void GroupManager::SetButtonID(long id)
{
this->m_IDExpButton = id;
}
-
+
// ----------------------------------------------------------------------------------
- void
- GroupManager::SetButton( ExpansionButton* button )
+ void GroupManager::SetButton(ExpansionButton* button)
{
this->m_ExpansionButton = button;
}
-
+
// ----------------------------------------------------------------------------------
- void
- GroupManager::SetButtonManager( ButtonManager* container )
+ void GroupManager::SetButtonManager(ButtonManager* container)
{
this->m_ButtonManager = container;
}
-
+
// ----------------------------------------------------------------------------------
- void
- GroupManager::HideSubPanel( bool hide )
+ void GroupManager::HideSubPanel(bool hide)
{
- std::cout<< "MLER | GroupManager::HideSubPanel( bool hide )" << std::endl;
- if ( hide == true )
+ if (hide == true)
{
- this->m_ButtonManager->HideButtonManager( );
- }//fi
+ this->m_ButtonManager->HideButtonManager();
+ } //fi
else
{
- this->m_ButtonManager->ShowButtonManager( );
- }//esle
+ this->m_ButtonManager->ShowButtonManager();
+ } //esle
}
// ----------------------------------------------------------------------------------
}//ecapseman
-}//ecapseman
+} //ecapseman
/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
+ #
+ # 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.
+ # ------------------------------------------------------------------------ */
/*!
* @file groupManager.h
#include "buttonManager.h"
#include "buttonGroup.h"
-#include "listGroup.h"
/*! @namespace <creaButtonContainer>
* @brief Contains the creaButtonContainer library included in creaMaracasVisu.
* @details This class describes a wxFlexGridSizer with the group manager.
* @see <a href="http://docs.wxwidgets.org/stable/wx_wxflexGridSizer.html">wxFlexGridSizer</a>
*/
- class GroupManager : public wxFlexGridSizer
+ class GroupManager: public wxFlexGridSizer
{
public:
//typedef definition
*/
typedef wxButton ExpansionButton;
// ----------------------------------------------------------------------------------
- //MLER
- //typedef creaButtonContainer::view::ListGroup ListGroup;
//end of typedef definition.
public:
* @param parent The wxWindow* parent
* @param buttonGroup The pointer to the ButtonGroup.
*/
- GroupManager( wxWindow* parent, ButtonGroup* buttonGroup );
+ GroupManager(wxWindow* parent, ButtonGroup* buttonGroup);
// ----------------------------------------------------------------------------------
-
- //MLER
- //GroupManager( wxWindow* parent, ListGroup* listGroup );
/*! @fn ~GroupManager( );
* @brief This is the destructor.
- */
+ */
virtual
- ~GroupManager( );
+ ~GroupManager();
// ----------------------------------------------------------------------------------
/*! @fn GetButtonID( );
* @brief This method returns the Button ID.
* @return
*/
long
- GetButtonID( );
+ GetButtonID();
// ----------------------------------------------------------------------------------
/*! @fn GetButton( );
* @brief This method returns the expansion button.
* @return
*/
ExpansionButton*
- GetButton( );
+ GetButton();
// ----------------------------------------------------------------------------------
/*! @fn GetButtonManager( );
* @brief This method returns the manager of the buttons.
* @return
*/
ButtonManager*
- GetButtonManager( );
+ GetButtonManager();
// ----------------------------------------------------------------------------------
/*! @fn SetButtonID( long id );
* @brief This method sets the ID of the expansion button.
* @param id
*/
void
- SetButtonID( long id );
+ SetButtonID(long id);
// ----------------------------------------------------------------------------------
/*! @fn SetButton( ExpansionButton* button );
* @brief This method sets the expansion button.
* @param button
*/
void
- SetButton( ExpansionButton* button );
+ SetButton(ExpansionButton* button);
// ----------------------------------------------------------------------------------
/*! @fn SetButtonManager( ButtonManager* manager );
* @brief This method Sets the ButtonManager
* @param manager A pointer with the manager.
*/
void
- SetButtonManager( ButtonManager* manager );
+ SetButtonManager(ButtonManager* manager);
// ----------------------------------------------------------------------------------
/*! @fn HideSubPanel( bool hide );
* @brief This method hides the subPanel (Hides the buttons).
* @param hide True if you need to hide the buttons.
*/
void
- HideSubPanel( bool hide );
+ HideSubPanel(bool hide);
private:
long m_IDExpButton; //!<ID of "+""-" expansion button.
ExpansionButton* m_ExpansionButton; //!<The expansion button.
ButtonManager* m_ButtonManager; //!<The button manager.
-
-
};
- }//ecapseman
-}//ecapseman
+ } //ecapseman
+} //ecapseman
#endif // GROUPMANAGER_H
+++ /dev/null
-/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
-
-/*#include "listGroup.h"
-
-namespace creaButtonContainer
-{
- namespace view
- {
- // ----------------------------------------------------------------------------------
- ListGroup::ListGroup( wxStaticText* groupName, ButtonContainer cartoButtons )
- {
- this->m_GroupName = groupName;
- this->m_Buttons = cartoButtons;
- }
-
- // ----------------------------------------------------------------------------------
- ListGroup::~ListGroup( )
- {
- }
-
- // ----------------------------------------------------------------------------------
- ListGroup::ButtonContainer
- ListGroup::GetButtonContainer( )
- {
- return ( this->m_Buttons );
- }
-
- // ----------------------------------------------------------------------------------
- wxStaticText*
- ListGroup::GetGroupName( )
- {
- return ( this->m_GroupName );
- }
-
- // ----------------------------------------------------------------------------------
- ListGroup::IdButtonContainer
- ListGroup::GetButtonIdContainer( )
- {
- IdButtonContainer idContainer;
- try
- {
- for( ButtonContainer::iterator it = this->m_Buttons.begin( ); it
- != this->m_Buttons.end( ); ++it )
- {
- idContainer.push_back( ( *it ).first );
- }//rof
- }//yrt
- catch ( std::exception& e )
- {
- std::cerr << "ButtonGroup::GetButtonIdContainer( )" << "exception: "
- << e.what( ) << std::endl;
- }//hctac
- return ( idContainer );
- }
-
- // ----------------------------------------------------------------------------------
- ListGroup::Button*
- ListGroup::GetButton( long id )
- {
- try
- {
- //return ( this->m_Buttons[ id ] ); // JPR
- }//yrt
- catch ( std::exception& e )
- {
- std::cerr << "ButtonGroup::GetButton( long id )" << "exception: "
- << e.what( ) << std::endl;
- }//hctac
- return ( this->m_Buttons[ id ] );// JPR
- }
- // ----------------------------------------------------------------------------------
- }//ecapseman
-}//ecapseman*/
-
-
+++ /dev/null
-/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
-
-#ifndef LISTGROUP_H
-#define LISTGROUP_H
-
-/*//Library Definition
-#include <wx/stattext.h>
-
-#include <map>
-#include <list>
-#include <exception>
-
-#include "listWx.h"
-
-namespace creaButtonContainer
-{
-
- namespace view
- {
-
- class ListGroup
- {
- public:
-
- typedef creaButtonContainer::view::ListWx Button;
-
- typedef std::map< long, Button* > ButtonContainer;
-
- typedef std::list< long > IdButtonContainer;
- public:
-
- ListGroup( wxStaticText* groupName, ButtonContainer buttons );
- // ----------------------------------------------------------------------------------
-
- virtual
- ~ListGroup( );
- // ----------------------------------------------------------------------------------
-
- Button*
- GetButton( long id );
- // ----------------------------------------------------------------------------------
-
- ButtonContainer
- GetButtonContainer( );
- // ----------------------------------------------------------------------------------
-
- IdButtonContainer
- GetButtonIdContainer( );
- // ----------------------------------------------------------------------------------
-
- wxStaticText*
- GetGroupName( );
- // ----------------------------------------------------------------------------------
- private:
- wxStaticText* m_GroupName; //!<A pointer with the wxStaticText of name of the group.
- ButtonContainer m_Buttons; //!<A container with buttons.
- };
- }//ecapseman
-}//ecapseman*/
-
-#endif // LISTGROUP_H
/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
-
-
+ #
+ # 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.
+ # ------------------------------------------------------------------------ */
#include "listWx.h"
{
namespace view
{
+ // ----------------------------------------------------------------------------------
- ListWx::ListWx( wxWindow* parent, wxWindowID id,ItemsMap iMap , TFunctor* functor ):
- wxPanel(parent,id)
+ ListWx::ListWx(wxWindow* parent, wxWindowID id, ItemsVector iVector,
+ TFunctor* functor)
+ : wxPanel(parent, id)
{
- std::cout<< "MLER | ListWx::ListWx()" << std::endl;
- this->m_itemsMap = iMap;
+ this->m_Functor = functor;
- this->functor = functor;
+ wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL);
- wxFlexGridSizer* sizer = new wxFlexGridSizer(1);
- sizer->Add( new wxStaticText(this,-1, _("Lista")));
- sizer->AddGrowableCol(0);
this->SetSizer(sizer);
- listBox = new wxListBox(this,-1);
- m_functorEnabled = true;
-
- std::cout << "is ListBox"<< listBox->GetId()<< std::endl;
- // this->Connect( -1,wxEVT_COMMAND_CHOICE_SELECTED,
- // (wxObjectEventFunction) (void (wxPanel::*)(wxEvent&))(&ListWx::ListEvent) );
- //this->Connect(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED,
- // wxCommandEventHandler(ListWx::ListEvent));
+ this->m_ListBox = new wxListBox(this, -1);
+ this->m_FunctorEnabled = true;
this->Connect(wxEVT_COMMAND_LISTBOX_SELECTED,
- wxCommandEventHandler(ListWx::ListEvent));
+ wxCommandEventHandler(ListWx::OnListEvent));
- //FillList(0);
-
-
- sizer->Add(listBox,1,wxGROW);
+ if (!iVector.empty())
+ {
+ for (ItemsVector::iterator it = iVector.begin(); it != iVector.end();
+ ++it)
+ {
+ std::string key = it->first;
+ this->m_ListBox->Append(wxString(key.c_str(), wxConvUTF8));
+ }
+ }
+ sizer->Add(this->m_ListBox, 1, wxGROW);
}
-
// ----------------------------------------------------------------------------------
- ListWx::ListWx( wxWindow* parent, wxWindowID id, ItemsMap iMap,TFunctor* functor,
- std::string c) : wxPanel(parent,id)
+ ListWx::ListWx(wxWindow* parent, wxWindowID id, TFunctor* functor)
+ : wxPanel(parent, id)
{
- std::cout<< "MLER | ListWx::ListWx" << std::endl;
+ this->m_Functor = functor;
- this->m_itemsMap = iMap;
- this->functor = functor;
+ wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL);
- wxFlexGridSizer* sizer = new wxFlexGridSizer(1);
-
- sizer->Add( new wxStaticText(this,-1, _("Lista Configurable")));
- sizer->AddGrowableCol(0);
this->SetSizer(sizer);
- listBox = new wxListBox(this,-1);
-
- std::cout << "is ListBox"<< listBox->GetId()<< std::endl;
-
- button = new wxButton(this, 1, _("Configurar"),
- wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, wxString(c.c_str(), wxConvUTF8));
+ this->m_ListBox = new wxListBox(this, -1);
+ this->m_FunctorEnabled = true;
- sizer->Add(listBox,1,wxGROW);
- sizer->Add(button,2,wxGROW);
-
- // m_listConfigPanel = new ListConfigPanel(this,1,_("Configuracion"),m_itemsMap);
- m_listConfig = new ListConfig(m_itemsMap);
-
- //wxEVT_COMMAND_LISTBOX_SELECTED
this->Connect(wxEVT_COMMAND_LISTBOX_SELECTED,
- wxCommandEventHandler(ListWx::ListEvent));
+ wxCommandEventHandler(ListWx::OnListEvent));
- //FillList();
+ sizer->Add(this->m_ListBox, 1, wxGROW);
}
-
// ----------------------------------------------------------------------------------
- ListWx::~ListWx( )
+ ListWx::~ListWx()
{
- }
- // ----------------------------------------------------------------------------------
- void
- ListWx::FillList()
- {
- this->listBox->Clear();
- std::cout<<"clear"<<std::endl;
- for (ItemsMap::iterator it=this->m_itemsMap.begin(); it!=this->m_itemsMap.end(); ++it)
- {
- std::string key = it->first;
- int v = listBox->FindString(wxString(key.c_str(), wxConvUTF8));
- if(v == -1)
- listBox->Append( wxString(key.c_str(), wxConvUTF8));
- }
- listBox->Update();
- this->Update();
}
+
// ----------------------------------------------------------------------------------
- void
- ListWx::ListEvent( wxCommandEvent& event )
+ void ListWx::OnListEvent(wxCommandEvent& event)
{
- if(!this->IsFunctorEnabled())
+ if (!this->IsFunctorEnabled())
return;
- else{
- try
+ else
{
- std::cout<< "MLER | ListWx::ListEvent( wxListEvent& event )" << std::endl;
-
- int iSelection;
- iSelection = listBox->GetSelection();
+ try
+ {
+ std::cout << "MLER | ListWx::OnListEvent( wxListEvent& event )"
+ << std::endl;
- wxString itemNom = listBox->GetString(iSelection);
- std::string itemNomC = std::string(itemNom.mb_str());
+ int iSelection;
+ iSelection = this->m_ListBox->GetSelection();
- this->functor->Call(itemNomC);
- std::cout<<"mmmmmmmmmmmmmmmmmmmmmmm"<<std::endl;
+ wxString itemNom = this->m_ListBox->GetString(iSelection);
+ std::string itemNomC = std::string(itemNom.mb_str());
+ this->m_Functor->Call(itemNomC);
- }//yrt
- catch ( const std::exception& e )
- {
- std::cerr
- << "ButtonContainerController::ButtonEvent( wxCommandEvent& event ) exception: "
- << e.what( ) << std::endl;
- }//hctac
+ } //yrt
+ catch (const std::exception& e)
+ {
+ std::cerr
+ << "ButtonContainerController::ButtonEvent( wxCommandEvent& event ) exception: "
+ << e.what() << std::endl;
+ } //hctac
}
}
// ----------------------------------------------------------------------------------
-
-
- ListWx::ItemsMap
- ListWx::GetItemsMap()
- {
- return m_itemsMap;
- }
-
void ListWx::SetFunctorEnabled(const bool& enabled)
{
- m_functorEnabled = enabled;
+ this->m_FunctorEnabled = enabled;
}
-
+ // ----------------------------------------------------------------------------------
bool ListWx::IsFunctorEnabled() const
{
- return m_functorEnabled;
- }
-
- ListWx::TFunctor*
- ListWx::GetWxListFunctor()
- {
- return this->functor;
- }
-
- void ListWx::AddItemToMap(std::string key, wxPanel* panel)
- {
- this->m_itemsMap[key] = panel;
+ return this->m_FunctorEnabled;
}
+ // ----------------------------------------------------------------------------------
wxListBox*
- ListWx::GetListBox() const
- {
- return this->listBox;
- }
-
-
- void ListWx::DeleteItemFromMap(std::string key)
- {
- std::cout<< "MLER | ListConfig::DelFinalItems(std::string name)" << std::endl;
- ItemsMap::iterator it1;
-
- //if(m_finalItems.empty())
- std::cout<<"name item -----test A"<< key <<std::endl;
- if(!this->m_itemsMap.empty())
- {
- for(ItemsMap::iterator it= this->m_itemsMap.begin(); it!=this->m_itemsMap.end();++it)
+ ListWx::GetListBox() const
{
- if((it->first).compare(key) == 0 )
- {
- std::cout << "Item a borrar: "<< key << std::endl;
- it1 = m_itemsMap.find(key);
- m_itemsMap.erase(it1);
-
- }
+ return this->m_ListBox;
}
- }
- std::cout<< "si borre tengo --- test 2 "<< m_itemsMap.size() << std::endl;
- }
-
-
- }//ecapseman
-}//ecapseman
+ } //ecapseman
+} //ecapseman
# knowledge of the CeCILL-B license and that you accept its terms.
# ------------------------------------------------------------------------ */
+/*!
+ * @file listWx.h
+ * @brief This contains the ListWx class.
+ * @author Monica ESPINOSA (espinosa[AT]creatis.insa-lyon.fr)
+ * @date 2015-01-02
+ */
+
#ifndef LISTWX_H
#define LISTWX_H
//#include <wx/bmpbuttn.h>
#include <wx/panel.h>
-#include <wx/image.h>
#include <wx/string.h>
-#include <wx/bitmap.h>
-//#include <wx/listctrl.h>
-#include <wx/control.h>
-#include <wx/choice.h>
#include <wx/listbox.h>
#include <wx/wx.h>
+#include <wx/event.h>
-#include <map>
#include <string>
-#include "functor.h"
-#include <wx/event.h>
+#include <vector>
+#include <utility>
+#include "functor.h"
#include "system.h"
-#include "listConfig.h"
-//#include "listConfigPanel.h"
-
-namespace creaButtonContainer {
-
-namespace view {
-
-class ListWx: public wxPanel {
-public:
-
- typedef creaButtonContainer::model::TFunctor TFunctor;
- typedef std::map<std::string, wxPanel*> ItemsMap;
- typedef creaButtonContainer::model::ListConfig ListConfig;
-
-public:
-
- ListWx(wxWindow* parent, wxWindowID id, ItemsMap iMap, TFunctor* functor);
- ListWx(wxWindow* parent, wxWindowID id, ItemsMap iMap, TFunctor* functor,
- std::string c);
- // ----------------------------------------------------------------------------------
-
- virtual
- ~ListWx();
- // ----------------------------------------------------------------------------------
- long
- GetID();
-
- void
- FillList();
-
- void
- ListEvent(wxCommandEvent& event);
-
- ItemsMap
- GetItemsMap();
-
- TFunctor*
- GetWxListFunctor();
-
- void SetFunctorEnabled(const bool& enabled);
-
- void AddItemToMap(std::string key, wxPanel* panel);
-
- void DeleteItemFromMap(std::string key);
-
- bool IsFunctorEnabled() const;
-
- wxListBox*
- GetListBox() const;
-
- // ----------------------------------------------------------------------------------
-private:
- ItemsMap m_itemsMap; //!
- TFunctor* functor;
- wxListBox* listBox;
- wxFlexGridSizer* sizer;
- wxButton* button;
- bool m_functorEnabled;
- ListConfig* m_listConfig;
-};
-} //ecapseman
+/*! @namespace <creaButtonContainer>
+ * @brief Contains the creaButtonContainer library included in creaMaracasVisu.
+ */
+namespace creaButtonContainer
+{
+ /*! @namespace <creaButtonContainer::view>
+ * @brief Contains the implementation of the view in creaButtonContainer library.
+ * @see <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC Software Architecture</a>
+ */
+ namespace view
+ {
+ /*! @class ListWx listWx.h "listWx.h"
+ * @brief This class contains the list in the panel.
+ * @details This class contains the information of a list, it derives from wxPanel.
+ * @see <a href="http://docs.wxwidgets.org/stable/wx_wxpanel.html">wxPanel</a>
+ */
+ class ListWx: public wxPanel
+ {
+ public:
+ //typedef definition.
+ // ----------------------------------------------------------------------------------
+ /*! typedef creaButtonContainer::model::TFunctor TFunctor;
+ * @brief Defines the TFunctor type.
+ */
+ typedef creaButtonContainer::model::TFunctor TFunctor;
+ // ----------------------------------------------------------------------------------
+ /*! @typedef std::pair<std::string, wxPanel*> ListAction;
+ * @brief Defines the ListAction type.
+ * First is the button name(item list), Second FunctionEventType
+ */
+ typedef std::pair<std::string, wxPanel*> ListAction;
+ // ----------------------------------------------------------------------------------
+ /*! @typedef std::vector<ListAction> ItemsVector;
+ * @brief Defines the Items Vector type.
+ */
+ typedef std::vector<ListAction> ItemsVector;
+ // ----------------------------------------------------------------------------------
+ //end of typedef definition.
+
+ public:
+ // ----------------------------------------------------------------------------------
+ /*! @fn ListWx( wxWindow* parent, wxWindowID id, ItemsVector iVector,
+ TFunctor* functor );
+ * @brief This is the parameterized constructor.
+ * @param parent The wxWindow pointer to parent.
+ * @param id The wxID of the button.
+ * @param ItemsVector //The items Vector (name, wxPanel).
+ * @param TFunctor //The functor of items list.
+ */
+ ListWx(wxWindow* parent, wxWindowID id, ItemsVector iVector,
+ TFunctor* functor);
+ // ----------------------------------------------------------------------------------
+ /*! @fn ListWx( wxWindow* parent, wxWindowID id, TFunctor* functor );
+ * @brief This is the parameterized constructor.
+ * @param parent The wxWindow pointer to parent.
+ * @param id The wxID of the button.
+ * @param TFunctor //The functor of items list.
+ */
+ ListWx(wxWindow* parent, wxWindowID id, TFunctor* functor);
+ // ----------------------------------------------------------------------------------
+ /*! @fn virtual ~Button( );
+ * @brief This is the destructor.
+ */
+ virtual
+ ~ListWx();
+ // ----------------------------------------------------------------------------------
+ /*! @fn void OnListEvent( wxCommandEvent& event );
+ * @brief This method calls the functor when
+ * an item of list is clicked.
+ * @param event
+ */
+ void
+ OnListEvent(wxCommandEvent& event);
+ // ----------------------------------------------------------------------------------
+ /*! @fn void SetFunctorEnabled( wxCommandEvent& event );
+ * @brief This method set the state of Functor (enable or disable)
+ * @param enabled
+ */
+ void
+ SetFunctorEnabled(const bool& enabled);
+ // ----------------------------------------------------------------------------------
+ /*! @fn bool OnListEvent( wxCommandEvent& event );
+ * @brief This method ask the state of functor.
+ * @return
+ */
+ bool
+ IsFunctorEnabled() const;
+ // ----------------------------------------------------------------------------------
+ /*! @fn wxListBox* GetListBox() const;
+ * @brief This method returns the wxlistBox.
+ * @exception std::bad_alloc
+ * @return wxListBox
+ */
+ wxListBox*
+ GetListBox() const;
+ // ----------------------------------------------------------------------------------
+
+ private:
+
+ wxListBox* m_ListBox; //!< This is the Items List.
+ TFunctor* m_Functor; //!< This is the functor.
+ bool m_FunctorEnabled; //!< Disable or Enable Functor.
+
+ };
+ } //ecapseman
} //ecapseman
#endif // LISTWX_H
/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
+ #
+ # 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.
+ # ------------------------------------------------------------------------ */
/*!
* @file buttonContainerSettings.cxx
namespace creaPanelButtonContainer
{
// ----------------------------------------------------------------------------------
- ButtonContainerSettings::ButtonContainerSettings( )
+ ButtonContainerSettings::ButtonContainerSettings()
{
}
// ----------------------------------------------------------------------------------
- ButtonContainerSettings::~ButtonContainerSettings( )
+ ButtonContainerSettings::~ButtonContainerSettings()
{
}
-
+
// ----------------------------------------------------------------------------------
- ButtonContainerSettings::ButtonGroupMap
- ButtonContainerSettings::GetButtonGroupContainer( )
+ ButtonContainerSettings::ButtonGroupMap ButtonContainerSettings::GetButtonGroupContainer()
{
- std::cout<< "MLER | ButtonContainerSettings:: GetButtonGroupContainer( ) " << std::endl;
return m_ButtonGroupContainer;
}
// ----------------------------------------------------------------------------------
- ButtonContainerSettings::KeyMapList
- ButtonContainerSettings::GetGroupNameList( )
+ ButtonContainerSettings::KeyMapList ButtonContainerSettings::GetGroupNameList()
{
- std::cout<< "MLER | ButtonContainerSettings:: GetGroupNameList( ) " << std::endl;
return m_GroupNameList;
}
// ----------------------------------------------------------------------------------
//GetButtonPanel returns the panel associated to the buttonAction
- ButtonContainerSettings::PanelButton
- ButtonContainerSettings::GetPanelButton( const StringType &buttonName )
+ ButtonContainerSettings::PanelButton ButtonContainerSettings::GetPanelButton(
+ const StringType &buttonName)
{
try
{
- std::cout<< "MLER | ButtonContainerSettings:: GetPanelButton " << std::endl;
-
- for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
- != this->m_GroupNameList.end( ); ++it )
- {
-
- //std::cout<< std::endl<<"MLER ButtonContainerSettings // GetPanelButton :: it "<< *it<<std::endl;
-
- ButtonList list = this->m_ButtonGroupContainer[ ( *it ) ];
- for( ButtonList::iterator it1 = list.begin( ); it1 != list.end( ); ++it1 )
- {
- if ( ( *it1 )->first->first.compare( buttonName ) == 0 )
- {
- return ( ( *it1 )->second->second );
- }//fi
- }//rof
- }//rof
- }//yrt
- catch ( std::exception& e )
- {
- std::cerr
- << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
- << "exception: " << e.what( ) << std::endl;
- }//hctac
- return ( NULL );
- }
- // ----------------------------------------------------------------------------------
- ButtonContainerSettings::PanelButton
- ButtonContainerSettings::GetPanelList( const StringType &buttonName )
- {
- std::cout<< "MLER | ButtonContainerSettings:: GetPanelList " << std::endl;
-
-
- try {
-
- for( ItemsMap::iterator it= this->m_itemsMap.begin(); it!=this->m_itemsMap.end(); ++it )
+ for (KeyMapList::iterator it = this->m_GroupNameList.begin();
+ it != this->m_GroupNameList.end(); ++it)
{
- if( (*it).first.compare(buttonName) == 0 )
+ ButtonList list = this->m_ButtonGroupContainer[(*it)];
+ for (ButtonList::iterator it1 = list.begin(); it1 != list.end(); ++it1)
{
- std::cout<<"debe retornar" << std::endl;
- return ( (*it).second );
- }
- }
-
-
- }catch ( std::exception& e )
+ if ((*it1)->first->first.compare(buttonName) == 0)
+ return ((*it1)->second->second);
+ } //rof
+ } //rof
+ } //yrt
+ catch (std::exception& e)
{
std::cerr
- << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
- << "exception: " << e.what( ) << std::endl;
- }//hctac
+ << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
+ << "exception: " << e.what() << std::endl;
+ } //hctac
return (NULL);
-
}
-
// ----------------------------------------------------------------------------------
ButtonContainerSettings::ButtonGroupSettings*
- ButtonContainerSettings::GetButtonGroupSettings( TFunctor* functor )
+ ButtonContainerSettings::GetButtonGroupSettings(TFunctor* functor)
{
ButtonGroupSettings* settings = NULL;
try
{
- std::cout<< "MLER | ButtonContainerSettings:: GetButtonGroupSettings() " << std::endl;
- settings = new ButtonGroupSettings( );
+ settings = new ButtonGroupSettings();
- for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
- != this->m_GroupNameList.end( ); ++it )
+ for (KeyMapList::iterator it = this->m_GroupNameList.begin();
+ it != this->m_GroupNameList.end(); ++it)
{
- ButtonList list = this->m_ButtonGroupContainer[ ( *it ) ];
+ ButtonList list = this->m_ButtonGroupContainer[(*it)];
- for( ButtonList::iterator it1 = list.begin( ); it1 != list.end( ); ++it1 )
+ for (ButtonList::iterator it1 = list.begin(); it1 != list.end(); ++it1)
{
- std::cout<<"MLER ButtonContainerSettings // GetButtonGroupSettings :: groupName "<< *it<<std::endl;
- std::cout<<"MLER ButtonContainerSettings // GetButtonGroupSettings :: buttonName "<< ( *it1 )->first->first <<std::endl;
- settings->AddButton( ( *it ), ( *it1 )->first->first, ( *it1 )->first->second, ( *it1 )->second->first, functor );
- }//rof
- }//rof
- }//yrt
- catch ( std::exception& e )
+ settings->AddButton((*it), (*it1)->first->first,
+ (*it1)->first->second, (*it1)->second->first, functor);
+ } //rof
+ } //rof
+ } //yrt
+ catch (std::exception& e)
{
std::cerr
- << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
- << "exception: " << e.what( ) << std::endl;
- }//hctac
- return ( settings );
+ << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
+ << "exception: " << e.what() << std::endl;
+ } //hctac
+ return (settings);
}
// ----------------------------------------------------------------------------------
- void
- ButtonContainerSettings::SetButtonGroupContainer(
- ButtonGroupMap m_ButtonGroupContainer )
+ void ButtonContainerSettings::SetButtonGroupContainer(
+ ButtonGroupMap m_ButtonGroupContainer)
{
- std::cout<< "MLER | ButtonContainerSettings:: SetButtonGroupContainer() " << std::endl;
this->m_ButtonGroupContainer = m_ButtonGroupContainer;
}
// ----------------------------------------------------------------------------------
- void
- ButtonContainerSettings::SetGroupNameList( KeyMapList m_GroupNameList )
+ void ButtonContainerSettings::SetGroupNameList(KeyMapList m_GroupNameList)
{
- std::cout<< "MLER | ButtonContainerSettings:: SetGroupNameList() " << std::endl;
this->m_GroupNameList = m_GroupNameList;
}
-
+
// ----------------------------------------------------------------------------------
- void
- ButtonContainerSettings::AddButton( const StringType & groupName,
- const StringType &buttonName, const wxBitmap &icon,
- const StringType &buttonDescription, PanelButton panel )
+ void ButtonContainerSettings::AddButton(const StringType & groupName,
+ const StringType &buttonName, const wxBitmap &icon,
+ const StringType &buttonDescription, PanelButton panel)
{
try
{
- std::cout<< "MLER | ButtonContainerSettings:: AddButton( const StringType & groupName ..) " << std::endl;
-
//builds the button information
//I don't know the try catch doesn't work!!
- if ( panel == NULL )
+ if (panel == NULL)
{
std::cerr << "ButtonContainerSettings::AddButton"
- << "exception: NULL Pointer in panel " << std::endl;
- exit( 1 );
+ << "exception: NULL Pointer in panel " << std::endl;
+ exit(1);
}
- panel->Show( false );
+ panel->Show(false);
- ButtonPair* pair = new ButtonPair(
- new ButtonInfo( buttonName, icon ),
- new ActionButton( buttonDescription, panel ) );
+ ButtonPair* pair = new ButtonPair(new ButtonInfo(buttonName, icon),
+ new ActionButton(buttonDescription, panel));
- for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
- != this->m_GroupNameList.end( ); ++it )
+ for (KeyMapList::iterator it = this->m_GroupNameList.begin();
+ it != this->m_GroupNameList.end(); ++it)
{
- if ( ( *it ).compare( groupName ) == 0 )
+ if ((*it).compare(groupName) == 0)
{
- this->m_ButtonGroupContainer[ groupName ].push_back( pair );
+ this->m_ButtonGroupContainer[groupName].push_back(pair);
return;
- }//fi
- }//rof
- this->m_GroupNameList.push_back( groupName );
- this->m_ButtonGroupContainer[ groupName ].push_back( pair );
- }//yrt
- catch ( const std::exception& e )
+ } //fi
+ } //rof
+ this->m_GroupNameList.push_back(groupName);
+ this->m_ButtonGroupContainer[groupName].push_back(pair);
+ } //yrt
+ catch (const std::exception& e)
{
std::cerr
- << "ButtonContainerSettings::AddButton( const StringType & groupName,"
- << "const StringType &buttonName, const StringType &iconpath,"
- << "const StringType &buttonDescription, PanelButton panel ) "
- << "exception: " << e.what( ) << std::endl;
- }//hctac
+ << "ButtonContainerSettings::AddButton( const StringType & groupName,"
+ << "const StringType &buttonName, const StringType &iconpath,"
+ << "const StringType &buttonDescription, PanelButton panel ) "
+ << "exception: " << e.what() << std::endl;
+ } //hctac
}
-
+
// ----------------------------------------------------------------------------------
- void
- ButtonContainerSettings::AddButton( BCPSettingsStruct* info )
+ void ButtonContainerSettings::AddButton(BCPSettingsStruct* info)
{
try
{
- std::cout<< "MLER | ButtonContainerSettings:: AddButton( BCPSettingsStruct* info )" << std::endl;
-
//builds the button information
//I don't know the try catch doesn't work!!
- if ( info->panel == NULL )
+ if (info->panel == NULL)
{
std::cerr << "ButtonContainerSettings::AddButton"
- << "exception: NULL Pointer in panel " << std::endl;
- exit( 1 );
+ << "exception: NULL Pointer in panel " << std::endl;
+ exit(1);
}
- info->panel->Show( false );
+ info->panel->Show(false);
ButtonPair* pair = new ButtonPair(
- new ButtonInfo( info->buttonName, info->icon ),
- new ActionButton( info->buttonDescription, info->panel ) );
- for( KeyMapList::iterator it = this->m_GroupNameList.begin( ); it
- != this->m_GroupNameList.end( ); ++it )
+ new ButtonInfo(info->buttonName, info->icon),
+ new ActionButton(info->buttonDescription, info->panel));
+ for (KeyMapList::iterator it = this->m_GroupNameList.begin();
+ it != this->m_GroupNameList.end(); ++it)
{
- if ( ( *it ).compare( info->groupName ) == 0 )
+ if ((*it).compare(info->groupName) == 0)
{
- this->m_ButtonGroupContainer[ info->groupName ].push_back( pair );
+ this->m_ButtonGroupContainer[info->groupName].push_back(pair);
return;
- }//fi
- }//rof
- this->m_GroupNameList.push_back( info->groupName );
- this->m_ButtonGroupContainer[ info->groupName ].push_back( pair );
- }//yrt
- catch ( const std::exception& e )
+ } //fi
+ } //rof
+ this->m_GroupNameList.push_back(info->groupName);
+ this->m_ButtonGroupContainer[info->groupName].push_back(pair);
+ } //yrt
+ catch (const std::exception& e)
{
std::cerr
- << "ButtonContainerSettings::AddButton( BCPSettingsStruct* info )"
- << "exception: " << e.what( ) << std::endl;
- exit( 1 );
- }//hctac
+ << "ButtonContainerSettings::AddButton( BCPSettingsStruct* info )"
+ << "exception: " << e.what() << std::endl;
+ exit(1);
+ } //hctac
}
-
+
// ----------------------------------------------------------------------------------
- void
- ButtonContainerSettings::AddButtons( BCStructVectorType infoList, int type )
+ void ButtonContainerSettings::InitModel(BCStructVectorType infoList, int type)
{
- std::cout<< "MLER | ButtonContainerSettings:: AddButtons( BCStructVectorType infoList, int type )" << std::endl;
try
{
- for( BCStructVectorType::iterator it = infoList.begin( ); it
- != infoList.end( ); ++it )
+ for (BCStructVectorType::iterator it = infoList.begin();
+ it != infoList.end(); ++it)
{
- if( type == 0 )
- this->AddButton( *it );
- else if( type == 1 || type == 2)
+ if (type == 0)
+ this->AddButton(*it);
+ else if (type == 1 || type == 2 || type == 3)
this->AddItems(*it);
- }//rof
- }//yrt
- catch ( std::exception& e )
+
+ } //rof
+ } //yrt
+ catch (std::exception& e)
{
std::cerr
- << "ButtonContainerSettings::AddButtons( BCStructVectorType infoList )"
- << "exception: " << e.what( ) << std::endl;
- }//hctac
+ << "ButtonContainerSettings::AddButtons( BCStructVectorType infoList )"
+ << "exception: " << e.what() << std::endl;
+ } //hctac
}
- void
- ButtonContainerSettings::AddItems(BCPSettingsStruct* info)
+ // ----------------------------------------------------------------------------------
+ //MLER
+ void ButtonContainerSettings::AddItems(BCPSettingsStruct* info)
{
try
{
- std::cout<< "MLER | ButtonContainerSettings:: AddItems(BCPSettingsStruct* info)" << std::endl;
- //builds the button information
+ //build the button information
//I don't know the try catch doesn't work!!
- if ( info->panel == NULL )
+ if (info->panel == NULL)
{
std::cerr << "ButtonContainerSettings::AddItems"
- << "exception: NULL Pointer in panel " << std::endl;
- exit( 1 );
+ << "exception: NULL Pointer in panel " << std::endl;
+ exit(1);
}
+ info->panel->Show(false);
+ std::string key = info->groupName + ":" + info->buttonName;
+ m_ItemsVector.push_back(ListAction(key, info->panel));
- info->panel->Show( false );
-
- std::string mapKey = info->groupName + ":" + info->buttonName;
- m_itemsMap[mapKey] = info->panel;
-
- }//yrt
- catch ( const std::exception& e )
+ } //yrt
+ catch (const std::exception& e)
{
std::cerr
- << "ButtonContainerSettings::AddButton( BCPSettingsStruct* info )"
- << "exception: " << e.what( ) << std::endl;
- exit( 1 );
- }//hctac
+ << "ButtonContainerSettings::AddButton( BCPSettingsStruct* info )"
+ << "exception: " << e.what() << std::endl;
+ exit(1);
+ } //hctac
+ }
+ // ----------------------------------------------------------------------------------
+ ButtonContainerSettings::ItemsVector ButtonContainerSettings::GetItemsVector()
+ {
+ return this->m_ItemsVector;
}
- ButtonContainerSettings::ItemsMap
- ButtonContainerSettings::GetItemsMap()
+ // ----------------------------------------------------------------------------------
+ wxPanel*
+ ButtonContainerSettings::GetPanelList(const StringType &buttonName)
{
- std::cout<< "MLER | ButtonContainerSettings:: GetItemsMap()" << std::endl;
+ try
+ {
+ for (ItemsVector::iterator it = this->m_ItemsVector.begin();
+ it != this->m_ItemsVector.end(); ++it)
+ {
+ if ((*it).first.compare(buttonName) == 0)
+ return ((*it).second);
- return m_itemsMap;
- }
+ }
+ } catch (std::exception& e)
+ {
+ std::cerr
+ << "ButtonContainerSettings::GetPanelButton( const StringType &buttonName ) "
+ << "exception: " << e.what() << std::endl;
+ } //hctac
+ return (NULL);
+
+ }
+//MLER
// ----------------------------------------------------------------------------------
}//ecapseman
/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
+ #
+ # 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.
+ # ------------------------------------------------------------------------ */
/*!
* @file buttonContainerSettings.h
#include <wx/panel.h>
#include <wx/bitmap.h>
-#include <wx/listctrl.h>
+//#include <wx/listctrl.h>
#include <list>
#include <map>
#include "containerSettings.h"
#include "functor.h"
-
/*! @namespace <creaPanelButtonContainer>
* @brief Contains the creaPanelButtonContainer library included in creaMaracasVisu.
*/
// ----------------------------------------------------------------------------------
/*! @typedef std::pair< std::string, PanelButton > ActionButton;
* @brief Defines the ActionButton type.
- * First is the button description, Second FunctionEventType
+ * First is the button name, Second FunctionEventType
*/
- typedef std::pair< std::string, PanelButton > ActionButton;
-
+ typedef std::pair<std::string, PanelButton> ActionButton;
+
// ----------------------------------------------------------------------------------
/*! @typedef std::pair< std::string, wxBitmap > ButtonInfo;
* @brief Defines the ButtonInfo type.
* First is the ButtonName, Second is the ImageIcon
*/
- typedef std::pair< std::string, wxBitmap > ButtonInfo;
-
+ typedef std::pair<std::string, wxBitmap> ButtonInfo;
+
// ----------------------------------------------------------------------------------
/*! @typedef std::pair< ButtonInfo*, ActionButton* > ButtonPair;
* @brief Defines the ButtonPair type.
*/
- typedef std::pair< ButtonInfo*, ActionButton* > ButtonPair;
+ typedef std::pair<ButtonInfo*, ActionButton*> ButtonPair;
// ----------------------------------------------------------------------------------
/*! @typedef std::list< std::string > KeyMapList;
* @brief Defines the KeyMapList type.
*/
- typedef std::list< std::string > KeyMapList;
-
+ typedef std::list<std::string> KeyMapList;
+
// ----------------------------------------------------------------------------------
/*! @typedef std::list< ButtonPair* > ButtonList;
* @brief Defines the ButtonList type.
*/
- typedef std::list< ButtonPair* > ButtonList;
-
+ typedef std::list<ButtonPair*> ButtonList;
+
// ----------------------------------------------------------------------------------
/*! @typedef std::map< std::string, ButtonList > ButtonGroupMap;
* @brief Defines the ButtonGroupMap type.
*/
- typedef std::map< std::string, ButtonList > ButtonGroupMap;
+ typedef std::map<std::string, ButtonList> ButtonGroupMap;
// ----------------------------------------------------------------------------------
/*! @typedef std::vector< BCPSettingsStruct* > BCStructVectorType;
* @brief Defines the BCStructVectorType type.
*/
- typedef std::vector< BCPSettingsStruct* > BCStructVectorType;
- //end typedef definition
+ typedef std::vector<BCPSettingsStruct*> BCStructVectorType;
+ //MLER
// ----------------------------------------------------------------------------------
- /*! @class ButtonContainerSettings buttonContainerSettings.h "buttonContainerSettings.h"
- * @brief This class contains the settings of the button container.
+ /*! @typedef std::pair<std::string, wxPanel*> ListAction;
+ * @brief Defines the ListAction type.
+ * First is the button name(item list), Second FunctionEventType
*/
+ typedef std::pair<std::string, wxPanel*> ListAction;
+ // ----------------------------------------------------------------------------------
+ /*! @typedef std::vector<ListAction> ItemsVector;
+ * @brief Defines the Items Vector type.
+ */
+ typedef std::vector<ListAction> ItemsVector;
+ //MLER
+ //end typedef definition
+ // ----------------------------------------------------------------------------------
- typedef std::map< std::string, wxPanel* > ItemsMap;
-
- public:
+ public:
// ----------------------------------------------------------------------------------
/*! @fn ButtonContainerSettings( );
* @brief This is the default constructor.
*/
- ButtonContainerSettings( );
+ ButtonContainerSettings();
// ----------------------------------------------------------------------------------
/*! @fn virtual ~ButtonContainerSettings( );
* @brief This is the destructor.
*/
virtual
- ~ButtonContainerSettings( );
-
+ ~ButtonContainerSettings();
+
// ----------------------------------------------------------------------------------
/*! @fn ButtonGroupMap GetButtonGroupContainer( );
* @brief This method returns ButtonGroupMap with all buttons.
* @return
*/
ButtonGroupMap
- GetButtonGroupContainer( );
+ GetButtonGroupContainer();
// ----------------------------------------------------------------------------------
/*! @fn KeyMapList GetGroupNameList( );
* @brief This method returns a KeyMapsList with the name of the groups.
* @return
*/
KeyMapList
- GetGroupNameList( );
+ GetGroupNameList();
// ----------------------------------------------------------------------------------
/*! @fn PanelButton GetPanelButton( const std::string &buttonName );
* @brief This method returns the panel of a button.
* @return
*/
PanelButton
- GetPanelButton( const std::string &buttonName );
+ GetPanelButton(const std::string &buttonName);
// ----------------------------------------------------------------------------------
/*! @fn ButtonGroupSettings* GetButtonGroupSettings( TFunctor* functor );
* @brief this method return the settings the generic settings for creaButtonContainer.
* @return
*/
ButtonGroupSettings*
- GetButtonGroupSettings( TFunctor* functor );
+ GetButtonGroupSettings(TFunctor* functor);
// ----------------------------------------------------------------------------------
/*! @fn void SetButtonGroupContainer( ButtonGroupMap bGroupContainer );
* @brief This method sets the button group container.
* @param bGroupContainer
*/
-
// ----------------------------------------------------------------------------------
-
- ButtonGroupSettings*
- GetListGroupSettings();
-
- // ----------------------------------------------------------------------------------
-
-
-
void
- SetButtonGroupContainer( ButtonGroupMap bGroupContainer );
+ SetButtonGroupContainer(ButtonGroupMap bGroupContainer);
// ----------------------------------------------------------------------------------
/*! @fn void SetGroupNameList( KeyMapList gNameList );
* @brief this method sets the groupName list
* @param gNameList
*/
void
- SetGroupNameList( KeyMapList gNameList );
-
+ SetGroupNameList(KeyMapList gNameList);
// ----------------------------------------------------------------------------------
/*! @fn void AddButton( const std::string &groupName, const std::string &buttonName,
const std::string &iconpath, const std::string &buttonDescription,
* @exception std::bad_alloc
*/
void
- AddButton( const std::string &groupName, const std::string &buttonName,
- const wxBitmap &icon, const std::string &buttonDescription,
- PanelButton panel );
-
+ AddButton(const std::string &groupName, const std::string &buttonName,
+ const wxBitmap &icon, const std::string &buttonDescription,
+ PanelButton panel);
// ----------------------------------------------------------------------------------
/*! @fn void AddButton( BCPSettingsStruct* info );
* @brief This method adds a new button into a group of buttons.
* @exception std::bad_alloc
*/
void
- AddButton( BCPSettingsStruct* info );
-
+ AddButton(BCPSettingsStruct* info);
// ----------------------------------------------------------------------------------
- /*! @fn void AddButtons( BCStructVectorType infoList );
- * @brief This method adds new buttons into the container.
+ /*! @fn void InitModel( BCStructVectorType infoList, int type );
+ * @brief This method adds new buttons or items into the container (Depends type).
* @param infoList The BCStructVectorType
+ * @param type If 1:Buttons 2:List 3:Configurable List
* @exception std::bad_alloc
*/
void
- AddButtons( BCStructVectorType infoList, int type );
-
+ InitModel(BCStructVectorType infoList, int type);
+ // ----------------------------------------------------------------------------------
+ //MLER
+ /*! @fn void AddItems( BCPSettingsStruct* info );
+ * @brief This method adds a new item into a list.
+ * @param info The pointer to BCPSettingsStruct.
+ * @exception std::bad_alloc
+ */
void
AddItems(BCPSettingsStruct* info);
-
- ItemsMap
- GetItemsMap();
-
- PanelButton
- GetPanelList( const StringType &buttonName );
-
-
+ // ----------------------------------------------------------------------------------
+ /*! @fn PanelButton GetPanelList( const std::string &buttonName );
+ * @brief This method returns the panel of a list.
+ * @param buttonName (item element)
+ * @exception std::bad_alloc
+ * @return
+ */
+ ItemsVector
+ GetItemsVector();
+ // ----------------------------------------------------------------------------------
+ /*! @fn PanelButton GetPanelList( const std::string &buttonName );
+ * @brief This method returns the panel of a list.
+ * @param buttonName (item element)
+ * @exception std::bad_alloc
+ * @return
+ */
+ wxPanel*
+ GetPanelList(const StringType &buttonName);
+ //MLER
// ----------------------------------------------------------------------------------
private:
ButtonGroupMap m_ButtonGroupContainer; //!<This is the map with the groups of buttons.
KeyMapList m_GroupNameList; //!<This is a container with the name of the groups.
//MLER
- ItemsMap m_itemsMap; //This is the map with the name and the wPanel
- };
-}//ecapseman
+ ItemsVector m_ItemsVector; //!<This is the vector containing a pair of each item name and its wxPanel.
+
+ };
+} //ecapseman
#endif /* BUTTONCONTAINERSETTINGS_H_ */
/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
+ #
+ # 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.
+ # ------------------------------------------------------------------------ */
/*!
* @file creaPanelButtonContainer.h
#include "creaPanelButtonContainer.h"
-
namespace creaPanelButtonContainer
{
BEGIN_EVENT_TABLE(PanelButtonContainer,wxPanel)
- //EVT_LIST_ITEM_SELECTED(-1, ListWx::ListEvent)
+//EVT_LIST_ITEM_SELECTED(-1, ListWx::ListEvent)
- //(*EventTable(ButtonContainerPanel)
- //*)
- END_EVENT_TABLE()
- // ----------------------------------------------------------------------------------
- typedef creaButtonContainer::model::TConcreteFunctor< PanelButtonContainer > TConcreteFunctor;
- // ----------------------------------------------------------------------------------
- PanelButtonContainer::PanelButtonContainer( wxWindow* parent, ButtonContainerSettings* bcSettings, int type )
- : wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("creaPanelButtonContainer") )
+//(*EventTable(ButtonContainerPanel)
+//*)
+ END_EVENT_TABLE ()
+// ----------------------------------------------------------------------------------
+ typedef creaButtonContainer::model::TConcreteFunctor<PanelButtonContainer> TConcreteFunctor;
+// ----------------------------------------------------------------------------------
+ PanelButtonContainer::PanelButtonContainer(wxWindow* parent,
+ ButtonContainerSettings* bcSettings, int type)
+ : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize,
+ wxDEFAULT_FRAME_STYLE, _T("creaPanelButtonContainer"))
{
- std::cout<< "MLER | creaPanelButtonContainer:: PanelButtonContainer() " << std::endl;
-
this->m_ButtonContainerSettings = bcSettings;
-
- //Class that manages the event!!!
- //EED 20/01/2012
- TConcreteFunctor* functor = new TConcreteFunctor( this, &PanelButtonContainer::GenericButtonEvent );
-// TConcreteFunctor* functor = new TConcreteFunctor( this->m_ButtonPanel, &PanelButtonContainer::GenericButtonEvent );
- //end of the event definition
-
- TConcreteFunctor* lFunctor = new TConcreteFunctor( this, &PanelButtonContainer::GenericListEvent );
- //MLER
-
//Using AuiManager to Manage the Panels
- this->m_AuiManager = new wxAuiManager( this, wxAUI_MGR_DEFAULT );
-
+ this->m_AuiManager = new wxAuiManager(this,
+ wxAUI_MGR_DEFAULT | wxFULL_REPAINT_ON_RESIZE);
- if(type == 0)
+ if (type == 0)
{
- this->m_ButtonPanel = new wxPanel( this );
- std::cout << "tipo 0; new ButtonContainerPanel"<<std::endl;
- this->m_ButtonContainerPanel = new ButtonContainerPanel( this, this->m_ButtonContainerSettings->GetButtonGroupSettings( functor ) );
-
- this->m_AuiManager->AddPane( this->m_ButtonContainerPanel,wxAuiPaneInfo( ).Name( _T("ButtonContainerPanel") ).Caption(_("ButtonContainerPanel") ). CaptionVisible( true ).CloseButton(false ).Center( ).Resizable( true ) );
- this->m_AuiManager->AddPane(this->m_ButtonPanel, wxAuiPaneInfo( ).Name( _T("ButtonPanel") ).Caption( _("ButtonPanel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) );
+ //Class that manages the event!!!
+ //EED 20/01/2012
+ TConcreteFunctor* functor = new TConcreteFunctor(this,
+ &PanelButtonContainer::GenericButtonEvent);
+ //end of the event definition
+ this->m_EventPanel = new wxPanel(this);
+ this->m_ButtonContainerPanel = new ButtonContainerPanel(this,
+ this->m_ButtonContainerSettings->GetButtonGroupSettings(functor));
+ //Bottom Panel
+ this->m_AuiManager->AddPane(this->m_EventPanel,
+ wxAuiPaneInfo().Name(_T("EventPanel")).Caption(_("EventPanel")).CaptionVisible(
+ true).MinimizeButton().MaximizeButton().CloseButton(false).Center().Resizable(
+ true));
+ //Top Panel
+ this->m_AuiManager->AddPane(this->m_ButtonContainerPanel,
+ wxAuiPaneInfo().Name(_T("ButtonContainerPanel")).DefaultPane().Caption(
+ _("ButtonContainerPanel")).PinButton().CaptionVisible(true).CloseButton(
+ false).Center().Resizable(true));
}
- else if( type == 1)
+ else if (type == 1)
{
- this->m_ListPanel = new wxPanel(this);
- std::cout << "tipo 1; new LIstWx"<<std::endl;
- this->mylist = new ListWx(this, -1,this->m_ButtonContainerSettings->GetItemsMap(), lFunctor);
- mylist->FillList();
- this->m_AuiManager->AddPane( this->mylist,wxAuiPaneInfo( ).Name( _T("ListContainerPanel") ).Caption(_("ListContainerPanel") ). CaptionVisible( true ).CloseButton(false ).Center( ).Resizable( true ) );
- this->m_AuiManager->AddPane(this->m_ListPanel, wxAuiPaneInfo( ).Name( _T("ListPanel") ).Caption( _("ListPanel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) );
+ //MLER
+ TConcreteFunctor* lFunctor = new TConcreteFunctor(this,
+ &PanelButtonContainer::GenericListEvent);
+
+ this->m_EventPanel = new wxPanel(this);
+ std::cout << "tipo 1; new LIstWx" << std::endl;
+
+ this->m_ListWxPanel = new ListWx(this, -1,
+ this->m_ButtonContainerSettings->GetItemsVector(), lFunctor);
+
+ //Bottom Panel
+ this->m_AuiManager->AddPane(this->m_EventPanel,
+ wxAuiPaneInfo().Name(_T("EventPanel")).Caption(_("EventPanel")).CaptionVisible(
+ true).MinimizeButton().MaximizeButton().CloseButton(false).Center().Resizable(
+ true));
+ //Top Panel
+ this->m_AuiManager->AddPane(this->m_ListWxPanel,
+ wxAuiPaneInfo().Name(_T("ListContainerPanel")).DefaultPane().Caption(
+ _("ListContainerPanel")).PinButton().CaptionVisible(true).CloseButton(
+ false).Center().Resizable(true));
}
- else if( type == 2)
+ else if (type == 2)
{
+ TConcreteFunctor* lFunctor = new TConcreteFunctor(this,
+ &PanelButtonContainer::GenericListEvent);
+
+ this->m_EmptyPanel = new wxPanel(this);
+ this->m_EventPanel = this->m_EmptyPanel;
+
+ this->m_PanelUp = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize,
+ wxTAB_TRAVERSAL, _T("ListConfigContainerPanel"));
+ wxGridBagSizer* mainSizer = new wxGridBagSizer(0, 0);
+ mainSizer->AddGrowableCol(1);
+ mainSizer->AddGrowableRow(0);
+
+ //=======
+ //Original List
+ this->m_ListWxPanel = new ListWx(this->m_PanelUp, -1,
+ this->m_ButtonContainerSettings->GetItemsVector(), lFunctor);
+ this->m_ListWxPanel->Show(false);
+ //Configurable list
+ this->m_CurrentWxPanel = new ListWx(this->m_PanelUp, -1, lFunctor);
+
+ mainSizer->Add(this->m_ListWxPanel, wxGBPosition(0, 0), wxDefaultSpan,
+ wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL
+ | wxALIGN_CENTER_VERTICAL, 5);
+ mainSizer->Add(this->m_CurrentWxPanel, wxGBPosition(0, 1), wxDefaultSpan,
+ wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL
+ | wxALIGN_CENTER_VERTICAL, 5);
+
+ wxBitmap btmSettings(Settings_xpm); //Icon of Button
+
+ this->m_ConfigButton = new wxBitmapButton(this->m_PanelUp, -1,
+ btmSettings, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW,
+ wxDefaultValidator, _T("Config"));
+
+ mainSizer->Add(this->m_ConfigButton, wxGBPosition(1, 2), wxDefaultSpan,
+ wxALL | wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL, 5);
+
+ //=======
+
+ this->m_PanelUp->SetSizer(mainSizer);
+ mainSizer->Fit(this->m_PanelUp);
+ mainSizer->SetSizeHints(this->m_PanelUp);
+
+ //Bottom Panel
+ this->m_AuiManager->AddPane(this->m_EventPanel,
+ wxAuiPaneInfo().Name(_T("EventPanel")).Caption(_("EventPanel")).CaptionVisible(
+ true).MinimizeButton().MaximizeButton().CloseButton(false).Center().Resizable(
+ true));
+ //Top Panel
+ this->m_AuiManager->AddPane(this->m_PanelUp,
+ wxAuiPaneInfo().Name(_T("ListContainerPanel")).DefaultPane().Caption(
+ _("ListContainerPanel")).PinButton().CaptionVisible(true).CloseButton(
+ false).Center().Resizable(true));
+
+ this->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
+ wxCommandEventHandler(PanelButtonContainer::OnConfigButton));
- this->m_ListPanel = new wxPanel(this);
-
- panelUp = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ListConfigContainerPanel"));
- wxBoxSizer* mainSizer = new wxBoxSizer(wxHORIZONTAL);
-
- //=======
- wxBoxSizer* listSizer = new wxBoxSizer(wxVERTICAL);
-
- this->mylist = new ListWx(panelUp,-1,this->m_ButtonContainerSettings->GetItemsMap(),lFunctor);
- this->mylist->Show(false);
- ItemsMap empty;
- this->myConfiglist = new ListWx(panelUp,-1, empty,lFunctor);
- listSizer->Add(this->myConfiglist,0,wxEXPAND);
- listSizer->Add(this->mylist,0,wxEXPAND);
- mainSizer->Add(listSizer,0,wxEXPAND|wxALL,7);
-
- //=======
- wxBoxSizer* buttonSizer = new wxBoxSizer(wxVERTICAL);
-
- button = new wxButton(panelUp, -1, _("Configurar"),
- wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _("Configurar"));
-
- buttonSizer->Add(button,0,wxEXPAND);
- mainSizer->Add(buttonSizer,0,wxEXPAND|wxALL,14);
- //=======
-
- panelUp->SetSizer(mainSizer);
-
- this->m_AuiManager->AddPane( panelUp,wxAuiPaneInfo( ).Name( _T("ListConfigContainerPanel") ).Caption(_("ListConfigContainerPanel") ). CaptionVisible( true ).CloseButton(false ).Center( ).Resizable( true ) );
- this->m_AuiManager->AddPane(this->m_ListPanel, wxAuiPaneInfo( ).Name( _T("ListPanel") ).Caption( _("ListPanel") ). CaptionVisible(true ).CloseButton( false ).Bottom( ).Resizable( true ) );
}
+ else if (type == 3)
+ {
+ //MLER
+ TConcreteFunctor* lFunctor = new TConcreteFunctor(this,
+ &PanelButtonContainer::GenericListEvent);
+
+ this->m_EventPanel = new wxPanel(this);
+ std::cout << "MLER Type 3; new ComboBox" << std::endl;
+
+ this->m_ComboBoxPanel = new ComboBox(this, -1,
+ this->m_ButtonContainerSettings->GetItemsVector(), lFunctor);
+
+ //Bottom Panel
+ this->m_AuiManager->AddPane(this->m_EventPanel,
+ wxAuiPaneInfo().Name(_T("EventPanel")).Caption(_("EventPanel")).CaptionVisible(
+ true).MinimizeButton().MaximizeButton().CloseButton(false).Center().Resizable(
+ true));
+ //Top Panel
+ this->m_AuiManager->AddPane(this->m_ComboBoxPanel,
+ wxAuiPaneInfo().Name(_T("ComboBoxContainerPanel")).DefaultPane().Caption(
+ _("ComboBoxContainerPanel")).PinButton().CaptionVisible(true).CloseButton(
+ false).Center().Resizable(true));
+ }
+ //End MLER
-
- //MLER
-
- this->m_AuiManager->Update( );
- //m_listConfigPanel = new ListConfigPanel(this,1,_("Configuracion"),mylist);
-
- this->Connect(wxEVT_COMMAND_BUTTON_CLICKED,
- wxCommandEventHandler(PanelButtonContainer::ButtonEvent));
-
+ this->m_AuiManager->Update();
}
- // ----------------------------------------------------------------------------------
- PanelButtonContainer::~PanelButtonContainer( )
+// ----------------------------------------------------------------------------------
+ PanelButtonContainer::~PanelButtonContainer()
{
}
- // ----------------------------------------------------------------------------------
- void
- PanelButtonContainer::UpdatePanel( const std::string &buttonName )
+// ----------------------------------------------------------------------------------
+ void PanelButtonContainer::UpdatePanel(const std::string &buttonName)
{
try
{
- std::cout<< "MLER | creaPanelButtonContainer:: UpdatePanel() " << std::endl;
-
//Hiding the last CartoSettingsPanel
- this->m_ButtonPanel->Show( false );
+ this->m_EventPanel->Show(false);
//Finding the CartoSettingsPanel of the ButtonClicket
- this->m_ButtonPanel = this->m_ButtonContainerSettings->GetPanelButton(buttonName );
- std::cout<< buttonName << "---testEvento 2 "<<std::endl;
+ this->m_EventPanel = this->m_ButtonContainerSettings->GetPanelButton(
+ buttonName);
//changing the parent of the panel!
- if ( this->m_ButtonPanel->GetParent( ) != this )
+ if (this->m_EventPanel->GetParent() != this)
{
- this->m_ButtonPanel->Reparent( this );
- }//fi
- //Panel Management
- this->m_AuiManager->GetPane( _T("ButtonPanel") ).window = this->m_ButtonPanel;
+ this->m_EventPanel->Reparent(this);
+ } //fi
+ //Panel Management
+ this->m_AuiManager->GetPane(_T("EventPanel")).window = this->m_EventPanel;
//Updating the manager
- this->m_AuiManager->Update( );
- }//yrt
- catch ( const std::exception& e )
+ this->m_AuiManager->Update();
+ } //yrt
+ catch (const std::exception& e)
{
std::cerr
- << "PanelButtonContainer::UpdatePanel( const std::string &buttonName )"
- << "exception: " << e.what( ) << std::endl;
+ << "PanelButtonContainer::UpdatePanel( const std::string &buttonName )"
+ << "exception: " << e.what() << std::endl;
std::cout << "Maybe the panel of the button is NULL" << std::endl;
- exit( 1 );
- }//hctac
+ exit(1);
+ } //hctac
}
- // ----------------------------------------------------------------------------------
- void
- PanelButtonContainer::GenericButtonEvent( const std::string &buttonName )
+// ----------------------------------------------------------------------------------
+ void PanelButtonContainer::GenericButtonEvent(const std::string &buttonName)
{
- std::cout<< "MLER | creaPanelButtonContainer:: GenericButtonEvent() " << std::endl;
- std::cout<< buttonName << "---testEvento 1 "<<std::endl;
- this->UpdatePanel( buttonName );
+ this->UpdatePanel(buttonName);
}
-// ----------------------------------------------------------------------------------
- void
- PanelButtonContainer::UpdateListPanel( const std::string &buttonName )
+ // ----------------------------------------------------------------------------------
+ //MLER
+ void PanelButtonContainer::GenericListEvent(const std::string &buttonName)
{
- try{
-
- std::cout<< "MLER | creaPanelButtonContainer:: UpdateListPanel() " << std::endl;
- std::cout<< buttonName << " --- test 2 "<<std::endl;
-
- this->m_ListPanel->Show( false );
+ this->UpdateListPanel(buttonName);
+ }
- this->m_ListPanel = this->m_ButtonContainerSettings->GetPanelList(buttonName );
+ // ----------------------------------------------------------------------------------
+ void PanelButtonContainer::UpdateListPanel(const std::string &buttonName)
+ {
+ try
+ {
+ this->m_EventPanel->Show(false);
+ this->m_EventPanel = this->m_ButtonContainerSettings->GetPanelList(
+ buttonName);
- if ( this->m_ListPanel->GetParent( ) != this )
+ if (this->m_EventPanel->GetParent() != this)
{
- this->m_ListPanel->Reparent( this );
- }//fi
- //Panel Management
- this->m_AuiManager->GetPane( _T("ListPanel") ).window = this->m_ListPanel;
- //Updating the manager
- this->m_AuiManager->Update( );
-
- }catch( const std::exception& e )
+ this->m_EventPanel->Reparent(this);
+ } //fi
+ //Panel Management
+ this->m_AuiManager->GetPane(_T("EventPanel")).window = this->m_EventPanel;
+ //Updating the manager
+ this->m_AuiManager->Update();
+
+ } catch (const std::exception& e)
{
std::cerr
- << "PanelButtonContainer::UpdatePanel( const std::string &buttonName )"
- << "exception: " << e.what( ) << std::endl;
+ << "PanelButtonContainer::UpdatePanel( const std::string &buttonName )"
+ << "exception: " << e.what() << std::endl;
std::cout << "Maybe the panel of the list is NULL" << std::endl;
- exit( 1 );
- }//hctac
+ exit(1);
+ } //hctac
}
- void
- PanelButtonContainer::GenericListEvent( const std::string &buttonName )
+// ----------------------------------------------------------------------------------
+ void PanelButtonContainer::OnConfigButton(wxCommandEvent& event)
{
- std::cout<< "MLER | creaPanelButtonContainer:: GenericListEvent() " << std::endl;
- std::cout<< buttonName << " --- test 3 "<<std::endl;
- this->UpdateListPanel( buttonName );
- }
- void
- PanelButtonContainer::ButtonEvent ( wxCommandEvent& event )
- {
+ this->m_ListConfigDialog = new ListConfigDialog(this, -1, _("Settings"),
+ this->m_ListWxPanel, this->m_CurrentWxPanel);
- m_listConfigPanel = new ListConfigPanel(this,-1,_("Configuracion"), mylist, myConfiglist);
+ std::cout << "Button Event" << std::endl;
- std::cout<< "BUtton Event"<<std::endl;
+ this->m_EventPanel->Show(false);
- m_listConfigPanel->ShowModal();
- this->myConfiglist->Reparent(panelUp);
- this->myConfiglist->Show(true);
- this->myConfiglist->SetFunctorEnabled(true);
- this->myConfiglist->Update();
- this->m_AuiManager->Update( );
- this->m_ListPanel->Show(false);
- }
+ this->m_ListConfigDialog->ShowModal(); //Show Dialog
+ this->m_CurrentWxPanel->Reparent(this->m_PanelUp);
+ this->m_CurrentWxPanel->Show(true);
+ this->m_CurrentWxPanel->SetFunctorEnabled(true);
+ this->m_CurrentWxPanel->GetListBox()->Deselect(
+ this->m_CurrentWxPanel->GetListBox()->GetSelection()); //Deselected item
+ this->m_CurrentWxPanel->Update();
+ this->m_ListWxPanel->Show(false);
+ this->m_EventPanel->Show(false);
+ this->m_EventPanel = this->m_EmptyPanel; //Management Empty Panel
+ this->m_AuiManager->GetPane(_T("EventPanel")).window = this->m_EventPanel;
+ this->m_AuiManager->Update();
+ }
+ //End MLER
+// ----------------------------------------------------------------------------------
}//ecapseman
-
/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
+ #
+ # 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.
+ # ------------------------------------------------------------------------ */
/*!
* @file PanelButtonContainer
#include <wx/aui/aui.h>
#include <string>
#include <wx/gdicmn.h>
+#include <wx/gbsizer.h>
+#include <wx/bmpbuttn.h>
+#include "listConfigDialog.h"
#include "containerSettings.h"
#include "buttonContainerPanel.h"
#include "buttonContainerSettings.h"
#include "functor.h"
#include "listWx.h"
-#include "listConfigPanel.h"
+#include "Settings.xpm"
+#include "comboBox.h"
/*! @namespace <creaPanelButtonContainer>
* @brief Contains the creaPanelButtonContainer library included in creaMaracasVisu.
* @brief This class contains the PanelButtonContainer. It derives from wxPanel.
* @see <a href="http://docs.wxwidgets.org/stable/wx_wxpanel.html">wxPanel</a>
*/
- class PanelButtonContainer : public wxPanel
+ class PanelButtonContainer: public wxPanel
{
public:
//typedef definition.
/*! typedef creaPanelButtonContainer::ButtonContainerSettings ButtonContainerSettings;
* @brief Defines the ButtonContainerSettings type.
*/
- typedef creaPanelButtonContainer::ButtonContainerSettings
- ButtonContainerSettings;
+ typedef creaPanelButtonContainer::ButtonContainerSettings ButtonContainerSettings;
/*! typedef creaButtonContainer::view::ButtonContainerPanel ButtonContainerPanel;
* @brief Defines the ButtonContainerPanel type.
*/
- typedef creaButtonContainer::view::ButtonContainerPanel
- ButtonContainerPanel;
+ typedef creaButtonContainer::view::ButtonContainerPanel ButtonContainerPanel;
+
+ //MLER
+ /*! typedef creaButtonContainer::view::ListWx ListWx;
+ * @brief Defines a ListWx for (Configurable) List Container.
+ * This class inherits from wxPanel and contains a wxListBox.
+ */
typedef creaButtonContainer::view::ListWx ListWx;
- typedef creaPanelButtonContainer::ListConfigPanel
- ListConfigPanel;
- typedef std::map<std::string, wxPanel*> ItemsMap;
+ /*! typedef creaPanelButtonContainer::ListConfigDialog ListConfigDialog;
+ * @brief Defines a ListConfigPanel to configure.
+ * This class inherits from wxDialog and contains the wxListBox and wxButton.
+ */
+ typedef creaButtonContainer::view::ListConfigDialog ListConfigDialog;
+
+ typedef creaButtonContainer::view::ComboBox ComboBox;
// ----------------------------------------------------------------------------------
- //end of typedef definition.
+ //End MLER
+ //end of typedef definition.
public:
// ----------------------------------------------------------------------------------
/*! @fn PanelButtonContainer( wxWindow* parent, ButtonContainerSettings* bcSettings );
* @param parent The wxWindow pointer to parent
* @param bcSettings //The buttonContainerSettings
*/
- PanelButtonContainer( wxWindow* parent,
- ButtonContainerSettings* bcSettings, int type );
+ PanelButtonContainer(wxWindow* parent,
+ ButtonContainerSettings* bcSettings, int type);
// ----------------------------------------------------------------------------------
/*! @fn virtual PanelButtonContainer( );
* @brief This is the destructor.
*/
virtual
- ~PanelButtonContainer( );
+ ~PanelButtonContainer();
// ----------------------------------------------------------------------------------
/*! @fn void UpdatePanel( const std::string &buttonName );
- * @brief This method Updates the m_ButtonPanel to a panel
+ * @brief This method Updates the m_EventPanel to a panel
* of the clicked button in creaButtonContainer.
* @param buttonName
*/
void
- UpdatePanel( const std::string &buttonName );
+ UpdatePanel(const std::string &buttonName);
// ----------------------------------------------------------------------------------
/*! @fn void GenericButtonEvent( const std::string &buttonName );
- * @brief This method is the function that calls the panels contained in the buttons
+ * @brief This method is the function that calls the panels contained in the buttons.
* (in creaButtonContainer is the function contained in the functors to be called back.
* @param buttonName The name of the button
*/
void
- GenericButtonEvent( const std::string &buttonName );
-
+ GenericButtonEvent(const std::string &buttonName);
// ----------------------------------------------------------------------------------
- void
- UpdateListPanel( const std::string &buttonName );
-
- void
- GenericListEvent( const std::string &buttonName );
-
//MLER
-
+ /*! @fn void GenericListEvent( const std::string &buttonName );
+ * @brief This method is the function that calls the panels contained in the items list.
+ * (in creaButtonContainer is the function contained in the functors to be called back.
+ * @param buttonName The name of the button (item list)
+ */
void
- ButtonEvent ( wxCommandEvent& event );
-
+ GenericListEvent(const std::string &buttonName);
+ // ----------------------------------------------------------------------------------
+ /*! @fn void UpdateListPanel( const std::string &buttonName );
+ * @brief This method Updates the m_EventPanel to a panel
+ * of the clicked an item in creaButtonContainer.
+ * @param buttonName The name of the button (item list)
+ */
void
- ListEvent( wxCommandEvent& event );
-
+ UpdateListPanel(const std::string &buttonName);
+ // ----------------------------------------------------------------------------------
+ /*! @fn void OnConfigButton( wxCommandEvent& event );
+ * @brief This method calls the wxDialog when
+ * the config button is clicked.
+ * @param event
+ */
+ void
+ OnConfigButton(wxCommandEvent& event);
+ //End MLER
// ----------------------------------------------------------------------------------
private:
//Settings
ButtonContainerSettings* m_ButtonContainerSettings; //!<This is the buttonContainer settings.
+
//Panel
- ButtonContainerPanel* m_ButtonContainerPanel; //!<This is the panel with de buttons (creaButtonContainer)
+ ButtonContainerPanel* m_ButtonContainerPanel; //!<This is the panel with of buttons (creaButtonContainer)
wxAuiManager* m_AuiManager; //!<The AUI Manager for the panels.
- wxPanel* m_ButtonPanel; //!<This is the panel used to contain the panels of the buttons. (it changes with the buttonAction)
- wxPanel* m_ListPanel;
+ wxPanel* m_EventPanel; //!<This is the panel used to contain the panels of the buttons. (it changes with the buttonAction)
+
+ //MLER
+ ListWx* m_ListWxPanel;//!<This panel contains the list of the elements.
+ ListConfigDialog* m_ListConfigDialog;//!<This wxDialog shows the list of the elements and allows modifications.
+
+ wxPanel* m_PanelUp;//!<This panel contains the list of the elements empty,full and the config button.
+ wxPanel* m_EmptyPanel; //!<This panel is empty.
+ ListWx* m_CurrentWxPanel;//!<This panel contains the final list of the elements .
- ListWx* mylist; //MLER
- ListWx* myConfiglist; //MLER
- wxButton* button;
- ListConfigPanel* m_listConfigPanel;
- wxPanel* panelUp;
+ wxBitmapButton* m_ConfigButton;//!< "Config" Settings button.
+ ComboBox* m_ComboBoxPanel;//!<This panel contains the list of the comboBox elements.
+ //End MLER
- DECLARE_EVENT_TABLE() //!<Event Table declaration.
+ DECLARE_EVENT_TABLE()
+ //!<Event Table declaration.
};
-}//ecapseman
+} //ecapseman
#endif // PANELBUTTONCONTAINER_H_
+++ /dev/null
-/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
-
-#include "listConfigPanel.h"
-
-namespace creaPanelButtonContainer
-{
-
- ListConfigPanel::ListConfigPanel(wxWindow* parent, wxWindowID id,const wxString& title, ListWx* modelList, ListWx* currentList) :
- wxDialog(parent,id,title)
- {
- std::cout<< "MLER | ListConfigPanel::ListConfigPanel()" << std::endl;
-
- m_listWx = modelList;
- m_listWx->Reparent(this);
- m_listWx->Show(true);
- m_listWx->SetFunctorEnabled(false);
- m_listWx->FillList();
-
- m_finalListWx = currentList;
- m_finalListWx->Reparent(this);
- m_finalListWx->SetFunctorEnabled(false);
- m_finalListWx->Show(true);
- m_finalListWx->FillList();
-
- wxFlexGridSizer* sizer = new wxFlexGridSizer(2,1,0,0);
- //sizer->Add( new wxStaticText(this,-1, _("Lista Configurable")));
- this->SetSizer(sizer);
-
-
- wxBoxSizer* sizerUp = new wxBoxSizer(wxHORIZONTAL);
-
- //wxPanel* panel1 = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL,
- // _T("Panel 1"));
-
- //wxBoxSizer* sizerList1 = new wxBoxSizer(wxVERTICAL);
-
- //panel1->Add(m_listWx,0,wxEXPAND);
- //listBox = new wxListBox(panel1,-1,wxDefaultPosition,wxDefaultSize, 0, 0, 0,
- // wxDefaultValidator, _("ListBox"));
-
- //sizerList1->Add(panel1,0,wxEXPAND);
-
- //panel1->SetSizer(sizerList1);
- //sizerList1->Fit(panel1);
- //sizerList1->SetSizeHints(panel1);
-
- sizerUp->Add(m_listWx, 0, wxEXPAND);
- //========
-
- wxPanel* panel2 = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("Panel 2"));
- wxBoxSizer* sizerList2 = new wxBoxSizer(wxVERTICAL);
-
- buttonAdd = new wxButton(panel2, 1, _(">"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("Add"));
- sizerList2->Add(buttonAdd, 0, wxEXPAND);
-
- buttonDel = new wxButton(panel2, 2, _("<"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("Delete"));
- sizerList2->Add(buttonDel, 0, wxEXPAND);
-
- panel2->SetSizer(sizerList2);
- sizerList2->Fit(panel2);
- sizerList2->SetSizeHints(panel2);
-
- sizerUp->Add(panel2, 0, wxEXPAND);
-
- //========
-
- //wxPanel* panel3 = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("Panel 3"));
- //wxBoxSizer* sizerList3 = new wxBoxSizer(wxHORIZONTAL);
-
- //finalListBox = new wxListBox(panel3, -1, wxDefaultPosition, wxDefaultSize, 0, 0, 0,
- // wxDefaultValidator, _T("finalListBox"));
- //sizerList3->Add(m_finalListWx, 0, wxEXPAND);
-
- //panel3->SetSizer(sizerList3);
- //sizerList3->Fit(panel3);
- //sizerList3->SetSizeHints(panel3);
-
- sizerUp->Add(m_finalListWx, 0, wxEXPAND);
- //sizer->Add(sizerUp, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
-
- //FillList();
-
- //=======
- wxPanel* panel5 = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("Panel 5"));
- wxBoxSizer* sizerList4 = new wxBoxSizer(wxVERTICAL);
-
- upButton = new wxButton(panel5, 3, _("/\\"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("upButton"));
- sizerList4->Add(upButton, 0, wxEXPAND);
-
- downButton = new wxButton(panel5, 4, _("V"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("downButton"));
- sizerList4->Add(downButton, 0, wxEXPAND);
-
- panel5->SetSizer(sizerList4);
- sizerList4->Fit(panel5);
- sizerList4->SetSizeHints(panel5);
- sizerUp->Add(panel5, 0, wxEXPAND);
-
- //========
- wxBoxSizer* sizerBotones = new wxBoxSizer(wxHORIZONTAL);
- wxPanel* panel4 = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("Panel 4"));
-
- okButton = new wxButton(panel4, 5, _("Ok"), wxPoint(0,8), wxDefaultSize, 0, wxDefaultValidator, _T("Ok"));
- cancelButton = new wxButton(panel4, 6, _("Cancel"), wxPoint(88,8), wxDefaultSize, 0, wxDefaultValidator, _T("Cancel"));
-
- sizerBotones->Add(panel4, 0, wxEXPAND);
-
- sizer->Add(sizerUp,0,wxEXPAND);
- sizer->Add(sizerBotones, 1, wxALL|wxALIGN_CENTER_HORIZONTAL);
-
-
- // SetSizer(sizer);
- //SetSizer(sizer);
- //Layout();
-
- //---------------------------------------------------------------------------------------------
- // Manejo de Eventos
-
- //Evento Cancel
- Connect(6,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ListConfigPanel::OnQuit);
-
- //EventoSeleccionarLista
- //Connect(wxEVT_COMMAND_LISTBOX_SELECTED,wxCommandEventHandler(ListConfigPanel::ListItemEvent));
-
- //EventoAdd
- Connect(1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ListConfigPanel::OnAdd);
-
- //EventoOk
- Connect(5,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ListConfigPanel::OkEvent);
-
- //EventoDelete
- Connect(2,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&ListConfigPanel::OnDelete);
-
- }
-
- ListConfigPanel::~ListConfigPanel()
- {
-
- }
-
- ListConfigPanel::ItemsMap
- ListConfigPanel::GetFinalItemsMap()
- {
- return m_finalItems;
- }
-
- void
- ListConfigPanel::SetFinalItems(ItemsMap finalItems)
- {
- m_finalItems = finalItems;
- }
-
- void
- ListConfigPanel::FillList(int i)
- {
- /*if(i == 0)
- {
- m_itemsMap = m_listWx->GetItemsMap();
-
- for (ItemsMap::iterator it=this->m_itemsMap.begin(); it!=this->m_itemsMap.end(); ++it)
- {
- std::string key = it->first;
- listBox->Append( wxString(key.c_str(), wxConvUTF8));
- }
- }
- if(i == 1)
- {
- std::cout << "ListConfigPanel::FillList items : "<< m_finalItems.size()<<std::endl;
- finalListBox->Clear();
-
- if(!m_finalItems.empty())
- {
- for (ItemsMap::iterator it=this->m_finalItems.begin(); it!=this->m_finalItems.end(); ++it)
- {
- std::string key = it->first;
- int v = finalListBox->FindString(wxString(key.c_str(), wxConvUTF8));
-
- if(v == -1)
- finalListBox->Append( wxString(key.c_str(), wxConvUTF8));
- }
- }
-
-
- }*/
- }
-
- void
- ListConfigPanel::OnQuit(wxCommandEvent& event)
- {
- std::cout<<"Onquit"<<std::endl;
-
- Close();
- }
-
- void
- ListConfigPanel::ListItemEvent(wxCommandEvent& event)
- {
- /*std::cout<<"MLER |ListConfigPanel::ListItemEvent"<<std::endl;
-
- int iSelection;
- iSelection = listBox->GetSelection();
-
- wxString itemNom = listBox->GetString(iSelection);
- std::string itemNomC = std::string(itemNom.mb_str());*/
-
- }
-
-
- void
- ListConfigPanel::OnAdd(wxCommandEvent& event)
- {
- std::cout<<"MLER |ListConfigPanel::OnAdd"<<std::endl;
-
- wxString itSel = m_listWx->GetListBox()->GetStringSelection();
- std::string item = std::string(itSel.mb_str());
-
-
- if(!itSel.empty())
- {
- wxPanel* mPanel = m_listWx->GetItemsMap()[item];
- m_finalListWx->AddItemToMap(item, mPanel);
- m_finalListWx->FillList();
- }
-
- //wxMessageBox( _("Seleccione un elemento"), wxOK | wxICON_INFORMATION );
-
- std::cout << "FinalItemsAdd" << m_finalItems.size() << std::endl;
- }
-
- void
- ListConfigPanel::OnDelete(wxCommandEvent& event)
- {
- std::cout<<"MLER |ListConfigPanel::OnDelete"<<std::endl;
-
- wxString itSel = m_finalListWx->GetListBox()->GetStringSelection();
- std::string item = std::string(itSel.mb_str());
- if(!itSel.empty())
- {
- m_finalListWx->DeleteItemFromMap(item);
- m_finalListWx->FillList();
- }
-
- std::cout << "FinalItems Delete" << m_finalItems.size() << std::endl;
- }
-
- void
- ListConfigPanel::OkEvent(wxCommandEvent& event)
- {
- std::cout<<"MLER |ListConfigPanel::OkEvent"<<std::endl;
-
- this->EndModal(1);
- }
-
- void
- ListConfigPanel::UpEvent(wxCommandEvent& event)
- {
- std::cout<<"Up Event"<<std::endl;
- }
-
- void
- ListConfigPanel::DownEvent(wxCommandEvent& event)
- {
- std::cout<<"Down Event"<<std::endl;
- }
-
- void
- ListConfigPanel::RefreshViewEvent(wxCommandEvent& event)
- {
- std::cout<<"RefreshView Event"<<std::endl;
- }
-
-
- ListConfigPanel::ListWx*
- ListConfigPanel::GetFinalListWx()
- {
- return this->m_finalListWx;
- }
-
-}
+++ /dev/null
-/*# ---------------------------------------------------------------------
-#
-# 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.
-# ------------------------------------------------------------------------ */
-
-#ifndef LISTCONFIGPANEL_H
-#define LISTCONFIGPANEL_H
-
-#include <wx/panel.h>
-#include <wx/sizer.h>
-#include <wx/wx.h>
-
-
-#include <map>
-#include <string>
-#include <vector>
-
-#include "functor.h"
-#include "listConfig.h"
-#include "listWx.h"
-
-
-namespace creaPanelButtonContainer
-{
- /*namespace controller
- {
- //class ButtonContainerController;
- }*/
-
-
- class ListConfigPanel : public wxDialog
- {
- public:
-
- typedef std::map<std::string, wxPanel*> ItemsMap;
- typedef creaButtonContainer::model::TFunctor TFunctor;
- typedef creaButtonContainer::model::ListConfig ListConfig;
- typedef creaButtonContainer::view::ListWx ListWx;
- //typedef std::vector<std::string> NomItem;
-
-
- ListConfigPanel(wxWindow* parent, wxWindowID id,const wxString& title, ListWx* modelList, ListWx* currentList);
-
- ~ListConfigPanel();
-
- ItemsMap
- GetFinalItemsMap();
-
- void
- SetFinalItems(ItemsMap finalItems);
-
- void
- FillList(int i);
-
- void
- OnQuit(wxCommandEvent& event);
-
- void
- ListItemEvent(wxCommandEvent& event);
-
- void
- OnAdd(wxCommandEvent& event);
-
- void
- OnDelete(wxCommandEvent& event);
-
- void
- OkEvent(wxCommandEvent& event);
-
- void
- UpEvent(wxCommandEvent& event);
-
- void
- DownEvent(wxCommandEvent& event);
-
- void
- RefreshViewEvent(wxCommandEvent& event);
-
- ListWx*
- GetFinalListWx();
-
-
- //public:
- //friend class creaButtonContainer::controller::ButtonContainerController;
-
- private:
- ItemsMap m_itemsMap;
- //TFunctor* functor;
- ItemsMap m_finalItems;
- //NomItem m_itemsVector;
-
- wxButton* buttonAdd;
- wxButton* buttonDel;
-
- wxButton* okButton;
- wxButton* cancelButton;
-
- wxButton* upButton;
- wxButton* downButton;
-
- ListWx* m_listWx;
- ListWx* m_finalListWx;
- ListConfig* m_listConfig;
-
- };
-
-
-}
-
-#endif // LISTCONFIGPANEL_H