summaryrefslogblamecommitdiffstats
path: root/Dozentenmodul/src/GUI/EditImageAllgemein_GUI.java
blob: 34009fc737d90e757d7a3b7163a06f9689d51500 (plain) (tree)
1
2
3
4
5
6
7
8
            
 
                      

                           

                            
                        







                                     
                           




                             
                               
                          



                              


                                                   
                                       
 
                                    


                     

                               
                                                    
                          
 








                                                         
                                     

                                                





                                         







                                                                     
                                                                                 


                                               
                                                        








                                                                                               
                                        
                                                        
 
                                                        
                                                                                   

                                                      
                                               
                           

                                                 




                                                                
                         
                                                                                   
                                                                       
                                                         


                                                                                       
                                                             



                                                                                                                                  
                                                        















                                                                                                                                            
                                                  


                                           

                                           
                                                   
                                                                      
                                       
                                                     



                                                           
                                                    


                                            

                                            
                                                    
                                                                    
                                        
                                                      



                                                             
                                                    


                                              

                                              
                                                      
                                                                            
                                          
                                                        



                                                         
                                                    


                                         

                                         
                                                 
                                                                  
                                     
                                                   

                                   





                                                                 
                                                                                                                  
                                                     
                                                              


























                                                                                                                                                                                                                             
                                                                                                                                 

























                                                                              
                                                  




                                                                               

                                                                                   
                                                                                    

                                                                                                                                            
                                                                                                
 




                                                                                     


                                                                      

                         



                                                                                                                
                                                                                                                                            
 














                                                                                                                                                            

                                         



                                                                         













                                                          







                                                           
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

                
        

                               

                                                                                                                      












                                                               
                                                                  







                                                                             
 
 
package gui;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.SystemColor;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Map;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JSeparator;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JTextPane;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.EmptyBorder;
import javax.swing.border.TitledBorder;

import org.apache.thrift.TException;

import models.Image;
import models.person;
import server.Server.Client;
import thrift.ThriftConnection;
//import org.eclipse.wb.swing.FocusTraversalOnArray;
import java.awt.Component;

@SuppressWarnings("serial")
public class EditImageAllgemein_GUI extends JFrame {

	private final JPanel contentPanel = new JPanel();
	String[] result;
	private JTextField Vorname;
	private JTextField Nachname;
	private JTextField Hochschule;
	private JTextField EMail;
	private JTextField imagename;
    ThriftConnection con=new ThriftConnection();
    Client client=con.getThriftConnection();
    private JPanel panel_2;
    private JLabel lblNewLabel;
    private JTextPane txtpnBitteWhlenSie;
    private JPanel buttonPane;
    private JButton backButton;
    private JButton okButton;

	/**
	 * Create the dialog.
	 */
	public EditImageAllgemein_GUI() {
		addWindowListener(new WindowAdapter() {
			@Override
			public void windowClosing(WindowEvent arg0) {
				//Beendet die Anwendung bei einem Klick auf das X
				System.exit(0);
			}
		});
		//Verhindert das vergrößern des Fensters
		setResizable(false);
		
		try {
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
		} catch (ClassNotFoundException | InstantiationException
				| IllegalAccessException | UnsupportedLookAndFeelException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		//Setzt den Fenstertitel
		setTitle("bwLehrpool Suite *Prototyp*");

		//Zentriert das Fenster in der Bildmitte
		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		int top=(screenSize.height - 722) / 2;
		int left=(screenSize.width - 603) / 2;
		setBounds(left, top, 603, 722);
		initData();
		getContentPane().setLayout(null);
		{
			panel_2 = new JPanel();
			panel_2.setBackground(SystemColor.menu);
			panel_2.setBounds(10, 11, 577, 57);
			getContentPane().add(panel_2);
			panel_2.setLayout(null);
			{
				lblNewLabel = new JLabel("Bearbeiten Ihrer Daten");
				lblNewLabel.setBounds(10, 11, 509, 22);
				panel_2.add(lblNewLabel);
				lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18));
			}
			
			txtpnBitteWhlenSie = new JTextPane();
			txtpnBitteWhlenSie.setEditable(false);
			txtpnBitteWhlenSie.setBackground(SystemColor.menu);
			txtpnBitteWhlenSie.setText("Geben Sie hier bitte einen sprechenden Imagename sowie Ihre Kontaktdaten an");
			txtpnBitteWhlenSie.setBounds(10, 36, 509, 32);
			panel_2.add(txtpnBitteWhlenSie);
		}
		contentPanel.setBounds(10, 85, 577, 493);
		contentPanel.setBackground(SystemColor.menu);
		contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
		getContentPane().add(contentPanel);
		contentPanel.setLayout(null);
		
