X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FbbtkWxBlackBox.h;h=afe61751f3456ffb20e0522a0de51381f46cf1f1;hb=d2e9b6b072310e5fd087c6f412eb2f148c4d0638;hp=368491847f0fa498f2b00b1f588f2f93c80d4fda;hpb=038dbbd7dd8b34107ec932a34170a4625368eb25;p=bbtk.git diff --git a/kernel/src/bbtkWxBlackBox.h b/kernel/src/bbtkWxBlackBox.h index 3684918..afe6175 100644 --- a/kernel/src/bbtkWxBlackBox.h +++ b/kernel/src/bbtkWxBlackBox.h @@ -2,8 +2,8 @@ Program: bbtk Module: $RCSfile: bbtkWxBlackBox.h,v $ Language: C++ - Date: $Date: 2009/04/08 07:56:11 $ - Version: $Revision: 1.26 $ + Date: $Date: 2009/06/10 11:36:53 $ + Version: $Revision: 1.31 $ ========================================================================*/ @@ -51,25 +51,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,55 +86,32 @@ namespace bbtk virtual void bbCreateFrameWindow(); //================================================================== - //================================================================== - /// User callback called in the box contructor - virtual void bbUserConstructor(); - /// User callback called in the box copy constructor - virtual void bbUserCopyConstructor(bbtk::BlackBox::Pointer); + + //================================================================== + wxWindow* bbGetWindow() { return bbmWindow; } + void bbSetWindow(wxWindow*) ; + bool bbWindowIsCreated() { return (bbGetWindow() != 0); } //================================================================== - - - //================================================================== - // 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(); - //================================================================== - //================================================================== - void bbCreateWidgetAndEventHandler(wxWindow* parent); + virtual void bbShowWindow(); + //================================================================== + //================================================================== - + virtual void bbDestroyWindow(); //================================================================== 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; - /// Init the attributes - void bbInitAttributes(); + + wxWindow* bbmWindow; + }; //================================================================= //================================================================= // WxBlackBoxDescriptor declaration - // class WxBlackBoxDescriptor : public WidgetBlackBoxDescriptor BBTK_BEGIN_DESCRIBE_BLACK_BOX_BODY(WxBlackBox); BBTK_NAME("WxBlackBox"); @@ -148,81 +119,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 bbClose(); - 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 bbClose(); - 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__