Example usage for com.intellij.openapi.application ApplicationActivationListener ApplicationActivationListener

List of usage examples for com.intellij.openapi.application ApplicationActivationListener ApplicationActivationListener

Introduction

In this page you can find the example usage for com.intellij.openapi.application ApplicationActivationListener ApplicationActivationListener.

Prototype

ApplicationActivationListener

Source Link

Usage

From source file:com.intellij.codeInsight.documentation.QuickDocOnMouseOverManager.java

License:Apache License

public QuickDocOnMouseOverManager(@NotNull Application application) {
    EditorFactory factory = EditorFactory.getInstance();
    if (factory != null) {
        factory.addEditorFactoryListener(new MyEditorFactoryListener(), application);
    }/* ww  w .  j  av a  2s  .c  om*/

    ApplicationManager.getApplication().getMessageBus().connect().subscribe(ApplicationActivationListener.TOPIC,
            new ApplicationActivationListener() {
                @Override
                public void applicationActivated(IdeFrame ideFrame) {
                    myApplicationActive = true;
                }

                @Override
                public void applicationDeactivated(IdeFrame ideFrame) {
                    myApplicationActive = false;
                    closeQuickDocIfPossible();
                }
            });
}

From source file:com.intellij.ide.FrameStateManagerImpl.java

License:Apache License

public FrameStateManagerImpl(final ApplicationEx2 app) {
    myApp = app;//from ww w. j ava 2 s  .  c o  m
    myActive = new BusyObject.Impl() {
        @Override
        public boolean isReady() {
            return myApp.isActive();
        }
    };

    myShouldSynchronize = false;
    mySyncAlarm = new Alarm();

    app.getMessageBus().connect().subscribe(ApplicationActivationListener.TOPIC,
            new ApplicationActivationListener() {
                @Override
                public void applicationActivated(IdeFrame ideFrame) {
                    myActive.onReady();
                    mySyncAlarm.cancelAllRequests();
                    if (myShouldSynchronize) {
                        myShouldSynchronize = false;
                        fireActivationEvent();
                    }
                }

                @Override
                public void applicationDeactivated(IdeFrame ideFrame) {
                    mySyncAlarm.cancelAllRequests();
                    mySyncAlarm.addRequest(new Runnable() {
                        public void run() {
                            if (!app.isActive()) {
                                myShouldSynchronize = true;
                                fireDeactivationEvent();
                            }
                        }
                    }, 200);
                }
            });
}

From source file:org.app4j.tool.pomodoro.PomodoroComponent.java

License:Apache License

@Override
public void initComponent() {
    final Settings settings = ServiceManager.getService(Settings.class);
    final LogStorage storage = ServiceManager.getService(LogStorage.class);

    Logger logger = new Logger(storage);
    status = new PomodoroStatus(settings);
    report = new PomodoroReport(logger);

    pomodoro = new Pomodoro(settings, logger, status, report);
    pomodoro.activate();/*from w  w w . ja va 2 s.c  o m*/

    messageBusConnection = ApplicationManagerEx.getApplicationEx().getMessageBus().connect();
    messageBusConnection.subscribe(ApplicationActivationListener.TOPIC, new ApplicationActivationListener() {
        @Override
        public void applicationActivated(IdeFrame ideFrame) {
        }

        @Override
        public void applicationDeactivated(IdeFrame ideFrame) {
        }
    });

    ProjectManager.getInstance().addProjectManagerListener(new ProjectManagerAdapter() {
        @Override
        public void projectOpened(Project project) {
            StatusBar statusBar = WindowManager.getInstance().getStatusBar(project);
            if (statusBar != null && statusBar.getWidget(PomodoroStatus.ID) == null) {
                statusBar.addWidget(status);
            }

            ToolWindowManager toolWindowManager = ToolWindowManager.getInstance(project);

            if (toolWindowManager.getToolWindow(PomodoroReport.ID) == null) {
                ToolWindow toolWindow = toolWindowManager.registerToolWindow(PomodoroReport.ID, false,
                        ToolWindowAnchor.BOTTOM);
                toolWindow.setIcon(Pomodoro.ICON_RUNNING);
                ContentFactory contentFactory = ContentFactory.SERVICE.getInstance();
                Content content = contentFactory.createContent(report.xChartPanel, "", false);
                toolWindow.getContentManager().addContent(content);
            }

        }

        @Override
        public void projectClosed(Project project) {
            StatusBar statusBar = WindowManager.getInstance().getStatusBar(project);
            if (statusBar != null && statusBar.getWidget(PomodoroStatus.ID) != null) {
                statusBar.removeWidget(PomodoroStatus.ID);
            }

            ToolWindowManager toolWindowManager = ToolWindowManager.getInstance(project);
            if (toolWindowManager.getToolWindow(PomodoroReport.ID) != null) {
                toolWindowManager.unregisterToolWindow(PomodoroReport.ID);
            }
        }
    });

    controlThread = new TickThread(pomodoro);
    controlThread.start();
}