namespace bbtk
{
- void wx::ResetCursor()
+
+//EED
+ static wxWindow* mgTopWindow = 0;
+ static int mgNbWindowsAlive = 0;
+ static int mgNbWindowsShown = 0;
+
+
+ void Wx::ResetCursor()
{
+ if (!GetTopWindow()) return;
bbtkDebugMessage("Wx",9,"wx::ResetCursor()"<<std::endl);
while (wxIsBusy()) ::wxEndBusyCursor();
}
- void wx::BeginBusyCursor()
+ void Wx::BeginBusyCursor()
{
+ if (!GetTopWindow()) return;
bbtkDebugMessage("Wx",9,"wx::BeginBusyCursor()"<<std::endl);
::wxBeginBusyCursor();
}
- void wx::EndBusyCursor()
+ void Wx::EndBusyCursor()
{
+ if (!GetTopWindow()) return;
bbtkDebugMessage("Wx",9,"wx::EndBusyCursor()"<<std::endl);
::wxEndBusyCursor();
}
+ //=========================================================================
+ void Wx::SetTopWindow(wxWindow* w)
+ {
+ if ( mgTopWindow )
+ {
+ bbtkGlobalError("wx::SetTopWindow : top window already set !");
+ }
+ mgTopWindow = w;
+ }
+ //=========================================================================
+ //=========================================================================
+ void Wx::DecNbWindowsAlive()
+ {
+ mgNbWindowsAlive--;
+ /*
+ if ( (bbmgNbWindowsAlive==0) &&
+ bbmgTopWindow && (!bbmgTopWindow->IsShown()))
+ {
+ bbmgTopWindow->Close();
+ }
+ */
+ }
+ //=========================================================================
+
+ //=========================================================================
+ void Wx::DecNbWindowsShown()
+ {
+ mgNbWindowsShown--;
+ if ( (mgNbWindowsShown==0) &&
+ mgTopWindow && (!mgTopWindow->IsShown()))
+ {
+ mgTopWindow->Close();
+ }
+ }
+ //=========================================================================
+
+ //=========================================================================
+/*EED
+ // Static members
+ wxWindow* Wx::mgTopWindow = 0;
+ int Wx::mgNbWindowsAlive = 0;
+ int Wx::mgNbWindowsShown = 0;
+*/
+ //=========================================================================
+
+
+//EED
+ wxWindow* Wx::GetTopWindow()
+ {
+ return mgTopWindow;
+ }
+
+ void Wx::IncNbWindowsAlive()
+ {
+ mgNbWindowsAlive++;
+ }
+
+ int Wx::GetNbWindowsAlive()
+ {
+ return mgNbWindowsAlive;
+ }
+
+ bool Wx::IsSomeWindowAlive()
+ {
+ return (mgNbWindowsAlive>0);
+ }
+
+ void Wx::IncNbWindowsShown()
+ {
+ mgNbWindowsShown++;
+ }
+
+ int Wx::GetNbWindowsShown()
+ {
+ return mgNbWindowsShown;
+ }
+
+ bool Wx::IsSomeWindowShown()
+ {
+ return (mgNbWindowsShown>0);
+ }
}