Program: bbtk
Module: $RCSfile: bbtkWxGUIConsole.cxx,v $
Language: C++
- Date: $Date: 2008/03/25 06:22:53 $
- Version: $Revision: 1.5 $
+ Date: $Date: 2008/04/24 12:56:39 $
+ Version: $Revision: 1.10 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
ID_Menu_CreatePackage,
ID_Menu_CreateBlackBox,
ID_Menu_ShowImageGraph,
+ ID_Menu_ShowHTMLDoc,
ID_Menu_CreateIndex,
ID_Button_Run
};
// m_mgr = new wxAuiManager(this);
m_mgr.SetManagedWindow(this);
- mInterpreter = new bbtk::Interpreter();
+ mInterpreter = bbtk::Interpreter::New();
mInterpreter->SetUser(this);
mInterpreter->SetCommandLine(true);
+ mInterpreter->SetThrow(false);
//==============
// Menu
wxInitAllImageHandlers();
menuTools->Append( ID_Menu_CreatePackage, _T("Create &package") );
menuTools->Append( ID_Menu_CreateBlackBox, _T("Create &blackbox") );
menuTools->Append( ID_Menu_ShowImageGraph, _T("&Show last image graph") );
+ menuTools->Append( ID_Menu_ShowHTMLDoc, _T("Show &HTML documentation") );
menuTools->Append( ID_Menu_CreateIndex, _T("&Generate index") );
cmdsizer->Add (mWxGUICommand, 0, wxALL | wxGROW, 5);
- // Creates and sets the parent window of all bbtk windows
- wxWindow* top = new wxPanel(this,-1);//,_T("top"));
- top->Hide();
- Wx::SetTopWindow(top);
-
+ // Creates the parent window of all bbtk windows as a child of this
+ Wx::CreateTopWindow(this,true);
+ // Add the method OnWxSignal as a Wx::Signal observer
+ bbtkAddWxSignalObserver(WxGUIConsole::OnWxSignal);
+
// Layout
//EED SetSizer(sizer);
}
//================================================================
+ //================================================================
+ void WxGUIConsole::OnWxSignal()
+ {
+ if ((!Wx::TopWindowExists())&&(!IsShown()))
+ {
+ bbtkDebugMessage("wx",2," --> bbtk top window destroyed and WxGUIConsole not shown => destructing"<<std::endl);
+ Close();
+ }
+ }
+ //================================================================
//================================================================
void WxGUIConsole::WxGUICommandEnter(const std::string& command)
std::string filename = mWxGUIHtmlBrowser->GetCurrentPage();//wx2std(temp);
size_t s = filename.length();
- Interpreter* I = new Interpreter;
+ Interpreter::Pointer I = Interpreter::New();
if ((s>3) && (filename[s-1]=='s')
&& (filename[s-2]=='b')
{
SetStatusText(_T("The current page is not a bbs file : cannot execute it"));
}
-
- delete I;
+
}
//================================================================
std::string command("toolsbbtk/appli/CreatePackage");
bbtkMessage("Debug",1,"Executing : '"<<command<<"'"<<std::endl);
- Interpreter* I = new Interpreter;
+ Interpreter::Pointer I = Interpreter::New();
I->InterpretFile(command);
- delete I;
}
//================================================================
{
std::string command("toolsbbtk/appli/CreateBlackBox");
bbtkMessage("Debug",1,"Executing : '"<<command<<"'"<<std::endl);
- Interpreter* I = new Interpreter;
+ Interpreter::Pointer I = Interpreter::New();
I->InterpretFile(command);
- delete I;
}
//================================================================
#else
std::string strappli="gnome-open ";
#endif
- std::string strcommand = strappli +default_temp_dir+"/temp_dir/workspace_workspacePrototype.png";
+ std::string strcommand0 = "cd \"" + default_temp_dir+"/temp_dir/" +"\"";
+ std::string strcommand1 = strappli + "workspace_workspacePrototype.png";
+ std::string strcommand = strcommand0 + " && " + strcommand1;
std::cout << "system: " << strcommand << std::endl;
system ( strcommand.c_str() );
}
//================================================================
+ //================================================================
+ void WxGUIConsole::OnMenuShowHTMLDoc(wxCommandEvent& WXUNUSED(event))
+ {
+ std::string doc_path = ConfigurationFile::GetInstance().Get_doc_path();
+
+#if defined(WIN32)
+ std::string strappli="start ";
+#else
+ std::string strappli="gnome-open ";
+#endif
+ std::string strcommand0 = "cd \"" + doc_path+"\"";
+ std::string strcommand1 = strappli + "index.html";
+ std::string strcommand = strcommand0 + " && " + strcommand1;
+ std::cout << "system: " << strcommand << std::endl;
+ system ( strcommand.c_str() );
+
+ }
+ //================================================================
+
+
//================================================================
void WxGUIConsole::OnMenuCreateIndex(wxCommandEvent& WXUNUSED(event))
}
//================================================================
-
+ //================================================================
+ // Overloaded Show method to handle bbtk::Wx::TopWindow auto-destruction
+ bool WxGUIConsole::Show(bool show)
+ {
+ Wx::AutoDestroyTopWindow(!show);
+ wxFrame::Show(show);
+ }
+ //================================================================
+
//================================================================
BEGIN_EVENT_TABLE(WxGUIConsole, wxFrame)
- EVT_MENU(ID_Menu_Quit, WxGUIConsole::OnMenuQuit)
- EVT_MENU(ID_Menu_About, WxGUIConsole::OnMenuAbout)
- EVT_MENU(ID_Menu_EditConfig, WxGUIConsole::OnMenuEditConfig)
- EVT_MENU(ID_Menu_CreatePackage, WxGUIConsole::OnMenuCreatePackage)
- EVT_MENU(ID_Menu_CreateBlackBox, WxGUIConsole::OnMenuCreateBlackBox)
- EVT_MENU(ID_Menu_ShowImageGraph, WxGUIConsole::OnMenuShowImageGraph)
- EVT_MENU(ID_Menu_CreateIndex, WxGUIConsole::OnMenuCreateIndex)
- EVT_BUTTON(ID_Button_Run, WxGUIConsole::OnButtonRun )
+ EVT_MENU(ID_Menu_Quit , WxGUIConsole::OnMenuQuit)
+ EVT_MENU(ID_Menu_About , WxGUIConsole::OnMenuAbout)
+ EVT_MENU(ID_Menu_EditConfig , WxGUIConsole::OnMenuEditConfig)
+ EVT_MENU(ID_Menu_CreatePackage , WxGUIConsole::OnMenuCreatePackage)
+ EVT_MENU(ID_Menu_CreateBlackBox , WxGUIConsole::OnMenuCreateBlackBox)
+ EVT_MENU(ID_Menu_ShowImageGraph , WxGUIConsole::OnMenuShowImageGraph)
+ EVT_MENU(ID_Menu_ShowHTMLDoc , WxGUIConsole::OnMenuShowHTMLDoc)
+ EVT_MENU(ID_Menu_CreateIndex , WxGUIConsole::OnMenuCreateIndex)
+ EVT_BUTTON(ID_Button_Run , WxGUIConsole::OnButtonRun )
END_EVENT_TABLE()
//================================================================