]> Creatis software - bbtkGEditor.git/commitdiff
2114 bbGEditor Feature New Normal Open bbg/bbs with command line
authorEduardo DAVILA <eduardo.davila@creatis.insa-lyon.fr>
Mon, 19 Aug 2013 14:09:15 +0000 (16:09 +0200)
committerEduardo DAVILA <eduardo.davila@creatis.insa-lyon.fr>
Mon, 19 Aug 2013 14:09:15 +0000 (16:09 +0200)
appli/bbEditor/bbEditor.cxx

index 292a4c8183863a9eb1850f14e1f6a1918d1d46a0..a54c317866873917dfa1a4c35694517103c7271a 100644 (file)
 #include <wx/app.h>
 #include <wx/sysopt.h>
 
+
+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
@@ -67,6 +114,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;
 }