ID = "Units"

###############################################################################
# Extensions.
###############################################################################

#### Preferences ##############################################################

preferences = Preferences(defaults={'default_unit_system': 'KGS'})

#### Resource Types ###########################################################
QUANTITY_RESOURCE_TYPE = \
    'scimath.units.plugin.quantity_resource_type.QuantityResourceType'

resource_manager = ResourceManager(resource_types=[
    ResourceType(class_name=QUANTITY_RESOURCE_TYPE,
                 precedes=[INSTANCE_RESOURCE_TYPE]),
])

### Cookies ###################################################################

cookies = CookieImplementations(
    implementations = [
        CookieImplementation(
            resource_type = QUANTITY_RESOURCE_TYPE,

            cookie_interface = "envisage.project.action" \
                + ".open_cookie.OpenCookie",

            cookie_implementation = 'scimath.units.plugin' \
                + ".quantity_resource_open_cookie.QuantityResourceOpenCookie"
        ),
    uol='service://' + IDATA_UI,
)

#### Resource Types ##########################################################

# References to other plugin's resource types
FOLDER = 'envisage.resource.folder_resource_type.FolderResourceType'
INSTANCE = ('envisage.resource.instance_resource_type.' 'InstanceResourceType')

# References to our resource types
DATA_TYPE = ID + '.resource_type.data_resource_type.DataResourceType'

resource_types = ResourceManager(
    resource_types=[
        ResourceType(class_name=DATA_TYPE,
                     #precedes = [FOLDER, INSTANCE],
                     ),
    ], )

#### Shell Namespace #########################################################

# Import template code into the shell for scripting.
#namespace = Namespace(
#    commands = [
#        'from cp.data.api import *',
#        ]
#    )

##############################################################################
# The plugin definition.
##############################################################################