SPIN Framework

include/spinWX.h

00001 // -----------------------------------------------------------------------------
00002 // |    ___  ___  _  _ _     ___                                        _      |
00003 // |   / __>| . \| || \ |   | __>_ _  ___ ._ _ _  ___  _ _ _  ___  _ _ | |__   |
00004 // |   \__ \|  _/| ||   |   | _>| '_><_> || ' ' |/ ._>| | | |/ . \| '_>| / /   |
00005 // |   <___/|_|  |_||_\_|   |_| |_|  <___||_|_|_|\___.|__/_/ \___/|_|  |_\_\   |
00006 // |                                                                           |
00007 // |---------------------------------------------------------------------------|
00008 //
00009 // http://spinframework.sourceforge.net
00010 // Copyright (C) 2009 Mike Wozniewski, Zack Settel
00011 //
00012 // Developed/Maintained by:
00013 //    Mike Wozniewski (http://www.mikewoz.com)
00014 //    Zack Settel (http://www.sheefa.net/zack)
00015 //
00016 // Principle Partners:
00017 //    Shared Reality Lab, McGill University (http://www.cim.mcgill.ca/sre)
00018 //    La Societe des Arts Technologiques (http://www.sat.qc.ca)
00019 //
00020 // Funding by:
00021 //    NSERC/Canada Council for the Arts - New Media Initiative
00022 //    Heritage Canada
00023 //    Ministere du Developpement economique, de l'Innovation et de l'Exportation
00024 //
00025 // -----------------------------------------------------------------------------
00026 //  This file is part of the SPIN Framework.
00027 //
00028 //  SPIN Framework is free software: you can redistribute it and/or modify
00029 //  it under the terms of the GNU Lesser General Public License as published by
00030 //  the Free Software Foundation, either version 3 of the License, or
00031 //  (at your option) any later version.
00032 //
00033 //  SPIN Framework is distributed in the hope that it will be useful,
00034 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
00035 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00036 //  GNU Lesser General Public License for more details.
00037 //
00038 //  You should have received a copy of the GNU Lesser General Public License
00039 //  along with SPIN Framework. If not, see <http://www.gnu.org/licenses/>.
00040 // -----------------------------------------------------------------------------
00041 
00042 #ifndef SPINWX_H
00043 #define SPINWX_H
00044 
00045 // For compilers that support precompilation, includes <wx/wx.h>.
00046 #include <wx/wxprec.h>
00047 #include <wx/cmdline.h>
00048 
00049 #ifdef __BORLANDC__
00050     #pragma hdrstop
00051 #endif
00052 
00053 // for all others, include the necessary headers (this file is usually all you
00054 // need because it includes almost all "standard" wxWidgets headers)
00055 #ifndef WX_PRECOMP
00056     #include <wx/wx.h>
00057 #endif
00058 
00059 #include <wx/app.h>
00060 
00061 namespace spin
00062 {
00063 
00064 class spinWX : public wxApp
00065 {
00066     public:
00067         virtual bool OnInit();
00068         virtual void OnInitCmdLine(wxCmdLineParser& parser);
00069         virtual bool OnCmdLineParsed(wxCmdLineParser& parser);
00070     private:
00071         int startMode;
00072 };
00073 
00074 static const wxCmdLineEntryDesc g_cmdLineDesc [] =
00075 {
00076      { wxCMD_LINE_SWITCH, wxT("h"), wxT("help"),   wxT("displays help on the command line parameters"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_OPTION_HELP },
00077      { wxCMD_LINE_SWITCH, wxT("s"), wxT("server"), wxT("automatically start in server mode") },
00078      { wxCMD_LINE_SWITCH, wxT("c"), wxT("client"), wxT("automatically start in client mode") },
00079      { wxCMD_LINE_NONE }
00080 };
00081 
00082 } // end of namespace spin
00083 
00084 #endif