+/*# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */
+
//----------------------------------------------------------------------------
// Class definition include
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
BEGIN_EVENT_TABLE(pPlotterWindow,mpWindow)
-EVT_MOTION (pPlotterWindow::onMouseMove)
-EVT_LEFT_DCLICK(pPlotterWindow::onChangeActual)
-EVT_LEFT_DOWN(pPlotterWindow::onAddPoint)
-EVT_MENU(pwID_DELPOINT, pPlotterWindow::onDeletePoint)
-EVT_MENU(pwID_SHOWPOINTS, pPlotterWindow::onShowPoints)
-EVT_MENU(pwID_STARTDRAWING, pPlotterWindow::onStartDrawing)
-//EVT_MENU(pwID_DELFUNCTION,pPlotterWindow::onDeleteFunction)
-EVT_MENU(pwID_STOPDRAWING, pPlotterWindow::onStopDrawing)
-EVT_MENU(pwID_ADDNEWPOINT, pPlotterWindow::onAddNewPoint)
-EVT_MENU(pwID_NOSHOWPOINTS, pPlotterWindow::onNoShowPoints)
-EVT_MENU(pwID_MYZOOMOUT,pPlotterWindow::onMyZoomOut)
-EVT_MENU(pwID_MYZOOMIN,pPlotterWindow::onMyZoomIn)
-EVT_MENU(pwID_SPLINE,pPlotterWindow::onSplinePoints)
-EVT_MENU(pwID_LINE,pPlotterWindow::onLine)
-EVT_MENU(pwID_SAVE,pPlotterWindow::onSave)
-EVT_MENU(pwID_LOAD,pPlotterWindow::onLoad)
-EVT_MENU(pwID_CHANGECOLOR,pPlotterWindow::onChangeColor)
-EVT_MENU( mpID_LINE_GUIDES, pPlotterWindow::OnGuideLines)
-EVT_MENU( pwID_TRASLATEACTUALFUNCTION, pPlotterWindow::onMoveFunction)
-EVT_LEFT_UP(pPlotterWindow::onLeftUp)
+ EVT_MOTION (pPlotterWindow::onMouseMove)
+ EVT_LEFT_DCLICK(pPlotterWindow::onChangeActual)
+ EVT_LEFT_DOWN(pPlotterWindow::onAddPoint)
+ EVT_MENU(pwID_DELPOINT, pPlotterWindow::onDeletePoint)
+ EVT_MENU(pwID_SHOWPOINTS, pPlotterWindow::onShowPoints)
+ EVT_MENU(pwID_STARTDRAWING, pPlotterWindow::onStartDrawing)
+ //EVT_MENU(pwID_DELFUNCTION,pPlotterWindow::onDeleteFunction)
+ EVT_MENU(pwID_STOPDRAWING, pPlotterWindow::onStopDrawing)
+ EVT_MENU(pwID_ADDNEWPOINT, pPlotterWindow::onAddNewPoint)
+ EVT_MENU(pwID_NOSHOWPOINTS, pPlotterWindow::onNoShowPoints)
+ EVT_MENU(pwID_MYZOOMOUT,pPlotterWindow::onMyZoomOut)
+ EVT_MENU(pwID_MYZOOMIN,pPlotterWindow::onMyZoomIn)
+ EVT_MENU(pwID_SPLINE,pPlotterWindow::onSplinePoints)
+ EVT_MENU(pwID_LINE,pPlotterWindow::onLine)
+ EVT_MENU(pwID_SAVE,pPlotterWindow::onSave)
+ EVT_MENU(pwID_LOAD,pPlotterWindow::onLoad)
+ EVT_MENU(pwID_CHANGECOLOR,pPlotterWindow::onChangeColor)
+ EVT_MENU( mpID_LINE_GUIDES, pPlotterWindow::OnGuideLines)
+ EVT_MENU( pwID_TRASLATEACTUALFUNCTION, pPlotterWindow::onMoveFunction)
+ EVT_LEFT_UP(pPlotterWindow::onLeftUp)
END_EVENT_TABLE()
//----------------------------------------------------------------------------
void pPlotterWindow::setActualScales()
{
// int maxX,maxY,minX,minY; // JPRx
+ int maxX,maxY;//,minX,minY; // JPRx //EED
/*
if the function is drawed interactively the maxX and the
maxY in actual are sets by the user
function->initializeSplineVectors();
UpdateAll();
}
- // bool added1= functions.Append(function)!=NULL; // JPRx
+
+// bool added1= functions.Append(function)!=NULL; // JPRx
+ functions.Append(function); //EED
int id=functions.IndexOf(function);
- /* bool added2= */ AddLayer(function);// JPRx
+
+ // bool added2= AddLayer(function);// JPRx
+ AddLayer(function); //EED
+
UpdateAll();
return id;//added1 && added2;
}
*/
pGraphicalFunction* pPlotterWindow::getFunction(int index)
{
- wxNode* node=functions.Item(index);
+ wxNode* node=NULL;
+ if (functions.size()>index)
+ {
+ node=functions.Item(index);
+ } // if
+
+ if(node==NULL)
+ {
+ return NULL;
+ } // if node
return (pGraphicalFunction*)node->GetData();
}
+
+
/*
move the functions that the user wants to move
and that were set in functionsToMove
@param porcentageMaxX:the percentage that the maxShowed
of the functions have to be move
0<=porcentageMaxX<=1
-
*/
-
void pPlotterWindow::moveFunctions( float porcentageMinX,float porcentageMaxX)
{
//Adding the actual function
*/
int pPlotterWindow::addFunctionToMove(pGraphicalFunction *function)
{
- // bool added1= functionsToMove.Append(function)!=NULL; // JPRx
+ //bool added1= functionsToMove.Append(function)!=NULL; // JPRx
+ functionsToMove.Append(function); // EED
+
int id=functionsToMove.IndexOf(function);
UpdateAll();
return id;