]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkWxBlackBox.h
#3073 BBTK Bug New Normal - message documentation in boxes
[bbtk.git] / kernel / src / bbtkWxBlackBox.h
index b93adeb4553c841ced0a3509a9cab8183ef9e287..e5e529bdc8afbf4fcdd12822465a3dd6344b4020 100644 (file)
@@ -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
  * 
 #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<wxWindow>
   { 
   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<wxWindow>
   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<wxWindow>
-  {
-  public:
-    typedef WidgetBlackBoxWindow<wxWindow> 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<wxWindow>
-  {
-  public:
-    typedef WidgetBlackBoxWindow<wxWindow> 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__