java/rozsirene-atributy-jedit/src/cz/frantovo/rozsireneAtributy/jedit/DokovatelnyPanel.java
Doplněk pro jEdit – základ.
1 package cz.frantovo.rozsireneAtributy.jedit;
3 import java.util.logging.Level;
4 import java.util.logging.Logger;
5 import javax.swing.JPanel;
6 import javax.swing.JTextArea;
7 import org.gjt.sp.jedit.Buffer;
8 import org.gjt.sp.jedit.EBComponent;
9 import org.gjt.sp.jedit.EBMessage;
10 import org.gjt.sp.jedit.EditBus;
11 import org.gjt.sp.jedit.View;
12 import org.gjt.sp.jedit.msg.EditPaneUpdate;
16 * @author Ing. František Kučera (frantovo.cz)
18 public class DokovatelnyPanel extends JPanel implements EBComponent {
20 private static final Logger log = Logger.getLogger(DokovatelnyPanel.class.getName());
21 private JTextArea pokus = new JTextArea("...");
24 public DokovatelnyPanel(final View view, final String position) {
30 * Zaregistrujeme se, aby nám chodily události editoru.
33 public void addNotify() {
35 EditBus.addToBus(this);
42 public void removeNotify() {
44 EditBus.removeFromBus(this);
48 * Zpracujeme události editoru.
49 * Zajímá nás přepnutí na jiný soubor – abychom pro něj zobrazili atributy.
51 * @param událost událost editoru
54 public void handleMessage(EBMessage událost) {
56 if (událost instanceof EditPaneUpdate) {
57 EditPaneUpdate epu = (EditPaneUpdate) událost;
58 // Chodí nám všechny události – potřebujeme filtrovat jen ty pro naše okno.
59 if (view == epu.getEditPane().getView()) {
60 změňSoubor(view.getBuffer());
63 // událost instanceof BufferUpdate
64 // událost instanceof PropertiesChanged
65 } catch (Exception e) {
66 log.log(Level.WARNING, "Chyba při zpracování události: " + událost, e);
71 private void změňSoubor(Buffer b) {
72 pokus.setText(b.getPath());