]> git.saurik.com Git - wxWidgets.git/commitdiff
Small doc updates, mainly wxDropTarget,
authorRobert Roebling <robert@roebling.de>
Wed, 29 Dec 1999 09:48:10 +0000 (09:48 +0000)
committerRobert Roebling <robert@roebling.de>
Wed, 29 Dec 1999 09:48:10 +0000 (09:48 +0000)
  wxFileDlg now interprets a default dir of "." as
    the current working dir,
  dialog and frame honour "wxApp::DeleteFrameOnExit".

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5134 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

12 files changed:
docs/latex/wx/app.tex
docs/latex/wx/dataobj.tex
docs/latex/wx/dropsrc.tex
docs/latex/wx/droptrgt.tex
docs/latex/wx/filedlg.tex
docs/latex/wx/function.tex
docs/latex/wx/strmzlib.tex
src/generic/filedlgg.cpp
src/gtk/dialog.cpp
src/gtk/frame.cpp
src/gtk1/dialog.cpp
src/gtk1/frame.cpp

index cd5a9fd40021712626c5a5d6f5aaf7ff20a3871d..af67ba0e185a8ecfb5f7871b6cd323a3b718dea8 100644 (file)
@@ -120,16 +120,16 @@ manner to refer to the application.
 
 \helpref{wxApp::SetClassName}{wxappsetclassname}
 
-\membersection{wxApp::GetExitOnDelete}\label{wxappgetexitondelete}
+\membersection{wxApp::GetExitOnFrameDelete}\label{wxappgetexitonframedelete}
 
-\constfunc{bool}{GetExitOnDelete}{\void}
+\constfunc{bool}{GetExitFrameOnDelete}{\void}
 
 Returns TRUE if the application will exit when the top-level window is deleted, FALSE
 otherwise.
 
 \wxheading{See also}
 
-\helpref{wxApp::SetExitOnDelete}{wxappsetexitondelete}
+\helpref{wxApp::SetExitOnFrameDelete}{wxappsetexitonframedelete}
 
 \membersection{wxApp::GetTopWindow}\label{wxappgettopwindow}
 
@@ -338,8 +338,7 @@ BOOL CTheApp::PreTranslateMessage(MSG *msg)
 
 \func{bool}{Pending}{\void}
 
-Returns TRUE if unprocessed events are in the window system event queue
-(MS Windows and Motif).
+Returns TRUE if unprocessed events are in the window system event queue.
 
 \wxheading{See also}
 
@@ -406,9 +405,9 @@ manner to refer to the application.
 
 \helpref{wxApp::GetClassName}{wxappgetclassname}
 
-\membersection{wxApp::SetExitOnDelete}\label{wxappsetexitondelete}
+\membersection{wxApp::SetExitOnFrameDelete}\label{wxappsetexitonframedelete}
 
-\func{void}{SetExitOnDelete}{\param{bool}{ flag}}
+\func{void}{SetExitOnFrameDelete}{\param{bool}{ flag}}
 
 Allows the programmer to specify whether the application will exit when the
 top-level frame is deleted.
@@ -418,10 +417,6 @@ top-level frame is deleted.
 \docparam{flag}{If TRUE (the default), the application will exit when the top-level frame is
 deleted. If FALSE, the application will continue to run.}
 
-\wxheading{Remarks}
-
-Currently, setting this to FALSE only has an effect under Windows.
-
 \membersection{wxApp::SetTopWindow}\label{wxappsettopwindow}
 
 \func{void}{SetTopWindow}{\param{wxWindow* }{window}}
index b8e1f8d742617f61290cccf46e94ba8e01dfad13..55e03819b710e298d75f2e6033735229d9b026fd 100644 (file)
@@ -72,14 +72,14 @@ implement.}
 Please note that the easiest way to use drag and drop and the clipboard with
 multiple formats is by using wxDataObjectComposite, but it is not the most
 efficient one as each wxDataObjectSimple would contain the whole data in its
