|
From: <ob...@us...> - 2012-06-20 19:03:17
|
Revision: 1406
http://scstudio.svn.sourceforge.net/scstudio/?rev=1406&view=rev
Author: obouda
Date: 2012-06-20 19:03:04 +0000 (Wed, 20 Jun 2012)
Log Message:
-----------
Included Antlr, WTL, and SimpleOpt in the third-party-sw. Now it is handled automatically.
Fixed some library paths in visio/addon/scstudio.vcproj
Modified Paths:
--------------
trunk/CMakeLists.txt
trunk/src/view/visio/addon/scstudio.vcproj
trunk/src/view/visio/build-setup.bat
Added Paths:
-----------
trunk/src/view/visio/addon/SimpleOpt.h
trunk/third-party-sw/antlr/
trunk/third-party-sw/antlr/lib/
trunk/third-party-sw/antlr/lib/antlr-3.1.3.jar
trunk/third-party-sw/antlr/runtime/
trunk/third-party-sw/antlr/runtime/C/
trunk/third-party-sw/antlr/runtime/C/32bit/
trunk/third-party-sw/antlr/runtime/C/32bit/antlr3c.lib
trunk/third-party-sw/antlr/runtime/C/32bit/antlr3cd.lib
trunk/third-party-sw/antlr/runtime/C/antlr3c.lib
trunk/third-party-sw/antlr/runtime/C/antlr3cd.lib
trunk/third-party-sw/antlr/runtime/C/include/
trunk/third-party-sw/antlr/runtime/C/include/antlr3.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3baserecognizer.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3basetree.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3basetreeadaptor.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3bitset.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3collections.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3commontoken.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3commontree.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3commontreeadaptor.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3commontreenodestream.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3convertutf.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3cyclicdfa.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3debugeventlistener.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3defs.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3encodings.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3errors.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3exception.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3filestream.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3input.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3interfaces.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3intstream.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3lexer.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3memory.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3parser.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3parsetree.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3recognizersharedstate.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3rewritestreams.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3string.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3stringstream.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3tokenstream.h
trunk/third-party-sw/antlr/runtime/C/include/antlr3treeparser.h
trunk/third-party-sw/simpleopt/
trunk/third-party-sw/simpleopt/SimpleOpt.h
trunk/third-party-sw/wtl/
trunk/third-party-sw/wtl/AppWiz/
trunk/third-party-sw/wtl/AppWiz/Files/
trunk/third-party-sw/wtl/AppWiz/Files/HTML/
trunk/third-party-sw/wtl/AppWiz/Files/HTML/1033/
trunk/third-party-sw/wtl/AppWiz/Files/HTML/1033/AppType.htm
trunk/third-party-sw/wtl/AppWiz/Files/HTML/1033/UIFeatures.htm
trunk/third-party-sw/wtl/AppWiz/Files/HTML/1033/default.htm
trunk/third-party-sw/wtl/AppWiz/Files/Images/
trunk/third-party-sw/wtl/AppWiz/Files/Images/WTLApp70.gif
trunk/third-party-sw/wtl/AppWiz/Files/Images/WTLApp70_Background.gif
trunk/third-party-sw/wtl/AppWiz/Files/Scripts/
trunk/third-party-sw/wtl/AppWiz/Files/Scripts/1033/
trunk/third-party-sw/wtl/AppWiz/Files/Scripts/1033/default.js
trunk/third-party-sw/wtl/AppWiz/Files/Templates/
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/AboutDlg.cpp
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/AboutDlg.h
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/ChildFrm.cpp
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/ChildFrm.h
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/Frame.cpp
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/Frame.h
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/MainDlg.cpp
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/MainDlg.h
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/Ribbon.h
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/Ribbon.xml
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/Templates.inf
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/View.cpp
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/View.h
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/resource.h
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/root.cpp
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/root.exe.manifest
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/root.h
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/root.ico
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/root.idl
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/root.rc
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/root.rgs
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/rootDoc.ico
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/rootidl.h
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/rootps.def
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/rootps.mk
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/stdafx.cpp
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/stdafx.h
trunk/third-party-sw/wtl/AppWiz/Files/Templates/1033/toolbar.bmp
trunk/third-party-sw/wtl/AppWiz/Files/WTLAppWiz.ico
trunk/third-party-sw/wtl/AppWiz/Files/WTLAppWiz.vsdir
trunk/third-party-sw/wtl/AppWiz/Files/WTLAppWiz.vsz
trunk/third-party-sw/wtl/AppWiz/setup100.js
trunk/third-party-sw/wtl/AppWiz/setup100x.js
trunk/third-party-sw/wtl/AppWiz/setup110.js
trunk/third-party-sw/wtl/AppWiz/setup110x.js
trunk/third-party-sw/wtl/AppWiz/setup70.js
trunk/third-party-sw/wtl/AppWiz/setup71.js
trunk/third-party-sw/wtl/AppWiz/setup80.js
trunk/third-party-sw/wtl/AppWiz/setup80x.js
trunk/third-party-sw/wtl/AppWiz/setup90.js
trunk/third-party-sw/wtl/AppWiz/setup90x.js
trunk/third-party-sw/wtl/AppWizCE/
trunk/third-party-sw/wtl/AppWizCE/Files/
trunk/third-party-sw/wtl/AppWizCE/Files/HTML/
trunk/third-party-sw/wtl/AppWizCE/Files/HTML/1033/
trunk/third-party-sw/wtl/AppWizCE/Files/HTML/1033/AppType.htm
trunk/third-party-sw/wtl/AppWizCE/Files/HTML/1033/Platforms.htm
trunk/third-party-sw/wtl/AppWizCE/Files/HTML/1033/UIFeatures.htm
trunk/third-party-sw/wtl/AppWizCE/Files/HTML/1033/default.htm
trunk/third-party-sw/wtl/AppWizCE/Files/Images/
trunk/third-party-sw/wtl/AppWizCE/Files/Images/WTLApp70.gif
trunk/third-party-sw/wtl/AppWizCE/Files/Images/WTLApp70_Background.gif
trunk/third-party-sw/wtl/AppWizCE/Files/Scripts/
trunk/third-party-sw/wtl/AppWizCE/Files/Scripts/1033/
trunk/third-party-sw/wtl/AppWizCE/Files/Scripts/1033/default.js
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/AboutDlg.cpp
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/AboutDlg.h
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/Frame.cpp
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/Frame.h
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/MainDlg.cpp
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/MainDlg.h
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/Templates.inf
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/View.cpp
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/View.h
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/resource.h
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/root.cpp
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/root.h
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/root.ico
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/root.idl
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/root.rc
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/root.rc2
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/root.rgs
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/rootidl.h
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/rootps.def
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/rootps.mk
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/stdafx.cpp
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/stdafx.h
trunk/third-party-sw/wtl/AppWizCE/Files/Templates/1033/toolbar.bmp
trunk/third-party-sw/wtl/AppWizCE/Files/WTLAppWizCE.ico
trunk/third-party-sw/wtl/AppWizCE/Files/WTLAppWizCE.vsdir
trunk/third-party-sw/wtl/AppWizCE/Files/WTLAppWizCE.vsz
trunk/third-party-sw/wtl/AppWizCE/setup80.js
trunk/third-party-sw/wtl/AppWizCE/setup90.js
trunk/third-party-sw/wtl/AppWizMobile/
trunk/third-party-sw/wtl/AppWizMobile/Files/
trunk/third-party-sw/wtl/AppWizMobile/Files/1033/
trunk/third-party-sw/wtl/AppWizMobile/Files/1033/NewStyles.css
trunk/third-party-sw/wtl/AppWizMobile/Files/HTML/
trunk/third-party-sw/wtl/AppWizMobile/Files/HTML/1033/
trunk/third-party-sw/wtl/AppWizMobile/Files/HTML/1033/AppType.htm
trunk/third-party-sw/wtl/AppWizMobile/Files/HTML/1033/Platforms.htm
trunk/third-party-sw/wtl/AppWizMobile/Files/HTML/1033/UIFeatures.htm
trunk/third-party-sw/wtl/AppWizMobile/Files/HTML/1033/default.htm
trunk/third-party-sw/wtl/AppWizMobile/Files/Images/
trunk/third-party-sw/wtl/AppWizMobile/Files/Images/AppWizCE2.gif
trunk/third-party-sw/wtl/AppWizMobile/Files/Images/AppWizCE2_Background.gif
trunk/third-party-sw/wtl/AppWizMobile/Files/Images/WTLApp70.gif
trunk/third-party-sw/wtl/AppWizMobile/Files/Images/WTLApp70_Background.gif
trunk/third-party-sw/wtl/AppWizMobile/Files/Scripts/
trunk/third-party-sw/wtl/AppWizMobile/Files/Scripts/1033/
trunk/third-party-sw/wtl/AppWizMobile/Files/Scripts/1033/default.js
trunk/third-party-sw/wtl/AppWizMobile/Files/Templates/
trunk/third-party-sw/wtl/AppWizMobile/Files/Templates/1033/
trunk/third-party-sw/wtl/AppWizMobile/Files/Templates/1033/AboutDlg.cpp
trunk/third-party-sw/wtl/AppWizMobile/Files/Templates/1033/AboutDlg.h
trunk/third-party-sw/wtl/AppWizMobile/Files/Templates/1033/Frame.cpp
trunk/third-party-sw/wtl/AppWizMobile/Files/Templates/1033/Frame.h
trunk/third-party-sw/wtl/AppWizMobile/Files/Templates/1033/MainDlg.cpp
trunk/third-party-sw/wtl/AppWizMobile/Files/Templates/1033/MainDlg.h
trunk/third-party-sw/wtl/AppWizMobile/Files/Templates/1033/Templates.inf
trunk/third-party-sw/wtl/AppWizMobile/Files/Templates/1033/View.cpp
trunk/third-party-sw/wtl/AppWizMobile/Files/Templates/1033/View.h
trunk/third-party-sw/wtl/AppWizMobile/Files/Templates/1033/resource.h
trunk/third-party-sw/wtl/AppWizMobile/Files/Templates/1033/root.cpp
trunk/third-party-sw/wtl/AppWizMobile/Files/Templates/1033/root.ico
trunk/third-party-sw/wtl/AppWizMobile/Files/Templates/1033/root.rc2
trunk/third-party-sw/wtl/AppWizMobile/Files/Templates/1033/rootppc.rc
trunk/third-party-sw/wtl/AppWizMobile/Files/Templates/1033/rootsp.rc
trunk/third-party-sw/wtl/AppWizMobile/Files/Templates/1033/stdafx.cpp
trunk/third-party-sw/wtl/AppWizMobile/Files/Templates/1033/stdafx.h
trunk/third-party-sw/wtl/AppWizMobile/Files/Templates/1033/toolbar.bmp
trunk/third-party-sw/wtl/AppWizMobile/Files/WTLMobile.ico
trunk/third-party-sw/wtl/AppWizMobile/Files/WTLMobile.vsdir
trunk/third-party-sw/wtl/AppWizMobile/Files/WTLMobile.vsz
trunk/third-party-sw/wtl/AppWizMobile/setup80.js
trunk/third-party-sw/wtl/AppWizMobile/setup90.js
trunk/third-party-sw/wtl/CPL.TXT
trunk/third-party-sw/wtl/Include/
trunk/third-party-sw/wtl/Include/atlapp.h
trunk/third-party-sw/wtl/Include/atlcrack.h
trunk/third-party-sw/wtl/Include/atlctrls.h
trunk/third-party-sw/wtl/Include/atlctrlw.h
trunk/third-party-sw/wtl/Include/atlctrlx.h
trunk/third-party-sw/wtl/Include/atlddx.h
trunk/third-party-sw/wtl/Include/atldlgs.h
trunk/third-party-sw/wtl/Include/atldwm.h
trunk/third-party-sw/wtl/Include/atlfind.h
trunk/third-party-sw/wtl/Include/atlframe.h
trunk/third-party-sw/wtl/Include/atlgdi.h
trunk/third-party-sw/wtl/Include/atlmisc.h
trunk/third-party-sw/wtl/Include/atlprint.h
trunk/third-party-sw/wtl/Include/atlres.h
trunk/third-party-sw/wtl/Include/atlresce.h
trunk/third-party-sw/wtl/Include/atlribbon.h
trunk/third-party-sw/wtl/Include/atlscrl.h
trunk/third-party-sw/wtl/Include/atlsplit.h
trunk/third-party-sw/wtl/Include/atltheme.h
trunk/third-party-sw/wtl/Include/atluser.h
trunk/third-party-sw/wtl/Include/atlwince.h
trunk/third-party-sw/wtl/Include/atlwinx.h
trunk/third-party-sw/wtl/Samples/
trunk/third-party-sw/wtl/Samples/Aero/
trunk/third-party-sw/wtl/Samples/Aero/AboutDlg.h
trunk/third-party-sw/wtl/Samples/Aero/Aero.cpp
trunk/third-party-sw/wtl/Samples/Aero/Aero.h
trunk/third-party-sw/wtl/Samples/Aero/Aero.rc
trunk/third-party-sw/wtl/Samples/Aero/Aero.sln
trunk/third-party-sw/wtl/Samples/Aero/Aero.vcproj
trunk/third-party-sw/wtl/Samples/Aero/AeroView.h
trunk/third-party-sw/wtl/Samples/Aero/MainFrm.h
trunk/third-party-sw/wtl/Samples/Aero/res/
trunk/third-party-sw/wtl/Samples/Aero/res/Aero.ico
trunk/third-party-sw/wtl/Samples/Aero/res/toolbar.bmp
trunk/third-party-sw/wtl/Samples/Aero/resource.h
trunk/third-party-sw/wtl/Samples/Aero/stdafx.cpp
trunk/third-party-sw/wtl/Samples/Aero/stdafx.h
trunk/third-party-sw/wtl/Samples/Alpha/
trunk/third-party-sw/wtl/Samples/Alpha/Alpha.cpp
trunk/third-party-sw/wtl/Samples/Alpha/Alpha.dsp
trunk/third-party-sw/wtl/Samples/Alpha/Alpha.dsw
trunk/third-party-sw/wtl/Samples/Alpha/Alpha.h
trunk/third-party-sw/wtl/Samples/Alpha/Alpha.rc
trunk/third-party-sw/wtl/Samples/Alpha/Alpha.sln
trunk/third-party-sw/wtl/Samples/Alpha/Alpha.vcproj
trunk/third-party-sw/wtl/Samples/Alpha/Debug/
trunk/third-party-sw/wtl/Samples/Alpha/Debug/Alpha.exe.manifest
trunk/third-party-sw/wtl/Samples/Alpha/Release/
trunk/third-party-sw/wtl/Samples/Alpha/Release/Alpha.exe.manifest
trunk/third-party-sw/wtl/Samples/Alpha/aboutdlg.h
trunk/third-party-sw/wtl/Samples/Alpha/mainfrm.h
trunk/third-party-sw/wtl/Samples/Alpha/readme.txt
trunk/third-party-sw/wtl/Samples/Alpha/res/
trunk/third-party-sw/wtl/Samples/Alpha/res/Alpha.ico
trunk/third-party-sw/wtl/Samples/Alpha/res/toolbar.bmp
trunk/third-party-sw/wtl/Samples/Alpha/res/toolbar_old.bmp
trunk/third-party-sw/wtl/Samples/Alpha/resource.h
trunk/third-party-sw/wtl/Samples/Alpha/stdafx.cpp
trunk/third-party-sw/wtl/Samples/Alpha/stdafx.h
trunk/third-party-sw/wtl/Samples/Alpha/view.h
trunk/third-party-sw/wtl/Samples/BmpView/
trunk/third-party-sw/wtl/Samples/BmpView/BmpView.cpp
trunk/third-party-sw/wtl/Samples/BmpView/BmpView.dsp
trunk/third-party-sw/wtl/Samples/BmpView/BmpView.dsw
trunk/third-party-sw/wtl/Samples/BmpView/BmpView.rc
trunk/third-party-sw/wtl/Samples/BmpView/BmpView.sln
trunk/third-party-sw/wtl/Samples/BmpView/BmpView.vcproj
trunk/third-party-sw/wtl/Samples/BmpView/BmpViewCE.rc
trunk/third-party-sw/wtl/Samples/BmpView/BmpViewCE.vcp
trunk/third-party-sw/wtl/Samples/BmpView/BmpViewCE.vcw
trunk/third-party-sw/wtl/Samples/BmpView/BmpViewPPC.rc
trunk/third-party-sw/wtl/Samples/BmpView/BmpViewPPC.vcp
trunk/third-party-sw/wtl/Samples/BmpView/BmpViewPPC.vcw
trunk/third-party-sw/wtl/Samples/BmpView/list.h
trunk/third-party-sw/wtl/Samples/BmpView/mainfrm.h
trunk/third-party-sw/wtl/Samples/BmpView/props.h
trunk/third-party-sw/wtl/Samples/BmpView/res/
trunk/third-party-sw/wtl/Samples/BmpView/res/BmpView.exe.manifest
trunk/third-party-sw/wtl/Samples/BmpView/res/BmpView.ico
trunk/third-party-sw/wtl/Samples/BmpView/res/Toolbar.bmp
trunk/third-party-sw/wtl/Samples/BmpView/res/ToolbarCE.bmp
trunk/third-party-sw/wtl/Samples/BmpView/resource.h
trunk/third-party-sw/wtl/Samples/BmpView/resourcece.h
trunk/third-party-sw/wtl/Samples/BmpView/resourceppc.h
trunk/third-party-sw/wtl/Samples/BmpView/stdafx.cpp
trunk/third-party-sw/wtl/Samples/BmpView/stdafx.h
trunk/third-party-sw/wtl/Samples/BmpView/view.h
trunk/third-party-sw/wtl/Samples/GuidGen/
trunk/third-party-sw/wtl/Samples/GuidGen/GuidGen.cpp
trunk/third-party-sw/wtl/Samples/GuidGen/GuidGen.dsp
trunk/third-party-sw/wtl/Samples/GuidGen/GuidGen.dsw
trunk/third-party-sw/wtl/Samples/GuidGen/GuidGen.rc
trunk/third-party-sw/wtl/Samples/GuidGen/GuidGen.sln
trunk/third-party-sw/wtl/Samples/GuidGen/GuidGen.vcproj
trunk/third-party-sw/wtl/Samples/GuidGen/GuidGenCE.rc
trunk/third-party-sw/wtl/Samples/GuidGen/GuidGenCE.vcp
trunk/third-party-sw/wtl/Samples/GuidGen/GuidGenCE.vcw
trunk/third-party-sw/wtl/Samples/GuidGen/aboutdlg.h
trunk/third-party-sw/wtl/Samples/GuidGen/maindlg.h
trunk/third-party-sw/wtl/Samples/GuidGen/res/
trunk/third-party-sw/wtl/Samples/GuidGen/res/GuidGen.exe.manifest
trunk/third-party-sw/wtl/Samples/GuidGen/res/GuidGen.ico
trunk/third-party-sw/wtl/Samples/GuidGen/resource.h
trunk/third-party-sw/wtl/Samples/GuidGen/resourcece.h
trunk/third-party-sw/wtl/Samples/GuidGen/stdatl.cpp
trunk/third-party-sw/wtl/Samples/GuidGen/stdatl.h
trunk/third-party-sw/wtl/Samples/ImageView/
trunk/third-party-sw/wtl/Samples/ImageView/ImageView.EVC.rc
trunk/third-party-sw/wtl/Samples/ImageView/ImageView.VS.rc
trunk/third-party-sw/wtl/Samples/ImageView/ImageView.VS.rc2
trunk/third-party-sw/wtl/Samples/ImageView/ImageView.cpp
trunk/third-party-sw/wtl/Samples/ImageView/ImageView.sln
trunk/third-party-sw/wtl/Samples/ImageView/ImageView.vcp
trunk/third-party-sw/wtl/Samples/ImageView/ImageView.vcproj
trunk/third-party-sw/wtl/Samples/ImageView/ImageView.vcw
trunk/third-party-sw/wtl/Samples/ImageView/ImageViewdlg.h
trunk/third-party-sw/wtl/Samples/ImageView/ImageViewview.h
trunk/third-party-sw/wtl/Samples/ImageView/mainfrm.h
trunk/third-party-sw/wtl/Samples/ImageView/res/
trunk/third-party-sw/wtl/Samples/ImageView/res/BmpView.ico
trunk/third-party-sw/wtl/Samples/ImageView/res/bitmap1.bmp
trunk/third-party-sw/wtl/Samples/ImageView/res/bitmap2.bmp
trunk/third-party-sw/wtl/Samples/ImageView/resource.h
trunk/third-party-sw/wtl/Samples/ImageView/stdafx.cpp
trunk/third-party-sw/wtl/Samples/ImageView/stdafx.h
trunk/third-party-sw/wtl/Samples/MDIDocVw/
trunk/third-party-sw/wtl/Samples/MDIDocVw/HELLO.ICO
trunk/third-party-sw/wtl/Samples/MDIDocVw/MDI.ICO
trunk/third-party-sw/wtl/Samples/MDIDocVw/MDI.cpp
trunk/third-party-sw/wtl/Samples/MDIDocVw/MDI.dsp
trunk/third-party-sw/wtl/Samples/MDIDocVw/MDI.dsw
trunk/third-party-sw/wtl/Samples/MDIDocVw/MDI.rc
trunk/third-party-sw/wtl/Samples/MDIDocVw/MDI.sln
trunk/third-party-sw/wtl/Samples/MDIDocVw/MDI.vcproj
trunk/third-party-sw/wtl/Samples/MDIDocVw/mainfrm.h
trunk/third-party-sw/wtl/Samples/MDIDocVw/res/
trunk/third-party-sw/wtl/Samples/MDIDocVw/res/HelloDoc.ico
trunk/third-party-sw/wtl/Samples/MDIDocVw/res/MDI.ICO
trunk/third-party-sw/wtl/Samples/MDIDocVw/res/MDI.RC2
trunk/third-party-sw/wtl/Samples/MDIDocVw/res/MDI.exe.manifest
trunk/third-party-sw/wtl/Samples/MDIDocVw/res/Toolbar.bmp
trunk/third-party-sw/wtl/Samples/MDIDocVw/res/idr_boun.ico
trunk/third-party-sw/wtl/Samples/MDIDocVw/resource.h
trunk/third-party-sw/wtl/Samples/MDIDocVw/stdafx.cpp
trunk/third-party-sw/wtl/Samples/MDIDocVw/stdafx.h
trunk/third-party-sw/wtl/Samples/MTPad/
trunk/third-party-sw/wtl/Samples/MTPad/MTPad.cpp
trunk/third-party-sw/wtl/Samples/MTPad/MTPad.dsp
trunk/third-party-sw/wtl/Samples/MTPad/MTPad.dsw
trunk/third-party-sw/wtl/Samples/MTPad/MTPad.h
trunk/third-party-sw/wtl/Samples/MTPad/MTPad.rc
trunk/third-party-sw/wtl/Samples/MTPad/MTPad.sln
trunk/third-party-sw/wtl/Samples/MTPad/MTPad.vcproj
trunk/third-party-sw/wtl/Samples/MTPad/MTPadCE.rc
trunk/third-party-sw/wtl/Samples/MTPad/MTPadCE.vcp
trunk/third-party-sw/wtl/Samples/MTPad/MTPadCE.vcw
trunk/third-party-sw/wtl/Samples/MTPad/aboutdlg.h
trunk/third-party-sw/wtl/Samples/MTPad/finddlg.h
trunk/third-party-sw/wtl/Samples/MTPad/mainfrm.h
trunk/third-party-sw/wtl/Samples/MTPad/res/
trunk/third-party-sw/wtl/Samples/MTPad/res/MTPad.exe.manifest
trunk/third-party-sw/wtl/Samples/MTPad/res/MTPad.ico
trunk/third-party-sw/wtl/Samples/MTPad/res/MTPadDoc.ico
trunk/third-party-sw/wtl/Samples/MTPad/res/Toolbar.bmp
trunk/third-party-sw/wtl/Samples/MTPad/res/ToolbarCE.bmp
trunk/third-party-sw/wtl/Samples/MTPad/res/printpre.bmp
trunk/third-party-sw/wtl/Samples/MTPad/resource.h
trunk/third-party-sw/wtl/Samples/MTPad/resourcece.h
trunk/third-party-sw/wtl/Samples/MTPad/stdatl.cpp
trunk/third-party-sw/wtl/Samples/MTPad/stdatl.h
trunk/third-party-sw/wtl/Samples/MTPad/view.h
trunk/third-party-sw/wtl/Samples/MTPad7/
trunk/third-party-sw/wtl/Samples/MTPad7/MTPad.cpp
trunk/third-party-sw/wtl/Samples/MTPad7/MTPad.h
trunk/third-party-sw/wtl/Samples/MTPad7/MTPad.vcproj
trunk/third-party-sw/wtl/Samples/MTPad7/MTPad7.sln
trunk/third-party-sw/wtl/Samples/MTPad7/MTPadRibbon.h
trunk/third-party-sw/wtl/Samples/MTPad7/MTPadRibbon.rc
trunk/third-party-sw/wtl/Samples/MTPad7/MTPadRibbon.xml
trunk/third-party-sw/wtl/Samples/MTPad7/aboutdlg.h
trunk/third-party-sw/wtl/Samples/MTPad7/finddlg.h
trunk/third-party-sw/wtl/Samples/MTPad7/mainfrm.h
trunk/third-party-sw/wtl/Samples/MTPad7/mtpad.rc
trunk/third-party-sw/wtl/Samples/MTPad7/res/
trunk/third-party-sw/wtl/Samples/MTPad7/res/ClosePreviewHH.bmp
trunk/third-party-sw/wtl/Samples/MTPad7/res/GoToNextHS.bmp
trunk/third-party-sw/wtl/Samples/MTPad7/res/GoToPreviousHS.bmp
trunk/third-party-sw/wtl/Samples/MTPad7/res/MTPad.ico
trunk/third-party-sw/wtl/Samples/MTPad7/res/MTPadDoc.ico
trunk/third-party-sw/wtl/Samples/MTPad7/res/PortraitLandscapeHS.bmp
trunk/third-party-sw/wtl/Samples/MTPad7/res/PrintPreviewL.bmp
trunk/third-party-sw/wtl/Samples/MTPad7/res/SelectAllS.bmp
trunk/third-party-sw/wtl/Samples/MTPad7/res/Toolbar.bmp
trunk/third-party-sw/wtl/Samples/MTPad7/res/UndoS.bmp
trunk/third-party-sw/wtl/Samples/MTPad7/res/printpre.bmp
trunk/third-party-sw/wtl/Samples/MTPad7/resource.h
trunk/third-party-sw/wtl/Samples/MTPad7/stdatl.cpp
trunk/third-party-sw/wtl/Samples/MTPad7/stdatl.h
trunk/third-party-sw/wtl/Samples/MTPad7/view.h
trunk/third-party-sw/wtl/Samples/MiniPie/
trunk/third-party-sw/wtl/Samples/MiniPie/MiniPie.cpp
trunk/third-party-sw/wtl/Samples/MiniPie/MiniPie.rc2
trunk/third-party-sw/wtl/Samples/MiniPie/MiniPie.sln
trunk/third-party-sw/wtl/Samples/MiniPie/MiniPie.vcproj
trunk/third-party-sw/wtl/Samples/MiniPie/MiniPieFrame.cpp
trunk/third-party-sw/wtl/Samples/MiniPie/MiniPieFrame.h
trunk/third-party-sw/wtl/Samples/MiniPie/MiniPieppc.rc
trunk/third-party-sw/wtl/Samples/MiniPie/MiniPiesp.rc
trunk/third-party-sw/wtl/Samples/MiniPie/UrlDlg.cpp
trunk/third-party-sw/wtl/Samples/MiniPie/UrlDlg.h
trunk/third-party-sw/wtl/Samples/MiniPie/res/
trunk/third-party-sw/wtl/Samples/MiniPie/res/MiniPie.ico
trunk/third-party-sw/wtl/Samples/MiniPie/resourceppc.h
trunk/third-party-sw/wtl/Samples/MiniPie/resourcesp.h
trunk/third-party-sw/wtl/Samples/MiniPie/stdafx.cpp
trunk/third-party-sw/wtl/Samples/MiniPie/stdafx.h
trunk/third-party-sw/wtl/Samples/SPControls/
trunk/third-party-sw/wtl/Samples/SPControls/SPcontrols.cpp
trunk/third-party-sw/wtl/Samples/SPControls/SPcontrols.rc
trunk/third-party-sw/wtl/Samples/SPControls/SPcontrols.sln
trunk/third-party-sw/wtl/Samples/SPControls/SPcontrols.vcp
trunk/third-party-sw/wtl/Samples/SPControls/SPcontrols.vcproj
trunk/third-party-sw/wtl/Samples/SPControls/SPcontrols.vcw
trunk/third-party-sw/wtl/Samples/SPControls/atlcesp.rc
trunk/third-party-sw/wtl/Samples/SPControls/maindlg.h
trunk/third-party-sw/wtl/Samples/SPControls/res/
trunk/third-party-sw/wtl/Samples/SPControls/res/SPcontrols.ico
trunk/third-party-sw/wtl/Samples/SPControls/resource.h
trunk/third-party-sw/wtl/Samples/SPControls/stdafx.cpp
trunk/third-party-sw/wtl/Samples/SPControls/stdafx.h
trunk/third-party-sw/wtl/Samples/TabBrowser/
trunk/third-party-sw/wtl/Samples/TabBrowser/AboutDlg.h
trunk/third-party-sw/wtl/Samples/TabBrowser/AddressCombo.h
trunk/third-party-sw/wtl/Samples/TabBrowser/BrowserView.h
trunk/third-party-sw/wtl/Samples/TabBrowser/CustomTabView.h
trunk/third-party-sw/wtl/Samples/TabBrowser/MainFrm.h
trunk/third-party-sw/wtl/Samples/TabBrowser/OpenDlg.h
trunk/third-party-sw/wtl/Samples/TabBrowser/TabBrowser.cpp
trunk/third-party-sw/wtl/Samples/TabBrowser/TabBrowser.h
trunk/third-party-sw/wtl/Samples/TabBrowser/TabBrowser.rc
trunk/third-party-sw/wtl/Samples/TabBrowser/TabBrowser60.dsp
trunk/third-party-sw/wtl/Samples/TabBrowser/TabBrowser60.dsw
trunk/third-party-sw/wtl/Samples/TabBrowser/TabBrowser70.sln
trunk/third-party-sw/wtl/Samples/TabBrowser/TabBrowser70.vcproj
trunk/third-party-sw/wtl/Samples/TabBrowser/TabBrowser71.sln
trunk/third-party-sw/wtl/Samples/TabBrowser/TabBrowser71.vcproj
trunk/third-party-sw/wtl/Samples/TabBrowser/TabBrowser80.sln
trunk/third-party-sw/wtl/Samples/TabBrowser/TabBrowser80.vcproj
trunk/third-party-sw/wtl/Samples/TabBrowser/TabBrowser80x.sln
trunk/third-party-sw/wtl/Samples/TabBrowser/TabBrowser80x.vcproj
trunk/third-party-sw/wtl/Samples/TabBrowser/WindowsDlg.h
trunk/third-party-sw/wtl/Samples/TabBrowser/res/
trunk/third-party-sw/wtl/Samples/TabBrowser/res/Go.bmp
trunk/third-party-sw/wtl/Samples/TabBrowser/res/PageImage.bmp
trunk/third-party-sw/wtl/Samples/TabBrowser/res/TabBrowser.exe.manifest
trunk/third-party-sw/wtl/Samples/TabBrowser/res/TabBrowser.ico
trunk/third-party-sw/wtl/Samples/TabBrowser/res/TabToolbar.bmp
trunk/third-party-sw/wtl/Samples/TabBrowser/res/Toolbar.bmp
trunk/third-party-sw/wtl/Samples/TabBrowser/res/Toolbar_Big.bmp
trunk/third-party-sw/wtl/Samples/TabBrowser/resource.h
trunk/third-party-sw/wtl/Samples/TabBrowser/stdafx.cpp
trunk/third-party-sw/wtl/Samples/TabBrowser/stdafx.h
trunk/third-party-sw/wtl/Samples/WTLExplorer/
trunk/third-party-sw/wtl/Samples/WTLExplorer/ExplorerCombo.H
trunk/third-party-sw/wtl/Samples/WTLExplorer/MainFrm.Cpp
trunk/third-party-sw/wtl/Samples/WTLExplorer/ShellMgr.Cpp
trunk/third-party-sw/wtl/Samples/WTLExplorer/ShellMgr.H
trunk/third-party-sw/wtl/Samples/WTLExplorer/WTLExplorer.cpp
trunk/third-party-sw/wtl/Samples/WTLExplorer/WTLExplorer.dsp
trunk/third-party-sw/wtl/Samples/WTLExplorer/WTLExplorer.dsw
trunk/third-party-sw/wtl/Samples/WTLExplorer/WTLExplorer.rc
trunk/third-party-sw/wtl/Samples/WTLExplorer/mainfrm.h
trunk/third-party-sw/wtl/Samples/WTLExplorer/res/
trunk/third-party-sw/wtl/Samples/WTLExplorer/res/Toolbar.bmp
trunk/third-party-sw/wtl/Samples/WTLExplorer/res/WTLExplorer.exe.manifest
trunk/third-party-sw/wtl/Samples/WTLExplorer/res/WTLExplorer.ico
trunk/third-party-sw/wtl/Samples/WTLExplorer/res/go.bmp
trunk/third-party-sw/wtl/Samples/WTLExplorer/res/idt_go1.bmp
trunk/third-party-sw/wtl/Samples/WTLExplorer/resource.h
trunk/third-party-sw/wtl/Samples/WTLExplorer/stdafx.cpp
trunk/third-party-sw/wtl/Samples/WTLExplorer/stdafx.h
trunk/third-party-sw/wtl/Samples/Wizard97Test/
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard/
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard/FolderDialogStatusText.h
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard/TestWizard.cpp
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard/TestWizard.h
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard/TestWizardCompletionPage.cpp
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard/TestWizardCompletionPage.h
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard/TestWizardFilePreviewPage.cpp
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard/TestWizardFilePreviewPage.h
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard/TestWizardInfo.cpp
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard/TestWizardInfo.h
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard/TestWizardOutputPage.cpp
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard/TestWizardOutputPage.h
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard/TestWizardPathFilterPage.cpp
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard/TestWizardPathFilterPage.h
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard/TestWizardSheet.cpp
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard/TestWizardSheet.h
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard/TestWizardWelcomePage.cpp
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard/TestWizardWelcomePage.h
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard97Test.cpp
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard97Test.dsp
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard97Test.dsw
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard97Test.h
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard97Test.rc
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard97Test.sln
trunk/third-party-sw/wtl/Samples/Wizard97Test/Wizard97Test.vcproj
trunk/third-party-sw/wtl/Samples/Wizard97Test/help/
trunk/third-party-sw/wtl/Samples/Wizard97Test/help/Context.h
trunk/third-party-sw/wtl/Samples/Wizard97Test/help/Context.txt
trunk/third-party-sw/wtl/Samples/Wizard97Test/help/TestWizard_Completion.html
trunk/third-party-sw/wtl/Samples/Wizard97Test/help/TestWizard_Completion.png
trunk/third-party-sw/wtl/Samples/Wizard97Test/help/TestWizard_Output.html
trunk/third-party-sw/wtl/Samples/Wizard97Test/help/TestWizard_Output.png
trunk/third-party-sw/wtl/Samples/Wizard97Test/help/TestWizard_PathFilter.html
trunk/third-party-sw/wtl/Samples/Wizard97Test/help/TestWizard_PathFilter.png
trunk/third-party-sw/wtl/Samples/Wizard97Test/help/TestWizard_PreviewFileList.html
trunk/third-party-sw/wtl/Samples/Wizard97Test/help/TestWizard_PreviewFileList.png
trunk/third-party-sw/wtl/Samples/Wizard97Test/help/TestWizard_Welcome.html
trunk/third-party-sw/wtl/Samples/Wizard97Test/help/TestWizard_Welcome.png
trunk/third-party-sw/wtl/Samples/Wizard97Test/help/Wizard97Test.hhc
trunk/third-party-sw/wtl/Samples/Wizard97Test/help/Wizard97Test.hhk
trunk/third-party-sw/wtl/Samples/Wizard97Test/help/Wizard97Test.hhp
trunk/third-party-sw/wtl/Samples/Wizard97Test/help/Wizard97Test.html
trunk/third-party-sw/wtl/Samples/Wizard97Test/help/readme-help.txt
trunk/third-party-sw/wtl/Samples/Wizard97Test/help/style.css
trunk/third-party-sw/wtl/Samples/Wizard97Test/res/
trunk/third-party-sw/wtl/Samples/Wizard97Test/res/Wizard97Test.exe.manifest
trunk/third-party-sw/wtl/Samples/Wizard97Test/res/Wizard97Test.ico
trunk/third-party-sw/wtl/Samples/Wizard97Test/res/header.bmp
trunk/third-party-sw/wtl/Samples/Wizard97Test/res/watermark.bmp
trunk/third-party-sw/wtl/Samples/Wizard97Test/resource.h
trunk/third-party-sw/wtl/Samples/Wizard97Test/resource.hm
trunk/third-party-sw/wtl/Samples/Wizard97Test/stdafx.cpp
trunk/third-party-sw/wtl/Samples/Wizard97Test/stdafx.h
trunk/third-party-sw/wtl/readme.htm
Modified: trunk/CMakeLists.txt
===================================================================
--- trunk/CMakeLists.txt 2012-06-20 09:27:01 UTC (rev 1405)
+++ trunk/CMakeLists.txt 2012-06-20 19:03:04 UTC (rev 1406)
@@ -58,6 +58,14 @@
FIND_PACKAGE(Boost COMPONENTS date_time thread serialization REQUIRED)
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
+# antlr setup
+IF (WIN32)
+ IF(NOT ANTLR_ROOT)
+ #set implicit ANTLR_ROOT
+ SET(ANTLR_ROOT "${CMAKE_SOURCE_DIR}/third-party-sw/antlr/" CACHE PATH "The Antlr directory root.")
+ ENDIF(NOT ANTLR_ROOT)
+ENDIF(WIN32)
+
FIND_PACKAGE(Java COMPONENTS Runtime)
# keep antlr an optional prerequisite
FIND_PACKAGE(ANTLR)
Added: trunk/src/view/visio/addon/SimpleOpt.h
===================================================================
--- trunk/src/view/visio/addon/SimpleOpt.h (rev 0)
+++ trunk/src/view/visio/addon/SimpleOpt.h 2012-06-20 19:03:04 UTC (rev 1406)
@@ -0,0 +1,1060 @@
+/*! @file SimpleOpt.h
+
+ @version 3.4
+
+ @brief A cross-platform command line library which can parse almost any
+ of the standard command line formats in use today. It is designed
+ explicitly to be portable to any platform and has been tested on Windows
+ and Linux. See CSimpleOptTempl for the class definition.
+
+ @section features FEATURES
+
+ - MIT Licence allows free use in all software (including GPL
+ and commercial)
+ - multi-platform (Windows 95/98/ME/NT/2K/XP, Linux, Unix)
+ - supports all lengths of option names:
+ <table width="60%">
+ <tr><td width="30%"> -
+ <td>switch character only (e.g. use stdin for input)
+ <tr><td> -o
+ <td>short (single character)
+ <tr><td> -long
+ <td>long (multiple character, single switch character)
+ <tr><td> --longer
+ <td>long (multiple character, multiple switch characters)
+ </table>
+ - supports all types of arguments for options:
+ <table width="60%">
+ <tr><td width="30%"> --option
+ <td>short/long option flag (no argument)
+ <tr><td> --option ARG
+ <td>short/long option with separate required argument
+ <tr><td> --option=ARG
+ <td>short/long option with combined required argument
+ <tr><td> --option[=ARG]
+ <td>short/long option with combined optional argument
+ <tr><td> -oARG
+ <td>short option with combined required argument
+ <tr><td> -o[ARG]
+ <td>short option with combined optional argument
+ </table>
+ - supports options with multiple or variable numbers of arguments:
+ <table width="60%">
+ <tr><td width="30%"> --multi ARG1 ARG2
+ <td>Multiple arguments
+ <tr><td> --multi N ARG-1 ARG-2 ... ARG-N
+ <td>Variable number of arguments
+ </table>
+ - supports case-insensitive option matching on short, long and/or
+ word arguments.
+ - supports options which do not use a switch character. i.e. a special
+ word which is construed as an option.
+ e.g. "foo.exe open /directory/file.txt"
+ - supports clumping of multiple short options (no arguments) in a string
+ e.g. "foo.exe -abcdef file1" <==> "foo.exe -a -b -c -d -e -f file1"
+ - automatic recognition of a single slash as equivalent to a single
+ hyphen on Windows, e.g. "/f FILE" is equivalent to "-f FILE".
+ - file arguments can appear anywhere in the argument list:
+ "foo.exe file1.txt -a ARG file2.txt --flag file3.txt file4.txt"
+ files will be returned to the application in the same order they were
+ supplied on the command line
+ - short-circuit option matching: "--man" will match "--mandate"
+ invalid options can be handled while continuing to parse the command
+ line valid options list can be changed dynamically during command line
+ processing, i.e. accept different options depending on an option
+ supplied earlier in the command line.
+ - implemented with only a single C++ header file
+ - optionally use no C runtime or OS functions
+ - char, wchar_t and Windows TCHAR in the same program
+ - complete working examples included
+ - compiles cleanly at warning level 4 (Windows/VC.NET 2003), warning
+ level 3 (Windows/VC6) and -Wall (Linux/gcc)
+
+ @section usage USAGE
+
+ The SimpleOpt class is used by following these steps:
+
+ <ol>
+ <li> Include the SimpleOpt.h header file
+
+ <pre>
+ \#include "SimpleOpt.h"
+ </pre>
+
+ <li> Define an array of valid options for your program.
+
+<pre>
+@link CSimpleOptTempl::SOption CSimpleOpt::SOption @endlink g_rgOptions[] = {
+ { OPT_FLAG, _T("-a"), SO_NONE }, // "-a"
+ { OPT_FLAG, _T("-b"), SO_NONE }, // "-b"
+ { OPT_ARG, _T("-f"), SO_REQ_SEP }, // "-f ARG"
+ { OPT_HELP, _T("-?"), SO_NONE }, // "-?"
+ { OPT_HELP, _T("--help"), SO_NONE }, // "--help"
+ SO_END_OF_OPTIONS // END
+};
+</pre>
+
+ Note that all options must start with a hyphen even if the slash will
+ be accepted. This is because the slash character is automatically
+ converted into a hyphen to test against the list of options.
+ For example, the following line matches both "-?" and "/?"
+ (on Windows).
+
+ <pre>
+ { OPT_HELP, _T("-?"), SO_NONE }, // "-?"
+ </pre>
+
+ <li> Instantiate a CSimpleOpt object supplying argc, argv and the option
+ table
+
+<pre>
+@link CSimpleOptTempl CSimpleOpt @endlink args(argc, argv, g_rgOptions);
+</pre>
+
+ <li> Process the arguments by calling Next() until it returns false.
+ On each call, first check for an error by calling LastError(), then
+ either handle the error or process the argument.
+
+<pre>
+while (args.Next()) {
+ if (args.LastError() == SO_SUCCESS) {
+ handle option: use OptionId(), OptionText() and OptionArg()
+ }
+ else {
+ handle error: see ESOError enums
+ }
+}
+</pre>
+
+ <li> Process all non-option arguments with File(), Files() and FileCount()
+
+<pre>
+ShowFiles(args.FileCount(), args.Files());
+</pre>
+
+ </ol>
+
+ @section notes NOTES
+
+ - In MBCS mode, this library is guaranteed to work correctly only when
+ all option names use only ASCII characters.
+ - Note that if case-insensitive matching is being used then the first
+ matching option in the argument list will be returned.
+
+ @section licence MIT LICENCE
+
+ The licence text below is the boilerplate "MIT Licence" used from:
+ http://www.opensource.org/licenses/mit-license.php
+
+ Copyright (c) 2006-2007, Brodie Thiesfield
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+/*! @mainpage
+
+ <table>
+ <tr><th>Library <td>SimpleOpt
+ <tr><th>Author <td>Brodie Thiesfield [code at jellycan dot com]
+ <tr><th>Source <td>http://code.jellycan.com/simpleopt/
+ </table>
+
+ @section SimpleOpt SimpleOpt
+
+ A cross-platform library providing a simple method to parse almost any of
+ the standard command-line formats in use today.
+
+ See the @link SimpleOpt.h SimpleOpt @endlink documentation for full
+ details.
+
+ @section SimpleGlob SimpleGlob
+
+ A cross-platform file globbing library providing the ability to
+ expand wildcards in command-line arguments to a list of all matching
+ files.
+
+ See the @link SimpleGlob.h SimpleGlob @endlink documentation for full
+ details.
+*/
+
+#ifndef INCLUDED_SimpleOpt
+#define INCLUDED_SimpleOpt
+
+// Default the max arguments to a fixed value. If you want to be able to
+// handle any number of arguments, then predefine this to 0 and it will
+// use an internal dynamically allocated buffer instead.
+#ifdef SO_MAX_ARGS
+# define SO_STATICBUF SO_MAX_ARGS
+#else
+# include <stdlib.h> // malloc, free
+# include <string.h> // memcpy
+# define SO_STATICBUF 50
+#endif
+
+//! Error values
+typedef enum _ESOError
+{
+ //! No error
+ SO_SUCCESS = 0,
+
+ /*! It looks like an option (it starts with a switch character), but
+ it isn't registered in the option table. */
+ SO_OPT_INVALID = -1,
+
+ /*! Multiple options matched the supplied option text.
+ Only returned when NOT using SO_O_EXACT. */
+ SO_OPT_MULTIPLE = -2,
+
+ /*! Option doesn't take an argument, but a combined argument was
+ supplied. */
+ SO_ARG_INVALID = -3,
+
+ /*! SO_REQ_CMB style-argument was supplied to a SO_REQ_SEP option
+ Only returned when using SO_O_PEDANTIC. */
+ SO_ARG_INVALID_TYPE = -4,
+
+ //! Required argument was not supplied
+ SO_ARG_MISSING = -5,
+
+ /*! Option argument looks like another option.
+ Only returned when NOT using SO_O_NOERR. */
+ SO_ARG_INVALID_DATA = -6
+} ESOError;
+
+//! Option flags
+enum _ESOFlags
+{
+ /*! Disallow partial matching of option names */
+ SO_O_EXACT = 0x0001,
+
+ /*! Disallow use of slash as an option marker on Windows.
+ Un*x only ever recognizes a hyphen. */
+ SO_O_NOSLASH = 0x0002,
+
+ /*! Permit arguments on single letter options with no equals sign.
+ e.g. -oARG or -o[ARG] */
+ SO_O_SHORTARG = 0x0004,
+
+ /*! Permit single character options to be clumped into a single
+ option string. e.g. "-a -b -c" <==> "-abc" */
+ SO_O_CLUMP = 0x0008,
+
+ /*! Process the entire argv array for options, including the
+ argv[0] entry. */
+ SO_O_USEALL = 0x0010,
+
+ /*! Do not generate an error for invalid options. errors for missing
+ arguments will still be generated. invalid options will be
+ treated as files. invalid options in clumps will be silently
+ ignored. */
+ SO_O_NOERR = 0x0020,
+
+ /*! Validate argument type pedantically. Return an error when a
+ separated argument "-opt arg" is supplied by the user as a
+ combined argument "-opt=arg". By default this is not considered
+ an error. */
+ SO_O_PEDANTIC = 0x0040,
+
+ /*! Case-insensitive comparisons for short arguments */
+ SO_O_ICASE_SHORT = 0x0100,
+
+ /*! Case-insensitive comparisons for long arguments */
+ SO_O_ICASE_LONG = 0x0200,
+
+ /*! Case-insensitive comparisons for word arguments
+ i.e. arguments without any hyphens at the start. */
+ SO_O_ICASE_WORD = 0x0400,
+
+ /*! Case-insensitive comparisons for all arg types */
+ SO_O_ICASE = 0x0700
+};
+
+/*! Types of arguments that options may have. Note that some of the _ESOFlags
+ are not compatible with all argument types. SO_O_SHORTARG requires that
+ relevant options use either SO_REQ_CMB or SO_OPT. SO_O_CLUMP requires
+ that relevant options use only SO_NONE.
+ */
+typedef enum _ESOArgType {
+ /*! No argument. Just the option flags.
+ e.g. -o --opt */
+ SO_NONE,
+
+ /*! Required separate argument.
+ e.g. -o ARG --opt ARG */
+ SO_REQ_SEP,
+
+ /*! Required combined argument.
+ e.g. -oARG -o=ARG --opt=ARG */
+ SO_REQ_CMB,
+
+ /*! Optional combined argument.
+ e.g. -o[ARG] -o[=ARG] --opt[=ARG] */
+ SO_OPT,
+
+ /*! Multiple separate arguments. The actual number of arguments is
+ determined programatically at the time the argument is processed.
+ e.g. -o N ARG1 ARG2 ... ARGN --opt N ARG1 ARG2 ... ARGN */
+ SO_MULTI
+} ESOArgType;
+
+//! this option definition must be the last entry in the table
+#define SO_END_OF_OPTIONS { -1, NULL, SO_NONE }
+
+#ifdef _DEBUG
+# ifdef _MSC_VER
+# include <crtdbg.h>
+# define SO_ASSERT(b) _ASSERTE(b)
+# else
+# include <assert.h>
+# define SO_ASSERT(b) assert(b)
+# endif
+#else
+# define SO_ASSERT(b) //!< assertion used to test input data
+#endif
+
+// ---------------------------------------------------------------------------
+// MAIN TEMPLATE CLASS
+// ---------------------------------------------------------------------------
+
+/*! @brief Implementation of the SimpleOpt class */
+template<class SOCHAR>
+class CSimpleOptTempl
+{
+public:
+ /*! @brief Structure used to define all known options. */
+ struct SOption {
+ /*! ID to return for this flag. Optional but must be >= 0 */
+ int nId;
+
+ /*! arg string to search for, e.g. "open", "-", "-f", "--file"
+ Note that on Windows the slash option marker will be converted
+ to a hyphen so that "-f" will also match "/f". */
+ const SOCHAR * pszArg;
+
+ /*! type of argument accepted by this option */
+ ESOArgType nArgType;
+ };
+
+ /*! @brief Initialize the class. Init() must be called later. */
+ CSimpleOptTempl()
+ : m_rgShuffleBuf(NULL)
+ {
+ Init(0, NULL, NULL, 0);
+ }
+
+ /*! @brief Initialize the class in preparation for use. */
+ CSimpleOptTempl(
+ int argc,
+ SOCHAR * argv[],
+ const SOption * a_rgOptions,
+ int a_nFlags = 0
+ )
+ : m_rgShuffleBuf(NULL)
+ {
+ Init(argc, argv, a_rgOptions, a_nFlags);
+ }
+
+#ifndef SO_MAX_ARGS
+ /*! @brief Deallocate any allocated memory. */
+ ~CSimpleOptTempl() { if (m_rgShuffleBuf) free(m_rgShuffleBuf); }
+#endif
+
+ /*! @brief Initialize the class in preparation for calling Next.
+
+ The table of options pointed to by a_rgOptions does not need to be
+ valid at the time that Init() is called. However on every call to
+ Next() the table pointed to must be a valid options table with the
+ last valid entry set to SO_END_OF_OPTIONS.
+
+ NOTE: the array pointed to by a_argv will be modified by this
+ class and must not be used or modified outside of member calls to
+ this class.
+
+ @param a_argc Argument array size
+ @param a_argv Argument array
+ @param a_rgOptions Valid option array
+ @param a_nFlags Optional flags to modify the processing of
+ the arguments
+
+ @return true Successful
+ @return false if SO_MAX_ARGC > 0: Too many arguments
+ if SO_MAX_ARGC == 0: Memory allocation failure
+ */
+ bool Init(
+ int a_argc,
+ SOCHAR * a_argv[],
+ const SOption * a_rgOptions,
+ int a_nFlags = 0
+ );
+
+ /*! @brief Change the current options table during option parsing.
+
+ @param a_rgOptions Valid option array
+ */
+ inline void SetOptions(const SOption * a_rgOptions) {
+ m_rgOptions = a_rgOptions;
+ }
+
+ /*! @brief Change the current flags during option parsing.
+
+ Note that changing the SO_O_USEALL flag here will have no affect.
+ It must be set using Init() or the constructor.
+
+ @param a_nFlags Flags to modify the processing of the arguments
+ */
+ inline void SetFlags(int a_nFlags) { m_nFlags = a_nFlags; }
+
+ /*! @brief Query if a particular flag is set */
+ inline bool HasFlag(int a_nFlag) const {
+ return (m_nFlags & a_nFlag) == a_nFlag;
+ }
+
+ /*! @brief Advance to the next option if available.
+
+ When all options have been processed it will return false. When true
+ has been returned, you must check for an invalid or unrecognized
+ option using the LastError() method. This will be return an error
+ value other than SO_SUCCESS on an error. All standard data
+ (e.g. OptionText(), OptionArg(), OptionId(), etc) will be available
+ depending on the error.
+
+ After all options have been processed, the remaining files from the
+ command line can be processed in same order as they were passed to
+ the program.
+
+ @return true option or error available for processing
+ @return false all options have been processed
+ */
+ bool Next();
+
+ /*! Stops processing of the command line and returns all remaining
+ arguments as files. The next call to Next() will return false.
+ */
+ void Stop();
+
+ /*! @brief Return the last error that occurred.
+
+ This function must always be called before processing the current
+ option. This function is available only when Next() has returned true.
+ */
+ inline ESOError LastError() const { return m_nLastError; }
+
+ /*! @brief Return the nId value from the options array for the current
+ option.
+
+ This function is available only when Next() has returned true.
+ */
+ inline int OptionId() const { return m_nOptionId; }
+
+ /*! @brief Return the pszArg from the options array for the current
+ option.
+
+ This function is available only when Next() has returned true.
+ */
+ inline const SOCHAR * OptionText() const { return m_pszOptionText; }
+
+ /*! @brief Return the argument for the current option where one exists.
+
+ If there is no argument for the option, this will return NULL.
+ This function is available only when Next() has returned true.
+ */
+ inline SOCHAR * OptionArg() const { return m_pszOptionArg; }
+
+ /*! @brief Validate and return the desired number of arguments.
+
+ This is only valid when OptionId() has return the ID of an option
+ that is registered as SO_MULTI. It may be called multiple times
+ each time returning the desired number of arguments. Previously
+ returned argument pointers are remain valid.
+
+ If an error occurs during processing, NULL will be returned and
+ the error will be available via LastError().
+
+ @param n Number of arguments to return.
+ */
+ SOCHAR ** MultiArg(int n);
+
+ /*! @brief Returned the number of entries in the Files() array.
+
+ After Next() has returned false, this will be the list of files (or
+ otherwise unprocessed arguments).
+ */
+ inline int FileCount() const { return m_argc - m_nLastArg; }
+
+ /*! @brief Return the specified file argument.
+
+ @param n Index of the file to return. This must be between 0
+ and FileCount() - 1;
+ */
+ inline SOCHAR * File(int n) const {
+ SO_ASSERT(n >= 0 && n < FileCount());
+ return m_argv[m_nLastArg + n];
+ }
+
+ /*! @brief Return the array of files. */
+ inline SOCHAR ** Files() const { return &m_argv[m_nLastArg]; }
+
+private:
+ CSimpleOptTempl(const CSimpleOptTempl &); // disabled
+ CSimpleOptTempl & operator=(const CSimpleOptTempl &); // disabled
+
+ SOCHAR PrepareArg(SOCHAR * a_pszString) const;
+ bool NextClumped();
+ void ShuffleArg(int a_nStartIdx, int a_nCount);
+ int LookupOption(const SOCHAR * a_pszOption) const;
+ int CalcMatch(const SOCHAR *a_pszSource, const SOCHAR *a_pszTest) const;
+
+ // Find the '=' character within a string.
+ inline SOCHAR * FindEquals(SOCHAR *s) const {
+ while (*s && *s != (SOCHAR)'=') ++s;
+ return *s ? s : NULL;
+ }
+ bool IsEqual(SOCHAR a_cLeft, SOCHAR a_cRight, int a_nArgType) const;
+
+ inline void Copy(SOCHAR ** ppDst, SOCHAR ** ppSrc, int nCount) const {
+#ifdef SO_MAX_ARGS
+ // keep our promise of no CLIB usage
+ while (nCount-- > 0) *ppDst++ = *ppSrc++;
+#else
+ memcpy(ppDst, ppSrc, nCount * sizeof(SOCHAR*));
+#endif
+ }
+
+private:
+ const SOption * m_rgOptions; //!< pointer to options table
+ int m_nFlags; //!< flags
+ int m_nOptionIdx; //!< current argv option index
+ int m_nOptionId; //!< id of current option (-1 = invalid)
+ int m_nNextOption; //!< index of next option
+ int m_nLastArg; //!< last argument, after this are files
+ int m_argc; //!< argc to process
+ SOCHAR ** m_argv; //!< argv
+ const SOCHAR * m_pszOptionText; //!< curr option text, e.g. "-f"
+ SOCHAR * m_pszOptionArg; //!< curr option arg, e.g. "c:\file.txt"
+ SOCHAR * m_pszClump; //!< clumped single character options
+ SOCHAR m_szShort[3]; //!< temp for clump and combined args
+ ESOError m_nLastError; //!< error status from the last call
+ SOCHAR ** m_rgShuffleBuf; //!< shuffle buffer for large argc
+};
+
+// ---------------------------------------------------------------------------
+// IMPLEMENTATION
+// ---------------------------------------------------------------------------
+
+template<class SOCHAR>
+bool
+CSimpleOptTempl<SOCHAR>::Init(
+ int a_argc,
+ SOCHAR * a_argv[],
+ const SOption * a_rgOptions,
+ int a_nFlags
+ )
+{
+ m_argc = a_argc;
+ m_nLastArg = a_argc;
+ m_argv = a_argv;
+ m_rgOptions = a_rgOptions;
+ m_nLastError = SO_SUCCESS;
+ m_nOptionIdx = 0;
+ m_nOptionId = -1;
+ m_pszOptionText = NULL;
+ m_pszOptionArg = NULL;
+ m_nNextOption = (a_nFlags & SO_O_USEALL) ? 0 : 1;
+ m_szShort[0] = (SOCHAR)'-';
+ m_szShort[2] = (SOCHAR)'\0';
+ m_nFlags = a_nFlags;
+ m_pszClump = NULL;
+
+#ifdef SO_MAX_ARGS
+ if (m_argc > SO_MAX_ARGS) {
+ m_nLastError = SO_ARG_INVALID_DATA;
+ m_nLastArg = 0;
+ return false;
+ }
+#else
+ if (m_rgShuffleBuf) {
+ free(m_rgShuffleBuf);
+ }
+ if (m_argc > SO_STATICBUF) {
+ m_rgShuffleBuf = (SOCHAR**) malloc(sizeof(SOCHAR*) * m_argc);
+ if (!m_rgShuffleBuf) {
+ return false;
+ }
+ }
+#endif
+
+ return true;
+}
+
+template<class SOCHAR>
+bool
+CSimpleOptTempl<SOCHAR>::Next()
+{
+#ifdef SO_MAX_ARGS
+ if (m_argc > SO_MAX_ARGS) {
+ SO_ASSERT(!"Too many args! Check the return value of Init()!");
+ return false;
+ }
+#endif
+
+ // process a clumped option string if appropriate
+ if (m_pszClump && *m_pszClump) {
+ // silently discard invalid clumped option
+ bool bIsValid = NextClumped();
+ while (*m_pszClump && !bIsValid && HasFlag(SO_O_NOERR)) {
+ bIsValid = NextClumped();
+ }
+
+ // return this option if valid or we are returning errors
+ if (bIsValid || !HasFlag(SO_O_NOERR)) {
+ return true;
+ }
+ }
+ SO_ASSERT(!m_pszClump || !*m_pszClump);
+ m_pszClump = NULL;
+
+ // init for the next option
+ m_nOptionIdx = m_nNextOption;
+ m_nOptionId = -1;
+ m_pszOptionText = NULL;
+ m_pszOptionArg = NULL;
+ m_nLastError = SO_SUCCESS;
+
+ // find the next option
+ SOCHAR cFirst;
+ int nTableIdx = -1;
+ int nOptIdx = m_nOptionIdx;
+ while (nTableIdx < 0 && nOptIdx < m_nLastArg) {
+ SOCHAR * pszArg = m_argv[nOptIdx];
+ m_pszOptionArg = NULL;
+
+ // find this option in the options table
+ cFirst = PrepareArg(pszArg);
+ if (pszArg[0] == (SOCHAR)'-') {
+ // find any combined argument string and remove equals sign
+ m_pszOptionArg = FindEquals(pszArg);
+ if (m_pszOptionArg) {
+ *m_pszOptionArg++ = (SOCHAR)'\0';
+ }
+ }
+ nTableIdx = LookupOption(pszArg);
+
+ // if we didn't find this option but if it is a short form
+ // option then we try the alternative forms
+ if (nTableIdx < 0
+ && !m_pszOptionArg
+ && pszArg[0] == (SOCHAR)'-'
+ && pszArg[1]
+ && pszArg[1] != (SOCHAR)'-'
+ && pszArg[2])
+ {
+ // test for a short-form with argument if appropriate
+ if (HasFlag(SO_O_SHORTARG)) {
+ m_szShort[1] = pszArg[1];
+ int nIdx = LookupOption(m_szShort);
+ if (nIdx >= 0
+ && (m_rgOptions[nIdx].nArgType == SO_REQ_CMB
+ || m_rgOptions[nIdx].nArgType == SO_OPT))
+ {
+ m_pszOptionArg = &pszArg[2];
+ pszArg = m_szShort;
+ nTableIdx = nIdx;
+ }
+ }
+
+ // test for a clumped short-form option string and we didn't
+ // match on the short-form argument above
+ if (nTableIdx < 0 && HasFlag(SO_O_CLUMP)) {
+ m_pszClump = &pszArg[1];
+ ++m_nNextOption;
+ if (nOptIdx > m_nOptionIdx) {
+ ShuffleArg(m_nOptionIdx, nOptIdx - m_nOptionIdx);
+ }
+ return Next();
+ }
+ }
+
+ // The option wasn't found. If it starts with a switch character
+ // and we are not suppressing errors for invalid options then it
+ // is reported as an error, otherwise it is data.
+ if (nTableIdx < 0) {
+ if (!HasFlag(SO_O_NOERR) && pszArg[0] == (SOCHAR)'-') {
+ m_pszOptionText = pszArg;
+ break;
+ }
+
+ pszArg[0] = cFirst;
+ ++nOptIdx;
+ if (m_pszOptionArg) {
+ *(--m_pszOptionArg) = (SOCHAR)'=';
+ }
+ }
+ }
+
+ // end of options
+ if (nOptIdx >= m_nLastArg) {
+ if (nOptIdx > m_nOptionIdx) {
+ ShuffleArg(m_nOptionIdx, nOptIdx - m_nOptionIdx);
+ }
+ return false;
+ }
+ ++m_nNextOption;
+
+ // get the option id
+ ESOArgType nArgType = SO_NONE;
+ if (nTableIdx < 0) {
+ m_nLastError = (ESOError) nTableIdx; // error code
+ }
+ else {
+ m_nOptionId = m_rgOptions[nTableIdx].nId;
+ m_pszOptionText = m_rgOptions[nTableIdx].pszArg;
+
+ // ensure that the arg type is valid
+ nArgType = m_rgOptions[nTableIdx].nArgType;
+ switch (nArgType) {
+ case SO_NONE:
+ if (m_pszOptionArg) {
+ m_nLastError = SO_ARG_INVALID;
+ }
+ break;
+
+ case SO_REQ_SEP:
+ if (m_pszOptionArg) {
+ // they wanted separate args, but we got a combined one,
+ // unless we are pedantic, just accept it.
+ if (HasFlag(SO_O_PEDANTIC)) {
+ m_nLastError = SO_ARG_INVALID_TYPE;
+ }
+ }
+ // more processing after we shuffle
+ break;
+
+ case SO_REQ_CMB:
+ if (!m_pszOptionArg) {
+ m_nLastError = SO_ARG_MISSING;
+ }
+ break;
+
+ case SO_OPT:
+ // nothing to do
+ ...
[truncated message content] |