//Copyright � 2011 Autodesk, Inc.
//All Rights Reserved.
//
//The coded instructions, statements, computer programs, and/or related material (collectively "Data")
//in these files contain unpublished information proprietary to Autodesk, Inc., ("Autodesk") which is
//protected by Canada and United States of America federal copyright law and by international treaties.
//
//The Data may not be disclosed or distributed to third parties, in whole or in part, without the prior
//written consent of Autodesk.
//
//THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY. ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED.
//AUTODESK MAKES NO WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR ARISING BY CUSTOM
//OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR
//FITNESS FOR A PARTICULAR PURPOSE OR USE. WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT WARRANT THAT
//THE OPERATION OF THE DATA WILL BE UNINTERRUPTED OR ERROR FREE.
//
//IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS OR SUPPLIERS ("AUTODESK GROUP")
//BE LIABLE FOR ANY LOSSES, DAMAGES OR EXPENSES OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR
//MULTIPLE DAMAGES OR OTHER SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS OF PROFITS, REVENUE OR
//DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR DAMAGES OF ANY KIND), HOWEVER CAUSED, AND REGARDLESS OF
//THE THEORY OF LIABILITY, WHETHER DERIVED FROM CONTRACT, TORT (INCLUDING, BUT NOT LIMITED TO, NEGLIGENCE),
//OR OTHERWISE, ARISING OUT OF OR RELATING TO THE DATA OR ITS USE OR ANY OTHER PERFORMANCE, WHETHER OR NOT
//AUTODESK HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGE.

#ifndef __MAYAHIK_LOCALIZATION__
#define __MAYAHIK_LOCALIZATION__

#include <maya/MStatus.h>
#include <maya/MString.h>
#include <maya/MStringResource.h>
#include <maya/MStringResourceId.h>

#define kPluginId "mayaHIK"

//
// Character Controls specific localization
//
#define kCharCtrlsCreatePivotEffector MStringResourceId( kPluginId, "kCharCtrlsCreatePivotEffector", \
    "Create Pivot Effector" )
#define kCharCtrlsCreateAuxEffector   MStringResourceId( kPluginId, "kCharCtrlsCreateAuxEffector", \
    "Create Aux Effector" )
#define kCharCtrlsClearExtraEffectors MStringResourceId( kPluginId, "kCharCtrlsClearExtraEffectors", \
    "Clear Extra Effectors" )

//
// Common localization
//
#define kUnsupportedImageResource     MStringResourceId( kPluginId, "kUnsupportedImageResource", \
    "Image ^1s not supported." )
#define kImageResourceNotFound        MStringResourceId( kPluginId, "kImageResourceNotFound", \
    "Image ^1s not found." )
#define kConfigFileNotFound           MStringResourceId( kPluginId, "kConfigFileNotFound", \
    "Configuration file ^1s not found." )
#define kConfigFileEmpty              MStringResourceId( kPluginId, "kConfigFileEmpty", \
    "Configuration file ^1s is empty." )
#define kConfigFileNotSpecified       MStringResourceId( kPluginId, "kConfigFileNotSpecified", \
    "A configuration file was not specified." )
#define kParentLayoutNotFound         MStringResourceId( kPluginId, "kParentLayoutNotFound", \
    "Parent layout not found." )
#define kParentLayoutNotSpecified     MStringResourceId( kPluginId, "kParentLayoutNotSpecified", \
    "A parent layout was not specified." )


#define kComputeRefCharacterNotSpecified     MStringResourceId( kPluginId, "kComputeRefCharacterNotSpecified", \
    "Missing character use -ch flag to specify a character.")

#define kComputeRefCharacterNotFound     MStringResourceId( kPluginId, "kComputeRefCharacterNotFound", \
    "Specified character is not found or is not a valid HIKCharacterNode.")

#define kComputeRefSkNotSpecified     MStringResourceId( kPluginId, "kComputeRefSkNotSpecified", \
    "Expected skeleton reference use -sk flag.")
#define kComputeRefSkNotFound     MStringResourceId( kPluginId, "kComputeRefSkNotFound", \
    "Skeleton reference is not found or is not a valid transform.")
#define kComputeRefCrNotSpecified     MStringResourceId( kPluginId, "kComputeRefCrNotSpecified", \
    "Missing ctrl rig reference use -cr flag to specify the reference.")
#define kComputeRefCrNotFound     MStringResourceId( kPluginId, "kComputeRefCrNotFound", \
    "Specified CtrlRig refernce not found or is not a valid transform.")
#define kComputeRefNoAction     MStringResourceId( kPluginId, "kComputeRefNoAction", \
    "No action specified use -ssk, -scr or -rcr, in order to set the sk refernce based on fk, the fk reference based on sk or to reset fk reference to its characterization pose.")
namespace MayaHIK
{
    enum DisplayMsgType
    {
        kInfo = 0,
        kWarning,
        kError
    };
    
    MStatus displayMsg( DisplayMsgType           type,
                        const MStringResourceId& id,
                        const MString&           arg = "" );
}

#endif // __MAYAHIK_LOCALIZATION__
