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
This commit is contained in:
parent
64acfbb2be
commit
07d09af8cc
@ -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
|
||||
|
@ -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();
|
||||
|
@ -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();
|
||||
|
Loading…
Reference in New Issue
Block a user