-respective formars. Now imagine that you want to paste 200 pages of text in
+respective formats. Now imagine that you want to paste 200 pages of text in
 your proprietary format, as well as Word, RTF, HTML, Unicode and plain text to
 the clipboard and even today's computers are in trouble. For this case, you
 will have to derive from wxDataObject directly and make it enumerate its
 formats and provide the data in the requested format on demand.
 
 Note that neither the GTK data transfer mechanisms for the clipboard and
-drag and drop, neither does the OLE data transfer copy any data until another application
+drag and drop, nor the OLE data transfer copy any data until another application
 actually requests the data. This is in contrast to the 'feel' offered to the
 user of a program who would normally think that the data resides in the
 clipboard after having pressed 'Copy' - in reality it is only declared to be
index f25dff189895462fc47e71a076a68b55b270bdaf..4f122c5c4bda6f3d132d8af9f6b730b1b8eceb50 100644 (file)
@@ -6,7 +6,7 @@ This class represents a source for a drag and drop operation.
 
 \wxheading{Derived from}
 
-\helpref{wxObject}{wxobject}
+None
 
 \wxheading{Include files}
 
@@ -18,14 +18,14 @@ This class represents a source for a drag and drop operation.
 
 {\small\begin{verbatim}
 enum wxDragResult
-  {
+{
     wxDragError,    // error prevented the d&d operation from completing
     wxDragNone,     // drag target didn't accept the data
     wxDragCopy,     // the data was successfully copied
     wxDragMove,     // the data was successfully moved
     wxDragCancel    // the operation was cancelled by user (not an error)
-  };
-\end{verbatim}%
+};
+\end{verbatim}
 }
 
 \wxheading{See also}
@@ -40,9 +40,9 @@ enum wxDragResult
 \func{}{wxDropSource}{\param{wxWindow*}{ win = NULL}}
 
 Default/wxGTK-specific constructor. If you use the default constructor you must
-call \helpref{wxDropSource::SetData}{wxdropsourcesetdata} later.
+call \helpref{SetData}{wxdropsourcesetdata} later.
 
-{\it win} is required by wxGTK and therefore should always be set.
+Note that {\it win} is required by the GTK port and therefore should always be set.
 
 \membersection{wxDropSource::\destruct{wxDropSource}}\label{wxdropsourcedtor}
 
@@ -52,7 +52,8 @@ call \helpref{wxDropSource::SetData}{wxdropsourcesetdata} later.
 
 \func{void}{SetData}{\param{wxDataObject\&}{ data}}
 
-Sets the data \helpref{data object}{wxdataobject} associated with the drop source.
+Sets the data \helpref{wxDataObject}{wxdataobject} associated with the 
+drop source. This will not delete any previously associated data.
 
 \membersection{wxDropSource::DoDragDrop}\label{wxdropsourcedodragdrop}
 
index 30e206c4e7c92b54e954814e0989383da117fdcd..db5b38d78a45beb96f64b12d279c2b9bd6d297c3 100644 (file)
@@ -2,60 +2,81 @@
 
 \overview{Overview}{wxdndoverview}
 
-This class represents a target for a drag and drop operation.
+This class represents a target for a drag and drop operation. A \helpref{wxDataObject}{wxdataobject}
+can be associated with it and by default, this object will be filled with the data from the
+drag source, if the data formats supported by the data object match the drag source data 
+format.
+
+There are various virtual handler functions defined in this class which may be overridden
+to give visual feedback or react in a more fine-tuned way, e.g. by not accepting data on
+the whole window area, but only a small portion of it. The normal sequence of calls is
+\helpref{OnEnter}{wxdroptargetonenter}, possibly many times \helpref{OnDragOver}{wxdroptargetondragover},
+\helpref{OnDrop}{wxdroptargetondrop} and finally \helpref{OnData}{wxdroptargetondata}.
 
 \wxheading{Derived from}
 
-\helpref{wxObject}{wxobject}
+None
 
 \wxheading{Include files}
 
 <wx/dnd.h>
 
