JBoolean TestWidget::WillAcceptDrop ( const JArray<Atom>& typeList, Atom* action, const Time time, const JXWidget* source ) { JXDNDManager* dndMgr = GetDNDManager(); if (typeList.GetFirstElement() == (GetSelectionManager())->GetURLXAtom()) { cout << endl; cout << "Accepting the drop of type text/uri-list" << endl; cout << endl; *action = dndMgr->GetDNDActionPrivateXAtom(); return kJTrue; } else if (*action == dndMgr->GetDNDActionCopyXAtom()) { cout << endl; cout << "Accepting the drop" << endl; cout << endl; PrintSelectionText(dndMgr->GetDNDSelectionName(), time, (GetSelectionManager())->GetMimePlainTextXAtom()); return kJTrue; } else { JXDisplay* display = GetDisplay(); cout << endl; cout << "Not accepting the drop because the action isn't copy" << endl; cout << "Action: " << XGetAtomName(*display, *action) << endl; cout << endl; cout << "Data types available from DND source:" << endl; cout << endl; const JSize typeCount = typeList.GetElementCount(); for (JIndex i=1; i<=typeCount; i++) { const Atom type = typeList.GetElement(i); cout << XGetAtomName(*display, type) << endl; } cout << endl; PrintSelectionText(dndMgr->GetDNDSelectionName(), time, (GetSelectionManager())->GetMimePlainTextXAtom()); return kJFalse; } }
void TestWidget::HandleDNDDrop ( const JPoint& pt, const JArray<Atom>& typeList, const Atom action, const Time time, const JXWidget* source ) { JXDisplay* display = GetDisplay(); JXSelectionManager* selMgr = GetSelectionManager(); std::cout << std::endl; std::cout << "Data types available from DND source:" << std::endl; std::cout << std::endl; // (JGetUserNotification())->DisplayMessage("testing"); Atom textType = None; JBoolean url = kJFalse; const JSize typeCount = typeList.GetElementCount(); for (JIndex i=1; i<=typeCount; i++) { const Atom type = typeList.GetElement(i); std::cout << XGetAtomName(*display, type) << std::endl; if (type == selMgr->GetMimePlainTextXAtom()) { textType = type; } else if (type == selMgr->GetURLXAtom()) { url = kJTrue; } } std::cout << std::endl; if (textType != None) { PrintSelectionText(GetDNDManager()->GetDNDSelectionName(), time, textType); } if (url) { PrintFileNames(GetDNDManager()->GetDNDSelectionName(), time); } }
void TestWidget::PrintSelectionTargets ( const Time time ) { JXDisplay* display = GetDisplay(); JXSelectionManager* selMgr = GetSelectionManager(); JXDNDManager* dndMgr = GetDNDManager(); JArray<Atom> typeList; if (selMgr->GetAvailableTypes(kJXClipboardName, time, &typeList)) { std::cout << std::endl; std::cout << "Data types available from the clipboard:" << std::endl; std::cout << std::endl; const JSize typeCount = typeList.GetElementCount(); for (JIndex i=1; i<=typeCount; i++) { const Atom type = typeList.GetElement(i); std::cout << XGetAtomName(*display, type) << std::endl; } for (JIndex i=1; i<=typeCount; i++) { const Atom type = typeList.GetElement(i); if (type == XA_STRING || type == selMgr->GetUtf8StringXAtom() || type == selMgr->GetMimePlainTextXAtom()) { std::cout << std::endl; PrintSelectionText(kJXClipboardName, time, type); } } } else { std::cout << std::endl; std::cout << "Unable to access the clipboard." << std::endl; std::cout << std::endl; } }
void TestWidget::PrintSelectionTargets ( const Time time ) { JXDisplay* display = GetDisplay(); JXSelectionManager* selMgr = GetSelectionManager(); JXDNDManager* dndMgr = GetDNDManager(); JArray<Atom> typeList; if (selMgr->GetAvailableTypes(kJXClipboardName, time, &typeList)) { cout << endl; cout << "Data types available from the clipboard:" << endl; cout << endl; Atom textType = None; const JSize typeCount = typeList.GetElementCount(); for (JIndex i=1; i<=typeCount; i++) { const Atom type = typeList.GetElement(i); cout << XGetAtomName(*display, type) << endl; if (type == XA_STRING) { textType = type; } } cout << endl; if (textType != None) { PrintSelectionText(kJXClipboardName, time, textType); } } else { cout << endl; cout << "Unable to access the clipboard." << endl; cout << endl; } }