// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation
#pragma implementation "clipbrd.h"
#endif
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __VMS
+#include "wx/vms_x_fix.h"
+#define XtWindow XTWINDOW
+#define XtScreen XTSCREEN
+#define XtParent XTPARENT
+#define XtIsRealized XTISREALIZED
+#define XtDisplay XTDISPLAY
+#endif
+
#include "wx/defs.h"
#if wxUSE_CLIPBOARD
#ifdef __VMS__
#pragma message disable nosimpint
+
#endif
#include <Xm/Xm.h>
#include <Xm/CutPaste.h>
WX_DEFINE_LIST(wxDataObjectList);
WX_DEFINE_LIST(wxDataIdToDataObjectList);
+extern "C"
+{
+#if wxCHECK_LESSTIF()
+static void wxClipboardCallback( Widget widget, int* data_id,
+ int* priv, int* reason );
+#else // Motif
static void wxClipboardCallback( Widget widget, long* data_id,
long* priv, int* reason );
-
+#endif // Less/Motif
+}
IMPLEMENT_DYNAMIC_CLASS(wxClipboard,wxObject)
void wxClipboard::Clear()
{
- wxDataObjectList::Node* node = m_data.GetFirst();
+ wxDataObjectList::compatibility_iterator node = m_data.GetFirst();
while (node)
{
delete node->GetData();
}
m_data.Clear();
- for( wxDataIdToDataObjectList::Node* node2 = m_idToObject.GetFirst();
+ for( wxDataIdToDataObjectList::compatibility_iterator node2 = m_idToObject.GetFirst();
node2; node2 = node2->GetNext() )
- delete node->GetData();
+ {
+ delete node2->GetData();
+ }
m_idToObject.Clear();
}
wxDECLARE_SCOPED_ARRAY( wxDataFormat, wxDataFormatScopedArray );
wxDEFINE_SCOPED_ARRAY( wxDataFormat, wxDataFormatScopedArray );
+#if wxCHECK_LESSTIF()
+void wxClipboardCallback( Widget xwidget, int* data_id,
+ int* priv, int* reason )
+#else
void wxClipboardCallback( Widget xwidget, long* data_id,
long* priv, int* reason )
+#endif
{
Display* xdisplay = XtDisplay( xwidget );
Window xwindow = XtWindow( xwidget );
wxDataObject* dobj = NULL;
size_t size = 0;
- for( wxDataIdToDataObjectList::Node* node2 =
+ for( wxDataIdToDataObjectList::compatibility_iterator node2 =
wxTheClipboard->m_idToObject.GetFirst();
node2; node2 = node2->GetNext() )
{
m_data.Append( data );
Display* xdisplay = wxGlobalDisplay();
- Widget xwidget = (Widget)wxTheApp->GetTopLevelWidget();
+ Widget xwidget = (Widget)wxTheApp->GetTopLevelRealizedWidget();
Window xwindow = XtWindow( xwidget );
wxXmString label( wxTheApp->GetAppName() );
Time timestamp = XtLastTimestampProcessed( xdisplay );
bool wxClipboard::IsSupported(const wxDataFormat& format)
{
Display* xdisplay = wxGlobalDisplay();
- Window xwindow = XtWindow( (Widget)wxTheApp->GetTopLevelWidget() );
+ Window xwindow = XtWindow( (Widget)wxTheApp->GetTopLevelRealizedWidget() );
bool isSupported = false;
int retval, count;
unsigned long max_name_length;
wxCHECK_MSG( m_open, false, "clipboard not open" );
Display* xdisplay = wxGlobalDisplay();
- Window xwindow = XtWindow( (Widget)wxTheApp->GetTopLevelWidget() );
+ Window xwindow = XtWindow( (Widget)wxTheApp->GetTopLevelRealizedWidget() );
Time timestamp = XtLastTimestampProcessed( xdisplay );
wxDataFormat chosenFormat;