xref: /haiku/src/add-ons/screen_savers/slideshowsaver/SlideShowConfigView.h (revision 34d0fe82c437d3c4de768c18bdf2a9341372c420)
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
44 enum {
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 
55 class SlideShowConfigView : public BView {
56 public:
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
69 private:
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