diff 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 diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mde/content/IContent.d	Sat Dec 13 12:54:43 2008 +0000
@@ -0,0 +1,40 @@
+/* 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);
+}