 // vim: sw=4:ts=4:nu:nospell:fdc=4
 /*global Ext, EQP */
 /**
 * Classe base que implementa o recurso de fornecimento de m�dulos
 *
 * @author Ot�vio Augusto
 * @copyright (c) 2009, by Ot�vio Augusto
 * @company Net On - Solu��es Tecnol�gicas
 * @date 18 de Outubro de 2009
 *
 */

//Define o namespace
Ext.ns('App');

App.ModuleManager = function(config){	
	//Apply custom properties
	Ext.apply(this, config);
	
	
	//Call superclass constructor
	App.ModuleManager.superclass.constructor.call(this);		
};


//Cria a classe base a ser estendida
App.ModuleManager = Ext.extend(Ext.util.Observable,{		
	/**
	 * Inicializa o componente
	 */
	initComponent : function(){		
		//Sobrescreve a configura��o default
		Ext.apply(this,config);

		//Cria os m�dulos
		this.startModules();
		
		
		//Chama o initComponent da super classe
		App.ModuleManager.superclass.initComponent.call(this, arguments);		
	},
	
	/**
	 * Inicializa os m�dulos dispon�veis da aplica��o
	 */
	startModules : function(){
		this.modules = [
            { //Provis�rio, resolve o problema de n�o exibi��o da barra de pagina��o
            	xtype: 'panel'
            },
			{
				xtype: 'admin-setor',
				layout: 'fit'
			},
			{
				xtype: 'pedido-aviso',
				layout: 'fit'
			},
			{
				xtype: 'admin-custo',
				layout: 'fit'
			},
			{
				xtype: 'admin-user',
				layout: 'fit'
			},
			{
				xtype: 'pedido-empresa',
				layout: 'fit'
			},
			{
				xtype: 'pedido-item',
				layout: 'fit'
			},
			{
				xtype: 'pedido-pedido',
				layout: 'fit'
			},
			{
				xtype: 'financeiro-fluxo',
				layout: 'fit',
				deferredRender: false,
				layoutConfig:{
					deferredRender: false
			    }
			},
			{
				xtype: 'financeiro-relatorio',
				layout: 'fit',
				deferredRender: false,
				layoutConfig:{
					deferredRender: false
			    }
			}
			
			
			
		];
	},
	
	/**
	 * Retorna a rela��o de m�dulos dispon�veis
	 */
	getModules : function (){
		if (typeof this.modules == 'undefined')
			this.startModules();
		
		return this.modules;
	}
	
});


