]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/mathplot.cxx
#3263 creaMaracasVisu Feature New Normal - ViewerNV sync ParallelScale Camera
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / pPlotter / mathplot.cxx
index b6b1e48c9784eb5a3a2a59ec9c4b5cce58e9f279..738cae1a18c679ffc58824cb6c176891870dfde2 100644 (file)
@@ -1,3 +1,28 @@
+/*# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */
+
 /////////////////////////////////////////////////////////////////////////////
 // Name:        mathplot.cpp
 // Purpose:     Framework for mathematical graph plotting in wxWindows
@@ -343,12 +368,10 @@ void mpScaleY::Plot(wxDC & dc, mpWindow & w, int orgy)
        if (tmp>=1)
        {
                fmt = wxT("%.f");
-       }
-       else
-       {
+       } else {
                tmp=8-tmp;
                fmt.Printf(wxT("%%.%df"), tmp >= -1 ? 2 : -tmp);
-       }
+       } // if temp
 
        double n = floor( (w.GetPosY() - (double)extend / w.GetScaleY()) / step ) * step ;
 
@@ -364,8 +387,8 @@ void mpScaleY::Plot(wxDC & dc, mpWindow & w, int orgy)
                {
                        dc.DrawText( s, orgx+4, GetYTranslated(sizedc,p-ty/2));
                        tmp=p-ty/2;
-               }
-       }
+               } // if
+       } // for
 
        dc.GetTextExtent(m_name, &tx, &ty);
        dc.DrawText( m_name, orgx-tx-4, GetYTranslated(sizedc,-extend + ty + 4));
@@ -375,7 +398,13 @@ void mpScaleY::Plot(wxDC & dc, mpWindow & w, int orgy)
 // mpWindow
 //-----------------------------------------------------------------------------
 
-IMPLEMENT_DYNAMIC_CLASS(mpWindow, wxScrolledWindow)
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
+       IMPLEMENT_DYNAMIC_CLASS(mpWindow, wxScrolledWindow)
+#else
+       wxIMPLEMENT_DYNAMIC_CLASS(mpWindow, wxScrolledWindow);
+#endif
+
 
 BEGIN_EVENT_TABLE(mpWindow, wxScrolledWindow)
 EVT_PAINT    ( mpWindow::OnPaint)
@@ -396,24 +425,24 @@ END_EVENT_TABLE()
 mpWindow::mpWindow( wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size, int flag )
 : wxScrolledWindow( parent, id, wxDefaultPosition, wxDefaultSize, flag, wxT("wxPlotter") )
 {
-       m_scaleX = m_scaleY = 1.0;
-       m_posX   = m_posY   = 0;
-       m_scrX   = m_scrY   = 64;
-       m_minX   = m_minY   = 0;
-       m_maxX   = m_maxY   = 0;
-       maxScrX = maxScrY   = 200;
-       minScrX = minScrY   = 0;
-       m_clickedX  0;
-       m_clickedY = 5000;
-       m_lockaspect = FALSE;
-       offsetX = offsetY = 0;
-       offsetPixelX = offsetPixelY= 0;
-       _bitmap_functions=NULL;
-
-       real_guideLine_X = -1;
-       real_guideLine_Y = -1;
-       drawGuides = true;
-       type=1;
+       m_scaleX                        = m_scaleY              = 1.0;
+       m_posX                          = m_posY                = 0;
+       m_scrX                          = m_scrY                = 64;
+       m_minX                          = m_minY                = 0;
+       m_maxX                          = m_maxY                = 0;
+       maxScrX                         = maxScrY       = 200;
+       minScrX                         = minScrY       = 0;
+       m_clickedX                      = 0;
+       m_clickedY                      = 5000;
+       m_lockaspect            = FALSE;
+       offsetX                         = offsetY               = 0;
+       offsetPixelX            = offsetPixelY  = 0;
+       _bitmap_functions       = NULL;
+
+       real_guideLine_X        = -1;
+       real_guideLine_Y        = -1;
+       drawGuides                      = true;
+       type                            = 1;
 
        m_popmenu.Append( mpID_CENTER,     _("Center"),      _("Center plot view to this position"));
        m_popmenu.Append( mpID_FIT,        _("Fit"),         _("Set plot view to show all items"));
@@ -486,16 +515,13 @@ void mpWindow::ZoomOut()
 void mpWindow::LockAspect(bool enable)
 {
        m_lockaspect = enable;
-
        m_popmenu.Check(mpID_LOCKASPECT, enable);
-
        if (m_lockaspect)
        {
                double s = (m_scaleX + m_scaleY)/2;
                m_scaleX = s;
                m_scaleY = s;
        }
-
        UpdateAll();
 }
 
@@ -565,7 +591,6 @@ void mpWindow::OnPaint( wxPaintEvent &event )
 {
        wxPaintDC dc(this);
        dc.GetSize(&m_scrX, &m_scrY);
-printf("EED mpWindow::OnPaint %d %d\n",m_scrX,m_scrY);
 
        //m_scrX=200;
        //m_scrY=200;
@@ -705,15 +730,12 @@ void mpWindow::UpdateAll()
        {
                int cx, cy;
                GetClientSize( &cx, &cy);
-printf("EED mpWindow::UpdateAll %d %d\n",cx,cy);
-
-               //const int sx = (int)((m_maxX - m_minX) * GetScaleX()); // JPRx
-               //const int sy = (int)((m_maxY - m_minY) * GetScaleY()); // JPRx
-               //const int px = (int)((GetPosX() - m_minX) * GetScaleX() - (cx>>1)); // JPRx
-               //const int py = (int)((GetPosY() - m_minY) * GetScaleY() - (cy>>1)); // JPRx
-               //SetScrollbars( 1, 1, sx, sy, px, py);
+               const int sx = (int)((m_maxX - m_minX) * GetScaleX()); // JPRx
+               const int sy = (int)((m_maxY - m_minY) * GetScaleY()); // JPRx
+               const int px = (int)((GetPosX() - m_minX) * GetScaleX() - (cx>>1)); // JPRx
+               const int py = (int)((GetPosY() - m_minY) * GetScaleY() - (cy>>1)); // JPRx
+               SetScrollbars( 1, 1, sx, sy, px, py);
        }
-
        FitInside();
        Refresh( false );
 }