summaryrefslogblamecommitdiffstats
path: root/Dozentenmodul/src/gui/image/EditImageAllgemein_GUI.java
blob: 47837c22a5ce754b0fed6167df009afd1536d906 (plain) (tree)
1
2
3
4
5
6
7
8
9

                  
                           
                               
 
                      
                           

                            





                                     

                                   
                     
 
                           




                             
                               
                          



                              


                                                   
                                       
 
                    
                    
                     


                                    

                               
                         
                      
 








                                                         
                                     
                                                      
                                                            





                                             







                                                                     
                                                                                  
                                                            


                                               
                                                           
                                    
 






                                                                                               
                                         
                                                                           
 
                                                         

                                             
                           

                                                 




                                                                
                         
                                                                                   
                                                                       
                                                         

                                                                                       
 
                                                             

                                                                           

                                                                                                                                
                                                                      
                                                        





                                                                    
 

                                                        

                                                                                      


                                                    
 

                                                        
                                                  
                                   
 
                                           

                                           
                                                   
                                                                      
                                       
                                                     
                                     
 

                                                           
                                                    
                                     
 
                                            

                                            
                                                    
                                                                    
                                        
                                                      
                                      
 

                                                             
                                                    
                                     
 
                                              

                                              
                                                      
                                                                            
                                          
                                                        
                                        
 

                                                         
                                                    
                                     
 
                                         

                                         
                                                 
                                                                  
                                     
                                                   
                                   
 



                                                                 
 
                                             

                                                                                                                         




                                                              
 



                                                                              

                                                                                                                                                                                                                            

                                                               
 





                                                             
 


                                                                        
 



                                                                   

                                                                                             
                                
                                                                              
                                                                         





                                                      
 


                                                  
 



                                                           
 


                                                   
 



                                                                
                                                  




                                                                               

                                                                                   
                                                                                    

                                                                                                   
                                                                                             
                                                                                                 
                                                
                                                                                                   
                                                                    


                                                          

                                                                      
 

                         


                                                                                       

                                                                                        
                                                                                           
                                                                                                                
                                                                                                       

                                                                                                         
                                                        

                                                                                              
                                                                                                      

                                                                                                                                                                 
                                                        
                                                                                                                 

                                                                            
                                                            

                                         
 


                                                                         

                         
 


                                                        
 


                                                          
 

                                                  
 

                                                       
 
                                                         

                                                             
                                                                   
                                











                                                                          

                         
                                         
                
 
                                                           

                                                              
                                                                   
 












                                                                           

                         
                                          








                                                                    








                                                                                       
         

                                
                     



                                                                                            
                                                               
                                

                                                              
                                                             
                                                               
                                

                                                              
                                                                  

                                                                             










                                                                                     


                                                          
                                                           

                                                                                              

                 
 
 
package gui.image;

import gui.intro.About_GUI;
import gui.intro.MainMenue_GUI;

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.SystemColor;
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.net.URI;
import java.net.URISyntaxException;
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 models.Image;
import models.Links;
import models.person;

import org.apache.thrift.TException;

import server.Server.Client;
import thrift.ThriftConnection;
import util.GuiOrganizer;
import util.OpenLinks;

@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 = models.Client.clientcon.getClient();
	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
				con.closeThriftConnection();
				System.exit(0);
			}
		});
		// Verhindert das vergroessern 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* - Image bearbeiten");

		// Zentriert das Fenster in der Bildmitte
		setBounds(0, 0, 603, 722);
		GuiOrganizer.centerGUI(this);
		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 Hauptmenpue wird dieses Fenster
				// unsichtbar und das Hauptmenue 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 verfuegbar
						// Image.image.setImagename(imagename.getText());
						
						SearchEditImage_GUI se = new SearchEditImage_GUI();
						se.setVisible(true);
						dispose();
					}
				});
				backButton.setActionCommand("CANCEL");
				buttonPane.add(backButton);

			}
			{
				okButton = new JButton("Weiter");
				okButton.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent arg0) {
						// check is textfield is empty
						if (imagename.getText().length() <= 0) {
							JOptionPane.showMessageDialog(null,
									"Bitte geben Sie einen Labornamen ein.",
									"Daten nicht vollst\u00e4ndig",
									JOptionPane.INFORMATION_MESSAGE);

						} else {

							// setze Namen, egal ob alt oder nicht
							Image.image.setImagename(imagename.getText());
							System.out.println("Changing name to:" + imagename.getText()+ "\nNewName is: "+Image.image.getNewName());

							
							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");
		mntmFaq.addMouseListener(new MouseAdapter() {
			@Override
			public void mousePressed(MouseEvent arg0) {
				
				OpenLinks open = new OpenLinks();
				
				URI windows;
				try {
					windows = new URI(Links.getFAQ());
					
					open.openWebpage(windows);
					
				} catch (URISyntaxException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		});
		mnNewMenu_1.add(mntmFaq);
		

		JMenuItem mntmOtrs = new JMenuItem("OTRS");
		mntmOtrs.addMouseListener(new MouseAdapter() {
			@Override
			public void mousePressed(MouseEvent arg0) {

				OpenLinks open = new OpenLinks();
				
				URI windows;
				try {
					windows = new URI(Links.getOTRS());
					
					open.openWebpage(windows);
					
				} catch (URISyntaxException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				
			}
		});
		mnNewMenu_1.add(mntmOtrs);
		
		JMenuItem menuItem = new JMenuItem("About");
		menuItem.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				About_GUI ab = new About_GUI();
				ab.setVisible(true);
			}
		});
		mnNewMenu_1.add(menuItem);
		// 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")));
			Image.image.setImagepath(map.get("path"));
			Image.image.setFilesize(Long.parseLong(map.get("filesize")));
			int mode=0;
			if(map.get("shareMode").equals("only_local")){
				mode=0;
			}
			else
			{
				mode=1;
			}
			Image.image.setShareMode(mode);
		} catch (TException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			JOptionPane.showMessageDialog(null,
					e.getCause() + "\n" + e.getMessage(), "Debug-Message",
					JOptionPane.ERROR_MESSAGE);
		}
	}

}