changeset 11493:59fa1ba598a4 draft

(svn r15854) -Codechange: New widgets for build tree window.
author yexo <yexo@openttd.org>
date Wed, 25 Mar 2009 22:07:25 +0000
parents d5991b4040ea
children 6af9e6523c41
files src/tree_gui.cpp
diffstat 1 files changed, 87 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/src/tree_gui.cpp
+++ b/src/tree_gui.cpp
@@ -19,32 +19,36 @@
 
 void PlaceTreesRandomly();
 
+/** Widget definitions for the build trees window. */
+enum BuildTreesWidgets {
+	BTW_CLOSE,
+	BTW_CAPTION,
+	BTW_BACKGROUND,
+	BTW_TYPE_11,
+	BTW_TYPE_12,
+	BTW_TYPE_13,
+	BTW_TYPE_14,
+	BTW_TYPE_21,
+	BTW_TYPE_22,
+	BTW_TYPE_23,
+	BTW_TYPE_24,
+	BTW_TYPE_31,
+	BTW_TYPE_32,
+	BTW_TYPE_33,
+	BTW_TYPE_34,
+	BTW_TYPE_RANDOM,
+	BTW_MANY_RANDOM,
+};
+
+/**
+ * The build trees window.
+ */
 class BuildTreesWindow : public Window
 {
 	uint16 base;
 	uint16 count;
 	uint tree_to_plant;
 
-	enum BuildTreesWidgets {
-		BTW_CLOSE,
-		BTW_CAPTION,
-		BTW_BACKGROUND,
-		BTW_TYPE_11,
-		BTW_TYPE_12,
-		BTW_TYPE_13,
-		BTW_TYPE_14,
-		BTW_TYPE_21,
-		BTW_TYPE_22,
-		BTW_TYPE_23,
-		BTW_TYPE_24,
-		BTW_TYPE_31,
-		BTW_TYPE_32,
-		BTW_TYPE_33,
-		BTW_TYPE_34,
-		BTW_TYPE_RANDOM,
-		BTW_MANY_RANDOM,
-	};
-
 public:
 	BuildTreesWindow(const WindowDesc *desc, WindowNumber window_number) : Window(desc, window_number)
 	{
@@ -171,11 +175,73 @@
 {    WIDGETS_END},
 };
 
+static const NWidgetPart _nested_build_trees_widgets[] = {
+	NWidget(NWID_HORIZONTAL),
+		NWidget(WWT_CLOSEBOX, COLOUR_DARK_GREEN, BTW_CLOSE),
+		NWidget(WWT_CAPTION, COLOUR_DARK_GREEN, BTW_CAPTION), SetMinimalSize(132, 14), SetDataTip(STR_2802_TREES, STR_018C_WINDOW_TITLE_DRAG_THIS),
+	EndContainer(),
+	NWidget(WWT_PANEL, COLOUR_DARK_GREEN, BTW_BACKGROUND),
+		NWidget(NWID_SPACER), SetMinimalSize(0, 2),
+		NWidget(NWID_HORIZONTAL),
+			NWidget(NWID_SPACER), SetMinimalSize(2, 0),
+			NWidget(NWID_VERTICAL),
+				NWidget(NWID_HORIZONTAL),
+					NWidget(WWT_PANEL, COLOUR_GREY, BTW_TYPE_11), SetMinimalSize(34, 46), SetDataTip(0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT),
+					EndContainer(),
+					NWidget(NWID_SPACER), SetMinimalSize(1, 0),
+					NWidget(WWT_PANEL, COLOUR_GREY, BTW_TYPE_12), SetMinimalSize(34, 46), SetDataTip(0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT),
+					EndContainer(),
+					NWidget(NWID_SPACER), SetMinimalSize(1, 0),
+					NWidget(WWT_PANEL, COLOUR_GREY, BTW_TYPE_13), SetMinimalSize(34, 46), SetDataTip(0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT),
+					EndContainer(),
+					NWidget(NWID_SPACER), SetMinimalSize(1, 0),
+					NWidget(WWT_PANEL, COLOUR_GREY, BTW_TYPE_14), SetMinimalSize(34, 46), SetDataTip(0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT),
+					EndContainer(),
+				EndContainer(),
+				NWidget(NWID_SPACER), SetMinimalSize(0, 1),
+				NWidget(NWID_HORIZONTAL),
+					NWidget(WWT_PANEL, COLOUR_GREY, BTW_TYPE_21), SetMinimalSize(34, 46), SetDataTip(0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT),
+					EndContainer(),
+					NWidget(NWID_SPACER), SetMinimalSize(1, 0),
+					NWidget(WWT_PANEL, COLOUR_GREY, BTW_TYPE_22), SetMinimalSize(34, 46), SetDataTip(0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT),
+					EndContainer(),
+					NWidget(NWID_SPACER), SetMinimalSize(1, 0),
+					NWidget(WWT_PANEL, COLOUR_GREY, BTW_TYPE_23), SetMinimalSize(34, 46), SetDataTip(0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT),
+					EndContainer(),
+					NWidget(NWID_SPACER), SetMinimalSize(1, 0),
+					NWidget(WWT_PANEL, COLOUR_GREY, BTW_TYPE_24), SetMinimalSize(34, 46), SetDataTip(0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT),
+					EndContainer(),
+				EndContainer(),
+				NWidget(NWID_SPACER), SetMinimalSize(0, 1),
+				NWidget(NWID_HORIZONTAL),
+					NWidget(WWT_PANEL, COLOUR_GREY, BTW_TYPE_31), SetMinimalSize(34, 46), SetDataTip(0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT),
+					EndContainer(),
+					NWidget(NWID_SPACER), SetMinimalSize(1, 0),
+					NWidget(WWT_PANEL, COLOUR_GREY, BTW_TYPE_32), SetMinimalSize(34, 46), SetDataTip(0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT),
+					EndContainer(),
+					NWidget(NWID_SPACER), SetMinimalSize(1, 0),
+					NWidget(WWT_PANEL, COLOUR_GREY, BTW_TYPE_33), SetMinimalSize(34, 46), SetDataTip(0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT),
+					EndContainer(),
+					NWidget(NWID_SPACER), SetMinimalSize(1, 0),
+					NWidget(WWT_PANEL, COLOUR_GREY, BTW_TYPE_34), SetMinimalSize(34, 46), SetDataTip(0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT),
+					EndContainer(),
+				EndContainer(),
+				NWidget(NWID_SPACER), SetMinimalSize(0, 1),
+				NWidget(WWT_TEXTBTN, COLOUR_GREY, BTW_TYPE_RANDOM), SetMinimalSize(139, 12), SetDataTip(STR_TREES_RANDOM_TYPE, STR_TREES_RANDOM_TYPE_TIP),
+				NWidget(NWID_SPACER), SetMinimalSize(0, 1),
+				NWidget(WWT_TEXTBTN, COLOUR_GREY, BTW_MANY_RANDOM), SetMinimalSize(139, 12), SetDataTip(STR_028A_RANDOM_TREES, STR_028B_PLANT_TREES_RANDOMLY_OVER),
+				NWidget(NWID_SPACER), SetMinimalSize(0, 2),
+			EndContainer(),
+			NWidget(NWID_SPACER), SetMinimalSize(2, 0),
+		EndContainer(),
+	EndContainer(),
+};
+
 static const WindowDesc _build_trees_desc(
 	WDP_AUTO, WDP_AUTO, 143, 184, 143, 184,
 	WC_BUILD_TREES, WC_NONE,
 	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_CONSTRUCTION,
-	_build_trees_widgets
+	_build_trees_widgets, _nested_build_trees_widgets, lengthof(_nested_build_trees_widgets)
 );
 
 void ShowBuildTreesToolbar()