package org.buttons;
import org.main.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.filechooser.FileFilter;
public class VocMenubar extends JMenuBar implements ActionListener {
public static boolean saved = true;
private File savefile;
private JMenuItem item[] = new JMenuItem[20];
private int i = 0;
private String[] fertig;
private JMenu datei;
private JMenuItem neu;
private JMenuItem speichern;
private JMenuItem speichernals;
private JMenuItem laden;
private JMenuItem drucken;
private JMenuItem beenden;
private JMenu bearbeiten;
private JMenuItem rückgängig;
private JMenuItem vorwärts;
private JMenuItem ausschneiden;
private JMenuItem kopieren;
private JMenuItem einfügen;
private JMenuItem zeile;
private JMenuItem suchen;
private JMenuItem ersetzen;
private JMenu befehle;
private JMenu vordefinierte;
private JMenu eigene;
private JMenuItem verbindung;
private JMenuItem datenbank;
private JMenuItem abfragen;
private JMenuItem insert;
private JMenuItem ändern;
private JMenuItem löschen;
private JMenuItem vschließen;
private JMenuItem bhinzufügen, blöschen;
private JMenu einstellungen;
private JMenuItem schrift;
private JMenu look;
private JMenuItem metal, motif, windows;
public VocMenubar() {
super();
datei = new JMenu("Datei");
neu = new JMenuItem("Neu");
laden = new JMenuItem("Laden...");
speichern = new JMenuItem("Speichern");
speichernals = new JMenuItem("Speichern als...");
drucken = new JMenuItem("Drucken");
beenden = new JMenuItem("Beenden");
datei.add(neu);
datei.add(laden);
datei.add(speichern);
datei.add(speichernals);
datei.add(drucken);
datei.add(beenden);
add(datei);
bearbeiten = new JMenu("Bearbeiten");
rückgängig = new JMenuItem("Rückgängig");
vorwärts = new JMenuItem("Wiederholen");
ausschneiden = new JMenuItem("Ausschneiden");
kopieren = new JMenuItem("Kopieren");
einfügen = new JMenuItem("Einfügen");
zeile = new JMenuItem("Zu Zeile springen");
suchen = new JMenuItem("String suchen");
ersetzen = new JMenuItem("String ersetzen");
bearbeiten.add(rückgängig);
bearbeiten.add(vorwärts);
bearbeiten.add(ausschneiden);
bearbeiten.add(kopieren);
bearbeiten.add(einfügen);
bearbeiten.add(zeile);
bearbeiten.add(suchen);
bearbeiten.add(ersetzen);
add(bearbeiten);
befehle = new JMenu("Befehle");
vordefinierte = new JMenu("Vordefinierte...");
eigene = new JMenu("Eigene...");
verbindung = new JMenuItem("MySQL Verbindung aufbauen");
datenbank = new JMenuItem("Datenbank auswählen");
abfragen = new JMenuItem("Abfrage");
insert = new JMenuItem("Einfügen");
ändern = new JMenuItem("Ändern");
löschen = new JMenuItem("Löschen");
vschließen = new JMenuItem("Verbindung schließen");
bhinzufügen = new JMenuItem("Befehl hinzufügen");
blöschen = new JMenuItem("Befehl löschen");
vordefinierte.add(verbindung);
vordefinierte.add(datenbank);
vordefinierte.add(abfragen);
vordefinierte.add(insert);
vordefinierte.add(ändern);
vordefinierte.add(löschen);
vordefinierte.add(vschließen);
eigene.add(bhinzufügen);
eigene.add(blöschen);
befehle.add(vordefinierte);
befehle.add(eigene);
add(befehle);
einstellungen = new JMenu("Einstellungen");
look = new JMenu("Look&Feel");
windows = new JMenuItem("Windows");
metal = new JMenuItem("Metal");
motif = new JMenuItem("Motif");
look.add(metal);
look.add(windows);
look.add(motif);
schrift = new JMenuItem("Schrift wählen");
einstellungen .add(schrift);
einstellungen.add(look);
add(einstellungen);
neu.addActionListener(this);
laden.addActionListener(this);
speichern.addActionListener(this);
speichernals.addActionListener(this);
drucken.addActionListener(this);
beenden.addActionListener(this);
verbindung.addActionListener(this);
datenbank.addActionListener(this);
abfragen.addActionListener(this);
insert.addActionListener(this);
ändern.addActionListener(this);
löschen.addActionListener(this);
vschließen.addActionListener(this);
bhinzufügen.addActionListener(this);
metal.addActionListener(this);
windows.addActionListener(this);
motif.addActionListener(this);
schrift.addActionListener(this);
readOutFile();
if(fertig != null) {
try {
createOrder();
if(fertig[57] == null) {
if(fertig[54] == null) {
if(fertig[51] == null) {
if(fertig[48] == null) {
if(fertig[45] == null) {
if(fertig[42] == null) {
if(fertig[39] == null) {
if(fertig[36] == null) {
if(fertig[33] == null) {
if(fertig[30] == null) {
if(fertig[27] == null) {
if(fertig[24] == null) {
if(fertig[21] == null) {
if(fertig[18] == null) {
if(fertig[15] == null) {
if(fertig[12] == null) {
if(fertig[9] == null) {
if(fertig[6] == null) {
if(fertig[3] == null) {
i = 0;
}
i = 1;
}
i = 2;
}
i = 3;
}
i = 4;
}
i = 5;
}
i = 6;
}
i = 7;
}
i = 8;
}
i = 9;
}
i = 10;
}
i = 11;
}
i = 12;
}
i = 13;
}
i = 14;
}
i = 15;
}
i = 16;
}
i = 17;
}
i = 18;
}
i = 19;
}
catch(ArrayIndexOutOfBoundsException ex) {}
}
}
public void actionPerformed(ActionEvent e) {
if(e.getSource().equals(verbindung))
MainClass.pane.append("$connection = mysql_connect($host, $user, $password);" + "\n");
else if(e.getSource().equals(datenbank))
MainClass.pane.append("mysql_select_db($databasename);" + "\n");
else if(e.getSource().equals(abfragen)) {
MainClass.pane.append("$get = \"SELECT FROM tablename WHERE cloumn1 = '$value1'\";" + "\n");
MainClass.pane.append("$finish = mysql_query($get);" + "\n");
MainClass.pane.append("while($row = mysql_fetch_object($get))" + "\n");
MainClass.pane.append("{" + "\n");
MainClass.pane.append("}" + "\n");
}
else if(e.getSource().equals(insert)) {
MainClass.pane.append("$insert = \"INSERT INTO table" + "\n");
MainClass.pane.append("(column1, column2, column3)" + "\n");
MainClass.pane.append("VALUES" + "\n");
MainClass.pane.append("('value1', 'value2', 'value3')\";" + "\n");
MainClass.pane.append("mysql_query($insert);" + "\n");
}
else if(e.getSource().equals(ändern)) {
MainClass.pane.append("$aendern = \"UPDATE table Set" + "\n");
MainClass.pane.append("column1 = 'value1'" + "\n");
MainClass.pane.append("WHERE column2 = 'value2'\";" + "\n");
MainClass.pane.append("mysql_query($change);" + "\n");
}
else if(e.getSource().equals(löschen)) {
MainClass.pane.append("$delete = \"DELETE FROM table" + "\n");
MainClass.pane.append("WHERE column1 = 'value1'\";" + "\n");
MainClass.pane.append("mysql_query($delete);" + "\n");
}
else if(e.getSource().equals(vschließen)) {
MainClass.pane.append("mysql_close($connection);" + "\n");
}
else if(e.getSource().equals(bhinzufügen)) {
if(i <= 19) {
String mtext;
PrintStream p;
FileReader y;
BufferedReader in;
StringBuffer eingabe;
try {
y = new FileReader("../conf/orders.ord");
in = new BufferedReader(y);
eingabe = new StringBuffer();
for (String str = in.readLine(); str != null; str = in.readLine())
eingabe.append(str + "\n");
in.close();
mtext = JOptionPane.showInputDialog(null, "Name des Befehls:");
String s2 = JOptionPane.showInputDialog(null, "Text des Befehls:");
addMenuItem(mtext);
p = new PrintStream("../conf/orders.ord");
p.append(eingabe);
p.append(Integer.toString(i) + "\n");
p.append(mtext);
p.append("\n");
p.append(s2);
p.append("\n");
p.close();
}
catch(FileNotFoundException ex) {
try {
mtext = JOptionPane.showInputDialog(null, "Name des Befehls:");
String s2 = JOptionPane.showInputDialog(null, "Text des Befehls:");
addMenuItem(mtext);
p = new PrintStream("../conf/orders.ord");
p.append(Integer.toString(i) + "\n");
p.append(mtext);
p.append("\n");
p.append(s2);
p.append("\n");
p.close();
}
catch(FileNotFoundException ex2) {}
}
catch(IOException ex) {
System.err.println("Konnte die Datei nicht auslesen.");
}
}
else if(i == 20) {
String mtext;
PrintStream p;
FileReader y;
BufferedReader in;
StringBuffer eingabe;
try {
y = new FileReader("../conf/orders.ord");
in = new BufferedReader(y);
eingabe = new StringBuffer();
for (String str = in.readLine(); str != null; str = in.readLine())
eingabe.append(str + "\n");
in.close();
mtext = JOptionPane.showInputDialog(null, "Name des Befehls:");
String s2 = JOptionPane.showInputDialog(null, "Text des Befehls:");
addMenuItem(mtext);
p = new PrintStream("../conf/orders.ord");
p.append(eingabe);
p.append(Integer.toString(i) + "\n");
p.append(mtext + "\n");
p.append(s2 + "\n");
p.close();
bhinzufügen.disable();
}
catch(IOException ex) {
System.err.println("Konnte die Datei nicht auslesen.");
}
}
else if(i >= 21) {
JOptionPane.showMessageDialog(null, "Es können maximal 20 Befehle gespeichert werden");
}
}
else if(e.getSource().equals(item[0])) {
readOutFile();
MainClass.pane.append(fertig[2] + "\n");
}
else if(e.getSource().equals(item[1])) {
readOutFile();
MainClass.pane.append(fertig[5] + "\n");
}
else if(e.getSource().equals(item[2])) {
readOutFile();
MainClass.pane.append(fertig[8] + "\n");
}
else if(e.getSource().equals(item[3])) {
readOutFile();
MainClass.pane.append(fertig[11] + "\n");
}
else if(e.getSource().equals(item[4])) {
readOutFile();
MainClass.pane.append(fertig[14] + "\n");
}
else if(e.getSource().equals(item[5])) {
readOutFile();
MainClass.pane.append(fertig[17] + "\n");
}
else if(e.getSource().equals(item[6])) {
readOutFile();
MainClass.pane.append(fertig[20] + "\n");
}
else if(e.getSource().equals(item[7])) {
readOutFile();
MainClass.pane.append(fertig[23] + "\n");
}
else if(e.getSource().equals(item[8])) {
readOutFile();
MainClass.pane.append(fertig[26] + "\n");
}
else if(e.getSource().equals(item[9])) {
readOutFile();
MainClass.pane.append(fertig[29] + "\n");
}
else if(e.getSource().equals(item[10])) {
readOutFile();
MainClass.pane.append(fertig[31] + "\n");
}
else if(e.getSource().equals(item[11])) {
readOutFile();
MainClass.pane.append(fertig[34] + "\n");
}
else if(e.getSource().equals(item[12])) {
readOutFile();
MainClass.pane.append(fertig[37] + "\n");
}
else if(e.getSource().equals(item[13])) {
readOutFile();
MainClass.pane.append(fertig[40] + "\n");
}
else if(e.getSource().equals(item[14])) {
readOutFile();
MainClass.pane.append(fertig[43] + "\n");
}
else if(e.getSource().equals(item[15])) {
readOutFile();
MainClass.pane.append(fertig[46] + "\n");
}
else if(e.getSource().equals(item[16])) {
readOutFile();
MainClass.pane.append(fertig[49] + "\n");
}
else if(e.getSource().equals(item[17])) {
readOutFile();
MainClass.pane.append(fertig[52] + "\n");
}
else if(e.getSource().equals(item[18])) {
readOutFile();
MainClass.pane.append(fertig[55] + "\n");
}
else if(e.getSource().equals(item[19])) {
readOutFile();
MainClass.pane.append(fertig[58] + "\n");
}
else if(e.equals(metal)) {
try {
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
SwingUtilities.updateComponentTreeUI(MainClass.f);
MainClass.f.pack();
}
catch(Exception ex) {};
}
else if(e.equals(windows)) {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
SwingUtilities.updateComponentTreeUI(MainClass.f);
MainClass.f.pack();
}
catch(Exception ex) {};
}
else if(e.equals(motif)) {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");
}
catch(Exception ex) {};
}
else if(e.getSource().equals(neu)) {
if(!saved) {
int yes = JOptionPane.showConfirmDialog(null, "Nochmal speichern?");
if(yes == 0) {
saveFileAs();
MainClass.pane.setText(null);
MainClass.f.setTitle("Vocamus Power PHP - noname.htm");
this.saved = true;
}
else if(yes == 1) {
MainClass.pane.setText(null);
MainClass.f.setTitle("Vocamus Power PHP - noname.htm");
this.saved = false;
}
}
else {
MainClass.pane.setText(null);
}
}
else if(e.getSource().equals(laden)) {
loadFile();
}
else if(e.getSource().equals(speichern)) {
if(saved && savefile != null) {
saveFile();
}
else {
saveFileAs();
}
}
else if(e.getSource().equals(speichernals)) {
saveFileAs();
}
else if(e.getSource().equals(beenden)) {
int yes = JOptionPane.showConfirmDialog(null, "Nochmal speichern?");
if(yes == 0) {
if(saved == true) {
saveFile();
System.exit(0);
}
else {
saveFileAs();
System.exit(0);
}
}
else if(yes == 1)
System.exit(0);
}
else if(e.getSource().equals(schrift)) {
String s = JOptionPane.showInputDialog(null, "Gewünschte Schriftgröße einstellen:");
int zahl = Integer.valueOf(s).intValue();
if(zahl <= 0) {
JOptionPane.showMessageDialog(null, "Die Schrift muss größer als 0 sein.");
}
else {
Font font = MainClass.pane.getFont();
String name = font.getFontName();
int style = font.getStyle();
Font font2 = new Font(name, style, zahl);
MainClass.pane.setFont(font2);
}
}
}
public void saveFile() {
FileOutputStream ps;
try {
ps = new FileOutputStream(savefile.getPath());
ps.write(MainClass.pane.getText().getBytes());
}
catch(FileNotFoundException ex) {
System.err.println("Konnte nicht speichern");
}
catch(IOException ex) {
System.err.println("Konnte nicht speichern");
}
finally {
saved = true;
MainClass.f.setTitle("Vocamus Power PHP - " + savefile.getName());
}
}
public void saveFileAs() {
JFileChooser fc = new JFileChooser();
fc.setFileFilter( new FileFilter()
{
public boolean accept( File f )
{
return f.isDirectory() ||
f.getName().toLowerCase().endsWith( ".php" );
}
public String getDescription()
{
return "PHP-Skripte";
}
} );
fc.setFileFilter( new FileFilter()
{
public boolean accept( File f )
{
return f.isDirectory() ||
f.getName().toLowerCase().endsWith( ".html" ) ||
f.getName().toLowerCase().endsWith( ".htm" );
}
public String getDescription()
{
return "HTML-Dateien";
}
} );
int state = fc.showSaveDialog(null);
if ( state == JFileChooser.APPROVE_OPTION ) {
savefile = fc.getSelectedFile();
FileOutputStream ps;
try {
ps = new FileOutputStream(savefile.getPath());
ps.write(MainClass.pane.getText().getBytes());
}
catch(FileNotFoundException ex) {
System.err.println("Konnte nicht speichern");
}
catch(IOException ex) {
System.err.println("Konnte nicht speichern");
}
finally {
saved = true;
MainClass.f.setTitle("Vocamus Power PHP - " + savefile.getName());
}
}
}
public void loadFile() {
File file;
if(!saved) {
int yes = JOptionPane.showConfirmDialog(null, "Nochmal speichern?");
if(yes == 0) {
if(!saved)
saveFileAs();
else
saveFile();
JFileChooser fc = new JFileChooser();
fc.setFileFilter( new FileFilter()
{
public boolean accept( File f )
{
return f.isDirectory() ||
f.getName().toLowerCase().endsWith( ".php" );
}
public String getDescription()
{
return "PHP-Skripte";
}
} );
fc.setFileFilter( new FileFilter()
{
public boolean accept( File f )
{
return f.isDirectory() ||
f.getName().toLowerCase().endsWith( ".html" ) ||
f.getName().toLowerCase().endsWith( ".htm" );
}
public String getDescription()
{
return "HTML-Dateien";
}
} );
int state = fc.showOpenDialog( null );
if ( state == JFileChooser.APPROVE_OPTION )
{
file = fc.getSelectedFile();
FileReader y;
BufferedReader in;
try {
y = new FileReader(file.getPath());
in = new BufferedReader(y);
StringBuffer eingabe = new StringBuffer();;
for (String str = in.readLine(); str != null; str = in.readLine())
eingabe.append(str + "\n");
in.close();
MainClass.pane.setText(eingabe.toString());
MainClass.f.setTitle("Vocamus Power PHP - "+ file.getName());
}
catch(FileNotFoundException ex) {
System.err.println("Konnte die Datei nicht finden.");
}
catch(IOException ex) {
System.err.println("Konnte die Datei nicht auslesen.");
}
}
}
else if(yes == 1) {
JFileChooser fc = new JFileChooser();
fc.setFileFilter( new FileFilter()
{
public boolean accept( File f )
{
return f.isDirectory() ||
f.getName().toLowerCase().endsWith( ".php" );
}
public String getDescription()
{
return "PHP-Skripte";
}
} );
fc.setFileFilter( new FileFilter()
{
public boolean accept( File f )
{
return f.isDirectory() ||
f.getName().toLowerCase().endsWith( ".html" ) ||
f.getName().toLowerCase().endsWith( ".htm" );
}
public String getDescription()
{
return "HTML-Dateien";
}
} );
int state = fc.showOpenDialog( null );
if ( state == JFileChooser.APPROVE_OPTION )
{
file = fc.getSelectedFile();
FileReader y;
BufferedReader in;
try {
y = new FileReader(file.getPath());
in = new BufferedReader(y);
StringBuffer eingabe = new StringBuffer();;
for (String str = in.readLine(); str != null; str = in.readLine())
eingabe.append(str + "\n");
in.close();
MainClass.pane.setText(eingabe.toString());
MainClass.f.setTitle("Vocamus Power PHP - "+ file.getName());
}
catch(FileNotFoundException ex) {
System.err.println("Konnte die Datei nicht finden.");
}
catch(IOException ex) {
System.err.println("Konnte die Datei nicht auslesen.");
}
}
}
}
else {
JFileChooser fc = new JFileChooser();
fc.setFileFilter( new FileFilter()
{
public boolean accept( File f )
{
return f.isDirectory() ||
f.getName().toLowerCase().endsWith( ".php" );
}
public String getDescription()
{
return "PHP-Skripte";
}
} );
fc.setFileFilter( new FileFilter()
{
public boolean accept( File f )
{
return f.isDirectory() ||
f.getName().toLowerCase().endsWith( ".html" ) ||
f.getName().toLowerCase().endsWith( ".htm" );
}
public String getDescription()
{
return "HTML-Dateien";
}
} );
int state = fc.showOpenDialog( null );
if ( state == JFileChooser.APPROVE_OPTION )
{
file = fc.getSelectedFile();
FileReader y;
BufferedReader in;
try {
y = new FileReader(file.getPath());
in = new BufferedReader(y);
StringBuffer eingabe = new StringBuffer();;
for (String str = in.readLine(); str != null; str = in.readLine())
eingabe.append(str + "\n");
in.close();
MainClass.pane.setText(eingabe.toString());
MainClass.f.setTitle("Vocamus Power PHP - "+ file.getName());
}
catch(FileNotFoundException ex) {
System.err.println("Konnte die Datei nicht finden.");
}
catch(IOException ex) {
System.err.println("Konnte die Datei nicht auslesen.");
}
}
}
}
private void addMenuItem(String text) {
item[i] = new JMenuItem(text);
befehle.add(item[i]);
item[i].addActionListener(this);
i++;
}
private void readOutFile() {
FileReader y;
BufferedReader in;
StringBuffer eingabe;
try {
y = new FileReader("../conf/orders.ord");
in = new BufferedReader(y);
eingabe = new StringBuffer();
for (String str = in.readLine(); str != null; str = in.readLine())
eingabe.append(str + "\n");
in.close();
String f = eingabe.toString();
fertig = f.split("\n");
}
catch(IOException ex) {};
}
private void createOrder() throws ArrayIndexOutOfBoundsException {
int j = 0;
while(fertig[j] != null) {
addMenuItem(fertig[j + 1]);
j += 3;
}
}
private int changeVar(int x, char z) {
if(x == 0 && z == 'n')
return 0;
else if(x == 0 && z == 'i')
return 1;
else if(x == 0 && z == 't')
return 2;
else if(x == 1 && z == 'n')
return 3;
else if(x == 1 && z == 'i')
return 4;
else if(x == 1 && z == 't')
return 5;
else if(x == 2 && z == 'n')
return 6;
else if(x == 2 && z == 'i')
return 7;
else if(x == 2 && z == 't')
return 8;
else if(x == 3 && z == 'n')
return 9;
else if(x == 3 && z == 'i')
return 10;
else if(x == 3 && z == 't')
return 11;
else if(x == 4 && z == 'n')
return 12;
else if(x == 4 && z == 'i')
return 13;
else if(x == 4 && z == 't')
return 14;
else if(x == 5 && z == 'n')
return 15;
else if(x == 5 && z == 'i')
return 16;
else if(x == 5 && z == 't')
return 17;
else if(x == 1 && z == 'n')
return 18;
else if(x == 1 && z == 'i')
return 19;
else if(x == 1 && z == 't')
return 20;
else if(x == 2 && z == 'n')
return 21;
else if(x == 2 && z == 'i')
return 22;
else if(x == 2 && z == 't')
return 23;
else if(x == 3 && z == 'n')
return 24;
else if(x == 3 && z == 'i')
return 25;
else if(x == 3 && z == 't')
return 26;
else if(x == 4 && z == 'n')
return 27;
else if(x == 4 && z == 'i')
return 28;
else if(x == 4 && z == 't')
return 29;
else if(x == 5 && z == 'n')
return 30;
else if(x == 5 && z == 'i')
return 31;
else if(x == 5 && z == 't')
return 32;
else
return -1;
}
}