/*
 * Définition des variables et constantes globales
 */
package fr.free.cdmrail;

import javax.swing.JMenuItem;
import java.awt.Color;
import java.awt.GraphicsConfiguration;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Rectangle;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;

import fr.free.cdmrail.CdmWin.CdmWinMain;
public class Global {
	// Version de CDM-Rail
	public static final String CDM_VERSION = "V26";
	
	// Pour choisir la langue, en Français par défaut
	public static final byte LANGUAGE_FR = 1;
	public static final byte LANGUAGE_EN = 2;
	public static byte whichLanguage = LANGUAGE_FR;
	
	// Liste des écrans disponibles
	// On ne tient compte que de deux écrans au maximum
	public static final GraphicsEnvironment G_ENV = GraphicsEnvironment.getLocalGraphicsEnvironment();
	public static final GraphicsDevice[] G_DEVICES = G_ENV.getScreenDevices();
	public static final GraphicsDevice SCREEN_PRIMARY = G_DEVICES[0];
	public static final GraphicsDevice SCREEN_SECONDARY = G_DEVICES.length > 1 ? G_DEVICES[1] : G_DEVICES[0];
	
	// Les deux confighurations graphiques
	public static final GraphicsConfiguration SCREEN_PRIMARY_CONF = SCREEN_PRIMARY.getDefaultConfiguration();
	public static final GraphicsConfiguration SCREEN_SECONDARY_CONF = SCREEN_SECONDARY.getDefaultConfiguration();
	
	// Pour utiliser le second écran
	public static boolean useScreenSecondary = false;
	
	// Taille et position de l'écran principal
	public static final Rectangle SCREEN_PRIMARY_BOUNDS = SCREEN_PRIMARY_CONF.getBounds();
	
	// Taille et position de l'écran secondaire
	public static final Rectangle SCREEN_SECONDARY_BOUNDS = SCREEN_SECONDARY_CONF.getBounds();
	
	// Couleurs de fond des zones d'affichage des fenêtres
	public static Color primaryBackgroundColor = new Color(192,192,192);
	public static Color secondaryBackgroundColor = new Color(192,192,192);
	
	/*
	 * Les types de fenêtres utilisées
	 */
	public static final String WIN_MAIN = "MAIN"; // Fenêtre principale
	
	public static CdmWinMain theWinMain = null;
	
	// Création du menu
	public static void SetMenu(JFrame pframe, JMenuBar pmenuBar, JMenu [] ptheMenu) {
		// Les titres du menu
		if (Global.whichLanguage == Global.LANGUAGE_FR) {
			// Menu en Français
			for (byte lin = 0; lin < Menu.MENU_MAIN_FR.length; lin++) {
				// Titre principal
				ptheMenu[lin] = new JMenu(Menu.MENU_MAIN_FR[lin]);
				// Les éléments du titre
				for (byte col = 0; col < Menu.MENU_MAIN_ITEMS_FR[lin].length; col++ ) {
					JMenuItem [] theMenuItems = new JMenuItem[Menu.MENU_MAIN_ITEMS_FR[col].length];
					SetMenuItems(ptheMenu[lin], theMenuItems);
				}
				pmenuBar.add(ptheMenu[lin]);
			}
		}
		else {
			// Menu en Anglais
			for (byte i = 0; i < Menu.MENU_MAIN_EN.length; i++) {
				ptheMenu[i] = new JMenu(Menu.MENU_MAIN_EN[i]);
				pmenuBar.add(ptheMenu[i]);
			}
		}
		// Indique la barre de menu
		pframe.setJMenuBar(pmenuBar);
	}
	
	public static void SetMenuItems(JMenu ptheMenu, JMenuItem [] ptheMenuItems) {
		
	}

}


