use of org.pushingpixels.flamingo.api.common.RichTooltip in project gephi by gephi.
the class DataTableTopComponent method preparePluginGeneralActionsButton.
/**
* Prepare a button for the popup panel for plugin general actions.
*
* @param m PluginGeneralActionsManipulator for the button
* @return JCommandButton for the manipulator
*/
private JCommandButton preparePluginGeneralActionsButton(final PluginGeneralActionsManipulator m) {
//Convert icon to Image if it is not null
JCommandButton button = new JCommandButton(m.getName(), m.getIcon() != null ? ImageWrapperResizableIcon.getIcon(ImageUtilities.icon2Image(m.getIcon()), new Dimension(16, 16)) : null);
button.setDisplayState(CommandButtonDisplayState.BIG);
button.setCommandButtonKind(JCommandButton.CommandButtonKind.ACTION_ONLY);
if (m.getDescription() != null && !m.getDescription().isEmpty()) {
button.setPopupRichTooltip(new RichTooltip(NbBundle.getMessage(DataTableTopComponent.class, "DataTableTopComponent.RichToolTip.title.text"), m.getDescription()));
}
if (m.canExecute()) {
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
DataLaboratoryHelper.getDefault().executeManipulator(m);
}
});
} else {
button.setEnabled(false);
}
return button;
}
use of org.pushingpixels.flamingo.api.common.RichTooltip in project gephi by gephi.
the class DataTableTopComponent method prepareJCommandButton.
/**
* Creates a JCommandButton for the specified columns of a table and
* AttributeColumnsManipulator
*
* @param graphModel graph model
* @param table table
* @param columns Columns
* @param acm AttributeColumnsManipulator
* @return Prepared JCommandButton
*/
private JCommandButton prepareJCommandButton(final GraphModel graphModel, final Table table, final Column[] columns, final AttributeColumnsManipulator acm) {
JCommandButton manipulatorButton;
if (acm.getIcon() != null) {
manipulatorButton = new JCommandButton(acm.getName(), ImageWrapperResizableIcon.getIcon(acm.getIcon(), new Dimension(16, 16)));
} else {
manipulatorButton = new JCommandButton(acm.getName());
}
manipulatorButton.setCommandButtonKind(JCommandButton.CommandButtonKind.POPUP_ONLY);
manipulatorButton.setDisplayState(CommandButtonDisplayState.MEDIUM);
if (acm.getDescription() != null && !acm.getDescription().isEmpty()) {
manipulatorButton.setPopupRichTooltip(new RichTooltip(NbBundle.getMessage(DataTableTopComponent.class, "DataTableTopComponent.RichToolTip.title.text"), acm.getDescription()));
}
final ArrayList<Column> availableColumns = new ArrayList<>();
for (final Column column : columns) {
if (acm.canManipulateColumn(table, column)) {
availableColumns.add(column);
}
}
if (!availableColumns.isEmpty()) {
manipulatorButton.setPopupCallback(new PopupPanelCallback() {
@Override
public JPopupPanel getPopupPanel(JCommandButton jcb) {
JCommandPopupMenu popup = new JCommandPopupMenu();
JCommandMenuButton button;
for (final Column column : availableColumns) {
button = new JCommandMenuButton(column.getTitle(), ImageWrapperResizableIcon.getIcon(ImageUtilities.loadImage("org/gephi/desktop/datalab/resources/column.png"), new Dimension(16, 16)));
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
DataLaboratoryHelper.getDefault().executeAttributeColumnsManipulator(acm, graphModel, table, column);
}
});
popup.addMenuButton(button);
}
return popup;
}
});
} else {
manipulatorButton.setEnabled(false);
}
return manipulatorButton;
}
Aggregations