MCPcopy Create free account
hub / github.com/dorkbox/SystemTray / add

Method add

src/dorkbox/systemTray/ui/swing/SwingMenu.java:73–106  ·  view source on GitHub ↗
(final Menu parentMenu, final Entry entry, final int index)

Source from the content-addressed store, hash-verified

71 }
72
73 @Override
74 public
75 void add(final Menu parentMenu, final Entry entry, final int index) {
76 // must always be called on the EDT
77 SwingUtil.INSTANCE.invokeAndWaitQuietly(()->{
78 // don't add this entry if it's already been added via another method. Because of threading via swing/gtk, entries can
79 // POSSIBLY get added twice. Once via add() and once via bind().
80 if (entry.hasPeer()) {
81 return;
82 }
83
84 if (entry instanceof Menu) {
85 SwingMenu swingMenu = new SwingMenu(SwingMenu.this, (Menu) entry, index);
86 ((Menu) entry).bind(swingMenu, parentMenu, parentMenu.getImageResizeUtil());
87 }
88 else if (entry instanceof Separator) {
89 SwingMenuItemSeparator item = new SwingMenuItemSeparator(SwingMenu.this, index);
90 entry.bind(item, parentMenu, parentMenu.getImageResizeUtil());
91 }
92 else if (entry instanceof Checkbox) {
93 SwingMenuItemCheckbox item = new SwingMenuItemCheckbox(SwingMenu.this, entry, index);
94 ((Checkbox) entry).bind(item, parentMenu, parentMenu.getImageResizeUtil());
95 }
96 else if (entry instanceof Status) {
97 // Note: Status is always index 0
98 SwingMenuItemStatus item = new SwingMenuItemStatus(SwingMenu.this, entry);
99 ((Status) entry).bind(item, parentMenu, parentMenu.getImageResizeUtil());
100 }
101 else if (entry instanceof MenuItem) {
102 SwingMenuItem item = new SwingMenuItem(SwingMenu.this, entry, index);
103 ((MenuItem) entry).bind(item, parentMenu, parentMenu.getImageResizeUtil());
104 }
105 });
106 }
107
108 // is overridden in tray impl
109 @Override

Callers

nothing calls this directly

Calls 3

hasPeerMethod · 0.80
getImageResizeUtilMethod · 0.80
bindMethod · 0.45

Tested by

no test coverage detected