mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-27 23:18:02 -04:00
added tooltips to component tree and InsertHistory
This commit is contained in:
parent
618a02051a
commit
cd7fbec7e6
@ -1,8 +1,11 @@
|
|||||||
package de.neemann.digital.draw.library;
|
package de.neemann.digital.draw.library;
|
||||||
|
|
||||||
|
import de.neemann.digital.core.element.ElementAttributes;
|
||||||
import de.neemann.digital.core.element.ElementTypeDescription;
|
import de.neemann.digital.core.element.ElementTypeDescription;
|
||||||
import de.neemann.digital.draw.elements.VisualElement;
|
import de.neemann.digital.draw.elements.VisualElement;
|
||||||
import de.neemann.digital.draw.shapes.ShapeFactory;
|
import de.neemann.digital.draw.shapes.ShapeFactory;
|
||||||
|
import de.neemann.digital.lang.Lang;
|
||||||
|
import de.neemann.gui.StringUtils;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@ -271,4 +274,17 @@ public class LibraryNode implements Iterable<LibraryNode> {
|
|||||||
icon = null;
|
icon = null;
|
||||||
library.fireLibraryChanged(this);
|
library.fireLibraryChanged(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the tool tip text
|
||||||
|
*/
|
||||||
|
public String getToolTipText() {
|
||||||
|
if (isCustom()) {
|
||||||
|
if (description == null)
|
||||||
|
return null;
|
||||||
|
else
|
||||||
|
return StringUtils.textToHTML(description.getDescription(new ElementAttributes()));
|
||||||
|
} else
|
||||||
|
return StringUtils.textToHTML(Lang.getNull("elem_" + getName() + "_tt"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -82,4 +82,11 @@ public final class InsertAction extends ToolTipAction {
|
|||||||
SwingUtilities.invokeLater(new ErrorMessage(Lang.get("msg_errorImportingModel")).addCause(ex));
|
SwingUtilities.invokeLater(new ErrorMessage(Lang.get("msg_errorImportingModel")).addCause(ex));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the library node
|
||||||
|
*/
|
||||||
|
public LibraryNode getNode() {
|
||||||
|
return node;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,7 @@ public class InsertHistory implements LibraryListener {
|
|||||||
if (!contains(action)) {
|
if (!contains(action)) {
|
||||||
WrapperAction wrapper = new WrapperAction(action, bar.getComponentCount());
|
WrapperAction wrapper = new WrapperAction(action, bar.getComponentCount());
|
||||||
wrappers.add(wrapper);
|
wrappers.add(wrapper);
|
||||||
bar.add(wrapper);
|
bar.add(wrapper).setToolTipText(action.getNode().getToolTipText());
|
||||||
if (wrappers.size() > MAX_ICONS) {
|
if (wrappers.size() > MAX_ICONS) {
|
||||||
int oldest = findOldestIndex();
|
int oldest = findOldestIndex();
|
||||||
removeWrapperFromToolBar(wrappers.get(oldest));
|
removeWrapperFromToolBar(wrappers.get(oldest));
|
||||||
|
@ -7,7 +7,6 @@ import de.neemann.digital.draw.shapes.ShapeFactory;
|
|||||||
import de.neemann.digital.gui.components.CircuitComponent;
|
import de.neemann.digital.gui.components.CircuitComponent;
|
||||||
import de.neemann.digital.lang.Lang;
|
import de.neemann.digital.lang.Lang;
|
||||||
import de.neemann.gui.ErrorMessage;
|
import de.neemann.gui.ErrorMessage;
|
||||||
import de.neemann.gui.StringUtils;
|
|
||||||
import de.neemann.gui.ToolTipAction;
|
import de.neemann.gui.ToolTipAction;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
@ -85,7 +84,7 @@ public class LibrarySelector implements LibraryListener {
|
|||||||
private void addComponents(JMenu parts, LibraryNode node) {
|
private void addComponents(JMenu parts, LibraryNode node) {
|
||||||
if (node.isLeaf()) {
|
if (node.isLeaf()) {
|
||||||
parts.add(new InsertAction(node, insertHistory, circuitComponent, shapeFactory)
|
parts.add(new InsertAction(node, insertHistory, circuitComponent, shapeFactory)
|
||||||
.setToolTip(createToolTipText(node.getName()))
|
.setToolTip(node.getToolTipText())
|
||||||
.createJMenuItem());
|
.createJMenuItem());
|
||||||
} else {
|
} else {
|
||||||
JMenu subMenu = new JMenu(node.getName());
|
JMenu subMenu = new JMenu(node.getName());
|
||||||
@ -94,8 +93,4 @@ public class LibrarySelector implements LibraryListener {
|
|||||||
parts.add(subMenu);
|
parts.add(subMenu);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String createToolTipText(String elementName) {
|
|
||||||
return StringUtils.textToHTML(Lang.getNull("elem_" + elementName + "_tt"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -57,6 +57,19 @@ public class SelectTree extends JTree {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
setCellRenderer(new MyCellRenderer());
|
setCellRenderer(new MyCellRenderer());
|
||||||
|
setToolTipText("");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getToolTipText(MouseEvent e) {
|
||||||
|
TreePath selPath = getPathForLocation(e.getX(), e.getY());
|
||||||
|
if (selPath != null && selPath.getPathCount() > 0) {
|
||||||
|
Object lp = selPath.getLastPathComponent();
|
||||||
|
if (lp instanceof LibraryNode) {
|
||||||
|
return ((LibraryNode) lp).getToolTipText();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private class MyCellRenderer extends DefaultTreeCellRenderer {
|
private class MyCellRenderer extends DefaultTreeCellRenderer {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user