Changed two conflicting defines in defs.h
DnD multiformat fine-tuning git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4069 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
98f026a6e4
commit
a3e7d24d21
@ -973,19 +973,19 @@ enum wxStretch
|
||||
/*
|
||||
* wxSpinButton flags
|
||||
*/
|
||||
#define wxSP_VERTICAL 0x0004
|
||||
#define wxSP_HORIZONTAL 0x0008
|
||||
#define wxSP_ARROW_KEYS 0x0010
|
||||
#define wxSP_WRAP 0x0020
|
||||
#define wxSP_HORIZONTAL wxHORIZONTAL // 4
|
||||
#define wxSP_VERTICAL wxVERTICAL // 8
|
||||
#define wxSP_ARROW_KEYS 0x0010
|
||||
#define wxSP_WRAP 0x0020
|
||||
|
||||
/*
|
||||
* wxSplitterWindow flags
|
||||
*/
|
||||
#define wxSP_NOBORDER 0x0000
|
||||
#define wxSP_3D 0x0004
|
||||
#define wxSP_BORDER 0x0008
|
||||
#define wxSP_PERMIT_UNSPLIT 0x0010
|
||||
#define wxSP_LIVE_UPDATE 0x0020
|
||||
#define wxSP_NOBORDER 0x0000
|
||||
#define wxSP_3D 0x0010
|
||||
#define wxSP_BORDER 0x0020
|
||||
#define wxSP_PERMIT_UNSPLIT 0x0040
|
||||
#define wxSP_LIVE_UPDATE 0x0080
|
||||
|
||||
/*
|
||||
* wxFrame extra flags
|
||||
@ -997,14 +997,14 @@ enum wxStretch
|
||||
* wxTabCtrl flags
|
||||
*/
|
||||
#define wxTC_MULTILINE 0x0000
|
||||
#define wxTC_RIGHTJUSTIFY 0x0004
|
||||
#define wxTC_FIXEDWIDTH 0x0008
|
||||
#define wxTC_OWNERDRAW 0x0010
|
||||
#define wxTC_RIGHTJUSTIFY 0x0010
|
||||
#define wxTC_FIXEDWIDTH 0x0020
|
||||
#define wxTC_OWNERDRAW 0x0040
|
||||
|
||||
/*
|
||||
* wxNotebook flags
|
||||
*/
|
||||
#define wxNB_FIXEDWIDTH 0x0008
|
||||
#define wxNB_FIXEDWIDTH 0x0010
|
||||
#define wxNB_LEFT 0x0020
|
||||
#define wxNB_RIGHT 0x0040
|
||||
#define wxNB_BOTTOM 0x0080
|
||||
@ -1012,7 +1012,7 @@ enum wxStretch
|
||||
/*
|
||||
* wxStatusBar95 flags
|
||||
*/
|
||||
#define wxST_SIZEGRIP 0x0002
|
||||
#define wxST_SIZEGRIP 0x0010
|
||||
|
||||
/*
|
||||
* wxStaticLine flags
|
||||
|
@ -79,6 +79,9 @@ public:
|
||||
/* fill data with data from the dragging source */
|
||||
bool GetData( wxDataObject *data );
|
||||
|
||||
virtual size_t GetFormatCount() const = 0;
|
||||
virtual wxDataFormat GetFormat(size_t n) const = 0;
|
||||
|
||||
// implementation
|
||||
|
||||
void RegisterWidget( GtkWidget *widget );
|
||||
@ -106,13 +109,15 @@ public:
|
||||
|
||||
wxTextDropTarget() {}
|
||||
|
||||
virtual bool OnMove( long x, long y );
|
||||
virtual bool OnDrop( long x, long y );
|
||||
virtual bool OnData( long x, long y );
|
||||
|
||||
/* you have to override OnDropData to get at the text */
|
||||
virtual bool OnDropText( long x, long y, const wxChar *text ) = 0;
|
||||
|
||||
virtual size_t GetFormatCount() const
|
||||
{ return 1; }
|
||||
virtual wxDataFormat GetFormat(size_t n) const
|
||||
{ return wxDF_TEXT; }
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
@ -152,11 +157,14 @@ public:
|
||||
|
||||
wxFileDropTarget() {}
|
||||
|
||||
virtual bool OnMove( long x, long y );
|
||||
virtual bool OnDrop( long x, long y );
|
||||
virtual bool OnData( long x, long y );
|
||||
|
||||
virtual bool OnDropFiles( long x, long y, size_t nFiles, const wxChar * const aszFiles[] ) = 0;
|
||||
|
||||
virtual size_t GetFormatCount() const
|
||||
{ return 1; }
|
||||
virtual wxDataFormat GetFormat(size_t n) const
|
||||
{ return wxDF_FILENAME; }
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
@ -79,6 +79,9 @@ public:
|
||||
/* fill data with data from the dragging source */
|
||||
bool GetData( wxDataObject *data );
|
||||
|
||||
virtual size_t GetFormatCount() const = 0;
|
||||
virtual wxDataFormat GetFormat(size_t n) const = 0;
|
||||
|
||||
// implementation
|
||||
|
||||
void RegisterWidget( GtkWidget *widget );
|
||||
@ -106,13 +109,15 @@ public:
|
||||
|
||||
wxTextDropTarget() {}
|
||||
|
||||
virtual bool OnMove( long x, long y );
|
||||
virtual bool OnDrop( long x, long y );
|
||||
virtual bool OnData( long x, long y );
|
||||
|
||||
/* you have to override OnDropData to get at the text */
|
||||
virtual bool OnDropText( long x, long y, const wxChar *text ) = 0;
|
||||
|
||||
virtual size_t GetFormatCount() const
|
||||
{ return 1; }
|
||||
virtual wxDataFormat GetFormat(size_t n) const
|
||||
{ return wxDF_TEXT; }
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
@ -152,11 +157,14 @@ public:
|
||||
|
||||
wxFileDropTarget() {}
|
||||
|
||||
virtual bool OnMove( long x, long y );
|
||||
virtual bool OnDrop( long x, long y );
|
||||
virtual bool OnData( long x, long y );
|
||||
|
||||
virtual bool OnDropFiles( long x, long y, size_t nFiles, const wxChar * const aszFiles[] ) = 0;
|
||||
|
||||
virtual size_t GetFormatCount() const
|
||||
{ return 1; }
|
||||
virtual wxDataFormat GetFormat(size_t n) const
|
||||
{ return wxDF_FILENAME; }
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
@ -1064,6 +1064,7 @@ DnDShape *DnDShapeDialog::GetShape() const
|
||||
|
||||
bool DnDShapeDialog::TransferDataToWindow()
|
||||
{
|
||||
|
||||
if ( m_shape )
|
||||
{
|
||||
m_radio->SetSelection(m_shape->GetKind());
|
||||
|
@ -96,7 +96,7 @@ IMPLEMENT_DYNAMIC_CLASS(MyCanvas, wxScrolledWindow)
|
||||
|
||||
BEGIN_EVENT_TABLE(MyCanvas, wxScrolledWindow)
|
||||
EVT_PAINT( MyCanvas::OnPaint)
|
||||
EVT_LEFT_DOWN( MyCanvas::OnMouseDown)
|
||||
EVT_MOUSE_EVENTS( MyCanvas::OnMouseDown)
|
||||
EVT_BUTTON( ID_QUERYPOS, MyCanvas::OnQueryPosition)
|
||||
EVT_BUTTON( ID_ADDBUTTON, MyCanvas::OnAddButton)
|
||||
EVT_BUTTON( ID_DELBUTTON, MyCanvas::OnDeleteButton)
|
||||
@ -178,10 +178,19 @@ MyCanvas::~MyCanvas()
|
||||
|
||||
void MyCanvas::OnMouseDown( wxMouseEvent &event )
|
||||
{
|
||||
wxPoint pt( event.GetPosition() );
|
||||
int x,y;
|
||||
CalcUnscrolledPosition( pt.x, pt.y, &x, &y );
|
||||
wxLogMessage( "Mouse down event at: %d %d, scrolled: %d %d", pt.x, pt.y, x, y );
|
||||
if (event.LeftDown())
|
||||
{
|
||||
wxPoint pt( event.GetPosition() );
|
||||
int x,y;
|
||||
CalcUnscrolledPosition( pt.x, pt.y, &x, &y );
|
||||
wxLogMessage( "Mouse down event at: %d %d, scrolled: %d %d", pt.x, pt.y, x, y );
|
||||
}
|
||||
|
||||
if (event.LeftIsDown() &&
|
||||
event.LeftDown())
|
||||
{
|
||||
wxLogMessage( "Error: both LeftDown() and LeftIsDown() are TRUE!" );
|
||||
}
|
||||
}
|
||||
|
||||
void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) )
|
||||
|
@ -289,7 +289,6 @@ static void target_drag_data_received( GtkWidget *WXUNUSED(widget),
|
||||
/* Owen Taylor: "call gtk_drag_finish() with
|
||||
success == TRUE" */
|
||||
|
||||
// printf( "data received.\n" );
|
||||
|
||||
if ((data->length <= 0) || (data->format != 8))
|
||||
{
|
||||
@ -297,11 +296,11 @@ static void target_drag_data_received( GtkWidget *WXUNUSED(widget),
|
||||
qualifies for junk */
|
||||
gtk_drag_finish (context, FALSE, FALSE, time);
|
||||
|
||||
// printf( "no data.\n" );
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
wxLogDebug( wxT( "Drop target: data received") );
|
||||
|
||||
/* inform the wxDropTarget about the current GtkSelectionData.
|
||||
this is only valid for the duration of this call */
|
||||
drop_target->SetDragData( data );
|
||||
@ -348,11 +347,32 @@ void wxDropTarget::OnLeave()
|
||||
|
||||
bool wxDropTarget::OnMove( long WXUNUSED(x), long WXUNUSED(y) )
|
||||
{
|
||||
return TRUE;
|
||||
if (GetFormatCount() == 0)
|
||||
return FALSE;
|
||||
|
||||
for (size_t i = 0; i < GetFormatCount(); i++)
|
||||
{
|
||||
if (IsSupported( GetFormat(i) ))
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool wxDropTarget::OnDrop( long WXUNUSED(x), long WXUNUSED(y) )
|
||||
{
|
||||
if (GetFormatCount() == 0)
|
||||
return FALSE;
|
||||
|
||||
for (size_t i = 0; i < GetFormatCount(); i++)
|
||||
{
|
||||
if (IsSupported( GetFormat(i) ))
|
||||
{
|
||||
RequestData( GetFormat(i) );
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -400,8 +420,10 @@ bool wxDropTarget::IsSupported( wxDataFormat format )
|
||||
{
|
||||
GdkAtom formatAtom = (GdkAtom) GPOINTER_TO_INT(child->data);
|
||||
|
||||
// char *name = gdk_atom_name( formatAtom );
|
||||
// if (name) printf( "Format available: %s.\n", name );
|
||||
#ifdef __WXDEBUG__
|
||||
char *name = gdk_atom_name( formatAtom );
|
||||
if (name) wxLogDebug( "Drop target: drag has format: %s", name );
|
||||
#endif
|
||||
|
||||
if (formatAtom == format) return TRUE;
|
||||
child = child->next;
|
||||
@ -491,22 +513,6 @@ void wxDropTarget::RegisterWidget( GtkWidget *widget )
|
||||
// wxTextDropTarget
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
bool wxTextDropTarget::OnMove( long WXUNUSED(x), long WXUNUSED(y) )
|
||||
{
|
||||
return IsSupported( wxDF_TEXT );
|
||||
}
|
||||
|
||||
bool wxTextDropTarget::OnDrop( long WXUNUSED(x), long WXUNUSED(y) )
|
||||
{
|
||||
if (IsSupported( wxDF_TEXT ))
|
||||
{
|
||||
RequestData( wxDF_TEXT );
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool wxTextDropTarget::OnData( long x, long y )
|
||||
{
|
||||
wxTextDataObject data;
|
||||
@ -565,22 +571,6 @@ bool wxPrivateDropTarget::OnData( long x, long y )
|
||||
// A drop target which accepts files (dragged from File Manager or Explorer)
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
bool wxFileDropTarget::OnMove( long WXUNUSED(x), long WXUNUSED(y) )
|
||||
{
|
||||
return IsSupported( wxDF_FILENAME );
|
||||
}
|
||||
|
||||
bool wxFileDropTarget::OnDrop( long x, long y )
|
||||
{
|
||||
if (IsSupported( wxDF_FILENAME ))
|
||||
{
|
||||
RequestData( wxDF_FILENAME );
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool wxFileDropTarget::OnData( long x, long y )
|
||||
{
|
||||
wxFileDataObject data;
|
||||
@ -627,10 +617,10 @@ source_drag_data_get (GtkWidget *WXUNUSED(widget),
|
||||
{
|
||||
if (g_isIdle) wxapp_install_idle_handler();
|
||||
|
||||
// printf( "Provide data!\n" );
|
||||
|
||||
// char *name = gdk_atom_name( selection_data->target );
|
||||
// if (name) printf( "Format requested: %s.\n", name );
|
||||
#ifdef __WXDEBUG__
|
||||
char *name = gdk_atom_name( selection_data->target );
|
||||
if (name) wxLogDebug( wxT("Drop source: format requested: %s"), name );
|
||||
#endif
|
||||
|
||||
drop_source->m_retValue = wxDragCancel;
|
||||
|
||||
@ -788,19 +778,29 @@ wxDragResult wxDropSource::DoDragDrop( bool WXUNUSED(bAllowMove) )
|
||||
{
|
||||
wxASSERT_MSG( m_data, wxT("wxDragSource: no data") );
|
||||
|
||||
if (!m_data) return (wxDragResult) wxDragNone;
|
||||
if (!m_data)
|
||||
return (wxDragResult) wxDragNone;
|
||||
|
||||
if (m_data->GetFormatCount() == 0)
|
||||
return (wxDragResult) wxDragNone;
|
||||
|
||||
g_blockEventsOnDrag = TRUE;
|
||||
|
||||
RegisterWindow();
|
||||
|
||||
m_waiting = TRUE;
|
||||
|
||||
GdkAtom atom = gdk_atom_intern( "STRING", FALSE );
|
||||
// printf( "atom id: %d.\n", (int)atom );
|
||||
|
||||
GtkTargetList *target_list = gtk_target_list_new( (GtkTargetEntry*) NULL, 0 );
|
||||
gtk_target_list_add( target_list, atom, 0, 0 );
|
||||
|
||||
wxDataFormat *array = new wxDataFormat[ m_data->GetFormatCount() ];
|
||||
m_data->GetAllFormats( array, TRUE );
|
||||
for (size_t i = 0; i < m_data->GetFormatCount(); i++)
|
||||
{
|
||||
GdkAtom atom = array[i];
|
||||
wxLogDebug( wxT("Supported atom %s"), gdk_atom_name( atom ) );
|
||||
gtk_target_list_add( target_list, atom, 0, 0 );
|
||||
}
|
||||
delete[] array;
|
||||
|
||||
GdkEventMotion event;
|
||||
event.window = m_widget->window;
|
||||
|
@ -289,7 +289,6 @@ static void target_drag_data_received( GtkWidget *WXUNUSED(widget),
|
||||
/* Owen Taylor: "call gtk_drag_finish() with
|
||||
success == TRUE" */
|
||||
|
||||
// printf( "data received.\n" );
|
||||
|
||||
if ((data->length <= 0) || (data->format != 8))
|
||||
{
|
||||
@ -297,11 +296,11 @@ static void target_drag_data_received( GtkWidget *WXUNUSED(widget),
|
||||
qualifies for junk */
|
||||
gtk_drag_finish (context, FALSE, FALSE, time);
|
||||
|
||||
// printf( "no data.\n" );
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
wxLogDebug( wxT( "Drop target: data received") );
|
||||
|
||||
/* inform the wxDropTarget about the current GtkSelectionData.
|
||||
this is only valid for the duration of this call */
|
||||
drop_target->SetDragData( data );
|
||||
@ -348,11 +347,32 @@ void wxDropTarget::OnLeave()
|
||||
|
||||
bool wxDropTarget::OnMove( long WXUNUSED(x), long WXUNUSED(y) )
|
||||
{
|
||||
return TRUE;
|
||||
if (GetFormatCount() == 0)
|
||||
return FALSE;
|
||||
|
||||
for (size_t i = 0; i < GetFormatCount(); i++)
|
||||
{
|
||||
if (IsSupported( GetFormat(i) ))
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool wxDropTarget::OnDrop( long WXUNUSED(x), long WXUNUSED(y) )
|
||||
{
|
||||
if (GetFormatCount() == 0)
|
||||
return FALSE;
|
||||
|
||||
for (size_t i = 0; i < GetFormatCount(); i++)
|
||||
{
|
||||
if (IsSupported( GetFormat(i) ))
|
||||
{
|
||||
RequestData( GetFormat(i) );
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -400,8 +420,10 @@ bool wxDropTarget::IsSupported( wxDataFormat format )
|
||||
{
|
||||
GdkAtom formatAtom = (GdkAtom) GPOINTER_TO_INT(child->data);
|
||||
|
||||
// char *name = gdk_atom_name( formatAtom );
|
||||
// if (name) printf( "Format available: %s.\n", name );
|
||||
#ifdef __WXDEBUG__
|
||||
char *name = gdk_atom_name( formatAtom );
|
||||
if (name) wxLogDebug( "Drop target: drag has format: %s", name );
|
||||
#endif
|
||||
|
||||
if (formatAtom == format) return TRUE;
|
||||
child = child->next;
|
||||
@ -491,22 +513,6 @@ void wxDropTarget::RegisterWidget( GtkWidget *widget )
|
||||
// wxTextDropTarget
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
bool wxTextDropTarget::OnMove( long WXUNUSED(x), long WXUNUSED(y) )
|
||||
{
|
||||
return IsSupported( wxDF_TEXT );
|
||||
}
|
||||
|
||||
bool wxTextDropTarget::OnDrop( long WXUNUSED(x), long WXUNUSED(y) )
|
||||
{
|
||||
if (IsSupported( wxDF_TEXT ))
|
||||
{
|
||||
RequestData( wxDF_TEXT );
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool wxTextDropTarget::OnData( long x, long y )
|
||||
{
|
||||
wxTextDataObject data;
|
||||
@ -565,22 +571,6 @@ bool wxPrivateDropTarget::OnData( long x, long y )
|
||||
// A drop target which accepts files (dragged from File Manager or Explorer)
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
bool wxFileDropTarget::OnMove( long WXUNUSED(x), long WXUNUSED(y) )
|
||||
{
|
||||
return IsSupported( wxDF_FILENAME );
|
||||
}
|
||||
|
||||
bool wxFileDropTarget::OnDrop( long x, long y )
|
||||
{
|
||||
if (IsSupported( wxDF_FILENAME ))
|
||||
{
|
||||
RequestData( wxDF_FILENAME );
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool wxFileDropTarget::OnData( long x, long y )
|
||||
{
|
||||
wxFileDataObject data;
|
||||
@ -627,10 +617,10 @@ source_drag_data_get (GtkWidget *WXUNUSED(widget),
|
||||
{
|
||||
if (g_isIdle) wxapp_install_idle_handler();
|
||||
|
||||
// printf( "Provide data!\n" );
|
||||
|
||||
// char *name = gdk_atom_name( selection_data->target );
|
||||
// if (name) printf( "Format requested: %s.\n", name );
|
||||
#ifdef __WXDEBUG__
|
||||
char *name = gdk_atom_name( selection_data->target );
|
||||
if (name) wxLogDebug( wxT("Drop source: format requested: %s"), name );
|
||||
#endif
|
||||
|
||||
drop_source->m_retValue = wxDragCancel;
|
||||
|
||||
@ -788,19 +778,29 @@ wxDragResult wxDropSource::DoDragDrop( bool WXUNUSED(bAllowMove) )
|
||||
{
|
||||
wxASSERT_MSG( m_data, wxT("wxDragSource: no data") );
|
||||
|
||||
if (!m_data) return (wxDragResult) wxDragNone;
|
||||
if (!m_data)
|
||||
return (wxDragResult) wxDragNone;
|
||||
|
||||
if (m_data->GetFormatCount() == 0)
|
||||
return (wxDragResult) wxDragNone;
|
||||
|
||||
g_blockEventsOnDrag = TRUE;
|
||||
|
||||
RegisterWindow();
|
||||
|
||||
m_waiting = TRUE;
|
||||
|
||||
GdkAtom atom = gdk_atom_intern( "STRING", FALSE );
|
||||
// printf( "atom id: %d.\n", (int)atom );
|
||||
|
||||
GtkTargetList *target_list = gtk_target_list_new( (GtkTargetEntry*) NULL, 0 );
|
||||
gtk_target_list_add( target_list, atom, 0, 0 );
|
||||
|
||||
wxDataFormat *array = new wxDataFormat[ m_data->GetFormatCount() ];
|
||||
m_data->GetAllFormats( array, TRUE );
|
||||
for (size_t i = 0; i < m_data->GetFormatCount(); i++)
|
||||
{
|
||||
GdkAtom atom = array[i];
|
||||
wxLogDebug( wxT("Supported atom %s"), gdk_atom_name( atom ) );
|
||||
gtk_target_list_add( target_list, atom, 0, 0 );
|
||||
}
|
||||
delete[] array;
|
||||
|
||||
GdkEventMotion event;
|
||||
event.window = m_widget->window;
|
||||
|
Loading…
Reference in New Issue
Block a user