/* * Copyright (c) 2012 NoMagic, Inc. All Rights Reserved. */ package com.nomagic.magicdraw.examples.notifications; import com.nomagic.annotation.OpenApiAll; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.ui.dialogs.MDDialogParentProvider; import com.nomagic.magicdraw.ui.dialogs.selection.ElementSelectionDlg; import com.nomagic.magicdraw.ui.dialogs.selection.ElementSelectionDlgFactory; import com.nomagic.magicdraw.ui.notification.HRefRunnable; import com.nomagic.magicdraw.ui.notification.Notification; import com.nomagic.magicdraw.ui.notification.NotificationManager; import com.nomagic.magicdraw.ui.notification.NotificationSeverity; import com.nomagic.magicdraw.ui.notification.config.NotificationViewConfig; import java.awt.*; /** * Notifications API usage sample. * * @author Paulius Grigaliunas */ @SuppressWarnings({"UnusedDeclaration"}) @OpenApiAll public class NotificationsSample { /** * Shows simple application notification in lower right corner */ public void showApplicationNotification() { NotificationManager.getInstance().showNotification(new Notification("notificationID", "Hello World", null)); } /** * Shows container error notification in Element Selection Dialog */ public void showContainerNotification() { // please note that SimpleBaseDialog implements NotificationsContainer interface ElementSelectionDlg dlg = ElementSelectionDlgFactory.create(MDDialogParentProvider.getProvider().getDialogOwner()); NotificationManager.getInstance().showNotification(new Notification("notificationID", "Container error notification", null, NotificationSeverity.ERROR), dlg); dlg.setVisible(true); } /** * Shows custom application notification with link that shows simple greeting dialog */ public void showCustomNotification() { HRefRunnable showHelp = new HRefRunnable("http://showDlg", "show", true) { @Override public void run() { Application.getInstance().getGUILog().showMessage("Hello"); } }; NotificationViewConfig myConfig = new NotificationViewConfig(); myConfig.setBackgroundColor(Color.WHITE); // hide notification after 5 seconds. myConfig.setExpirationTime(5); NotificationManager.getInstance().showNotification(new Notification("notificationID", "Show dialog", null, new HRefRunnable[] {showHelp}), myConfig); } }