Program: bbtk
Module: $RCSfile: bbtkWxConsole.cxx,v $
Language: C++
- Date: $Date: 2008/03/14 14:58:53 $
- Version: $Revision: 1.13 $
+ Date: $Date: 2008/03/17 07:04:08 $
+ Version: $Revision: 1.14 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
WxConsole::WxConsole( wxWindow *parent, wxString title, wxSize size)
: wxFrame((wxFrame *)parent, -1, title, wxDefaultPosition, size)
{
+// m_mgr = new wxAuiManager(this);
+ m_mgr.SetManagedWindow(this);
mInterpreter = new bbtk::Interpreter();
mInterpreter->SetWxConsole(this);
menuAbout->Append( ID_Menu_About, _T("&About...") );
wxMenu *menuTools = new wxMenu;
- menuTools->Append( ID_Menu_CreatePackage, _T("&Create package") );
- menuTools->Append( ID_Menu_CreateBlackBox, _T("&Create blackbox") );
+ menuTools->Append( ID_Menu_EditConfig, _T("&Edit bbtk config") );
+ 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_CreateIndex, _T("&Generate index") );
wxMenuBar *menuBar = new wxMenuBar;
wxSize(500,500),
wxAUI_NB_TAB_SPLIT | wxAUI_NB_TAB_EXTERNAL_MOVE | wxNO_BORDER);
- mwxPageCommand = new wxPanel(mwxNotebook,-1);
- mwxNotebook->AddPage( mwxPageCommand, _T("Command"));
-
+ mwxPageCommand = new wxPanel(mwxNotebook,-1);
mwxPageHelp = new wxPanel(mwxNotebook,-1);
- mwxNotebook->AddPage( mwxPageHelp, _T("Help"));
-
-
-//EED sizer->Add ( mwxNotebook, 1, wxEXPAND /*| wxALIGN_BOTTOM*/ );
- wxAuiManager *m_mgr = new wxAuiManager(this);
- m_mgr->AddPane(mwxNotebook, wxAuiPaneInfo().Name(wxT("notebook_content")).CenterPane().PaneBorder(false));
- m_mgr->Update();
wxBoxSizer *cmdsizer = new wxBoxSizer(wxVERTICAL);
mwxTextCommand =
new wxComboBox(mwxPageCommand,
ID_Text_Command,
- _T("")
-// wxDefaultPosition,
-// wxDefaultSize,
-// wxTE_PROCESS_ENTER
+ _T(""),
+ wxDefaultPosition,
+ wxDefaultSize,
+ 0, NULL,
+ wxTE_PROCESS_ENTER
// | wxTE_PROCESS_TAB
// | wxWANTS_CHARS
// //| wxTAB_TRAVERSAL
// Events connection
// COMMAND
// ENTER
- /*
Connect( mwxTextCommand->GetId(),
wxEVT_COMMAND_TEXT_ENTER,
(wxObjectEventFunction)& WxConsole::OnCommandEnter );
+ /*
Connect( mwxTextCommand->GetId(),
wxEVT_CHAR,
//wxEVT_COMMAND_TEXT_UPDATED,
// Layout
//EED SetSizer(sizer);
- SetAutoLayout(true);
+
+ mwxNotebook->AddPage( mwxPageCommand, _T("Command"));
+ mwxNotebook->AddPage( mwxPageHelp, _T("Help"));
+ m_mgr.AddPane(mwxNotebook, wxAuiPaneInfo().Name(wxT("notebook_content")).CenterPane().PaneBorder(false));
+ m_mgr.Update();
+
+
+ SetAutoLayout(true);
Layout();
- Refresh();
+// Refresh();
+// m_mgr.Update();
}
//================================================================
//================================================================
WxConsole::~WxConsole()
{
+ m_mgr.UnInit();
delete mRedirect_cout;
delete mRedirect_cerr;
}
{
bool insideComment = false;
-printf("WxConsole::CommandString 04 \n");
mInterpreter->InterpretLine( wx2std(line), insideComment );
-printf("WxConsole::CommandString 05 \n");
}
catch (bbtk::QuitException)
{
//================================================================
void WxConsole::OnMenuAbout(wxCommandEvent& WXUNUSED(event))
{
-
- wxMessageBox(_T(" bbi\nThe Black Box Toolkit interpreter\n(c) CREATIS-LRMN 2007"),
+ m_mgr.Update();
+ Refresh();
+ wxMessageBox(_T(" bbi\nThe Black Box Toolkit interpreter\n(c) CREATIS-LRMN 2008"),
_T("About ..."), wxOK | wxICON_INFORMATION,
this);
}
//================================================================
-
+
+ //================================================================
+ void WxConsole::OnMenuEditConfig(wxCommandEvent& WXUNUSED(event))
+ {
+ std::string commandStr;
+ std::string configFile = ConfigurationFile::GetInstance().Get_config_xml_full_path();
+#ifdef WIN32
+ commandStr = "notepad.exe ";
+#else
+ commandStr = "gedit ";
+#endif
+ commandStr = commandStr + configFile;
+ std::cout << "system: " << commandStr << std::endl;
+ system ( commandStr.c_str() );
+ }
+ //================================================================
+
+
//================================================================
void WxConsole::OnMenuCreatePackage(wxCommandEvent& WXUNUSED(event))
{
-
- wxMessageBox(_T(" Creating Package"),
- _T("Creating Package ..."), wxOK | wxICON_INFORMATION,
- this);
+ std::cout << "bbi: include CreatePackage" << std::endl;
+ Interpreter* I = new Interpreter;
+ I->InterpretFile("CreatePackage");
+ delete I;
}
//================================================================
//================================================================
void WxConsole::OnMenuCreateBlackBox(wxCommandEvent& WXUNUSED(event))
{
-
- wxMessageBox(_T(" Creating blackbox"),
- _T("Creating blackbox ..."), wxOK | wxICON_INFORMATION,
- this);
+ std::cout << "bbi: include CreateBlackBox" << std::endl;
+ Interpreter* I = new Interpreter;
+ I->InterpretFile("CreateBlackBox");
+ delete I;
}
//================================================================
//================================================================
void WxConsole::OnMenuShowImageGraph(wxCommandEvent& WXUNUSED(event))
{
- std::string default_doc_dir = ConfigurationFile::GetInstance().Get_default_temp_dir();
+ std::string default_temp_dir = ConfigurationFile::GetInstance().Get_default_temp_dir();
#if defined(WIN32)
std::string strappli="start ";
#else
std::string strappli="gnome-open ";
#endif
- std::string strcommand = strappli +default_doc_dir+"/temp_dir/workspace_workspacePrototype.png";
+ std::string strcommand = strappli +default_temp_dir+"/temp_dir/workspace_workspacePrototype.png";
+ std::cout << "system: " << strcommand << std::endl;
system ( strcommand.c_str() );
+
}
//================================================================
-
+
+ //================================================================
+ void WxConsole::OnMenuCreateIndex(wxCommandEvent& WXUNUSED(event))
+ {
+ std::string doc_path = ConfigurationFile::GetInstance().Get_doc_path();
+ std::string filepath = doc_path+"/bbdoc/make-index.bbs";
+ Interpreter* I = new Interpreter;
+
+//EED std::cout << "bbi: include "<<filepath<<std::endl;
+//EED I->InterpretFile( filepath );
+
+ bool insideComment = false; // for multiline comment
+ I->InterpretLine( "exec freeze" ,insideComment );
+ I->InterpretLine( "include *" ,insideComment );
+ I->InterpretLine( "index "+doc_path+"/bbdoc/index-alpha.html Initials" ,insideComment );
+ I->InterpretLine( "index "+doc_path+"/bbdoc/index-package.html Packages" ,insideComment );
+ I->InterpretLine( "index "+doc_path+"/bbdoc/index-category.html Categories" ,insideComment );
+ I->InterpretLine( "index "+doc_path+"/bbdoc/index-adaptors.html Adaptors",insideComment );
+
+ delete I;
+ }
+ //================================================================
+
+
+
//================================================================
void WxConsole::OnCommandChar(wxCommandEvent& event)
wxButton *btnInclude = new wxButton( btnsCtrlPanel,-1,_T("Include") );
wxButton *btnReset = new wxButton( btnsCtrlPanel,-1,_T("Reset") );
wxButton *btnConfig = new wxButton( btnsCtrlPanel,-1,_T("Config") );
- wxButton *btnGraphS = new wxButton( btnsCtrlPanel,-1,_T("Graph S.") );
- wxButton *btnGraphD = new wxButton( btnsCtrlPanel,-1,_T("Graph D.") );
+ wxButton *btnGraphS = new wxButton( btnsCtrlPanel,-1,_T("Graph simple") );
+ wxButton *btnGraphD = new wxButton( btnsCtrlPanel,-1,_T("Graph detailed") );
wxButton *btnHelp = new wxButton( btnsCtrlPanel,-1,_T("Help") );
+ btnsSizer->Add( btnInclude );
+ btnsSizer->Add( btnReset );
+ btnsSizer->Add( btnConfig );
+ btnsSizer->Add( btnGraphS );
+ btnsSizer->Add( btnGraphD );
+ btnsSizer->Add( btnHelp );
+ btnsCtrlPanel->SetSizer(btnsSizer);
+
Connect(btnInclude->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &WxConsole::OnBtnInclude );
Connect(btnReset->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &WxConsole::OnBtnReset );
Connect(btnConfig->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &WxConsole::OnBtnConfig );
//================================================================
void WxConsole::OnBtnReset(wxCommandEvent& event)
{
-printf("WxConsole::OnBtnReset 01 \n");
CommandString(_T("reset"));
-printf("WxConsole::OnBtnReset 02 \n");
}
//================================================================
BEGIN_EVENT_TABLE(WxConsole, wxFrame)
EVT_MENU(WxConsole::ID_Menu_Quit, WxConsole::OnMenuQuit)
EVT_MENU(WxConsole::ID_Menu_About, WxConsole::OnMenuAbout)
+ EVT_MENU(WxConsole::ID_Menu_EditConfig, WxConsole::OnMenuEditConfig)
EVT_MENU(WxConsole::ID_Menu_CreatePackage, WxConsole::OnMenuCreatePackage)
EVT_MENU(WxConsole::ID_Menu_CreateBlackBox, WxConsole::OnMenuCreateBlackBox)
EVT_MENU(WxConsole::ID_Menu_ShowImageGraph, WxConsole::OnMenuShowImageGraph)
+ EVT_MENU(WxConsole::ID_Menu_CreateIndex, WxConsole::OnMenuCreateIndex)
EVT_TEXT_ENTER(WxConsole::ID_Text_Command, WxConsole::OnCommandEnter)
- // EVT_CHAR(WxConsole::ID_Text_Command, WxConsole::OnCommandChar)
+// EVT_CHAR(WxConsole::ID_Text_Command, WxConsole::OnCommandChar)
END_EVENT_TABLE()
//================================================================