From fef08c439ae7c8a310af444c10ab500bc8b14b79 Mon Sep 17 00:00:00 2001
From: Richard Nelson <richard@lindenlab.com>
Date: Mon, 19 Sep 2011 16:59:50 -0700
Subject: fix build

---
 indra/llui/lltoolbar.cpp | 77 ++++++++++++++++++++++++++++++++++++++++++++++++
 indra/llui/lltoolbar.h   | 60 +++++++++++++++++++++++++++++++++++++
 2 files changed, 137 insertions(+)
 create mode 100644 indra/llui/lltoolbar.cpp
 create mode 100644 indra/llui/lltoolbar.h

(limited to 'indra')

diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp
new file mode 100644
index 0000000000..0356fd5c8a
--- /dev/null
+++ b/indra/llui/lltoolbar.cpp
@@ -0,0 +1,77 @@
+/** 
+ * @file lltoolbar.cpp
+ * @author Richard Nelson
+ * @brief User customizable toolbar class
+ *
+ * $LicenseInfo:firstyear=2011&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2011, Linden Research, Inc.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ * 
+ * This library 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
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ * 
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA
+ * $/LicenseInfo$
+ */
+
+#include "linden_common.h"
+
+#include "boost/foreach.hpp"
+#include "lltoolbar.h"
+
+//static LLDefaultChildRegistry::Register<LLToolBar> r1("toolbar");
+
+LLToolBar::Params::Params()
+:	orientation("orientation"),
+	buttons("button")
+{}
+
+LLToolBar::LLToolBar(const Params& p)
+:	LLUICtrl(p),
+	mOrientation(p.orientation),
+	mStack(NULL)
+{
+
+}
+
+void LLToolBar::draw()
+{
+	gl_rect_2d(getLocalRect(), LLColor4::blue, TRUE);
+}
+
+void LLToolBar::initFromParams(const LLToolBar::Params& p)
+{
+	LLLayoutStack::Params stack_p;
+	stack_p.rect = getLocalRect();
+	stack_p.follows.flags = FOLLOWS_ALL;
+	stack_p.name = "button_stack";
+	stack_p.orientation = p.orientation;
+
+	mStack = LLUICtrlFactory::create<LLLayoutStack>(stack_p);
+	addChild(mStack);
+
+	BOOST_FOREACH (LLButton::Params button_p, p.buttons)
+	{
+		LLLayoutPanel::Params panel_p;
+		panel_p.name = button_p.name() + "_panel";
+		panel_p.rect = button_p.rect;
+		panel_p.user_resize = false;
+		panel_p.auto_resize= false;
+
+		LLLayoutPanel* panel = LLUICtrlFactory::create<LLLayoutPanel>(panel_p);
+		LLButton* button = LLUICtrlFactory::create<LLButton>(button_p);
+		panel->addChild(button);
+		mStack->addChild(panel);
+	}
+}
diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h
new file mode 100644
index 0000000000..768f42309d
--- /dev/null
+++ b/indra/llui/lltoolbar.h
@@ -0,0 +1,60 @@
+/** 
+ * @file lltoolbar.h
+ * @author Richard Nelson
+ * @brief User customizable toolbar class
+ *
+ * $LicenseInfo:firstyear=2011&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2011, Linden Research, Inc.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ * 
+ * This library 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
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ * 
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA
+ * $/LicenseInfo$
+ */
+
+#ifndef LL_LLTOOLBAR_H
+#define LL_LLTOOLBAR_H
+
+#include "lluictrl.h"
+#include "lllayoutstack.h"
+#include "llbutton.h"
+
+class LLToolBar
+:	public LLUICtrl
+{
+public:
+	struct Params : public LLInitParam::Block<Params, LLUICtrl::Params>
+	{
+		Mandatory<LLLayoutStack::ELayoutOrientation>	orientation;
+		Multiple<LLButton::Params>						buttons;
+
+		Params();
+	};
+
+	void draw();
+
+protected:
+	friend LLUICtrlFactory;
+	LLToolBar(const Params&);
+	void initFromParams(const Params&);
+
+private:
+	LLLayoutStack::ELayoutOrientation mOrientation;
+	LLLayoutStack* mStack;
+};
+
+
+#endif  // LL_LLTOOLBAR_H
-- 
cgit v1.2.3