Exemple #1
0
void ProgramListBox::itemDropped(const SourceDetails& dragSourceDetails) {
    dragCandidate = programPosition(dragSourceDetails.localPosition.x, dragSourceDetails.localPosition.y);
    
    MemoryBlock* block = dragSourceDetails.description.getBinaryData();
    if ( listener != nullptr )
        listener->programDragged(this, dragCandidate, (char *)block->getData());
    dragCandidate = -1;
    repaint();
}
Exemple #2
0
void ProgramListBox::mouseDown(const MouseEvent &event) {
    if ( ! hasContent )
        return;
    
    int pos = programPosition(event.getMouseDownX(), event.getMouseDownY());

    if ( event.mods.isRightButtonDown() || event.mods.isAnyModifierKeyDown() ) {
        listener->programRightClicked(this, pos);
        return;
    }
    
    listener->programSelected(this, pos);
}
Exemple #3
0
void ProgramListBox::mouseDown(const MouseEvent &event) {
    if ( ! hasContent )
        return;
    
    int pos = programPosition(event.getMouseDownX(), event.getMouseDownY());

    if ( event.mods.isPopupMenu()) {
        listener->programRightClicked(this, pos);
        return;
    }
    
    listener->programSelected(this, pos);
}
Exemple #4
0
void ProgramListBox::mouseDrag(const MouseEvent &event) {
    if ( ! hasContent )
        return;
    if ( dragCandidate != -1 )
        return;
    if ( event.getDistanceFromDragStart() < 7 )
        return;
    
    if (DragAndDropContainer* const dragContainer = DragAndDropContainer::findParentDragContainerFor(this)) {
        Image snapshot (Image::ARGB, cellWidth, cellHeight, true);
        int position = programPosition(event.getMouseDownX(), event.getMouseDownY());
        Graphics g(snapshot);
        g.setColour(DXLookNFeel::lightBackground);
        g.fillRect(0,0,cellWidth, cellHeight);
        g.setColour(Colours::white);
        g.drawFittedText(programNames[position], 0, 0, cellWidth, cellHeight, Justification::centred, true);
        void *src = cartContent.getRawVoice() + (position*128);
        var description = var(src, 128);
        dragContainer->startDragging(description, this, snapshot, false);
    }
}
Exemple #5
0
void ProgramListBox::itemDragMove(const SourceDetails &dragSourceDetails) {
    dragCandidate = programPosition(dragSourceDetails.localPosition.x, dragSourceDetails.localPosition.y);
    repaint();
}