view mde/gui/exception.d @ 92:085f2ca31914

Shared alignments supported in more complex cases.
author Diggory Hardy <diggory.hardy@gmail.com>
date Tue, 21 Oct 2008 09:57:19 +0100
parents 4d5d53e4f881
children 42e241e7be3e
line wrap: on
line source

/* LICENSE BLOCK
Part of mde: a Modular D game-oriented Engine
Copyright © 2007-2008 Diggory Hardy

This program is free software: you can redistribute it and/or modify it under the terms
of the GNU General Public License as published by the Free Software Foundation, either
version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>. */

/// All GUI Exception classes
module mde.gui.exception;

import mde.exception;

class GuiException : mdeException
{
    char[] getSymbol () {
        return super.getSymbol ~ ".gui";
    }
    
    this (char[] msg) {
        super(msg);
    }
}

/// Thrown when createWidget or a Widget class's this() is called with invalid data.
class WidgetDataException : GuiException
{
    this (Object o) {   // Default, by Widget class's this / WDCheck
        super ("Bad widget data for "~o.classinfo.name);
    }
}

class ContentException : GuiException
{
    char[] getSymbol () {
        return super.getSymbol ~ ".content";
    }
    this () {
        super ("Unexpected content type");
    }
    this (char[] msg) {
        super (msg);
    }
}