From 5ca30b861f60def2666a1c675e8b45df0a713f95 Mon Sep 17 00:00:00 2001 From: guigues Date: Fri, 8 Feb 2008 10:05:38 +0000 Subject: [PATCH 1/1] *** empty log message *** --- kernel/appli/bbi/bbi.cxx | 2 +- kernel/src/bbtkBlackBox.cxx | 10 ++-- kernel/src/bbtkComplexBlackBox.cxx | 8 ++-- kernel/src/bbtkMessageManager.h | 2 +- kernel/src/bbtkWx.cxx | 54 +++++++++++++++++++-- kernel/src/bbtkWx.h | 67 +++++++++++++++++++------- kernel/src/bbtkWxBlackBox.cxx | 77 +++++------------------------- kernel/src/bbtkWxBlackBox.h | 28 ++--------- kernel/src/bbtkWxConsole.cxx | 6 +-- 9 files changed, 131 insertions(+), 123 deletions(-) diff --git a/kernel/appli/bbi/bbi.cxx b/kernel/appli/bbi/bbi.cxx index a4c9c8a..39fcc08 100644 --- a/kernel/appli/bbi/bbi.cxx +++ b/kernel/appli/bbi/bbi.cxx @@ -140,7 +140,7 @@ bool wxBBIApp::OnInit( ) if (help_on_script) bbtk::HelpBlackBox("workspace",false); - if (!(command || bbtk::WxBlackBox::bbGlobalIsSomeWindowShown() )) + if (!(command || bbtk::Wx::IsSomeWindowShown() )) { I->Close(); } diff --git a/kernel/src/bbtkBlackBox.cxx b/kernel/src/bbtkBlackBox.cxx index f9cae86..ae3ea1f 100644 --- a/kernel/src/bbtkBlackBox.cxx +++ b/kernel/src/bbtkBlackBox.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkBlackBox.cxx,v $ Language: C++ -Date: $Date: 2008/02/05 13:23:46 $ -Version: $Revision: 1.2 $ +Date: $Date: 2008/02/08 10:05:38 $ +Version: $Revision: 1.3 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See doc/license.txt or @@ -89,7 +89,7 @@ namespace bbtk "=> BlackBox::bbExecute() [" <IsShown())) + { + bbmgTopWindow->Close(); + } + */ + } + //========================================================================= + + //========================================================================= + void Wx::DecNbWindowsShown() + { + mgNbWindowsShown--; + if ( (mgNbWindowsShown==0) && + mgTopWindow && (!mgTopWindow->IsShown())) + { + mgTopWindow->Close(); + } + } + //========================================================================= + + //========================================================================= + // Static members + wxWindow* Wx::mgTopWindow = 0; + int Wx::mgNbWindowsAlive = 0; + int Wx::mgNbWindowsShown = 0; + //========================================================================= + + + } diff --git a/kernel/src/bbtkWx.h b/kernel/src/bbtkWx.h index c03b4d5..a27aae1 100644 --- a/kernel/src/bbtkWx.h +++ b/kernel/src/bbtkWx.h @@ -35,17 +35,39 @@ namespace bbtk { //================================================================== /// Global wx handlers (cursor...) - - struct BBTK_EXPORT wx - { public: - static void ResetCursor(); - static void BeginBusyCursor(); - static void EndBusyCursor(); - static int mBeginBusyCallsCount; - }; // struct wx -//================================================================== - - + + struct BBTK_EXPORT Wx + { + public: + static void ResetCursor(); + static void BeginBusyCursor(); + static void EndBusyCursor(); + static int mBeginBusyCallsCount; + + /// Returns the global parent of all bbtk windows + static wxWindow* GetTopWindow() { return mgTopWindow; } + /// Sets the global parent of all bbtk windows + static void SetTopWindow(wxWindow*); + + static void IncNbWindowsAlive() { mgNbWindowsAlive++; } + static void DecNbWindowsAlive(); + static int GetNbWindowsAlive() { return mgNbWindowsAlive; } + static bool IsSomeWindowAlive() { return (mgNbWindowsAlive>0);} + + static void IncNbWindowsShown() { mgNbWindowsShown++; } + static void DecNbWindowsShown(); + static int GetNbWindowsShown() { return mgNbWindowsShown; } + static bool IsSomeWindowShown() { return (mgNbWindowsShown>0);} + + private: + static wxWindow* mgTopWindow; + static int mgNbWindowsAlive; + static int mgNbWindowsShown; + + }; // struct Wx + //================================================================== + + //================================================================== /// Conversion std::string to wxString inline wxString std2wx(const std::string& s){ @@ -88,12 +110,23 @@ namespace bbtk namespace bbtk { - struct BBTK_EXPORT wx - { - static void ResetCursor() {} - static void BeginBusyCursor() {} - static void EndBusyCursor() {} - }; // struct wx + struct BBTK_EXPORT Wx + { + static void ResetCursor() {} + static void BeginBusyCursor() {} + static void EndBusyCursor() {} + static wxWindow* GetTopWindow() { return 0; } + static void SetTopWindow(wxWindow*) {} + static void IncNbWindowsAlive() {} + static void DecNbWindowsAlive() {} + static int GetNbWindowsAlive() { return 0; } + static bool IsSomeWindowAlive() { return false; } + + static void IncNbWindowsShown() {} + static void DecNbWindowsShown() {} + static int GetNbWindowsShown() { return 0; } + static bool IsSomeWindowShown() { return false; } + }; // struct Wx } // namespace bbtk diff --git a/kernel/src/bbtkWxBlackBox.cxx b/kernel/src/bbtkWxBlackBox.cxx index 4f791be..1cea747 100644 --- a/kernel/src/bbtkWxBlackBox.cxx +++ b/kernel/src/bbtkWxBlackBox.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkWxBlackBox.cxx,v $ Language: C++ - Date: $Date: 2008/02/07 07:58:54 $ - Version: $Revision: 1.6 $ + Date: $Date: 2008/02/08 10:05:38 $ + Version: $Revision: 1.7 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -38,59 +38,6 @@ namespace bbtk { - //========================================================================= - wxWindow* WxBlackBox::bbGlobalGetTopWindow() - { - return bbmgTopWindow; - } - //========================================================================= - - //========================================================================= - void WxBlackBox::bbGlobalSetTopWindow(wxWindow* w) - { - if ( bbmgTopWindow ) - { - bbtkGlobalError("WxBlackBox::bbGlobalSetTopWindow : top window already set !"); - } - bbmgTopWindow = w; - } - //========================================================================= - - - //========================================================================= - void WxBlackBox::bbGlobalDecNbWindowsAlive() - { - bbmgNbWindowsAlive--; - /* - if ( (bbmgNbWindowsAlive==0) && - bbmgTopWindow && (!bbmgTopWindow->IsShown())) - { - bbmgTopWindow->Close(); - } - */ - } - //========================================================================= - - //========================================================================= - void WxBlackBox::bbGlobalDecNbWindowsShown() - { - bbmgNbWindowsShown--; - if ( (bbmgNbWindowsShown==0) && - bbmgTopWindow && (!bbmgTopWindow->IsShown())) - { - bbmgTopWindow->Close(); - } - } - //========================================================================= - - //========================================================================= - // Static members - wxWindow* WxBlackBox::bbmgTopWindow =0; - int WxBlackBox::bbmgNbWindowsAlive = 0; - int WxBlackBox::bbmgNbWindowsShown = 0; - //========================================================================= - - @@ -107,9 +54,9 @@ namespace bbtk bbtkDebugMessage("Wx",9,"WxBlackBoxWindow::WxBlackBoxWindow("<< mBox->bbGetFullName()<<")"<bbSetWindow(this); - WxBlackBox::bbGlobalIncNbWindowsAlive(); + Wx::IncNbWindowsAlive(); bbtkDebugMessage("Wx",9," -> Number of windows alive = " - <bbGetFullName()<<"]"<bbSetWindow(0); - WxBlackBox::bbGlobalDecNbWindowsAlive(); + Wx::DecNbWindowsAlive(); bbtkDebugMessage("Wx",9," -> Number of windows alive = " - <bbGetFullName()<<"]"< Number of windows shown = " - <bbGetFullName()<<"]"< Number of windows shown = " - <0);} - - static void bbGlobalDecNbWindowsShown(); - static void bbGlobalIncNbWindowsShown() { WxBlackBox::bbmgNbWindowsShown++; } - static int bbGlobalGetNbWindowsShown() { return WxBlackBox::bbmgNbWindowsShown; } - static bool bbGlobalIsSomeWindowShown() { return (WxBlackBox::bbmgNbWindowsShown>0);} - - - private: - static wxWindow* bbmgTopWindow; - static int bbmgNbWindowsAlive; - static int bbmgNbWindowsShown; - + protected: diff --git a/kernel/src/bbtkWxConsole.cxx b/kernel/src/bbtkWxConsole.cxx index 6a2a7d8..a29cfb1 100644 --- a/kernel/src/bbtkWxConsole.cxx +++ b/kernel/src/bbtkWxConsole.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkWxConsole.cxx,v $ Language: C++ - Date: $Date: 2008/01/22 15:02:00 $ - Version: $Revision: 1.1 $ + Date: $Date: 2008/02/08 10:05:38 $ + Version: $Revision: 1.2 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -282,7 +282,7 @@ namespace bbtk new WxTextCtrlStreamRedirector(std::cerr,mwxTextHistory,*wxGREEN,true); // Sets the console as the parent window of all bbtk windows - WxBlackBox::bbGlobalSetTopWindow(this); + Wx::SetTopWindow(this); // Layout -- 2.45.1