From 07d09af8cc3321f7ff4743b1a288aa17594a2cfe Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Tue, 22 Aug 2000 14:00:47 +0000 Subject: [PATCH] Added Reset() to command line parser and called it from Parse(), so that you can call Parse() multiple times and get the desired result. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8158 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/splitevt.tex | 2 +- include/wx/cmdline.h | 3 +++ src/common/cmdline.cpp | 16 +++++++++++++++- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/docs/latex/wx/splitevt.tex b/docs/latex/wx/splitevt.tex index 759204f531..ffaff7fcf2 100644 --- a/docs/latex/wx/splitevt.tex +++ b/docs/latex/wx/splitevt.tex @@ -101,7 +101,7 @@ wxEVT\_COMMAND\_SPLITTER\_UNSPLIT events. \membersection{wxSplitterEvent::SetSashPosition}\label{wxsplittereventsetsashposition} -\func{void}{SetSashPosition}{\param{int}{pos}} +\func{void}{SetSashPosition}{\param{int}{ pos}} In the case of wxEVT\_COMMAND\_SPLITTER\_SASH\_POS\_CHANGED events, sets the the new sash position. In the case of diff --git a/include/wx/cmdline.h b/include/wx/cmdline.h index 7e10524d01..6ac61e9361 100644 --- a/include/wx/cmdline.h +++ b/include/wx/cmdline.h @@ -187,6 +187,9 @@ public: // gets the value of Nth parameter (as string only for now) wxString GetParam(size_t n = 0u) const; + // Resets switches and options + void Reset(); + private: // common part of all ctors void Init(); diff --git a/src/common/cmdline.cpp b/src/common/cmdline.cpp index a8764a296f..29399558f5 100644 --- a/src/common/cmdline.cpp +++ b/src/common/cmdline.cpp @@ -98,7 +98,7 @@ struct wxCmdLineOption void SetDateVal(const wxDateTime val) { Check(wxCMD_LINE_VAL_DATE); m_dateVal = val; m_hasVal = TRUE; } - void SetHasValue() { m_hasVal = TRUE; } + void SetHasValue(bool hasValue = TRUE) { m_hasVal = hasValue; } bool HasValue() const { return m_hasVal; } public: @@ -475,6 +475,18 @@ wxString wxCmdLineParser::GetParam(size_t n) const return m_data->m_parameters[n]; } +// Resets switches and options +void wxCmdLineParser::Reset() +{ + unsigned int i; + for (i = 0; i < m_data->m_options.Count(); i++) + { + wxCmdLineOption& opt = m_data->m_options[(size_t)i]; + opt.SetHasValue(FALSE); + } +} + + // ---------------------------------------------------------------------------- // the real work is done here // ---------------------------------------------------------------------------- @@ -490,6 +502,8 @@ int wxCmdLineParser::Parse() size_t countParam = m_data->m_paramDesc.GetCount(); + Reset(); + // parse everything wxString arg; size_t count = m_data->m_arguments.GetCount(); -- 2.47.2