+\wxheading{Types}
+
+\index{wxDragResult}wxDragResult is defined as follows:
+
+{\small\begin{verbatim}
+enum wxDragResult
+{
+    wxDragError,    // error prevented the d&d operation from completing
+    wxDragNone,     // drag target didn't accept the data
+    wxDragCopy,     // the data was successfully copied
+    wxDragMove,     // the data was successfully moved
+    wxDragCancel    // the operation was cancelled by user (not an error)
+};
+\end{verbatim}
+}
+
 \wxheading{See also}
 
 \helpref{Drag and drop overview}{wxdndoverview}, \helpref{wxDropSource}{wxdropsource}, 
-\helpref{wxTextDropTarget}{wxtextdroptarget}, \helpref{wxFileDropTarget}{wxfiledroptarget}
+\helpref{wxTextDropTarget}{wxtextdroptarget}, \helpref{wxFileDropTarget}{wxfiledroptarget},
+\helpref{wxDataFormat}{wxdataformat}, \helpref{wxDataObject}{wxdataobject}
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 \membersection{wxDropTarget::wxDropTarget}\label{wxdroptargetwxdroptarget}
 
-\func{}{wxDropTarget}{\void}
+\func{}{wxDropTarget}{\param{wxDataObject*}{ data = NULL}}
 
-Constructor.
+Constructor. {\it data} is the data to be associated with the drop target.
 
 \membersection{wxDropTarget::\destruct{wxDropTarget}}\label{wxdroptargetdtor}
 
 \func{}{\destruct{wxDropTarget}}{\void}
 
-Destructor.
-
-\membersection{wxDropTarget::GetFormatCount}\label{wxdroptargetgetformatcount}
+Destructor. Deletes the associated data object, if any.
 
-\constfunc{virtual size\_t}{GetFormatCount}{\void}
+\membersection{wxDropTarget::GetData}\label{wxdroptargetgetdata}
 
-Override this to indicate how many formats you support.
+\func{virtual void}{GetData}{\void}
 
-\membersection{wxDropTarget::GetFormat}\label{wxdroptargetgetformat}
-
-\constfunc{virtual wxDataFormat}{GetFormat}{\param{size\_t }{n}}
-
-Override this to indicate what kind of data you support.
+This method may only be called from within \helpref{OnData}{wxdroptargetondata}.
+By default, this method copies the data from the drop source to the 
+\helpref{wxDataObject}{wxdataobject} associated with this drop target,
+calling its \helpref{wxDataObject::SetData}{wxdataobjectsetdata} method.
 
 \membersection{wxDropTarget::OnData}\label{wxdroptargetondata}
 
 \func{virtual wxDragResult}{OnData}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxDragResult}{ def}}
 
-Called after OnDrop() returns TRUE: you will usually just call
-GetData() from here and, probably, also refresh something to update the
-new data and, finally, return the code indicating how did the operation
-complete (returning default value in case of success and wxDragError on
-failure is usually ok).
+Called after \helpref{OnDrop}{wxdroptargetondrop} returns TRUE. By default this
+will usually \helpref{GetData}{wxdroptargetgetdata} and will return the suggested
+default value {\it def}.
 
 \membersection{wxDropTarget::OnDrop}\label{wxdroptargetondrop}
 
-\func{virtual bool}{OnDrop}{\param{long }{x}, \param{long }{y}, \param{const void* }{data}, \param{size\_t }{size}}
+\func{virtual bool}{OnDrop}{\param{wxCoord }{x}, \param{wxCoord }{y}}
 
 Called when the user drops a data object on the target. Return FALSE to veto the operation.
 
@@ -65,19 +86,48 @@ Called when the user drops a data object on the target. Return FALSE to veto the
 
 \docparam{y}{The y coordinate of the mouse.}
 
-\docparam{data}{The data being dropped.}
-
-\docparam{size}{The size of the data being dropped.}
-
 \wxheading{Return value}
 
 Return TRUE to accept the data, FALSE to veto the operation.
 
 \membersection{wxDropTarget::OnEnter}\label{wxdroptargetonenter}
 
