public Component getTableCellRendererComponent()

in src/org/jetbrains/r/packages/remote/ui/RInstalledPackagesPanelBase.java [684:714]


    public Component getTableCellRendererComponent(final JTable table, final Object value, final boolean isSelected,
                                                   final boolean hasFocus, final int row, final int column) {
      RInstalledPackage aPackage = getInstalledPackageAt(table, row);
      if (aPackage == null) return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
      if (column == PACKAGE_NAME_COLUMN) {
        PointerInfo info = MouseInfo.getPointerInfo();
        Point columnRow = (info != null) ? getMouseColumnRow(info.getLocation(), table) : new Point(-1, -1);
        myPackageNameLinkLabel.setText(aPackage.getName());
        myPackageNameLinkLabel.setUnderline(columnRow.x == column && columnRow.y == row);
        return myPackageNameLinkLabel;
      }
      if (column == BROWSE_COLUMN) {
        myLabel.setText("");
        myLabel.setIcon(AllIcons.General.Web);
        return myLabel;
      }
      if (column == UNINSTALL_COLUMN) {
        myLabel.setText("");
        var canUninstall = myPackageManagementService.canUninstallPackage(aPackage);
        var icon = canUninstall ? AllIcons.Diff.Remove : null;
        myLabel.setIcon(icon);
        return myLabel;
      }
      if (column == IS_LOADED_COLUMN) {
        myIsLoadedCheckBox.setText("");
        myIsLoadedCheckBox.setBackground(myPackagesTable.getBackground());
        myIsLoadedCheckBox.setSelected(myPackageManagementService.isPackageLoaded(aPackage.getName()));
        return myIsLoadedCheckBox;
      }
      return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    }