Эй,
Я думаю об использовании griffon в очень простом приложении DeskTop, которое меня попросили написать. 90% его функций - это несколько щелчков мышью от панели задач, это как «запуск / выбор / остановка». Одна вещь, которая мне понадобится, - это всплывающая подсказка, которая будет обновлять содержимое каждую секунду (или минуту, неважно ;-)), считая время, когда кто-то работал над какой-то конкретной задачей.
Мои вопросы:
- Как сделать так, чтобы «Вы работали на: $ {HourMin.since model.startedWorkingAt}» регулярно вызывался, чтобы подсказка всегда была актуальной? Используя этот код, он вызывается только один раз, во время создания всплывающей подсказки.
- Как я могу динамически добавлять "действия" в popupMenu в течение времени жизни приложения?
Спасибо за любые советы - книжные советы, где такие проблемы решаются, также были бы весьма полезны.
actions {
action(id: 'cutAction',
name: 'Pokaż okno',
closure: {
trayIcon.displayMessage("Cut", "Cut some content", NONE)
},
mnemonic: 'T',
accelerator: shortcut('X'),
smallIcon: imageIcon(resource: "icons/cut.png", class: Console),
shortDescription: 'Cut'
)
//... more actions
}
systemTray {
trayIcon(id: "trayIcon",
resource: "/groovy/ui/ConsoleIcon.png",
class: groovy.ui.Console,
toolTip: {
"Youre working for: ${HourMin.since model.startedWorkingAt}"
},
actionPerformed: {
// todo do toggle
}) {
popupMenu {
menuItem(cutAction)
menuItem(copyAction)
menuItem(pasteAction)
separator()
menuItem(exitAction)
}
}
}