/* * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or * its licensors. * * For complete copyright and license terms please see the LICENSE at the root of this * distribution (the "License"). All use of this software is governed by the License, * or, if provided, by the license below or the license accompanying this file. Do not * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * */ // Original file Copyright Crytek GMBH or its affiliates, used under license. // Description : These are helper classes for containing the data from the // generic overwrite dialog. #ifndef CRYINCLUDE_EDITOR_DIALOGS_GENERIC_USEROPTIONS_H #define CRYINCLUDE_EDITOR_DIALOGS_GENERIC_USEROPTIONS_H #pragma once // Small helper class. // Hint: have one for files and other for directories. // Hint: used a CUserOptionsReferenceCountHelper to automatically control the reference counts // of any CUserOptions variable: usefull for recursion when you don't want to use // only static variables. See example in FileUtill.cpp, function CopyTree. class CUserOptions { ////////////////////////////////////////////////////////////////////////// // Types & typedefs public: enum EOption { ENotSet, EYes = 6, ENo = 7, ECancel = 2, }; class CUserOptionsReferenceCountHelper { public: CUserOptionsReferenceCountHelper(CUserOptions& roUserOptions); virtual ~CUserOptionsReferenceCountHelper(); protected: CUserOptions& m_roReferencedUserOptionsObject; }; protected: private: ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// // Methods public: CUserOptions(); bool IsOptionValid(); int GetOption(); bool IsOptionToAll(); void SetOption(int nNewOption, bool boToAll); int DecRef(); int IncRef(); protected: private: ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// // Data public: protected: int m_nCurrentOption; bool m_boToAll; int m_nNumberOfReferences; private: ////////////////////////////////////////////////////////////////////////// }; #endif // CRYINCLUDE_EDITOR_DIALOGS_GENERIC_USEROPTIONS_H