/* * Copyright 2010-2012 Haiku, Inc. All rights reserved. * Distributed under the terms of the MIT license. * * Authors: * Stephan Aßmus * Alexander von Gluck * John Scipione * Ryan Leavengood */ #ifndef LOOK_AND_FEEL_SETTINGS_VIEW_H #define LOOK_AND_FEEL_SETTINGS_VIEW_H #include #include #include class BButton; class BCheckBox; class BMenuField; class BPopUpMenu; class FakeScrollBar; class LookAndFeelSettingsView : public BView { public: LookAndFeelSettingsView(const char* name); virtual ~LookAndFeelSettingsView(); virtual void AttachedToWindow(); virtual void MessageReceived(BMessage* message); bool IsDefaultable(); void SetDefaults(); bool IsRevertable(); void Revert(); private: void _SetDecor(const BString& name); void _SetDecor(BPrivate::DecorInfo* decorInfo); void _BuildDecorMenu(); void _AdoptToCurrentDecor(); void _AdoptInterfaceToCurrentDecor(); bool _DoubleScrollBarArrows(); void _SetDoubleScrollBarArrows(bool doubleArrows); private: DecorInfoUtility fDecorUtility; BButton* fDecorInfoButton; BMenuField* fDecorMenuField; BPopUpMenu* fDecorMenu; FakeScrollBar* fArrowStyleSingle; FakeScrollBar* fArrowStyleDouble; BString fSavedDecor; BString fCurrentDecor; bool fSavedDoubleArrowsValue; }; #endif // LOOK_AND_FEEL_SETTINGS_VIEW_H