Beispiel #1
0
 public bool isGroupSelected(AMTakeData take, int group_id, ref int numTracks)
 {
     AMGroup grp = take.getGroup(group_id);
     for(int i = 0;i < grp.elements.Count;i++) {
         // select track
         if(grp.elements[i] > 0) {
             if(!contextSelectionTracks.Contains(grp.elements[i])) return false;
             numTracks++;
         }
         else {
             if(isGroupSelected(take, grp.elements[i], ref numTracks) == false) return false;
         }
     }
     return true;
 }
Beispiel #2
0
 /*public void contextSelectGroup(int group_id, bool deselect) {
     AMGroup grp = getGroup(group_id);
     for(int i=0;i<grp.elements.Count;i++) {
         // select track
         if(grp.elements[i] > 0) {
             bool isSelected = contextSelectionTracks.Contains(grp.elements[i]);
             if(deselect) {
                 if(isSelected) contextSelectionTracks.Remove(grp.elements[i]);
             } else {
                 if(!isSelected) contextSelectionTracks.Add(grp.elements[i]);
             }
         } else {
             contextSelectGroup(grp.elements[i],deselect);
         }
     }
 }*/
 public void contextSelectGroup(AMTakeData take, int group_id, bool isControlDown)
 {
     AMGroup grp = take.getGroup(group_id);
     int numTracks = 0;
     bool deselect = isControlDown && isGroupSelected(take, group_id, ref numTracks);
     for(int i = 0;i < grp.elements.Count;i++) {
         // select track
         if(grp.elements[i] > 0) {
             bool isSelected = contextSelectionTracks.Contains(grp.elements[i]);
             if(deselect) {
                 if(isSelected) contextSelectionTracks.Remove(grp.elements[i]);
             }
             else {
                 if(!isSelected) contextSelectionTracks.Add(grp.elements[i]);
             }
         }
         else {
             contextSelectGroup(take, grp.elements[i], deselect);
         }
     }
 }