Program: bbtk
Module: $RCSfile: bbtkWxBlackBox.cxx,v $
Language: C++
- Date: $Date: 2008/05/14 12:32:26 $
- Version: $Revision: 1.19 $
+ Date: $Date: 2008/07/25 07:44:12 $
+ Version: $Revision: 1.26 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
}
//=========================================================================
+ //=========================================================================
+ void WxBlackBoxWindow::bbClose()
+ {
+ }
+ //=========================================================================
//=========================================================================
wxString title,
wxSize size)
:
- WxBlackBoxWindow(box),
wxDialog( parent,
-1,
title,
wxMAXIMIZE_BOX |
wxMINIMIZE_BOX |
wxCAPTION
- )
+ ),
+ WxBlackBoxWindow(box)
{
bbtkDebugMessage("wx",9,"WxBlackBoxDialog::WxBlackBoxDialog("<<
bbGetBlackBox()->bbGetFullName()<<","<<parent<<","
//=========================================================================
void WxBlackBoxDialog::bbShow()
{
+ if (bbIsShown()) return;
bbtkDebugMessage("wx",5,"WxBlackBoxDialog::bbShow() ["
<<bbGetBlackBox()->bbGetFullName()<<"]"<<std::endl);
WxBlackBoxWindow::bbShow();
SetReturnCode( wxDialog::ShowModal() );
- bbHide();
+ bbClose();
}
//=========================================================================
}
//=========================================================================
+ //=========================================================================
+ void WxBlackBoxDialog::bbClose()
+ {
+ bbtkDebugMessage("wx",9,"WxBlackBoxDialog::bbClose()"<<std::endl);
+ wxDialog::Destroy();
+ }
+ //=========================================================================
+
//=========================================================================
WxBlackBoxDialog::~WxBlackBoxDialog()
{
wxWindow *parent,
wxString title,
wxSize size)
- : WxBlackBoxWindow(box),
- wxFrame( parent,
+ : wxFrame( parent,
-1,
title,
wxDefaultPosition,
wxMAXIMIZE_BOX |
wxMINIMIZE_BOX |
wxCAPTION
- )
+ ),
+ WxBlackBoxWindow(box)
{
bbtkDebugMessage("wx",9,"WxBlackBoxFrame::WxBlackBoxFrame("<<
bbGetBlackBox()->bbGetFullName()<<","<<parent<<","
//=========================================================================
void WxBlackBoxFrame::bbShow()
{
+ if (bbIsShown()) return;
bbtkDebugMessage("wx",5,"WxBlackBoxFrame::bbShow("
<<bbGetBlackBox()->bbGetFullName()<<")"<<std::endl);
WxBlackBoxWindow::bbShow();
- wxFrame::Show();
+ wxFrame::Show();
// This Update is ** MANDATORY **
// to synchronize wxvtkRenderWindowInteractor objects
// (force wx objects creation **NOW**)
- wxFrame::Update();
+
+
+#if defined(_WIN32)
+ wxFrame::Refresh();
+#endif
+
+ wxFrame::Update();
+ wxFrame::SetFocus();
if (bbGetBlackBox()) bbGetBlackBox()->bbUserOnShow();
- // wxFrame::SetFocus();
}
//=========================================================================
}
//=========================================================================
+ //=========================================================================
+ void WxBlackBoxFrame::bbClose()
+ {
+ bbtkDebugMessage("wx",9,"WxBlackBoxFrame::bbClose()"<<std::endl);
+ wxFrame::Close();
+ }
+ //=========================================================================
if ((caller==0) ||
((caller!=0) &&
(caller->GetBlackBoxTo() != to))&&
- (!bbGetUpdateTransferedToParent()))
+ (!bbGetUpdateTransferedToParent())&&
+ (to->bbGetStatus()!=UPDATING))
{
bbtkDebugMessage("process",3,
" ... Transfering update order to parent"
//==================================================================
+ //==================================================================
+ void WxBlackBox::bbCloseWindow()
+ {
+ bbtkDebugMessageInc("wx",1,"=> WxBlackBox::bbCloseWindow() ["
+ <<bbGetFullName()<<"]"<<std::endl);
+
+ if (bbGetWindow()!=0) bbGetWindow()->bbClose();
+
+ bbtkDebugMessageDec("wx",1,"<= WxBlackBox::bbCloseWindow() ["
+ <<bbGetFullName()<<"]"<<std::endl);
+ }
+ //==================================================================
+
//==================================================================
WxBlackBox::Window* WxBlackBox::bbGetContainingWindow()
{