From 5aa5e35adec2ddcb4b77489bb2c6ce98dea872b5 Mon Sep 17 00:00:00 2001
From: Robert Roebling <robert@roebling.de>
Date: Sat, 30 Jan 1999 22:54:23 +0000
Subject: [PATCH]   My last patch for status bar size events wasn't perfect  
 Added wxPython to the wxGTK dist script   docs for wxPrivateDataObject  
 Corrected penguin makefile

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1528 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 distrib/gtk/copy_src                    | 16 ++++++++++-
 docs/latex/wx/category.tex              |  9 ++++---
 docs/latex/wx/prvdatob.tex              | 35 ++++++++++++++++++-------
 src/gtk/frame.cpp                       |  9 ++++---
 src/gtk1/frame.cpp                      |  9 ++++---
 utils/glcanvas/samples/penguin/Makefile | 10 +++----
 6 files changed, 63 insertions(+), 25 deletions(-)

diff --git a/distrib/gtk/copy_src b/distrib/gtk/copy_src
index 96ac5653e2..c3a0ac7720 100755
--- a/distrib/gtk/copy_src
+++ b/distrib/gtk/copy_src
@@ -230,7 +230,21 @@ cp winstyle.h ~/wxgtk_dist/wxGTK/utils/dialoged
 cd bitmaps
 mkdir ~/wxgtk_dist/wxGTK/utils/dialoged/bitmaps
 cp *.xpm ~/wxgtk_dist/wxGTK/utils/dialoged/bitmaps
-cd ../../../..
+cd ../../..
+
+cd wxPython
+mkdir ~/wxgtk_dist/wxGTK/utils/wxPython
+cp README.txt ~/wxgtk_dist/wxGTK/utils/wxPython
+cp TODO.txt ~/wxgtk_dist/wxGTK/utils/wxPython
+mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/src
+cp ./src/* ~/wxgtk_dist/wxGTK/utils/wxPython/src
+mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/src/gtk
+cp ./src/gtk/* ~/wxgtk_dist/wxGTK/utils/wxPython/src/gtk
+mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/tests
+cp ./tests/*.py ~/wxgtk_dist/wxGTK/utils/wxPython/tests
+mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/tests/bitmaps
+cp ./tests/bitmaps/* ~/wxgtk_dist/wxGTK/utils/wxPython/tests/bitmaps
+cd ../..
 
 echo Samples dir..
 
diff --git a/docs/latex/wx/category.tex b/docs/latex/wx/category.tex
index 9149be2871..9a113c2728 100644
--- a/docs/latex/wx/category.tex
+++ b/docs/latex/wx/category.tex
@@ -335,15 +335,16 @@ The older classes are as follows:
 \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{wxPrivateDataObject}{wxprivatedataobject}}{Private data object class}
 \twocolitem{\helpref{wxClipboard}{wxclipboard}}{Clipboard class}
+\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}
 \end{twocollist}
 
 {\large {\bf File related classes}}
diff --git a/docs/latex/wx/prvdatob.tex b/docs/latex/wx/prvdatob.tex
index 7278405313..f3d7a22270 100644
--- a/docs/latex/wx/prvdatob.tex
+++ b/docs/latex/wx/prvdatob.tex
@@ -1,6 +1,9 @@
 \section{\class{wxPrivateDataObject}}\label{wxprivatedataobject}
 
- wxPrivateDataObject is a specialization of wxDataObject for application-specific data.
+wxPrivateDataObject is a specialization of wxDataObject for application-specific or standard
+format data. The format of the data contained in an instance of this class must be identified
+with a string literal corresponding to the mime-type of the data. Typically this would be
+"image/png" or "text/html" or "application/word".
 
 \wxheading{Derived from}
 
@@ -20,17 +23,13 @@
 
 \func{}{\destruct{wxPrivateDataObject}}{\void}
 
-\membersection{wxPrivateDataObject::GetFormat}\label{wxprivatedataobjectgetformat}
-
-\constfunc{virtual wxDataFormat}{GetFormat}{\void}
-
 \membersection{wxPrivateDataObject::SetId}\label{wxprivatedataobjectsetid}
 
 \func{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".
+to the clipboard - the latter with the Id "application/word".
 
 \membersection{wxPrivateDataObject::GetId}\label{wxprivatedataobjectgetid}
 
@@ -42,9 +41,9 @@ Returns the ID of the clipboard or DnD data format.
 
 \func{virtual void}{SetData}{\param{const char }{*data}, \param{size\_t }{size}}
 
-Set the data. The data object will make internal copy.
+Set the data. The data object will make an internal copy.
 
-\membersection{wxPrivateDataObject::GetDataSize}\label{wxprivatedataobjectgetdatasize}
+\membersection{wxPrivateDataObject::GetSize}\label{wxprivatedataobjectgetsize}
 
 \constfunc{virtual size\_t}{GetDataSize}{\void}
 
@@ -54,5 +53,23 @@ Returns the data size.
 
 \func{virtual char*}{GetData}{\void}
 
-Returns the data.
+Returns a pointer to the data.
+
+\membersection{wxPrivateDataObject::WriteData}\label{wxprivatedataobjectwritedata}
+
+\constfunc{virtual void}{WriteData}{\param{void}{*dest} }
+
+Write the data owned by this class to {\it dest}. By default, this
+calls \helpref{WriteData}{wxprivatedataobjectwritedata2} with data 
+set using \helpref{SetData}{wxprivatedataobjectsetdata}.
+This can be overridden to provide data on-demand; in this case
+\helpref{WriteData(data,dest)}{wxprivatedataobjectwritedata2} (see below) must be called from
+within the overriding WriteData() method.
+
+\membersection{wxPrivateDataObject::WriteData}\label{wxprivatedataobjectwritedata2}
+
+\constfunc{void}{WriteData}{\param{const char* }{data}, \param{void}{*dest} }
+
+Writes the data {\it data} to {\it dest}. This method must be called
+from \helpref{WriteData}{wxprivatedataobjectwritedata}.
 
diff --git a/src/gtk/frame.cpp b/src/gtk/frame.cpp
index 01b3ef24e5..d809e69266 100644
--- a/src/gtk/frame.cpp
+++ b/src/gtk/frame.cpp
@@ -461,9 +461,12 @@ void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height
 
     /* send size event to status bar */
 
