From 9ebbefccfab8978b357669af56a08d661386df9a Mon Sep 17 00:00:00 2001 From: guigues Date: Wed, 10 Sep 2008 07:25:22 +0000 Subject: [PATCH] *** empty log message *** --- kernel/cmake/BBTKConfigurePackage_src.cmake | 13 +- kernel/doc/bbtkUsersGuide/bbtkUsersGuide.tex | 17 ++- kernel/doc/bbtkWebSite/menu.html | 40 ++---- kernel/src/bbtkConfigurationFile.cxx | 14 +- kernel/src/bbtkConfigurationFile.h | 14 +- kernel/src/bbtkSystem.h | 13 +- kernel/src/bbtkUtilities.cxx | 20 +++ kernel/src/bbtkUtilities.h | 10 +- kernel/src/bbtkWxGUIScriptingInterface.cxx | 135 ++++++++++++++----- kernel/src/bbtkWxGUIScriptingInterface.h | 7 +- kernel/src/bbtkWxGUITextEditor.cxx | 6 +- 11 files changed, 185 insertions(+), 104 deletions(-) diff --git a/kernel/cmake/BBTKConfigurePackage_src.cmake b/kernel/cmake/BBTKConfigurePackage_src.cmake index a20651c..26babc9 100644 --- a/kernel/cmake/BBTKConfigurePackage_src.cmake +++ b/kernel/cmake/BBTKConfigurePackage_src.cmake @@ -46,13 +46,12 @@ IF(${BBTK_PACKAGE_NAME}_COMPILE_ALL_CXX) FILE(GLOB ${BBTK_PACKAGE_NAME}_CXX_SOURCES "." "*.cxx") FILE(GLOB ${BBTK_PACKAGE_NAME}_H_SOURCES "." "*.h") ENDIF(${BBTK_PACKAGE_NAME}_COMPILE_ALL_CXX) - - -SET(${BBTK_PACKAGE_NAME}_CXX_SOURCES - ${${BBTK_PACKAGE_NAME}_CXX_SOURCES} - #${CMAKE_CURRENT_BINARY_DIR_NAME}/ - bb${BBTK_PACKAGE_NAME}Package - ) +IF(NOT PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR}) + SET(${BBTK_PACKAGE_NAME}_CXX_SOURCES + ${${BBTK_PACKAGE_NAME}_CXX_SOURCES} + bb${BBTK_PACKAGE_NAME}Package + ) +ENDIF(NOT PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR}) #---------------------------------------------------------------------------- diff --git a/kernel/doc/bbtkUsersGuide/bbtkUsersGuide.tex b/kernel/doc/bbtkUsersGuide/bbtkUsersGuide.tex index 045b66b..322099a 100644 --- a/kernel/doc/bbtkUsersGuide/bbtkUsersGuide.tex +++ b/kernel/doc/bbtkUsersGuide/bbtkUsersGuide.tex @@ -190,7 +190,9 @@ involve complex graphical interfaces. \section{The Development environment (bbStudio)} \label{bbStudio} -Just run it, typing in a console \texttt{bbed}. +Just run it, typing in a console \bbStudio +or clicking on its icon or its menu entry. +At start, \bbStudio opens with the 'Help' tab selected. You'll get something like in figure \ref{bbi-fig-bbStudio-gui} (the exact appearance of \bbStudio is system and \bbtk version dependent) @@ -202,7 +204,8 @@ You'll get something like in figure \end{center} \end{figure} -All the entries of this Help 'bookmark' are self-explanatory : +The 'Help' tab of \bbStudio is used to browse the html help of \BBTK. +All the entries of the starting page are self-explanatory : \begin{itemize} \item {\bf\emph{Wiki}}: Direct link to the bbtk Wiki (intranet only, right now, www @@ -229,7 +232,7 @@ All the entries of this Help 'bookmark' are self-explanatory : \begin{table}[!ht] \caption{\label{bbi-list_of_packages} List of bbtk supplied packages.} \small -\begin{tabular}{|ll||} +\begin{tabular}{|lp{10cm}|} \hline Package & What it's used for \\ \hline \texttt{std} & : the 'standard' package including basic useful boxes \\ \hline @@ -250,9 +253,9 @@ Package & What it's used for \\ \hline \begin{table}[!ht] \caption{\label{categories} \texttt{Black Box} categories} \small -\begin{tabular}{|ll|} +\begin{tabular}{|lp{10cm}|} \hline - \texttt{Categ name} & : Meaning \\ \hline \\ \hline + \texttt{Category name} & : Meaning \\ \hline \\ \hline \texttt{adaptor} & : Adaptor box \\ \hline \texttt{application} & : Final application, end user intended \\ \hline \texttt{atomic box} & : System category. @@ -1552,7 +1555,7 @@ The gradient between the voxel and the neighbor must be below the 'DiffusionThre Outputs : \\ - Out : the isosurface mesh (vtkPolyData*) - \paragraph{ImageGaussianSmooth}\\ + \paragraph{ImageGaussianSmooth} Performs a gaussian convolution of the input image\\ Receives : \\ - In : an image (vtkImageData*)\\ @@ -1607,7 +1610,7 @@ The gradient between the voxel and the neighbor must be below the 'DiffusionThre Outputs : - Out : The image (vtkImageData*) - \paragraph{SegmentationConnectivity} \\ + \paragraph{SegmentationConnectivity} Segmentation with min max threshold and connectivity \\ Receives : \\ - In : an image (vtkImageData*)\\ diff --git a/kernel/doc/bbtkWebSite/menu.html b/kernel/doc/bbtkWebSite/menu.html index 4910b82..2a301f2 100644 --- a/kernel/doc/bbtkWebSite/menu.html +++ b/kernel/doc/bbtkWebSite/menu.html @@ -5,30 +5,20 @@ + -Home
-Screenshots
+ +Home +
Screenshots
Download
Install
License
-bbtk Wiki -
-bbtk users mailing list -
-
Demos
-Examples
- - - -
Documentation
-
-
- +bbtk Wiki
+bbtk users mailing list
+Demos
+Examples +
+
BBTK doc

User's Guide (pdf) @@ -41,24 +31,22 @@ bbtk Developer's Guide (pdf)
- Reference Manual(pdf)
- - Doxygen doc + bbtk library doxygen doc
-
Boxes
-
+
Boxes doc

+ Alphabetical list
List by package
List by category
List of adaptors

- +

diff --git a/kernel/src/bbtkConfigurationFile.cxx b/kernel/src/bbtkConfigurationFile.cxx index 1d8c302..082f2a3 100644 --- a/kernel/src/bbtkConfigurationFile.cxx +++ b/kernel/src/bbtkConfigurationFile.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkConfigurationFile.cxx,v $ Language: C++ - Date: $Date: 2008/03/17 10:51:35 $ - Version: $Revision: 1.14 $ + Date: $Date: 2008/09/10 07:25:23 $ + Version: $Revision: 1.15 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See doc/license.txt or @@ -157,15 +157,7 @@ namespace bbtk // ==> Then we look for bbtk_config.xml in ".bbtk" else { -#if defined(__GNUC__) - std::string str_home(getenv("HOME")); -#elif defined(_WIN32) - std::string str_home(getenv("USERPROFILE")); -#endif -//EED configXmlFullPathName = str_home + mFile_separator + ".bbtk/bbtk_config.xml"; - configXmlFullPathName = str_home + "/.bbtk/bbtk_config.xml"; - Utilities::replace( configXmlFullPathName , INVALID_FILE_SEPARATOR , VALID_FILE_SEPARATOR); - + configXmlFullPathName = Utilities::MakeUserSettingsFullFileName("bbtk_config.xml"); if (!Utilities::FileExists( configXmlFullPathName )) { // ==> Nothing found, we create bbtk_config.xml in ".bbtk" diff --git a/kernel/src/bbtkConfigurationFile.h b/kernel/src/bbtkConfigurationFile.h index 24c9414..94992f8 100644 --- a/kernel/src/bbtkConfigurationFile.h +++ b/kernel/src/bbtkConfigurationFile.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkConfigurationFile.h,v $ Language: C++ - Date: $Date: 2008/03/26 08:27:19 $ - Version: $Revision: 1.7 $ + Date: $Date: 2008/09/10 07:25:23 $ + Version: $Revision: 1.8 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See doc/license.txt or @@ -43,16 +43,6 @@ #include - // file separator -#if defined(_WIN32) -#define VALID_FILE_SEPARATOR "\\" -#define INVALID_FILE_SEPARATOR "/" -#else -#define INVALID_FILE_SEPARATOR "\\" -#define VALID_FILE_SEPARATOR "/" -#endif - - namespace bbtk { diff --git a/kernel/src/bbtkSystem.h b/kernel/src/bbtkSystem.h index e1857d1..9da0af4 100644 --- a/kernel/src/bbtkSystem.h +++ b/kernel/src/bbtkSystem.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkSystem.h,v $ Language: C++ - Date: $Date: 2008/07/24 14:37:05 $ - Version: $Revision: 1.5 $ + Date: $Date: 2008/09/10 07:25:23 $ + Version: $Revision: 1.6 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -232,4 +232,13 @@ namespace bbtk } // namespace bbtk //----------------------------------------------------------------------------- + // file separator +#if defined(_WIN32) +#define VALID_FILE_SEPARATOR "\\" +#define INVALID_FILE_SEPARATOR "/" +#else +#define INVALID_FILE_SEPARATOR "\\" +#define VALID_FILE_SEPARATOR "/" +#endif + #endif diff --git a/kernel/src/bbtkUtilities.cxx b/kernel/src/bbtkUtilities.cxx index ff96d76..0e57b2f 100644 --- a/kernel/src/bbtkUtilities.cxx +++ b/kernel/src/bbtkUtilities.cxx @@ -1,5 +1,6 @@ #include "bbtkUtilities.h" + namespace bbtk { @@ -264,6 +265,25 @@ namespace bbtk return libname; } + // ======================================================================= + /// Builds the complete path to the file 'name' located + /// in user settings dir, e.g. /home/username/.bbtk/ + std::string Utilities::MakeUserSettingsFullFileName(const std::string& name) + { +#if defined(__GNUC__) + std::string str_home(getenv("HOME")); +#elif defined(_WIN32) + std::string str_home(getenv("USERPROFILE")); +#endif + std::string fullname = str_home + "/.bbtk/" + name; + Utilities::replace( fullname, + INVALID_FILE_SEPARATOR , + VALID_FILE_SEPARATOR); + return fullname; + } + + + //======================================================================== bool Utilities::IsAtRoot(std::string cwd) diff --git a/kernel/src/bbtkUtilities.h b/kernel/src/bbtkUtilities.h index 910f4da..943df01 100644 --- a/kernel/src/bbtkUtilities.h +++ b/kernel/src/bbtkUtilities.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkUtilities.h,v $ Language: C++ - Date: $Date: 2008/05/06 13:45:12 $ - Version: $Revision: 1.15 $ + 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 @@ -82,6 +82,12 @@ namespace bbtk static std::string MakePkgnameFromPath(std::string path, std::string pkgname, bool addExt); //======================================================================== + // ======================================================================= + /// Builds the complete path to the file 'name' located + /// in user settings dir, e.g. /home/username/.bbtk/ + static std::string MakeUserSettingsFullFileName(const std::string& name); + + static bool IsAtRoot(std::string cwd); // ====================================================================== diff --git a/kernel/src/bbtkWxGUIScriptingInterface.cxx b/kernel/src/bbtkWxGUIScriptingInterface.cxx index da3d644..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/07/24 14:37:06 $ - Version: $Revision: 1.15 $ + 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,7 +37,8 @@ #include "bbtkWxBlackBox.h" #include "bbtkConfigurationFile.h" #include "bbtkWxStreamRedirector.h" - +#include "bbtkUtilities.h" + //#include "icons/cc_run.xpm" @@ -67,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(); @@ -87,7 +89,7 @@ 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") ); @@ -101,10 +103,10 @@ namespace bbtk menuWindows->AppendCheckItem(ID_Menu_Windows_Command, _T("Show 'command' panel") )->Check(); menuWindows->AppendSeparator(); - menuWindows->Append( ID_Menu_Windows_PackageBrowser, _T("Show Package &Browser") ); + menuWindows->Append( ID_Menu_Windows_PackageBrowser, _T("Launch Package &Browser") ); - menuWindows->AppendSeparator(); - menuWindows->Append ( ID_Menu_Windows_Save, _T("Save interface configuration")); + // menuWindows->AppendSeparator(); + // menuWindows->Append ( ID_Menu_Windows_Save, _T("Save interface configuration")); wxMenu *menuOptions = new wxMenu; mwxMenuItemReset = menuOptions->AppendCheckItem(-1, @@ -127,14 +129,8 @@ namespace bbtk mWxGUITextEditor = new WxGUITextEditor(this,this); mWxGUITextEditor->SetFileNameFilter("*.bbs"); - mWxGUIHtmlBrowser = new WxGUIHtmlBrowser(this,wxSize(200,0),this); + 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); @@ -142,6 +138,7 @@ namespace bbtk mWxGUICommand->SetFocus(); +#if NOTEBOOK mwxNotebook = new wxAuiNotebook(this, -1, @@ -174,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)) ); @@ -212,9 +209,7 @@ namespace bbtk .Position(1) .MinSize(wxSize(100,100)) ); - */ - // m_mgr.AddPane(mwxButtonRun, - // wxAuiPaneInfo().Name(wxT("button_run_content"))); +#endif // parent window of all bbtk windows will be a child of this Wx::SetTopWindowParent(this); @@ -222,20 +217,25 @@ namespace bbtk //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(); } //================================================================ @@ -352,10 +352,31 @@ namespace bbtk //================================================================ void WxGUIScriptingInterface::OnMenuWindowsPackageBrowser(wxCommandEvent& WXUNUSED(event)) { - wxBusyCursor wait; - WxGUIPackageBrowser2 *browser = new WxGUIPackageBrowser2(this); - browser->IncludeAll(); - mwxNotebook->AddPage(browser,_T("Package Browser"),true); + wxBusyCursor wait; + WxGUIPackageBrowser2Window *helpbrowser = new + WxGUIPackageBrowser2Window(this,_T("Package Browser"), wxSize(600,600) ); + helpbrowser->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 } //================================================================ @@ -450,7 +471,9 @@ namespace bbtk && (target[s-4]=='.')) { mWxGUITextEditor->Open(target); +#if NOTEBOOK mwxNotebook->SetSelection(0); +#endif mWxGUITextEditor->SetFocus(); return false; } @@ -503,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) @@ -531,6 +603,7 @@ 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 ) diff --git a/kernel/src/bbtkWxGUIScriptingInterface.h b/kernel/src/bbtkWxGUIScriptingInterface.h index 829094d..c62aeab 100644 --- a/kernel/src/bbtkWxGUIScriptingInterface.h +++ b/kernel/src/bbtkWxGUIScriptingInterface.h @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkWxGUIScriptingInterface.h,v $ Language: C++ - Date: $Date: 2008/06/26 06:50:05 $ - Version: $Revision: 1.8 $ + Date: $Date: 2008/09/10 07:25:23 $ + Version: $Revision: 1.9 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -105,7 +105,8 @@ namespace bbtk wxWindow* w); void OnPaneClose(wxAuiManagerEvent& evt); - + void SavePerspective(); + void LoadPerspective(); // void OnButtonRun(wxCommandEvent& WXUNUSED(event)); // Interpreter callbacks diff --git a/kernel/src/bbtkWxGUITextEditor.cxx b/kernel/src/bbtkWxGUITextEditor.cxx index a2b9931..b6cb137 100644 --- a/kernel/src/bbtkWxGUITextEditor.cxx +++ b/kernel/src/bbtkWxGUITextEditor.cxx @@ -3,8 +3,8 @@ Program: bbtk Module: $RCSfile: bbtkWxGUITextEditor.cxx,v $ Language: C++ - Date: $Date: 2008/07/24 14:37:06 $ - Version: $Revision: 1.15 $ + 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 @@ -489,7 +489,7 @@ namespace bbtk } mwxNotebook->DeletePage(mwxNotebook->GetSelection()); FocusOnCurrentPage(); - return false; + return true; } //================================================================ -- 2.45.1