#
#  Copyright (c) 2010 Helmut Merz helmutm@cy55.de
#
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#

"""
View controller for the Mojo skin.

$Id$
"""

from cybertools.ajax.dojo import dojoMacroTemplate
from cybertools.browser.controller import Controller as BaseController


class Controller(BaseController):

    def __init__(self, context, request):
        self.view = view = context         # the controller is adapted to a view
        self.context = context.context
        self.request = request
        self.setupCss()
        self.setupJs()
        super(Controller, self).__init__(context, request)

    def setupCss(self):
        macros = self.macros
        params = [('base.css', 'screen', 25),
                  ('print.css', 'print', 30),
                  ('custom.css', 'all', 100)]
        for param in params:
            macros.register('css', identifier=param[0],
                            resourceName=param[0], media=param[1],
                            priority=param[2])

    def setupJs(self):
        cm = self.macros
        cm.register('js', 'dojo.js', template=dojoMacroTemplate, name='main',
                    position=0,
                    djConfig='parseOnLoad: true, usePlainJson: true, '
                             #'isDebug: true, '
                             'locale: "en"')
        jsCall = ('dojo.require("dojo.parser"); '
                  'dojo.registerModulePath("jocy", "/@@/cybertools.jocy"); ')
        cm.register('js-execute', 'dojo_registration', jsCall=jsCall)

        jsCall = ('dojo.require("dijit.layout.ContentPane"); '
                  'dojo.require("dijit.layout.BorderContainer"); ')
        cm.register('js-execute', 'dojo_contentpane', jsCall=jsCall)
        cm.register('css', identifier='tundra.css', position=0,
                    resourceName='ajax.dojo/dijit/themes/tundra/tundra.css',
                    media='all')
