X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=kernel%2Fsrc%2FbbtkWxGUIScriptingInterface.cxx;h=895410e940cf630a76c004f7f1a98f049650fd73;hb=9ebbefccfab8978b357669af56a08d661386df9a;hp=77a0d3ae2748adba01919358d4195222e070abe4;hpb=f993478d7df1d9688c4ab93c617688c84cf2d424;p=bbtk.git diff --git a/kernel/src/bbtkWxGUIScriptingInterface.cxx b/kernel/src/bbtkWxGUIScriptingInterface.cxx index 77a0d3a..895410e 100644 --- a/kernel/src/bbtkWxGUIScriptingInterface.cxx +++ b/kernel/src/bbtkWxGUIScriptingInterface.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkWxGUIScriptingInterface.cxx,v $ Language: C++ - Date: $Date: 2008/05/14 12:32:26 $ - Version: $Revision: 1.9 $ + Date: $Date: 2008/09/10 07:25:23 $ + Version: $Revision: 1.16 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -37,9 +37,10 @@ #include "bbtkWxBlackBox.h" #include "bbtkConfigurationFile.h" #include "bbtkWxStreamRedirector.h" - +#include "bbtkUtilities.h" + -#include "icons/cc_run.xpm" +//#include "icons/cc_run.xpm" namespace bbtk { @@ -57,7 +58,8 @@ namespace bbtk ID_Menu_Windows_Help, ID_Menu_Windows_Messages, ID_Menu_Windows_Command, - ID_Menu_Windows_Save + ID_Menu_Windows_Save, + ID_Menu_Windows_PackageBrowser // ID_Button_Run }; @@ -66,13 +68,14 @@ namespace bbtk WxGUIScriptingInterface::WxGUIScriptingInterface( wxWindow *parent, wxString title, wxSize size) : wxFrame((wxFrame *)parent, -1, title, wxDefaultPosition, size) { -// m_mgr = new wxAuiManager(this); - m_mgr.SetManagedWindow(this); - - mInterpreter = bbtk::Interpreter::New(); + // m_mgr = new wxAuiManager(this); + m_mgr.SetManagedWindow(this); + + mInterpreter = bbtk::Interpreter::New(); mInterpreter->SetUser(this); mInterpreter->SetCommandLine(true); mInterpreter->SetThrow(true); + //============== // Menu wxInitAllImageHandlers(); @@ -86,10 +89,10 @@ namespace bbtk wxMenu *menuTools = new wxMenu; 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_CreateBlackBox, _T("Create &black box") ); menuTools->Append( ID_Menu_ShowImageGraph, _T("&Show last image graph") ); menuTools->Append( ID_Menu_CreateIndex, _T("&Generate index") ); - + wxMenu *menuWindows = new wxMenu; menuWindows->AppendCheckItem(ID_Menu_Windows_Files, _T("Show 'files' panel") )->Check(); @@ -99,9 +102,11 @@ namespace bbtk _T("Show 'messages' panel") )->Check(); menuWindows->AppendCheckItem(ID_Menu_Windows_Command, _T("Show 'command' panel") )->Check(); - menuWindows->AppendSeparator(); - menuWindows->Append ( ID_Menu_Windows_Save, _T("Save interface configuration")); + menuWindows->Append( ID_Menu_Windows_PackageBrowser, _T("Launch Package &Browser") ); + + // menuWindows->AppendSeparator(); + // menuWindows->Append ( ID_Menu_Windows_Save, _T("Save interface configuration")); wxMenu *menuOptions = new wxMenu; mwxMenuItemReset = menuOptions->AppendCheckItem(-1, @@ -118,19 +123,14 @@ namespace bbtk SetMenuBar( menuBar ); CreateStatusBar(); - SetStatusText( _T("Welcome to bbi !") ); + SetStatusText( _T("Welcome to bbStudio !") ); // mWxGUITextEditor = new WxGUITextEditor(this,this); mWxGUITextEditor->SetFileNameFilter("*.bbs"); - + mWxGUIHtmlBrowser = new WxGUIHtmlBrowser(this,wxSize(200,0),this); - /* - wxBitmap bmp_run(cc_run_xpm); - mwxButtonRun = new wxBitmapButton( this, ID_Button_Run,bmp_run);//_T("Run") ); - */ - mWxGUIOutputMessages = new WxGUIOutputMessages(this); mWxGUICommand = new WxGUICommand(this,this); @@ -138,6 +138,7 @@ namespace bbtk mWxGUICommand->SetFocus(); +#if NOTEBOOK mwxNotebook = new wxAuiNotebook(this, -1, @@ -161,6 +162,7 @@ namespace bbtk mwxNotebook->AddPage(mWxGUICommand,_T("Command"),true); + m_mgr.AddPane(mwxNotebook, wxAuiPaneInfo().Name(wxT("nb")) .CaptionVisible(false) @@ -169,15 +171,15 @@ namespace bbtk .Center() // .MinSize(wxSize(100,100)) ); +#else - /* // m_mgr.AddPane(mWxGUITextEditor, wxAuiPaneInfo().Name(wxT("editor_content")) .Caption(wxT("Files")) .MinimizeButton(true) .MaximizeButton(true) - .Center() + .Left() .MinSize(wxSize(100,100)) ); @@ -207,30 +209,33 @@ namespace bbtk .Position(1) .MinSize(wxSize(100,100)) ); - */ - // m_mgr.AddPane(mwxButtonRun, - // wxAuiPaneInfo().Name(wxT("button_run_content"))); +#endif - // Creates the parent window of all bbtk windows as a child of this - Wx::CreateTopWindow(this); + // parent window of all bbtk windows will be a child of this + Wx::SetTopWindowParent(this); // Add the method OnWxSignal as a Wx::Signal observer //bbtkAddWxSignalObserver(WxGUIPackageBrowser2Window::OnWxSignal); //.PaneBorder(false)); - m_mgr.Update(); + LoadPerspective(); + + // m_mgr.Update(); SetAutoLayout(true); Layout(); - mwxNotebook->SetSelection(1); + // mwxNotebook->SetSelection(1); mWxGUIHtmlBrowser->GoHome(); // Refresh(); // m_mgr.Update(); + // LoadPerspective(); + } //================================================================ //================================================================ WxGUIScriptingInterface::~WxGUIScriptingInterface() { + SavePerspective(); m_mgr.UnInit(); } //================================================================ @@ -297,13 +302,13 @@ namespace bbtk (*buf) << mWxGUITextEditor->GetCurrentPage()->GetText(); try { - std::cout << "RUN"<IsChecked()) WxGUICommandEnter("reset"); mInterpreter->InterpretBuffer(buf); - std::cout << "EO RUN"<Show(); + + /* + wxBusyCursor wait; + WxGUIPackageBrowser2 *browser = new WxGUIPackageBrowser2(this); + browser->IncludeAll(); + */ +#if NOTEBOOK + // mwxNotebook->AddPage(browser,_T("Package Browser"),true); +#else + /* + m_mgr.AddPane(browser, + wxAuiPaneInfo().Name(wxT("package_brower")) + .Caption(wxT("Package browser")) + .MinimizeButton(true) + .MaximizeButton(true) + .Bottom() + .Position(1) + .MinSize(wxSize(100,100)) + ); + */ +#endif + } + //================================================================ + + //================================================================ void WxGUIScriptingInterface::OnMenuCreatePackage(wxCommandEvent& WXUNUSED(event)) { - std::string command("toolsbbtk/appli/CreatePackage"); + std::string command("toolsbbtk/appli/GUICreatePackage"); bbtkMessage("Debug",1,"Executing : '"<Open(target); +#if NOTEBOOK mwxNotebook->SetSelection(0); +#endif mWxGUITextEditor->SetFocus(); return false; } @@ -487,11 +526,60 @@ namespace bbtk //================================================================ void WxGUIScriptingInterface::OnMenuWindowsSave( wxCommandEvent& WXUNUSED(event)) { - // TO DO : Save it into ConfigurationFile - // m_mgr.SavePerspective(); + SavePerspective(); + } + //================================================================ + + //================================================================ + void WxGUIScriptingInterface::SavePerspective() + { + // std::cout << "Saving configuration..."<> conf; + + int w,h; + + f >> w >> h ; + + f.close(); + + // std::cout << conf << std::endl; + + SetSize(w,h); + m_mgr.LoadPerspective(std2wx(conf)); + } + else + { + m_mgr.Update(); + } + } + //================================================================ //================================================================ void WxGUIScriptingInterface::OnPaneClose(wxAuiManagerEvent& evt) @@ -515,6 +603,8 @@ namespace bbtk EVT_MENU(ID_Menu_Windows_Help, WxGUIScriptingInterface::OnMenuWindowsHelp) EVT_MENU(ID_Menu_Windows_Messages, WxGUIScriptingInterface::OnMenuWindowsMessages) EVT_MENU(ID_Menu_Windows_Command, WxGUIScriptingInterface::OnMenuWindowsCommand) + EVT_MENU(ID_Menu_Windows_Save, WxGUIScriptingInterface::OnMenuWindowsSave) + EVT_MENU(ID_Menu_Windows_PackageBrowser, WxGUIScriptingInterface::OnMenuWindowsPackageBrowser) EVT_AUI_PANE_CLOSE(WxGUIScriptingInterface::OnPaneClose) // EVT_BUTTON(ID_Button_Run, WxGUIScriptingInterface::OnButtonRun ) END_EVENT_TABLE()