import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
//import org.eclipse.swt.widgets.Widget;
import org.eclipse.ui.part.ViewPart;
public class ViewPart1 extends ViewPart {
int aktSchriftgrad;
Font Schriftdaten;
String aktSchriftart;
// Control Fenster;
public static final String ID = "test";
static Font StdSchriftart = new Font(null, new FontData("Arial", 10, SWT.BOLD));
public void createPartControl(final Composite parent) {
parent.setLayout(new GridLayout(2, false));
parent.setFont(StdSchriftart);
aktSchriftgrad = parent.getFont().getFontData()[0].getHeight();
// reservieren des ersten Auswahl-Knopf
Button Auswahl1Button = new Button(parent, SWT.RADIO);
// reservieren des zweiten Auswahl-Knopf
Button Auswahl2Button = new Button(parent, SWT.RADIO);
// reservieren des dritten Auswahl-Knopf
Button Auswahl3Button = new Button(parent, SWT.RADIO);
// reservieren des vierten Auswahl-Knopf
Button Auswahl4Button = new Button(parent, SWT.RADIO);
// legt alle vier Radiobuttons an und bestimmt deren Beschriftung
Auswahl1Button.setText("Serif/variabel:");
Auswahl2Button.setText("Serif/fest:");
Auswahl3Button.setText("Sans-Serif/variabel:");
Auswahl4Button.setText("Sans-Serif/fest:");
// erstellt den Minus-Knopf
Button MinusButton = new Button(parent, SWT.PUSH);
// erstellt den Plus-Knopf
Button PlusButton = new Button(parent, SWT.PUSH);
// erstellt den Default-Knopf
Button DefaultButton = new Button(parent, SWT.PUSH);
// übergibt die Unterobjekte der Ansicht der Konstante con
final Control[] con = parent.getChildren();
Auswahl1Button.addSelectionListener(new SelectionListener(){
public void widgetDefaultSelected(SelectionEvent e) {
}
// wird durchlaufen wenn der erste Auswahlknopf ausgelöst wird
public void widgetSelected(SelectionEvent e) {
for(int i = 0; i < con.length; i++) {
// ändert die Schriftart auf Serif/variabel
aktSchriftgrad = con[i].getFont().getFontData()[0].getHeight();
con[i].setFont(new Font(null, "Bookman Old Style", aktSchriftgrad, SWT.BOLD));
// Fenster.setFont(new Font(null, aktSchriftart, aktSchriftgrad, SWT.BOLD));
// Fenster.update();
}
}
});
Auswahl2Button.addSelectionListener(new SelectionListener(){
public void widgetDefaultSelected(SelectionEvent e) {
}
// wird durchlaufen wenn der zweite Auswahlknopf ausgelöst wird
public void widgetSelected(SelectionEvent e) {
for(int i = 0; i < con.length; i++) {
// ändert die Schriftart auf Serif/fest
aktSchriftgrad = con[i].getFont().getFontData()[0].getHeight();
con[i].setFont(new Font(null, "Courier New", aktSchriftgrad, SWT.BOLD));
}
}
});
Auswahl3Button.addSelectionListener(new SelectionListener(){
public void widgetDefaultSelected(SelectionEvent e) {
}
// wird durchlaufen wenn der dritte Auswahlknopf ausgelöst wird
public void widgetSelected(SelectionEvent e) {
for(int i = 0; i < con.length; i++) {
// ändert die Schriftart auf Sans-Serif/variabel
aktSchriftgrad = con[i].getFont().getFontData()[0].getHeight();
con[i].setFont(new Font(null, "Arial", aktSchriftgrad, SWT.BOLD));
}
}
});
Auswahl4Button.addSelectionListener(new SelectionListener(){
public void widgetDefaultSelected(SelectionEvent e) {
}
// wird durchlaufen wenn der vierte Auswahlknopf ausgelöst wird
public void widgetSelected(SelectionEvent e) {
for(int i = 0; i < con.length; i++) {
// ändert die Schriftart auf Sans-Serif/fest
aktSchriftgrad = con[i].getFont().getFontData()[0].getHeight();
con[i].setFont(new Font(null, "Lucida Console", aktSchriftgrad, SWT.BOLD));
}
}
});
// Eigenschaften des MinusButtons
MinusButton.setText(" - ");
MinusButton.addSelectionListener(new SelectionListener(){
public void widgetDefaultSelected(SelectionEvent e) {
}
// wird durchlaufen wenn der Minus-Knopf ausgelöst wird
public void widgetSelected(SelectionEvent e) {
// reduzieren der Schriftgröße um 1, wenn Schriftgröße größer als 8
if ((aktSchriftgrad > 8)){
aktSchriftgrad = aktSchriftgrad - 1;
aktSchriftart = con[0].getFont().getFontData()[0].getName();
for(int i = 0; i < con.length; i++) {
con[i].setFont(new Font(null, aktSchriftart, aktSchriftgrad, SWT.BOLD));
}
}
}
});
// Eigenschaften des PlusButtons
PlusButton.setText(" + ");
PlusButton.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent e) {
}
// wird durchlaufen wenn der Plus-Knopf ausgelöst wird
public void widgetSelected(SelectionEvent e) {
// reduzieren der Schriftgröße um 1
aktSchriftgrad = aktSchriftgrad + 1;
aktSchriftart = con[0].getFont().getFontData()[0].getName();
for(int i = 0; i < con.length; i++) {
con[i].setFont(new Font(null, aktSchriftart, aktSchriftgrad, SWT.BOLD));
}
}
});
// Eigenschaften des DefaultButtons
DefaultButton.setText("Standard");
DefaultButton.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent e) {
}
// wird durchlaufen wenn der Default-Knopf ausgelöst wird
public void widgetSelected(SelectionEvent e) {
// stellt den Defaultwert für die Schrift ein
for(int i = 0; i < con.length; i++) {
aktSchriftgrad = 10;
con[i].setFont(StdSchriftart);
}
}
});
}
public void widgetDefaultSelected() {
}
public void setFocus() {
}
}