[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();