diff mde/content/Items.d @ 115:1b1e2297e2fc

Enums handled more generically now via either a popup list or flat list of BoolContentWidgets. EnumContent is an IContentList with BoolContent sub-contents. Content modules moved around (again). ContentListWidget can now list horizontally. Log-level setting callback.
author Diggory Hardy <diggory.hardy@gmail.com>
date Sat, 20 Dec 2008 17:57:05 +0000
parents 9824bee909fd
children d3b2cefd46c9
line wrap: on
line diff
--- a/mde/content/Items.d	Fri Dec 19 15:15:06 2008 +0000
+++ b/mde/content/Items.d	Sat Dec 20 17:57:05 2008 +0000
@@ -18,7 +18,7 @@
  *************************************************************************************************/
 module mde.content.Items;
 
-import mde.content.Content;
+import mde.content.miscContent;
 import mde.gui.exception;
 
 import imde = mde.imde;
@@ -39,7 +39,7 @@
      *
      * E.g. get ("Options.MiscOptions.L10n") returns miscOpts.L10n,
      * Items.get ("Options.MiscOptions") returns a ContentList of all misc options. */
-    AContent get (char[] item) {
+    Content get (char[] item) {
 	assert (currentL10n is miscOpts.L10n(), "must call loadTranslation (code error)");
 	
 	char[] h = head (item);
@@ -75,7 +75,7 @@
 	
 	// Create Option classes' ContentLists if necessary:
 	if (Options.allContentList is null) {
-	    AContent[] list;
+	    Content[] list;
 	    list.length = Options.optionsClasses.length;
 	    size_t i;
 	    foreach (n,opts; Options.optionsClasses) {
@@ -99,12 +99,11 @@
 	    foreach (s, v; opts.content) {
 		trle = trl.getStruct (s);
 		v.name (trle.name, trle.desc);
-		EnumContent ec = cast(EnumContent) v;
-		if (ec) {
-		    char[] tp = s ~ ".";
-		    foreach (i,sym; ec.enumSymbols) {
-			trle = trl.getStruct (tp~sym);
-			ec.nameEnum (i, trle.name, trle.desc);
+		ContentList cl = cast(ContentList) v;
+		if (cl) {
+		    foreach (i,c; cl.list) {
+			trle = trl.getStruct (c.symbol);
+			c.name (trle.name, trle.desc);
 		    }
 		}
 	    }