+ this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
+ this.setBackground(Color.white);
+
+ JPanel formatPanel = buildFormatOptionsPanel();
+ JPanel linkedFeatures = buildLinkedFeaturesPanel();
+ JPanel actionsPanel = buildActionsPanel();
+
+ this.add(formatPanel);
+ this.add(linkedFeatures);
+ this.add(actionsPanel);
+ }
+
+ /**
+ * Builds a panel with a checkbox for the option to export linked (CDS/peptide)
+ * features. This is hidden by default, and only made visible if exporting
+ * features from a split frame panel which is configured to show linked
+ * features.
+ *
+ * @return
+ */
+ private JPanel buildLinkedFeaturesPanel()
+ {
+ linkedFeaturesPanel = new JPanel();
+ linkedFeaturesPanel.setOpaque(false);
+
+ boolean nucleotide = ap.av.isNucleotide();
+ String complement = nucleotide
+ ? MessageManager.getString("label.protein").toLowerCase()
+ : "CDS";
+ JLabel label = new JLabel(
+ MessageManager.formatMessage("label.include_linked_features",
+ complement));
+ label.setHorizontalAlignment(SwingConstants.TRAILING);
+ String tooltip = MessageManager
+ .formatMessage("label.include_linked_tooltip", complement);
+ label.setToolTipText(
+ JvSwingUtils.wrapTooltip(true, tooltip));
+
+ includeLinkedFeatures = new JCheckBox();
+ linkedFeaturesPanel.add(label);
+ linkedFeaturesPanel.add(includeLinkedFeatures);
+ linkedFeaturesPanel.setVisible(false);
+
+ return linkedFeaturesPanel;
+ }