Files
VisualSapfor/src/Common/Visual/Selectable.java
2024-10-07 17:46:38 +03:00

39 lines
1.1 KiB
Java

package Common.Visual;
import Common_old.Utils.Utils;
import javax.swing.*;
public interface Selectable {
boolean isSelected();
default void Select(boolean flag) {
if (isSelectionEnabled())
select(flag);
}
void select(boolean flag);
//-
default ImageIcon GetSelectionIcon() {
return
isSelectionEnabled() ?
Utils.getIcon("/Common/icons/" + (isSelected() ? "Pick" : "NotPick") + ".png") :
GetDisabledIcon();
}
default ImageIcon GetDisabledIcon() {
return Utils.getIcon("/Common/icons/Arrays/Unknown.png");
}
default void SwitchSelection() {
Select(!isSelected());
}
//строчный контент для передачи параметров проходам.
default String getSelectionContent() {
return toString();
}
//-
default String getSelectionText() {
return toString();
}
default boolean isSelectionEnabled() {
return true;
}
default void SelectAllChildren(boolean select) {
}
}