public AXmlElementTextSchema(Song song) { super(ELEMENT_NAME); this.addAttribute(AXml.ATTR_ANZAHLZEILEN, "" + song.getText().getAnzahlZeilen()); this.addAttribute(AXml.ATTR_HEIGHTANTEIL, "" + song.getText().getHeightAnteil()); this.addAttribute(AXml.ATTR_TEXTANZEIGE, "" + song.getText().getTextAnzeige()); this.addAttribute( AXml.ATTR_TEXTHEIGHTANTEIL, "" + song.getSongText().getText().getHeightAnteilZweiteSeite()); }
/** * Die einzelnen Teile im Reiter "Teile" aus Song laden und darstellen * * @param song */ private void resetTeile() { for (int i = 0; i < song.getTeile().size(); i++) { TaktSchemaTeil teil = (TaktSchemaTeil) song.getTeile().elementAt(i); PanelReiter2SchemaTeil pteil = new PanelReiter2SchemaTeil(i, teil); this.add(pteil); } Kommentar komm = song.getSchema().getKommentar(); PanelReiterKommentar pKomm = new PanelReiterKommentar(this, komm); this.add(pKomm); this.repaint(); }
/** * hinzufügen eines neuen Teils * * @param neuerTeil * @param istObenUnten * @param teilAltIndex */ public void neuerTeil(TaktSchemaTeil neuerTeil, int istObenUnten, int teilAltIndex) { if (song.getTeile().size() >= 6) return; int index = teilAltIndex; if (istObenUnten == 2) index++; this.removeAll(); song.getTeile().insertElementAt(neuerTeil, index); SwingUtilities.invokeLater( new Runnable() { public void run() { resetTeile(); resetSong(); } }); }
/** * löschen eines Teils; min. ein Teil bleibt erhalten * * @param loeschTeil * @param teilAltIndex */ public void loescheTeil(TaktSchemaTeil loeschTeil, int teilAltIndex) { if (song.getTeile().size() <= 1) // min. ein Teil muss erhalten bleiben return; this.removeAll(); song.getTeile().remove(teilAltIndex); song.getSchema().removeTaktSchemaTeil(loeschTeil); SwingUtilities.invokeLater( new Runnable() { public void run() { resetTeile(); resetSong(); ((AChordFrame) SwingUtilities.windowForComponent(PanelReiter2Schema.this)) .setAkkordVonAussen(); } }); }
/** * wird aufgerufen, wenn sich auf Grund eines Click-Ereignisses eines RadioButtons das Layout des * dargestellten Songs ändert */ public void resetSong() { song.getSchema().berechneAnteiligeHoehen(); song.aktualisiereBlatt(); song.setRahmenAlleSchemas(); song.reloadTaktSchema(); }