		JPanel panel_1 = new JPanel();
		panel_1.setBackground(SystemColor.menu);
		panel_1.setBorder(new TitledBorder(null, "Informationen zum Besitzer", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		panel_1.setBounds(10, 66, 557, 369);
		contentPanel.add(panel_1);
		panel_1.setLayout(null);
		
		JLabel label = new JLabel("Vorname: *");
		label.setBackground(SystemColor.menu);
		label.setBounds(10, 245, 125, 20);
		panel_1.add(label);
		
		Vorname = new JTextField();
		Vorname.setEditable(false);
		Vorname.setEnabled(false);
		Vorname.setBackground(Color.WHITE);
		Vorname.setText(person.verantwortlicher.getVorname());
		Vorname.setColumns(10);
		Vorname.setBounds(145, 245, 350, 20);
		panel_1.add(Vorname);
		
		JLabel label_7 = new JLabel("Nachname: *");
		label_7.setBackground(SystemColor.menu);
		label_7.setBounds(10, 276, 125, 20);
		panel_1.add(label_7);
		
		Nachname = new JTextField();
		Nachname.setEnabled(false);
		Nachname.setEditable(false);
		Nachname.setBackground(Color.WHITE);
		Nachname.setText(person.verantwortlicher.getName());
		Nachname.setColumns(10);
		Nachname.setBounds(145, 276, 350, 20);
		panel_1.add(Nachname);
		
		JLabel label_8 = new JLabel("Hochschule: *");
		label_8.setBackground(SystemColor.menu);
		label_8.setBounds(10, 307, 125, 20);
		panel_1.add(label_8);
		
		Hochschule = new JTextField();
		Hochschule.setEnabled(false);
		Hochschule.setEditable(false);
		Hochschule.setBackground(Color.WHITE);
		Hochschule.setText(person.verantwortlicher.getHochschule());
		Hochschule.setColumns(10);
		Hochschule.setBounds(145, 307, 350, 20);
		panel_1.add(Hochschule);
		
		JLabel label_9 = new JLabel("E-Mail: *");
		label_9.setBackground(SystemColor.menu);
		label_9.setBounds(10, 338, 125, 20);
		panel_1.add(label_9);
		
		EMail = new JTextField();
		EMail.setEnabled(false);
		EMail.setEditable(false);
		EMail.setBackground(Color.WHITE);
		EMail.setText(person.verantwortlicher.getEMail());
		EMail.setColumns(10);
		EMail.setBounds(145, 338, 350, 20);
		panel_1.add(EMail);
		
		JLabel lblImagename = new JLabel("Imagename: *");
		lblImagename.setBackground(SystemColor.menu);
		lblImagename.setBounds(10, 31, 125, 20);
		panel_1.add(lblImagename);
		
		imagename = new JTextField();
		imagename.setToolTipText("Bitte geben Sie hier den Namen des Image ein, z.B. \"Programmieren\".");
		imagename.setBackground(Color.WHITE);
		imagename.setText(Image.image.getImagename());
		imagename.setColumns(10);
		imagename.setBounds(145, 31, 350, 20);
		panel_1.add(imagename);
		
		JTextArea txtrGebenSieBitte = new JTextArea();
		txtrGebenSieBitte.setBackground(SystemColor.menu);
		txtrGebenSieBitte.setLineWrap(true);
		txtrGebenSieBitte.setFont(new Font("Tahoma", Font.PLAIN, 12));
		txtrGebenSieBitte.setText("Geben Sie bitte einen sprechenden Namen f\u00FCr das Image an.\r\nDieser soll jedoch recht allgemein gehalten werden.\r\nBeispiel: \"Programmieren\", nicht \"Programmieren 1\"");
		txtrGebenSieBitte.setBounds(145, 62, 350, 110);
		panel_1.add(txtrGebenSieBitte);
		
		JPanel panel = new JPanel();
		panel.setBounds(10, 402, 577, 33);
		contentPanel.add(panel);
		panel.setLayout(null);
		panel.setBorder(new EmptyBorder(5, 5, 5, 5));
		panel.setBackground(SystemColor.menu);
		
		JLabel lblPflichtfelder = new JLabel("* Pflichtfelder");
		lblPflichtfelder.setBounds(10, 442, 136, 14);
		contentPanel.add(lblPflichtfelder);
		
		JLabel lblHauptmen = new JLabel("Hauptmen\u00FC");
		lblHauptmen.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent arg0) {
				//Durch den Klick auf Button Hauptmenpü wird dieses Fenster unsichtbar und das Hauptmenü sichtbar
				EditImageAllgemein_GUI.this.setVisible(false);
				MainMenue_GUI main=new MainMenue_GUI();
				main.setVisible(true);
			}
		});
		lblHauptmen.setForeground(Color.BLUE);
		lblHauptmen.setBounds(10, 11, 61, 14);
		contentPanel.add(lblHauptmen);
		
		JLabel label_1 = new JLabel(">");
		label_1.setBounds(69, 11, 13, 14);
		contentPanel.add(label_1);
		
		JLabel lblVlimage = new JLabel("VL-Image");
		lblVlimage.setForeground(Color.BLUE);
		lblVlimage.setBounds(81, 11, 45, 14);
		contentPanel.add(lblVlimage);
		
		JLabel label_2 = new JLabel(">");
		label_2.setBounds(133, 11, 13, 14);
		contentPanel.add(label_2);
		
		JLabel lblNewLabel_1 = new JLabel("Bearbeiten");
		lblNewLabel_1.setBounds(146, 11, 71, 14);
		contentPanel.add(lblNewLabel_1);
		{
			buttonPane = new JPanel();
			buttonPane.setBounds(0, 640, 597, 33);
			buttonPane.setBackground(SystemColor.menu);
			buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
			getContentPane().add(buttonPane);
			{
				backButton = new JButton("Zur\u00FCck");
				backButton.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent e) {
						
						//Setzen der Eingabe im Model, dadurch bleiben die Daten bei einem erneuten Aufruf verfügbar
						//Image.image.setImagename(imagename.getText());

						MainMenue_GUI sr=new MainMenue_GUI();
						sr.setVisible(true);
						dispose();
					}
				});
				backButton.setActionCommand("CANCEL");
				buttonPane.add(backButton);
				
			}
			{
				okButton = new JButton("Weiter");
				okButton.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent arg0) {
						System.out.println("text length="+imagename.getText().length());
						//Setzen der Eingabe im Model, dadurch bleiben die Daten bei einem erneuten Aufruf verfügbar

						//TODO
						//Prüfung ob alle notwendigen Felder ausgefüllt sind --> funktioniert aktuell nicht
						//der Button wechselt beim Klick auf die nächste Seite, selbst wenn kein handler implementiert ist... WTF???
						if(imagename.getText().length() <= 0){
							JOptionPane.showMessageDialog(null,
								    "Bitte geben Sie einen Labornamen ein.",
								    "Daten nicht vollständig",
								    JOptionPane.WARNING_MESSAGE);
						} else {
							Image.image.setNewName(imagename.getText());
							con.closeThriftConnection();
							EditImageTechnisch_GUI ea=new EditImageTechnisch_GUI();
							ea.setVisible(true);
							dispose();
						}//end else
					}
				});
				
				okButton.setActionCommand("OK");
				buttonPane.add(okButton);
				getRootPane().setDefaultButton(okButton);
			}
		}
		
		JSeparator separator = new JSeparator();
		separator.setBounds(0, 78, 597, 2);
		getContentPane().add(separator);
		
		JSeparator separator_1 = new JSeparator();
		separator_1.setBounds(0, 627, 597, 2);
		getContentPane().add(separator_1);
		
		JMenuBar menuBar = new JMenuBar();
		setJMenuBar(menuBar);
		
		JMenu mnNewMenu_1 = new JMenu("Hilfe");
		menuBar.add(mnNewMenu_1);
		
		JMenuItem mntmFaq = new JMenuItem("FAQ");
		mnNewMenu_1.add(mntmFaq);
		
		JMenuItem mntmOtrs = new JMenuItem("OTRS");
		mnNewMenu_1.add(mntmOtrs);
		//setFocusTraversalPolicy(new FocusTraversalOnArray(new Component[]{getContentPane(), panel_2, lblNewLabel, txtpnBitteWhlenSie, contentPanel, panel_1, label, Vorname, label_7, Nachname, label_8, Hochschule, label_9, EMail, lblImagename, imagename, txtrGebenSieBitte, panel, lblPflichtfelder, lblHauptmen, label_1, lblVlimage, label_2, lblNewLabel_1, buttonPane, backButton, okButton, separator, separator_1, menuBar, mnNewMenu_1, mntmFaq, mntmOtrs}));
		
	}
	
	public void initData(){
		try {
			
			Map<String,String> map=client.getImageData(Image.image.getImageId(),Image.image.getVersion());
			if(map.get("internet").equals("0")){
				Image.image.setInternet(false);
			}
			else
			{
				Image.image.setInternet(true);
			}
			if(map.get("license").equals("0")){
				Image.image.setLicensed(false);
			}
			else{
				Image.image.setLicensed(true);
			}
			Image.image.setImagename(map.get("name"));
			Image.image.setRam(Integer.parseInt(map.get("ram")));
			Image.image.setCpu(Integer.parseInt(map.get("cpu")));
		} catch (TException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	

}