mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-11 00:56:33 +01:00
Selection deleting.
git-svn-id: svn://localhost/ardour2/trunk@2246 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
c0e916d4da
commit
873ab9bbb1
2 changed files with 23 additions and 1 deletions
|
|
@ -48,6 +48,7 @@
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "midi_util.h"
|
#include "midi_util.h"
|
||||||
#include "gui_thread.h"
|
#include "gui_thread.h"
|
||||||
|
#include "keyboard.h"
|
||||||
|
|
||||||
#include "i18n.h"
|
#include "i18n.h"
|
||||||
|
|
||||||
|
|
@ -143,8 +144,10 @@ MidiRegionView::canvas_event(GdkEvent* ev)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GDK_KEY_RELEASE:
|
case GDK_KEY_RELEASE:
|
||||||
if (_command_mode == Remove && ev->key.keyval == GDK_Delete)
|
if (_command_mode == Remove && ev->key.keyval == GDK_Delete) {
|
||||||
|
delete_selection();
|
||||||
apply_command();
|
apply_command();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GDK_BUTTON_PRESS:
|
case GDK_BUTTON_PRESS:
|
||||||
|
|
@ -154,6 +157,12 @@ MidiRegionView::canvas_event(GdkEvent* ev)
|
||||||
//cerr << "PRESSED: " << press_button << endl;
|
//cerr << "PRESSED: " << press_button << endl;
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
case GDK_ENTER_NOTIFY:
|
||||||
|
/* FIXME: do this on switch to note tool, too, if the pointer is already in */
|
||||||
|
Keyboard::magic_widget_grab_focus();
|
||||||
|
group->grab_focus();
|
||||||
|
break;
|
||||||
|
|
||||||
case GDK_MOTION_NOTIFY:
|
case GDK_MOTION_NOTIFY:
|
||||||
event_x = ev->motion.x;
|
event_x = ev->motion.x;
|
||||||
event_y = ev->motion.y;
|
event_y = ev->motion.y;
|
||||||
|
|
@ -579,6 +588,18 @@ MidiRegionView::add_note (const MidiModel::Note& note)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
MidiRegionView::delete_selection()
|
||||||
|
{
|
||||||
|
assert(_delta_command);
|
||||||
|
|
||||||
|
for (Selection::iterator i = _selection.begin(); i != _selection.end(); ++i)
|
||||||
|
if ((*i)->selected())
|
||||||
|
_delta_command->remove(*(*i)->note());
|
||||||
|
|
||||||
|
_selection.clear();
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
MidiRegionView::clear_selection_except(ArdourCanvas::CanvasMidiEvent* ev)
|
MidiRegionView::clear_selection_except(ArdourCanvas::CanvasMidiEvent* ev)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -135,6 +135,7 @@ class MidiRegionView : public RegionView
|
||||||
void unique_select(ArdourCanvas::CanvasMidiEvent* ev);
|
void unique_select(ArdourCanvas::CanvasMidiEvent* ev);
|
||||||
void note_selected(ArdourCanvas::CanvasMidiEvent* ev, bool add);
|
void note_selected(ArdourCanvas::CanvasMidiEvent* ev, bool add);
|
||||||
void note_deselected(ArdourCanvas::CanvasMidiEvent* ev, bool add);
|
void note_deselected(ArdourCanvas::CanvasMidiEvent* ev, bool add);
|
||||||
|
void delete_selection();
|
||||||
size_t selection_size() { return _selection.size(); }
|
size_t selection_size() { return _selection.size(); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue