From: Robert Roebling Date: Wed, 29 Dec 1999 09:48:10 +0000 (+0000) Subject: Small doc updates, mainly wxDropTarget, X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/f59d80ca00e0ef9963c771a26decd605a85d5596?ds=sidebyside Small doc updates, mainly wxDropTarget, 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 --- diff --git a/docs/latex/wx/app.tex b/docs/latex/wx/app.tex index cd5a9fd400..af67ba0e18 100644 --- a/docs/latex/wx/app.tex +++ b/docs/latex/wx/app.tex @@ -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}} diff --git a/docs/latex/wx/dataobj.tex b/docs/latex/wx/dataobj.tex index b8e1f8d742..55e03819b7 100644 --- a/docs/latex/wx/dataobj.tex +++ b/docs/latex/wx/dataobj.tex @@ -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 diff --git a/docs/latex/wx/dropsrc.tex b/docs/latex/wx/dropsrc.tex index f25dff1898..4f122c5c4b 100644 --- a/docs/latex/wx/dropsrc.tex +++ b/docs/latex/wx/dropsrc.tex @@ -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} diff --git a/docs/latex/wx/droptrgt.tex b/docs/latex/wx/droptrgt.tex index 30e206c4e7..db5b38d78a 100644 --- a/docs/latex/wx/droptrgt.tex +++ b/docs/latex/wx/droptrgt.tex @@ -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} +\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. diff --git a/docs/latex/wx/filedlg.tex b/docs/latex/wx/filedlg.tex index 63d4a9bd1a..0932cb3306 100644 --- a/docs/latex/wx/filedlg.tex +++ b/docs/latex/wx/filedlg.tex @@ -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 diff --git a/docs/latex/wx/function.tex b/docs/latex/wx/function.tex index 3a5343e446..f4196b4223 100644 --- a/docs/latex/wx/function.tex +++ b/docs/latex/wx/function.tex @@ -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 diff --git a/docs/latex/wx/strmzlib.tex b/docs/latex/wx/strmzlib.tex index de17f381ce..ff8c49b720 100644 --- a/docs/latex/wx/strmzlib.tex +++ b/docs/latex/wx/strmzlib.tex @@ -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} diff --git a/src/generic/filedlgg.cpp b/src/generic/filedlgg.cpp index 8b13841962..a39a066ea5 100644 --- a/src/generic/filedlgg.cpp +++ b/src/generic/filedlgg.cpp @@ -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) ); diff --git a/src/gtk/dialog.cpp b/src/gtk/dialog.cpp index 5411e1cb9d..1b68a287c7 100644 --- a/src/gtk/dialog.cpp +++ b/src/gtk/dialog.cpp @@ -339,7 +339,8 @@ wxDialog::~wxDialog() wxTheApp->SetTopWindow( (wxWindow*) NULL ); } - if (wxTopLevelWindows.Number() == 0) + if ((wxTopLevelWindows.Number() == 0) && + (wxTheApp->GetExitOnFrameDelete())) { wxTheApp->ExitMainLoop(); } diff --git a/src/gtk/frame.cpp b/src/gtk/frame.cpp index 564c0d8575..ecefa29954 100644 --- a/src/gtk/frame.cpp +++ b/src/gtk/frame.cpp @@ -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(); + } } // ---------------------------------------------------------------------------- diff --git a/src/gtk1/dialog.cpp b/src/gtk1/dialog.cpp index 5411e1cb9d..1b68a287c7 100644 --- a/src/gtk1/dialog.cpp +++ b/src/gtk1/dialog.cpp @@ -339,7 +339,8 @@ wxDialog::~wxDialog() wxTheApp->SetTopWindow( (wxWindow*) NULL ); } - if (wxTopLevelWindows.Number() == 0) + if ((wxTopLevelWindows.Number() == 0) && + (wxTheApp->GetExitOnFrameDelete())) { wxTheApp->ExitMainLoop(); } diff --git a/src/gtk1/frame.cpp b/src/gtk1/frame.cpp index 564c0d8575..ecefa29954 100644 --- a/src/gtk1/frame.cpp +++ b/src/gtk1/frame.cpp @@ -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(); + } } // ----------------------------------------------------------------------------