X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FbbtkWxBlackBox.h;h=e5e529bdc8afbf4fcdd12822465a3dd6344b4020;hb=16993e9f411c62e9a73d13c40f3748bdd232ce09;hp=b93adeb4553c841ced0a3509a9cab8183ef9e287;hpb=28479cf7460f053625842de2e8df98b2e3363ede;p=bbtk.git diff --git a/kernel/src/bbtkWxBlackBox.h b/kernel/src/bbtkWxBlackBox.h index b93adeb..e5e529b 100644 --- a/kernel/src/bbtkWxBlackBox.h +++ b/kernel/src/bbtkWxBlackBox.h @@ -1,33 +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: bbtkWxBlackBox.h,v $ Language: C++ - Date: $Date: 2009/05/19 10:19:23 $ - Version: $Revision: 1.28 $ + Date: $Date: 2012/11/16 08:49:01 $ + Version: $Revision: 1.33 $ ========================================================================*/ -/* --------------------------------------------------------------------- - -* Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale) -* Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux -* -* This software is governed by the CeCILL-B license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL-B -* license as circulated by CEA, CNRS and INRIA at the following URL -* http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -* or in the file LICENSE.txt. -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited -* liability. -* -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL-B license and that you accept its terms. -* ------------------------------------------------------------------------ */ + /** * \brief Short description in one line * @@ -51,25 +58,19 @@ #define __bbtkWxBlackBox_h__ -#include "bbtkWx.h" + #include "bbtkWidgetBlackBox.h" +#include "bbtkWx.h" namespace bbtk { - - - - - //================================================================== - // Forward declaration of the widget event handler class - class WxBlackBoxWidgetEventHandler; - //================================================================== - + //================================================================== /// Widget black boxes +//EED 10/06/2009 /*BBTK_EXPORT*/ class BBTK_EXPORT WxBlackBox : public bbtk::WidgetBlackBox { public: @@ -92,47 +93,38 @@ namespace bbtk virtual void bbCreateFrameWindow(); //================================================================== - - - //================================================================== - // virtual void InitWindowManagerIfNeeded(); - virtual void IncNbWindowsAlive(); - virtual void DecNbWindowsAlive(); - virtual int GetNbWindowsAlive(); - virtual bool IsSomeWindowAlive(); - - virtual void IncNbWindowsShown(); - virtual void DecNbWindowsShown(); - virtual int GetNbWindowsShown(); - virtual bool IsSomeWindowShown(); - //================================================================== + + //================================================================== + wxWindow* bbGetWindow() { return bbmWindow; } + void bbSetWindow(wxWindow*) ; + bool bbWindowIsCreated() { return (bbGetWindow() != 0); } + //================================================================== - //================================================================== - void bbCreateWidgetAndEventHandler(wxWindow* parent); + virtual void bbShowWindow(); + //================================================================== + //================================================================== - + virtual void bbDestroyWindow(); //================================================================== + //================================================================== + virtual void PutWinTitle(); + //================================================================== + + virtual std::string ConstructWinTitle(); + private: - /// friendship - friend class WxBlackBoxWidgetEventHandler; - /// Sets the Widget Event Handler - inline void bbSetWidgetEventHandler(WxBlackBoxWidgetEventHandler* w) - { bbmWidgetEventHandler = w; } - /// Gets the Widget Event Handler - inline WxBlackBoxWidgetEventHandler* bbGetWidgetEventHandler() - { return bbmWidgetEventHandler; } - /// The WxBlackBoxWidgetEventHandler associated to the box - WxBlackBoxWidgetEventHandler* bbmWidgetEventHandler; + + wxWindow* bbmWindow; + }; //================================================================= //================================================================= // WxBlackBoxDescriptor declaration - // class WxBlackBoxDescriptor : public WidgetBlackBoxDescriptor BBTK_BEGIN_DESCRIBE_BLACK_BOX_BODY(WxBlackBox); BBTK_NAME("WxBlackBox"); @@ -140,81 +132,6 @@ namespace bbtk //================================================================= - - - - - - - - - //================================================================== - // Dialog window which is modal - class BBTK_EXPORT WxBlackBoxDialog : public wxDialog, - public WidgetBlackBoxWindow - { - public: - typedef WidgetBlackBoxWindow Parent; - WxBlackBoxDialog(WxBlackBox::Pointer box, - wxWindow *parent, wxString title, wxSize size); - ~WxBlackBoxDialog(); - void bbShow(); - void bbHide(); - void bbDestroy(); - bool IsDialog() { return true; } - bool IsFrame() { return false; } - wxDialog* bbGetDialog() { return this; } - }; - //================================================================== - - //================================================================== - // Frame window which is not modal - class BBTK_EXPORT WxBlackBoxFrame : public wxFrame, - public WidgetBlackBoxWindow - { - public: - typedef WidgetBlackBoxWindow Parent; - WxBlackBoxFrame(WxBlackBox::Pointer box, - wxWindow *parent, wxString title, wxSize size); - ~WxBlackBoxFrame(); - void bbShow(); - void bbHide(); - void bbDestroy(); - bool IsDialog() { return false; } - bool IsFrame() { return true; } - wxFrame* bbGetFrame() { return this; } - }; - //================================================================== - - - - //================================================================= - // Handles the destroy events of a widget associated to a WxBlackBox - // in order to signal the widget death to its associated box - class BBTK_EXPORT WxBlackBoxWidgetEventHandler : public wxEvtHandler - { - public: - /// Ctor with the box and widget - WxBlackBoxWidgetEventHandler( WxBlackBox::Pointer box, wxWindow *widget ); - /// Dtor - ~WxBlackBoxWidgetEventHandler(); - /// Returns true iff is the handler for that window - bool IsHandlerOf( wxWindow* w ) { return mWindow == w; } - // wxWindow* GetWxWindow() { return mWindow; } - /// Method processing the destroy event of the widget - void OnWindowDestroy(wxWindowDestroyEvent&); - // - //bool IsDead() { return mDead; } - - private: - WxBlackBox::WeakPointer mBox; - wxWindow* mWindow; - //bool mDead; - }; - //================================================================= - - - } //namespace bbtk #endif //__bbtkWxBlackBox_h__