void JXDocktab::HandleMouseDown ( const JPoint& pt, const JXMouseButton button, const JSize clickCount, const JXButtonStates& buttonStates, const JXKeyModifiers& modifiers ) { if (button == kJXLeftButton) { if (itsDockFinder == NULL) { itsDockFinder = new DockFinder(GetDisplay()); assert( itsDockFinder != NULL ); } JXDockDragData* data = new JXDockDragData(GetWindow()); assert( data != NULL ); BeginDND(pt, buttonStates, modifiers, data, itsDockFinder); } else if (button == kJXRightButton) { OpenActionMenu(pt, buttonStates, modifiers); } }
void GMMessageDragSource::HandleMouseDown ( const JPoint& pt, const JXMouseButton button, const JSize clickCount, const JXButtonStates& buttonStates, const JXKeyModifiers& modifiers ) { GMessageDragData* data = new GMessageDragData(this, kDNDClassID); assert(data != NULL); BeginDND(pt, buttonStates, modifiers, data); }
void GMFilterNameTable::HandleMouseDrag ( const JPoint& pt, const JXButtonStates& buttonStates, const JXKeyModifiers& modifiers ) { if (itsIsWaitingForDrag && (JLAbs(pt.x - itsStartPt.x) > kDebounceWidth || JLAbs(pt.y - itsStartPt.y) > kDebounceWidth)) { GFilterDragData* data = new GFilterDragData(this, kDNDClassID); assert(data != NULL); if (!BeginDND(pt, buttonStates, modifiers, data)) { itsIsWaitingForDrag = kJFalse; } } }
void CBCommandTable::HandleMouseDrag ( const JPoint& pt, const JXButtonStates& buttonStates, const JXKeyModifiers& modifiers ) { if (JMouseMoved(itsStartPt, pt)) { JTableSelection& s = GetTableSelection(); JPoint cell; if (s.GetSingleSelectedCell(&cell)) { CBCommandSelection* data = new CBCommandSelection(GetDisplay(), this, itsCmdList->GetElement(cell.y)); assert( data != NULL ); BeginDND(pt, buttonStates, modifiers, data); } } }
void TestWidget::HandleMouseDown ( const JPoint& pt, const JXMouseButton button, const JSize clickCount, const JXButtonStates& buttonStates, const JXKeyModifiers& modifiers ) { if (button == kJXLeftButton && clickCount == 1 && itsHomeRect.Contains(pt)) { JString dir; if (JGetHomeDirectory(&dir)) { JPtrArray<JString> list(JPtrArrayT::kForgetAll); list.Append(&dir); // Normally, you should use the other constructor and then // override JXWidget::GetSelectionData(). JXFileSelection* data = jnew JXFileSelection(GetDisplay(), list); assert( data != NULL ); BeginDND(pt, buttonStates, modifiers, data); } } else if (button == kJXLeftButton && clickCount == 1) { JPainter* p = CreateDragInsidePainter(); p->Rect(JRect(pt, pt)); } else if (button == kJXMiddleButton && clickCount == 1) { itsAnimButton->Place(pt.x, pt.y); } else if (button == kJXRightButton && clickCount == 1 && !modifiers.meta()) { JRect r = itsAnimButton->GetFrame(); if (pt.x > r.left && pt.y > r.top) { itsAnimButton->SetSize(pt.x-r.left, pt.y-r.top); } } else if (button == kJXRightButton && clickCount == 1 && modifiers.meta()) { if (itsSecretMenu->PopUp(this, pt, buttonStates, modifiers)) { return; } else { (JGetUserNotification())->ReportError("Unable to open secret menu!"); } } else if (ScrollForWheel(button, modifiers)) { // work has been done } else if ((clickCount == 2 && its2Rect.Contains(pt)) || (clickCount == 3 && its3Rect.Contains(pt))) { GetNewSize(); } itsStartPt = itsPrevPt = pt; }