1. wxProcess changes to make capturing subprocess output easier (and more

reliable), now works in both sync and async modes
2. wxSafeYieldBug() corrected, wxWindowDisabler which is now used in it
   added and documented
3. exec sample updated to illustrate capturing the subprocess output
4. wxStreamBase::IsOk() added
5. wxInputStream::Eof() added and non-blocking Eof() implementation in
   wxPipeInputStream used by wxExecute


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6400 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2000-03-02 19:06:13 +00:00
parent 21e5527b59
commit cd6ce4a90c
16 changed files with 570 additions and 297 deletions

View File

@@ -26,7 +26,9 @@ None
\wxheading{See also}
\helpref{wxBeginBusyCursor}{wxbeginbusycursor}, \helpref{wxEndBusyCursor}{wxendbusycursor}
\helpref{wxBeginBusyCursor}{wxbeginbusycursor},\rtfsp
\helpref{wxEndBusyCursor}{wxendbusycursor},\rtfsp
\helpref{wxWindowDisabler}{wxwindowdisabler}
\latexignore{\rtfignore{\wxheading{Members}}}

View File

@@ -1117,7 +1117,7 @@ registered with the dynamic class system using DECLARE... and IMPLEMENT... macro
Called when wxWindows exits, to clean up the DDE system. This no longer needs to be
called by the application.
See also helpref{wxDDEInitialize}{wxddeinitialize}.
See also \helpref{wxDDEInitialize}{wxddeinitialize}.
\wxheading{Include files}
@@ -1259,6 +1259,8 @@ wxWindows errors. See also \helpref{wxFatalError}{wxfatalerror}.
\func{long}{wxExecute}{\param{char **}{argv}, \param{bool }{sync = FALSE}, \param{wxProcess *}{callback = NULL}}
\func{long}{wxExecute}{\param{const wxString\& }{command}, \param{wxArrayString\& }{output}}
Executes another program in Unix or Windows.
The first form takes a command string, such as {\tt "emacs file.txt"}.
@@ -1266,6 +1268,9 @@ The first form takes a command string, such as {\tt "emacs file.txt"}.
The second form takes an array of values: a command, any number of
arguments, terminated by NULL.
The semantics of the third version is different from the first two and is
described in more details below.
If {\it sync} is FALSE (the default), flow of control immediately returns.
If TRUE, the current application waits until the other program has terminated.
@@ -1285,6 +1290,10 @@ parameter can not be non NULL for synchronous execution),
\helpref{wxProcess::OnTerminate}{wxprocessonterminate} will be called when
the process finishes.
Finally, you may use the third overloaded version of this function to execute
a process (always synchronously) and capture its output in the array
{\it output}.
See also \helpref{wxShell}{wxshell}, \helpref{wxProcess}{wxprocess},
\helpref{Exec sample}{sampleexec}.

View File

@@ -34,6 +34,12 @@ Destructor.
Returns the first character in the input queue and removes it.
\membersection{wxInputStream::Eof}\label{wxinputstreameof}
\constfunc{wxInputStream}{Eof}{\void}
Returns TRUE if the end of stream has been reached.
\membersection{wxInputStream::LastRead}\label{wxinputstreamlastread}
\constfunc{size\_t}{LastRead}{\void}

View File

@@ -90,7 +90,7 @@ accordingly until all requested data is read.
\wxheading{Return value}
It returns the size of the data read. If thereturned size is different of the specified
It returns the size of the data read. If the returned size is different of the specified
{\it size}, an error has occured and should be tested using
\helpref{LastError}{wxstreambaselasterror}.

View File

@@ -39,6 +39,16 @@ Creates a dummy stream object. It doesn't do anything.
Destructor.
\membersection{wxStreamBase::IsOk}\label{wxstreambaseisok}
\constfunc{wxStreamError}{IsOk}{\void}
Returns TRUE if no error occured on the stream.
\wxheading{See also}
\helpref{LastError}{wxstreambaselasterror}
\membersection{wxStreamBase::LastError}\label{wxstreambaselasterror}
\constfunc{wxStreamError}{LastError}{\void}
@@ -84,7 +94,7 @@ See \helpref{OnSysRead}{wxstreambaseonsysread}.
\constfunc{size\_t}{GetSize}{\void}
This function returns the size of the stream. For example, for a file it is the size of
the file).
the file.
\wxheading{Warning}

View File

@@ -0,0 +1,31 @@
\section{\class{wxWindowDisabler}}\label{wxwindowdisabler}
This class disables all windows of the application (may be with the exception
of one of them) in its constructor and enables them back in its destructor.
This comes in handy when you want to indicate to the user that the application
is currently busy and cannot respond to user input.
\wxheading{Derived from}
None
\wxheading{Include files}
<wx/utils.h>
\wxheading{See also}
\helpref{wxBusyCursor}{wxbusycursor}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxWindowDisabler::wxWindowDisabler}
\func{}{wxWindowDisabler}{\param{wxWindow *}{winToSkip = NULL}}
Disables all top level windows of the applications with the exception of
{\it winToSkip} if it is not {\tt NULL}.
\membersection{wxWindowDisabler::\destruct{wxWindowDisabler}}
Reenables back the windows disabled by the constructor.