diff options
author | Ben Loftis <ben@glw.com> | 2012-11-26 22:37:34 +0000 |
---|---|---|
committer | Ben Loftis <ben@glw.com> | 2012-11-26 22:37:34 +0000 |
commit | b43875dd27f9a16ed277d5f87fb6007c367001c9 (patch) | |
tree | c866579755f38ec027ddc8033ec73aa561eaacf7 /gtk2_ardour/selection.h | |
parent | feec5f9ad100d9282f542372d670c7f612d96023 (diff) |
explicitly enforce selection rules to avoid some corner cases and avoid user confusion
git-svn-id: svn://localhost/ardour2/branches/3.0@13549 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/selection.h')
-rw-r--r-- | gtk2_ardour/selection.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/gtk2_ardour/selection.h b/gtk2_ardour/selection.h index e30ca612ea..73acaaa7c0 100644 --- a/gtk2_ardour/selection.h +++ b/gtk2_ardour/selection.h @@ -186,9 +186,22 @@ class Selection : public sigc::trackable, public PBD::ScopedConnectionList void replace (uint32_t time_index, framepos_t start, framepos_t end); +/* + * A note about items in an editing Selection: + * At a high level, selections can include Tracks, Objects, or Time Ranges + * Range and Object selections are mutually exclusive. + * Selecting a Range will deselect all Objects, and vice versa. + * This is done to avoid confusion over what will happen in an operation such as Delete + * Tracks are somewhat orthogonal b/c editing operations don't apply to tracks. + * The Track selection isn't affected when ranges or objects are added. + */ + + void clear_time(); //clears any time selection ( i.e. Range ) + void clear_tracks (); //clears the track header selections + void clear_objects(); //clears the items listed below + + // these items get cleared wholesale in clear_objects void clear_regions(); - void clear_tracks (); - void clear_time(); void clear_lines (); void clear_playlists (); void clear_points (); |