diff --git a/docs/latex/wx/bmpdatob.tex b/docs/latex/wx/bmpdatob.tex new file mode 100644 index 0000000000..8519138f17 --- /dev/null +++ b/docs/latex/wx/bmpdatob.tex @@ -0,0 +1,38 @@ +\section{\class{wxBitmapDataObject}}\label{wxbitmapdataobject} + + wxBitmapDataObject is a specialization of wxDataObject for bitmaps. + +\wxheading{Derived from} + +\helpref{wxDataObject}{wxdataobject} + +\wxheading{See also} + +\helpref{wxDataObject}{wxdataobject}, \helpref{wxBitmap}{wxbitmap} + +\latexignore{\rtfignore{\wxheading{Members}}} + +\membersection{wxBitmapDataObject::wxBitmapDataObject}\label{wxbitmapdataobjectwxbitmapdataobject} + +\func{}{wxBitmapDataObject}{\void} + +Constructor. TODO: shouldn't there be a constructor taking a wxBitmap? + +\membersection{wxBitmapDataObject::GetFormat}\label{wxbitmapdataobjectgetformat} + +\func{virtual wxDataFormat}{GetFormat}{\void} + +Returns wxDF\_BITMAP. + +\membersection{wxBitmapDataObject::SetBitmap}\label{wxbitmapdataobjectsetbitmap} + +\func{virtual void}{SetBitmap}{\param{const wxBitmap\& }{bitmap}} + +Sets the bitmap for the data object. + +\membersection{wxBitmapDataObject::GetBitmap}\label{wxbitmapdataobjectgetbitmap} + +\constfunc{virtual wxBitmap}{GetBitmap}{\void} + +Returns the bitmap associated with the data object. + diff --git a/docs/latex/wx/category.tex b/docs/latex/wx/category.tex index c67d98c573..121f49b93a 100644 --- a/docs/latex/wx/category.tex +++ b/docs/latex/wx/category.tex @@ -316,8 +316,9 @@ facilities. \overview{Database classes overview}{odbcoverview} -wxWindows provides a set of classes for accessing Microsoft's ODBC (Open Database Connectivity) -product. +wxWindows provides two alternative sets of classes for accessing Microsoft's ODBC (Open Database Connectivity) +product. The new version by Remstar is documented in a separate manual. +The older classes are as follows: \begin{twocollist}\itemsep=0pt \twocolitem{\helpref{wxDatabase}{wxdatabase}}{Database class} @@ -326,6 +327,22 @@ product. \twocolitem{\helpref{wxRecordSet}{wxrecordset}}{Class representing one or more record} \end{twocollist} +{\large {\bf Drag and drop and clipboard classes}} + +\overview{Drag and drop and clipboard overview}{wxdndoverview} + +\begin{twocollist}\itemsep=0pt +\twocolitem{\helpref{wxDropTarget}{wxdroptarget}}{Drop target class} +\twocolitem{\helpref{wxFileDropTarget}{wxfiledroptarget}}{File drop target class} +\twocolitem{\helpref{wxTextDropTarget}{wxtextdroptarget}}{Text drop target class} +\twocolitem{\helpref{wxDropSource}{wxdropsource}}{Drop source class} +\twocolitem{\helpref{wxDataObject}{wxdataobject}}{Data object class} +\twocolitem{\helpref{wxTextDataObject}{wxtextdataobject}}{Text data object class} +\twocolitem{\helpref{wxFileDataObject}{wxtextdataobject}}{File data object class} +\twocolitem{\helpref{wxBitmapDataObject}{wxbitmapdataobject}}{Bitmap data object class} +\twocolitem{\helpref{wxClipboard}{wxclipboard}}{Clipboard class} +\end{twocollist} + {\large {\bf File related classes}} wxWindows has several small classes to work with disk files, see \helpref{file classes @@ -350,3 +367,4 @@ overview}{wxfileoverview} for more details. \twocolitem{\helpref{wxTimer}{wxtimer}}{Timer class} \twocolitem{\helpref{wxSystemSettings}{wxsystemsettings}}{System settings class} \end{twocollist} + diff --git a/docs/latex/wx/classes.tex b/docs/latex/wx/classes.tex index 80f702b95e..d4cb013586 100644 --- a/docs/latex/wx/classes.tex +++ b/docs/latex/wx/classes.tex @@ -35,6 +35,7 @@ $$\image{14cm;0cm}{wxclass.ps}$$ \input button.tex \input bitmap.tex \input bbutton.tex +\input bmpdatob.tex \input brush.tex \input calclevt.tex \input checkbox.tex @@ -57,6 +58,7 @@ $$\image{14cm;0cm}{wxclass.ps}$$ \input crtslock.tex \input cursor.tex \input database.tex +\input dataobj.tex \input date.tex \input datstrm.tex \input dc.tex @@ -74,12 +76,16 @@ $$\image{14cm;0cm}{wxclass.ps}$$ \input docprfrm.tex \input doctempl.tex \input dropevt.tex +\input dropsrc.tex +\input droptrgt.tex \input eraseevt.tex \input event.tex \input evthand.tex \input expr.tex \input file.tex +\input fildatob.tex \input filedlg.tex +\input fildrptg.tex \input filehist.tex \input filetype.tex \input focusevt.tex @@ -181,9 +187,11 @@ $$\image{14cm;0cm}{wxclass.ps}$$ \input taskbar.tex \input text.tex \input textdlg.tex +\input txtdrptg.tex \input valtext.tex -% \input tempfile.tex -% \input textfile.tex +\input tempfile.tex +\input txtdatob.tex +\input textfile.tex \input thread.tex \input time.tex \input timer.tex diff --git a/docs/latex/wx/clipbrd.tex b/docs/latex/wx/clipbrd.tex index a12f8b1f05..c8cefc54b9 100644 --- a/docs/latex/wx/clipbrd.tex +++ b/docs/latex/wx/clipbrd.tex @@ -1,13 +1,38 @@ \section{\class{wxClipboard}}\label{wxclipboard} -There is one wxClipboard object referenced by the pointer -wxTheClipboard, initialized by calling \helpref{wxInitClipboard}{wxinitclipboard}. -Under X, clipboard manipulation must be done by using this class, and -such code will work under MS Windows also. Under MS Windows, you have the -alternative of using the normal clipboard functions. +A class for manipulating the clipboard. Note that this is not compatible with the +clipboard class from wxWindows 1.xx, which has the same name but a different implementation. -The documentation for this class will be expanded in due course. At present, -wxClipboard is only used in the wxMediaWindow add-on library. +To use the clipboard, construct a wxClipboard object on the stack and +call \helpref{wxClipboard::Open}{wxclipboardopen}. If this operation returns TRUE, you +now own the clipboard. Call \helpref{wxClipboard::SetData}{wxclipboardsetdata} to put data +on the clipboard (one or more times), or \helpref{wxClipboard::GetData}{wxclipboardgetdata} to +retrieve data from the clipboard. Call \helpref{wxClipboard::Close}{wxclipboardclose} to close +the clipboard and relinquish ownership. You should keep the clipboard open only momentarily. + +For example: + +\begin{verbatim} + wxClipboard clipboard; + + // Write some text to the clipboard + if (clipboard.Open()) + { + wxTextDataObject object("Some text"); + clipboard.SetData(& object); + clipboard.Close(); + } + + // Read some text + if (clipboard.Open() && clipboard.IsSupportedFormat(wxDF_TEXT)) + { + wxTextDataObject object; + clipboard.GetData(& object); + clipboard.Close(); + + wxMessageBox(object.GetText()); + } +\end{verbatim} \wxheading{Derived from} @@ -15,89 +40,67 @@ wxClipboard is only used in the wxMediaWindow add-on library. \wxheading{See also} -\helpref{wxClipboardClient}{wxclipboardclient}, \helpref{wxInitClipboard}{wxinitclipboard}. +\helpref{Drag and drop overview}{wxdndoverview}, \helpref{wxDataObject}{wxdataobject} \latexignore{\rtfignore{\wxheading{Members}}} -\membersection{wxClipboard::GetClipboardClient} +\membersection{wxClipboard::wxClipboard} -\func{wxClipboardClient *}{GetClipboardClient}{\void} +\func{}{wxClipboard}{\void} -Get the clipboard client directly. Will be NULL if clipboard data -is a string, or if some other application owns the clipboard. -This can be useful for shortcutting data translation, if the -clipboard user can check for a specific client. +Constructor. -\membersection{wxClipboard::GetClipboardData} +\membersection{wxClipboard::\destruct{wxClipboard}} -\func{char*}{GetClipboardData}{\param{const wxString\& }{format}, \param{long *}{length}, \param{long}{ time}} +\func{}{\destruct{wxClipboard}}{\void} -Get data from the clipboard. +Destructor. -\membersection{wxClipboard::GetClipboardString} +\membersection{wxClipboard::Clear}\label{wxclipboardclear} -\func{wxString}{GetClipboardString}{\param{long}{ time}} +\func{void}{Clear}{\void} -Get the data from the clipboard in the format ``TEXT". +Clears the global clipboard object and the system's clipboard if possible. -\membersection{wxClipboard::SetClipboardClient} +\membersection{wxClipboard::Close}\label{wxclipboardclose} -\func{void}{SetClipboardClient}{\param{wxClipboardClient *}{client}, \param{long}{ time}} +\func{bool}{Close}{\void} -Set the clipboard data owner. +Call this function to close the clipboard, having opened it with \helpref{wxClipboard::Close}{wxclipboardclose}. -\membersection{wxClipboard::SetClipboardString} +\membersection{wxClipboard::GetData}\label{wxclipboardgetdata} -\func{void}{SetClipboardString}{\param{const wxString\& }{data}, \param{long}{ time}} +\func{bool}{GetData}{\param{wxDataObject*}{ data}} -Set the clipboard string; does not require a client. +Call this function to fill {\it data} with data on the clipboard, if available in the required +format. -\section{\class{wxClipboardClient}}\label{wxclipboardclient} +\membersection{wxClipboard::IsSupportedFormat}\label{wxclipboardissupportedformat} -Implemented under X and MS Windows, a clipboard client holds data -belonging to the clipboard. For plain text, a client is not necessary. +\func{bool}{IsSupportedFormat}{\param{wxDataFormat}{ format}, \param{const wxString\&}{ id = ""}} -wxClipboardClient is an abstract class for which the virtual functions -BeingReplaced and GetData must be overridden. +Returns TRUE if the given format is available on the clipboard. -\wxheading{Derived from} +\wxheading{Parameters} -\helpref{wxObject}{wxobject} +\docparam{format}{The format. See \helpref{wxDataObject}{wxdataobject} for a list of formats.} -\wxheading{See also} +\docparam{id}{ If {\it format} is wxDF\_PRIVATE, {\it id} is the identifier of the private data format.} -\helpref{wxClipboard}{wxclipboard}, \helpref{wxInitClipboard}{wxinitclipboard}. +\membersection{wxClipboard::Open}\label{wxclipboardopen} -\latexignore{\rtfignore{\wxheading{Members}}} +\func{bool}{Open}{\void} -\membersection{wxClipboardClient::formats} +Call this function to open the clipboard before calling \helpref{wxClipboard::SetData}{wxclipboardsetdata} +and \helpref{wxClipboard::GetData}{wxclipboardgetdata}. -\member{wxStringList}{formats} +Call \helpref{wxClipboard::Close}{wxclipboardclose} when you have finished with the clipboard. You +should keep the clipboard open for only a very short time. -This list should be filled in with strings indicating the formats -this client can provide. Almost all clients will provide``TEXT". -Format names should be 4 characters long, so things will work -out on the Macintosh. +\membersection{wxClipboard::SetData}\label{wxclipboardsetdata} -\membersection{wxClipboardClient::BeingReplaced} - -\func{void}{BeingReplaced}{\void} - -This method is called when the client is losing the selection. - -\membersection{wxClipboardClient::GetData} - -\func{char*}{GetData}{\param{const wxString\& }{format}, \param{long *}{size}} - -This method is called when someone wants the data this client is -supplying to the clipboard. - -{\it format} is a string indicating the -format of the data - one of the strings from the ``formats" -list. - -{\it size} should be filled with the size of the resulting -data. In the case of text, {\it size} does not count the -NULL terminator. +\func{bool}{SetData}{\param{wxDataObject*}{ data}} +Call this function to set a data object to the clipboard. This function can be called several times +to put different formats on the clipboard. diff --git a/docs/latex/wx/dataobj.tex b/docs/latex/wx/dataobj.tex new file mode 100644 index 0000000000..4efc76278e --- /dev/null +++ b/docs/latex/wx/dataobj.tex @@ -0,0 +1,63 @@ +\section{\class{wxDataObject}}\label{wxdataobject} + +A wxDataObject represents data that can be copied to or from the clipboard, or +dragged and dropped. + +There are several predefined data object classes, such as \helpref{wxFileDataObject}{wxfiledataobject}, +\helpref{wxTextDataObject}{wxtextdataobject}, and \helpref{wxBitmapDataObject}{wxbitmapdataobject}. + +You may also derive your own data object classes for user-defined types. + +TODO: how do user-defined types work? + +\wxheading{Derived from} + +\helpref{wxObject}{wxobject} + +\wxheading{Types} + +\index{wxDataFormat}The following symbols are interchangable with the +Windows equivalents. + +\begin{verbatim} +enum wxDataFormat +{ + wxDF_TEXT = 1, /* CF_TEXT */ + wxDF_BITMAP = 2, /* CF_BITMAP */ + wxDF_METAFILE = 3, /* CF_METAFILEPICT */ + wxDF_DIB = 8, /* CF_DIB */ + wxDF_OEMTEXT = 7, /* CF_OEMTEXT */ + wxDF_FILENAME = 15, /* CF_HDROP */ + wxDF_PRIVATE = 20 +}; +\end{verbatim} + +\wxheading{See also} + +\helpref{wxFileDataObject}{wxfiledataobject}, +\helpref{wxTextDataObject}{wxtextdataobject}, +\helpref{wxBitmapDataObject}{wxbitmapdataobject}, +\helpref{Drag and drop overview}{wxdndoverview}, \helpref{wxDropTarget}{wxdroptarget}, +\helpref{wxDropSource}{wxdropsource}, +\helpref{wxTextDropTarget}{wxtextdroptarget}, \helpref{wxFileDropTarget}{wxfiledroptarget} + +\latexignore{\rtfignore{\wxheading{Members}}} + +\membersection{wxDataObject::wxDataObject}\label{wxdataobjectwxdataobject} + +\func{}{wxDataObject}{\void} + +Constructor. + +\membersection{wxDataObject::\destruct{wxDataObject}}\label{wxdataobjectdtor} + +\func{}{\destruct{wxDataObject}}{\void} + +Destructor. + +\membersection{wxDataObject::GetFormat}\label{wxdataobjectgetformat} + +\constfunc{virtual wxDataFormat}{GetFormat}{\void} + +Returns the format of the object. See \helpref{Types}{wxdataobject}. + diff --git a/docs/latex/wx/dropevt.tex b/docs/latex/wx/dropevt.tex index ff3e020e98..fc77fac91a 100644 --- a/docs/latex/wx/dropevt.tex +++ b/docs/latex/wx/dropevt.tex @@ -3,6 +3,10 @@ This class is used for drop files events, that is, when files have been dropped onto the window. This functionality is currently only available under Windows. +Important note: this is a separate implementation to the more general +drag and drop implementation documented \helpref{here}{wxdndoverview}. It uses the +older, Windows message-based approach of dropping files. + \wxheading{Derived from} \helpref{wxEvent}{wxevent}\\ diff --git a/docs/latex/wx/dropsrc.tex b/docs/latex/wx/dropsrc.tex new file mode 100644 index 0000000000..077ad1c69f --- /dev/null +++ b/docs/latex/wx/dropsrc.tex @@ -0,0 +1,87 @@ +\section{\class{wxDropSource}}\label{wxdropsource} + +\overview{Overview}{wxdndoverview} + +This class represents a source for a drag and drop operation. + +\wxheading{Derived from} + +\helpref{wxObject}{wxobject} + +\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{wxDropTarget}{wxdroptarget}, +\helpref{wxTextDropTarget}{wxtextdroptarget}, \helpref{wxFileDropTarget}{wxfiledroptarget} + +\latexignore{\rtfignore{\wxheading{Members}}} + +\membersection{wxDropSource::wxDropSource}\label{wxdropsourcewxdropsource} + +\func{}{wxDropSource}{\param{wxWindow }{*win = NULL}} + +Default/wxGTK-specific constructor. If you use the default constructor you must +call \helpref{wxDropSource::SetData}{wxdropsourcesetdata} later. + +{\it win} is only used by wxGTK. TODO: in what circumstances? + +\func{}{wxDropSource}{\param{wxDataObject }{\&data}, \param{wxWindow }{*win = NULL}} + +\wxheading{Parameters} + +\docparam{data}{A reference to the \helpref{data object}{wxdataobject} associated with the drop source.} + +\docparam{win}{Only used by wxGTK. TODO} + +\membersection{wxDropSource::\destruct{wxDropSource}}\label{wxdropsourcedtor} + +\func{virtual }{\destruct{wxDropSource}}{\void} + +\membersection{wxDropSource::SetData}\label{wxdropsourcesetdata} + +\func{void}{SetData}{\param{wxDataObject }{\&data}} + +Sets the data \helpref{data object}{wxdataobject} associated with the drop source. + +\membersection{wxDropSource::DoDragDrop}\label{wxdropsourcedodragdrop} + +\func{virtual wxDragResult}{DoDragDrop}{\param{bool }{bAllowMove = FALSE}} + +Do it (call this in response to a mouse button press, for example). + +If {\bf bAllowMove} is FALSE, data can only be copied. + +\membersection{wxDropSource::GiveFeedback}\label{wxdropsourcegivefeedback} + +\func{virtual bool}{GiveFeedback}{\param{wxDragResult }{effect}, \param{bool }{bScrolling}} + +Overridable: you may give some custom UI feedback during the drag and drop operation +in this function. It is called on each mouse move, so your implementation must not be too +slow. + +\wxheading{Parameters} + +\docparam{effect}{The effect to implement. One of wxDragCopy, wxDragMove.} + +\docparam{bScrolling}{TRUE if the window is scrolling.} + +\wxheading{Return value} + +Return FALSE if you want default feedback, or TRUE if you implement your own +feedback. + diff --git a/docs/latex/wx/droptrgt.tex b/docs/latex/wx/droptrgt.tex new file mode 100644 index 0000000000..0198dda34e --- /dev/null +++ b/docs/latex/wx/droptrgt.tex @@ -0,0 +1,72 @@ +\section{\class{wxDropTarget}}\label{wxdroptarget} + +\overview{Overview}{wxdndoverview} + +This class represents a target for a drag and drop operation. + +\wxheading{Derived from} + +\helpref{wxObject}{wxobject} + +\wxheading{See also} + +\helpref{Drag and drop overview}{wxdndoverview}, \helpref{wxDropSource}{wxdropsource}, +\helpref{wxTextDropTarget}{wxtextdroptarget}, \helpref{wxFileDropTarget}{wxfiledroptarget} + +\latexignore{\rtfignore{\wxheading{Members}}} + +\membersection{wxDropTarget::wxDropTarget}\label{wxdroptargetwxdroptarget} + +\func{}{wxDropTarget}{\void} + +Constructor. + +\membersection{wxDropTarget::\destruct{wxDropTarget}}\label{wxdroptargetdtor} + +\func{}{\destruct{wxDropTarget}}{\void} + +Destructor. + +\membersection{wxDropTarget::GetFormatCount}\label{wxdroptargetgetformatcount} + +\constfunc{virtual size\_t}{GetFormatCount}{\void} + +Override this to indicate how many formats you support. + +\membersection{wxDropTarget::GetFormat}\label{wxdroptargetgetformat} + +\constfunc{virtual wxDataFormat}{GetFormat}{\param{size\_t }{n}} + +Override this to indicate what kind of data you support. + +\membersection{wxDropTarget::OnEnter}\label{wxdroptargetonenter} + +\func{virtual void}{OnEnter}{\void} + +Called when the mouse enters the drop target. + +\membersection{wxDropTarget::OnDrop}\label{wxdroptargetondrop} + +\func{virtual bool}{OnDrop}{\param{long }{x}, \param{long }{y}, \param{const void* }{data}, \param{size\_t }{size}} + +Called when the user drops a data object on the target. Return FALSE to veto the operation. + +\wxheading{Parameters} + +\docparam{x}{The x coordinate of the mouse.} + +\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::OnLeave}\label{wxdroptargetonleave} + +\func{virtual void}{OnLeave}{\void} + +Called when the mouse leaves the drop target. diff --git a/docs/latex/wx/fildatob.tex b/docs/latex/wx/fildatob.tex new file mode 100644 index 0000000000..a5e13667d7 --- /dev/null +++ b/docs/latex/wx/fildatob.tex @@ -0,0 +1,38 @@ +\section{\class{wxFileDataObject}}\label{wxfiledataobject} + +wxFileDataObject is a specialization of wxDataObject for file names. + +\wxheading{Derived from} + +\helpref{wxDataObject}{wxdataobject} + +\wxheading{See also} + +\helpref{wxDataObject}{wxdataobject} + +\latexignore{\rtfignore{\wxheading{Members}}} + +\membersection{wxFileDataObject::wxFileDataObject}\label{wxfiledataobjectwxfiledataobject} + +\func{}{wxFileDataObject}{\void} + +Constructor. + +\membersection{wxFileDataObject::GetFormat}\label{wxfiledataobjectgetformat} + +\constfunc{virtual wxDataFormat}{GetFormat}{\void} + +Returns wxDF\_FILENAME. + +\membersection{wxFileDataObject::AddFile}\label{wxfiledataobjectaddfile} + +\func{virtual void}{AddFile}{\param{const wxString\& }{file}} + +Adds a filename to the data object. + +\membersection{wxFileDataObject::GetFiles}\label{wxfiledataobjectgetfiles} + +\constfunc{virtual wxString}{GetFiles}{\void} + +Returns files as a zero-separated list. + diff --git a/docs/latex/wx/fildrptg.tex b/docs/latex/wx/fildrptg.tex new file mode 100644 index 0000000000..5e413f4f94 --- /dev/null +++ b/docs/latex/wx/fildrptg.tex @@ -0,0 +1,62 @@ +\section{\class{wxFileDropTarget}}\label{wxfiledroptarget} + + A drop target which accepts files (dragged from File Manager or Explorer). + +\wxheading{Derived from} + +\helpref{wxDropTarget}{wxdroptarget} + +\wxheading{See also} + +\helpref{Drag and drop overview}{wxdndoverview}, \helpref{wxDropSource}{wxdropsource}, +\helpref{wxDropTarget}{wxdroptarget}, \helpref{wxTextDropTarget}{wxtextdroptarget} + +\latexignore{\rtfignore{\wxheading{Members}}} + +\membersection{wxFileDropTarget::wxFileDropTarget}\label{wxfiledroptargetwxfiledroptarget} + +\func{}{wxFileDropTarget}{\void} + +Constructor. + +\membersection{wxFileDropTarget::GetFormatCount}\label{wxfiledroptargetgetformatcount} + +\func{virtual size\_t}{GetFormatCount}{\void} + +See \helpref{wxDropTarget::GetFormatCount}{wxdroptargetgetformatcount}. This function is implemented +appropriately for files. + +\membersection{wxFileDropTarget::GetFormat}\label{wxfiledroptargetgetformat} + +\constfunc{virtual wxDataFormat}{GetFormat}{\param{size\_t }{n}} + +See \helpref{wxDropTarget::GetFormat}{wxdroptargetgetformat}. This function is implemented +appropriately for files. + +\membersection{wxFileDropTarget::OnDrop}\label{wxfiledroptargetondrop} + +\func{virtual bool}{OnDrop}{\param{long }{x}, \param{long }{y}, \param{const void }{*data}, \param{size\_t }{size}} + +See \helpref{wxDropTarget::OnDrop}{wxdroptargetondrop}. This function is implemented +appropriately for files, and calls \helpref{wxFileDropTarget::OnDropFiles}{wxfiledroptargetondropfiles}. + +\membersection{wxFileDropTarget::OnDropFiles}\label{wxfiledroptargetondropfiles} + +\func{virtual bool}{OnDropFiles}{\param{long }{x}, \param{long }{y}, \param{size\_t }{nFiles}, \param{const char * const}{files[]}} + +Override this function to receive dropped files. + +\wxheading{Parameters} + +\docparam{x}{The x coordinate of the mouse.} + +\docparam{y}{The y coordinate of the mouse.} + +\docparam{nFiles}{The number of files being dropped.} + +\docparam{files}{An array of filenames.} + +\wxheading{Return value} + +Return TRUE to accept the data, FALSE to veto the operation. + diff --git a/docs/latex/wx/prvdatob.tex b/docs/latex/wx/prvdatob.tex new file mode 100644 index 0000000000..43892a08f0 --- /dev/null +++ b/docs/latex/wx/prvdatob.tex @@ -0,0 +1,54 @@ +automatically generated by HelpGen from privatedataobject.tex at 13/Jan/99 12:50:12 +\section{\class{wxPrivateDataObject}}\label{wxprivatedataobject} + + + ---------------------------------------------------------------------------- + wxPrivateDataObject is a specialization of wxDataObject for app specific data + ---------------------------------------------------------------------------- + +\wxheading{Derived from} + +\helpref{wxDataObject}{wxdataobject} + +\wxheading{Data structures} + +\latexignore{\rtfignore{\wxheading{Members}}} + +\membersection{wxPrivateDataObject::wxPrivateDataObject}\label{wxprivatedataobjectwxprivatedataobject} + +\constfunc{virtual }{wxPrivateDataObject}{\void} + +\membersection{wxPrivateDataObject::\destruct{wxPrivateDataObject}}\label{wxprivatedataobjectdtor} + +\constfunc{virtual }{\destruct{wxPrivateDataObject}}{\void} + +\membersection{wxPrivateDataObject::GetFormat}\label{wxprivatedataobjectgetformat} + +\constfunc{virtual wxDataFormat}{GetFormat}{\void} + +\membersection{wxPrivateDataObject::SetId}\label{wxprivatedataobjectsetid} + +\constfunc{virtual void}{SetId}{\param{const wxString\& }{id}} + + the string ID identifies the format of clipboard or DnD data. a word + processor would e.g. add a wxTextDataObject and a wxPrivateDataObject + to the clipboard - the latter with the Id "WXWORD\_FORMAT". + +\membersection{wxPrivateDataObject::GetId}\label{wxprivatedataobjectgetid} + +\constfunc{virtual wxString}{GetId}{\void} + +\membersection{wxPrivateDataObject::SetData}\label{wxprivatedataobjectsetdata} + +\constfunc{virtual void}{SetData}{\param{const char }{*data}, \param{size\_t }{size}} + + will make internal copy + +\membersection{wxPrivateDataObject::GetDataSize}\label{wxprivatedataobjectgetdatasize} + +\constfunc{virtual size\_t}{GetDataSize}{\void} + +\membersection{wxPrivateDataObject::GetData}\label{wxprivatedataobjectgetdata} + +\constfunc{virtual char*}{GetData}{\void} + diff --git a/docs/latex/wx/sckaddr.tex b/docs/latex/wx/sckaddr.tex index e2ace6b8e0..9c505887cc 100644 --- a/docs/latex/wx/sckaddr.tex +++ b/docs/latex/wx/sckaddr.tex @@ -11,10 +11,10 @@ \wxheading{See also} -\helpref{wxSocketBase}{wxsocketbase}\\ -\helpref{wxIPV4address}{wxipv4address}\\ -\helpref{wxIPV6address}{wxipv6address}\\ -\helpref{wxunixaddress}{wxunixaddress} +\helpref{wxSocketBase}{wxsocketbase} +%\helpref{wxIPV4address}{wxipv4address}\\ +%\helpref{wxIPV6address}{wxipv6address}\\ +%\helpref{wxunixaddress}{wxunixaddress} % ---------------------------------------------------------------------------- % Members diff --git a/docs/latex/wx/tdnd.tex b/docs/latex/wx/tdnd.tex index bf805dec0d..85346110cc 100644 --- a/docs/latex/wx/tdnd.tex +++ b/docs/latex/wx/tdnd.tex @@ -1,16 +1,15 @@ \section{Drag-and-drop and clipboard overview}\label{wxdndoverview} -Classes: \helpref{wxDataObject}{wxdataobject} - -% \helpref{wxTextDataObject}{wxtextdataobject} -% \helpref{wxDropSource}{wxdropsource} -% \helpref{wxDropTarget}{wxdroptarget} -% \helpref{wxTextDropTarget}{wxtextdroptarget} -% \helpref{wxFileDropTarget}{wxfiledroptarget} +Classes: \helpref{wxDataObject}{wxdataobject}, +\helpref{wxTextDataObject}{wxtextdataobject}, +\helpref{wxDropSource}{wxdropsource}, +\helpref{wxDropTarget}{wxdroptarget}, +\helpref{wxTextDropTarget}{wxtextdroptarget}, +\helpref{wxFileDropTarget}{wxfiledroptarget} Samples: see the dnd sample. -Headers: , > +Headers: , or (note that wxUSE\_DRAG\_AND\_DROP must be defined in setup.h) This overview describes wxWindows support for drag and drop and clipboard @@ -63,7 +62,7 @@ under X Windows), the corresponding \helpref{wxDropTarget}{wxdroptarget} methods are called - see below. \item {\bf Processing the result:} DoDragDrop() returns an {\it effect code} which -is one of the values of \helpref{wxDragResult}{wxdragresult} enum. Codes +is one of the values of \helpref{wxDragResult}{wxdropsource} enum. Codes of wxDragError, wxDragNone and wxDragCancel have the obvious meaning and mean that there is nothing to do on the sending end (except of possibly logging the error in the first case). wxDragCopy means that the data has been successfully diff --git a/docs/latex/wx/textfile.tex b/docs/latex/wx/textfile.tex index 5c281ba660..713b05bab9 100644 --- a/docs/latex/wx/textfile.tex +++ b/docs/latex/wx/textfile.tex @@ -16,6 +16,7 @@ limitation for the small files like configuration files or programs sources which are well handled by wxTextFile. The typical things you may do with wxTextFile in order are: + \begin{itemize}\itemsep=0pt \item Create and open it: this is done with \helpref{Open}{wxtextfileopen} function which opens the file (name may be specified either as Open argument or @@ -27,7 +28,7 @@ access" functions like \helpref{GetLineCount}{wxtextfilegetlinecount} and but looks more like array addressing) or with "sequential access" functions which include \helpref{GetFirstLine}{wxtextfilegetfirstline}/ \helpref{GetNextLine}{wxtextfilegetnextline} and also -\helpref{GetLastLine}{getlastline}/\helpref{GetPrevLine}{wxtextfilegetprevline}. +\helpref{GetLastLine}{wxtextfilegetlastline}/\helpref{GetPrevLine}{wxtextfilegetprevline}. For the sequential access functions the current line number is maintained: it is returned by \helpref{GetCurrentLine}{wxtextfilegetcurrentline} and may be changed with \helpref{GoToLine}{wxtextfilegotoline}. @@ -70,57 +71,67 @@ enum wxTextFileType Default constructor, use Open(string) to initialize the object. \membersection{wxTextFile::wxTextFile}\label{wxtextfilector} + \constfunc{}{wxTextFile}{\param{const wxString\& }{strFile}} Constructor does not load the file into memory, use Open() to do it. \membersection{wxTextFile::Exists}\label{wxtextfileexists} + \constfunc{bool}{Exists}{\void} Return TRUE if file exists - the name of the file should have been specified in the constructor before calling Exists(). \membersection{wxTextFile::Open}\label{wxtextfileopen} + \constfunc{bool}{Open}{\void} Open() opens the file with the name which was given in the \helpref{constructor}{wxtextfilector} and also loads file in memory on success. \membersection{wxTextFile::Open}\label{wxtextfileopenname} + \constfunc{bool}{Open}{\param{const wxString\& }{strFile}} Same as \helpref{Open()}{wxtextfileopen} but allows to specify the file name (must be used if the default constructor was used to create the object). \membersection{wxTextFile::Close}\label{wxtextfileclose} + \constfunc{bool}{Close}{\void} Closes the file and frees memory, {\bf losing all changes}. Use \helpref{Write()}{wxtextfilewrite} if you want to save them. \membersection{wxTextFile::IsOpened}\label{wxtextfileisopened} + \constfunc{bool}{IsOpened}{\void} Returns TRUE if the file is currently opened. \membersection{wxTextFile::GetLineCount}\label{wxtextfilegetlinecount} + \constfunc{size\_t}{GetLineCount}{\void} Get the number of lines in the file. \membersection{wxTextFile::GetLine}\label{wxtextfilegetline} + \constfunc{wxString\&}{GetLine}{\param{size\_t }{n}} Retrieves the line number {\it n} from the file. The returned line may be modified but you shouldn't add line terminator at the end - this will be done by wxTextFile. -\membersection{wxTextFile::operator[]}\label{wxtextfileoperator[]} +\membersection{wxTextFile::operator[]}\label{wxtextfileoperatorarray} + \constfunc{wxString\&}{operator[]}{\param{size\_t }{n}} The same as \helpref{GetLine}{wxtextfilegetline}. \membersection{wxTextFile::GetCurrentLine}\label{wxtextfilegetcurrentline} + \constfunc{size\_t}{GetCurrentLine}{\void} Returns the current line: it has meaning only when you're using @@ -130,17 +141,20 @@ GetLastLine() also change the value of the current line, as well as GoToLine(). \membersection{wxTextFile::GoToLine}\label{wxtextfilegotoline} + \constfunc{void}{GoToLine}{\param{size\_t }{n}} Changes the value returned by \helpref{GetCurrentLine}{wxtextfilegetcurrentline} and used by \helpref{GetFirstLine()}{wxtextfilegetfirstline}()/\helpref{GetNextLine()}{wxtextfilegetnextline}. \membersection{wxTextFile::Eof}\label{wxtextfileeof} + \constfunc{bool}{Eof}{\void} Returns TRUE if the current line is the last one. \membersection{wxTextFile::GetFirstLine}\label{wxtextfilegetfirstline} + \constfunc{wxString\&}{GetFirstLine}{\void} This method together with \helpref{GetNextLine()}{wxtextfilegetnextline} @@ -155,27 +169,32 @@ for ( str = GetFirstLine(); !Eof(); str = GetNextLine() ) \end{verbatim} \membersection{wxTextFile::GetNextLine}\label{wxtextfilegetnextline} + \func{wxString\&}{GetNextLine}{\void} Gets the next line (see \helpref{GetFirstLine}{wxtextfilegetfirstline} for the example). \membersection{wxTextFile::GetPrevLine}\label{wxtextfilegetprevline} + \func{wxString\&}{GetPrevLine}{\void} Gets the previous line in the file. \membersection{wxTextFile::GetLastLine}\label{wxtextfilegetlastline} + \func{wxString\&}{GetLastLine}{\void} Gets the last line of the file. \membersection{wxTextFile::GetLineType}\label{wxtextfilegetlinetype} + \constfunc{wxTextFileType}{GetLineType}{\param{size\_t }{n}} Get the type of the line (see also \helpref{GetEOL}{wxtextfilegeteol}) \membersection{wxTextFile::GuessType}\label{wxtextfileguesstype} + \constfunc{wxTextFileType}{GuessType}{\void} Guess the type of file (which is supposed to be opened). If sufficiently @@ -183,26 +202,31 @@ many lines of the file are in DOS/Unix/Mac format, the corresponding value will be returned. If the detection mechanism fails wxTextFileType\_None is returned. \membersection{wxTextFile::GetName}\label{wxtextfilegetname} + \constfunc{const char*}{GetName}{\void} Get the name of the file. \membersection{wxTextFile::AddLine}\label{wxtextfileaddline} + \constfunc{void}{AddLine}{\param{const wxString\& }{str}, \param{wxTextFileType }{type = typeDefault}} Adds a line to the end of file. \membersection{wxTextFile::InsertLine}\label{wxtextfileinsertline} + \constfunc{void}{InsertLine}{\param{const wxString\& }{str}, \param{size\_t }{n}, \param{wxTextFileType }{type = typeDefault}} Insert a line before the line number {\it n}. \membersection{wxTextFile::RemoveLine}\label{wxtextfileremoveline} + \constfunc{void}{RemoveLine}{\param{size\_t }{n}} Delete one line from the file. \membersection{wxTextFile::Write}\label{wxtextfilewrite} + \constfunc{bool}{Write}{\param{wxTextFileType }{typeNew = wxTextFileType\_None}} Change the file on disk. The {\it typeNew} parameter allows to change the @@ -210,6 +234,7 @@ file format (default argument means "don't change type") and may be used to convert, for example, DOS files to Unix. \membersection{wxTextFile::GetEOL}\label{wxtextfilegeteol} + \constfunc{static const char*}{GetEOL}{\param{wxTextFileType }{type = typeDefault}} Get the line termination string corresponding to given constant. {\it typeDefault} is @@ -218,6 +243,8 @@ platform, i.e. it will be wxTextFileType\_Dos under Windows, wxTextFileType\_Uni Unix and wxTextFileType\_Mac under Mac. \membersection{wxTextFile::\destruct{wxTextFile}}\label{wxtextfiledtor} + \constfunc{}{\destruct{wxTextFile}}{\void} Destructor does nothing. + diff --git a/docs/latex/wx/tlog.tex b/docs/latex/wx/tlog.tex index 0cdc287607..56573c38ed 100644 --- a/docs/latex/wx/tlog.tex +++ b/docs/latex/wx/tlog.tex @@ -1,10 +1,9 @@ \section{Log classes overview}\label{wxlogoverview} -Classes: \helpref{wxLog}{wxlog}\\ -\helpref{wxLogStderr}{wxlogstderr},\\ -\helpref{wxLogOstream}{wxlogostream}, \helpref{wxLogTextCtrl}{wxlogtextctrl},\\ -\helpref{wxLogWindow}{wxlogwindow}, \helpref{wxLogGui}{wxloggui},\\ -\helpref{wxLogNull}{wxlognull} +% Vadim: let's not have references to documentation that doesn't exist yet. +% The docs are allowed to be incomplete, but not containing bad links! +Classes: \helpref{wxLog}{wxlog}, wxLogStderr, +wxLogOstream, wxLogTextCtrl, wxLogWindow, wxLogGui, wxLogNull This is a general overview of logging classes provided by wxWindows. The word logging here has a broad sense, including all of the program output, not only diff --git a/docs/latex/wx/topics.tex b/docs/latex/wx/topics.tex index 6c0ab70abe..cda8c6764d 100644 --- a/docs/latex/wx/topics.tex +++ b/docs/latex/wx/topics.tex @@ -38,5 +38,5 @@ This chapter contains a selection of topic overviews. \input tstring.tex \input tdnd.tex \input tthreads.tex -% \input tfile.tex +\input tfile.tex \input tusage.tex diff --git a/docs/latex/wx/txtdatob.tex b/docs/latex/wx/txtdatob.tex new file mode 100644 index 0000000000..937489fb3a --- /dev/null +++ b/docs/latex/wx/txtdatob.tex @@ -0,0 +1,42 @@ +\section{\class{wxTextDataObject}}\label{wxtextdataobject} + + wxTextDataObject is a specialization of wxDataObject for text data. + +\wxheading{Derived from} + +\helpref{wxDataObject}{wxdataobject} + +\wxheading{See also} + +\helpref{wxDataObject}{wxdataobject} + +\latexignore{\rtfignore{\wxheading{Members}}} + +\membersection{wxTextDataObject::wxTextDataObject}\label{wxtextdataobjectwxtextdataobject} + +\func{}{wxTextDataObject}{\void} + +Default constructor. + +\func{}{wxTextDataObject}{\param{const wxString\& }{strText}} + +Constructor, passing text. + +\membersection{wxTextDataObject::GetFormat}\label{wxtextdataobjectgetformat} + +\constfunc{virtual wxDataFormat}{GetFormat}{\void} + +Returns wxDF\_TEXT. + +\membersection{wxTextDataObject::SetText}\label{wxtextdataobjectsettext} + +\func{virtual void}{SetText}{\param{const wxString\& }{strText}} + +Sets the text associated with the data object. + +\membersection{wxTextDataObject::GetText}\label{wxtextdataobjectgettext} + +\constfunc{virtual wxString}{GetText}{\void} + +Returns the text associated with the data object. + diff --git a/docs/latex/wx/txtdrptg.tex b/docs/latex/wx/txtdrptg.tex new file mode 100644 index 0000000000..18c4f53421 --- /dev/null +++ b/docs/latex/wx/txtdrptg.tex @@ -0,0 +1,59 @@ +\section{\class{wxTextDropTarget}}\label{wxtextdroptarget} + +A predefined drop target for dealing with text data. + +\wxheading{Derived from} + +\helpref{wxDropTarget}{wxdroptarget} + +\wxheading{See also} + +\helpref{Drag and drop overview}{wxdndoverview}, \helpref{wxDropSource}{wxdropsource}, +\helpref{wxDropTarget}{wxdroptarget}, \helpref{wxFileDropTarget}{wxfiledroptarget} + +\latexignore{\rtfignore{\wxheading{Members}}} + +\membersection{wxTextDropTarget::wxTextDropTarget}\label{wxtextdroptargetwxtextdroptarget} + +\func{}{wxTextDropTarget}{\void} + +Constructor. + +\membersection{wxTextDropTarget::GetFormatCount}\label{wxtextdroptargetgetformatcount} + +\constfunc{virtual size\_t}{GetFormatCount}{\void} + +See \helpref{wxDropTarget::GetFormatCount}{wxdroptargetgetformatcount}. This function is implemented +appropriately for text. + +\membersection{wxTextDropTarget::GetFormat}\label{wxtextdroptargetgetformat} + +\constfunc{virtual wxDataFormat}{GetFormat}{\param{size\_t }{n}} + +See \helpref{wxDropTarget::GetFormat}{wxdroptargetgetformat}. This function is implemented +appropriately for text. + +\membersection{wxTextDropTarget::OnDrop}\label{wxtextdroptargetondrop} + +\func{virtual bool}{OnDrop}{\param{long }{x}, \param{long }{y}, \param{const void }{*data}, \param{size\_t }{size}} + +See \helpref{wxDropTarget::OnDrop}{wxdroptargetondrop}. This function is implemented +appropriately for text, and calls \helpref{wxTextDropTarget::OnDropText}{wxtextdroptargetondroptext}. + +\membersection{wxTextDropTarget::OnDropText}\label{wxtextdroptargetondroptext} + +\func{virtual bool}{OnDropText}{\param{long }{x}, \param{long }{y}, \param{const char }{*data}} + +Override this function to receive dropped text. + +\wxheading{Parameters} + +\docparam{x}{The x coordinate of the mouse.} + +\docparam{y}{The y coordinate of the mouse.} + +\docparam{data}{The data being dropped: a NULL-terminated string.} + +\wxheading{Return value} + +Return TRUE to accept the data, FALSE to veto the operation. diff --git a/docs/latex/wx/window.tex b/docs/latex/wx/window.tex index 6057faff67..88f0808095 100644 --- a/docs/latex/wx/window.tex +++ b/docs/latex/wx/window.tex @@ -410,6 +410,17 @@ Returns a pointer to the window's layout constraints, or NULL if there are none. Returns a pointer to the button which is the default for this window, or NULL. +\membersection{wxWindow::GetDropTarget}\label{wxwindowgetdroptarget} + +\constfunc{wxDropTarget*}{GetDropTarget}{\void} + +Returns the associated drop target, which may be NULL. + +\wxheading{See also} + +\helpref{wxWindow::SetDropTarget}{wxwindowsetdroptarget}, +\helpref{Drag and drop overview}{wxdndoverview} + \membersection{wxWindow::GetEventHandler}\label{wxwindowgeteventhandler} \constfunc{wxEvtHandler*}{GetEventHandler}{\void} @@ -1516,6 +1527,19 @@ You must call \helpref{wxWindow::SetAutoLayout}{wxwindowsetautolayout} to tell a the constraints automatically in OnSize; otherwise, you must override OnSize and call Layout explicitly. +\membersection{wxWindow::SetDropTarget}\label{wxwindowsetdroptarget} + +\func{void}{SetDropTarget}{\param{wxDropTarget*}{ target}} + +Associates a drop target with this window. + +If the window already has a drop target, it is deleted. + +\wxheading{See also} + +\helpref{wxWindow::GetDropTarget}{wxwindowgetdroptarget}, +\helpref{Drag and drop overview}{wxdndoverview} + \membersection{wxWindow::SetFocus}\label{wxwindowsetfocus} \func{virtual void}{SetFocus}{\void} diff --git a/docs/motif/todo.txt b/docs/motif/todo.txt index 3eacb1b8c7..dfe385f197 100644 --- a/docs/motif/todo.txt +++ b/docs/motif/todo.txt @@ -43,6 +43,8 @@ High Priority - Implement missing wxImage functions for Motif. +- wxClipboard + Low Priority ------------ @@ -82,7 +84,7 @@ Low Priority - add the driver code to src/motif/helphtml.cpp (a frame, toolbar, history list). -- Copy and paste, drag and drop. Use a standard X drag +- Drag and drop. Use a standard X drag and drop standard - see http://www.cco.caltech.edu/~jafl/xdnd/ or use Motif drag and drop as described here: http://www.motifzone.com/tmd/articles/DnD/dnd.html diff --git a/docs/msw/todo.txt b/docs/msw/todo.txt index 5cdfc5d148..88bb3dcf0b 100644 --- a/docs/msw/todo.txt +++ b/docs/msw/todo.txt @@ -43,7 +43,7 @@ erroneously. Add headers to VC++ project files. -Test GLCanvas. +Implement Robert's wxClipboard. Distribution naming? @@ -89,8 +89,6 @@ BS_BITMAP, SS_BITMAP - but this may not allow wxBitmap argument, so instead just allow controls loaded from native resource to deal with this style and call default processing. -Better clipboard support (as per Robert's class). - wxWizard class? Doc/view - have some standard views/docs e.g. wxTextView. diff --git a/src/common/filefn.cpp b/src/common/filefn.cpp index e9f0c9105f..3e299df4f8 100644 --- a/src/common/filefn.cpp +++ b/src/common/filefn.cpp @@ -648,7 +648,9 @@ wxString wxFileNameFromPath (const wxString& path1) return wxString(path + 2); #endif } - return wxString(""); + // Yes, this should return the path, not an empty string, otherwise + // we get "thing.txt" -> "". + return path1; } // Return just the directory, or NULL if no directory diff --git a/src/msw/makefile.nt b/src/msw/makefile.nt index 2bacd2f7af..f14dc31123 100644 --- a/src/msw/makefile.nt +++ b/src/msw/makefile.nt @@ -1626,10 +1626,10 @@ $(DOCDIR)\html\wx\wx.htm: $(DOCDIR)\latex\wx\classes.tex $(DOCDIR)\latex -mkdir $(DOCDIR)\html\wx -start /w tex2rtf $(DOCDIR)\latex\wx\manual.tex $(DOCDIR)\html\wx\wx.htm -twice -html -erase $(DOCDIR)\html\wx\*.con - -erase $(DOCDIR)\html\wx\*.ref - -erase $(DOCDIR)\latex\wx\*.con - -erase $(DOCDIR)\latex\wx\*.ref - cd $(THISDIR) +# -erase $(DOCDIR)\html\wx\*.ref +# -erase $(DOCDIR)\latex\wx\*.con +# -erase $(DOCDIR)\latex\wx\*.ref +# cd $(THISDIR) $(DOCDIR)\html\porting\port.htm: $(DOCDIR)\latex\porting\porting.tex cd $(DOCDIR)\latex\porting diff --git a/utils/HelpGen/src/HelpGen.cpp b/utils/HelpGen/src/HelpGen.cpp index c8908f0732..28f36a2f01 100644 --- a/utils/HelpGen/src/HelpGen.cpp +++ b/utils/HelpGen/src/HelpGen.cpp @@ -429,8 +429,8 @@ void HelpGenVisitor::VisitClass( spClass& cl ) } wxString baseclass = *i; - derived << "\\helpref{" << baseclass << "}" - "{ " << baseclass.MakeLower() << "}"; + derived << "\\helpref{" << baseclass << "}"; + derived << "{" << baseclass.MakeLower() << "}"; } } totalText << derived << "\n\n"; @@ -574,7 +574,7 @@ void HelpGenVisitor::VisitOperation( spOperation& op ) funcname = dtor; } - totalText.Printf("\\membersection{%s::%s}\\label{%s}\n" + totalText.Printf("\\membersection{%s::%s}\\label{%s}\n\n" "\\%sfunc{%s%s}{%s}{", classname, funcname, MakeLabel(classname, funcname).c_str(),