Mercurial > projects > dwt-mac
view dwt/events/ShellAdapter.d @ 156:969e7de37c3d default tip
Fixes to get dwt to work with dmd and ldc
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Wed, 08 Jul 2009 21:56:44 +0200 |
parents | d8635bb48c7c |
children |
line wrap: on
line source
/******************************************************************************* * Copyright (c) 2000, 2008 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation * Port to the D programming language: * Frank Benoit <benoit@tionex.de> *******************************************************************************/ module dwt.events.ShellAdapter; import dwt.events.ShellListener; /** * This adapter class provides default implementations for the * methods described by the <code>ShellListener</code> interface. * <p> * Classes that wish to deal with <code>ShellEvent</code>s can * extend this class and override only the methods which they are * interested in. * </p> * * @see ShellListener * @see ShellEvent * @see <a href="http://www.eclipse.org/swt/">Sample code and further information</a> */ public abstract class ShellAdapter : ShellListener { /** * Sent when a shell becomes the active window. * The default behavior is to do nothing. * * @param e an event containing information about the activation */ public void shellActivated(ShellEvent e) { } /** * Sent when a shell is closed. * The default behavior is to do nothing. * * @param e an event containing information about the close */ public void shellClosed(ShellEvent e) { } /** * Sent when a shell stops being the active window. * The default behavior is to do nothing. * * @param e an event containing information about the deactivation */ public void shellDeactivated(ShellEvent e) { } /** * Sent when a shell is un-minimized. * The default behavior is to do nothing. * * @param e an event containing information about the un-minimization */ public void shellDeiconified(ShellEvent e) { } /** * Sent when a shell is minimized. * The default behavior is to do nothing. * * @param e an event containing information about the minimization */ public void shellIconified(ShellEvent e) { } } class ShellDelegator : ShellAdapter { alias void delegate(ShellEvent) DFunc; DFunc delShellActivated; DFunc delShellClosed; DFunc delShellDeactivated; DFunc delShellDeiconified; DFunc delShellIconified; private this( DFunc delShellActivated, DFunc delShellClosed, DFunc delShellDeactivated, DFunc delShellDeiconified, DFunc delShellIconified ) { this.delShellActivated = delShellActivated; this.delShellClosed = delShellClosed; this.delShellDeactivated = delShellDeactivated; this.delShellDeiconified = delShellDeiconified; this.delShellIconified = delShellIconified; } static ShellDelegator createShellActivated( DFunc del ){ return new ShellDelegator( del, null, null, null, null ); } static ShellDelegator createShellClosed( DFunc del ){ return new ShellDelegator( null, del, null, null, null ); } public void shellActivated(ShellEvent e) { if( delShellActivated !is null ) delShellActivated(e); } public void shellClosed(ShellEvent e) { if( delShellClosed !is null ) delShellClosed(e); } public void shellDeactivated(ShellEvent e) { if( delShellDeactivated !is null ) delShellDeactivated(e); } public void shellDeiconified(ShellEvent e) { if( delShellDeiconified !is null ) delShellDeiconified(e); } public void shellIconified(ShellEvent e) { if( delShellIconified !is null ) delShellIconified(e); } }