1/*
2 * Copyright 2007-2012 Haiku, Inc.
3 * Distributed under the terms of the MIT License.
4 *
5 * Authors:
6 *		Ryan Leavengood <leavengood@gmail.com>
7 *		John Scipione <jscipione@gmail.com>
8 */
9#ifndef B_ABOUT_WINDOW_H
10#define B_ABOUT_WINDOW_H
11
12
13#include <GroupView.h>
14#include <Window.h>
15#include <View.h>
16
17
18namespace BPrivate {
19class AboutView;
20}
21class BBitmap;
22class BPoint;
23
24class BAboutWindow : public BWindow {
25public:
26							BAboutWindow(const char* appName,
27								const char* signature);
28	virtual					~BAboutWindow();
29
30	virtual	void			Show();
31
32			BPoint			AboutPosition(float width, float height);
33			void			AddDescription(const char* description);
34			void			AddCopyright(int32 firstCopyrightYear,
35								const char* copyrightHolder,
36								const char** extraCopyrights = NULL);
37			void			AddAuthors(const char** authors);
38			void			AddSpecialThanks(const char** thanks);
39			void			AddVersionHistory(const char** history);
40			void			AddExtraInfo(const char* extraInfo);
41
42			void			AddText(const char* header,
43								const char** contents = NULL);
44
45			BBitmap*		Icon();
46	virtual	void			SetIcon(BBitmap* icon);
47
48			const char*		Name();
49	virtual	void			SetName(const char* name);
50
51			const char*		Version();
52	virtual	void			SetVersion(const char* version);
53
54private:
55	virtual	void			_ReservedAboutWindow20();
56	virtual	void			_ReservedAboutWindow19();
57	virtual	void			_ReservedAboutWindow18();
58	virtual	void			_ReservedAboutWindow17();
59	virtual	void			_ReservedAboutWindow16();
60	virtual	void			_ReservedAboutWindow15();
61	virtual	void			_ReservedAboutWindow14();
62	virtual	void			_ReservedAboutWindow13();
63	virtual	void			_ReservedAboutWindow12();
64	virtual	void			_ReservedAboutWindow11();
65	virtual	void			_ReservedAboutWindow10();
66	virtual	void			_ReservedAboutWindow9();
67	virtual	void			_ReservedAboutWindow8();
68	virtual	void			_ReservedAboutWindow7();
69	virtual	void			_ReservedAboutWindow6();
70	virtual	void			_ReservedAboutWindow5();
71	virtual	void			_ReservedAboutWindow4();
72	virtual	void			_ReservedAboutWindow3();
73	virtual	void			_ReservedAboutWindow2();
74	virtual	void			_ReservedAboutWindow1();
75
76private:
77			BPrivate::AboutView* fAboutView;
78
79			// FBC Padding
80			uint32			_reserved[20];
81};
82
83
84#endif	// B_ABOUT_WINDOW_H
85