Added: Icons for Simple editor library folders

This commit is contained in:
Jindra Petřík
2025-05-01 22:48:52 +02:00
parent e55ccf1ca1
commit 4c4ddbe55e
2 changed files with 64 additions and 11 deletions
@@ -148,16 +148,51 @@ public class LibraryTreeTable extends JTreeTable {
@Override
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) {
JLabel label = (JLabel) super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
if (!leaf) {
/*if (!leaf) {
if (expanded) {
label.setIcon(View.getIcon("folderopen16"));
} else {
label.setIcon(View.getIcon("folder16"));
}
}
}*/
if (value instanceof DefaultMutableTreeNode) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
Object object = node.getUserObject();
if (object instanceof LibraryFolder) {
String folderName = ((LibraryFolder) object).getName();
switch (folderName) {
case "images":
label.setIcon(View.getIcon("folderimages16"));
break;
case "graphics":
label.setIcon(View.getIcon("foldershapes16"));
break;
case "shapeTweens":
label.setIcon(View.getIcon("foldermorphshapes16"));
break;
case "texts":
label.setIcon(View.getIcon("foldertexts16"));
break;
case "fonts":
label.setIcon(View.getIcon("folderfonts16"));
break;
case "movieClips":
label.setIcon(View.getIcon("foldersprites16"));
break;
case "buttons":
label.setIcon(View.getIcon("folderbuttons16"));
break;
case "sounds":
label.setIcon(View.getIcon("foldersounds16"));
break;
case "videos":
label.setIcon(View.getIcon("foldermovies16"));
break;
default:
label.setIcon(View.getIcon("folder16"));
break;
}
}
if (object instanceof ImageTag) {
ImageTag it = (ImageTag) object;
label.setIcon(View.getIcon("image16"));
@@ -211,6 +246,23 @@ public class LibraryTreeTable extends JTreeTable {
}
}
private static class LibraryFolder {
private String name;
public LibraryFolder(String name) {
this.name = name;
}
@Override
public String toString() {
return EasyStrings.translate("library.folder." + name);
}
public String getName() {
return name;
}
}
private static class LibraryTreeTableModel implements TreeTableModel {
private DefaultMutableTreeNode root;
@@ -218,15 +270,15 @@ public class LibraryTreeTable extends JTreeTable {
public LibraryTreeTableModel(SWF swf) {
DefaultMutableTreeNode root = new DefaultMutableTreeNode("SWF");
DefaultMutableTreeNode imagesNode = new DefaultMutableTreeNode(EasyStrings.translate("library.folder.images"));
DefaultMutableTreeNode graphicsNode = new DefaultMutableTreeNode(EasyStrings.translate("library.folder.graphics"));
DefaultMutableTreeNode shapeTweensNode = new DefaultMutableTreeNode(EasyStrings.translate("library.folder.shapeTweens"));
DefaultMutableTreeNode textsNode = new DefaultMutableTreeNode(EasyStrings.translate("library.folder.texts"));
DefaultMutableTreeNode fontsNode = new DefaultMutableTreeNode(EasyStrings.translate("library.folder.fonts"));
DefaultMutableTreeNode movieClipsNode = new DefaultMutableTreeNode(EasyStrings.translate("library.folder.movieClips"));
DefaultMutableTreeNode buttonsNode = new DefaultMutableTreeNode(EasyStrings.translate("library.folder.buttons"));
DefaultMutableTreeNode soundsNode = new DefaultMutableTreeNode(EasyStrings.translate("library.folder.sounds"));
DefaultMutableTreeNode videosNode = new DefaultMutableTreeNode(EasyStrings.translate("library.folder.videos"));
DefaultMutableTreeNode imagesNode = new DefaultMutableTreeNode(new LibraryFolder("images"));
DefaultMutableTreeNode graphicsNode = new DefaultMutableTreeNode(new LibraryFolder("graphics"));
DefaultMutableTreeNode shapeTweensNode = new DefaultMutableTreeNode(new LibraryFolder("shapeTweens"));
DefaultMutableTreeNode textsNode = new DefaultMutableTreeNode(new LibraryFolder("texts"));
DefaultMutableTreeNode fontsNode = new DefaultMutableTreeNode(new LibraryFolder("fonts"));
DefaultMutableTreeNode movieClipsNode = new DefaultMutableTreeNode(new LibraryFolder("movieClips"));
DefaultMutableTreeNode buttonsNode = new DefaultMutableTreeNode(new LibraryFolder("buttons"));
DefaultMutableTreeNode soundsNode = new DefaultMutableTreeNode(new LibraryFolder("sounds"));
DefaultMutableTreeNode videosNode = new DefaultMutableTreeNode(new LibraryFolder("videos"));
this.root = root;