All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.webswing.dispatch.PaintDispatcher Maven / Gradle / Ivy

There is a newer version: 20.2.4
Show newest version
package org.webswing.dispatch;

import java.awt.Component;
import java.awt.Container;
import java.awt.Cursor;
import java.awt.Insets;
import java.awt.Rectangle;
import java.awt.Window;
import java.io.File;
import java.net.URI;
import java.util.List;
import java.util.Map;

import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.RepaintManager;

import org.webswing.audio.AudioClip;
import org.webswing.model.s2c.AccessibilityMsg;
import org.webswing.model.s2c.FocusEventMsg;
import org.webswing.toolkit.api.clipboard.PasteRequestContext;
import org.webswing.toolkit.api.clipboard.WebswingClipboardData;
import org.webswing.toolkit.api.component.HtmlPanel;

public interface PaintDispatcher {

	Object webPaintLock = new Object();
	void clientReadyToReceive();// paint ack received from JS
	RepaintManager getDefaultRepaintManager();

	void notifyWindowAreaRepainted(String guid, Rectangle repaintedArea);//area has been repainted
	void notifyWindowAreaVisible(String guid, Rectangle visibleArea);//area became visible in window manager
	void notifyWindowBoundsChanged(String guid, Rectangle newBounds);//window resized
	void notifyWindowClosed(String guid);//window closed
	void notifyWindowActivated(Window activeWindow);
	void notifyWindowDeactivated(Window oldActiveWindow);
	void notifyWindowZOrderChanged(Window w);
	void notifyWindowMaximized(JFrame target);
	void notifyWindowRepaintAll();
	void notifyWindowDecorationUpdated(String guid, Rectangle bounds, Insets insets);
	void notifyBackgroundAreaVisible(Rectangle toRepaint);
	void notifyScreenSizeChanged(int oldWidht, int oldHeight, int screenWidth, int screenHeight);
	void notifyWindowMoved(Window w,int zIndex,  Rectangle from, Rectangle to);
	void notifyWindowDockStateChanged();
	void notifyWindowSwitchList();

	void notifyFocusEvent(FocusEventMsg msg);
	void notifyAccessibilityInfoUpdate(Component a, int x, int y);
	void notifyAccessibilityInfoUpdate(AccessibilityMsg msg);
	void notifyAccessibilityInfoUpdate();
	void clearAccessibilityInfoState();

	void notifyCursorUpdate(Cursor cursor, Cursor overridenCursorName, String winId);

	void notifyOpenLinkAction(URI uri);
	void notifyUrlRedirect(String url);

	void notifyCopyEvent(WebswingClipboardData data);
	void requestBrowserClipboard(PasteRequestContext ctx);
	boolean closePasteRequestDialog();

	void notifyFileDialogActive(Window window);
	void notifyFileDialogActive();
	void notifyFileDialogHidden();
	void notifyDownloadSelectedFile();
	void notifyDeleteSelectedFile();
	void notifyFileRequested(File file, boolean preview);
	void notifyPrintPdfFile(String id, File f);
	JFileChooser getFileChooserDialog();

	void notifyApplicationExiting();
	void notifyApplicationExiting(int waitBeforeKill);

	void notifyComponentTreeRequested();// test tool

	void notifyActionEvent(String windowId, String actionName, String data, byte[] binaryData);

	void registerWebContainer(Container container);
	Map> getRegisteredWebContainersAsMap();
	void registerHtmlPanel(HtmlPanel hp);
	Map> getRegisteredHtmlPanelsAsMap();
	HtmlPanel findHtmlPanelById(String id);

	void notifyNewDirtyRegionQueued();

	void notifyAudioEventDispose(AudioClip clip);
	void notifyAudioEventUpdate(AudioClip clip, Float time, Integer loop);
	void notifyAudioEventStop(AudioClip clip);
	void notifyAudioEventPlay(AudioClip clip, byte[] data, Float time, Integer loop);
	AudioClip findAudioClip(String id);

	void registerFileChooserWindows(JFileChooser fileChooser, Window parent);

	JFileChooser findRegisteredFileChooser(Window w);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy