view mde/content/IContent.d @ 112:fe061009029d

EnumContent; log level can be selected from a popup list. New EnumContent, with code to load translations in Items. Editable as an AStringContent. Hacked OptionsMisc to use an EnumContent. Implemented a EnumContentWidget providing a pop-up list to select from (still needs improving). Moved IContent to its own module. ContentExceptions thrown via WDCCheck now. Fixed a small bug with reloading translations.
author Diggory Hardy <diggory.hardy@gmail.com>
date Sat, 13 Dec 2008 12:54:43 +0000
parents
children
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/>. */

/*************************************************************************************************
 * The content system − common interface.
 *************************************************************************************************/
module mde.content.IContent;

/** IContent − interface for all Content classes.
*
* Services like copy/paste could work on universal content. However, they would need to run a
* conversion to the appropriate type (or try next-oldest item on clipboard?). */
interface IContent
{
    /** Generically return strings.
    *
    * This serves two purposes: generically returning a string of/related to the content (i == 0),
    * and returning associated descriptors. Functions should adhere to (or add to) this table.
    *
    *  $(TABLE
    *  $(TR $(TH i) $(TH returns))
    *  $(TR $(TD 0) $(TD value))
    *  $(TR $(TD 1) $(TD Translated name or null))
    *  $(TR $(TD 2) $(TD Translated description or null))
    *  $(TR $(TD other) $(TD null))
    *  ) */
    char[] toString (uint i);
}