X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FbbtkWidgetBlackBoxWindow.txx;h=13d1273afdacf4f4dd56b9ea518b1c4f619a5f68;hb=72e1281cc66954975acc2414264239dcf055c15f;hp=2c7c2668bd75e69c52fde73e9b0c4ccc0b0d8303;hpb=038dbbd7dd8b34107ec932a34170a4625368eb25;p=bbtk.git diff --git a/kernel/src/bbtkWidgetBlackBoxWindow.txx b/kernel/src/bbtkWidgetBlackBoxWindow.txx index 2c7c266..13d1273 100644 --- a/kernel/src/bbtkWidgetBlackBoxWindow.txx +++ b/kernel/src/bbtkWidgetBlackBoxWindow.txx @@ -1,32 +1,40 @@ +/* + # --------------------------------------------------------------------- + # + # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image + # pour la SantÈ) + # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton + # Previous Authors : Laurent Guigues, Jean-Pierre Roux + # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil + # + # This software is governed by the CeCILL-B license under French law and + # abiding by the rules of distribution of free software. You can use, + # modify and/ or redistribute the software under the terms of the CeCILL-B + # license as circulated by CEA, CNRS and INRIA at the following URL + # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html + # or in the file LICENSE.txt. + # + # As a counterpart to the access to the source code and rights to copy, + # modify and redistribute granted by the license, users are provided only + # with a limited warranty and the software's author, the holder of the + # economic rights, and the successive licensors have only limited + # liability. + # + # The fact that you are presently reading this means that you have had + # knowledge of the CeCILL-B license and that you accept its terms. + # ------------------------------------------------------------------------ */ + + /*========================================================================= Program: bbtk Module: $RCSfile: bbtkWidgetBlackBoxWindow.txx,v $ Language: C++ - Date: $Date: 2009/04/08 07:56:11 $ - Version: $Revision: 1.1 $ + Date: $Date: 2012/11/16 08:49:01 $ + Version: $Revision: 1.5 $ =========================================================================*/ -/* --------------------------------------------------------------------- - -* Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale) -* Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux -* -* This software is governed by the CeCILL-B license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL-B -* license as circulated by CEA, CNRS and INRIA at the following URL -* http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -* or in the file LICENSE.txt. -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited -* liability. -* -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL-B license and that you accept its terms. -* ------------------------------------------------------------------------ */ + + /** * \file @@ -66,10 +74,12 @@ namespace bbtk bbtkDebugMessage("widget",9, "WidgetBlackBoxWindow::~WidgetBlackBoxWindow() " <DecNbWindowsAlive(); if (!mBox.expired()) { + mBox.lock()->DecNbWindowsAlive(); mBox.lock()->bbSetWindow(0); } } @@ -93,7 +103,7 @@ namespace bbtk template void WidgetBlackBoxWindow::bbHide() { - if (!bbIsShown()) return; + if ((!bbIsShown())||(mBox.expired())) return; bbtkDebugMessage("widget",9,"WidgetBlackBoxWindow::bbHide() [" <bbGetName()<<"]"<DecNbWindowsShown(); @@ -103,10 +113,16 @@ namespace bbtk //========================================================================= template - void WidgetBlackBoxWindow::bbClose() + void WidgetBlackBoxWindow::bbDestroy() { - bbtkDebugMessage("widget",9,"WidgetBlackBoxWindow::bbClose() [" + + if (mBox.expired()) return; + bbtkDebugMessage("widget",9,"WidgetBlackBoxWindow::bbDestroy() [" <bbGetName()<<"]"<DecNbWindowsAlive(); + mBox.lock()->bbSetWindow(0); + } //=========================================================================