]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/snglinst.tex
Shaped window support for wxMac, plus a wxSTAY_ON_TOP fix from Egon
[wxWidgets.git] / docs / latex / wx / snglinst.tex
index 4e4f3cce62f1927c7dc9c43680866d8fa6474752..b655dd94b116f28e453dbd69dc2533a7d1c9dc6a 100644 (file)
@@ -15,7 +15,7 @@ wxSingleInstanceChecker class allows to check that only a single instance of a
 program is running. To do it, you should create an object of this class. As
 long as this object is alive, calls to 
 \helpref{IsAnotherRunning()}{wxsingleinstancecheckerisanotherrunning} from
 program is running. To do it, you should create an object of this class. As
 long as this object is alive, calls to 
 \helpref{IsAnotherRunning()}{wxsingleinstancecheckerisanotherrunning} from
-other processes will return {\tt TRUE}.
+other processes will return {\tt true}.
 
 As the object should have the life span as big as possible, it makes sense to
 create it either as a global or in \helpref{wxApp::OnInit}{wxapponinit}. For
 
 As the object should have the life span as big as possible, it makes sense to
 create it either as a global or in \helpref{wxApp::OnInit}{wxapponinit}. For
@@ -24,17 +24,18 @@ example:
 \begin{verbatim}
 bool MyApp::OnInit()
 {
 \begin{verbatim}
 bool MyApp::OnInit()
 {
-    m_checker = new wxSingleInstanceChecker(GetAppName());
+    const wxString name = wxString::Format("MyApp-%s", wxGetUserId().c_str());
+    m_checker = new wxSingleInstanceChecker(name);
     if ( m_checker->IsAnotherRunning() )
     {
         wxLogError(_("Another program instance is already running, aborting."));
 
     if ( m_checker->IsAnotherRunning() )
     {
         wxLogError(_("Another program instance is already running, aborting."));
 
-        return FALSE;
+        return false;
     }
 
     ... more initializations ...
 
     }
 
     ... more initializations ...
 
-    return TRUE;
+    return true;
 }
 
 int MyApp::OnExit()
 }
 
 int MyApp::OnExit()
@@ -45,14 +46,21 @@ int MyApp::OnExit()
 }
 \end{verbatim}
 
 }
 \end{verbatim}
 
-This class is implemented for Win32 and Unix platforms supporting {\tt fcntl()}
-system call only.
+Note using \helpref{wxGetUserId()}{wxgetuserid} to construct the name: this
+allows different user to run the application concurrently which is usually the
+intended goal. If you don't use the user name in the wxSingleInstanceChecker
+name, only one user would be able to run the application at a time.
+
+This class is implemented for Win32 and Unix platforms (supporting {\tt fcntl()}
+system call, but almost all of modern Unix systems do) only.
 
 \wxheading{Derived from}
 
 No base class
 
 
 \wxheading{Derived from}
 
 No base class
 
-\wxheading{Data structures}
+\wxheading{Include files}
+
+<wx/snglinst.h>
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
@@ -80,9 +88,10 @@ had been used is an error.
 
 \wxheading{Parameters}
 
 
 \wxheading{Parameters}
 
-\docparam{name}{must be given and be as unique as possible, it is used as the
+\docparam{name}{must be given and be as unique as possible. It is used as the
 mutex name under Win32 and the lock file name under Unix. 
 mutex name under Win32 and the lock file name under Unix. 
-\helpref{GetAppName()}{wxappgetappname} may be a good value for this parameter}
+\helpref{GetAppName()}{wxappgetappname} and \helpref{wxGetUserId()}{wxgetuserid} 
+are commonly used to construct this parameter.}
 
 \docparam{path}{is optional and is ignored under Win32 and used as the directory to
 create the lock file in under Unix (default is 
 
 \docparam{path}{is optional and is ignored under Win32 and used as the directory to
 create the lock file in under Unix (default is 
@@ -90,7 +99,7 @@ create the lock file in under Unix (default is
 
 \wxheading{Return value}
 
 
 \wxheading{Return value}
 
-Returns {\tt FALSE} if initialization failed, it doesn't mean that another
+Returns {\tt false} if initialization failed, it doesn't mean that another
 instance is running - use 
 \helpref{IsAnotherRunning()}{wxsingleinstancecheckerisanotherrunning} to check
 for it.
 instance is running - use 
 \helpref{IsAnotherRunning()}{wxsingleinstancecheckerisanotherrunning} to check
 for it.
@@ -99,8 +108,8 @@ for it.
 
 \constfunc{bool}{IsAnotherRunning}{\void}
 
 
 \constfunc{bool}{IsAnotherRunning}{\void}
 
-Returns {\tt TRUE} if another copy of this program is already running, {\tt
-FALSE} otherwise.
+Returns {\tt true} if another copy of this program is already running, {\tt
+false} otherwise.
 
 \membersection{wxSingleInstanceChecker::\destruct{wxSingleInstanceChecker}}\label{wxsingleinstancecheckerdtor}
 
 
 \membersection{wxSingleInstanceChecker::\destruct{wxSingleInstanceChecker}}\label{wxsingleinstancecheckerdtor}