From 884bedfb1e4db540e909a525f1d42c1657d16ef7 Mon Sep 17 00:00:00 2001 From: "Rustam.Vishnyakov" Date: Fri, 24 Dec 2010 15:29:23 +0300 Subject: [PATCH] Minor JS library edit dialog UI changes (presentable file names, path tooltips) --- .../ui/EditLibraryDialog.form | 4 ++-- .../ui/EditLibraryDialog.java | 23 +++++++++++++++++-- .../src/messages/IdeBundle.properties | 1 + 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/EditLibraryDialog.form b/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/EditLibraryDialog.form index e6ca688989ca..e547839fa495 100644 --- a/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/EditLibraryDialog.form +++ b/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/EditLibraryDialog.form @@ -54,7 +54,7 @@ - + @@ -118,7 +118,7 @@ - + diff --git a/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/EditLibraryDialog.java b/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/EditLibraryDialog.java index 7dc2ac05c2ed..5618ea8e8dc3 100644 --- a/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/EditLibraryDialog.java +++ b/platform/lang-impl/src/com/intellij/ide/scriptingContext/ui/EditLibraryDialog.java @@ -38,6 +38,7 @@ import javax.swing.event.ListDataListener; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import javax.swing.table.AbstractTableModel; +import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.TableColumn; import java.awt.*; import java.awt.event.*; @@ -80,6 +81,7 @@ public class EditLibraryDialog extends DialogWrapper { }); myFileTableModel = new FileTableModel(); + myFileTable.setRowHeight(myFileTable.getRowHeight() + 5); myFileTable.setModel(myFileTableModel); myRemoveFileButton.setEnabled(false); @@ -140,6 +142,9 @@ public class EditLibraryDialog extends DialogWrapper { typeCol.setMaxWidth(80); MyTableCellEditor cellEditor = new MyTableCellEditor(new JComboBox(new String[] {mySourceTypeName, myCompactTypeName}), myFileTableModel); typeCol.setCellEditor(cellEditor); + + TableColumn fileCol = myFileTable.getColumnModel().getColumn(FILE_LOCATION_COL); + fileCol.setCellRenderer(new MyTableCellRenderer()); } public EditLibraryDialog(String title, LangScriptingContextProvider provider, Project project, ScriptingLibraryTable.LibraryModel lib) { @@ -152,6 +157,20 @@ public class EditLibraryDialog extends DialogWrapper { myRemoveDocUrlButton.setEnabled(true); } } + + private class MyTableCellRenderer extends DefaultTableCellRenderer { + @Override + public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { + Component renderer = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); + if (renderer instanceof JLabel) { + VirtualFile file = myFileTableModel.getFileAt(row); + if (file != null) { + ((JLabel)renderer).setToolTipText(file.getPath()); + } + } + return renderer; + } + } private class MyTableCellEditor extends DefaultCellEditor { @@ -245,7 +264,7 @@ public class EditLibraryDialog extends DialogWrapper { public String getColumnName(int column) { switch(column) { case FILE_LOCATION_COL: - return IdeBundle.message("scripting.lib.file.location"); + return IdeBundle.message("scripting.lib.file.name"); case FILE_TYPE_COL: return IdeBundle.message("scripting.lib.file.type"); } @@ -307,7 +326,7 @@ public class EditLibraryDialog extends DialogWrapper { VirtualFile file = myFiles.get(rowIndex); switch (columnIndex) { case FILE_LOCATION_COL: - return file; + return file.getPresentableName(); case FILE_TYPE_COL: return myCompactFiles.contains(file) ? myCompactTypeName : mySourceTypeName; } diff --git a/platform/platform-resources-en/src/messages/IdeBundle.properties b/platform/platform-resources-en/src/messages/IdeBundle.properties index b32905628a95..7ded1a7c5fc4 100644 --- a/platform/platform-resources-en/src/messages/IdeBundle.properties +++ b/platform/platform-resources-en/src/messages/IdeBundle.properties @@ -1083,6 +1083,7 @@ label.no.inspections.found=No inspections found #Scripting library management scripting.lib.name=&Name scripting.lib.file.title=Files +scripting.lib.file.name=Name scripting.lib.file.location=Location scripting.lib.file.type=Type scripting.lib.select.root=Select library file or directory