]> Creatis software - bbtkGEditor.git/blobdiff - appli/bbEditor/bbEditor.cxx
#2888 bbGEditor Feature New Normal - avoid vtk messages OutputWindwo box (vtkOutput...
[bbtkGEditor.git] / appli / bbEditor / bbEditor.cxx
index 292a4c8183863a9eb1850f14e1f6a1918d1d46a0..517b72de9cb1c0d6271d07bae66da72a81a74906 100644 (file)
 #include <wx/app.h>
 #include <wx/sysopt.h>
 
+
+#include "vtkOutputWindow.h"
+
+class vtkOutputWindowbbGEditor : public vtkOutputWindow
+{
+public:
+       vtkOutputWindowbbGEditor() {}
+       static vtkOutputWindowbbGEditor* New() { return new vtkOutputWindowbbGEditor;}
+       virtual void    DisplayDebugText (const char *) {}
+       virtual void    DisplayText (const char *) {}
+       virtual void    DisplayErrorText (const char *) {}
+       virtual void    DisplayWarningText (const char *) {}
+       virtual void    DisplayGenericWarningText (const char *) {}
+protected:
+};
+
+
+
+
+static const wxCmdLineEntryDesc cmdLineDesc[] =
+{
+{ wxCMD_LINE_PARAM,  NULL, NULL, _T("file"), wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL }, 
+{ wxCMD_LINE_SWITCH, _T("h"), _T("help"),   _T("Prints this help") },
+//{ wxCMD_LINE_SWITCH, _T("d"), _T("debug"),   _T("Message all 9") },
+{ wxCMD_LINE_NONE }
+};
+
+
 class wxBBEditorApp : public wxApp
 {
 public:
   bool OnInit( );
   int  OnExit() { return true; }
+
+        bool usage;
+       bool OnCmdLineParsed(wxCmdLineParser& parser);
+       void OnInitCmdLine(wxCmdLineParser& parser);
+private:
+        std::vector<std::string> input_file;
+
 };
 
 IMPLEMENT_APP(wxBBEditorApp);
 
 
 
+void wxBBEditorApp::OnInitCmdLine(wxCmdLineParser& parser)
+{
+       //    std::cout << "wxBBEditorApp::OnInitCmdLine"<<std::endl;
+       parser.SetDesc(cmdLineDesc);
+}
+
+
+bool wxBBEditorApp::OnCmdLineParsed(wxCmdLineParser& parser)
+{
+       int argc = parser.GetParamCount();
+       for (int i=0; i<argc; ++i) 
+    {
+               std::string s = bbtk::wx2std(parser.GetParam(i));
+               input_file.push_back(s);
+    }
+       
+       bool help = ( parser.Found(_T("h")) );
+       usage = (help && (input_file.size()==0));
+       if (usage) {
+               std::cout << "bbEditor (The Black Box Development Graphic Editor) - bbtk "
+               << bbtk::GetVersion() << " - (c) Creatis 2013"
+               << std::endl;
+               parser.Usage();
+       }
+       return true;
+}
+
+
+
+
 // ----------------------------------------------------------------------------
 // The `main program' equivalent, creating the windows and returning the
 // main frame
 bool wxBBEditorApp::OnInit( )
 {
+
+       vtkOutputWindowbbGEditor *vtkoutputwindowbbgeditor= vtkOutputWindowbbGEditor::New();
+       vtkOutputWindow::SetInstance( vtkoutputwindowbbgeditor );
+       vtkoutputwindowbbgeditor->Delete();
+
+
 #ifdef MACOSX
        /* assume this is OSX */
        wxSystemOptions::SetOption("mac.listctrl.always_use_generic", 1);
@@ -67,6 +138,26 @@ bool wxBBEditorApp::OnInit( )
        SetTopWindow(iegbbs);
        iegbbs->Show(true);
 
+
+       // EED  ..To Do..
+       // 1. This block have to be mooved to the library
+       // 2. We have to verifiy if the file is a good bbg  or a good bbs
+       // 3. Clean the path to pout just the name of the file in the second parameter (information of the tabPanel)
+       //      OpenDiagram(<PATH+Filename>, <Filena>); 
+        for(int i=0;i<input_file.size();i++)
+       {
+               int strsize=input_file[i].size()-1;
+               if ((input_file[i])[strsize]=='g')
+               {
+                       iegbbs->OpenDiagram(input_file[i], input_file[i]); 
+               } 
+               if ((input_file[i])[strsize]=='s')
+               {
+                       iegbbs->OpenBBS(input_file[i], input_file[i]); 
+               } 
+       }
+
+
        return true;
 }