+ /**
+ * Constructs an informative status bar message while dragging to insert or
+ * delete gaps
+ *
+ * @param insert
+ * @param seqName
+ * @return
+ */
+ protected String getEditStatusMessage(boolean insert, String seqName)
+ {
+ /*
+ * add any inserts, and subtract any deletes, so far
+ */
+ int count = 0;
+ for (Edit cmd : editCommand.getEdits())
+ {
+ count += cmd.getAction() == Action.INSERT_GAP ? cmd.getNumber()
+ : -cmd.getNumber();
+ }
+
+ /*
+ * add the current action
+ */
+ count += insert ? 1 : -1;
+
+ if (count == 0)
+ {
+ /*
+ * inserts and deletes cancel out
+ */
+ return " ";
+ }
+ StringBuilder message = new StringBuilder(64);
+ if (groupEditing)
+ {
+ message.append("Edit group:");
+ }
+ else
+ {
+ message.append("Edit sequence: ").append(seqName);
+ }
+
+ message.append(count > 0 ? " insert " : " delete ");
+ count = Math.abs(count);
+ message.append(String.valueOf(count));
+ message.append(count > 1 ? " gaps" : " gap");
+ String msg = message.toString();
+ return msg;
+ }
+