/*
* Software Name : ATK
*
* Copyright (C) 2007 - 2012 France Télécom
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* ------------------------------------------------------------------
* File Name : HopperGUI.java
*
* Created : 28/05/2007
* Author(s) : Aurore PENAULT
*/
package com.orange.atk.atkUI.guiHopper;
import java.io.File;
import javax.swing.JMenuItem;
import javax.swing.border.EmptyBorder;
import com.orange.atk.atkUI.anaHopper.HopperStep;
import com.orange.atk.atkUI.corecli.Campaign;
import com.orange.atk.atkUI.corecli.Step;
import com.orange.atk.atkUI.coregui.AnalysisGUICommon;
import com.orange.atk.atkUI.coregui.CheckListTable;
import com.orange.atk.atkUI.coregui.actions.MatosAbstractAction;
import com.orange.atk.atkUI.coregui.actions.MatosAction;
import com.orange.atk.atkUI.guiHopper.actions.HopperGUIAction;
/**
*
* @author Aurore PENAULT
* @since JDK5.0
*/
public class HopperGUI extends AnalysisGUICommon {
public HopperGUI() {
// populate a flash toolBar with flash specifics feature
// addInToolbar(HopperGUIAction.ADDFLASHANIMATION.getAsJButton());
// addInToolbar(new JToolBar.Separator());
// addInToolbar(MatosAction.VIEWREPORT.getAsJButton());
// addInToolbar(new JToolBar.Separator());
// addInToolbar(HopperGUIAction.ANALYSEALLFLASH.getAsJButton());
// addInToolbar(HopperGUIAction.ANALYSESELECTIONFLASH.getAsJButton());
// addInToolbar(HopperGUIAction.STOPSCRIPT.getAsJButton());
// addInToolbar(HopperGUIAction.CHECCNX.getAsJButton());
// addInToolbar(HopperGUIAction.STOPTEST.getAsJButton());
// toolBar.setFloatable(false);
}
/*
* (non-Javadoc)
*
* @see
* com.orange.atk.atkUI.coregui.AnalysisGUICommon#buildCampaignFromDirectory
* (java.io.File)
*/
@Override
public Campaign buildCampaignFromDirectory(File dir) {
Campaign campaign = new Campaign();
// Jad files
/*
* FilenameFilter swfFilter = new FilenameFilter(){ public boolean
* accept(File dir, String name){ String
* profile=AutomaticPhoneDetection.getDeviceType();
* if(profile!=null&&profile.equals("NokiaS60"))
*
* return name.endsWith(".xml"); else return name.endsWith(".tst");
*
* } };
*
* String [] swfFiles = dir.list(swfFilter);
*
* swfFiles=null; if (swfFiles != null) { for (int i=0;
* i<swfFiles.length; i++) { String swfName = swfFiles[i]; File swfFile
* = new File(dir.getAbsolutePath()+File.separator+swfName); Step step =
* new HopperStep(swfFile.getAbsolutePath(), getSelectedProfileName());
* campaign.add(step); } }
*/
return campaign;
}
/*
* (non-Javadoc)
*
* @see
* com.orange.atk.atkUI.coregui.AnalysisGUICommon#editSelectedStepProperties
* ()
*/
@Override
public void editSelectedStepProperties() {
int indexRow = getCheckListTable().getTable().getSelectedRow();
int numCampaign = getCheckListTable().getNumCampaign(indexRow);
HopperStep hopperStep = (HopperStep) (getCheckListTable().getCampaign().get(numCampaign));
new HopperPropertiesDialog(hopperStep);
}
/*
* (non-Javadoc)
*
* @see com.orange.atk.atkUI.coregui.AnalysisGUICommon#getAddStepMenuItem()
*/
@Override
public JMenuItem getAddStepMenuItem() {
return HopperGUIAction.ADDFLASHANIMATION.getAsMenuItem("Add Random Test ...");
}
/*
* (non-Javadoc)
*
* @see
* com.orange.atk.atkUI.coregui.AnalysisGUICommon#getAnalyseAllMenuItem()
*/
@Override
public JMenuItem getAnalyseAllMenuItem() {
return HopperGUIAction.ANALYSEALLFLASH.getAsMenuItem("Random Test");
}
/*
* (non-Javadoc)
*
* @see
* com.orange.atk.atkUI.coregui.AnalysisGUICommon#getAnalyseSelectionMenuItem
* ()
*/
@Override
public JMenuItem getAnalyseSelectionMenuItem() {
return HopperGUIAction.ANALYSESELECTIONFLASH.getAsMenuItem("Random Test");
}
/*
* (non-Javadoc)
*
* @see com.orange.atk.atkUI.coregui.AnalysisGUICommon#getCheckListTable()
*/
@Override
public CheckListTable getCheckListTable() {
if (checkListTable == null) {
checkListTable = new HopperCheckListTable();
checkListTable./* getPanel(). */setBorder(new EmptyBorder(0, 0, 0, 0));
}
return checkListTable;
}
/*
* (non-Javadoc)
*
* @see com.orange.atk.atkUI.coregui.AnalysisGUICommon#getDisplayName()
*/
public String getDisplayName() {
return "Random Test";
}
/*
* (non-Javadoc)
*
* @see com.orange.atk.atkUI.coregui.AnalysisGUICommon#getDisplayName()
*/
public String getConfigPanelName() {
return getDisplayName();
}
/*
* (non-Javadoc)
*
* @see com.orange.atk.atkUI.coregui.IGUICommon#notifySelected()
*/
public void notifySelected() {
updateButtons();
}
/*
* (non-Javadoc)
*
* @see com.orange.atk.atkUI.coregui.IGUICommon#updateButtons()
*/
public void updateButtons() {
if (checkListTable != null) {
boolean hasRow = (checkListTable.getStepNumber() > 0);
HopperGUIAction.ANALYSEALLFLASH.setEnabled(hasRow);
boolean isRowSelected = (getCheckListTable().getSelectedRowCount() > 0);
HopperGUIAction.ANALYSESELECTIONFLASH.setEnabled(isRowSelected);
if (getCheckListTable().getSelectedRowCount() == 1) {
Step step = getCheckListTable().getSelectedStep();
// REPORT
String repPath = step.getOutFilePath();
if ((repPath == null) || (repPath.trim().length() == 0)) {
MatosAction.VIEWREPORT.setEnabled(false);
} else {
MatosAction.VIEWREPORT.setEnabled(true);
}
} else {
MatosAction.VIEWREPORT.setEnabled(isRowSelected);
}
}
HopperGUIAction.STOPSCRIPT.setEnabled(false);
}
/*
* (non-Javadoc)
*
* @see com.orange.atk.atkUI.coregui.IGUICommon#enableUserActions(boolean)
*/
public void enableUserActions(boolean b) {
super.enableUserActions(b); // profile && checklisttable
for (HopperGUIAction fa : HopperGUIAction.values()) {
fa.setEnabled(b);
}
}
public void disableButtonsButStop() {
enableUserActions(true);
HopperGUIAction.ADDFLASHANIMATION.setEnabled(false);
HopperGUIAction.ANALYSEALLFLASH.setEnabled(false);
HopperGUIAction.ANALYSESELECTIONFLASH.setEnabled(false);
HopperGUIAction.STOPSCRIPT.setEnabled(true);
}
@Override
public MatosAbstractAction getAddScriptAction() {
return HopperGUIAction.ADDFLASHANIMATION.getAction();
}
}