/* * Scriptographer * * This file is part of Scriptographer, a Scripting Plugin for Adobe Illustrator * http://scriptographer.org/ * * Copyright (c) 2002-2010, Juerg Lehni * http://scratchdisk.com/ * * All rights reserved. See LICENSE file for details. * * File created on 14.03.2005. */ package com.scriptographer.adm; import java.util.EnumSet; import com.scratchdisk.util.EnumUtils; /** * @author lehni */ public class FloatingDialog extends Dialog { public FloatingDialog(EnumSet<DialogOption> options) { super(getStyle(options), options); } public FloatingDialog(DialogOption[] options) { this(EnumUtils.asSet(options)); } public FloatingDialog() { this((EnumSet<DialogOption>) null); } /* * Extract the style from the pseudo options: */ private static int getStyle(EnumSet<DialogOption> options) { if (options != null) { if (options.contains(DialogOption.TABBED)) { if (options.contains(DialogOption.RESIZING)) { return STYLE_TABBED_RESIZING_FLOATING; } else { return STYLE_TABBED_FLOATING; } } else if (options.contains(DialogOption.LEFT_SIDED)) { if (options.contains(DialogOption.NO_CLOSE)) { return STYLE_LEFTSIDED_NOCLOSE_FLOATING; } else { return STYLE_LEFTSIDED_FLOATING; } } else { if (options.contains(DialogOption.RESIZING)) { return STYLE_RESIZING_FLOATING; } else if (options.contains(DialogOption.NO_CLOSE)) { return STYLE_NOCLOSE_FLOATING; } } } return STYLE_FLOATING; } }