1/* 2 * Copyright 2002-2015, Haiku. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * DarkWyrm (darkwyrm@earthlink.net) 7 * Rene Gollent (rene@gollent.com) 8 * Stephan A��mus <superstippi@gmx.de> 9 * Joseph Groover <looncraz@looncraz.net> 10 */ 11#ifndef APR_VIEW_H_ 12#define APR_VIEW_H_ 13 14 15#include <Button.h> 16#include <CheckBox.h> 17#include <ColorControl.h> 18#include <ListItem.h> 19#include <ListView.h> 20#include <Menu.h> 21#include <MenuBar.h> 22#include <MenuField.h> 23#include <MenuItem.h> 24#include <Message.h> 25#include <ScrollBar.h> 26#include <ScrollView.h> 27#include <String.h> 28#include <StringView.h> 29#include <View.h> 30 31#include <DecorInfo.h> 32 33 34class APRWindow; 35class ColorPreview; 36 37class APRView : public BView { 38public: 39 APRView(const char *name); 40 virtual ~APRView(); 41 42 virtual void AttachedToWindow(); 43 virtual void MessageReceived(BMessage *msg); 44 45 void LoadSettings(); 46 47 void SetDefaults(); 48 void Revert(); 49 50 bool IsDefaultable(); 51 bool IsRevertable(); 52 53private: 54 void _CreateItems(); 55 void _UpdatePreviews(const BMessage& colors); 56 57 void _SetColor(color_which which, rgb_color color); 58 void _SetOneColor(color_which which, rgb_color color); 59 void _SetCurrentColor(rgb_color color); 60 void _SetUIColors(const BMessage& colors); 61 62private: 63 BColorControl* fPicker; 64 65 BCheckBox* fAutoSelectCheckBox; 66 BListView* fAttrList; 67 68 color_which fWhich; 69 70 BScrollView* fScrollView; 71 72 ColorPreview* fColorPreview; 73 74 BMessage fPrevColors; 75 BMessage fDefaultColors; 76 BMessage fCurrentColors; 77}; 78 79#endif // APR_VIEW_H_ 80