-    wxSizeEvent event2( wxSize(m_frameStatusBar->m_width,m_frameStatusBar->m_height), m_frameStatusBar->GetId() );
-    event2.SetEventObject( m_frameStatusBar );
-    m_frameStatusBar->GetEventHandler()->ProcessEvent( event2 );
+    if (m_frameStatusBar)
+    {
+        wxSizeEvent event2( wxSize(m_frameStatusBar->m_width,m_frameStatusBar->m_height), m_frameStatusBar->GetId() );
+        event2.SetEventObject( m_frameStatusBar );
+        m_frameStatusBar->GetEventHandler()->ProcessEvent( event2 );
+    }
 
     m_resizing = FALSE;
 }
diff --git a/src/gtk1/frame.cpp b/src/gtk1/frame.cpp
index 01b3ef24e5..d809e69266 100644
--- a/src/gtk1/frame.cpp
+++ b/src/gtk1/frame.cpp
@@ -461,9 +461,12 @@ void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height
 
     /* send size event to status bar */
 
-    wxSizeEvent event2( wxSize(m_frameStatusBar->m_width,m_frameStatusBar->m_height), m_frameStatusBar->GetId() );
-    event2.SetEventObject( m_frameStatusBar );
-    m_frameStatusBar->GetEventHandler()->ProcessEvent( event2 );
+    if (m_frameStatusBar)
+    {
+        wxSizeEvent event2( wxSize(m_frameStatusBar->m_width,m_frameStatusBar->m_height), m_frameStatusBar->GetId() );
+        event2.SetEventObject( m_frameStatusBar );
+        m_frameStatusBar->GetEventHandler()->ProcessEvent( event2 );
+    }
 
     m_resizing = FALSE;
 }
diff --git a/utils/glcanvas/samples/penguin/Makefile b/utils/glcanvas/samples/penguin/Makefile
index f874de9287..0401bb93aa 100644
--- a/utils/glcanvas/samples/penguin/Makefile
+++ b/utils/glcanvas/samples/penguin/Makefile
@@ -21,16 +21,16 @@ Penguin: penguin.o trackball.o lw.o glcanvas.o
 	`wx-config --libs` -lMesaGL -lMesaGLU
 
 penguin.o: penguin.cpp
-	$(CPP) `wx-config --cflags` -I../../src -c penguin.cpp
+	$(CPP) `wx-config --cflags` -I../../gtk -c penguin.cpp
 
 lw.o: lw.cpp
-	$(CPP) `wx-config --cflags` -I../../src -c lw.cpp
+	$(CPP) `wx-config --cflags` -I../../gtk -c lw.cpp
 
 trackball.o: trackball.c
-	$(CC) `wx-config --cflags` -I../../src -c trackball.c
+	$(CC) `wx-config --cflags` -I../../gtk -c trackball.c
 
-glcanvas.o: ../../src/glcanvas.cpp
-	$(CPP) `wx-config --cflags` `gtk-config --cflags` -I../../src -c ../../src/glcanvas.cpp
+glcanvas.o: ../../gtk/glcanvas.cpp
+	$(CPP) `wx-config --cflags` `gtk-config --cflags` -I../../gtk -c ../../gtk/glcanvas.cpp
 
 clean: 
 	rm -f *.o Penguin
-- 
2.50.0

