From b460b6f28c84f8abde137269024a6a1741f9a4a7 Mon Sep 17 00:00:00 2001 From: Jonas Schaub <44881147+JonasSchaub@users.noreply.github.com> Date: Tue, 23 Apr 2024 17:24:09 +0200 Subject: [PATCH 1/5] swapped parent mol structure and parent mol name columns in fragments tab; adjusted their sizes a bit; abbreviated labels of molecule frequency and molecule percentage columns and added tooltips with the full names to them; --- .../gui/views/FragmentsDataTableView.java | 44 +++++++++++-------- .../mortar/message/Message_en_GB.properties | 16 ++++--- 2 files changed, 34 insertions(+), 26 deletions(-) diff --git a/src/main/java/de/unijena/cheminf/mortar/gui/views/FragmentsDataTableView.java b/src/main/java/de/unijena/cheminf/mortar/gui/views/FragmentsDataTableView.java index 07f8969c..68bd171c 100644 --- a/src/main/java/de/unijena/cheminf/mortar/gui/views/FragmentsDataTableView.java +++ b/src/main/java/de/unijena/cheminf/mortar/gui/views/FragmentsDataTableView.java @@ -165,6 +165,20 @@ public FragmentsDataTableView(IConfiguration aConfiguration){ }); this.smilesColumn.setStyle("-fx-alignment: CENTER"); this.getColumns().add(this.smilesColumn); + //-parentMolNameColumn + this.parentMolNameColumn = new TableColumn<>(); + Label tmpParentNameLabel = new Label(Message.get("MainTabPane.fragmentsTab.tableView.parentMolNameColumn.header")); + tmpParentNameLabel.setTooltip(GuiUtil.createTooltip(Message.get("MainTabPane.fragmentsTab.tableView.parentMolNameColumn.tooltip"))); + this.parentMolNameColumn.setGraphic(tmpParentNameLabel); + this.parentMolNameColumn.prefWidthProperty().bind( + this.widthProperty().multiply(0.12) //magic number + ); + this.parentMolNameColumn.setResizable(true); + this.parentMolNameColumn.setEditable(false); + this.parentMolNameColumn.setSortable(true); + this.parentMolNameColumn.setCellValueFactory(new PropertyValueFactory(DataModelPropertiesForTableView.PARENT_MOLECULE_NAME.getText())); + this.parentMolNameColumn.setStyle("-fx-alignment: CENTER"); + this.getColumns().add(this.parentMolNameColumn); //-parentMolColumn this.parentMolColumn = new TableColumn<>(); Label tmpParentMolLabel = new Label(Message.get("MainTabPane.fragmentsTab.tableView.parentMolColumn.header")); @@ -172,7 +186,7 @@ public FragmentsDataTableView(IConfiguration aConfiguration){ this.parentMolColumn.setGraphic(tmpParentMolLabel); this.parentMolColumn.setMinWidth(150); //magic number this.parentMolColumn.prefWidthProperty().bind( - this.widthProperty().multiply(0.2475) //magic number + this.widthProperty().multiply(0.2025) //magic number ); this.parentMolColumn.setResizable(true); this.parentMolColumn.setEditable(false); @@ -180,20 +194,6 @@ public FragmentsDataTableView(IConfiguration aConfiguration){ this.parentMolColumn.setCellValueFactory(new PropertyValueFactory(DataModelPropertiesForTableView.PARENT_MOLECULE_STRUCTURE.getText())); this.parentMolColumn.setStyle("-fx-alignment: CENTER"); this.getColumns().add(this.parentMolColumn); - //-parentMolNameColumn - this.parentMolNameColumn = new TableColumn<>(); - Label tmpParentNameLabel = new Label(Message.get("MainTabPane.fragmentsTab.tableView.parentMolNameColumn.header")); - tmpParentNameLabel.setTooltip(GuiUtil.createTooltip(Message.get("MainTabPane.fragmentsTab.tableView.parentMolNameColumn.tooltip"))); - this.parentMolNameColumn.setGraphic(tmpParentNameLabel); - this.parentMolNameColumn.prefWidthProperty().bind( - this.widthProperty().multiply(0.075) //magic number - ); - this.parentMolNameColumn.setResizable(true); - this.parentMolNameColumn.setEditable(false); - this.parentMolNameColumn.setSortable(true); - this.parentMolNameColumn.setCellValueFactory(new PropertyValueFactory(DataModelPropertiesForTableView.PARENT_MOLECULE_NAME.getText())); - this.parentMolNameColumn.setStyle("-fx-alignment: CENTER"); - this.getColumns().add(this.parentMolNameColumn); //-frequencyColumn this.frequencyColumn = new TableColumn<>(Message.get("MainTabPane.fragmentsTab.tableView.frequencyColumn.header")); this.frequencyColumn.setMinWidth(50); //magic number @@ -229,8 +229,11 @@ protected void updateItem(Double value, boolean empty){ }); this.percentageColumn.setStyle("-fx-alignment: CENTER-RIGHT"); this.getColumns().add(this.percentageColumn); - //-frequencyColumn - this.moleculeFrequencyColumn = new TableColumn<>(Message.get("MainTabPane.fragmentsTab.tableView.moleculeFrequencyColumn.header")); + //-moleculeFrequencyColumn + this.moleculeFrequencyColumn = new TableColumn<>(); + Label tmpMolFrequencyLabel = new Label(Message.get("MainTabPane.fragmentsTab.tableView.moleculeFrequencyColumn.header")); + tmpMolFrequencyLabel.setTooltip(GuiUtil.createTooltip(Message.get("MainTabPane.fragmentsTab.tableView.moleculeFrequencyColumn.tooltip"))); + this.moleculeFrequencyColumn.setGraphic(tmpMolFrequencyLabel); this.moleculeFrequencyColumn.setMinWidth(50); //magic number this.moleculeFrequencyColumn.prefWidthProperty().bind( this.widthProperty().multiply(0.1) //magic number @@ -241,8 +244,11 @@ protected void updateItem(Double value, boolean empty){ this.moleculeFrequencyColumn.setCellValueFactory(new PropertyValueFactory(DataModelPropertiesForTableView.MOLECULE_FREQUENCY.getText())); this.moleculeFrequencyColumn.setStyle("-fx-alignment: CENTER-RIGHT"); this.getColumns().add(this.moleculeFrequencyColumn); - //-percentageColumn - this.moleculePercentageColumn = new TableColumn<>(Message.get("MainTabPane.fragmentsTab.tableView.moleculePercentageColumn.header")); + //-moleculePercentageColumn + this.moleculePercentageColumn = new TableColumn<>(); + Label tmpMolPercentageLabel = new Label(Message.get("MainTabPane.fragmentsTab.tableView.moleculePercentageColumn.header")); + tmpMolPercentageLabel.setTooltip(GuiUtil.createTooltip(Message.get("MainTabPane.fragmentsTab.tableView.moleculePercentageColumn.tooltip"))); + this.moleculePercentageColumn.setGraphic(tmpMolPercentageLabel); this.moleculePercentageColumn.setMinWidth(20); //magic number this.moleculePercentageColumn.prefWidthProperty().bind( this.widthProperty().multiply(0.0975) //magic number diff --git a/src/main/resources/de/unijena/cheminf/mortar/message/Message_en_GB.properties b/src/main/resources/de/unijena/cheminf/mortar/message/Message_en_GB.properties index 9b5527da..859d5b8d 100644 --- a/src/main/resources/de/unijena/cheminf/mortar/message/Message_en_GB.properties +++ b/src/main/resources/de/unijena/cheminf/mortar/message/Message_en_GB.properties @@ -92,16 +92,18 @@ MainTabPane.fragments.buttonPDF.txt = PDF MainTabPane.fragments.buttonPDF.tooltip = Export fragments as PDF MainTabPane.fragments.buttonCancelExport.txt = Cancel MainTabPane.fragments.buttonCancelExport.tooltip = Cancel running export -MainTabPane.fragmentsTab.tableView.structureColumn.header = Structure +MainTabPane.fragmentsTab.tableView.structureColumn.header = Fragment Structure MainTabPane.fragmentsTab.tableView.smilesColumn.header = SMILES MainTabPane.fragmentsTab.tableView.frequencyColumn.header = Frequency MainTabPane.fragmentsTab.tableView.percentageColumn.header = Percentage -MainTabPane.fragmentsTab.tableView.moleculeFrequencyColumn.header = Molecule Frequency -MainTabPane.fragmentsTab.tableView.moleculePercentageColumn.header = Molecule Percentage -MainTabPane.fragmentsTab.tableView.parentMolColumn.header = Sample Parent -MainTabPane.fragmentsTab.tableView.parentMolColumn.tooltip = First occurred molecule which contains fragment -MainTabPane.fragmentsTab.tableView.parentMolNameColumn.header = Sample Parent -MainTabPane.fragmentsTab.tableView.parentMolNameColumn.tooltip = First occurred molecule which contains fragment +MainTabPane.fragmentsTab.tableView.moleculeFrequencyColumn.header = Mol. Frequency +MainTabPane.fragmentsTab.tableView.moleculeFrequencyColumn.tooltip = Molecule Frequency +MainTabPane.fragmentsTab.tableView.moleculePercentageColumn.header = Mol. Percentage +MainTabPane.fragmentsTab.tableView.moleculePercentageColumn.tooltip = Molecule Percentage +MainTabPane.fragmentsTab.tableView.parentMolColumn.header = Sample Parent Structure +MainTabPane.fragmentsTab.tableView.parentMolColumn.tooltip = First fragmented molecule which contained the fragment +MainTabPane.fragmentsTab.tableView.parentMolNameColumn.header = Sample Parent Name +MainTabPane.fragmentsTab.tableView.parentMolNameColumn.tooltip = First fragmented molecule which contained the fragment #ItemizationTab# MainTabPane.itemizationTab.title = Items MainTabPane.itemizationTab.csvButton.txt = CSV From 96f69fb74c62f0cd73bf60fb684c920ba3e89f3e Mon Sep 17 00:00:00 2001 From: Jonas Schaub <44881147+JonasSchaub@users.noreply.github.com> Date: Wed, 24 Apr 2024 11:40:41 +0200 Subject: [PATCH 2/5] Reset magic numbers for resizing some columns in fragments table view; added text wrap and min width to parent name column; abbreviated header label of parent name column, full name is in the tooltip; adjusted magic number for structure column in molecules tab a little bit to get rid of scroll bars in default window size; --- .../mortar/controller/MainViewController.java | 2 +- .../mortar/gui/views/FragmentsDataTableView.java | 15 +++++++++++++-- .../mortar/gui/views/MoleculesDataTableView.java | 2 +- .../mortar/message/Message_en_GB.properties | 4 ++-- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/main/java/de/unijena/cheminf/mortar/controller/MainViewController.java b/src/main/java/de/unijena/cheminf/mortar/controller/MainViewController.java index a336ec10..b9c9a478 100644 --- a/src/main/java/de/unijena/cheminf/mortar/controller/MainViewController.java +++ b/src/main/java/de/unijena/cheminf/mortar/controller/MainViewController.java @@ -1303,7 +1303,7 @@ private Tab createFragmentsTab(String aFragmentationName){ int tmpRowsPerPage = this.settingsContainer.getRowsPerPageSetting(); tmpFragmentsDataTableView.setOnSort((EventHandler>) event -> GuiUtil.sortTableViewGlobally(event, tmpPagination, tmpRowsPerPage)); tmpFragmentsDataTableView.widthProperty().addListener((observable, oldValue, newValue) -> { - for(Object tmpObject : tmpFragmentsDataTableView.getItems()) { + for (Object tmpObject : tmpFragmentsDataTableView.getItems()) { ((MoleculeDataModel) tmpObject).setStructureImageWidth(tmpFragmentsDataTableView.getStructureColumn().getWidth()); ((FragmentDataModel) tmpObject).getFirstParentMolecule().setStructureImageWidth(tmpFragmentsDataTableView.getParentMolColumn().getWidth()); } diff --git a/src/main/java/de/unijena/cheminf/mortar/gui/views/FragmentsDataTableView.java b/src/main/java/de/unijena/cheminf/mortar/gui/views/FragmentsDataTableView.java index 68bd171c..99a0fe45 100644 --- a/src/main/java/de/unijena/cheminf/mortar/gui/views/FragmentsDataTableView.java +++ b/src/main/java/de/unijena/cheminf/mortar/gui/views/FragmentsDataTableView.java @@ -170,13 +170,24 @@ public FragmentsDataTableView(IConfiguration aConfiguration){ Label tmpParentNameLabel = new Label(Message.get("MainTabPane.fragmentsTab.tableView.parentMolNameColumn.header")); tmpParentNameLabel.setTooltip(GuiUtil.createTooltip(Message.get("MainTabPane.fragmentsTab.tableView.parentMolNameColumn.tooltip"))); this.parentMolNameColumn.setGraphic(tmpParentNameLabel); + this.parentMolNameColumn.setMinWidth(50); this.parentMolNameColumn.prefWidthProperty().bind( - this.widthProperty().multiply(0.12) //magic number + this.widthProperty().multiply(0.075) //magic number ); this.parentMolNameColumn.setResizable(true); this.parentMolNameColumn.setEditable(false); this.parentMolNameColumn.setSortable(true); this.parentMolNameColumn.setCellValueFactory(new PropertyValueFactory(DataModelPropertiesForTableView.PARENT_MOLECULE_NAME.getText())); + this.parentMolNameColumn.setCellFactory(tableColumn ->{ + TableCell tmpCell = new TableCell<>(); + Text tmpText = new Text(); + tmpText.setTextAlignment(TextAlignment.CENTER); + tmpCell.setGraphic(tmpText); + tmpCell.setPrefHeight(Region.USE_COMPUTED_SIZE); + tmpText.wrappingWidthProperty().bind(this.parentMolNameColumn.widthProperty()); + tmpText.textProperty().bind(tmpCell.itemProperty()); + return tmpCell; + }); this.parentMolNameColumn.setStyle("-fx-alignment: CENTER"); this.getColumns().add(this.parentMolNameColumn); //-parentMolColumn @@ -186,7 +197,7 @@ public FragmentsDataTableView(IConfiguration aConfiguration){ this.parentMolColumn.setGraphic(tmpParentMolLabel); this.parentMolColumn.setMinWidth(150); //magic number this.parentMolColumn.prefWidthProperty().bind( - this.widthProperty().multiply(0.2025) //magic number + this.widthProperty().multiply(0.2475) //magic number ); this.parentMolColumn.setResizable(true); this.parentMolColumn.setEditable(false); diff --git a/src/main/java/de/unijena/cheminf/mortar/gui/views/MoleculesDataTableView.java b/src/main/java/de/unijena/cheminf/mortar/gui/views/MoleculesDataTableView.java index 1661a909..32997dc9 100644 --- a/src/main/java/de/unijena/cheminf/mortar/gui/views/MoleculesDataTableView.java +++ b/src/main/java/de/unijena/cheminf/mortar/gui/views/MoleculesDataTableView.java @@ -139,7 +139,7 @@ public MoleculesDataTableView(IConfiguration aConfiguration) { this.structureColumn = new TableColumn<>(Message.get("MainTabPane.moleculesTab.tableView.structureColumn.header")); this.structureColumn.setMinWidth(150); //magic number this.structureColumn.prefWidthProperty().bind( - this.widthProperty().multiply(0.7975) //magic number + this.widthProperty().multiply(0.796) //magic number ); this.structureColumn.setResizable(true); this.structureColumn.setEditable(false); diff --git a/src/main/resources/de/unijena/cheminf/mortar/message/Message_en_GB.properties b/src/main/resources/de/unijena/cheminf/mortar/message/Message_en_GB.properties index 859d5b8d..1ed3d50e 100644 --- a/src/main/resources/de/unijena/cheminf/mortar/message/Message_en_GB.properties +++ b/src/main/resources/de/unijena/cheminf/mortar/message/Message_en_GB.properties @@ -102,8 +102,8 @@ MainTabPane.fragmentsTab.tableView.moleculePercentageColumn.header = Mol. Percen MainTabPane.fragmentsTab.tableView.moleculePercentageColumn.tooltip = Molecule Percentage MainTabPane.fragmentsTab.tableView.parentMolColumn.header = Sample Parent Structure MainTabPane.fragmentsTab.tableView.parentMolColumn.tooltip = First fragmented molecule which contained the fragment -MainTabPane.fragmentsTab.tableView.parentMolNameColumn.header = Sample Parent Name -MainTabPane.fragmentsTab.tableView.parentMolNameColumn.tooltip = First fragmented molecule which contained the fragment +MainTabPane.fragmentsTab.tableView.parentMolNameColumn.header = S. P. Name +MainTabPane.fragmentsTab.tableView.parentMolNameColumn.tooltip = Sample Parent Name: name of first fragmented molecule which contained the fragment #ItemizationTab# MainTabPane.itemizationTab.title = Items MainTabPane.itemizationTab.csvButton.txt = CSV From 4114abda5c0d4037ab0e387b37081141dda93878 Mon Sep 17 00:00:00 2001 From: Jonas Schaub <44881147+JonasSchaub@users.noreply.github.com> Date: Wed, 24 Apr 2024 15:43:55 +0200 Subject: [PATCH 3/5] Tweaked the items table size a bit to prevent the vertical scroll bar; --- .../unijena/cheminf/mortar/controller/MainViewController.java | 2 +- src/main/java/de/unijena/cheminf/mortar/gui/util/GuiUtil.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/unijena/cheminf/mortar/controller/MainViewController.java b/src/main/java/de/unijena/cheminf/mortar/controller/MainViewController.java index b9c9a478..1de9e6d5 100644 --- a/src/main/java/de/unijena/cheminf/mortar/controller/MainViewController.java +++ b/src/main/java/de/unijena/cheminf/mortar/controller/MainViewController.java @@ -1365,7 +1365,7 @@ private Tab createItemsTab(String aFragmentationName){ int tmpRowsPerPage = this.settingsContainer.getRowsPerPageSetting(); tmpItemizationDataTableView.setOnSort((EventHandler>) event -> GuiUtil.sortTableViewGlobally(event, tmpPagination, tmpRowsPerPage)); tmpItemizationDataTableView.widthProperty().addListener((observable, oldValue, newValue) -> { - for(Object tmpObject : tmpItemizationDataTableView.getItems()) { + for (Object tmpObject : tmpItemizationDataTableView.getItems()) { ((MoleculeDataModel) tmpObject).setStructureImageWidth(tmpItemizationDataTableView.getMoleculeStructureColumn().getWidth()); } }); diff --git a/src/main/java/de/unijena/cheminf/mortar/gui/util/GuiUtil.java b/src/main/java/de/unijena/cheminf/mortar/gui/util/GuiUtil.java index c0bf2c8d..faf469c7 100644 --- a/src/main/java/de/unijena/cheminf/mortar/gui/util/GuiUtil.java +++ b/src/main/java/de/unijena/cheminf/mortar/gui/util/GuiUtil.java @@ -544,13 +544,13 @@ public static void setImageStructureHeight(TableView aTableView, double aHeight, } if (aTableView.getClass().equals(ItemizationDataTableView.class)) { for (MoleculeDataModel tmpMoleculeDataModel : ((IDataTableView)aTableView).getItemsList()) { - tmpMoleculeDataModel.setStructureImageHeight(tmpHeight); + tmpMoleculeDataModel.setStructureImageHeight(tmpHeight - 2.67); //magic number to prevent vertical scroll bar String tmpFragmentationName = ((ItemizationDataTableView) aTableView).getFragmentationName(); if (!tmpMoleculeDataModel.hasMoleculeUndergoneSpecificFragmentation(tmpFragmentationName)) { continue; } for (FragmentDataModel tmpFragmentDataModel : tmpMoleculeDataModel.getFragmentsOfSpecificFragmentation(tmpFragmentationName)) { - tmpFragmentDataModel.setStructureImageHeight(tmpHeight); + tmpFragmentDataModel.setStructureImageHeight(tmpHeight - 2.67); //magic number to prevent vertical scroll bar } } } else { From ee64a367fbec3b49365658c4c4381bb3992b7c15 Mon Sep 17 00:00:00 2001 From: Jonas Schaub <44881147+JonasSchaub@users.noreply.github.com> Date: Thu, 25 Apr 2024 14:44:16 +0200 Subject: [PATCH 4/5] Omitted the items tab size hack from before again since the molecules tab had a much larger gap in the table view at the bottom because of it; --- .../java/de/unijena/cheminf/mortar/gui/util/GuiUtil.java | 6 +++--- .../cheminf/mortar/gui/views/MoleculesDataTableView.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/unijena/cheminf/mortar/gui/util/GuiUtil.java b/src/main/java/de/unijena/cheminf/mortar/gui/util/GuiUtil.java index faf469c7..7b1c2e31 100644 --- a/src/main/java/de/unijena/cheminf/mortar/gui/util/GuiUtil.java +++ b/src/main/java/de/unijena/cheminf/mortar/gui/util/GuiUtil.java @@ -536,7 +536,7 @@ public static void setImageStructureHeight(TableView aTableView, double aHeight, / aRowsPerPage; if (aTableView.getClass().equals(ItemizationDataTableView.class)) { tmpHeight = - (aHeight - 2*GuiDefinitions.GUI_TABLE_VIEW_HEADER_HEIGHT - GuiDefinitions.GUI_PAGINATION_CONTROL_PANEL_HEIGHT) + (aHeight - 2 * GuiDefinitions.GUI_TABLE_VIEW_HEADER_HEIGHT - GuiDefinitions.GUI_PAGINATION_CONTROL_PANEL_HEIGHT) / aRowsPerPage; } if (tmpHeight < GuiDefinitions.GUI_STRUCTURE_IMAGE_MIN_HEIGHT) { @@ -544,13 +544,13 @@ public static void setImageStructureHeight(TableView aTableView, double aHeight, } if (aTableView.getClass().equals(ItemizationDataTableView.class)) { for (MoleculeDataModel tmpMoleculeDataModel : ((IDataTableView)aTableView).getItemsList()) { - tmpMoleculeDataModel.setStructureImageHeight(tmpHeight - 2.67); //magic number to prevent vertical scroll bar + tmpMoleculeDataModel.setStructureImageHeight(tmpHeight); String tmpFragmentationName = ((ItemizationDataTableView) aTableView).getFragmentationName(); if (!tmpMoleculeDataModel.hasMoleculeUndergoneSpecificFragmentation(tmpFragmentationName)) { continue; } for (FragmentDataModel tmpFragmentDataModel : tmpMoleculeDataModel.getFragmentsOfSpecificFragmentation(tmpFragmentationName)) { - tmpFragmentDataModel.setStructureImageHeight(tmpHeight - 2.67); //magic number to prevent vertical scroll bar + tmpFragmentDataModel.setStructureImageHeight(tmpHeight); } } } else { diff --git a/src/main/java/de/unijena/cheminf/mortar/gui/views/MoleculesDataTableView.java b/src/main/java/de/unijena/cheminf/mortar/gui/views/MoleculesDataTableView.java index 32997dc9..e6c9bb21 100644 --- a/src/main/java/de/unijena/cheminf/mortar/gui/views/MoleculesDataTableView.java +++ b/src/main/java/de/unijena/cheminf/mortar/gui/views/MoleculesDataTableView.java @@ -184,7 +184,7 @@ public Node createMoleculeTableViewPage(int aPageIndex, SettingsContainer aSetti } this.selectionAllCheckBoxAction = false; }); - this.itemsObservableList.addListener((ListChangeListener) change -> { + this.itemsObservableList.addListener((ListChangeListener) change -> { if (this.selectionAllCheckBoxAction) { // No further action needed with column checkbox data when the select all checkbox is operated on return; From 38a678e05f6227ed7cd69c50bc75909ac1010396 Mon Sep 17 00:00:00 2001 From: Jonas Schaub <44881147+JonasSchaub@users.noreply.github.com> Date: Tue, 30 Apr 2024 11:12:47 +0200 Subject: [PATCH 5/5] Adjusted column arrangement and column names according to Achim's suggestions; tinkered with the min size and resize magic numbers to make more room for the parent name column label; adjusted also the PDF export to reflect the changes in the fragments tab; --- .../gui/views/FragmentsDataTableView.java | 40 +++++++++---------- .../cheminf/mortar/model/io/Exporter.java | 4 +- .../mortar/message/Message_en_GB.properties | 14 +++---- 3 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/main/java/de/unijena/cheminf/mortar/gui/views/FragmentsDataTableView.java b/src/main/java/de/unijena/cheminf/mortar/gui/views/FragmentsDataTableView.java index 99a0fe45..ff10f89b 100644 --- a/src/main/java/de/unijena/cheminf/mortar/gui/views/FragmentsDataTableView.java +++ b/src/main/java/de/unijena/cheminf/mortar/gui/views/FragmentsDataTableView.java @@ -131,21 +131,9 @@ public FragmentsDataTableView(IConfiguration aConfiguration){ //activate for future bulk export? //this.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); DecimalFormat tmpPercentageForm = new DecimalFormat("#.##%"); - //-structureColumn - this.structureColumn = new TableColumn<>(Message.get("MainTabPane.fragmentsTab.tableView.structureColumn.header")); - this.structureColumn.setMinWidth(150); //magic number - this.structureColumn.prefWidthProperty().bind( - this.widthProperty().multiply(0.2) - ); - this.structureColumn.setResizable(true); - this.structureColumn.setEditable(false); - this.structureColumn.setSortable(false); - this.structureColumn.setCellValueFactory(new PropertyValueFactory(DataModelPropertiesForTableView.STRUCTURE.getText())); - this.structureColumn.setStyle("-fx-alignment: CENTER"); - this.getColumns().add(this.structureColumn); //-smilesColumn this.smilesColumn = new TableColumn<>(Message.get("MainTabPane.fragmentsTab.tableView.smilesColumn.header")); - this.smilesColumn.setMinWidth(50); + this.smilesColumn.setMinWidth(80); this.smilesColumn.prefWidthProperty().bind( this.widthProperty().multiply(0.075) //magic number ); @@ -165,12 +153,24 @@ public FragmentsDataTableView(IConfiguration aConfiguration){ }); this.smilesColumn.setStyle("-fx-alignment: CENTER"); this.getColumns().add(this.smilesColumn); + //-structureColumn + this.structureColumn = new TableColumn<>(Message.get("MainTabPane.fragmentsTab.tableView.structureColumn.header")); + this.structureColumn.setMinWidth(150); //magic number + this.structureColumn.prefWidthProperty().bind( + this.widthProperty().multiply(0.2) + ); + this.structureColumn.setResizable(true); + this.structureColumn.setEditable(false); + this.structureColumn.setSortable(false); + this.structureColumn.setCellValueFactory(new PropertyValueFactory(DataModelPropertiesForTableView.STRUCTURE.getText())); + this.structureColumn.setStyle("-fx-alignment: CENTER"); + this.getColumns().add(this.structureColumn); //-parentMolNameColumn this.parentMolNameColumn = new TableColumn<>(); Label tmpParentNameLabel = new Label(Message.get("MainTabPane.fragmentsTab.tableView.parentMolNameColumn.header")); tmpParentNameLabel.setTooltip(GuiUtil.createTooltip(Message.get("MainTabPane.fragmentsTab.tableView.parentMolNameColumn.tooltip"))); this.parentMolNameColumn.setGraphic(tmpParentNameLabel); - this.parentMolNameColumn.setMinWidth(50); + this.parentMolNameColumn.setMinWidth(80); this.parentMolNameColumn.prefWidthProperty().bind( this.widthProperty().multiply(0.075) //magic number ); @@ -209,7 +209,7 @@ public FragmentsDataTableView(IConfiguration aConfiguration){ this.frequencyColumn = new TableColumn<>(Message.get("MainTabPane.fragmentsTab.tableView.frequencyColumn.header")); this.frequencyColumn.setMinWidth(50); //magic number this.frequencyColumn.prefWidthProperty().bind( - this.widthProperty().multiply(0.1) //magic number + this.widthProperty().multiply(0.098) //magic number ); this.frequencyColumn.setResizable(true); this.frequencyColumn.setEditable(false); @@ -219,9 +219,9 @@ public FragmentsDataTableView(IConfiguration aConfiguration){ this.getColumns().add(this.frequencyColumn); //-percentageColumn this.percentageColumn = new TableColumn<>(Message.get("MainTabPane.fragmentsTab.tableView.percentageColumn.header")); - this.percentageColumn.setMinWidth(20); //magic number + this.percentageColumn.setMinWidth(50); //magic number this.percentageColumn.prefWidthProperty().bind( - this.widthProperty().multiply(0.1) //magic number + this.widthProperty().multiply(0.098) //magic number ); this.percentageColumn.setResizable(true); this.percentageColumn.setEditable(false); @@ -247,7 +247,7 @@ protected void updateItem(Double value, boolean empty){ this.moleculeFrequencyColumn.setGraphic(tmpMolFrequencyLabel); this.moleculeFrequencyColumn.setMinWidth(50); //magic number this.moleculeFrequencyColumn.prefWidthProperty().bind( - this.widthProperty().multiply(0.1) //magic number + this.widthProperty().multiply(0.098) //magic number ); this.moleculeFrequencyColumn.setResizable(true); this.moleculeFrequencyColumn.setEditable(false); @@ -260,9 +260,9 @@ protected void updateItem(Double value, boolean empty){ Label tmpMolPercentageLabel = new Label(Message.get("MainTabPane.fragmentsTab.tableView.moleculePercentageColumn.header")); tmpMolPercentageLabel.setTooltip(GuiUtil.createTooltip(Message.get("MainTabPane.fragmentsTab.tableView.moleculePercentageColumn.tooltip"))); this.moleculePercentageColumn.setGraphic(tmpMolPercentageLabel); - this.moleculePercentageColumn.setMinWidth(20); //magic number + this.moleculePercentageColumn.setMinWidth(50); //magic number this.moleculePercentageColumn.prefWidthProperty().bind( - this.widthProperty().multiply(0.0975) //magic number + this.widthProperty().multiply(0.098) //magic number ); this.moleculePercentageColumn.setResizable(true); this.moleculePercentageColumn.setEditable(false); diff --git a/src/main/java/de/unijena/cheminf/mortar/model/io/Exporter.java b/src/main/java/de/unijena/cheminf/mortar/model/io/Exporter.java index b53c5dde..5cf6112b 100644 --- a/src/main/java/de/unijena/cheminf/mortar/model/io/Exporter.java +++ b/src/main/java/de/unijena/cheminf/mortar/model/io/Exporter.java @@ -611,8 +611,8 @@ private List createFragmentsTabPdfFile(File aPdfFile, Chunk tmpHeader = new Chunk(Message.get("Exporter.fragmentationTab.pdfCellHeader.header"), FontFactory.getFont(FontFactory.TIMES_ROMAN, 18, Font.UNDERLINE)); Paragraph tmpSpace = new Paragraph(" "); - tmpFragmentationTable.addCell(tmpFragmentCell); tmpFragmentationTable.addCell(tmpSmilesStringCell); + tmpFragmentationTable.addCell(tmpFragmentCell); tmpFragmentationTable.addCell(tmpFrequencyCell); tmpFragmentationTable.addCell(tmpPercentageCell); tmpFragmentationTable.addCell(tmpMolFrequencyCell); @@ -656,8 +656,8 @@ private List createFragmentsTabPdfFile(File aPdfFile, PdfPCell tmpCellOfMolPercentage = new PdfPCell(new Paragraph(tmpStringMoleculePercentage)); tmpCellOfMolPercentage.setHorizontalAlignment(Element.ALIGN_RIGHT); tmpImageFragmentCell.addElement(tmpImageFragment); - tmpFragmentationTable.addCell(tmpImageFragmentCell); tmpFragmentationTable.addCell(tmpFragmentDataModel.getUniqueSmiles()); + tmpFragmentationTable.addCell(tmpImageFragmentCell); tmpFragmentationTable.addCell(tmpCellOfFrequency); tmpFragmentationTable.addCell(tmpCellOfPercentage); tmpFragmentationTable.addCell(tmpCellOfMolFrequency); diff --git a/src/main/resources/de/unijena/cheminf/mortar/message/Message_en_GB.properties b/src/main/resources/de/unijena/cheminf/mortar/message/Message_en_GB.properties index 1ed3d50e..0f5ceedd 100644 --- a/src/main/resources/de/unijena/cheminf/mortar/message/Message_en_GB.properties +++ b/src/main/resources/de/unijena/cheminf/mortar/message/Message_en_GB.properties @@ -92,7 +92,7 @@ MainTabPane.fragments.buttonPDF.txt = PDF MainTabPane.fragments.buttonPDF.tooltip = Export fragments as PDF MainTabPane.fragments.buttonCancelExport.txt = Cancel MainTabPane.fragments.buttonCancelExport.tooltip = Cancel running export -MainTabPane.fragmentsTab.tableView.structureColumn.header = Fragment Structure +MainTabPane.fragmentsTab.tableView.structureColumn.header = Structure MainTabPane.fragmentsTab.tableView.smilesColumn.header = SMILES MainTabPane.fragmentsTab.tableView.frequencyColumn.header = Frequency MainTabPane.fragmentsTab.tableView.percentageColumn.header = Percentage @@ -100,9 +100,9 @@ MainTabPane.fragmentsTab.tableView.moleculeFrequencyColumn.header = Mol. Frequen MainTabPane.fragmentsTab.tableView.moleculeFrequencyColumn.tooltip = Molecule Frequency MainTabPane.fragmentsTab.tableView.moleculePercentageColumn.header = Mol. Percentage MainTabPane.fragmentsTab.tableView.moleculePercentageColumn.tooltip = Molecule Percentage -MainTabPane.fragmentsTab.tableView.parentMolColumn.header = Sample Parent Structure -MainTabPane.fragmentsTab.tableView.parentMolColumn.tooltip = First fragmented molecule which contained the fragment -MainTabPane.fragmentsTab.tableView.parentMolNameColumn.header = S. P. Name +MainTabPane.fragmentsTab.tableView.parentMolColumn.header = Parent Structure +MainTabPane.fragmentsTab.tableView.parentMolColumn.tooltip = Sample Parent Structure: first fragmented molecule which contained the fragment +MainTabPane.fragmentsTab.tableView.parentMolNameColumn.header = Parent Name MainTabPane.fragmentsTab.tableView.parentMolNameColumn.tooltip = Sample Parent Name: name of first fragmented molecule which contained the fragment #ItemizationTab# MainTabPane.itemizationTab.title = Items @@ -149,9 +149,9 @@ Exporter.fragmentationTab.pdfCellHeader.header = MORTAR Fragmentation Tab Export Exporter.fragmentationTab.pdfCellHeader.smiles = SMILES Exporter.fragmentationTab.pdfCellHeader.frequency = Frequency Exporter.fragmentationTab.pdfCellHeader.percentage = Percentage -Exporter.fragmentationTab.pdfCellHeader.moleculeFrequency = Molecule Frequency -Exporter.fragmentationTab.pdfCellHeader.moleculePercentage = Molecule Percentage -Exporter.fragmentationTab.pdfCellHeader.fragment = Fragment +Exporter.fragmentationTab.pdfCellHeader.moleculeFrequency = Mol. Frequency +Exporter.fragmentationTab.pdfCellHeader.moleculePercentage = Mol. Percentage +Exporter.fragmentationTab.pdfCellHeader.fragment = Structure Exporter.itemsTab.pdfCellHeader.header = MORTAR Itemization Tab Export Exporter.itemsTab.pdfCellHeader.name = Name Exporter.itemsTab.pdfCellHeader.structure = Structure