Exemplo n.º 1
0
void gqbBrowser::OnBeginDrag(wxTreeEvent &event)
{
	wxTreeItemId itemId = event.GetItem();

	// Simplest solution, simulate DnD but actually don't do it
	gqbObject *object = (gqbObject *) GetItemData(itemId);
	if(object != NULL && (object->getType() == GQB_TABLE || object->getType() == GQB_VIEW))
	{
		gqbTable *item = (gqbTable *) object;
		wxString tableName = item->getName();
		wxTextDataObject textData(tableName);
		wxDropSource dragSource(this);
		dragSource.SetData(textData);
		wxDragResult result = dragSource.DoDragDrop(wxDrag_CopyOnly);
		if(result == wxDragCopy)
		{
			controller->getView()->CalcUnscrolledPosition(xx, yy, &xx, &yy);
			gqbQueryObject *queryObj = controller->addTableToModel(item, wxPoint(xx, yy));
			controller->getView()->Refresh();
			if (queryObj)
			{
				controller->getView()->Update();
				controller->getView()->updateModelSize(queryObj, false);
			}
		}
	}
}
Exemplo n.º 2
0
void DragEffectBitmapButton::OnMouseLeftDown (wxMouseEvent& event)
{
    if (mEffect == nullptr) {
        return;
    }
    wxString data;
    wxTextDataObject dragData(data);

    //unselect any running effect to make sure the notebook change won't effect it
    wxCommandEvent unselectEffect(EVT_UNSELECTED_EFFECT);
    wxPostEvent(GetParent(), unselectEffect);

    int id = mEffect->GetId();
    
    // Change the Choicebook to correct page
    wxCommandEvent eventEffectChanged(EVT_SELECTED_EFFECT_CHANGED);
    eventEffectChanged.SetInt(id);
    // We are only changing choicebook not populating effect panel with settings
    eventEffectChanged.SetClientData(nullptr);
    wxPostEvent(GetParent(), eventEffectChanged);

#ifdef __linux__
    wxIcon dragCursor;
    dragCursor.CopyFromBitmap(mEffect->GetEffectIcon(16, true));
#else
    wxCursor dragCursor(mEffect->GetEffectIcon(16, true).ConvertToImage());
#endif

    wxDropSource dragSource(this,dragCursor,dragCursor,dragCursor );

    dragSource.SetData( dragData );
    dragSource.DoDragDrop( wxDragMove );
}
Exemplo n.º 3
0
void CSourcesListBox::BeginDrag( wxListEvent &WXUNUSED(event) )
{
    long n = m_CurSel;
	if ( n != -1 )
	{
		//-------------------------//
		//--- get selected item	---//
		//-------------------------//
		
		EMUSIK_SOURCES_TYPE Type = GetType(n);
		if(( Type == MUSIK_SOURCES_NONE)
			|| (Type == MUSIK_SOURCES_NOW_PLAYING)
			|| (Type == MUSIK_SOURCES_LIBRARY))
		{
			return;//not allowed to be dragged.
		}
		m_DragIndex = n;
		const wxString & sDrop	= m_SourcesList.Item( m_DragIndex );

		//------------------------------------------------------//
		//--- initialize drag and drop                       ---//
		//--- SourcesDropTarget should take care of the rest ---//
		//------------------------------------------------------//
		wxDropSource dragSource( this );
		CMusikSourcesDataObject sources_data( sDrop );
		dragSource.SetData( sources_data );
		dragSource.DoDragDrop( TRUE );

		Update();
		m_DragIndex		= -1;
	}
}
Exemplo n.º 4
0
void wxGxContentView::OnBeginDrag(wxListEvent& event)
{
    //TODO: wxDELETE(pDragData) somethere
    wxDataObjectComposite *pDragData = new wxDataObjectComposite();

    wxGISStringDataObject *pNamesData = new wxGISStringDataObject(wxDataFormat(wxGIS_DND_NAME));
    pDragData->Add(pNamesData, true);

    wxFileDataObject *pFileData = new wxFileDataObject();
    pDragData->Add(pFileData, false);

    //wxGISDecimalDataObject *pIDsData = new wxGISDecimalDataObject(wxDataFormat(wxT("application/x-vnd.wxgis.gxobject-id")));
    //pDragData->Add(pIDsData, false);


    //TODO: create dataobject for QGIS
//        wxDataObjectSimple* pDataObjectSimple = new wxDataObjectSimple(wxDataFormat(wxT("application/x-vnd.qgis.qgis.uri")));
//        my_data->Add(pDataObjectSimple);
//
//        wxMemoryOutputStream *pstream = new wxMemoryOutputStream();
//        wxDataOutputStream dostr(*pstream);
//


    long nItem = wxNOT_FOUND;
    int nCount(0);
    for ( ;; )
    {
        nItem = GetNextItem(nItem, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
        if ( nItem == wxNOT_FOUND )
            break;

        LPITEMDATA pItemData = (LPITEMDATA)GetItemData(nItem);
	    if(pItemData == NULL)
            continue;

        wxGxObject* pGxObject = m_pCatalog->GetRegisterObject(pItemData->nObjectID);
	    if(pGxObject == NULL)
            continue;
        wxString sSystemPath(pGxObject->GetPath(), wxConvUTF8);

        pFileData->AddFile(sSystemPath);
        pNamesData->AddString(pGxObject->GetFullName());
        //pIDsData->AddDecimal(pGxObject->GetId());
    }

    wxDropSource dragSource( this );
	dragSource.SetData( *pDragData );
	wxDragResult result = dragSource.DoDragDrop( wxDrag_DefaultMove );
}
Exemplo n.º 5
0
Arquivo: sfxMain.cpp Projeto: hz37/sfx
void sfxFrame::OnResultsListCtrlBeginDrag(wxListEvent& event)
{
    // First find index of selected item (if any).

    int index = ResultsListCtrl->GetNextItem
    (
        -1,
        wxLIST_NEXT_ALL,
        wxLIST_STATE_SELECTED
    );

    if(index < 0)
    {
        return;
    }

    wxFileDataObject* data = new wxFileDataObject();

    wxString fileName = m_model.searchedFileNameAt(index);

    StatusBar1->SetLabel(fileName);

    data->AddFile(fileName);

    wxDropSource dragSource(this);
    dragSource.SetData(*data);

    wxDragResult dragResult = dragSource.DoDragDrop();

    wxDELETE(data);

    if(dragResult == wxDragCopy)
    {
        // If they drag a file, they are sure they wanna use 'em.
        // No need to keep pestering a user with more of the same.

        m_sound.Stop();

        // Auto copy file if a directory is defined for this and user actually copied something.

        if(m_saveFolder.Length())
        {
            wxFileName fileNameParser(fileName);
            wxString destination = m_saveFolder + fileNameParser.GetName() + _(".wav");
            wxCopyFile(fileName, destination, true);
        }
    }
}
Exemplo n.º 6
0
void InstanceCtrl::OnInstDragged(InstanceCtrlEvent& event)
{
	// No DnD in single column mode.
	if (GetWindowStyle() & wxINST_SINGLE_COLUMN)
		return;

	Instance *selectedInst = m_instList->GetSelectedInstance();
	if (!selectedInst)
		return;

	wxTextDataObject instDataObj(selectedInst->GetInstID());

	wxDropSource dragSource(instDataObj, this);
	dragSource.DoDragDrop(wxDrag_AllowMove);
	
	// Make sure we reset the group highlighting when the DnD operation is done.
	HighlightGroup(VisualCoord());
}
Exemplo n.º 7
0
void ExtImportPrefs::OnPluginBeginDrag(wxListEvent& event)
{
   wxDropSource dragSource(this);
   dragtext2->SetText(wxT(""));
   dragSource.SetData(*dragtext2);
   mDragFocus = PluginList;
   wxDragResult result = dragSource.DoDragDrop(TRUE);
   mDragFocus = NULL;
   switch (result)
   {
      case wxDragCopy: 
      case wxDragMove:
      case wxDragNone:
         return;
         break;
      default:
         break;
   }
}
Exemplo n.º 8
0
void TrackPickerDlg::onTrackCellLeftClick( wxGridEvent& event ) {
  wxString str = ((wxGrid*)event.GetEventObject())->GetCellValue( event.GetRow(), 0 );
  ((wxGrid*)event.GetEventObject())->SetGridCursor(event.GetRow(), 0);

  CellRenderer* renderer = (CellRenderer*)((wxGrid*)event.GetEventObject())->GetCellRenderer(event.GetRow(),0);
  if( renderer->GetTip() != NULL) {
    TraceOp.trc( "trackpicker", TRCLEVEL_DEBUG, __LINE__, 9999, "cell tip is [%s] at row %d", renderer->GetTip(), event.GetRow());
    m_Tip->SetValue(wxGetApp().getMsg( renderer->GetTip() ));
  }
  else
    m_Tip->SetValue(str);

  wxString my_text = wxT("addsymbol:") + str;
  TraceOp.trc( "trackpicker", TRCLEVEL_DEBUG, __LINE__, 9999, "drag [%s]", (const char*)my_text.mb_str(wxConvUTF8) );
  wxTextDataObject my_data(my_text);
  wxDropSource dragSource( this );
  dragSource.SetData( my_data );
  wxDragResult result = dragSource.DoDragDrop(wxDrag_CopyOnly);
  Raise();
  event.Skip();
}
Exemplo n.º 9
0
void ddModelBrowser::OnBeginDrag(wxTreeEvent &event)
{
	wxTreeItemId itemId = event.GetItem();

	// Simplest solution, simulate DnD but actually don't do it
	ddBrowserDataContainer *object = (ddBrowserDataContainer *) GetItemData(itemId);

	if(object != NULL && (object->getFigureKindId() == DDTABLEFIGURE))
	{
		ddTableFigure *item = (ddTableFigure *) object->getFigure();
		wxString tableName = item->getTableName();
		wxTextDataObject textData(tableName);
		wxDropSource dragSource(this);
		dragSource.SetData(textData);
		wxDragResult result = dragSource.DoDragDrop(wxDrag_CopyOnly);
		if(result != wxDragCopy)
		{
			wxMessageBox(wxT("Invalid kind of data during drag and drop operation"), wxT("Drag and drop error"), wxICON_ERROR);
		}
	}
}
Exemplo n.º 10
0
void ElementsCtrlBase::OnBeginDrag( wxListEvent& ev )
{
  ev.Allow();
  wxTextDataObject my_data(wxT("ruelps"));
  wxDropSource dragSource( this );
	dragSource.SetData( my_data );
	wxDragResult result = dragSource.DoDragDrop( TRUE );
  wxGetApp().mainframe()->statusbar()->SetStatusText(_("Ready"), (SB_MSG));
  /*
  wxString pc;
  switch ( result )
        {
            case wxDragError:   pc = _T("Error!");    break;
            case wxDragNone:    pc = _T("Nothing");   break;
            case wxDragCopy:    pc = _T("Copied");    break;
            case wxDragMove:    pc = _T("Moved");     break;
            case wxDragCancel:  pc = _T("Cancelled"); break;
            default:            pc = _T("Huh?");      break;
  }
  wxLogDebug(pc);
  */
}
Exemplo n.º 11
0
void ProjectWindow::OnTreeDrag(wxTreeEvent& evt)
{
   if (evt.GetId() == ASSET_LIST)
   {
      AssetTreeItemData* data = dynamic_cast<AssetTreeItemData*>(mAssetsTab->assetList->GetItemData(evt.GetItem()));
      if (data)
      {
         const AssetDefinition* asset = data->objPtr;

         wxString command("Asset->");
         command.Append(asset->mAssetType);
         command.Append("->");
         command.Append(asset->mAssetId);

         wxTextDataObject dragData(command);
         wxDropSource dragSource(mProjectPanel);
         dragSource.SetData(dragData);
         wxDragResult result = dragSource.DoDragDrop(TRUE);
         return;
      }
   }
}
Exemplo n.º 12
0
void BFBackupTree::OnBeginDrag (wxTreeEvent& event)
{
    // get data behind the item
    BFBackupTreeItemData* pItemData = dynamic_cast<BFBackupTreeItemData*>(GetItemData(event.GetItem()));

    if (pItemData == NULL)
        return;

    // selected the currently draging item
    SelectItem(event.GetItem());

    // init
    wxFileDataObject    my_data;
    wxDropSource        dragSource  ( this );

    // drag a task or a directory?
    if (pItemData->GetOID() == BFInvalidOID)
    {
        my_data.AddFile(pItemData->GetPath());
    }
    else
    {
        // remember the currently draged task
        BFTask* pTask = BFProject::Instance().GetTask(pItemData->GetOID());

        if (pTask == NULL)
            return;

        oidCurrentDrag_ = pTask->GetOID();

        // just set dummy data
        my_data.AddFile("<oid>");
    }

    // start dragging
    dragSource.SetData(my_data);
    dragSource.DoDragDrop( TRUE );
}
Exemplo n.º 13
0
void ResourceLibraryDialog::OnlistCtrlBeginDrag(wxListEvent& event)
{
    wxString fullList = "COPYANDADDRESOURCES;"+insertionFolderEdit->GetValue()+";"; //The resource editor is expecting a specifically formatted string
    long itemIndex = -1;

    for (;;)
    {
        itemIndex = listCtrl->GetNextItem(itemIndex,  wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
        if (itemIndex == -1) break;

        if ( (listCtrl->GetItemText(itemIndex) == _("Parent folder") && itemIndex == 0) || wxDirExists(currentDir+"/"+listCtrl->GetItemText(itemIndex)) )
        {
            //Folder: Do nothing
        }
        else
            fullList += currentDir+"/"+listCtrl->GetItemText(itemIndex)+";";
    }

    wxTextDataObject data(fullList);
    wxDropSource dragSource( this );
    dragSource.SetData( data );
    dragSource.DoDragDrop( true );
}
Exemplo n.º 14
0
void wxGISToolExecuteView::OnBeginDrag(wxListEvent& event)
{
    wxGxObject* pGxObject = m_pCatalog->GetRegisterObject(m_nParentGxObjectId);
    if(!pGxObject)
        return;
    wxGISTaskDataObject DragData(wxThread::GetMainId(), wxDataFormat(wxGIS_DND_ID));


    long nItem = wxNOT_FOUND;
    int nCount(0);
    for ( ;; )
    {
        nItem = GetNextItem(nItem, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
        if ( nItem == wxNOT_FOUND )
            break;

        DragData.AddDecimal(GetItemData(nItem));
    }

    wxDropSource dragSource( this );
    dragSource.SetData( DragData );
    wxDragResult result = dragSource.DoDragDrop( wxDrag_DefaultMove );
}
Exemplo n.º 15
0
void wxPageContainer::OnMouseMove(wxMouseEvent& event)
{
	if (!m_pagesInfoVec.empty() && IsShown())
	{
		const int xButtonStatus = m_nXButtonStatus;
		const int xTabButtonStatus = m_nTabXButtonStatus;
		const int rightButtonStatus = m_nRightButtonStatus;
		const int leftButtonStatus = m_nLeftButtonStatus;
		const int dropDownButtonStatus = m_nArrowDownButtonStatus;
		/// Patch (savePreviewId) ---- Ti-R ---- Enable to show next tab selected if user click
		const int savePreviewId = m_nTabPreviewId;

		long style = GetParent()->GetWindowStyleFlag();

		m_nXButtonStatus = wxFNB_BTN_NONE;
		m_nRightButtonStatus = wxFNB_BTN_NONE;
		m_nLeftButtonStatus = wxFNB_BTN_NONE;
		m_nTabXButtonStatus = wxFNB_BTN_NONE;
		m_nArrowDownButtonStatus = wxFNB_BTN_NONE;
		/// Patch (m_nTabStatus) ---- Ti-R ---- Enable to show next tab selected if user click
		m_nTabStatus = wxFNB_BTN_NONE;

		wxPageInfo pgInfo;
		int tabIdx;

		int where = HitTest(event.GetPosition(), pgInfo, tabIdx);
		switch ( where )
		{
		case wxFNB_X:
			if (event.LeftIsDown())
			{
				m_nXButtonStatus = (m_nLeftClickZone==wxFNB_X) ? wxFNB_BTN_PRESSED : wxFNB_BTN_NONE;
			}
			else
			{
				m_nXButtonStatus = wxFNB_BTN_HOVER;
			}
			break;
		case wxFNB_DROP_DOWN_ARROW:
			if (event.LeftIsDown())
			{
				m_nArrowDownButtonStatus = (m_nLeftClickZone == wxFNB_DROP_DOWN_ARROW) ? wxFNB_BTN_PRESSED : wxFNB_BTN_NONE;
			}
			else
			{
				m_nArrowDownButtonStatus = wxFNB_BTN_HOVER;
			}
			break;
		case wxFNB_TAB_X:
			if (event.LeftIsDown())
			{
				m_nTabXButtonStatus = (m_nLeftClickZone==wxFNB_TAB_X) ? wxFNB_BTN_PRESSED : wxFNB_BTN_NONE;
			}
			else
			{
				m_nTabXButtonStatus = wxFNB_BTN_HOVER;
			}
			break;
		case wxFNB_RIGHT_ARROW:
			if (event.LeftIsDown())
			{
				m_nRightButtonStatus = (m_nLeftClickZone==wxFNB_RIGHT_ARROW) ? wxFNB_BTN_PRESSED : wxFNB_BTN_NONE;
			}
			else
			{
				m_nRightButtonStatus = wxFNB_BTN_HOVER;
			}
			break;

		case wxFNB_LEFT_ARROW:
			if (event.LeftIsDown())
			{
				m_nLeftButtonStatus = (m_nLeftClickZone==wxFNB_LEFT_ARROW) ? wxFNB_BTN_PRESSED : wxFNB_BTN_NONE;
			}
			else
			{
				m_nLeftButtonStatus = wxFNB_BTN_HOVER;
			}
			break;

		case wxFNB_TAB:
			// Call virtual method for showing tooltip
			ShowTabTooltip(tabIdx);
			if(!GetEnabled((size_t)tabIdx))
			{
				// Set the cursor to be 'No-entry'
				::wxSetCursor(wxCURSOR_NO_ENTRY);
			}

#if wxUSE_DRAG_AND_DROP
			// Support for drag and drop
			if(event.Dragging() && !(style & wxFNB_NODRAG))
			{
				wxFNBDragInfo draginfo(this, tabIdx);
				wxFNBDragInfoDataObject dataobject(wxDataFormat(wxT("wxFNB")));
				dataobject.SetData(sizeof(wxFNBDragInfo), &draginfo);
				wxFNBDropSource dragSource(this);
				dragSource.SetData(dataobject);
				dragSource.DoDragDrop(wxDrag_DefaultMove);
			}
#endif // wxUSE_DRAG_AND_DROP

/// Patch ---- Ti-R ---- Enable to show next tab selected if user click
			if(style & wxFNB_PREVIEW_SELECT_TAB)
			{
				m_nTabStatus = wxFNB_BTN_HOVER;
				m_nTabPreviewId = tabIdx;
			}

			break;
		default:
			m_nTabXButtonStatus = wxFNB_BTN_NONE;
			break;
		}
		/// Patch (bRedrawTab) ---- Ti-R ---- Enable to show next tab selected if user click
		if(m_nTabStatus != wxFNB_BTN_HOVER)
			m_nTabPreviewId=-1;

		const bool bRedrawTab = (m_nTabPreviewId != savePreviewId);
		const bool bRedrawX = m_nXButtonStatus != xButtonStatus;
		const bool bRedrawDropArrow = m_nArrowDownButtonStatus != dropDownButtonStatus;
		const bool bRedrawRight = m_nRightButtonStatus != rightButtonStatus;
		const bool bRedrawLeft = m_nLeftButtonStatus != leftButtonStatus;
		const bool bRedrawTabX = m_nTabXButtonStatus != xTabButtonStatus;

		wxFNBRendererPtr render = wxFNBRendererMgrST::Get()->GetRenderer( GetParent()->GetWindowStyleFlag() );

		if (bRedrawTab || bRedrawX || bRedrawRight || bRedrawLeft || bRedrawTabX || bRedrawDropArrow)
		{
			wxClientDC dc(this);
			if (bRedrawTab)
			{
				Refresh();
			}
			if (bRedrawX)
			{
				render->DrawX(this, dc);
			}
			if (bRedrawLeft)
			{
				render->DrawLeftArrow(this, dc);
			}
			if (bRedrawRight)
			{
				render->DrawRightArrow(this, dc);
			}
			if (bRedrawTabX)
			{
				render->DrawTabX(this, dc, pgInfo.GetXRect(), tabIdx, m_nTabXButtonStatus);
			}
			if (bRedrawDropArrow)
			{
				render->DrawDropDownArrow(this, dc);
			}
		}
	}
	event.Skip();
}
Exemplo n.º 16
0
void wxGxTreeView::OnBeginDrag(wxTreeEvent& event)
{
    //event.Skip();
	wxTreeItemId item = event.GetItem();
	if(!item.IsOk())
		return;
    SelectItem(item);

    //TODO: wxDELETE(pDragData) somethere
    wxDataObjectComposite *pDragData = new wxDataObjectComposite();

    wxGISStringDataObject *pNamesData = new wxGISStringDataObject(wxDataFormat(wxT("application/x-vnd.wxgis.gxobject-name")));
    pDragData->Add(pNamesData, true);

    wxFileDataObject *pFileData = new wxFileDataObject();
    pDragData->Add(pFileData, false);

    //wxGISDecimalDataObject *pIDsData = new wxGISDecimalDataObject(wxDataFormat(wxT("application/x-vnd.wxgis.gxobject-id")));
    //pDragData->Add(pIDsData, false);


    //TODO: create dataobject for QGIS
//        wxDataObjectSimple* pDataObjectSimple = new wxDataObjectSimple(wxDataFormat(wxT("application/x-vnd.qgis.qgis.uri")));
//        my_data->Add(pDataObjectSimple);
//
//        wxMemoryOutputStream *pstream = new wxMemoryOutputStream();
//        wxDataOutputStream dostr(*pstream);
//
    wxArrayTreeItemIds treearray;
    size_t count = GetSelections(treearray);
    if(count == 0)
        return;
    //first is catalog memory address to prevent different app drop
    //pIDsData->AddDecimal((long)GetGxCatalog());
    for(size_t i = 0; i < count; ++i)
    {
	    wxGxTreeItemData* pData = (wxGxTreeItemData*)GetItemData(treearray[i]);
	    if(pData == NULL)
            continue;

        wxGxObject* pGxObject = m_pCatalog->GetRegisterObject(pData->m_nObjectID);
	    if(pGxObject == NULL)
            continue;        
        wxString sSystemPath(pGxObject->GetPath(), wxConvUTF8);

        pFileData->AddFile(sSystemPath);
        pNamesData->AddString(pGxObject->GetFullName());
        //pIDsData->AddDecimal(pGxObject->GetId());
    }

    wxDropSource dragSource( this );
	dragSource.SetData( *pDragData );
	wxDragResult result = dragSource.DoDragDrop( wxDrag_DefaultMove );  

//    IGxObject* pParentGxObject(NULL);
//    for(size_t i = 0; i < count; ++i)
//    {
//	    wxGxTreeItemData* pData = (wxGxTreeItemData*)GetItemData(treearray[i]);
//	    if(pData == NULL)
//            continue;
//
//        IGxObjectSPtr pGxObject = m_pCatalog->GetRegisterObject(pData->m_nObjectID);
//        pParentGxObject = pGxObject->GetParent();
//        wxString sSystemPath(pGxObject->GetInternalName(), wxConvUTF8);
//        pFileData->AddFile(sSystemPath);
//        dostr.WriteString(sSystemPath);
//        wxStreamBuffer* theBuffer = pstream->GetOutputStreamBuffer();
//
//        pDataObjectSimple->SetData(theBuffer->GetBufferSize(), theBuffer->GetBufferStart());
//    }
  ////  		IGxObjectUI* pGxObjectUI = dynamic_cast<IGxObjectUI*>(pGxObject.get());
		////if(pGxObjectUI)
		////{
		////	wxDataFormat frm = pGxObjectUI->GetDataFormat();
		////	if(frm.GetType() != wxDF_INVALID)
		////		my_data.SetFormat(frm);
		////}
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 //   wxFileDataObject my_data;

 //   wxArrayTreeItemIds treearray;
 //   size_t count = GetSelections(treearray);
 //   if(count == 0)
 //       return;
 //   wxGxObject* pParentGxObject(NULL);
 //   for(size_t i = 0; i < count; ++i)
 //   {
	//    wxGxTreeItemData* pData = (wxGxTreeItemData*)GetItemData(treearray[i]);
	//    if(pData == NULL)
 //           continue;

 //       wxGxObject* pGxObject = m_pCatalog->GetRegisterObject(pData->m_nObjectID);
 //       pParentGxObject = pGxObject->GetParent();
 //       wxString sSystemPath(pGxObject->GetPath(), wxConvUTF8);
 //       my_data.AddFile(sSystemPath);
 //   }
 //   wxDropSource dragSource( this );
	//dragSource.SetData( my_data );
	//wxDragResult result = dragSource.DoDragDrop(  );  
}