Edgardo Palza 7 rokov pred
rodič
commit
b678034197
2 zmenil súbory, kde vykonal 148 pridanie a 43 odobranie
  1. 92 20
      src/ui/view/GUI.java
  2. 56 23
      src/ui/view/Languages.java

+ 92 - 20
src/ui/view/GUI.java

@@ -202,6 +202,13 @@ public class GUI<E> implements CategoryListener {
 
 	private final Languages languages = new Languages();
 
+	// Languages
+	private final JMenuItem englishBtn = new JMenuItem("EN");
+	private final JMenuItem spanishBtn = new JMenuItem("ES");
+	private final JMenuItem germanBtn = new JMenuItem("DE");
+	private final JMenuItem czechBtn = new JMenuItem("CZ");
+	private final JMenuItem chineseBtn = new JMenuItem("ZH");
+
 	// variables
 	private boolean dragging = false;
 	private String actualObjectClicked;
@@ -235,6 +242,10 @@ public class GUI<E> implements CategoryListener {
 	private final JMenuItem mntmResetCategory = new JMenuItem("Reset Categories");
 	private final JMenu mnLanguage = new JMenu("Language");
 
+	private String[] columnNamesMulti = { "Object", "Nr.", "Device", "Energy", "Quantity", "Activated" };
+	private String[] columnNamesSingle = { "Nr.", "Device", "Energy", "Quantity", "Activated" };
+	private String[] colNames = { "Field", "Information" };
+
 	/**
 	 * Create the application.
 	 * 
@@ -461,6 +472,10 @@ public class GUI<E> implements CategoryListener {
 		mnNewMenuEdit.add(mntmUndo);
 
 		mnNewMenuEdit.add(mntmRedo);
+		mnLanguage.add(englishBtn);
+		mnLanguage.add(spanishBtn);
+		mnLanguage.add(germanBtn);
+		mnLanguage.add(czechBtn);
 		mntmFindReplace.addActionListener(new ActionListener() {
 			public void actionPerformed(ActionEvent e) {
 				try {
@@ -554,7 +569,7 @@ public class GUI<E> implements CategoryListener {
 		menuBar.add(mnHelp);
 
 		mnHelp.add(aboutUs);
-		
+
 		mnNewMenuOptions.add(mnLanguage);
 
 		canvas.setBackground(Color.WHITE);
@@ -566,9 +581,7 @@ public class GUI<E> implements CategoryListener {
 		// Set up of the HolonElements section
 		// Two different Models: Multi for multi-selection mode and Single for
 		// single-selection mode (CPS-Object)
-		Object[] columnNamesMulti = { "Object", "Nr.", "Device", "Energy", "Quantity", "Activated" };
 		tableModelHolonElementMulti.setColumnIdentifiers(columnNamesMulti);
-		Object[] columnNamesSingle = { "Nr.", "Device", "Energy", "Quantity", "Activated" };
 		tableModelHolonElementSingle.setColumnIdentifiers(columnNamesSingle);
 		tableHolonElement.setBorder(null);
 		tableHolonElement.setFillsViewportHeight(true);
@@ -585,7 +598,6 @@ public class GUI<E> implements CategoryListener {
 		panelHolonEl.add(toolBarHolonEl);
 
 		// Set up of the Properties section
-		Object[] colNames = { "Field", "Information" };
 		tableModelProperties = new DefaulTable(1000, colNames.length);
 		tableModelProperties.setColumnIdentifiers(colNames);
 		tableProperties.setModel(tableModelProperties);
@@ -1396,7 +1408,46 @@ public class GUI<E> implements CategoryListener {
 				}
 			}
 		});
+		englishBtn.addActionListener(new ActionListener() {
+
+			@Override
+			public void actionPerformed(ActionEvent e) {
+				languages.setLanguage(0);
+				refreshLanguages();
+			}
+		});
+		spanishBtn.addActionListener(new ActionListener() {
 
+			@Override
+			public void actionPerformed(ActionEvent e) {
+				languages.setLanguage(1);
+				refreshLanguages();
+			}
+		});
+		germanBtn.addActionListener(new ActionListener() {
+
+			@Override
+			public void actionPerformed(ActionEvent e) {
+				languages.setLanguage(2);
+				refreshLanguages();
+			}
+		});
+		czechBtn.addActionListener(new ActionListener() {
+
+			@Override
+			public void actionPerformed(ActionEvent e) {
+				languages.setLanguage(3);
+				refreshLanguages();
+			}
+		});
+		chineseBtn.addActionListener(new ActionListener() {
+
+			@Override
+			public void actionPerformed(ActionEvent e) {
+				languages.setLanguage(4);
+				refreshLanguages();
+			}
+		});
 		mntmUndo.addActionListener(new java.awt.event.ActionListener() {
 
 			@Override
@@ -1490,9 +1541,9 @@ public class GUI<E> implements CategoryListener {
 		splitPaneCanvasConsole.setRightComponent(console);
 		splitPane1.setLeftComponent(splitPaneCanvasConsole);
 		splitPane1.setRightComponent(splitHolonElPro);
-		
+
 		splitPane1.setResizeWeight(0.9);
-		
+
 		splitHolonElPro.setDividerLocation(400);
 		splitHolonElPro.setTopComponent(splitGraphHolonEl);
 		splitHolonElPro.setBottomComponent(scrollProperties);
@@ -1822,19 +1873,40 @@ public class GUI<E> implements CategoryListener {
 
 		});
 	}
-	
-	/*
-	 * Languages Mode
-	 */
-	// mnNewMenu.setText(languages.getLang()[0]);
-	// mntmNew.setText(languages.getLang()[1]);
-	// mntmOpen.setText(languages.getLang()[2]);
-	// mntmSave.setText(languages.getLang()[3]);
-	// mnNewMenuEdit.setText(languages.getLang()[4]);
-	// mnNewMenuOptions.setText(languages.getLang()[9]);
-	// mnNewMenuView.setText(languages.getLang()[11]);
-	// canvasSize.setText(languages.getLang()[12]);
-	// mnHelp.setText(languages.getLang()[13]);
-	// aboutUs.setText(languages.getLang()[14]);
+
+	private void refreshLanguages() {
+		String[] tempArray = languages.getLanguage();
+		// ToolBar
+		mnNewMenu.setText(tempArray[0]);
+		mntmNew.setText(tempArray[1]);
+		mntmOpen.setText(tempArray[2]);
+		mntmSave.setText(tempArray[3]);
+		mnNewMenuEdit.setText(tempArray[4]);
+		mntmUndo.setText(tempArray[5]);
+		mntmRedo.setText(tempArray[6]);
+		mntmFindReplace.setText(tempArray[7]);
+		mntmEditShowedInformation.setText(tempArray[8]);
+		mnNewMenuOptions.setText(tempArray[9]);
+		mntmResetCategory.setText(tempArray[10]);
+		mnNewMenuView.setText(tempArray[11]);
+		canvasSize.setText(tempArray[12]);
+		mnHelp.setText(tempArray[13]);
+		aboutUs.setText(tempArray[14]);
+		mntmEditEdges.setText(tempArray[15]);
+		mnLanguage.setText(tempArray[16]);
+
+		// Tables
+		for (int i = 0; i < columnNamesMulti.length; i++) {
+			columnNamesMulti[i] = tempArray[i + 17];
+		}
+		tableModelHolonElementMulti.setColumnIdentifiers(columnNamesMulti);
+		for (int i = 0; i < columnNamesSingle.length; i++) {
+			columnNamesSingle[i] = tempArray[i + 18];
+		}
+		tableModelHolonElementSingle.setColumnIdentifiers(columnNamesSingle);
+		colNames[0] = tempArray[23];
+		colNames[1] = tempArray[24];
+		tableModelProperties.setColumnIdentifiers(colNames);
+	}
 
 }

+ 56 - 23
src/ui/view/Languages.java

@@ -1,40 +1,73 @@
 package ui.view;
 
 public class Languages {
-	/* 0 = English (default), 1 = Spanish, 2 = German, 3 = Czech, 4 = Chinese */
+
 	int languageVar = 0;
-	String[] array = new String[1000];
 
-	void Languages() {
-		setLang(0);
-	}
+	String[] arrayEN = {
+			// ToolBar (0-16)
+			"File", "New", "Open", "Save", "Edit", "Undo", "Redo", "Find/Replace", "Edit showed Information", "Options",
+			"Reset Categories", "View", "View Size", "Help", "About Us", "Edit Edges", "Language",
+			// Tables (17-24)
+			"Object", "Nr.", "Device", "Energy", "Quantity", "Activated", "Field", "Information",
+			// Graph (25-26)
+			"None ", "Reset" };
 
-	void setLang(int i) {
-		languageVar = i;
-	}
+	String[] arrayES = {
+			// ToolBar (0-16)
+			"Archivo", "Nuevo", "Abrir", "Guardar", "Editar", "Deshacer", "Rehacer", "Buscar/Reemplazar",
+			"Editar Informacion a mostrar", "Opciones", "Resetear Categorias", "Vista", "Tamano de Vista", "Ayuda",
+			"Sobre Nosotros", "Editar Conexiones", "Idiomas",
+			// Tables (17-24)
+			"Objeto", "Nr.", "Equipo", "Enegia", "Cantidad", "Activo", "Campo", "Informacion",
+			// Graph (25-26)
+			"Nada ", "Resetear" };
 
-	void chooseLang(int lan) {
-		switch (lan) {
+	String[] arrayDE = {
+			// ToolBar (0-16)
+			"File", "New", "Open", "Save", "Edit", "Undo", "Redo", "Find/Replace", "Edit showed Information", "Options",
+			"Reset Categories", "View", "View Size", "Help", "About Us", "Edit Edges", "Language",
+			// Tables (17-24)
+			"Object", "Nr.", "Device", "Energy", "Quantity", "Activated", "Field", "Information",
+			// Graph (25-26)
+			"None ", "Reset" };
+
+	String[] arrayCZ = {
+			// ToolBar (0-16)
+			"File", "New", "Open", "Save", "Edit", "Undo", "Redo", "Find/Replace", "Edit showed Information", "Options",
+			"Reset Categories", "View", "View Size", "Help", "About Us", "Edit Edges", "Language",
+			// Tables (17-24)
+			"Object", "Nr.", "Device", "Energy", "Quantity", "Activated", "Field", "Information",
+			// Graph (25-26)
+			"None ", "Reset" };
+
+	String[] arrayZH = {
+			// ToolBar (0-16)
+			"File", "New", "Open", "Save", "Edit", "Undo", "Redo", "Find/Replace", "Edit showed Information", "Options",
+			"Reset Categories", "View", "View Size", "Help", "About Us", "Edit Edges", "Language",
+			// Tables (17-24)
+			"Object", "Nr.", "Device", "Energy", "Quantity", "Activated", "Field", "Information",
+			// Graph (25-26)
+			"None ", "Reset" };
+
+	public String[] getLanguage() {
+		switch (languageVar) {
 		case 0:
-			array = new String[] { "File", "New", "Open", "Save", "Edit", "Undo", "Redo", "Find/Replace",
-					"Edit showed Information", "Options", "Reset Categories", "View", "View Size", "Help", "About Us" };
+			return arrayEN;
 		case 1:
-			array = new String[] { "Archivo", "Nuevo", "Abrir", "Guardar", "Editar", "Deshacer", "Rehacer",
-					"Buscar/Reemplazar", "Editar Informacion a mostrar", "Opciones", "Resetear Categorias", "Vista",
-					"Tamano de Vista", "Ayuda", "Sobre Nosotros" };
+			return arrayES;
 		case 2:
-			array = new String[] { "File", "New", "Open", "Save", "Edit", "Undo", "Redo", "Find/Replace",
-					"Edit showed Information", "Options", "Reset Categories", "View", "View Size", "Help", "About Us" };
+			return arrayDE;
 		case 3:
-			array = new String[] { "File", "New", "Open", "Save", "Edit", "Undo", "Redo", "Find/Replace",
-					"Edit showed Information", "Options", "Reset Categories", "View", "View Size", "Help", "About Us" };
+			return arrayCZ;
 		case 4:
-			array = new String[] { "File", "New", "Open", "Save", "Edit", "Undo", "Redo", "Find/Replace",
-					"Edit showed Information", "Options", "Reset Categories", "View", "View Size", "Help", "About Us" };
+			return arrayZH;
+		default:
+			return arrayEN;
 		}
 	}
 
-	String[] getLang() {
-		return array;
+	public void setLanguage(int i) {
+		languageVar = i;
 	}
 }