summaryrefslogtreecommitdiff
path: root/gtk2_ardour/region_selection.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2007-10-06 17:27:07 +0000
committerCarl Hetherington <carl@carlh.net>2007-10-06 17:27:07 +0000
commitc8a4f8002b28647faf31eeaa11d500fa15f06f22 (patch)
treec635cbf68cb5221084d0ffaa5f79ef2f9dd3c822 /gtk2_ardour/region_selection.cc
parent61872c56631b313fec4ed3a1cb998335bb346731 (diff)
Add some comments to the RegionSelection class.
git-svn-id: svn://localhost/ardour2/trunk@2524 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/region_selection.cc')
-rw-r--r--gtk2_ardour/region_selection.cc68
1 files changed, 66 insertions, 2 deletions
diff --git a/gtk2_ardour/region_selection.cc b/gtk2_ardour/region_selection.cc
index 8074383141..2e4eaaadcd 100644
--- a/gtk2_ardour/region_selection.cc
+++ b/gtk2_ardour/region_selection.cc
@@ -28,6 +28,9 @@ using namespace ARDOUR;
using namespace PBD;
using namespace sigc;
+/**
+ * Construct an empty RegionSelection.
+ */
RegionSelection::RegionSelection ()
{
@@ -37,6 +40,11 @@ RegionSelection::RegionSelection ()
_current_end = 0;
}
+/**
+ * Copy constructor.
+ * @param other RegionSelection to copy.
+ */
+
RegionSelection::RegionSelection (const RegionSelection& other)
{
RegionView::RegionViewGoingAway.connect (mem_fun(*this, &RegionSelection::remove_it));
@@ -48,6 +56,11 @@ RegionSelection::RegionSelection (const RegionSelection& other)
_current_end = other._current_end;
}
+/**
+ * operator= to set a RegionSelection to be the same as another.
+ * @param other Other RegionSelection.
+ */
+
RegionSelection&
RegionSelection::operator= (const RegionSelection& other)
{
@@ -66,6 +79,10 @@ RegionSelection::operator= (const RegionSelection& other)
return *this;
}
+/**
+ * Empty this RegionSelection.
+ */
+
void
RegionSelection::clear_all()
{
@@ -75,11 +92,22 @@ RegionSelection::clear_all()
_current_end = 0;
}
+/**
+ * @param rv RegionView.
+ * @return true if this selection contains rv.
+ */
+
bool RegionSelection::contains (RegionView* rv) const
{
return find (begin(), end(), rv) != end();
}
+/**
+ * Add a region to the selection.
+ * @param rv Region to add.
+ * @return false if we already had the region, otherwise true.
+ */
+
bool
RegionSelection::add (RegionView* rv)
{
@@ -98,19 +126,30 @@ RegionSelection::add (RegionView* rv)
push_back (rv);
- // add to layer sorted list
+ /* add to layer sorted list */
add_to_layer (rv);
return true;
}
+/**
+ * Remove a region from the selection.
+ * @param rv Region to remove.
+ */
+
void
RegionSelection::remove_it (RegionView *rv)
{
remove (rv);
}
+/**
+ * Remove a region from the selection.
+ * @param rv Region to remove.
+ * @return true if the region was in the selection, false if not.
+ */
+
bool
RegionSelection::remove (RegionView* rv)
{
@@ -174,6 +213,11 @@ RegionSelection::remove (RegionView* rv)
return false;
}
+/**
+ * Add a region to the list sorted by layer.
+ * @param rv Region to add.
+ */
+
void
RegionSelection::add_to_layer (RegionView * rv)
{
@@ -200,6 +244,11 @@ struct RegionSortByTime {
};
+/**
+ * @param foo List which will be filled with the selection's regions
+ * sorted by position.
+ */
+
void
RegionSelection::by_position (list<RegionView*>& foo) const
{
@@ -226,7 +275,13 @@ struct RegionSortByTrack {
}
}
};
-
+
+
+/**
+ * @param List which will be filled with the selection's regions
+ * sorted by track and position.
+ */
+
void
RegionSelection::by_track (list<RegionView*>& foo) const
{
@@ -241,6 +296,10 @@ RegionSelection::by_track (list<RegionView*>& foo) const
return;
}
+/**
+ * @param Sort the selection by position and track.
+ */
+
void
RegionSelection::sort_by_position_and_track ()
{
@@ -248,6 +307,11 @@ RegionSelection::sort_by_position_and_track ()
sort (sorter);
}
+/**
+ * @param tv Track.
+ * @return true if any of the selection's regions are on tv.
+ */
+
bool
RegionSelection::involves (const TimeAxisView& tv) const
{