-\func{virtual void}{OnEnter}{\void}
+\func{virtual wxDragResult}{OnEnter}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxDragResult}{ def}}
+
+Called when the mouse enters the drop target. By default, this calls \helpref{OnDragOver}{wxdroptargetondragover}.
+
+\wxheading{Parameters}
+
+\docparam{x}{The x coordinate of the mouse.}
+
+\docparam{y}{The y coordinate of the mouse.}
+
+\docparam{def}{Suggested default for return value. Determined by SHIFT or CONTROL key states.}
 
-Called when the mouse enters the drop target.
+\wxheading{Return value}
+
+Returns the desired operation or {\tt wxDragNone}. This is used for optical feedback
+from the side of the drop source, typically in form of changing the icon.
+
+\membersection{wxDropTarget::OnDragOver}\label{wxdroptargetondragover}
+
+\func{virtual wxDragResult}{OnDragOver}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxDragResult}{ def}}
+
+Called when the mouse is being dragged over the drop target. By default, 
+this calls functions return the suggested return value {\it def}.
+
+\wxheading{Parameters}
+
+\docparam{x}{The x coordinate of the mouse.}
+
+\docparam{y}{The y coordinate of the mouse.}
+
+\docparam{def}{Suggested value for return value. Determined by SHIFT or CONTROL key states.}
+
+\wxheading{Return value}
+
+Returns the desired operation or {\tt wxDragNone}. This is used for optical feedback
+from the side of the drop source, typically in form of changing the icon.
 
 \membersection{wxDropTarget::OnLeave}\label{wxdroptargetonleave}
 
@@ -85,3 +135,9 @@ Called when the mouse enters the drop target.
 
 Called when the mouse leaves the drop target.
 
+\membersection{wxDropTarget::SetDataObject}\label{wxdroptargetsetdataobject}
+
+\func{void}{SetDataObject}{\param{wxDataObject*}{ data}}
+
+Sets the data \helpref{wxDataObject}{wxdataobject} associated with the 
+drop target and deletes any previously associated data object.
index 63d4a9bd1a1acdd32dbf617cb0460a2b8ef93647..0932cb3306c72e0177c3d793db29796bf5b7cd0a 100644 (file)
@@ -26,7 +26,7 @@ If path is ``", the current directory will be used. If filename is ``",
 no default filename will be supplied. The wildcard determines what files
 are displayed in the file selector, and file extension supplies a type
 extension for the required filename. Flags may be a combination of wxOPEN,
-wxSAVE, wxOVERWRITE\_PROMPT, wxHIDE\_READONLY, wxMULTIPLE or 0.
+wxSAVE, wxOVERWRITE\_PROMPT, wxHIDE\_READONLY, wxFILE\_MUST\_EXIST, wxMULTIPLE or 0.
 
 Both the X and Windows versions implement a wildcard filter. Typing a
 filename containing wildcards (*, ?) in the filename text item, and
index 3a5343e446ad6501a1a3b029bb774633bd236b2a..f4196b42232a4863f6a7a299e627ce3427be253b 100644 (file)
@@ -478,13 +478,13 @@ is remembered between the 2 program runs.}
  \param{int}{ x = -1}, \param{int}{ y = -1}}
 
 Pops up a file selector box. In Windows, this is the common file selector
-dialog. In X, this is a file selector box with somewhat less functionality.
+dialog. In X, this is a file selector box with the same functionality.
 The path and filename are distinct elements of a full file pathname.
 If path is empty, the current directory will be used. If filename is empty,
 no default filename will be supplied. The wildcard determines what files
 are displayed in the file selector, and file extension supplies a type
 extension for the required filename. Flags may be a combination of wxOPEN,
-wxSAVE, wxOVERWRITE\_PROMPT, wxHIDE\_READONLY, wxMULTIPLE or 0.
+wxSAVE, wxOVERWRITE\_PROMPT, wxHIDE\_READONLY, wxFILE\_MUST\_EXIST, wxMULTIPLE or 0.
 
 Both the Unix and Windows versions implement a wildcard filter. Typing a
 filename containing wildcards (*, ?) in the filename text item, and
