[309606] Develop Script Editor (cleanup events)
diff --git a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/internal/ui/scripteditor/AudioComposite.java b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/internal/ui/scripteditor/AudioComposite.java index d4932d7..9bd8393 100644 --- a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/internal/ui/scripteditor/AudioComposite.java +++ b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/internal/ui/scripteditor/AudioComposite.java
@@ -21,11 +21,9 @@ import org.eclipse.actf.ai.scripteditor.data.DataUtil; import org.eclipse.actf.ai.scripteditor.data.IScriptData; import org.eclipse.actf.ai.scripteditor.data.ScriptDataManager; -import org.eclipse.actf.ai.scripteditor.data.event.DataEventManager; -import org.eclipse.actf.ai.scripteditor.data.event.LabelEvent; -import org.eclipse.actf.ai.scripteditor.data.event.LabelEventListener; -import org.eclipse.actf.ai.scripteditor.data.event.ScriptEvent; -import org.eclipse.actf.ai.scripteditor.data.event.ScriptEventListener; +import org.eclipse.actf.ai.scripteditor.data.event.ScriptDataEvent; +import org.eclipse.actf.ai.scripteditor.data.event.ScriptDataEventListener; +import org.eclipse.actf.ai.scripteditor.util.WebBrowserFactory; import org.eclipse.actf.ai.ui.scripteditor.views.IUNIT; import org.eclipse.actf.ai.ui.scripteditor.views.TimeLineView; import org.eclipse.actf.examples.scripteditor.Activator; @@ -49,7 +47,7 @@ import org.eclipse.swt.widgets.Label; public class AudioComposite extends Composite implements IUNIT, - SyncTimeEventListener, LabelEventListener, ScriptEventListener { + SyncTimeEventListener, ScriptDataEventListener { static private AudioComposite ownInst = null; @@ -85,8 +83,6 @@ protected static EventManager eventManager = EventManager.getInstance(); protected ScriptDataManager scriptManager = ScriptDataManager.getInstance(); - protected DataEventManager dataEventManager = DataEventManager - .getInstance(); protected Label selectLabel = null; @@ -113,12 +109,11 @@ instParentView = TimeLineView.getInstance(); eventManager.addSyncTimeEventListener(ownInst); - dataEventManager.addLabelEventListener(ownInst); + scriptManager.addScriptDataEventListener(ownInst); parent.addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { - // TODO other components eventManager.removeSyncTimeEventListener(ownInst); - dataEventManager.removeLabelEventListener(ownInst); + scriptManager.removeScriptDataEventListener(ownInst); } }); @@ -360,10 +355,11 @@ newAudio.setImage(button1d.createImage()); newAudio.setForeground(getDisplay().getSystemColor(SWT.COLOR_WHITE)); guideMarkMap.put(data, newAudio); - final IScriptData labelData = data; newAudio.addMouseListener(new MouseAdapter() { public void mouseUp(MouseEvent e) { - scriptManager.fireSelectDataEvent(labelData, this); + IScriptData data = (IScriptData) e.widget.getData(); + WebBrowserFactory.getInstance().setCurrentPosition(data.getStartTime()); + scriptManager.fireDataSelectionEvent(data, ownInst); } }); // for TEST @@ -383,7 +379,7 @@ // for TEST } - + private void createLabel(IScriptData data, Color col, int lineNo) { // Calculate target Label position & size int eX = 0; @@ -922,7 +918,10 @@ && (e.button == 1) && currentDragStatus) { if (e.widget instanceof Label) { selectLabel = (Label) e.widget; - scriptManager.fireSelectDataEvent(data, this); + + WebBrowserFactory.getInstance().setCurrentPosition(data.getStartTime()); + + scriptManager.fireDataSelectionEvent(data, ownInst); } currentDragStatus = false; } else if (!execDataConvMouseDragged && statusMouseDragged @@ -977,27 +976,6 @@ } } - public void handleLabelEvent(LabelEvent e) { - switch (e.getEventType()) { - case LabelEvent.PUT_ALL_LABEL: - clearLabel(); - createAllLabel(IScriptData.TYPE_AUDIO); - break; - case LabelEvent.PUT_LABEL: - if (e.getData().getType() != IScriptData.TYPE_AUDIO) { - return; - } - putLabel(e.getData(), MODE_PUT); - break; - case LabelEvent.DELETE_LABEL: - if (e.getData().getType() != IScriptData.TYPE_AUDIO) { - return; - } - deleteAudioLabel(e.getData()); - break; - } - } - public void handleSyncTimeEvent(SyncTimeEvent e) { // Synchronize TimeLine view switch (e.getEventType()) { @@ -1012,20 +990,38 @@ } @Override - public void handleScriptEvent(ScriptEvent e) { + public void handleScriptEvent(ScriptDataEvent e) { switch (e.getEventType()) { - case ScriptEvent.CLEAR_DATA: + case ScriptDataEvent.CLEAR: clearLabel(); break; - case ScriptEvent.ADD_DATA: + case ScriptDataEvent.ADD: + if (e.getData().getType() != IScriptData.TYPE_AUDIO) { + return; + } + putLabel(e.getData(), MODE_PUT); break; - case ScriptEvent.ADD_MULTIPUL_DATA: + case ScriptDataEvent.MULTIPLE_ADD: + // TODO check size of e.getDataCollection() + clearLabel(); + createAllLabel(IScriptData.TYPE_AUDIO); break; - case ScriptEvent.DELETE_DATA: + case ScriptDataEvent.DELETE: + if (e.getData().getType() != IScriptData.TYPE_AUDIO) { + return; + } + deleteAudioLabel(e.getData()); break; - case ScriptEvent.UPDATE_DATA: + case ScriptDataEvent.UPDATE: + if (e.getData().getType() != IScriptData.TYPE_AUDIO) { + return; + } + putLabel(e.getData(), MODE_PUT); // TODO updatemode break; - case ScriptEvent.UPDATE_MULTIPUL_DATA: + case ScriptDataEvent.MULTIPLE_UPDATE: + // TODO check size of e.getDataCollection() + clearLabel(); + createAllLabel(IScriptData.TYPE_AUDIO); break; } }
diff --git a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/internal/ui/scripteditor/CaptionComposite.java b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/internal/ui/scripteditor/CaptionComposite.java index 023edcf..46a721c 100644 --- a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/internal/ui/scripteditor/CaptionComposite.java +++ b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/internal/ui/scripteditor/CaptionComposite.java
@@ -21,11 +21,8 @@ import org.eclipse.actf.ai.scripteditor.data.DataUtil; import org.eclipse.actf.ai.scripteditor.data.IScriptData; import org.eclipse.actf.ai.scripteditor.data.ScriptDataManager; -import org.eclipse.actf.ai.scripteditor.data.event.DataEventManager; -import org.eclipse.actf.ai.scripteditor.data.event.LabelEvent; -import org.eclipse.actf.ai.scripteditor.data.event.LabelEventListener; -import org.eclipse.actf.ai.scripteditor.data.event.ScriptEvent; -import org.eclipse.actf.ai.scripteditor.data.event.ScriptEventListener; +import org.eclipse.actf.ai.scripteditor.data.event.ScriptDataEvent; +import org.eclipse.actf.ai.scripteditor.data.event.ScriptDataEventListener; import org.eclipse.actf.ai.ui.scripteditor.views.IUNIT; import org.eclipse.actf.ai.ui.scripteditor.views.TimeLineView; import org.eclipse.actf.examples.scripteditor.Activator; @@ -49,7 +46,7 @@ import org.eclipse.swt.widgets.Label; public class CaptionComposite extends Composite implements IUNIT, - SyncTimeEventListener, LabelEventListener, ScriptEventListener { + SyncTimeEventListener, ScriptDataEventListener { // instance of own class static private CaptionComposite ownInst = null; @@ -81,7 +78,6 @@ private boolean currentDragStatus = false; private static EventManager eventManager = null; - private static DataEventManager dataEventManager = null; protected ScriptDataManager scriptManager = null; protected Label selectLabel = null; @@ -110,12 +106,11 @@ scriptManager = ScriptDataManager.getInstance(); eventManager = EventManager.getInstance(); eventManager.addSyncTimeEventListener(ownInst); - dataEventManager = DataEventManager.getInstance(); - dataEventManager.addLabelEventListener(ownInst); + scriptManager.addScriptDataEventListener(ownInst); parent.addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { eventManager.removeSyncTimeEventListener(ownInst); - dataEventManager.removeLabelEventListener(ownInst); + scriptManager.removeScriptDataEventListener(ownInst); } }); @@ -882,7 +877,7 @@ if (e.widget instanceof Label) { selectLabel = (Label) e.widget; - scriptManager.fireSelectDataEvent(data, this); + scriptManager.fireDataSelectionEvent(data, this); } currentDragStatus = false; } else if (!execDataConvMouseDragged && statusMouseDragged @@ -992,42 +987,39 @@ } } - public void handleLabelEvent(LabelEvent e) { + @Override + public void handleScriptEvent(ScriptDataEvent e) { switch (e.getEventType()) { - case LabelEvent.PUT_ALL_LABEL: + case ScriptDataEvent.CLEAR: clearLabel(); - createAllLabel(IScriptData.TYPE_CAPTION); break; - case LabelEvent.PUT_LABEL: + case ScriptDataEvent.ADD: if (e.getData().getType() != IScriptData.TYPE_CAPTION) { return; } putLabel(e.getData()); break; - case LabelEvent.DELETE_LABEL: + case ScriptDataEvent.MULTIPLE_ADD: + //TODO check size of e.getDataCollection() + clearLabel(); + createAllLabel(IScriptData.TYPE_CAPTION); + break; + case ScriptDataEvent.DELETE: if (e.getData().getType() != IScriptData.TYPE_CAPTION) { return; } deleteLabel(e.getData()); break; - } - } - - @Override - public void handleScriptEvent(ScriptEvent e) { - switch (e.getEventType()) { - case ScriptEvent.CLEAR_DATA: + case ScriptDataEvent.UPDATE: + if (e.getData().getType() != IScriptData.TYPE_CAPTION) { + return; + } + putLabel(e.getData()); //TODO update mode + break; + case ScriptDataEvent.MULTIPLE_UPDATE: + //TODO check size of e.getDataCollection() clearLabel(); - break; - case ScriptEvent.ADD_DATA: - break; - case ScriptEvent.ADD_MULTIPUL_DATA: - break; - case ScriptEvent.DELETE_DATA: - break; - case ScriptEvent.UPDATE_DATA: - break; - case ScriptEvent.UPDATE_MULTIPUL_DATA: + createAllLabel(IScriptData.TYPE_CAPTION); break; } }
diff --git a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/internal/ui/scripteditor/EditPanelTab.java b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/internal/ui/scripteditor/EditPanelTab.java index de014f3..a11eb14 100644 --- a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/internal/ui/scripteditor/EditPanelTab.java +++ b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/internal/ui/scripteditor/EditPanelTab.java
@@ -10,7 +10,7 @@ *******************************************************************************/ package org.eclipse.actf.ai.internal.ui.scripteditor; -import java.util.List; +import java.util.Collection; import java.util.Locale; import org.eclipse.actf.ai.internal.ui.scripteditor.event.EventManager; @@ -20,8 +20,6 @@ import org.eclipse.actf.ai.scripteditor.data.IScriptData; import org.eclipse.actf.ai.scripteditor.data.ScriptDataFactory; import org.eclipse.actf.ai.scripteditor.data.ScriptDataManager; -import org.eclipse.actf.ai.scripteditor.data.event.DataEventManager; -import org.eclipse.actf.ai.scripteditor.data.event.LabelEvent; import org.eclipse.actf.ai.scripteditor.util.TimeFormatUtil; import org.eclipse.actf.ai.scripteditor.util.VoicePlayerFactory; import org.eclipse.actf.ai.scripteditor.util.XMLFileMessageBox; @@ -59,7 +57,6 @@ private static EditPanelTab ownInst = null; private static EventManager eventManager = null; - private static DataEventManager dataEventManager = null; private VoicePlayerFactory voice = VoicePlayerFactory.getInstance(); @@ -134,9 +131,9 @@ private Text textStartTimeMS; private IScriptData currentData = null; - private List<IScriptData> currentListData = null; + private Collection<IScriptData> currentListData = null; - public void setCurrentListData(List<IScriptData> currentListData) { + public void setCurrentListData(Collection<IScriptData> currentListData) { this.currentListData = currentListData; } @@ -149,7 +146,6 @@ public EditPanelTab(CTabFolder parent) { ownInst = this; eventManager = EventManager.getInstance(); - dataEventManager = DataEventManager.getInstance(); initTab(parent); scriptManager = ScriptDataManager.getInstance(); @@ -157,10 +153,6 @@ // TODO check SyncTimeEventListener } - static public EditPanelTab getInstance() { - return (ownInst); - } - /* * (non-Javadoc) * @@ -982,8 +974,6 @@ if (update_mode_flg) { // for change order, delete and add data. - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.DELETE_LABEL, currentData, this)); scriptManager.remove(currentData); } @@ -1006,8 +996,6 @@ currentData.setMark(NO_MARK); currentData.setDataCommit(true); - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.PUT_LABEL, currentData, this)); scriptManager.add(currentData); DataUtil.debug(); @@ -1032,22 +1020,14 @@ */ private void updateMultiScripts() { for (IScriptData data : currentListData) { - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.DELETE_LABEL, data, this)); - data.setExtended(chkBoxExtended.getSelection()); data.setVgGender(rButtonMale.getSelection() ? true : false); data.setLang(currentDescLang); data.setVgPlaySpeed(scaleVoiceSpeed.getSelection()); data.setVgPitch(scaleVoicePitch.getSelection()); data.setVgVolume(scaleVoiceVolume.getSelection()); - - // scriptManager.fireGuideListEvent(new ScriptEvent( - // ScriptEvent.UPDATE_DATA, data, this)); - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.PUT_LABEL, data, this)); } - scriptManager.fireUpdateMultipleDataEvent(currentListData, this); + scriptManager.fireMultipleDataUpdateEvent(currentListData, this); endSelectMultiItems(); initDispEditPanel(); @@ -1144,8 +1124,6 @@ */ private void deleteSingleScript() { - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.DELETE_LABEL, currentData, this)); scriptManager.remove(currentData); initDispEditPanel(); @@ -1163,10 +1141,8 @@ private void deleteMultiScripts() { for (IScriptData data : currentListData) { scriptManager.remove(data); - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.DELETE_LABEL, data, this)); } - scriptManager.fireDeselectDataEvent(this); + scriptManager.fireDataDeselectionEvent(this); initDispEditPanel();
diff --git a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/internal/ui/scripteditor/SelectWAVFileTab.java b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/internal/ui/scripteditor/SelectWAVFileTab.java index 3086487..5967143 100644 --- a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/internal/ui/scripteditor/SelectWAVFileTab.java +++ b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/internal/ui/scripteditor/SelectWAVFileTab.java
@@ -16,8 +16,6 @@ import org.eclipse.actf.ai.scripteditor.data.IScriptData; import org.eclipse.actf.ai.scripteditor.data.ScriptDataFactory; import org.eclipse.actf.ai.scripteditor.data.ScriptDataManager; -import org.eclipse.actf.ai.scripteditor.data.event.DataEventManager; -import org.eclipse.actf.ai.scripteditor.data.event.LabelEvent; import org.eclipse.actf.ai.scripteditor.util.SoundMixer; import org.eclipse.actf.ai.scripteditor.util.TempFileUtil; import org.eclipse.actf.ai.scripteditor.util.TimeFormatUtil; @@ -82,7 +80,6 @@ // Parameter for multiple selection mode private boolean current_tab_mode = true; - private DataEventManager dataEventManager = null; private ScriptDataManager scriptManager = ScriptDataManager.getInstance(); private Button buttonWavOpen; @@ -93,7 +90,6 @@ * Constructor */ public SelectWAVFileTab(CTabFolder parent) { - dataEventManager = DataEventManager.getInstance(); // Create own instance of Composite ownComposite = new Composite(parent, SWT.NONE); @@ -566,14 +562,8 @@ if (currentData != null) { scriptManager.remove(currentData); - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.DELETE_LABEL, currentData, this)); - currentData = appendScriptData(currentData); - scriptManager.add(currentData); - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.PUT_LABEL, currentData, this)); // TODO ??? // SetUP status to Edit start mode @@ -622,21 +612,12 @@ if (!deleteAll) { scriptManager.remove(currentData); - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.DELETE_LABEL, currentData, this)); - currentData.setWavURI(null); currentData.setWavEnabled(false); scriptManager.add(currentData); - - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.PUT_LABEL, currentData, this)); - } else { scriptManager.remove(currentData); - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.DELETE_LABEL, currentData, this)); } initDescriptionData();
diff --git a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/internal/ui/scripteditor/guidelist/GuideListTree.java b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/internal/ui/scripteditor/guidelist/GuideListTree.java index 4e79a35..01412af 100644 --- a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/internal/ui/scripteditor/guidelist/GuideListTree.java +++ b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/internal/ui/scripteditor/guidelist/GuideListTree.java
@@ -18,16 +18,12 @@ import org.eclipse.actf.ai.internal.ui.scripteditor.Validator; import org.eclipse.actf.ai.internal.ui.scripteditor.VolumeLevelCanvas; import org.eclipse.actf.ai.internal.ui.scripteditor.WavInputDialog; -import org.eclipse.actf.ai.internal.ui.scripteditor.event.EventManager; -import org.eclipse.actf.ai.internal.ui.scripteditor.event.SyncTimeEvent; import org.eclipse.actf.ai.scripteditor.data.DataUtil; import org.eclipse.actf.ai.scripteditor.data.IScriptData; import org.eclipse.actf.ai.scripteditor.data.ScriptDataFactory; import org.eclipse.actf.ai.scripteditor.data.ScriptDataManager; -import org.eclipse.actf.ai.scripteditor.data.event.DataEventManager; -import org.eclipse.actf.ai.scripteditor.data.event.LabelEvent; -import org.eclipse.actf.ai.scripteditor.data.event.ScriptEvent; -import org.eclipse.actf.ai.scripteditor.data.event.ScriptEventListener; +import org.eclipse.actf.ai.scripteditor.data.event.ScriptDataEvent; +import org.eclipse.actf.ai.scripteditor.data.event.ScriptDataEventListener; import org.eclipse.actf.ai.scripteditor.util.VoicePlayerFactory; import org.eclipse.actf.ai.scripteditor.util.WebBrowserFactory; import org.eclipse.actf.ai.scripteditor.util.XMLFileMessageBox; @@ -70,7 +66,7 @@ /** * */ -public class GuideListTree implements IUNIT, ScriptEventListener { +public class GuideListTree implements IUNIT, ScriptDataEventListener { private static GuideListTree ownInst = null; @@ -99,26 +95,25 @@ boolean headerSelectFlag = false; - private EventManager eventManager = EventManager.getInstance(); - private DataEventManager dataEventManager = DataEventManager.getInstance(); + // private EventManager eventManager = EventManager.getInstance(); private ScriptSorter sorter = new ScriptSorter(); - private class ColumnSelectionAdapter extends SelectionAdapter { - private int column; - - public ColumnSelectionAdapter(int column) { - this.column = column; - } - - public void widgetSelected(SelectionEvent arg0) { - treeViewer.setSelection(null); - if (sorter instanceof ScriptSorter) { - ((ScriptSorter) sorter).setCurColumn(column); - } - treeViewer.refresh(); - } - } + // private class ColumnSelectionAdapter extends SelectionAdapter { + // private int column; + // + // public ColumnSelectionAdapter(int column) { + // this.column = column; + // } + // + // public void widgetSelected(SelectionEvent arg0) { + // treeViewer.setSelection(null); + // if (sorter instanceof ScriptSorter) { + // ((ScriptSorter) sorter).setCurColumn(column); + // } + // treeViewer.refresh(); + // } + // } /** * Constructor @@ -134,11 +129,10 @@ treeViewer.setComparator(new GuildListComparator()); treeViewer.setSorter(sorter); - scriptManager.addGuideListEventListener(ownInst); + scriptManager.addScriptDataEventListener(ownInst); parentComposite.addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { - // TODO other components - scriptManager.removeGuideListEventListener(ownInst); + scriptManager.removeScriptDataEventListener(ownInst); } }); initTable(); @@ -149,22 +143,6 @@ instTree.setSortDirection(style); } - private void selectGuideLineItemProcess(IScriptData paramData) { - IScriptData data = paramData; - - TimeLineView timeLineView = TimeLineView.getInstance(); - if (timeLineView != null - && timeLineView.getStatusTimeLine() == TL_STAT_PAUSE) { - // Synchronize all TimeLine - eventManager.fireSyncTimeEvent(new SyncTimeEvent( - SyncTimeEvent.ADJUST_TIME_LINE, data.getStartTime(), this)); - } - scriptManager.fireSelectDataEvent(data, this); - - // Initialize sampling duration. - VolumeLevelCanvas.getInstance().clearSamplingLengthVolumeLevel(); - } - private void initTable() { FormData scriptTreeData = new FormData(); @@ -259,255 +237,232 @@ // Speaker characterComboCell = new ComboBoxCellEditorEx(instTree, scriptManager .getCharacterList().toArray(new String[0])); - ((CCombo) characterComboCell.getControl()) - .addFocusListener(new FocusAdapter() { - String beforeCharacter = ""; - IScriptData data = null; + characterComboCell.getControl().addFocusListener(new FocusAdapter() { + String beforeCharacter = ""; + IScriptData data = null; - public void focusGained(FocusEvent e) { - TreeSelection selection = (TreeSelection) treeViewer - .getSelection(); - data = (IScriptData) selection.getFirstElement(); + public void focusGained(FocusEvent e) { + TreeSelection selection = (TreeSelection) treeViewer + .getSelection(); + data = (IScriptData) selection.getFirstElement(); - beforeCharacter = ((CCombo) (e.widget)).getText(); - selectGuideLineItemProcess(data); - if (data.getType() == IScriptData.TYPE_AUDIO) { - Display.getCurrent().asyncExec(new Runnable() { - public void run() { - characterComboCell.deactivate(); - } - }); - return; + beforeCharacter = ((CCombo) (e.widget)).getText(); + if (data.getType() == IScriptData.TYPE_AUDIO) { + Display.getCurrent().asyncExec(new Runnable() { + public void run() { + characterComboCell.deactivate(); } - } + }); + return; + } + } - public void focusLost(FocusEvent e) { - String character = ((CCombo) (e.widget)).getText(); + public void focusLost(FocusEvent e) { + String character = ((CCombo) (e.widget)).getText(); - if (beforeCharacter.equals(character)) { - return; - } - - data.setCharacter(character); - data.setDataCommit(true); - scriptManager.fireUpdateDataEvent(data, this); - } - }); + if (beforeCharacter.equals(character)) { + return; + } + data.setCharacter(character); + data.setDataCommit(true); + scriptManager.fireDataUpdateEvent(data, this); + } + }); // Scenario final TextCellEditorEx scenarioTextCell = new TextCellEditorEx(instTree); - ((Text) scenarioTextCell.getControl()) - .addFocusListener(new FocusAdapter() { - String beforeScenario = ""; - IScriptData data = null; + scenarioTextCell.getControl().addFocusListener(new FocusAdapter() { + String beforeScenario = ""; + IScriptData data = null; - public void focusGained(FocusEvent e) { - TreeSelection selection = (TreeSelection) treeViewer - .getSelection(); - data = (IScriptData) selection.getFirstElement(); - selectGuideLineItemProcess(data); + public void focusGained(FocusEvent e) { + TreeSelection selection = (TreeSelection) treeViewer + .getSelection(); + data = (IScriptData) selection.getFirstElement(); - if (data.getType() != IScriptData.TYPE_SCENARIO) { - Display.getCurrent().asyncExec(new Runnable() { - public void run() { - scenarioTextCell.deactivate(); - } - }); - return; + if (data.getType() != IScriptData.TYPE_SCENARIO) { + Display.getCurrent().asyncExec(new Runnable() { + public void run() { + scenarioTextCell.deactivate(); } - beforeScenario = ((Text) (e.widget)).getText(); - } + }); + return; + } + beforeScenario = ((Text) (e.widget)).getText(); + } - public void focusLost(FocusEvent e) { - String scenario = ((Text) (e.widget)).getText(); - if (beforeScenario.equals(scenario)) { - return; - } - data.setScenario(scenario); - data.setDataCommit(true); - scriptManager.fireUpdateDataEvent(data, this); + public void focusLost(FocusEvent e) { + String scenario = ((Text) (e.widget)).getText(); + if (beforeScenario.equals(scenario)) { + return; + } + data.setScenario(scenario); + data.setDataCommit(true); + scriptManager.fireDataUpdateEvent(data, this); - } - }); + } + }); // Description final TextCellEditorEx descriptionTextCell = new TextCellEditorEx( instTree); - ((Text) descriptionTextCell.getControl()) - .addFocusListener(new FocusAdapter() { - String beforeDescription = ""; - IScriptData data = null; + descriptionTextCell.getControl().addFocusListener(new FocusAdapter() { + String beforeDescription = ""; + IScriptData data = null; - public void focusGained(FocusEvent e) { - Display.getCurrent().asyncExec(new Runnable() { - public void run() { - descriptionTextCell.activate(); - } - }); - TreeSelection selection = (TreeSelection) treeViewer - .getSelection(); - data = (IScriptData) selection.getFirstElement(); - beforeDescription = ((Text) (e.widget)).getText(); - - selectGuideLineItemProcess(data); - - if (data.getType() != IScriptData.TYPE_AUDIO - && !(data.getType() == IScriptData.TYPE_SCENARIO && data - .isDataCommit() == false)) { - Display.getCurrent().asyncExec(new Runnable() { - public void run() { - descriptionTextCell.deactivate(); - } - }); - return; - } - } - - public void focusLost(FocusEvent e) { - String description = ((Text) (e.widget)).getText(); - if (beforeDescription.equals(description)) { - return; - } - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.DELETE_LABEL, data, this)); - scriptManager.remove(data); - - data.setType(IScriptData.TYPE_AUDIO); - data.setMark(NO_MARK); - data.setDescription(description); - - int newEndTime; - int length = VoicePlayerFactory.getInstance() - .getSpeakLength(data); - if (length > 0) { - newEndTime = data.getStartTime() + length; - data.setEndTimeAccurate(true); - } else { - newEndTime = data.getStartTime() - + DataUtil.sumMoraCount( - data.getDescription(), - data.getLang()); - data.setEndTimeAccurate(false); - } - - data.setEndTime(newEndTime); - data.setDataCommit(true); - - scriptManager.add(data); - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.PUT_LABEL, data, this)); - + public void focusGained(FocusEvent e) { + Display.getCurrent().asyncExec(new Runnable() { + public void run() { + descriptionTextCell.activate(); } }); + TreeSelection selection = (TreeSelection) treeViewer + .getSelection(); + data = (IScriptData) selection.getFirstElement(); + beforeDescription = ((Text) (e.widget)).getText(); + + if (data.getType() != IScriptData.TYPE_AUDIO + && !(data.getType() == IScriptData.TYPE_SCENARIO && data + .isDataCommit() == false)) { + Display.getCurrent().asyncExec(new Runnable() { + public void run() { + descriptionTextCell.deactivate(); + } + }); + return; + } + } + + public void focusLost(FocusEvent e) { + String description = ((Text) (e.widget)).getText(); + if (beforeDescription.equals(description)) { + return; + } + scriptManager.remove(data); + + data.setType(IScriptData.TYPE_AUDIO); + data.setMark(NO_MARK); + data.setDescription(description); + + int newEndTime; + int length = VoicePlayerFactory.getInstance().getSpeakLength( + data); + if (length > 0) { + newEndTime = data.getStartTime() + length; + data.setEndTimeAccurate(true); + } else { + newEndTime = data.getStartTime() + + DataUtil.sumMoraCount(data.getDescription(), + data.getLang()); + data.setEndTimeAccurate(false); + } + + data.setEndTime(newEndTime); + data.setDataCommit(true); + + scriptManager.add(data); + } + }); // // Caption // ------------------------------------------------------------------------------- // final TextCellEditorEx captionTextCell = new TextCellEditorEx(instTree); - ((Text) captionTextCell.getControl()) - .addFocusListener(new FocusAdapter() { - String beforeCaption = ""; - IScriptData data = null; - TreeItem[] item; + captionTextCell.getControl().addFocusListener(new FocusAdapter() { + String beforeCaption = ""; + IScriptData data = null; - public void focusGained(FocusEvent e) { - TreeSelection selection = (TreeSelection) treeViewer - .getSelection(); - data = (IScriptData) selection.getFirstElement(); - item = instTree.getSelection(); - beforeCaption = ((Text) (e.widget)).getText(); + // TreeItem[] item; - selectGuideLineItemProcess(data); + public void focusGained(FocusEvent e) { + TreeSelection selection = (TreeSelection) treeViewer + .getSelection(); + data = (IScriptData) selection.getFirstElement(); + // item = instTree.getSelection(); + beforeCaption = ((Text) (e.widget)).getText(); - if (data.getType() != IScriptData.TYPE_CAPTION - && !(data.getType() == IScriptData.TYPE_SCENARIO && data - .isDataCommit() == false)) { - Display.getCurrent().asyncExec(new Runnable() { - public void run() { - captionTextCell.deactivate(); - } - }); - return; + if (data.getType() != IScriptData.TYPE_CAPTION + && !(data.getType() == IScriptData.TYPE_SCENARIO && data + .isDataCommit() == false)) { + Display.getCurrent().asyncExec(new Runnable() { + public void run() { + captionTextCell.deactivate(); } - } + }); + return; + } + } - public void focusLost(FocusEvent e) { - String caption = ((Text) (e.widget)).getText(); - if (beforeCaption.equals(caption)) { - return; - } + public void focusLost(FocusEvent e) { + String caption = ((Text) (e.widget)).getText(); + if (beforeCaption.equals(caption)) { + return; + } - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.DELETE_LABEL, data, this)); - scriptManager.remove(data); + scriptManager.remove(data); - data.setType(IScriptData.TYPE_CAPTION); - data.setMark(NO_MARK); - data.setCaption(caption); - if (data.getEndTime() <= data.getStartTime()) { - // TODO need input from user - int endTime = DataUtil.sumMoraCount( - data.getCaption(), data.getLang()); - data.setEndTime(data.getStartTime() + endTime); - } + data.setType(IScriptData.TYPE_CAPTION); + data.setMark(NO_MARK); + data.setCaption(caption); + if (data.getEndTime() <= data.getStartTime()) { + // TODO need input from user + int endTime = DataUtil.sumMoraCount(data.getCaption(), + data.getLang()); + data.setEndTime(data.getStartTime() + endTime); + } - data.setDataCommit(true); + data.setDataCommit(true); - scriptManager.add(data); - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.PUT_LABEL, data, this)); + scriptManager.add(data); - } - }); + } + }); // // Extended // ------------------------------------------------------------------------------- // final ComboBoxCellEditor extendsComboCell = new ComboBoxCellEditor( instTree, new String[] { "Extended", "Normal" }); - ((CCombo) extendsComboCell.getControl()) - .addFocusListener(new FocusAdapter() { - String beforeExtends = ""; - IScriptData data = null; + extendsComboCell.getControl().addFocusListener(new FocusAdapter() { + String beforeExtends = ""; + IScriptData data = null; - public void focusGained(FocusEvent e) { - TreeSelection selection = (TreeSelection) treeViewer - .getSelection(); - data = (IScriptData) selection.getFirstElement(); + public void focusGained(FocusEvent e) { + TreeSelection selection = (TreeSelection) treeViewer + .getSelection(); + data = (IScriptData) selection.getFirstElement(); - beforeExtends = ((CCombo) (e.widget)).getText(); - selectGuideLineItemProcess(data); - if (data.getType() != IScriptData.TYPE_AUDIO) { - Display.getCurrent().asyncExec(new Runnable() { - public void run() { - extendsComboCell.deactivate(); - } - }); - return; + beforeExtends = ((CCombo) (e.widget)).getText(); + if (data.getType() != IScriptData.TYPE_AUDIO) { + Display.getCurrent().asyncExec(new Runnable() { + public void run() { + extendsComboCell.deactivate(); } - } + }); + return; + } + } - public void focusLost(FocusEvent e) { - String extended = ((CCombo) (e.widget)).getText(); - if (beforeExtends.equals(extended)) { - return; - } + public void focusLost(FocusEvent e) { + String extended = ((CCombo) (e.widget)).getText(); + if (beforeExtends.equals(extended)) { + return; + } - if (data.getType() == IScriptData.TYPE_AUDIO) { - data.setExtended("Extended".equals(extended)); - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.PUT_LABEL, data, this)); - } - } - }); + if (data.getType() == IScriptData.TYPE_AUDIO) { + data.setExtended("Extended".equals(extended)); + scriptManager.fireDataUpdateEvent(data, this); + } + } + }); // // Wav // ------------------------------------------------------------------------------- // final TextCellEditorEx wavTextCell = new TextCellEditorEx(instTree); - ((Text) wavTextCell.getControl()).addFocusListener(new FocusAdapter() { + wavTextCell.getControl().addFocusListener(new FocusAdapter() { public void focusGained(FocusEvent e) { Display.getCurrent().asyncExec(new Runnable() { public void run() { @@ -521,7 +476,6 @@ .getSelection(); final IScriptData data = (IScriptData) selection .getFirstElement(); - selectGuideLineItemProcess(data); if (data.getType() != IScriptData.TYPE_AUDIO) { return; } @@ -545,33 +499,13 @@ .getStartTimeString())) { scriptManager.remove(data); - - dataEventManager - .fireLabelEvent(new LabelEvent( - LabelEvent.DELETE_LABEL, - data, this)); data.setDataCommit(true); - scriptManager.add(data); - - dataEventManager - .fireLabelEvent(new LabelEvent( - LabelEvent.PUT_LABEL, data, - this)); - } } else if (dialog.getReturnCode() == WavInputDialog.DELETE) { scriptManager.remove(data); - - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.DELETE_LABEL, data, this)); - scriptManager.add(data); - - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.PUT_LABEL, data, this)); - } } }); @@ -592,30 +526,28 @@ // ------------------------------------------------------------------------------- // TextCellEditorEx commentTextCell = new TextCellEditorEx(instTree); - ((Text) commentTextCell.getControl()) - .addFocusListener(new FocusAdapter() { - String beforeComment = ""; - IScriptData data = null; + commentTextCell.getControl().addFocusListener(new FocusAdapter() { + String beforeComment = ""; + IScriptData data = null; - public void focusGained(FocusEvent e) { - TreeSelection selection = (TreeSelection) treeViewer - .getSelection(); - data = (IScriptData) selection.getFirstElement(); + public void focusGained(FocusEvent e) { + TreeSelection selection = (TreeSelection) treeViewer + .getSelection(); + data = (IScriptData) selection.getFirstElement(); - beforeComment = ((Text) (e.widget)).getText(); - selectGuideLineItemProcess(data); - } + beforeComment = ((Text) (e.widget)).getText(); + } - public void focusLost(FocusEvent e) { - String comment = ((Text) (e.widget)).getText(); - if (beforeComment.equals(comment)) { - return; - } - data.setScriptComment(comment); - scriptManager.fireUpdateDataEvent(data, this); - DataUtil.debug(); - } - }); + public void focusLost(FocusEvent e) { + String comment = ((Text) (e.widget)).getText(); + if (beforeComment.equals(comment)) { + return; + } + data.setScriptComment(comment); + scriptManager.fireDataUpdateEvent(data, this); + DataUtil.debug(); + } + }); CellEditor[] editors = new CellEditor[] { new TextCellEditor(instTree), new TextCellEditor(instTree), startTimeTextCell, @@ -778,8 +710,6 @@ } } scriptManager.addAll(list); - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.PUT_ALL_LABEL, null, this)); } class DeleteAction extends Action implements IUNIT { @@ -801,9 +731,6 @@ IScriptData data = (IScriptData) items[i].getData(); scriptManager.remove(data); - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.DELETE_LABEL, data, this)); - } } }); @@ -885,48 +812,51 @@ List<IScriptData> list = sel.toList(); // Exist ScriptData? - if (list.size() == 1) { + if (list.size() > 0) { selectAllColumn(column2, SWT.NONE); - } else if (list.size() > 1) { - selectAllColumn(column2, SWT.NONE); - if (EditPanelTab.getInstance() != null) { - EditPanelTab.getInstance().setMultiSelectMode(true); - EditPanelTab.getInstance().setCurrentListData(list); - } } else { return; } - if (isUser && e.getSource() != this) { - int newPosition = list.iterator().next().getStartTime() - 10; - if (newPosition < 0) { - newPosition = 0; + if (isUser) { + + IScriptData data = list.get(0); + + // TODO use event + WebBrowserFactory.getInstance().setCurrentPosition( + data.getStartTime()); + + if (list.size() == 1) { + scriptManager.fireDataSelectionEvent(data, ownInst); + } else { + scriptManager.fireMultipleDataSelectionEvent(list, ownInst); } - WebBrowserFactory.getInstance().pauseMedia(); - WebBrowserFactory.getInstance().setCurrentPosition(newPosition); } } } - public void handleScriptEvent(ScriptEvent e) { + public void handleScriptEvent(ScriptDataEvent e) { switch (e.getEventType()) { - case ScriptEvent.SELECT_DATA: - case ScriptEvent.PLAY_DATA: + case ScriptDataEvent.SELECT: + if (e.getSource() == ownInst) { + break; + } + case ScriptDataEvent.PLAY: isUser = false; IScriptData data = e.getData(); treeViewer.setSelection(new StructuredSelection(data), true); isUser = true; break; - case ScriptEvent.DESELECT_DATA: + case ScriptDataEvent.DESELECT: treeViewer.setSelection(null, false); break; - case ScriptEvent.ADD_DATA: - case ScriptEvent.ADD_MULTIPUL_DATA: - case ScriptEvent.UPDATE_DATA: - case ScriptEvent.UPDATE_MULTIPUL_DATA: - case ScriptEvent.DELETE_DATA: + case ScriptDataEvent.ADD: + case ScriptDataEvent.MULTIPLE_ADD: + case ScriptDataEvent.UPDATE: + case ScriptDataEvent.MULTIPLE_UPDATE: + case ScriptDataEvent.DELETE: updateLine(); break; - case ScriptEvent.CLEAR_DATA: + case ScriptDataEvent.CLEAR: treeViewer.getTree().removeAll(); break; }
diff --git a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/ScriptDataManager.java b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/ScriptDataManager.java index 512b339..8e07818 100644 --- a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/ScriptDataManager.java +++ b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/ScriptDataManager.java
@@ -17,8 +17,8 @@ import java.util.List; import java.util.TreeSet; -import org.eclipse.actf.ai.scripteditor.data.event.ScriptEvent; -import org.eclipse.actf.ai.scripteditor.data.event.ScriptEventListener; +import org.eclipse.actf.ai.scripteditor.data.event.ScriptDataEvent; +import org.eclipse.actf.ai.scripteditor.data.event.ScriptDataEventListener; import org.eclipse.actf.ai.scripteditor.util.TimeFormatUtil; import org.eclipse.actf.ai.scripteditor.util.XMLFileMessageBox; import org.eclipse.actf.util.FileUtils; @@ -29,7 +29,7 @@ */ public class ScriptDataManager { - private static List<ScriptEventListener> SCRIPT_EVENT_LISTENERS = new ArrayList<ScriptEventListener>(); + private static List<ScriptDataEventListener> SCRIPT_EVENT_LISTENERS = new ArrayList<ScriptDataEventListener>(); public class scriptDataComparator implements Comparator<IScriptData> { @@ -94,10 +94,10 @@ return (ownInst); } - public synchronized void clearData() { + public synchronized void clear() { iData.clear(); cData.clear(); - fireScriptEvent(new ScriptEvent(ScriptEvent.CLEAR_DATA, this)); + fireScriptEvent(new ScriptDataEvent(ScriptDataEvent.CLEAR, this)); } @Deprecated @@ -152,7 +152,7 @@ cData.add(tmpCharacter); } if (iData.add(data)) { - fireScriptEvent(ScriptEvent.ADD_DATA, data, this); + fireScriptEvent(ScriptDataEvent.ADD, data, this); return true; } return false; @@ -166,7 +166,7 @@ } } if (iData.addAll(data)) { - fireScriptEvent(new ScriptEvent(ScriptEvent.ADD_MULTIPUL_DATA, + fireScriptEvent(new ScriptDataEvent(ScriptDataEvent.MULTIPLE_ADD, data, this)); return true; } @@ -179,7 +179,7 @@ public synchronized boolean remove(IScriptData data) { if (iData.remove(data)) { - fireScriptEvent(ScriptEvent.DELETE_DATA, data, this); + fireScriptEvent(ScriptDataEvent.DELETE, data, this); return true; } return false; @@ -501,7 +501,7 @@ * * @param listener */ - public void addGuideListEventListener(ScriptEventListener listener) { + public void addScriptDataEventListener(ScriptDataEventListener listener) { SCRIPT_EVENT_LISTENERS.add(listener); } @@ -510,37 +510,43 @@ * * @param listener */ - public void removeGuideListEventListener(ScriptEventListener listener) { + public void removeScriptDataEventListener(ScriptDataEventListener listener) { SCRIPT_EVENT_LISTENERS.remove(listener); } - public void fireSelectDataEvent(IScriptData selectedData, Object source) { - fireScriptEvent(ScriptEvent.SELECT_DATA, selectedData, source); + public void fireDataSelectionEvent(IScriptData selectedData, Object source) { + fireScriptEvent(ScriptDataEvent.SELECT, selectedData, source); } - public void fireDeselectDataEvent(Object source) { - fireScriptEvent(new ScriptEvent(ScriptEvent.DESELECT_DATA, source)); + public void fireMultipleDataSelectionEvent( + Collection<IScriptData> selection, Object source) { + fireScriptEvent(new ScriptDataEvent(ScriptDataEvent.MULTIPLE_SELECT, + selection, source)); } - public void fireUpdateDataEvent(IScriptData updatedData, Object source) { - fireScriptEvent(ScriptEvent.UPDATE_DATA, updatedData, source); + public void fireDataDeselectionEvent(Object source) { + fireScriptEvent(new ScriptDataEvent(ScriptDataEvent.DESELECT, source)); } - public void fireUpdateMultipleDataEvent( + public void fireDataUpdateEvent(IScriptData updatedData, Object source) { + fireScriptEvent(ScriptDataEvent.UPDATE, updatedData, source); + } + + public void fireMultipleDataUpdateEvent( Collection<IScriptData> updatedData, Object source) { if (updatedData != null) { - fireScriptEvent(new ScriptEvent(ScriptEvent.UPDATE_MULTIPUL_DATA, - updatedData, source)); + fireScriptEvent(new ScriptDataEvent( + ScriptDataEvent.MULTIPLE_UPDATE, updatedData, source)); } } public void firePlayEvent(IScriptData playingData, Object source) { - fireScriptEvent(ScriptEvent.PLAY_DATA, playingData, source); + fireScriptEvent(ScriptDataEvent.PLAY, playingData, source); } private void fireScriptEvent(int type, IScriptData data, Object source) { if (data != null) { - fireScriptEvent(new ScriptEvent(type, data, source)); + fireScriptEvent(new ScriptDataEvent(type, data, source)); } } @@ -549,8 +555,8 @@ * * @param event */ - private void fireScriptEvent(ScriptEvent event) { - for (ScriptEventListener listener : SCRIPT_EVENT_LISTENERS) { + private void fireScriptEvent(ScriptDataEvent event) { + for (ScriptDataEventListener listener : SCRIPT_EVENT_LISTENERS) { listener.handleScriptEvent(event); } }
diff --git a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/event/DataEventManager.java b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/event/DataEventManager.java deleted file mode 100644 index 3bd63e2..0000000 --- a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/event/DataEventManager.java +++ /dev/null
@@ -1,69 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011, 2012 IBM Corporation and Others - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.actf.ai.scripteditor.data.event; - -import java.util.ArrayList; -import java.util.List; - -public class DataEventManager { - private static DataEventManager ownInst = null; - - /** - * Get instance of EventManager - * - * @return instance - */ - public static DataEventManager getInstance() { - if (ownInst == null) { - ownInst = new DataEventManager(); - } - return ownInst; - } - - // ----------------- AUDIO Event ----------------------- - /** - * Play Mark Event Listeners - */ - private static List<LabelEventListener> labelEventListeners = new ArrayList<LabelEventListener>(); - - /** - * Add Play Mark Event Listener - * - * @param listener - */ - public synchronized void addLabelEventListener(LabelEventListener listener) { - labelEventListeners.add(listener); - } - - /** - * Remove Play Mark Event Listener - * - * @param listener - */ - public synchronized void removeLabelEventListener( - LabelEventListener listener) { - labelEventListeners.remove(listener); - } - - /** - * fire Play Mark Event - * - * @param event - */ - public synchronized void fireLabelEvent(LabelEvent event) { - for (LabelEventListener listener : labelEventListeners) { - listener.handleLabelEvent(event); - // System.out.println(listener); - } - // System.out.println("----------"); - } - -}
diff --git a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/event/LabelEvent.java b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/event/LabelEvent.java deleted file mode 100644 index 28eb76e..0000000 --- a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/event/LabelEvent.java +++ /dev/null
@@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011, 2012 IBM Corporation and Others - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.actf.ai.scripteditor.data.event; - -import java.util.EventObject; - -import org.eclipse.actf.ai.scripteditor.data.IScriptData; - -public class LabelEvent extends EventObject { - - /** - * - */ - private static final long serialVersionUID = -8216230604599825989L; - - public static final int PUT_ALL_LABEL = 1; // create or - public static final int PUT_LABEL = 2; // create or update label - public static final int DELETE_LABEL = 3; - - private int eventType; - private IScriptData data; - - public LabelEvent(int eventType, IScriptData data, Object source) { - super(source); - this.eventType = eventType; - this.data = data; - } - - public int getEventType() { - return eventType; - } - - public IScriptData getData() { - return data; - } - -}
diff --git a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/event/ScriptEvent.java b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/event/ScriptDataEvent.java similarity index 65% rename from plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/event/ScriptEvent.java rename to plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/event/ScriptDataEvent.java index 870201a..e51e645 100644 --- a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/event/ScriptEvent.java +++ b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/event/ScriptDataEvent.java
@@ -15,44 +15,46 @@ import org.eclipse.actf.ai.scripteditor.data.IScriptData; -public class ScriptEvent extends EventObject { +public class ScriptDataEvent extends EventObject { /** * */ private static final long serialVersionUID = 1860351762555451972L; - public static final int CLEAR_DATA = 0; - public static final int SELECT_DATA = 1; - public static final int DESELECT_DATA = 2; - public static final int PLAY_DATA = 3; - // TODO play fin + public static final int CLEAR = 0; + public static final int ADD = 1; + public static final int MULTIPLE_ADD = 2; + public static final int DELETE = 3; + // multiple remove? - // Migrate from AudioEvent - public static final int ADD_DATA = 5; - public static final int ADD_MULTIPUL_DATA = 6; - public static final int DELETE_DATA = 7; - // TODO multiple remove? + public static final int UPDATE = 10; + public static final int MULTIPLE_UPDATE = 11; - public static final int UPDATE_DATA = 9; - public static final int UPDATE_MULTIPUL_DATA = 10; + public static final int SELECT = 20; + public static final int MULTIPLE_SELECT = 21; + public static final int DESELECT = 22; + + public static final int PLAY = 33; + // TODO play fin, select multi + private int eventType; private IScriptData data = null; private Collection<IScriptData> cData = null; - public ScriptEvent(int eventType, Object source) { + public ScriptDataEvent(int eventType, Object source) { super(source); this.eventType = eventType; } - public ScriptEvent(int eventType, IScriptData data, Object source) { + public ScriptDataEvent(int eventType, IScriptData data, Object source) { super(source); this.eventType = eventType; this.data = data; } - public ScriptEvent(int eventType, Collection<IScriptData> cData, + public ScriptDataEvent(int eventType, Collection<IScriptData> cData, Object source) { super(source); this.eventType = eventType;
diff --git a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/event/LabelEventListener.java b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/event/ScriptDataEventListener.java similarity index 83% rename from plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/event/LabelEventListener.java rename to plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/event/ScriptDataEventListener.java index 9c9eee3..ca709c2 100644 --- a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/event/LabelEventListener.java +++ b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/event/ScriptDataEventListener.java
@@ -12,6 +12,6 @@ import java.util.EventListener; -public interface LabelEventListener extends EventListener { - public abstract void handleLabelEvent(LabelEvent e); +public interface ScriptDataEventListener extends EventListener { + public abstract void handleScriptEvent(ScriptDataEvent e); }
diff --git a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/event/ScriptEventListener.java b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/event/ScriptEventListener.java deleted file mode 100644 index 785d290..0000000 --- a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/data/event/ScriptEventListener.java +++ /dev/null
@@ -1,17 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011, 2012 IBM Corporation and Others - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.actf.ai.scripteditor.data.event; - -import java.util.EventListener; - -public interface ScriptEventListener extends EventListener { - public abstract void handleScriptEvent(ScriptEvent e); -}
diff --git a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/reader/CSVReader.java b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/reader/CSVReader.java index e4094b6..86ad9a9 100644 --- a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/reader/CSVReader.java +++ b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/reader/CSVReader.java
@@ -30,8 +30,6 @@ import org.eclipse.actf.ai.scripteditor.data.IScriptData; import org.eclipse.actf.ai.scripteditor.data.ScriptDataFactory; import org.eclipse.actf.ai.scripteditor.data.ScriptDataManager; -import org.eclipse.actf.ai.scripteditor.data.event.DataEventManager; -import org.eclipse.actf.ai.scripteditor.data.event.LabelEvent; import org.eclipse.actf.ai.scripteditor.preferences.CSVRulePreferenceUtil; import org.eclipse.actf.ai.scripteditor.util.SoundMixer; import org.eclipse.actf.ai.scripteditor.util.TimeFormatUtil; @@ -175,9 +173,8 @@ private boolean currentActive = false; private int currentProcess = CSV_PROC_IDLE; - private DataEventManager dataEventManager = null; private ScriptDataManager scriptManager = ScriptDataManager.getInstance(); - private EventManager eventManager = null; + private EventManager eventManager = EventManager.getInstance(); static List<IScriptData> dataList = new ArrayList<IScriptData>(); /** @@ -213,8 +210,6 @@ currentStatus = CSV_ANA_IDLE; currentActive = false; - dataEventManager = DataEventManager.getInstance(); - eventManager = EventManager.getInstance(); } /** @@ -1034,14 +1029,10 @@ if (CSV_SAVE_RULE_RENEWAL == CSVRulePreferenceUtil .getPreferenceCsvSaveRule()) { - scriptManager.clearData(); + scriptManager.clear(); } scriptManager.addAll(dataList); - - // rewrite all labels at once - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.PUT_ALL_LABEL, null, this)); } });
diff --git a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/util/DragDropFileReader.java b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/util/DragDropFileReader.java index 4266539..210097c 100644 --- a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/util/DragDropFileReader.java +++ b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/scripteditor/util/DragDropFileReader.java
@@ -87,7 +87,7 @@ // * Private method : Pre-Process for Load data // * private void preProcessLoadFile() { - scriptManager.clearData(); + scriptManager.clear(); VolumeLevelCanvas.setVolumeLevelFilePath(null); }
diff --git a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/ui/scripteditor/views/EditPanelView.java b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/ui/scripteditor/views/EditPanelView.java index d1ac3e8..9ed7354 100644 --- a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/ui/scripteditor/views/EditPanelView.java +++ b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/ui/scripteditor/views/EditPanelView.java
@@ -14,9 +14,8 @@ import org.eclipse.actf.ai.internal.ui.scripteditor.SelectWAVFileTab; import org.eclipse.actf.ai.scripteditor.data.IScriptData; import org.eclipse.actf.ai.scripteditor.data.ScriptDataManager; -import org.eclipse.actf.ai.scripteditor.data.event.DataEventManager; -import org.eclipse.actf.ai.scripteditor.data.event.ScriptEvent; -import org.eclipse.actf.ai.scripteditor.data.event.ScriptEventListener; +import org.eclipse.actf.ai.scripteditor.data.event.ScriptDataEvent; +import org.eclipse.actf.ai.scripteditor.data.event.ScriptDataEventListener; import org.eclipse.actf.ai.scripteditor.util.ScriptFileDropListener; import org.eclipse.actf.examples.scripteditor.Activator; import org.eclipse.swt.SWT; @@ -37,7 +36,7 @@ import org.eclipse.ui.PlatformUI; import org.eclipse.ui.part.ViewPart; -public class EditPanelView extends ViewPart implements ScriptEventListener { +public class EditPanelView extends ViewPart implements ScriptDataEventListener { public static final String VIEW_ID = "org.eclipse.actf.examples.scripteditor.EditPanelView"; static private EditPanelView ownInst = null; @@ -52,7 +51,6 @@ private CTabItem instEditPanelTabItem = null; private CTabItem instSelectWAVFileTabItem = null; // - private DataEventManager dataEventManager = null; private ScriptDataManager scriptDataManager = ScriptDataManager .getInstance(); @@ -62,7 +60,6 @@ public EditPanelView() { super(); ownInst = this; - dataEventManager = DataEventManager.getInstance(); } static public EditPanelView getInstance() { @@ -79,12 +76,11 @@ // Add listener for load meta file initDDListener(ownTabFolder); - scriptDataManager.addGuideListEventListener(ownInst); + scriptDataManager.addScriptDataEventListener(ownInst); parent.addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent e) { - // TODO other components - scriptDataManager.removeGuideListEventListener(ownInst); + scriptDataManager.removeScriptDataEventListener(ownInst); } }); } @@ -197,8 +193,9 @@ } } - public void handleScriptEvent(ScriptEvent e) { - if (e.getEventType() == ScriptEvent.SELECT_DATA) { + public void handleScriptEvent(ScriptDataEvent e) { + switch(e.getEventType()){ + case ScriptDataEvent.SELECT: IScriptData data = e.getData(); instEditPanelTab.setMultiSelectMode(false); instEditPanelTab.repaintTextScriptData(data); @@ -208,8 +205,18 @@ } else { ownTabFolder.setSelection(0); } - } else if (e.getEventType() == ScriptEvent.DESELECT_DATA) { - instEditPanelTab.initDispEditPanel(); + break; + case ScriptDataEvent.MULTIPLE_SELECT: + instEditPanelTab.setMultiSelectMode(true); + instEditPanelTab.setCurrentListData(e.getDataCollection()); + break; + case ScriptDataEvent.DESELECT: + //TODO confirm? + instEditPanelTab.initDispEditPanel(); + break; + case ScriptDataEvent.UPDATE: + + break; } }
diff --git a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/ui/scripteditor/views/TimeLineView.java b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/ui/scripteditor/views/TimeLineView.java index fdde5a7..08abcac 100644 --- a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/ui/scripteditor/views/TimeLineView.java +++ b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/ai/ui/scripteditor/views/TimeLineView.java
@@ -27,8 +27,6 @@ import org.eclipse.actf.ai.internal.ui.scripteditor.event.TimerEventListener; import org.eclipse.actf.ai.scripteditor.data.IScriptData; import org.eclipse.actf.ai.scripteditor.data.ScriptDataManager; -import org.eclipse.actf.ai.scripteditor.data.event.DataEventManager; -import org.eclipse.actf.ai.scripteditor.data.event.LabelEvent; import org.eclipse.actf.ai.scripteditor.util.ScriptFileDropListener; import org.eclipse.actf.ai.scripteditor.util.SoundMixer; import org.eclipse.actf.ai.scripteditor.util.VoicePlayerFactory; @@ -123,9 +121,8 @@ private boolean currentDragStatus = false; // status for dragging // for Event Managing - private static EventManager eventManager = null; - private ScriptDataManager scriptManager = null; - private DataEventManager dataEventManager = null; + private static EventManager eventManager = EventManager.getInstance(); + private ScriptDataManager scriptManager = ScriptDataManager.getInstance(); private int captionStartTimeLine = 0; @@ -142,10 +139,6 @@ new ScriptEditorShutdownListener()); ownInst = this; - - eventManager = EventManager.getInstance(); - scriptManager = ScriptDataManager.getInstance(); - dataEventManager = DataEventManager.getInstance(); } static public TimeLineView getInstance() { @@ -176,7 +169,6 @@ parent.addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent e) { - // TODO other components eventManager.removeSyncTimeEventListener(ownInst); eventManager.removeMouseDragEventListener(ownInst); eventManager.removeTimerEventListener(ownInst); @@ -1098,9 +1090,7 @@ data.setEndTime(newEndTime); } // replace label and data. - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.PUT_LABEL, data, this)); - scriptManager.fireUpdateDataEvent(data, this); + scriptManager.fireDataUpdateEvent(data, this); } } @@ -1593,7 +1583,8 @@ currentScriptDataIndex = -1; // Finish high-light for target - scriptManager.fireDeselectDataEvent(this); + scriptManager + .fireDataDeselectionEvent(this); } } else { // increment duration counter
diff --git a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/examples/scripteditor/actions/ClearAction.java b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/examples/scripteditor/actions/ClearAction.java index eb713b7..42ade00 100644 --- a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/examples/scripteditor/actions/ClearAction.java +++ b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/examples/scripteditor/actions/ClearAction.java
@@ -14,7 +14,6 @@ import org.eclipse.actf.ai.internal.ui.scripteditor.SelectWAVFileTab; import org.eclipse.actf.ai.internal.ui.scripteditor.VolumeLevelCanvas; import org.eclipse.actf.ai.scripteditor.data.ScriptDataManager; -import org.eclipse.actf.ai.scripteditor.data.event.DataEventManager; import org.eclipse.actf.ai.scripteditor.util.XMLFileMessageBox; import org.eclipse.actf.ai.scripteditor.util.XMLFileSaveUtil; import org.eclipse.actf.ai.ui.scripteditor.views.EditPanelView; @@ -32,8 +31,6 @@ private SelectWAVFileTab instSelWavTab = null; private TimeLineView instTimeLine = null; - private DataEventManager dataEventManager = null; - public ClearAction() { } @@ -56,15 +53,11 @@ if (scriptManager == null) { scriptManager = ScriptDataManager.getInstance(); } - if (dataEventManager == null) { - dataEventManager = DataEventManager.getInstance(); - } - } private void closeFile() { - scriptManager.clearData(); + scriptManager.clear(); if (instEditPanelTab != null) { instEditPanelTab.initDispEditPanel();
diff --git a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/examples/scripteditor/actions/FileOpenAction.java b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/examples/scripteditor/actions/FileOpenAction.java index b9ba726..588541d 100644 --- a/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/examples/scripteditor/actions/FileOpenAction.java +++ b/plugins/org.eclipse.actf.examples.scripteditor/src/org/eclipse/actf/examples/scripteditor/actions/FileOpenAction.java
@@ -13,8 +13,6 @@ import org.eclipse.actf.ai.internal.ui.scripteditor.EditPanelTab; import org.eclipse.actf.ai.internal.ui.scripteditor.VolumeLevelCanvas; import org.eclipse.actf.ai.scripteditor.data.ScriptDataManager; -import org.eclipse.actf.ai.scripteditor.data.event.DataEventManager; -import org.eclipse.actf.ai.scripteditor.data.event.LabelEvent; import org.eclipse.actf.ai.scripteditor.reader.SAXReader; import org.eclipse.actf.ai.scripteditor.util.WebBrowserFactory; import org.eclipse.actf.ai.scripteditor.util.XMLFileMessageBox; @@ -32,7 +30,6 @@ public class FileOpenAction implements IWorkbenchWindowActionDelegate { private ScriptDataManager scriptManager = null; - private DataEventManager dataEventManager = null; private EditPanelTab instEditPanelTab = null; private TimeLineView instTimeLine = null; @@ -56,19 +53,14 @@ if (scriptManager == null) { scriptManager = ScriptDataManager.getInstance(); } - if (dataEventManager == null) { - dataEventManager = DataEventManager.getInstance(); - } } private void preProcess() { VolumeLevelCanvas.setVolumeLevelFilePath(null); - scriptManager.clearData(); + scriptManager.clear(); } private void postProcess() { - dataEventManager.fireLabelEvent(new LabelEvent( - LabelEvent.PUT_ALL_LABEL, null, this)); if (instEditPanelTab != null) { instEditPanelTab.initDispEditPanel();