]> Creatis software - bbtk.git/blob - kernel/src/bbtkWx.cxx
fc42e4788c5af29040172211e5356159f30d6256
[bbtk.git] / kernel / src / bbtkWx.cxx
1 #ifdef _USE_WXWIDGETS_
2
3 #include "bbtkWx.h"
4 #include "bbtkMessageManager.h"
5
6 namespace bbtk
7 {
8
9 //EED
10   static wxWindow* mgTopWindow = 0;
11   static int mgNbWindowsAlive  = 0;
12   static int mgNbWindowsShown  = 0;
13
14
15   void Wx::ResetCursor() 
16   {
17     if (!GetTopWindow()) return;
18     bbtkDebugMessage("Wx",9,"wx::ResetCursor()"<<std::endl);
19     while (wxIsBusy()) ::wxEndBusyCursor();
20   }
21   void Wx::BeginBusyCursor() 
22   {
23     if (!GetTopWindow()) return;
24     bbtkDebugMessage("Wx",9,"wx::BeginBusyCursor()"<<std::endl);
25     ::wxBeginBusyCursor();
26   }
27   void Wx::EndBusyCursor()
28   {
29     if (!GetTopWindow()) return;
30     bbtkDebugMessage("Wx",9,"wx::EndBusyCursor()"<<std::endl);
31     ::wxEndBusyCursor();
32   }
33   
34   //=========================================================================
35   void Wx::SetTopWindow(wxWindow* w) 
36   {
37     if ( mgTopWindow ) 
38       {
39         bbtkGlobalError("wx::SetTopWindow : top window already set !");
40       } 
41     mgTopWindow = w;
42   }
43   //=========================================================================
44   //=========================================================================
45   void Wx::DecNbWindowsAlive()
46   { 
47     mgNbWindowsAlive--; 
48     /*
49     if ( (bbmgNbWindowsAlive==0) && 
50          bbmgTopWindow && (!bbmgTopWindow->IsShown()))
51       {
52         bbmgTopWindow->Close();
53       }
54     */
55   }
56   //=========================================================================
57
58   //=========================================================================
59   void Wx::DecNbWindowsShown()
60   { 
61     mgNbWindowsShown--; 
62     if ( (mgNbWindowsShown==0) && 
63          mgTopWindow && (!mgTopWindow->IsShown()))
64       {
65         mgTopWindow->Close();
66       }
67   }
68   //=========================================================================
69
70   //=========================================================================
71 /*EED
72   // Static members 
73   wxWindow* Wx::mgTopWindow = 0;
74   int Wx::mgNbWindowsAlive  = 0;
75   int Wx::mgNbWindowsShown  = 0;
76 */
77   //=========================================================================
78
79
80 //EED
81     wxWindow* Wx::GetTopWindow() 
82         { 
83                 return mgTopWindow; 
84         }
85
86     void Wx::IncNbWindowsAlive() 
87         { 
88                 mgNbWindowsAlive++; 
89         }
90
91     int  Wx::GetNbWindowsAlive() 
92         { 
93                 return mgNbWindowsAlive; 
94         }
95
96     bool Wx::IsSomeWindowAlive() 
97         { 
98                 return (mgNbWindowsAlive>0);
99         }
100
101     void Wx::IncNbWindowsShown() 
102         { 
103                 mgNbWindowsShown++; 
104         }
105
106     int  Wx::GetNbWindowsShown() 
107         { 
108                 return mgNbWindowsShown; 
109         }
110
111     bool Wx::IsSomeWindowShown() 
112         { 
113                 return (mgNbWindowsShown>0);
114         }
115
116 }
117
118 #endif