From d78392c643faa60f91b5684cd6fa40daf7c47d25 Mon Sep 17 00:00:00 2001
From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04>
Date: Thu, 7 Apr 2005 09:59:32 +0000
Subject: [PATCH] add create features from differences to popup menu

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@2382 ee4ac58c-ac51-4696-9907-e4b3aa274f04
---
 uk/ac/sanger/artemis/components/AddMenu.java  |  6 ++-
 .../artemis/components/FeaturePopup.java      | 42 +++++++++++++++++--
 .../artemis/components/MultiComparator.java   |  7 +---
 3 files changed, 45 insertions(+), 10 deletions(-)

diff --git a/uk/ac/sanger/artemis/components/AddMenu.java b/uk/ac/sanger/artemis/components/AddMenu.java
index c053f6371..a01722f14 100644
--- a/uk/ac/sanger/artemis/components/AddMenu.java
+++ b/uk/ac/sanger/artemis/components/AddMenu.java
@@ -20,7 +20,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  *
- * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/AddMenu.java,v 1.6 2005-04-06 16:07:03 tjc Exp $
+ * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/AddMenu.java,v 1.7 2005-04-07 09:59:32 tjc Exp $
  */
 
 package uk.ac.sanger.artemis.components;
@@ -54,7 +54,7 @@ import javax.swing.*;
  *  should have been called CreateMenu.
  *
  *  @author Kim Rutherford
- *  @version $Id: AddMenu.java,v 1.6 2005-04-06 16:07:03 tjc Exp $
+ *  @version $Id: AddMenu.java,v 1.7 2005-04-07 09:59:32 tjc Exp $
  **/
 public class AddMenu extends SelectionMenu 
 {
@@ -346,6 +346,8 @@ public class AddMenu extends SelectionMenu
       {
         loc = new Location(start+".."+end);
         temp_feature = default_entry.createFeature(Key.CDS, loc);
+        Qualifier note = new Qualifier("note","Automatically generated region of difference.");
+        temp_feature.setQualifier(note);
       } 
       catch(EntryInformationException e) 
       {
diff --git a/uk/ac/sanger/artemis/components/FeaturePopup.java b/uk/ac/sanger/artemis/components/FeaturePopup.java
index 2708d13c7..05f5341fb 100644
--- a/uk/ac/sanger/artemis/components/FeaturePopup.java
+++ b/uk/ac/sanger/artemis/components/FeaturePopup.java
@@ -20,7 +20,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  *
- * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/FeaturePopup.java,v 1.5 2005-01-26 11:45:59 tjc Exp $
+ * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/FeaturePopup.java,v 1.6 2005-04-07 09:59:32 tjc Exp $
  */
 
 package uk.ac.sanger.artemis.components;
@@ -37,7 +37,7 @@ import javax.swing.*;
  *  FeaturePopup class
  *
  *  @author Kim Rutherford
- *  @version $Id: FeaturePopup.java,v 1.5 2005-01-26 11:45:59 tjc Exp $
+ *  @version $Id: FeaturePopup.java,v 1.6 2005-04-07 09:59:32 tjc Exp $
  *
  **/
 
@@ -205,10 +205,46 @@ public class FeaturePopup extends JPopupMenu
                                     getEntryGroup(),
                                     base_plot_group);
       if(entry_group instanceof SimpleEntryGroup) 
-        action_menus[5] = new AddMenu(frame, selection,
+      {
+        if(frame instanceof MultiComparator)
+        {
+          MultiComparator mc = (MultiComparator)frame;
+
+          // determine which FeatureDisplay 
+          int ifeature_display;
+          for(ifeature_display = 0; ifeature_display < mc.getEntryGroupArray().length; 
+              ++ifeature_display)
+          {
+            final EntryGroup this_entry_group = mc.getEntryGroupArray()[ifeature_display];
+            if(this_entry_group == getEntryGroup())
+              break;
+          }
+
+          AlignmentViewer alignQueryViewer;
+          if(ifeature_display==0)
+            alignQueryViewer = null;
+          else
+            alignQueryViewer = mc.getAlignmentViewerArray()[ifeature_display-1];
+
+          AlignmentViewer alignSubjectViewer;
+          if(ifeature_display == mc.getEntryGroupArray().length-1)
+            alignSubjectViewer = null;
+          else
+            alignSubjectViewer = mc.getAlignmentViewerArray()[ifeature_display];
+     
+          action_menus[5] = new AddMenu(frame, selection,
+                                    getEntryGroup(),
+                                    getGotoEventSource(),
+                                    base_plot_group,
+                                    alignQueryViewer, alignSubjectViewer,
+                                    "Create");
+        }
+        else
+          action_menus[5] = new AddMenu(frame, selection,
                                     getEntryGroup(),
                                     getGotoEventSource(),
                                     base_plot_group);
+      }
 
       action_menus[6] = new WriteMenu(frame, selection,
                                       getEntryGroup());
diff --git a/uk/ac/sanger/artemis/components/MultiComparator.java b/uk/ac/sanger/artemis/components/MultiComparator.java
index 92b8243cc..bae7289ac 100644
--- a/uk/ac/sanger/artemis/components/MultiComparator.java
+++ b/uk/ac/sanger/artemis/components/MultiComparator.java
@@ -20,7 +20,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  *
- * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/MultiComparator.java,v 1.9 2005-04-05 16:16:54 tjc Exp $
+ * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/MultiComparator.java,v 1.10 2005-04-07 09:59:32 tjc Exp $
  */
 
 package uk.ac.sanger.artemis.components;
@@ -57,7 +57,7 @@ import javax.swing.border.BevelBorder;
  *  to keep them synchronized.
  *
  *  @author Kim Rutherford <kmr@sanger.ac.uk>
- *  @version $Id: MultiComparator.java,v 1.9 2005-04-05 16:16:54 tjc Exp $
+ *  @version $Id: MultiComparator.java,v 1.10 2005-04-07 09:59:32 tjc Exp $
  **/
 
 public class MultiComparator extends JFrame 
@@ -624,9 +624,6 @@ public class MultiComparator extends JFrame
                         sub_menu_name);
         edit_menu.add(this_edit_menu);
 
-//      boolean subject = false;
-//      if(i%2 == 0)  
-//        subject = true;
 
         AlignmentViewer alignQueryViewer;
         if(i==0)
-- 
GitLab