1/*****************************************************************************/
2// SlideShowConfigView
3// Written by Michael Wilber
4//
5// SlideShowConfigView.h
6//
7// This BView based object displays the SlideShowSaver settings options
8//
9//
10// Copyright (C) Haiku
11//
12// Permission is hereby granted, free of charge, to any person obtaining a
13// copy of this software and associated documentation files (the "Software"),
14// to deal in the Software without restriction, including without limitation
15// the rights to use, copy, modify, merge, publish, distribute, sublicense,
16// and/or sell copies of the Software, and to permit persons to whom the
17// Software is furnished to do so, subject to the following conditions:
18//
19// The above copyright notice and this permission notice shall be included
20// in all copies or substantial portions of the Software.
21//
22// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28// DEALINGS IN THE SOFTWARE.
29/*****************************************************************************/
30
31#ifndef SLIDE_SHOW_CONFIG_VIEW_H
32#define SLIDE_SHOW_CONFIG_VIEW_H
33
34#include <View.h>
35#include <CheckBox.h>
36#include <PopUpMenu.h>
37#include <MenuField.h>
38#include <MenuItem.h>
39#include <Button.h>
40#include <FilePanel.h>
41#include "LiveSettings.h"
42
43// SlideShowSaver Settings
44enum {
45	CHANGE_CAPTION,
46	CHANGE_BORDER,
47	CHOOSE_DIRECTORY, CHANGE_DIRECTORY,
48	CHANGE_DELAY
49};
50#define SAVER_SETTING_CAPTION	"slidesaver /caption"
51#define SAVER_SETTING_BORDER	"slidesaver /border"
52#define SAVER_SETTING_DIRECTORY	"slidesaver /directory"
53#define SAVER_SETTING_DELAY		"slidesaver /delay"
54
55class SlideShowConfigView : public BView {
56public:
57	SlideShowConfigView(const BRect &frame, const char *name, uint32 resize,
58		uint32 flags, LiveSettings *settings);
59		// sets up the view
60
61	~SlideShowConfigView();
62		// releases the settings
63
64	virtual void AllAttached();
65	virtual void MessageReceived(BMessage *message);
66
67	virtual	void Draw(BRect area);
68		// draws information about the slide show screen saver
69private:
70	BCheckBox *fShowCaption;
71	BCheckBox *fShowBorder;
72	BPopUpMenu *fDelayMenu;
73	BMenuField *fDelayMenuField;
74	BButton *fChooseFolder;
75
76	BFilePanel *fFilePanel;
77
78	LiveSettings *fSettings;
79		// the actual settings for the screen saver,
80		// shared with the screen saver
81};
82
83#endif // #ifndef SLIDE_SHOW_CONFIG_VIEW_H
84