package org.jabref.gui; import java.awt.Frame; import java.awt.Window; import javax.swing.JDialog; import org.jabref.Globals; public class JabRefDialog extends JDialog { public <T extends JabRefDialog> JabRefDialog(Frame owner, boolean modal, Class<T> clazz) { super(owner, modal); trackDialogOpening(clazz); } public <T extends JabRefDialog> JabRefDialog(Class<T> clazz) { super(); trackDialogOpening(clazz); } public <T extends JabRefDialog> JabRefDialog(Frame owner, Class<T> clazz) { super(owner); trackDialogOpening(clazz); } public <T extends JabRefDialog> JabRefDialog(Frame owner, String title, Class<T> clazz) { this(owner, title, true, clazz); } public <T extends JabRefDialog> JabRefDialog(Frame owner, String title, boolean modal, Class<T> clazz) { super(owner, title, modal); trackDialogOpening(clazz); } public <T extends JabRefDialog> JabRefDialog(java.awt.Dialog owner, String title, Class<T> clazz) { this(owner, title, true, clazz); } public <T extends JabRefDialog> JabRefDialog(java.awt.Dialog owner, String title, boolean modal, Class<T> clazz) { super(owner, title, modal); trackDialogOpening(clazz); } public <T extends JabRefDialog> JabRefDialog(Window owner, String title, Class<T> clazz) { super(owner, title); trackDialogOpening(clazz); } private <T extends JabRefDialog> void trackDialogOpening(Class<T> clazz) { Globals.getTelemetryClient().trackPageView(clazz.getName()); } }