]> Creatis software - bbtk.git/blob - kernel/src/vtkKWBlackBoxDialog.cxx
0a3480217021350806d2c4cdea399e9d18a6bea8
[bbtk.git] / kernel / src / vtkKWBlackBoxDialog.cxx
1 #ifdef USE_KWWIDGETS
2
3 #include "vtkKWBlackBoxDialog.h"
4 #include "bbtkKW.h"
5 #include "vtkObjectFactory.h"
6
7   //=========================================================================
8   // vtkKWBlackBoxWindow
9   //=========================================================================
10
11
12 /*
13   //=========================================================================
14   vtkKWBlackBoxWindow::vtkKWBlackBoxWindow()
15     : mShown(false)
16   {
17     bbtkDebugMessage("kw",9,"vtkKWBlackBoxWindow::vtkKWBlackBoxWindow()"
18                      <<std::endl);
19     bbtk::KW::IncNbWindowsAlive();
20   }
21   //=========================================================================
22
23
24
25   //=========================================================================
26   vtkKWBlackBoxWindow::~vtkKWBlackBoxWindow()
27   {
28     bbtkDebugMessage("kw",9,"vtkKWBlackBoxWindow::~vtkKWBlackBoxWindow() "
29                      <<this<<std::endl);
30     bbHide();
31     bbtk::KW::DecNbWindowsAlive();
32     if (!mBox.expired())
33       {
34         mBox.lock()->bbSetWindow(0);
35       }
36   }
37   //========================================================================= 
38
39
40   //=========================================================================
41   void vtkKWBlackBoxWindow::bbShow()
42   {
43     if (bbIsShown()) return;
44     bbtkDebugMessage("kw",9,"vtkKWBlackBoxWindow::bbShow()"<<std::endl);
45     bbtk::KW::IncNbWindowsShown();
46     mShown = true;
47   }
48   //=========================================================================
49
50   //=========================================================================
51   void vtkKWBlackBoxWindow::bbHide()
52   {
53     if (!bbIsShown()) return;
54     bbtkDebugMessage("kw",9,"vtkKWBlackBoxWindow::bbHide()"<<std::endl);
55     bbtk::KW::DecNbWindowsShown();
56     mShown = false;
57   }
58   //=========================================================================
59
60   //=========================================================================
61   void vtkKWBlackBoxWindow::bbClose()
62   {
63   }
64   //=========================================================================
65
66 */
67   //=========================================================================
68   // vtkKWBlackBoxDialog
69   //=========================================================================
70   
71   //-------------------------------------------------------------------------
72   vtkStandardNewMacro( vtkKWBlackBoxDialog );
73   vtkCxxRevisionMacro( vtkKWBlackBoxDialog, "$Revision: 1.3 $");
74   //-------------------------------------------------------------------------
75
76   //=========================================================================
77 vtkKWBlackBoxDialog::vtkKWBlackBoxDialog() 
78   : mShown(false)
79 {
80   bbtkDebugMessage("kw",9,"vtkKWBlackBoxDialog::vtkKWBlackBoxDialog()"
81                    <<std::endl);
82   bbtk::KW::IncNbWindowsAlive();
83   this->mFrame = vtkKWFrame::New();
84 }
85 //=========================================================================
86   //=========================================================================
87   vtkKWBlackBoxDialog::~vtkKWBlackBoxDialog()
88   {
89     bbtkDebugMessage("kw",9,"~vtkKWBlackBoxDialog()"<<std::endl);
90     this->mFrame->Delete();
91     bbHide();
92     bbtk::KW::DecNbWindowsAlive();
93     if (!mBox.expired())
94       {
95         mBox.lock()->bbSetWindow(0);
96       }
97   }
98   //=========================================================================
99
100 //=========================================================================
101 void vtkKWBlackBoxDialog::CreateWidget()
102 {
103   bbtkDebugMessage("kw",5,"vtkKWBlackBoxDialog::CreateWidget() ["
104                    <<bbGetBlackBox()->bbGetFullName()<<"]"<<std::endl);
105   if (this->IsCreated())
106     {
107       vtkErrorMacro("vtkKWBlackBoxDialog already created");
108       return;
109     }
110   
111   this->Superclass::CreateWidget();
112   
113   this->SetTitle((bbGetBlackBox()->bbGetInputWinTitle()+"            - bbtk (c) CREATIS").c_str());
114
115   this->mFrame->SetParent(this);
116   this->mFrame->Create();
117   this->mFrame->SetWidth ( bbGetBlackBox()->bbGetInputWinWidth() );
118   this->mFrame->SetHeight ( bbGetBlackBox()->bbGetInputWinHeight() );
119
120   this->Script("pack %s -side top -expand true",
121                this->mFrame->GetWidgetName());
122 }
123 //=========================================================================
124
125 /*
126 //=========================================================================
127 void vtkKWBlackBoxDialog::Pack()
128 {
129   this->Script("pack %s -side top -expand true",
130                this->mFrame->GetWidgetName());
131 }
132 //=========================================================================
133 */
134  //=========================================================================
135   void vtkKWBlackBoxDialog::Cancel()
136   {
137     bbtkDebugMessage("kw",9,"vtkKWBlackBoxDialog::Cancel()"<<std::endl);
138     //    this->Delete();
139
140     //    this->Withdraw();
141     bbHide();
142     this->Done = vtkKWDialog::StatusCanceled;
143     //    std::cout << "REFS= "<<this->GetReferenceCount()<<std::endl;
144     //    std::cout << "WINS= "<<this->GetApplication()->GetNumberOfWindows ()<<std::endl;
145     //    this->Delete();
146     
147   }
148   //=========================================================================
149   
150  
151 //=========================================================================
152   void vtkKWBlackBoxDialog::bbShow()
153   { 
154     if (bbIsShown()) return;
155     bbtkDebugMessage("kw",5,"vtkKWBlackBoxDialog::bbShow() ["
156                      <<bbGetBlackBox()->bbGetFullName()<<"]"<<std::endl);
157     bbtk::KW::IncNbWindowsShown();
158     mShown = true;
159     //    vtkKWBlackBoxWindow::bbShow();
160     //SetReturnCode( kwDialog::ShowModal() ); 
161     this->Display();
162     this->Invoke();
163     //    bbClose();
164   }
165   //=========================================================================
166
167   //=========================================================================
168   void vtkKWBlackBoxDialog::bbHide()
169   {
170     bbtkDebugMessage("kw",9,"vtkKWBlackBoxDialog::bbHide()"<<std::endl);
171     // vtkKWBlackBoxWindow::bbHide();
172     bbtk::KW::DecNbWindowsShown();
173     mShown = false;
174     //    Hide();
175     this->Withdraw(); 
176   }
177   //=========================================================================
178
179   //=========================================================================
180   void vtkKWBlackBoxDialog::bbClose()
181   {
182     bbtkDebugMessage("kw",9,"vtkKWBlackBoxDialog::bbClose()"<<std::endl);
183     this->Done = vtkKWDialog::StatusCanceled;
184     // this->Withdraw();  //   this->Delete();
185   }
186   //=========================================================================
187
188
189
190 /*
191
192
193   //=========================================================================
194   // vtkKWBlackBoxFrame
195   //=========================================================================
196
197   //-------------------------------------------------------------------------
198   vtkStandardNewMacro( vtkKWBlackBoxFrame );
199   vtkCxxRevisionMacro(vtkKWBlackBoxFrame, "$Revision: 1.3 $");
200   //-------------------------------------------------------------------------
201   //=========================================================================
202   vtkKWBlackBoxFrame::vtkKWBlackBoxFrame()
203   {
204     bbtkDebugMessage("kw",9,"vtkKWBlackBoxFrame::vtkKWBlackBoxFrame()"<<std::endl);
205   }
206   //=========================================================================
207   
208   //=========================================================================
209   vtkKWBlackBoxFrame::~vtkKWBlackBoxFrame()
210   {
211   }
212   //=========================================================================
213
214   //=========================================================================
215   void vtkKWBlackBoxFrame::bbShow() 
216   { 
217     if (bbIsShown()) return;
218     bbtkDebugMessage("kw",5,"vtkKWBlackBoxFrame::bbShow("
219                      <<bbGetBlackBox()->bbGetFullName()<<")"<<std::endl);
220     vtkKWBlackBoxWindow::bbShow();
221     // vtkKWFrame::Show();
222     this->Display();
223     // This Update is ** MANDATORY ** 
224     // to synchronize kwvtkRenderWindowInteractor objects
225     // (force kw objects creation **NOW**)
226  
227     if (bbGetBlackBox()) bbGetBlackBox()->bbUserOnShow();
228   }
229   //=========================================================================
230
231   //=========================================================================
232   void vtkKWBlackBoxFrame::bbHide()
233   {
234     bbtkDebugMessage("kw",9,"vtkKWBlackBoxFrame::bbHide()"<<std::endl);
235     vtkKWBlackBoxWindow::bbHide();
236     //  vtkKWFrame::Hide();
237     this->Withdraw();
238     if (bbGetBlackBox()) bbGetBlackBox()->bbUserOnHide();
239   }
240   //=========================================================================
241
242   //=========================================================================
243   void vtkKWBlackBoxFrame::bbClose()
244   {
245     bbtkDebugMessage("kw",9,"vtkKWBlackBoxFrame::bbClose()"<<std::endl);
246     //    vtkKWFrame::Close();
247     this->Delete();
248   }
249   //=========================================================================
250   */
251 #endif