Updated examples to include new functionality

This commit is contained in:
nathan 2016-10-03 23:55:25 +02:00
parent 7e2834c0cb
commit 4bbe713519
4 changed files with 83 additions and 27 deletions

View File

@ -414,7 +414,7 @@ class Menu {
}
/**
* This removes a sub-menu entry or sub-menu from the dropdown menu.
* This removes a sub-menu entry from the dropdown menu.
*
* @param menu This is the menu entry to remove
*/
@ -484,4 +484,12 @@ class Menu {
}
});
}
/**
* This removes the sub-menu entry from the dropdown menu.
*/
public
void remove() {
getParent().remove(this);
}
}

View File

@ -50,45 +50,61 @@ class TestTray {
throw new RuntimeException("Unable to load SystemTray!");
}
this.systemTray.setIcon(LT_GRAY_MAIL);
systemTray.setIcon(LT_GRAY_MAIL);
systemTray.setStatus("No Mail");
callbackGreen = new SystemTrayMenuAction() {
@Override
public
void onClick(final SystemTray systemTray, final Menu parentMenu, final MenuEntry menuEntry) {
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry menuEntry) {
systemTray.setStatus("Some Mail!");
systemTray.setIcon(GREEN_MAIL);
menuEntry.setCallback(callbackGray);
menuEntry.setImage(BLACK_MAIL);
menuEntry.setText("Delete Mail");
// systemTray.removeMenuEntry(menuEntry);
// systemTray.remove(menuEntry);
}
};
callbackGray = new SystemTrayMenuAction() {
@Override
public
void onClick(final SystemTray systemTray, final Menu parentMenu, final MenuEntry menuEntry) {
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry menuEntry) {
systemTray.setStatus(null);
systemTray.setIcon(BLACK_MAIL);
menuEntry.setCallback(null);
// systemTray.setStatus("Mail Empty");
systemTray.removeMenuEntry(menuEntry);
systemTray.remove(menuEntry);
System.err.println("POW");
}
};
this.systemTray.addMenuEntry("Green Mail", GREEN_MAIL, callbackGreen);
this.systemTray.addMenuSpacer();
this.systemTray.addMenuEntry("AAAAAAAA", LT_GRAY_MAIL, null);
this.systemTray.addEntry("Green Mail", GREEN_MAIL, callbackGreen);
this.systemTray.addSeparator();
systemTray.addMenuEntry("Quit", new SystemTrayMenuAction() {
final Menu submenu = this.systemTray.addMenu("Options", BLACK_MAIL);
submenu.addEntry("Disable menu", LT_GRAY_MAIL, new SystemTrayMenuAction() {
@Override
public
void onClick(final SystemTray systemTray, final Menu parentMenu, final MenuEntry menuEntry) {
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry entry) {
submenu.setEnabled(false);
}
});
submenu.addEntry("Remove menu", GREEN_MAIL, new SystemTrayMenuAction() {
@Override
public
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry entry) {
submenu.remove();
}
});
systemTray.addEntry("Quit", new SystemTrayMenuAction() {
@Override
public
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry menuEntry) {
systemTray.shutdown();
//System.exit(0); not necessary if all non-daemon threads have stopped.
}

View File

@ -90,38 +90,54 @@ class TestTrayJavaFX extends Application {
callbackGreen = new SystemTrayMenuAction() {
@Override
public
void onClick(final SystemTray systemTray, final Menu parentMenu, final MenuEntry menuEntry) {
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry menuEntry) {
systemTray.setIcon(GREEN_MAIL);
systemTray.setStatus("Some Mail!");
menuEntry.setCallback(callbackGray);
menuEntry.setImage(BLACK_MAIL);
menuEntry.setText("Delete Mail");
// systemTray.removeMenuEntry(menuEntry);
// systemTray.remove(menuEntry);
}
};
callbackGray = new SystemTrayMenuAction() {
@Override
public
void onClick(final SystemTray systemTray, final Menu parentMenu, final MenuEntry menuEntry) {
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry menuEntry) {
systemTray.setStatus(null);
systemTray.setIcon(BLACK_MAIL);
menuEntry.setCallback(null);
// systemTray.setStatus("Mail Empty");
systemTray.removeMenuEntry(menuEntry);
systemTray.remove(menuEntry);
System.err.println("POW");
}
};
this.systemTray.addMenuEntry("Green Mail", GREEN_MAIL, callbackGreen);
this.systemTray.addMenuSpacer();
this.systemTray.addEntry("Green Mail", GREEN_MAIL, callbackGreen);
this.systemTray.addSeparator();
systemTray.addMenuEntry("Quit", new SystemTrayMenuAction() {
final Menu submenu = this.systemTray.addMenu("Options", BLACK_MAIL);
submenu.addEntry("Disable menu", LT_GRAY_MAIL, new SystemTrayMenuAction() {
@Override
public
void onClick(final SystemTray systemTray, final Menu parentMenu, final MenuEntry menuEntry) {
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry entry) {
submenu.setEnabled(false);
}
});
submenu.addEntry("Remove menu", GREEN_MAIL, new SystemTrayMenuAction() {
@Override
public
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry entry) {
submenu.remove();
}
});
systemTray.addEntry("Quit", new SystemTrayMenuAction() {
@Override
public
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry menuEntry) {
systemTray.shutdown();
Platform.exit(); // necessary to close javaFx
//System.exit(0); not necessary if all non-daemon threads have stopped.

View File

@ -74,38 +74,54 @@ class TestTraySwt {
callbackGreen = new SystemTrayMenuAction() {
@Override
public
void onClick(final SystemTray systemTray, final dorkbox.systemTray.Menu parentMenu, final MenuEntry menuEntry) {
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry menuEntry) {
systemTray.setStatus("Some Mail!");
systemTray.setIcon(GREEN_MAIL);
menuEntry.setCallback(callbackGray);
menuEntry.setImage(BLACK_MAIL);
menuEntry.setText("Delete Mail");
// systemTray.removeMenuEntry(menuEntry);
// systemTray.remove(menuEntry);
}
};
callbackGray = new SystemTrayMenuAction() {
@Override
public
void onClick(final SystemTray systemTray, final Menu parentMenu, final MenuEntry menuEntry) {
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry menuEntry) {
systemTray.setStatus(null);
systemTray.setIcon(BLACK_MAIL);
menuEntry.setCallback(null);
// systemTray.setStatus("Mail Empty");
systemTray.removeMenuEntry(menuEntry);
systemTray.remove(menuEntry);
System.err.println("POW");
}
};
this.systemTray.addMenuEntry("Green Mail", GREEN_MAIL, callbackGreen);
this.systemTray.addMenuSpacer();
this.systemTray.addEntry("Green Mail", GREEN_MAIL, callbackGreen);
this.systemTray.addSeparator();
systemTray.addMenuEntry("Quit", new SystemTrayMenuAction() {
final Menu submenu = this.systemTray.addMenu("Options", BLACK_MAIL);
submenu.addEntry("Disable menu", LT_GRAY_MAIL, new SystemTrayMenuAction() {
@Override
public
void onClick(final SystemTray systemTray, final Menu parentMenu, final MenuEntry menuEntry) {
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry entry) {
submenu.setEnabled(false);
}
});
submenu.addEntry("Remove menu", GREEN_MAIL, new SystemTrayMenuAction() {
@Override
public
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry entry) {
submenu.remove();
}
});
systemTray.addEntry("Quit", new SystemTrayMenuAction() {
@Override
public
void onClick(final SystemTray systemTray, final Menu parent, final MenuEntry menuEntry) {
systemTray.shutdown();
display.asyncExec(new Runnable() {