index de17f381ce5e160ace30e9059c467808c5374e0c..ff8c49b7207f62ab652614d21a5221c911018a16 100644 (file)
@@ -16,7 +16,7 @@ stream to get new compressed data.
 
 \wxheading{See also}
 
-\helpref{wxStreamBuffer}{wxstreamBuffer}, \helpref{wxInputStream}{wxinputstream}
+\helpref{wxInputStream}{wxinputstream}
 
 % -----------------------------------------------------------------------------
 % wxZlibOutputStream
@@ -36,5 +36,5 @@ to the "filtered" stream.
 
 \wxheading{See also}
 
-\helpref{wxStreamBuffer}{wxstreamBuffer}, \helpref{wxOutputStream}{wxoutputstream}
+\helpref{wxOutputStream}{wxoutputstream}
 
index 8b1384196219f030cea48f8a8921f79346e93e35..a39a066ea5fae51d0d7a19b6382d4d1580fe7e35 100644 (file)
@@ -579,7 +579,7 @@ wxFileDialog::wxFileDialog(wxWindow *parent,
         m_dialogStyle |= wxOPEN;
     
     m_dir = defaultDir;
-    if (m_dir.IsEmpty())
+    if ((m_dir.IsEmpty()) || (m_dir == wxT(".")))
     {
         char buf[200];
         m_dir = getcwd( buf, sizeof(buf) );
index 5411e1cb9d4fb67366d2c87a8afe509099856efa..1b68a287c7f4da9f07bbc917fc3bff8cc85541c2 100644 (file)
@@ -339,7 +339,8 @@ wxDialog::~wxDialog()
         wxTheApp->SetTopWindow( (wxWindow*) NULL );
     }
 
-    if (wxTopLevelWindows.Number() == 0)
+    if ((wxTopLevelWindows.Number() == 0) &&
+        (wxTheApp->GetExitOnFrameDelete()))
     {
         wxTheApp->ExitMainLoop();
     }
index 564c0d857518f21bace5d85b6b0e32a0601bd590..ecefa29954cc4aa963f165240532016d6c9942c4 100644 (file)
@@ -504,8 +504,11 @@ wxFrame::~wxFrame()
     if (wxTheApp->GetTopWindow() == this)
         wxTheApp->SetTopWindow( (wxWindow*) NULL );
 
-    if (wxTopLevelWindows.Number() == 0)
+    if ((wxTopLevelWindows.Number() == 0) &&
+        (wxTheApp->GetExitOnFrameDelete()))
+    {
         wxTheApp->ExitMainLoop();
+    }
 }
 
 // ----------------------------------------------------------------------------
index 5411e1cb9d4fb67366d2c87a8afe509099856efa..1b68a287c7f4da9f07bbc917fc3bff8cc85541c2 100644 (file)
@@ -339,7 +339,8 @@ wxDialog::~wxDialog()
         wxTheApp->SetTopWindow( (wxWindow*) NULL );
     }
 
-    if (wxTopLevelWindows.Number() == 0)
+    if ((wxTopLevelWindows.Number() == 0) &&
+        (wxTheApp->GetExitOnFrameDelete()))
     {
         wxTheApp->ExitMainLoop();
     }
index 564c0d857518f21bace5d85b6b0e32a0601bd590..ecefa29954cc4aa963f165240532016d6c9942c4 100644 (file)
@@ -504,8 +504,11 @@ wxFrame::~wxFrame()
     if (wxTheApp->GetTopWindow() == this)
         wxTheApp->SetTopWindow( (wxWindow*) NULL );
 
-    if (wxTopLevelWindows.Number() == 0)
+    if ((wxTopLevelWindows.Number() == 0) &&
+        (wxTheApp->GetExitOnFrameDelete()))
+    {
         wxTheApp->ExitMainLoop();
+    }
 }
 
 // ----------------------------------------------------------------------------