Initial import.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
3
Tools/Source/PackageEditor/MANIFEST.MF
Normal file
3
Tools/Source/PackageEditor/MANIFEST.MF
Normal file
@@ -0,0 +1,3 @@
|
||||
Manifest-Version: 1.0
|
||||
Main-Class: org.tianocore.packaging.PackagingMain
|
||||
Class-Path: ../Jars/SurfaceArea.jar ../Jars/FDPManifest.jar ./xmlbeans/lib/jsr173_1.0_api.jar ./xmlbeans/lib/xbean.jar ./xmlbeans/lib/xbean_xpath.jar ./xmlbeans/lib/xmlpublic.jar ./xmlbeans/lib/saxon8.jar ./xmlbeans/lib/saxon8-jdom.jar ./xmlbeans/lib/saxon8-sql.jar ./xmlbeans/lib/resolver.jar
|
44
Tools/Source/PackageEditor/build.xml
Normal file
44
Tools/Source/PackageEditor/build.xml
Normal file
@@ -0,0 +1,44 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
-->
|
||||
<project name="PackageEditor" default="all" basedir=".">
|
||||
<taskdef resource="net/sf/antcontrib/antlib.xml"/>
|
||||
<property environment="env"/>
|
||||
<property name="WORKSPACE" value="${env.WORKSPACE}"/>
|
||||
<path id="classpath">
|
||||
<fileset dir="${WORKSPACE}/Tools/Jars" includes="*.jar"/>
|
||||
<fileset dir="${WORKSPACE}/Tools/bin/xmlbeans/lib" includes="*.jar"/>
|
||||
</path>
|
||||
<property name="buildDir" value="build"/>
|
||||
<property name="installLocation" value="${WORKSPACE}/Tools/bin"/>
|
||||
<target name="all" depends="install"/>
|
||||
<target name="source">
|
||||
<mkdir dir="${buildDir}"/>
|
||||
<javac srcdir="src" destdir="${buildDir}">
|
||||
<classpath refid="classpath"/>
|
||||
<!-- <compilerarg value="-Xlint"/> -->
|
||||
</javac>
|
||||
</target>
|
||||
<target name="clean">
|
||||
<delete dir="${buildDir}"/>
|
||||
</target>
|
||||
<target name="cleanall">
|
||||
<delete dir="${buildDir}"/>
|
||||
<delete file="${installLocation}/PackageEditor.jar"/>
|
||||
</target>
|
||||
<target name="install" depends="source">
|
||||
<jar destfile="${installLocation}/PackageEditor.jar"
|
||||
basedir="${buildDir}"
|
||||
includes="**"
|
||||
manifest="MANIFEST.MF"
|
||||
/>
|
||||
</target>
|
||||
</project>
|
@@ -0,0 +1,73 @@
|
||||
/** @file
|
||||
Java class Tools contains common use procedures.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.common;
|
||||
|
||||
import java.io.File;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
This class contains static methods for some common operations
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class Tools {
|
||||
|
||||
/**
|
||||
get current date and time, then return
|
||||
@return String
|
||||
**/
|
||||
public static String getCurrentDateTime() {
|
||||
Date now = new Date(System.currentTimeMillis());
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
|
||||
return sdf.format(now);
|
||||
}
|
||||
|
||||
/**
|
||||
Delete a folder and all its files
|
||||
@param strFolderName
|
||||
@return boolean
|
||||
**/
|
||||
public static boolean deleteFolder(File fleFolderName) {
|
||||
boolean blnIsDeleted = true;
|
||||
File[] aryAllFiles = fleFolderName.listFiles();
|
||||
|
||||
for (int indexI = 0; indexI < aryAllFiles.length; indexI++) {
|
||||
if (blnIsDeleted) {
|
||||
if (aryAllFiles[indexI].isDirectory()) {
|
||||
blnIsDeleted = deleteFolder(aryAllFiles[indexI]);
|
||||
} else if (aryAllFiles[indexI].isFile()) {
|
||||
if (!aryAllFiles[indexI].delete()) {
|
||||
blnIsDeleted = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (blnIsDeleted) {
|
||||
fleFolderName.delete();
|
||||
}
|
||||
return blnIsDeleted;
|
||||
}
|
||||
|
||||
/**
|
||||
Get a new GUID
|
||||
|
||||
@return String
|
||||
**/
|
||||
public static String generateUuidString() {
|
||||
return UUID.randomUUID().toString();
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,93 @@
|
||||
/** @file
|
||||
Java class CreateFdp is used to create a distributable package containing
|
||||
FDPManifest.xml file in its root directory.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.jar.*;
|
||||
|
||||
/**
|
||||
This class contains static method create to generate *.fdp format package.
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class CreateFdp {
|
||||
|
||||
/**
|
||||
recursively add contents under dir into output package.
|
||||
|
||||
@param dir The directory with files that will be put into package
|
||||
@param jos Stream used to create output package
|
||||
@param wkDir The position of source directory
|
||||
@throws Exception Any exception occurred during this process
|
||||
**/
|
||||
public static void create(File dir, JarOutputStream jos, String wkDir) throws Exception {
|
||||
|
||||
String[] list = dir.list();
|
||||
|
||||
try {
|
||||
byte[] buffer = new byte[1024];
|
||||
int bytesRead;
|
||||
|
||||
//
|
||||
// Loop through the file names provided.
|
||||
//
|
||||
for (int i = 0; i < list.length; i++) {
|
||||
|
||||
File f = new File(dir, list[i]);
|
||||
if (f.getName().equals("..")) {
|
||||
continue;
|
||||
}
|
||||
if (f.isDirectory()) {
|
||||
//
|
||||
// Call this method recursively for directory
|
||||
//
|
||||
CreateFdp.create(f, jos, wkDir);
|
||||
continue;
|
||||
}
|
||||
|
||||
try {
|
||||
//
|
||||
// Open the file
|
||||
//
|
||||
FileInputStream fis = new FileInputStream(f);
|
||||
|
||||
try {
|
||||
//
|
||||
// Create a Jar entry and add it, keep relative path only.
|
||||
//
|
||||
JarEntry entry = new JarEntry(f.getPath().substring(wkDir.length() + 1));
|
||||
jos.putNextEntry(entry);
|
||||
|
||||
//
|
||||
// Read the file and write it to the Jar.
|
||||
//
|
||||
while ((bytesRead = fis.read(buffer)) != -1) {
|
||||
jos.write(buffer, 0, bytesRead);
|
||||
}
|
||||
|
||||
System.out.println(entry.getName() + " added.");
|
||||
} catch (Exception ex) {
|
||||
System.out.println(ex);
|
||||
} finally {
|
||||
fis.close();
|
||||
}
|
||||
} catch (IOException ex) {
|
||||
System.out.println(ex);
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
System.out.println(dir.getPath() + " processed.");
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,315 @@
|
||||
/** @file
|
||||
Java class DbFileContents is used to deal with FrameworkDatabase.db file cotents.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.ListIterator;
|
||||
import java.util.Date;
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
import org.apache.xmlbeans.XmlCursor;
|
||||
import org.apache.xmlbeans.XmlObject;
|
||||
import org.apache.xmlbeans.XmlOptions;
|
||||
|
||||
import org.tianocore.*;
|
||||
|
||||
/**
|
||||
This class provides methods for add, remove, query FrameworkDatabase.db file.
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class DbFileContents {
|
||||
|
||||
///
|
||||
/// return values for various conditions.
|
||||
///
|
||||
static final int BASE_PACKAGE_NOT_INSTALLED = 1;
|
||||
|
||||
static final int VERSION_NOT_EQUAL = 2;
|
||||
|
||||
static final int GUID_NOT_EQUAL = 3;
|
||||
|
||||
static final int SAME_ALL = 4;
|
||||
|
||||
private File dbFile = null;
|
||||
|
||||
private FrameworkDatabaseDocument fdd = null;
|
||||
|
||||
private FrameworkDatabaseDocument.FrameworkDatabase fddRoot = null;
|
||||
|
||||
private PackageListDocument.PackageList pkgList = null;
|
||||
|
||||
public DbFileContents() {
|
||||
super();
|
||||
// TODO Auto-generated constructor stub
|
||||
}
|
||||
|
||||
/**
|
||||
Parse file f, store its xml data in fdd, store root xml element in fddRoot.
|
||||
|
||||
@param f DB file to parse
|
||||
**/
|
||||
public DbFileContents(File f) {
|
||||
try {
|
||||
dbFile = f;
|
||||
if (fdd == null) {
|
||||
fdd = ((FrameworkDatabaseDocument) XmlObject.Factory.parse(dbFile));
|
||||
}
|
||||
fddRoot = fdd.getFrameworkDatabase();
|
||||
} catch (Exception e) {
|
||||
System.out.println(e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Generate the Package element in FrameworkDatabase.db
|
||||
|
||||
@param baseName Base name of package
|
||||
@param ver Version of package
|
||||
@param guid GUID of package
|
||||
@param path Where the package installed
|
||||
@param installDate When the package installed
|
||||
**/
|
||||
public void genPackage (String baseName, String ver, String guid, String path, String installDate) {
|
||||
if (getPkgList() == null) {
|
||||
pkgList = fddRoot.addNewPackageList();
|
||||
}
|
||||
PackageListDocument.PackageList.Package p = pkgList.addNewPackage();
|
||||
p.addNewPackageName().setStringValue(baseName);
|
||||
p.addNewGuid().setStringValue(guid);
|
||||
p.addVersion(ver);
|
||||
p.addNewPath().setStringValue(path);
|
||||
p.addNewInstalledDate().setStringValue(installDate);
|
||||
}
|
||||
|
||||
/**
|
||||
Get PackageList
|
||||
|
||||
@return PackageListDocument.PackageList
|
||||
**/
|
||||
public PackageListDocument.PackageList getPkgList() {
|
||||
if (pkgList == null) {
|
||||
pkgList = fddRoot.getPackageList();
|
||||
}
|
||||
return pkgList;
|
||||
}
|
||||
|
||||
/**
|
||||
Remove PackageList and all elements under it.
|
||||
**/
|
||||
public void removePackageList() {
|
||||
XmlObject o = fddRoot.getPackageList();
|
||||
if (o == null)
|
||||
return;
|
||||
XmlCursor cursor = o.newCursor();
|
||||
cursor.removeXml();
|
||||
}
|
||||
/**
|
||||
Get the number of Package elements.
|
||||
|
||||
@return int
|
||||
**/
|
||||
public int getPackageCount () {
|
||||
return fddRoot.getPackageList().getPackageList().size();
|
||||
}
|
||||
|
||||
/**
|
||||
Get all Package contents into String array
|
||||
|
||||
@param pkg Two dimentional array to store Package info.
|
||||
**/
|
||||
public void getPackageList(String[][] pkg) {
|
||||
List<PackageListDocument.PackageList.Package> l = fddRoot.getPackageList().getPackageList();
|
||||
int i = 0;
|
||||
ListIterator li = l.listIterator();
|
||||
while (li.hasNext()) {
|
||||
PackageListDocument.PackageList.Package p = (PackageListDocument.PackageList.Package) li
|
||||
.next();
|
||||
if (p.getPackageNameArray(0)!= null) {
|
||||
pkg[i][0] = p.getPackageNameArray(0).getStringValue();
|
||||
}
|
||||
|
||||
pkg[i][1] = p.getVersionArray(0);
|
||||
|
||||
if (p.getGuidArray(0) != null) {
|
||||
pkg[i][2] = p.getGuidArray(0).getStringValue();
|
||||
}
|
||||
if (p.getPathArray(0) != null) {
|
||||
pkg[i][3] = p.getPathArray(0).getStringValue();
|
||||
}
|
||||
if (p.getInstalledDateArray(0) != null) {
|
||||
pkg[i][4] = p.getInstalledDateArray(0);
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
/**
|
||||
Check whether destDir has been used by one Package
|
||||
|
||||
@param destDir The directory to check.
|
||||
@retval <1> destDir has been used
|
||||
@retval <0> destDir has not been used
|
||||
@return int
|
||||
**/
|
||||
public int checkDir(String destDir) {
|
||||
List<PackageListDocument.PackageList.Package> lp = fddRoot.getPackageList().getPackageList();
|
||||
|
||||
ListIterator lpi = lp.listIterator();
|
||||
while (lpi.hasNext()) {
|
||||
PackageListDocument.PackageList.Package p = (PackageListDocument.PackageList.Package) lpi.next();
|
||||
if (p.getPathArray(0).getStringValue().equals(destDir)) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
Find the package info. and store results into list of same base name or list
|
||||
of same version.
|
||||
|
||||
@param base The base name of package
|
||||
@param version The version of package
|
||||
@param guid the GUID of package
|
||||
@param lpSameBase The list to store package info with the same base name with "base"
|
||||
@param lpSameVersion The list to store package info from lpSameBase and same version
|
||||
with "version"
|
||||
@retval <0> No package installed has base name "base"
|
||||
@retval <VERSION_NOT_EQUAL> At least one package installed with "base" but no "version"
|
||||
@retval <GUID_NOT_EQUAL> At least one package installed with "base" and "version" but no "guid"
|
||||
@retval <SAME_ALL> One installed package has the same base, version and guid
|
||||
@return int
|
||||
**/
|
||||
public int query(String base, String version, String guid,
|
||||
List<PackageListDocument.PackageList.Package> lpSameBase,
|
||||
List<PackageListDocument.PackageList.Package> lpSameVersion) {
|
||||
|
||||
List<PackageListDocument.PackageList.Package> lp = fddRoot.getPackageList().getPackageList();
|
||||
|
||||
ListIterator lpi = lp.listIterator();
|
||||
while (lpi.hasNext()) {
|
||||
PackageListDocument.PackageList.Package p = (PackageListDocument.PackageList.Package) lpi.next();
|
||||
if (p.getPackageNameArray(0).getStringValue().equals(base)) {
|
||||
lpSameBase.add(p);
|
||||
}
|
||||
}
|
||||
|
||||
if (lpSameBase.size() == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (ListIterator li = lpSameBase.listIterator(); li.hasNext();) {
|
||||
PackageListDocument.PackageList.Package p = (PackageListDocument.PackageList.Package) li.next();
|
||||
if (p.getVersionArray(0).equals(version)) {
|
||||
lpSameVersion.add(p);
|
||||
}
|
||||
}
|
||||
|
||||
if (lpSameVersion.size() == 0) {
|
||||
return VERSION_NOT_EQUAL;
|
||||
}
|
||||
|
||||
for (ListIterator li = lpSameVersion.listIterator(); li.hasNext();) {
|
||||
PackageListDocument.PackageList.Package p = (PackageListDocument.PackageList.Package) li.next();
|
||||
if (!p.getGuidArray(0).getStringValue().equals(guid)) {
|
||||
return GUID_NOT_EQUAL;
|
||||
}
|
||||
}
|
||||
|
||||
return SAME_ALL;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
Update package info (name, version, guid) with installDir, newVer, newGuid.
|
||||
And update install date with current date. if no package info available, add
|
||||
a new entry.
|
||||
|
||||
@param name Original base name
|
||||
@param version Original version
|
||||
@param guid Original GUID
|
||||
@param installDir original path
|
||||
@param newVer Version value of package to be installed
|
||||
@param newGuid GUID value of package to be installed
|
||||
@throws IOException Exception during file operation
|
||||
**/
|
||||
public void updatePkgInfo(String name, String version, String guid, String installDir, String newVer, String newGuid)
|
||||
throws IOException {
|
||||
List<PackageListDocument.PackageList.Package> lp = fddRoot.getPackageList().getPackageList();
|
||||
|
||||
ListIterator lpi = lp.listIterator();
|
||||
while (lpi.hasNext()) {
|
||||
PackageListDocument.PackageList.Package p = (PackageListDocument.PackageList.Package) lpi.next();
|
||||
if (p.getPackageNameArray(0).getStringValue().equals(name)) {
|
||||
if (p.getVersionArray(0).equals(version)) {
|
||||
if (p.getGuidArray(0).getStringValue().equals(guid)) {
|
||||
p.setVersionArray(0, newVer);
|
||||
p.getGuidArray(0).setStringValue(newGuid);
|
||||
p.getPathArray(0).setStringValue(installDir);
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
|
||||
Date date = new Date();
|
||||
p.setInstalledDateArray(0, format.format(date));
|
||||
saveAs();
|
||||
return;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
addNewPkgInfo(name, newVer, newGuid, installDir);
|
||||
}
|
||||
|
||||
/**
|
||||
Add one new package entry.
|
||||
|
||||
@param name Package base name
|
||||
@param version Package version
|
||||
@param guid Package Guid
|
||||
@param installDir Package path
|
||||
@throws IOException Exception during file operation
|
||||
**/
|
||||
public void addNewPkgInfo(String name, String version, String guid, String installDir) throws IOException {
|
||||
|
||||
PackageListDocument.PackageList.Package p = fddRoot.getPackageList().addNewPackage();
|
||||
p.addNewPackageName().setStringValue(name);
|
||||
p.addNewGuid().setStringValue(guid);
|
||||
p.addNewVersion().setStringValue(version);
|
||||
p.addNewPath().setStringValue(installDir);
|
||||
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
|
||||
Date date = new Date();
|
||||
p.addNewInstalledDate().setStringValue(format.format(date));
|
||||
saveAs();
|
||||
}
|
||||
|
||||
/**
|
||||
Save the fdd into file with format options
|
||||
**/
|
||||
public void saveAs() {
|
||||
XmlOptions options = new XmlOptions();
|
||||
|
||||
options.setCharacterEncoding("UTF-8");
|
||||
options.setSavePrettyPrint();
|
||||
options.setSavePrettyPrintIndent(2);
|
||||
try {
|
||||
fdd.save(dbFile, options);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,80 @@
|
||||
/** @file
|
||||
Java class ForceInstallPkg is used to install a package without DB check.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.jar.*;
|
||||
import org.apache.xmlbeans.XmlException;
|
||||
|
||||
/**
|
||||
Derived class from FrameworkPkg, installation skipping some checks.
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class ForceInstallPkg extends FrameworkPkg {
|
||||
|
||||
private String oldVer = null;
|
||||
|
||||
private String oldGuid = null;
|
||||
|
||||
/**
|
||||
Constructor with parameters
|
||||
|
||||
@param s Package path to be installed
|
||||
@param d Destination directory
|
||||
**/
|
||||
public ForceInstallPkg(String s, String d) {
|
||||
super(s, d);
|
||||
|
||||
}
|
||||
|
||||
public void setOldVersion(String v) {
|
||||
oldVer = v;
|
||||
}
|
||||
|
||||
public void setOldGuid(String guid) {
|
||||
oldGuid = guid;
|
||||
}
|
||||
|
||||
/**
|
||||
Set jar file to package name to be installed
|
||||
**/
|
||||
protected void pre_install() throws DirSame, IOException {
|
||||
setJf(new JarFile(getPkg()));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
Update database file contents after install
|
||||
**/
|
||||
protected void post_install() throws IOException, XmlException {
|
||||
//
|
||||
// Get package info. from FDPManifest.xml file
|
||||
//
|
||||
setJf(new JarFile(getPkg()));
|
||||
ManifestContents manFile = new ManifestContents(getManifestInputStream(getJf()));
|
||||
setBName(manFile.getBaseName());
|
||||
setPVer(manFile.getVersion());
|
||||
setPGuid(manFile.getGuid());
|
||||
getJf().close();
|
||||
|
||||
//
|
||||
// Add force installed package info. into database file
|
||||
//
|
||||
setDbFile(new File(getWkSpace() + System.getProperty("file.separator") + FrameworkPkg.dbConfigFile));
|
||||
setDfc(new DbFileContents(new File(getWkSpace() + System.getProperty("file.separator") + dbConfigFile)));
|
||||
getDfc().updatePkgInfo(getBName(), oldVer, oldGuid, getWkDir().substring(getWkSpace().length() + 1), getPVer(),
|
||||
getPGuid());
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,402 @@
|
||||
/** @file
|
||||
Java class FrameworkPkg is used to do package related operations.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.Enumeration;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.jar.*;
|
||||
import org.apache.xmlbeans.*;
|
||||
|
||||
import org.tianocore.PackageListDocument;
|
||||
|
||||
/**
|
||||
This class deals with package related operations
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class FrameworkPkg {
|
||||
|
||||
private String pkg = null;
|
||||
|
||||
private JarFile jf = null;
|
||||
|
||||
///
|
||||
/// where the package will be extracted to
|
||||
///
|
||||
private String wkDir = null;
|
||||
|
||||
private String bName = null;
|
||||
|
||||
private String pVer = null;
|
||||
|
||||
private String pGuid = null;
|
||||
|
||||
///
|
||||
/// current WORKSPACE location
|
||||
///
|
||||
private String wkSpace = null;
|
||||
|
||||
private File dbFile = null;
|
||||
|
||||
private DbFileContents dfc = null;
|
||||
|
||||
///
|
||||
/// relative path of FrameworkDatabase.db file
|
||||
///
|
||||
final static String dbConfigFile = "Tools" + System.getProperty("file.separator") + "Conf"
|
||||
+ System.getProperty("file.separator") + "FrameworkDatabase.db";
|
||||
|
||||
|
||||
public FrameworkPkg() {
|
||||
|
||||
}
|
||||
|
||||
public FrameworkPkg(String package_name, String work_space) {
|
||||
pkg = package_name;
|
||||
wkSpace = work_space;
|
||||
}
|
||||
|
||||
/**
|
||||
install package (*.fdp file) to dir
|
||||
|
||||
@param dir Destination directory
|
||||
@retval <0> Install successfully
|
||||
@return int
|
||||
@throws IOException
|
||||
@throws XmlException Xml file exception
|
||||
@throws DirSame One package already installed to dir
|
||||
@throws BasePkgNotInstalled Some package must be installed first
|
||||
@throws VerNotEqual At least one package info with same base name but version different
|
||||
@throws GuidNotEqual At least one package info with same base name and version but guid different
|
||||
@throws SameAll At least one package info with same base name, version and guid same
|
||||
**/
|
||||
public int install(final String dir) throws IOException, XmlException, DirSame, BasePkgNotInstalled, VerNotEqual,
|
||||
GuidNotEqual, SameAll {
|
||||
wkDir = dir;
|
||||
pre_install();
|
||||
extract(wkDir);
|
||||
post_install();
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int uninstall() {
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
Check package info. against Frameworkdatabase.db
|
||||
|
||||
@throws IOException
|
||||
@throws XmlException Xml file exception
|
||||
@throws DirSame One package already installed to dir
|
||||
@throws BasePkgNotInstalled Some package must be installed first
|
||||
@throws VerNotEqual At least one package info with same base name but version different
|
||||
@throws GuidNotEqual At least one package info with same base name and version but guid different
|
||||
@throws SameAll At least one package info with same base name, version and guid same
|
||||
**/
|
||||
protected void pre_install() throws IOException, XmlException, DirSame, BasePkgNotInstalled, VerNotEqual,
|
||||
GuidNotEqual, SameAll {
|
||||
|
||||
jf = new JarFile(pkg);
|
||||
|
||||
ManifestContents manFile = new ManifestContents(getManifestInputStream(jf));
|
||||
|
||||
String baseName = manFile.getBaseName();
|
||||
String pkgVersion = manFile.getVersion();
|
||||
String pkgGuid = manFile.getGuid();
|
||||
bName = baseName;
|
||||
pVer = pkgVersion;
|
||||
pGuid = pkgGuid;
|
||||
|
||||
if (dbFile == null) {
|
||||
dbFile = new File(wkSpace + System.getProperty("file.separator") + dbConfigFile);
|
||||
}
|
||||
//
|
||||
// the db file should exist if base packages have been installed
|
||||
//
|
||||
if (!dbFile.exists()) {
|
||||
throw new BasePkgNotInstalled();
|
||||
}
|
||||
|
||||
if (dfc == null) {
|
||||
dfc = new DbFileContents(dbFile);
|
||||
}
|
||||
if (dfc.checkDir(wkDir) != 0) {
|
||||
throw new DirSame();
|
||||
}
|
||||
|
||||
//
|
||||
// Get database info into lists
|
||||
//
|
||||
List<PackageListDocument.PackageList.Package> lpSameBase = new LinkedList<PackageListDocument.PackageList.Package>();
|
||||
List<PackageListDocument.PackageList.Package> lpSameVersion = new LinkedList<PackageListDocument.PackageList.Package>();
|
||||
int i = dfc.query(baseName, pkgVersion, pkgGuid, lpSameBase, lpSameVersion);
|
||||
|
||||
//
|
||||
// throw various kind of exceptions according to query return value.
|
||||
//
|
||||
if (i == DbFileContents.VERSION_NOT_EQUAL) {
|
||||
|
||||
jf.close();
|
||||
throw new VerNotEqual(lpSameBase);
|
||||
}
|
||||
if (i == DbFileContents.GUID_NOT_EQUAL) {
|
||||
|
||||
jf.close();
|
||||
throw new GuidNotEqual(lpSameVersion);
|
||||
}
|
||||
if (i == DbFileContents.SAME_ALL) {
|
||||
jf.close();
|
||||
throw new SameAll(lpSameVersion);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
Add package info into db file.
|
||||
|
||||
@throws IOException
|
||||
@throws XmlException
|
||||
**/
|
||||
protected void post_install() throws IOException, XmlException {
|
||||
|
||||
dfc.addNewPkgInfo(bName, pVer, pGuid, wkDir.substring(wkSpace.length() + 1));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
Extract package to dir
|
||||
|
||||
@param dir Destination directory
|
||||
@throws DirSame
|
||||
@throws IOException
|
||||
**/
|
||||
private void extract(String dir) throws DirSame, IOException {
|
||||
|
||||
new File(dir).mkdirs();
|
||||
dir += System.getProperty("file.separator");
|
||||
try {
|
||||
for (Enumeration e = jf.entries(); e.hasMoreElements();) {
|
||||
JarEntry je = (JarEntry) e.nextElement();
|
||||
|
||||
//
|
||||
// jar entry contains directory only, make these directories
|
||||
//
|
||||
if (je.isDirectory()) {
|
||||
new File(dir + je.getName()).mkdirs();
|
||||
continue;
|
||||
}
|
||||
|
||||
//
|
||||
// jar entry contains relative path and file name, make relative directories
|
||||
// under destination dir
|
||||
//
|
||||
int index = je.getName().lastIndexOf(System.getProperty("file.separator"));
|
||||
if (index != -1) {
|
||||
String dirPath = je.getName().substring(0, index);
|
||||
new File(dir + dirPath).mkdirs();
|
||||
}
|
||||
|
||||
if (je != null) {
|
||||
//
|
||||
// Get an input stream for this entry.
|
||||
//
|
||||
InputStream entryStream = jf.getInputStream(je);
|
||||
|
||||
try {
|
||||
//
|
||||
// Create the output file (clobbering the file if it exists).
|
||||
//
|
||||
FileOutputStream file = new FileOutputStream(dir + je.getName());
|
||||
|
||||
try {
|
||||
|
||||
byte[] buffer = new byte[1024];
|
||||
int bytesRead;
|
||||
//
|
||||
// Read the entry data and write it to the output file.
|
||||
//
|
||||
while ((bytesRead = entryStream.read(buffer)) != -1) {
|
||||
file.write(buffer, 0, bytesRead);
|
||||
}
|
||||
|
||||
System.out.println(je.getName() + " extracted.");
|
||||
} finally {
|
||||
file.close();
|
||||
}
|
||||
} finally {
|
||||
entryStream.close();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} finally {
|
||||
jf.close();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public String getBName() {
|
||||
return bName;
|
||||
}
|
||||
|
||||
public void setBName(String name) {
|
||||
bName = name;
|
||||
}
|
||||
|
||||
public File getDbFile() {
|
||||
return dbFile;
|
||||
}
|
||||
|
||||
public void setDbFile(File dbFile) {
|
||||
this.dbFile = dbFile;
|
||||
}
|
||||
|
||||
public DbFileContents getDfc() {
|
||||
return dfc;
|
||||
}
|
||||
|
||||
public void setDfc(DbFileContents dfc) {
|
||||
this.dfc = dfc;
|
||||
}
|
||||
|
||||
public String getPGuid() {
|
||||
return pGuid;
|
||||
}
|
||||
|
||||
public void setPGuid(String guid) {
|
||||
pGuid = guid;
|
||||
}
|
||||
|
||||
public String getPVer() {
|
||||
return pVer;
|
||||
}
|
||||
|
||||
public void setPVer(String ver) {
|
||||
pVer = ver;
|
||||
}
|
||||
|
||||
public String getWkDir() {
|
||||
return wkDir;
|
||||
}
|
||||
|
||||
public void setWkDir(String wkDir) {
|
||||
this.wkDir = wkDir;
|
||||
}
|
||||
|
||||
public String getWkSpace() {
|
||||
return wkSpace;
|
||||
}
|
||||
|
||||
public void setWkSpace(String wkSpace) {
|
||||
this.wkSpace = wkSpace;
|
||||
}
|
||||
|
||||
public JarFile getJf() {
|
||||
return jf;
|
||||
}
|
||||
|
||||
public void setJf(JarFile jf) {
|
||||
this.jf = jf;
|
||||
}
|
||||
|
||||
public String getPkg() {
|
||||
return pkg;
|
||||
}
|
||||
|
||||
public void setPkg(String pkg) {
|
||||
this.pkg = pkg;
|
||||
}
|
||||
|
||||
/**
|
||||
Get the input stream of FDPManifest.xml file from jar entry
|
||||
|
||||
@param jf The Jar file that contains FDPManifest.xml file
|
||||
@return InputStream
|
||||
@throws IOException
|
||||
**/
|
||||
protected InputStream getManifestInputStream(JarFile jf) throws IOException {
|
||||
JarEntry je = null;
|
||||
for (Enumeration e = jf.entries(); e.hasMoreElements();) {
|
||||
je = (JarEntry) e.nextElement();
|
||||
if (je.getName().contains("FDPManifest.xml"))
|
||||
return jf.getInputStream(je);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Various Exception classes for what happened when database info and package info
|
||||
are compared.
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
class DirSame extends Exception {
|
||||
final static long serialVersionUID = 0;
|
||||
}
|
||||
|
||||
class BasePkgNotInstalled extends Exception {
|
||||
final static long serialVersionUID = 0;
|
||||
}
|
||||
|
||||
class VerNotEqual extends Exception {
|
||||
final static long serialVersionUID = 0;
|
||||
|
||||
//private String version = null;
|
||||
List<PackageListDocument.PackageList.Package> lppSameBase = null;
|
||||
|
||||
VerNotEqual(List<PackageListDocument.PackageList.Package> ver) {
|
||||
lppSameBase = ver;
|
||||
}
|
||||
|
||||
public List<PackageListDocument.PackageList.Package> getVersion() {
|
||||
return lppSameBase;
|
||||
}
|
||||
}
|
||||
|
||||
class GuidNotEqual extends Exception {
|
||||
final static long serialVersionUID = 0;
|
||||
|
||||
private List<PackageListDocument.PackageList.Package> lppSameVer = null;
|
||||
|
||||
GuidNotEqual(List<PackageListDocument.PackageList.Package> ver) {
|
||||
lppSameVer = ver;
|
||||
}
|
||||
|
||||
public List<PackageListDocument.PackageList.Package> getGuid() {
|
||||
return lppSameVer;
|
||||
}
|
||||
}
|
||||
|
||||
class SameAll extends Exception {
|
||||
final static long serialVersionUID = 0;
|
||||
|
||||
private List<PackageListDocument.PackageList.Package> version = null;
|
||||
|
||||
SameAll(List<PackageListDocument.PackageList.Package> ver) {
|
||||
version = ver;
|
||||
}
|
||||
|
||||
public List<PackageListDocument.PackageList.Package> getVersion() {
|
||||
return version;
|
||||
}
|
||||
}
|
@@ -0,0 +1,804 @@
|
||||
/** @file
|
||||
Java class GuiPkgInstall is GUI for package installation.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFileChooser;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JTextField;
|
||||
|
||||
import java.awt.Dimension;
|
||||
import java.awt.GridLayout;
|
||||
import java.awt.Toolkit;
|
||||
|
||||
import java.awt.FlowLayout;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.MouseListener;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
|
||||
import java.awt.ComponentOrientation;
|
||||
import java.io.File;
|
||||
import java.util.Hashtable;
|
||||
|
||||
import javax.swing.SwingConstants;
|
||||
import javax.swing.JProgressBar;
|
||||
import javax.swing.filechooser.FileFilter;
|
||||
|
||||
import org.apache.xmlbeans.XmlException;
|
||||
|
||||
|
||||
/**
|
||||
GUI for package installation.
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class GuiPkgInstall extends JFrame implements MouseListener {
|
||||
|
||||
final static long serialVersionUID = 0;
|
||||
|
||||
static JFrame frame;
|
||||
|
||||
///
|
||||
/// backup of "this". As we cannot use "this" to refer outer class inside inner class
|
||||
///
|
||||
private JFrame pThis = null;
|
||||
|
||||
private JFileChooser chooser = null;
|
||||
|
||||
private JPanel jPanel = null;
|
||||
|
||||
private JPanel jPanel1 = null;
|
||||
|
||||
private JTextField jTextField = null;
|
||||
|
||||
private JButton jButton = null;
|
||||
|
||||
private JPanel jPanel2 = null;
|
||||
|
||||
private JLabel jLabel1 = null;
|
||||
|
||||
private JPanel jPanel4 = null;
|
||||
|
||||
private JTextField jTextField1 = null;
|
||||
|
||||
private JButton jButton1 = null;
|
||||
|
||||
private JPanel jPanel5 = null;
|
||||
|
||||
private JPanel jPanel6 = null;
|
||||
|
||||
private JPanel jPanel7 = null;
|
||||
|
||||
private JLabel jLabel2 = null;
|
||||
|
||||
private JTextField jTextField2 = null;
|
||||
|
||||
private JButton jButton2 = null;
|
||||
|
||||
private JButton jButton3 = null;
|
||||
|
||||
private JPanel jPanel3 = null;
|
||||
|
||||
private JLabel jLabel = null;
|
||||
|
||||
private JProgressBar jProgressBar = null;
|
||||
|
||||
private JButton jButton4 = null;
|
||||
|
||||
|
||||
public GuiPkgInstall() {
|
||||
super();
|
||||
initialize();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
GUI initialization
|
||||
**/
|
||||
private void initialize() {
|
||||
this.setSize(new java.awt.Dimension(454, 313));
|
||||
this.setContentPane(getJPanel());
|
||||
this.setTitle("Package Installation");
|
||||
this.addWindowListener(new GuiPkgInstallAdapter(this));
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
|
||||
this.centerWindow();
|
||||
pThis = this;
|
||||
}
|
||||
|
||||
/**
|
||||
make window appear center of screen
|
||||
|
||||
@param intWidth
|
||||
@param intHeight
|
||||
**/
|
||||
protected void centerWindow(int intWidth, int intHeight) {
|
||||
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
|
||||
this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
**/
|
||||
protected void centerWindow() {
|
||||
centerWindow(this.getSize().width, this.getSize().height);
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jPanel
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJPanel() {
|
||||
if (jPanel == null) {
|
||||
GridLayout gridLayout = new GridLayout();
|
||||
gridLayout.setRows(7);
|
||||
gridLayout.setColumns(1);
|
||||
jPanel = new JPanel();
|
||||
jPanel.setLayout(gridLayout);
|
||||
jPanel.add(getJPanel3(), null);
|
||||
jPanel.add(getJPanel1(), null);
|
||||
jPanel.add(getJPanel2(), null);
|
||||
jPanel.add(getJPanel4(), null);
|
||||
jPanel.add(getJPanel5(), null);
|
||||
jPanel.add(getJPanel6(), null);
|
||||
jPanel.add(getJPanel7(), null);
|
||||
}
|
||||
return jPanel;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jPanel1
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJPanel1() {
|
||||
if (jPanel1 == null) {
|
||||
FlowLayout flowLayout = new FlowLayout();
|
||||
flowLayout.setAlignment(java.awt.FlowLayout.LEFT);
|
||||
jPanel1 = new JPanel();
|
||||
jPanel1.setLayout(flowLayout);
|
||||
jPanel1.add(getJTextField(), null);
|
||||
jPanel1.add(getJButton(), null);
|
||||
}
|
||||
return jPanel1;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextField
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextField() {
|
||||
if (jTextField == null) {
|
||||
jTextField = new JTextField();
|
||||
jTextField.setHorizontalAlignment(javax.swing.JTextField.LEFT);
|
||||
jTextField.setPreferredSize(new java.awt.Dimension(350, 20));
|
||||
}
|
||||
return jTextField;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton() {
|
||||
if (jButton == null) {
|
||||
jButton = new JButton();
|
||||
jButton.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
|
||||
jButton.setText("Browse");
|
||||
jButton.setComponentOrientation(java.awt.ComponentOrientation.LEFT_TO_RIGHT);
|
||||
jButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
|
||||
jButton.setToolTipText("Where is the package?");
|
||||
jButton.setFont(new java.awt.Font("Dialog", java.awt.Font.BOLD, 12));
|
||||
|
||||
jButton.setPreferredSize(new java.awt.Dimension(80, 20));
|
||||
jButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
if (chooser == null) {
|
||||
chooser = new JFileChooser();
|
||||
}
|
||||
//
|
||||
// disable multi-selection, you can only select one item each time.
|
||||
//
|
||||
chooser.setMultiSelectionEnabled(false);
|
||||
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
|
||||
chooser.setFileFilter(new PkgFileFilter("fdp"));
|
||||
int retval = chooser.showOpenDialog(frame);
|
||||
if (retval == JFileChooser.APPROVE_OPTION) {
|
||||
|
||||
File theFile = chooser.getSelectedFile();
|
||||
jTextField.setText(theFile.getPath());
|
||||
//
|
||||
// set a default directory for installation (WORKSPACE\PackageFileName)
|
||||
//
|
||||
if (jTextField1.getText().length() > 0) {
|
||||
int indexbegin = jTextField.getText().lastIndexOf(System.getProperty("file.separator"));
|
||||
int indexend = jTextField.getText().lastIndexOf('.');
|
||||
if (indexbegin >= 0 && indexend >= 0) {
|
||||
jTextField2.setText(jTextField1.getText()
|
||||
+ jTextField.getText().substring(indexbegin, indexend));
|
||||
} else {
|
||||
JOptionPane.showMessageDialog(frame, "Wrong Path:" + jTextField.getText());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jPanel2
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJPanel2() {
|
||||
if (jPanel2 == null) {
|
||||
FlowLayout flowLayout1 = new FlowLayout();
|
||||
flowLayout1.setAlignment(java.awt.FlowLayout.LEFT);
|
||||
flowLayout1.setVgap(20);
|
||||
jLabel1 = new JLabel();
|
||||
jLabel1.setText("Enter Workspace Location");
|
||||
jLabel1.setComponentOrientation(java.awt.ComponentOrientation.UNKNOWN);
|
||||
jLabel1.setHorizontalTextPosition(javax.swing.SwingConstants.TRAILING);
|
||||
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
|
||||
jPanel2 = new JPanel();
|
||||
jPanel2.setLayout(flowLayout1);
|
||||
jPanel2.add(jLabel1, null);
|
||||
}
|
||||
return jPanel2;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jPanel4
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJPanel4() {
|
||||
if (jPanel4 == null) {
|
||||
FlowLayout flowLayout2 = new FlowLayout();
|
||||
flowLayout2.setAlignment(java.awt.FlowLayout.LEFT);
|
||||
jPanel4 = new JPanel();
|
||||
jPanel4.setLayout(flowLayout2);
|
||||
jPanel4.add(getJTextField1(), null);
|
||||
jPanel4.add(getJButton1(), null);
|
||||
}
|
||||
return jPanel4;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextField1
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextField1() {
|
||||
if (jTextField1 == null) {
|
||||
jTextField1 = new JTextField();
|
||||
jTextField1.setPreferredSize(new java.awt.Dimension(350, 20));
|
||||
|
||||
}
|
||||
//
|
||||
// default value is WORKSPACE environmental variable value
|
||||
//
|
||||
jTextField1.setText(System.getenv("WORKSPACE"));
|
||||
return jTextField1;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton1
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton1() {
|
||||
if (jButton1 == null) {
|
||||
jButton1 = new JButton();
|
||||
jButton1.setComponentOrientation(java.awt.ComponentOrientation.LEFT_TO_RIGHT);
|
||||
|
||||
jButton1.setHorizontalAlignment(javax.swing.SwingConstants.LEADING);
|
||||
jButton1.setHorizontalTextPosition(javax.swing.SwingConstants.TRAILING);
|
||||
jButton1.setText("Browse");
|
||||
jButton1.setPreferredSize(new java.awt.Dimension(80, 20));
|
||||
jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
if (chooser == null) {
|
||||
chooser = new JFileChooser();
|
||||
}
|
||||
//
|
||||
// only directories can be selected for workspace location.
|
||||
//
|
||||
chooser.setMultiSelectionEnabled(false);
|
||||
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
|
||||
|
||||
int retval = chooser.showOpenDialog(frame);
|
||||
if (retval == JFileChooser.APPROVE_OPTION) {
|
||||
|
||||
File theFile = chooser.getSelectedFile();
|
||||
jTextField1.setText(theFile.getPath());
|
||||
//
|
||||
// set a default directory for installation (WORKSPACE\PackageFileName)
|
||||
//
|
||||
if (jTextField.getText().length() > 0) {
|
||||
int indexbegin = jTextField.getText().lastIndexOf(System.getProperty("file.separator"));
|
||||
int indexend = jTextField.getText().lastIndexOf('.');
|
||||
if (indexbegin >= 0 && indexend >= 0) {
|
||||
jTextField2.setText(jTextField1.getText()
|
||||
+ jTextField.getText().substring(indexbegin, indexend));
|
||||
} else {
|
||||
JOptionPane.showMessageDialog(frame, "Wrong Path:" + jTextField.getText());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton1;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton4
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton4() {
|
||||
if (jButton4 == null) {
|
||||
jButton4 = new JButton();
|
||||
jButton4.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
|
||||
|
||||
jButton4.setHorizontalAlignment(SwingConstants.LEADING);
|
||||
jButton4.setHorizontalTextPosition(SwingConstants.TRAILING);
|
||||
jButton4.setText("Browse");
|
||||
jButton4.setPreferredSize(new Dimension(80, 20));
|
||||
jButton4.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
JFileChooser chooser = new JFileChooser(jTextField1.getText());
|
||||
|
||||
chooser.setMultiSelectionEnabled(false);
|
||||
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
|
||||
|
||||
int retval = chooser.showOpenDialog(frame);
|
||||
if (retval == JFileChooser.APPROVE_OPTION) {
|
||||
//
|
||||
// specify installation directory from file chooser
|
||||
//
|
||||
File theFile = chooser.getSelectedFile();
|
||||
jTextField2.setText(theFile.getPath());
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
return jButton4;
|
||||
}
|
||||
/**
|
||||
This method initializes jPanel5
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJPanel5() {
|
||||
if (jPanel5 == null) {
|
||||
FlowLayout flowLayout3 = new FlowLayout();
|
||||
flowLayout3.setAlignment(java.awt.FlowLayout.LEFT);
|
||||
flowLayout3.setVgap(20);
|
||||
jLabel2 = new JLabel();
|
||||
jLabel2.setComponentOrientation(java.awt.ComponentOrientation.UNKNOWN);
|
||||
jLabel2.setHorizontalTextPosition(javax.swing.SwingConstants.TRAILING);
|
||||
jLabel2.setText("Enter Installation Location Within Workspace");
|
||||
jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
|
||||
jPanel5 = new JPanel();
|
||||
jPanel5.setLayout(flowLayout3);
|
||||
jPanel5.add(jLabel2, null);
|
||||
}
|
||||
return jPanel5;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jPanel6
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJPanel6() {
|
||||
if (jPanel6 == null) {
|
||||
FlowLayout flowLayout4 = new FlowLayout();
|
||||
flowLayout4.setAlignment(java.awt.FlowLayout.LEFT);
|
||||
jPanel6 = new JPanel();
|
||||
jPanel6.setLayout(flowLayout4);
|
||||
jPanel6.add(getJTextField2(), null);
|
||||
jPanel6.add(getJButton4(), null);
|
||||
}
|
||||
return jPanel6;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jPanel7
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJPanel7() {
|
||||
if (jPanel7 == null) {
|
||||
FlowLayout flowLayout5 = new FlowLayout();
|
||||
flowLayout5.setAlignment(java.awt.FlowLayout.RIGHT);
|
||||
jPanel7 = new JPanel();
|
||||
jPanel7.setLayout(flowLayout5);
|
||||
jPanel7.add(getJProgressBar(), null);
|
||||
jPanel7.add(getJButton2(), null);
|
||||
jPanel7.add(getJButton3(), null);
|
||||
}
|
||||
return jPanel7;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextField2
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextField2() {
|
||||
if (jTextField2 == null) {
|
||||
jTextField2 = new JTextField();
|
||||
jTextField2.setPreferredSize(new java.awt.Dimension(350, 20));
|
||||
}
|
||||
return jTextField2;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton2
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton2() {
|
||||
if (jButton2 == null) {
|
||||
jButton2 = new JButton();
|
||||
jButton2.setPreferredSize(new java.awt.Dimension(80, 20));
|
||||
jButton2.setText("Ok");
|
||||
jButton2.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
try {
|
||||
//
|
||||
// The installation directory must under workspace directory
|
||||
//
|
||||
locationcheck(jTextField.getText(), jTextField1.getText(), jTextField2.getText());
|
||||
} catch (Exception ee) {
|
||||
JOptionPane.showMessageDialog(frame, "Package Location Error!");
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
//
|
||||
// create a new FrameworkPkg object with user-selected package, current workspace location.
|
||||
// install the package to dest dir from jTextField2
|
||||
//
|
||||
int i = new FrameworkPkg(jTextField.getText(), jTextField1.getText())
|
||||
.install(jTextField2
|
||||
.getText());
|
||||
//
|
||||
// the package is installed smoothly
|
||||
//
|
||||
if (i == 0) {
|
||||
JOptionPane.showMessageDialog(frame, "Package" + jTextField.getText()
|
||||
+ " Installed Successfully!");
|
||||
}
|
||||
} catch (BasePkgNotInstalled bpni) {
|
||||
//
|
||||
// exception no base package installed
|
||||
//
|
||||
JOptionPane
|
||||
.showMessageDialog(frame,
|
||||
"The Edk package needs to be installed before installing any other packages.");
|
||||
} catch (VerNotEqual vne) {
|
||||
//
|
||||
// show modal GUI PkgInstallTypeChooser with user selected package name,
|
||||
// current workspace location and the list of package info with same base name
|
||||
//
|
||||
ModalFrameUtil.showAsModal(new PkgInstallTypeChooser(jTextField.getText(),
|
||||
jTextField1.getText(), vne.getVersion()),
|
||||
pThis);
|
||||
|
||||
} catch (GuidNotEqual gne) {
|
||||
//
|
||||
// show modal GUI PkgInstallTypeChooser with user selected package name,
|
||||
// current workspace location and the list of package info with same base name and version
|
||||
//
|
||||
ModalFrameUtil.showAsModal(new PkgInstallTypeChooser(jTextField.getText(),
|
||||
jTextField1.getText(), gne.getGuid()),
|
||||
pThis);
|
||||
|
||||
} catch (SameAll sa) {
|
||||
//
|
||||
// the package with same (base, version, guid) already exists. confirm user action.
|
||||
// quit or replace the original info. (So only one package info entry in db file that may be triple same)
|
||||
//
|
||||
int retVal = JOptionPane
|
||||
.showConfirmDialog(
|
||||
frame,
|
||||
"Package already exists. Would you like to replace it?",
|
||||
"Package Installation", JOptionPane.YES_NO_OPTION);
|
||||
if (retVal == JOptionPane.YES_OPTION) {
|
||||
String installDir = sa.getVersion().listIterator().next().getPathArray(0).getStringValue();
|
||||
try {
|
||||
ForceInstallPkg f = new ForceInstallPkg(jTextField.getText(), jTextField1.getText());
|
||||
//
|
||||
// Get old packag info to meet the calling parameter layout of DbFileContents.updatePkgInfo
|
||||
// ForceInstallPkg will call it after installation to update package info.
|
||||
//
|
||||
f.setOldVersion(sa.getVersion().listIterator().next().getVersionArray(0));
|
||||
f.setOldGuid(sa.getVersion().listIterator().next().getGuidArray(0).getStringValue());
|
||||
int i = f.install(jTextField1.getText() + System.getProperty("file.separator") + installDir);
|
||||
if (i == 0) {
|
||||
JOptionPane.showMessageDialog(frame, "Package" + jTextField.getText()
|
||||
+ " Installed Successfully!");
|
||||
}
|
||||
} catch (Exception sae) {
|
||||
System.out.println(sae.toString());
|
||||
JOptionPane.showMessageDialog(frame, "Extraction Error!");
|
||||
}
|
||||
}
|
||||
return;
|
||||
} catch (XmlException xmle) {
|
||||
System.out.println(xmle.toString());
|
||||
JOptionPane.showMessageDialog(frame, "Package Format Error!");
|
||||
} catch (DirSame ds) {
|
||||
//
|
||||
// You cannot install different packages into the same directory.
|
||||
//
|
||||
System.out.println(ds.toString());
|
||||
JOptionPane.showMessageDialog(frame,
|
||||
"Another Package Exists There, Please Select Another Directory!");
|
||||
} catch (Exception ext) {
|
||||
System.out.println(ext.toString());
|
||||
JOptionPane.showMessageDialog(frame, "Extraction Error!");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton2;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method initializes jButton3
|
||||
*
|
||||
* @return javax.swing.JButton
|
||||
*/
|
||||
private JButton getJButton3() {
|
||||
if (jButton3 == null) {
|
||||
jButton3 = new JButton();
|
||||
jButton3.setPreferredSize(new java.awt.Dimension(80, 20));
|
||||
jButton3.setText("Cancel");
|
||||
jButton3.addMouseListener(this);
|
||||
}
|
||||
return jButton3;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jPanel3
|
||||
|
||||
@return javax.swing.JPanel
|
||||
*/
|
||||
private JPanel getJPanel3() {
|
||||
if (jPanel3 == null) {
|
||||
jLabel = new JLabel();
|
||||
jLabel.setComponentOrientation(ComponentOrientation.UNKNOWN);
|
||||
jLabel.setHorizontalTextPosition(SwingConstants.TRAILING);
|
||||
jLabel.setText("Enter Package Location");
|
||||
jLabel.setHorizontalAlignment(SwingConstants.TRAILING);
|
||||
FlowLayout flowLayout6 = new FlowLayout();
|
||||
flowLayout6.setVgap(20);
|
||||
flowLayout6.setAlignment(FlowLayout.LEFT);
|
||||
jPanel3 = new JPanel();
|
||||
jPanel3.setLayout(flowLayout6);
|
||||
jPanel3.add(jLabel, null);
|
||||
}
|
||||
return jPanel3;
|
||||
}
|
||||
|
||||
/**
|
||||
check user input validity
|
||||
|
||||
@param s package path
|
||||
@param s1 workspace path
|
||||
@param s2 installation path
|
||||
@throws Exception
|
||||
**/
|
||||
private void locationcheck(String s, String s1, String s2) throws Exception {
|
||||
if (new File(s).isFile() == false)
|
||||
throw new Exception();
|
||||
if (new File(s1).isDirectory() == false)
|
||||
throw new Exception();
|
||||
if (s2.startsWith(s1) == false)
|
||||
throw new Exception();
|
||||
}
|
||||
|
||||
|
||||
public void mouseClicked(MouseEvent arg0) {
|
||||
// TODO Auto-generated method stub
|
||||
int retVal = JOptionPane.showConfirmDialog(frame, "Are you sure to exit?", "Quit", JOptionPane.YES_NO_OPTION);
|
||||
if (retVal == JOptionPane.YES_OPTION) {
|
||||
this.dispose();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
public void mouseEntered(MouseEvent arg0) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public void mouseExited(MouseEvent arg0) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public void mousePressed(MouseEvent arg0) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public void mouseReleased(MouseEvent arg0) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jProgressBar
|
||||
|
||||
@return javax.swing.JProgressBar
|
||||
**/
|
||||
private JProgressBar getJProgressBar() {
|
||||
if (jProgressBar == null) {
|
||||
jProgressBar = new JProgressBar();
|
||||
jProgressBar.setComponentOrientation(java.awt.ComponentOrientation.LEFT_TO_RIGHT);
|
||||
jProgressBar.setVisible(false);
|
||||
}
|
||||
return jProgressBar;
|
||||
}
|
||||
|
||||
|
||||
|
||||
} // @jve:decl-index=0:visual-constraint="24,82"
|
||||
|
||||
/**
|
||||
Derived from WindowAdapter, Event adapter for windowClosing event
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
class GuiPkgInstallAdapter extends WindowAdapter {
|
||||
|
||||
private JFrame frame = null;
|
||||
|
||||
GuiPkgInstallAdapter(JFrame f) {
|
||||
super();
|
||||
frame = f;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.awt.event.WindowAdapter#windowClosing(java.awt.event.WindowEvent)
|
||||
*/
|
||||
@Override
|
||||
public void windowClosing(WindowEvent arg0) {
|
||||
// TODO Auto-generated method stub
|
||||
super.windowClosing(arg0);
|
||||
int retVal = JOptionPane.showConfirmDialog(frame, "Are you sure to exit?", "Quit",
|
||||
JOptionPane.YES_NO_OPTION);
|
||||
if (retVal == JOptionPane.YES_OPTION) {
|
||||
frame.dispose();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
Filter out some specific type of file
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
class PkgFileFilter extends FileFilter {
|
||||
|
||||
///
|
||||
/// hash table used to store filter info.
|
||||
///
|
||||
private Hashtable<String, String> filters = null;
|
||||
|
||||
|
||||
public PkgFileFilter() {
|
||||
this.filters = new Hashtable<String, String>();
|
||||
}
|
||||
|
||||
/**
|
||||
Create filter and add extension to hash table
|
||||
|
||||
@param extension file extension string (e.g. "exe")
|
||||
**/
|
||||
public PkgFileFilter(String extension) {
|
||||
this();
|
||||
if(extension!=null) {
|
||||
addExtension(extension);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public PkgFileFilter(String[] fileFilters) {
|
||||
this();
|
||||
int i = 0;
|
||||
while (i < fileFilters.length) {
|
||||
// add filters one by one
|
||||
addExtension(fileFilters[i]);
|
||||
i++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see javax.swing.filechooser.FileFilter#accept(java.io.File)
|
||||
*/
|
||||
public boolean accept(File f) {
|
||||
if (f != null) {
|
||||
if (f.isDirectory()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (getExtension(f) != null && filters.get(getExtension(f)) != null) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Get the extension string of file
|
||||
|
||||
@param f target file
|
||||
@return String
|
||||
**/
|
||||
public String getExtension(File f) {
|
||||
if (f != null) {
|
||||
int i = f.getName().lastIndexOf('.');
|
||||
if (i>0 && i<f.getName().length()-1) {
|
||||
return f.getName().substring(i+1).toLowerCase();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Add extension info into hash table
|
||||
|
||||
@param ext extension string for file name
|
||||
**/
|
||||
public void addExtension(String ext) {
|
||||
if (filters == null) {
|
||||
filters = new Hashtable<String, String>(5);
|
||||
}
|
||||
filters.put(ext.toLowerCase(), "ext");
|
||||
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see javax.swing.filechooser.FileFilter#getDescription()
|
||||
*/
|
||||
public String getDescription() {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -0,0 +1,370 @@
|
||||
/** @file
|
||||
Java class GuiPkgUninstall is GUI for package installation.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JFrame;
|
||||
import java.awt.FlowLayout;
|
||||
//import java.awt.GridLayout;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JTextField;
|
||||
import java.awt.Dimension;
|
||||
import javax.swing.JButton;
|
||||
import java.awt.ComponentOrientation;
|
||||
import java.awt.Font;
|
||||
import java.awt.Toolkit;
|
||||
import java.io.File;
|
||||
|
||||
import javax.swing.JFileChooser;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.SwingConstants;
|
||||
import javax.swing.JList;
|
||||
import javax.swing.JTextPane;
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JTable;
|
||||
import javax.swing.table.DefaultTableModel;
|
||||
|
||||
/**
|
||||
GUI for package uninstallation.
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class GuiPkgUninstall extends JFrame {
|
||||
|
||||
final static long serialVersionUID = 0;
|
||||
|
||||
static JFrame frame;
|
||||
|
||||
private JPanel jPanel = null;
|
||||
|
||||
private JLabel jLabel = null;
|
||||
|
||||
private JTextField jTextField = null;
|
||||
|
||||
private JButton jButton = null;
|
||||
|
||||
private JLabel jLabel1 = null;
|
||||
|
||||
private JPanel jPanel1 = null;
|
||||
|
||||
private JButton jButton1 = null;
|
||||
|
||||
private JButton jButton2 = null;
|
||||
|
||||
private JScrollPane jScrollPane = null;
|
||||
|
||||
private JTable jTable = null;
|
||||
|
||||
private JButton jButton3 = null;
|
||||
|
||||
private PkgRemoveTableModel model = null;
|
||||
|
||||
private DbFileContents dfc = null;
|
||||
|
||||
private JFrame pThis = null;
|
||||
|
||||
|
||||
public GuiPkgUninstall() {
|
||||
super();
|
||||
initialize();
|
||||
}
|
||||
|
||||
|
||||
private void initialize() {
|
||||
this.setSize(481, 404);
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
this.setContentPane(getJPanel());
|
||||
this.setTitle("Package Uninstallation");
|
||||
this.centerWindow();
|
||||
pThis = this;
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
**/
|
||||
protected void centerWindow(int intWidth, int intHeight) {
|
||||
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
|
||||
this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
**/
|
||||
protected void centerWindow() {
|
||||
centerWindow(this.getSize().width, this.getSize().height);
|
||||
}
|
||||
|
||||
/**
|
||||
initialize table contents from db file
|
||||
|
||||
@param f FrameworkDatabase.db file under workspace
|
||||
**/
|
||||
protected void loadDB(File f) {
|
||||
if (!f.exists()) {
|
||||
JOptionPane.showMessageDialog(frame,
|
||||
"No FrameworkDatabase.db File!");
|
||||
return;
|
||||
}
|
||||
dfc = new DbFileContents(f);
|
||||
if (dfc.getPackageCount() == 0) {
|
||||
return;
|
||||
}
|
||||
//
|
||||
// Get package list info. and add them one by one into table
|
||||
//
|
||||
String[][] saa = new String[dfc.getPackageCount()][5];
|
||||
dfc.getPackageList(saa);
|
||||
int i = 0;
|
||||
while (i < saa.length) {
|
||||
model.addRow(saa[i]);
|
||||
i++;
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
save package info. from table to db file
|
||||
**/
|
||||
protected void save() {
|
||||
dfc.removePackageList();
|
||||
int rowCount = jTable.getRowCount();
|
||||
int i = 0;
|
||||
while (i < rowCount) {
|
||||
|
||||
dfc.genPackage(jTable.getValueAt(i, 0).toString(), jTable.getValueAt(i, 1).toString(),
|
||||
jTable.getValueAt(i, 2).toString(), jTable.getValueAt(i, 3).toString(),
|
||||
jTable.getValueAt(i, 4).toString());
|
||||
i++;
|
||||
}
|
||||
dfc.saveAs();
|
||||
}
|
||||
|
||||
private JPanel getJPanel() {
|
||||
if (jPanel == null) {
|
||||
jLabel1 = new JLabel();
|
||||
jLabel1.setBounds(new java.awt.Rectangle(20, 83, 141, 16));
|
||||
jLabel1.setText(" Packages Installed");
|
||||
jLabel = new JLabel();
|
||||
jLabel.setBounds(new java.awt.Rectangle(17, 16, 171, 16));
|
||||
jLabel.setText(" Enter Workspace Location");
|
||||
jPanel = new JPanel();
|
||||
jPanel.setLayout(null);
|
||||
jPanel.add(jLabel, null);
|
||||
jPanel.add(getJTextField(), null);
|
||||
jPanel.add(getJButton(), null);
|
||||
jPanel.add(jLabel1, null);
|
||||
jPanel.add(getJPanel1(), null);
|
||||
jPanel.add(getJScrollPane(), null);
|
||||
}
|
||||
return jPanel;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextField
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextField() {
|
||||
if (jTextField == null) {
|
||||
jTextField = new JTextField();
|
||||
jTextField.setBounds(new java.awt.Rectangle(16, 41, 350, 20));
|
||||
jTextField.setHorizontalAlignment(JTextField.LEFT);
|
||||
jTextField.setEditable(false);
|
||||
jTextField.setText(System.getenv("WORKSPACE"));
|
||||
jTextField.setPreferredSize(new Dimension(350, 20));
|
||||
}
|
||||
return jTextField;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton() {
|
||||
if (jButton == null) {
|
||||
jButton = new JButton();
|
||||
jButton.setBounds(new java.awt.Rectangle(372,40,78,20));
|
||||
jButton.setFont(new Font("Dialog", Font.BOLD, 12));
|
||||
jButton.setPreferredSize(new Dimension(80, 20));
|
||||
jButton.setToolTipText("Where is the package?");
|
||||
jButton.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
jButton.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||
jButton.setText("Browse");
|
||||
jButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
//
|
||||
// user can select another workspace directory
|
||||
//
|
||||
JFileChooser chooser = new JFileChooser();
|
||||
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
|
||||
chooser.setMultiSelectionEnabled(false);
|
||||
int retval = chooser.showOpenDialog(frame);
|
||||
if (retval == JFileChooser.APPROVE_OPTION) {
|
||||
//
|
||||
// update table when user selects a new workspace directory
|
||||
//
|
||||
jTextField.setText(chooser.getSelectedFile().getPath());
|
||||
File f = new File(chooser.getSelectedFile(), FrameworkPkg.dbConfigFile);
|
||||
loadDB(f);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jPanel1
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJPanel1() {
|
||||
if (jPanel1 == null) {
|
||||
FlowLayout flowLayout = new FlowLayout();
|
||||
flowLayout.setAlignment(java.awt.FlowLayout.LEFT);
|
||||
flowLayout.setHgap(20);
|
||||
jPanel1 = new JPanel();
|
||||
jPanel1.setLayout(flowLayout);
|
||||
jPanel1.setBounds(new java.awt.Rectangle(133,310,318,53));
|
||||
jPanel1.add(getJButton3(), null);
|
||||
jPanel1.add(getJButton1(), null);
|
||||
jPanel1.add(getJButton2(), null);
|
||||
}
|
||||
return jPanel1;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton1
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton1() {
|
||||
if (jButton1 == null) {
|
||||
jButton1 = new JButton();
|
||||
jButton1.setPreferredSize(new java.awt.Dimension(85, 20));
|
||||
jButton1.setText("Ok");
|
||||
jButton1.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
|
||||
jButton1.setEnabled(true);
|
||||
jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
if (dfc != null) {
|
||||
//
|
||||
// save package info. to file before exit
|
||||
//
|
||||
save();
|
||||
}
|
||||
pThis.dispose();
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton1;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton2
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton2() {
|
||||
if (jButton2 == null) {
|
||||
jButton2 = new JButton();
|
||||
jButton2.setPreferredSize(new java.awt.Dimension(85, 20));
|
||||
jButton2.setText("Cancel");
|
||||
jButton2.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
pThis.dispose();
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton2;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jScrollPane
|
||||
|
||||
@return javax.swing.JScrollPane
|
||||
**/
|
||||
private JScrollPane getJScrollPane() {
|
||||
if (jScrollPane == null) {
|
||||
jScrollPane = new JScrollPane();
|
||||
jScrollPane.setBounds(new java.awt.Rectangle(20,108,431,194));
|
||||
jScrollPane.setViewportView(getJTable());
|
||||
}
|
||||
return jScrollPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTable
|
||||
|
||||
@return javax.swing.JTable
|
||||
**/
|
||||
private JTable getJTable() {
|
||||
if (jTable == null) {
|
||||
model = new PkgRemoveTableModel();
|
||||
jTable = new JTable(model);
|
||||
jTable.setRowHeight(20);
|
||||
jTable.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
|
||||
jTable.setRowSelectionAllowed(true);
|
||||
model.addColumn("PackageName");
|
||||
model.addColumn("Version");
|
||||
model.addColumn("GUID");
|
||||
model.addColumn("Path");
|
||||
model.addColumn("InstallDate");
|
||||
File f = new File(jTextField.getText(), FrameworkPkg.dbConfigFile);
|
||||
loadDB(f);
|
||||
}
|
||||
return jTable;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton3
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton3() {
|
||||
if (jButton3 == null) {
|
||||
jButton3 = new JButton();
|
||||
jButton3.setText("Remove");
|
||||
jButton3.setPreferredSize(new java.awt.Dimension(85,20));
|
||||
jButton3.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
if (model != null){
|
||||
int index = jTable.getSelectedRow();
|
||||
if (index > -1) {
|
||||
model.removeRow(index);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton3;
|
||||
}
|
||||
|
||||
} // @jve:decl-index=0:visual-constraint="10,10"
|
||||
|
||||
/**
|
||||
Derived table model which disables table edit
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
class PkgRemoveTableModel extends DefaultTableModel {
|
||||
PkgRemoveTableModel() {
|
||||
super();
|
||||
}
|
||||
|
||||
public boolean isCellEditable (int row, int col) {
|
||||
return false;
|
||||
}
|
||||
}
|
@@ -0,0 +1,74 @@
|
||||
/** @file
|
||||
Java class ManifestContents is used to deal with FDPManifest.xml file related
|
||||
operations.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import org.apache.xmlbeans.XmlException;
|
||||
|
||||
import org.tianocore.*;
|
||||
import java.io.*;
|
||||
|
||||
/**
|
||||
This class operates on FDPManifest.xml file
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class ManifestContents {
|
||||
|
||||
///
|
||||
/// it is more convenient to get input stream from Jar entry of to-be-installed package file.
|
||||
/// so i use InputStream instead of File
|
||||
///
|
||||
private InputStream manIs = null;
|
||||
|
||||
FrameworkDevPkgManifestDocument manDoc = null;
|
||||
|
||||
HeaderDocument hdr = null;
|
||||
|
||||
FrameworkDevPkgManifestDocument.FrameworkDevPkgManifest manRoot = null;
|
||||
|
||||
public ManifestContents(InputStream fis) throws XmlException, IOException {
|
||||
|
||||
manIs = fis;
|
||||
manDoc = FrameworkDevPkgManifestDocument.Factory.parse(manIs);
|
||||
manRoot = manDoc.getFrameworkDevPkgManifest();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
Get package name from manifest file header.
|
||||
|
||||
@return String
|
||||
**/
|
||||
public String getBaseName() {
|
||||
return manRoot.getHeader().getPackageName().getStringValue();
|
||||
}
|
||||
|
||||
/**
|
||||
Get package version from manifest file header.
|
||||
|
||||
@return String
|
||||
**/
|
||||
public String getVersion() {
|
||||
return manRoot.getHeader().getVersion();
|
||||
}
|
||||
|
||||
/**
|
||||
Get package GUID from manifest file header.
|
||||
|
||||
@return String
|
||||
**/
|
||||
public String getGuid() {
|
||||
return manRoot.getHeader().getGuid().getStringValue();
|
||||
}
|
||||
}
|
@@ -0,0 +1,107 @@
|
||||
/** @file
|
||||
Java class ModalFrameUtil is used to show modal frame.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.lang.reflect.InvocationHandler;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Proxy;
|
||||
|
||||
/**
|
||||
This class is used to show modal frame.
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class ModalFrameUtil {
|
||||
/**
|
||||
Invocation handler for event threads
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
static class EventPump implements InvocationHandler {
|
||||
Frame frame;
|
||||
|
||||
public EventPump(Frame frame) {
|
||||
this.frame = frame;
|
||||
}
|
||||
|
||||
/**
|
||||
Invocation handler invoked by Method.invoke
|
||||
**/
|
||||
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
|
||||
//
|
||||
// return frame showing status for Conditional.evaluate()
|
||||
//
|
||||
return frame.isShowing() ? Boolean.TRUE : Boolean.FALSE;
|
||||
}
|
||||
|
||||
public void start() throws Exception {
|
||||
Class clazz = Class.forName("java.awt.Conditional");
|
||||
//
|
||||
// Conditional proxy instance will invoke "this" InvocationHandler.invoke when calling its methods
|
||||
//
|
||||
Object conditional = Proxy.newProxyInstance(clazz.getClassLoader(), new Class[] { clazz }, this);
|
||||
//
|
||||
// EventDisaptchThread.pumpEvents will be called under Conditional "conditional"
|
||||
//
|
||||
Method pumpMethod = Class.forName("java.awt.EventDispatchThread").getDeclaredMethod("pumpEvents",
|
||||
new Class[] { clazz });
|
||||
pumpMethod.setAccessible(true);
|
||||
//
|
||||
// pumpEvents when conditional.evaluate() == true (frame.isShowing() in EventPump.invoke)
|
||||
//
|
||||
pumpMethod.invoke(Thread.currentThread(), new Object[] { conditional });
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Show modal frame, return only when frame closed.
|
||||
|
||||
@param frame Frame to be modal
|
||||
@param owner Parent Frame
|
||||
**/
|
||||
public static void showAsModal(final Frame frame, final Frame owner) {
|
||||
frame.addWindowListener(new WindowAdapter() {
|
||||
public void windowOpened(WindowEvent e) {
|
||||
owner.setEnabled(false);
|
||||
}
|
||||
|
||||
public void windowClosed(WindowEvent e) {
|
||||
owner.setEnabled(true);
|
||||
owner.setVisible(true);
|
||||
owner.removeWindowListener(this);
|
||||
}
|
||||
});
|
||||
|
||||
owner.addWindowListener(new WindowAdapter() {
|
||||
public void windowActivated(WindowEvent e) {
|
||||
if (frame.isShowing()) {
|
||||
frame.setExtendedState(JFrame.NORMAL);
|
||||
frame.toFront();
|
||||
} else {
|
||||
owner.removeWindowListener(this);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
frame.setVisible(true);
|
||||
try {
|
||||
new EventPump(frame).start();
|
||||
} catch (Throwable throwable) {
|
||||
throw new RuntimeException(throwable);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,348 @@
|
||||
/** @file
|
||||
Java class PackageAction is GUI for create spd file.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Toolkit;
|
||||
|
||||
import javax.swing.JFileChooser;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JFrame;
|
||||
import java.awt.GridLayout;
|
||||
import java.io.File;
|
||||
|
||||
import javax.swing.JButton;
|
||||
|
||||
/**
|
||||
GUI for create spd file
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class PackageAction extends JFrame {
|
||||
|
||||
static JFrame frame;
|
||||
|
||||
private JPanel jContentPane = null;
|
||||
|
||||
private JButton jButton = null;
|
||||
|
||||
private JButton jButton1 = null;
|
||||
|
||||
private JButton jButton2 = null;
|
||||
|
||||
private JButton jButton3 = null;
|
||||
|
||||
private JButton jButton4 = null;
|
||||
|
||||
private JButton jButton5 = null;
|
||||
|
||||
private JButton jButton6 = null;
|
||||
|
||||
private JButton jButton7 = null;
|
||||
|
||||
///
|
||||
/// SpdFileContents object passed from main
|
||||
///
|
||||
private SpdFileContents sfc = null;
|
||||
|
||||
private JFrame pThis = null; // @jve:decl-index=0:visual-constraint="304,10"
|
||||
|
||||
private JButton jButton8 = null;
|
||||
|
||||
private JButton jButton9 = null; // @jve:decl-index=0:visual-constraint="116,388"
|
||||
|
||||
/**
|
||||
This is the default constructor
|
||||
**/
|
||||
public PackageAction(SpdFileContents sfc) {
|
||||
super();
|
||||
initialize();
|
||||
this.sfc = sfc;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
@return void
|
||||
**/
|
||||
private void initialize() {
|
||||
this.setSize(305, 385);
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
this.setContentPane(getJContentPane());
|
||||
this.setTitle("Please Choose an Action");
|
||||
this.centerWindow();
|
||||
this.pThis = this;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
**/
|
||||
protected void centerWindow(int intWidth, int intHeight) {
|
||||
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
|
||||
this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
**/
|
||||
protected void centerWindow() {
|
||||
centerWindow(this.getSize().width, this.getSize().height);
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jContentPane
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJContentPane() {
|
||||
if (jContentPane == null) {
|
||||
GridLayout gridLayout = new GridLayout();
|
||||
gridLayout.setRows(10);
|
||||
gridLayout.setColumns(1);
|
||||
jContentPane = new JPanel();
|
||||
jContentPane.setPreferredSize(new java.awt.Dimension(200,300));
|
||||
jContentPane.setLayout(gridLayout);
|
||||
jContentPane.add(getJButton8(), null);
|
||||
jContentPane.add(getJButton7(), null);
|
||||
jContentPane.add(getJButton6(), null);
|
||||
jContentPane.add(getJButton5(), null);
|
||||
jContentPane.add(getJButton4(), null);
|
||||
jContentPane.add(getJButton3(), null);
|
||||
jContentPane.add(getJButton2(), null);
|
||||
jContentPane.add(getJButton1(), null);
|
||||
jContentPane.add(getJButton(), null);
|
||||
jContentPane.add(getJButton9(), null);
|
||||
}
|
||||
return jContentPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton() {
|
||||
if (jButton == null) {
|
||||
jButton = new JButton();
|
||||
jButton.setText("Save");
|
||||
jButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
//
|
||||
// save sfc contents to file
|
||||
//
|
||||
JFileChooser chooser = new JFileChooser(System.getenv("WORKSPACE"));
|
||||
chooser.setMultiSelectionEnabled(false);
|
||||
|
||||
int retval = chooser.showSaveDialog(frame);
|
||||
if (retval == JFileChooser.APPROVE_OPTION) {
|
||||
try {
|
||||
File theFile = chooser.getSelectedFile();
|
||||
if (theFile.exists()) {
|
||||
int retVal = JOptionPane.showConfirmDialog(frame, "Are you sure to replace the exising one?", "File Exists",
|
||||
JOptionPane.YES_NO_OPTION);
|
||||
if (retVal == JOptionPane.NO_OPTION) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
sfc.saveAs(theFile);
|
||||
|
||||
} catch (Exception ee) {
|
||||
System.out.println(ee.toString());
|
||||
}
|
||||
// pThis.dispose();
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton1
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton1() {
|
||||
if (jButton1 == null) {
|
||||
jButton1 = new JButton();
|
||||
jButton1.setText("Add PCD Information");
|
||||
jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
//
|
||||
// Add PCD frame show modal
|
||||
//
|
||||
ModalFrameUtil.showAsModal(new PackagePCD(sfc), pThis);
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton1;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton2
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton2() {
|
||||
if (jButton2 == null) {
|
||||
jButton2 = new JButton();
|
||||
jButton2.setText("Add PPI Declarations");
|
||||
jButton2.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
//
|
||||
// Add PPI frame show modal
|
||||
//
|
||||
ModalFrameUtil.showAsModal(new PackagePpi(sfc), pThis);
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton2;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton3
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton3() {
|
||||
if (jButton3 == null) {
|
||||
jButton3 = new JButton();
|
||||
jButton3.setText("Add Protocol Declarations");
|
||||
jButton3.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
ModalFrameUtil.showAsModal(new PackageProtocols(sfc), pThis);
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton3;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton4
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton4() {
|
||||
if (jButton4 == null) {
|
||||
jButton4 = new JButton();
|
||||
jButton4.setText("Add GUID Declarations");
|
||||
jButton4.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
ModalFrameUtil.showAsModal(new PackageGuids(sfc), pThis);
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton4;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton5
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton5() {
|
||||
if (jButton5 == null) {
|
||||
jButton5 = new JButton();
|
||||
jButton5.setText("Add Package Headers");
|
||||
jButton5.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
ModalFrameUtil.showAsModal(new PackagePkgHeader(sfc), pThis);
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton5;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton6
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton6() {
|
||||
if (jButton6 == null) {
|
||||
jButton6 = new JButton();
|
||||
jButton6.setText("Add MSA Files");
|
||||
jButton6.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
ModalFrameUtil.showAsModal(new PackageMsaFile(sfc), pThis);
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton6;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton7
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton7() {
|
||||
if (jButton7 == null) {
|
||||
jButton7 = new JButton();
|
||||
jButton7.setText("Add Library Classes");
|
||||
jButton7.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
ModalFrameUtil.showAsModal(new PackageLibraryClass(sfc), pThis);
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton7;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton8
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton8() {
|
||||
if (jButton8 == null) {
|
||||
jButton8 = new JButton();
|
||||
jButton8.setText("Add SPD Header");
|
||||
jButton8.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
ModalFrameUtil.showAsModal(new PackageNew(sfc), pThis);
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton8;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton9
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton9() {
|
||||
if (jButton9 == null) {
|
||||
jButton9 = new JButton();
|
||||
jButton9.setText("Done");
|
||||
jButton9.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
//
|
||||
// quit current frame
|
||||
//
|
||||
pThis.dispose();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton9;
|
||||
}
|
||||
|
||||
} // @jve:decl-index=0:visual-constraint="104,41"
|
@@ -0,0 +1,354 @@
|
||||
/** @file
|
||||
Java class PackageGuids is GUI for create GUID elements of spd file.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Toolkit;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
import javax.swing.DefaultListModel;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.JRadioButton;
|
||||
import javax.swing.JComboBox;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JList;
|
||||
|
||||
import org.tianocore.common.Tools;
|
||||
import org.tianocore.packaging.common.ui.StarLabel;
|
||||
|
||||
/**
|
||||
GUI for create GUID elements of spd file
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class PackageGuids extends JFrame implements ActionListener {
|
||||
|
||||
private SpdFileContents sfc = null;
|
||||
|
||||
private static String separator = "::";
|
||||
|
||||
private JPanel jContentPane = null;
|
||||
|
||||
private JLabel jLabelC_Name = null;
|
||||
|
||||
private JTextField jTextFieldC_Name = null;
|
||||
|
||||
private JLabel jLabelGuidValue = null;
|
||||
|
||||
private JTextField jTextFieldGuidValue = null;
|
||||
|
||||
private JLabel jLabelHelpText = null;
|
||||
|
||||
private JTextField jTextFieldName = null;
|
||||
|
||||
private JLabel jLabelEnableFeature = null;
|
||||
|
||||
private JRadioButton jRadioButtonEnableFeature = null;
|
||||
|
||||
private JRadioButton jRadioButtonDisableFeature = null;
|
||||
|
||||
private JButton jButtonOk = null;
|
||||
|
||||
private JButton jButtonCancel = null;
|
||||
|
||||
private JButton jButtonGenerateGuid = null;
|
||||
|
||||
private StarLabel starLabel = null;
|
||||
|
||||
private StarLabel starLabel1 = null;
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
**/
|
||||
private void initialize() {
|
||||
this.setTitle("Guid Declarations");
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextFieldC_Name
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextFieldC_Name() {
|
||||
if (jTextFieldC_Name == null) {
|
||||
jTextFieldC_Name = new JTextField();
|
||||
jTextFieldC_Name.setBounds(new java.awt.Rectangle(160, 10, 320, 20));
|
||||
}
|
||||
return jTextFieldC_Name;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextFieldGuidValsue
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextFieldGuidValsue() {
|
||||
if (jTextFieldGuidValue == null) {
|
||||
jTextFieldGuidValue = new JTextField();
|
||||
jTextFieldGuidValue.setBounds(new java.awt.Rectangle(160, 35, 240, 20));
|
||||
}
|
||||
return jTextFieldGuidValue;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextFieldName
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextFieldName() {
|
||||
if (jTextFieldName == null) {
|
||||
jTextFieldName = new JTextField();
|
||||
jTextFieldName.setBounds(new java.awt.Rectangle(160, 70, 320, 20));
|
||||
}
|
||||
return jTextFieldName;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jRadioButtonEnableFeature
|
||||
|
||||
@return javax.swing.JRadioButton
|
||||
**/
|
||||
private JRadioButton getJRadioButtonEnableFeature() {
|
||||
if (jRadioButtonEnableFeature == null) {
|
||||
jRadioButtonEnableFeature = new JRadioButton();
|
||||
jRadioButtonEnableFeature.setText("Enable");
|
||||
jRadioButtonEnableFeature.setBounds(new java.awt.Rectangle(160, 104, 90, 20));
|
||||
jRadioButtonEnableFeature.setEnabled(false);
|
||||
jRadioButtonEnableFeature.setSelected(true);
|
||||
}
|
||||
return jRadioButtonEnableFeature;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jRadioButtonDisableFeature
|
||||
|
||||
@return javax.swing.JRadioButton
|
||||
**/
|
||||
private JRadioButton getJRadioButtonDisableFeature() {
|
||||
if (jRadioButtonDisableFeature == null) {
|
||||
jRadioButtonDisableFeature = new JRadioButton();
|
||||
jRadioButtonDisableFeature.setText("Disable");
|
||||
jRadioButtonDisableFeature.setEnabled(false);
|
||||
jRadioButtonDisableFeature.setBounds(new java.awt.Rectangle(250, 104, 90, 20));
|
||||
}
|
||||
return jRadioButtonDisableFeature;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonOk
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonOk() {
|
||||
if (jButtonOk == null) {
|
||||
jButtonOk = new JButton();
|
||||
jButtonOk.setText("OK");
|
||||
jButtonOk.setBounds(new java.awt.Rectangle(300, 240, 75, 20));
|
||||
jButtonOk.addActionListener(this);
|
||||
}
|
||||
return jButtonOk;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonCancel
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonCancel() {
|
||||
if (jButtonCancel == null) {
|
||||
jButtonCancel = new JButton();
|
||||
jButtonCancel.setText("Cancel");
|
||||
jButtonCancel.setBounds(new java.awt.Rectangle(390, 240, 74, 20));
|
||||
jButtonCancel.addActionListener(this);
|
||||
}
|
||||
return jButtonCancel;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonGenerateGuid
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonGenerateGuid() {
|
||||
if (jButtonGenerateGuid == null) {
|
||||
jButtonGenerateGuid = new JButton();
|
||||
jButtonGenerateGuid.setBounds(new java.awt.Rectangle(405, 35, 75, 20));
|
||||
jButtonGenerateGuid.setText("GEN");
|
||||
jButtonGenerateGuid.addActionListener(this);
|
||||
}
|
||||
return jButtonGenerateGuid;
|
||||
}
|
||||
|
||||
/**
|
||||
This is the default constructor
|
||||
**/
|
||||
public PackageGuids(SpdFileContents sfc) {
|
||||
super();
|
||||
initialize();
|
||||
init();
|
||||
this.setVisible(true);
|
||||
this.sfc = sfc;
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
**/
|
||||
protected void centerWindow(int intWidth, int intHeight) {
|
||||
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
|
||||
this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
**/
|
||||
protected void centerWindow() {
|
||||
centerWindow(this.getSize().width, this.getSize().height);
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
@return void
|
||||
**/
|
||||
private void init() {
|
||||
this.setSize(500, 300);
|
||||
this.setContentPane(getJContentPane());
|
||||
this.setTitle("Add Guids");
|
||||
this.centerWindow();
|
||||
initFrame();
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jContentPane
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJContentPane() {
|
||||
if (jContentPane == null) {
|
||||
starLabel1 = new StarLabel();
|
||||
starLabel1.setBounds(new java.awt.Rectangle(5, 34, 10, 20));
|
||||
starLabel = new StarLabel();
|
||||
starLabel.setBounds(new java.awt.Rectangle(6, 10, 10, 20));
|
||||
jLabelEnableFeature = new JLabel();
|
||||
jLabelEnableFeature.setText("Enable Feature");
|
||||
jLabelEnableFeature.setEnabled(false);
|
||||
jLabelEnableFeature.setBounds(new java.awt.Rectangle(15, 104, 140, 20));
|
||||
jLabelHelpText = new JLabel();
|
||||
jLabelHelpText.setText("Name");
|
||||
jLabelHelpText.setBounds(new java.awt.Rectangle(15, 70, 140, 20));
|
||||
jLabelGuidValue = new JLabel();
|
||||
jLabelGuidValue.setText("Guid Value");
|
||||
jLabelGuidValue.setBounds(new java.awt.Rectangle(15, 35, 140, 20));
|
||||
jLabelC_Name = new JLabel();
|
||||
jLabelC_Name.setText("C_Name");
|
||||
jLabelC_Name.setBounds(new java.awt.Rectangle(15, 10, 140, 20));
|
||||
jContentPane = new JPanel();
|
||||
jContentPane.setLayout(null);
|
||||
jContentPane.add(jLabelC_Name, null);
|
||||
jContentPane.add(getJTextFieldC_Name(), null);
|
||||
jContentPane.add(jLabelGuidValue, null);
|
||||
jContentPane.add(getJTextFieldGuidValsue(), null);
|
||||
|
||||
jContentPane.add(jLabelHelpText, null);
|
||||
jContentPane.add(getJTextFieldName(), null);
|
||||
jContentPane.add(jLabelEnableFeature, null);
|
||||
jContentPane.add(getJRadioButtonEnableFeature(), null);
|
||||
jContentPane.add(getJRadioButtonDisableFeature(), null);
|
||||
jContentPane.add(getJButtonOk(), null);
|
||||
jContentPane.add(getJButtonCancel(), null);
|
||||
jContentPane.add(getJButtonGenerateGuid(), null);
|
||||
|
||||
jContentPane.add(starLabel, null);
|
||||
jContentPane.add(starLabel1, null);
|
||||
|
||||
initFrame();
|
||||
|
||||
}
|
||||
return jContentPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes events groups and usage type
|
||||
|
||||
**/
|
||||
private void initFrame() {
|
||||
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
//
|
||||
// save and exit
|
||||
//
|
||||
if (arg0.getSource() == jButtonOk) {
|
||||
|
||||
this.save();
|
||||
this.dispose();
|
||||
}
|
||||
//
|
||||
// exit
|
||||
//
|
||||
if (arg0.getSource() == jButtonCancel) {
|
||||
this.dispose();
|
||||
}
|
||||
//
|
||||
// generate a new GUID
|
||||
//
|
||||
if (arg0.getSource() == jButtonGenerateGuid) {
|
||||
jTextFieldGuidValue.setText(Tools.generateUuidString());
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jRadioButtonEnableFeature) {
|
||||
if (jRadioButtonEnableFeature.isSelected()) {
|
||||
jRadioButtonDisableFeature.setSelected(false);
|
||||
}
|
||||
if (!jRadioButtonDisableFeature.isSelected() && !jRadioButtonEnableFeature.isSelected()) {
|
||||
jRadioButtonEnableFeature.setSelected(true);
|
||||
}
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jRadioButtonDisableFeature) {
|
||||
if (jRadioButtonDisableFeature.isSelected()) {
|
||||
jRadioButtonEnableFeature.setSelected(false);
|
||||
}
|
||||
if (!jRadioButtonDisableFeature.isSelected() && !jRadioButtonEnableFeature.isSelected()) {
|
||||
jRadioButtonDisableFeature.setSelected(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Add GUID entry to SpdFileContents object with element values from jTextFields*
|
||||
**/
|
||||
protected void save() {
|
||||
try {
|
||||
String strName = jTextFieldName.getText();
|
||||
String strCName = jTextFieldC_Name.getText();
|
||||
String strGuid = jTextFieldGuidValue.getText();
|
||||
sfc.genSpdGuidDeclarations(strName, strCName, strGuid, null);
|
||||
|
||||
} catch (Exception e) {
|
||||
System.out.println(e.toString());
|
||||
}
|
||||
}
|
||||
} // @jve:decl-index=0:visual-constraint="10,10"
|
@@ -0,0 +1,545 @@
|
||||
/** @file
|
||||
Java class PackageLibraryClass is GUI for create library definition elements of spd file.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Toolkit;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.File;
|
||||
import java.util.Vector;
|
||||
|
||||
import javax.swing.DefaultListModel;
|
||||
import javax.swing.JFileChooser;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JRadioButton;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.JComboBox;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JList;
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
|
||||
/**
|
||||
GUI for create library definition elements of spd file.
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class PackageLibraryClass extends JFrame implements ActionListener {
|
||||
static JFrame frame;
|
||||
|
||||
private static String Separator = "::";
|
||||
|
||||
private DefaultListModel listItem = new DefaultListModel();
|
||||
|
||||
private SpdFileContents sfc = null;
|
||||
|
||||
private JPanel jContentPane = null;
|
||||
|
||||
private JRadioButton jRadioButtonAdd = null;
|
||||
|
||||
private JRadioButton jRadioButtonSelect = null;
|
||||
|
||||
private JTextField jTextFieldAdd = null;
|
||||
|
||||
private JComboBox jComboBoxSelect = null;
|
||||
|
||||
private JLabel jLabelUsage = null;
|
||||
|
||||
private JComboBox jComboBoxUsage = null;
|
||||
|
||||
private JScrollPane jScrollPane = null;
|
||||
|
||||
private JList jListLibraryClassDefinitions = null;
|
||||
|
||||
private JButton jButtonAdd = null;
|
||||
|
||||
private JButton jButtonRemove = null;
|
||||
|
||||
private JButton jButtonClearAll = null;
|
||||
|
||||
private JButton jButtonCancel = null;
|
||||
|
||||
private JButton jButtonOk = null;
|
||||
|
||||
private JLabel jLabel = null;
|
||||
|
||||
private JTextField jTextField = null;
|
||||
|
||||
private JButton jButtonBrowse = null;
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
**/
|
||||
private void initialize() {
|
||||
this.setTitle("Library Declarations");
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jRadioButtonAdd
|
||||
|
||||
@return javax.swing.JRadioButton
|
||||
**/
|
||||
private JRadioButton getJRadioButtonAdd() {
|
||||
if (jRadioButtonAdd == null) {
|
||||
jRadioButtonAdd = new JRadioButton();
|
||||
jRadioButtonAdd.setBounds(new java.awt.Rectangle(10, 35, 205, 20));
|
||||
jRadioButtonAdd.setText("Add a new Library Class");
|
||||
jRadioButtonAdd.addActionListener(this);
|
||||
jRadioButtonAdd.setSelected(false);
|
||||
}
|
||||
return jRadioButtonAdd;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jRadioButtonSelect
|
||||
|
||||
@return javax.swing.JRadioButton
|
||||
**/
|
||||
private JRadioButton getJRadioButtonSelect() {
|
||||
if (jRadioButtonSelect == null) {
|
||||
jRadioButtonSelect = new JRadioButton();
|
||||
jRadioButtonSelect.setBounds(new java.awt.Rectangle(10, 10, 205, 20));
|
||||
jRadioButtonSelect.setText("Select Existing Library Class");
|
||||
jRadioButtonSelect.addActionListener(this);
|
||||
jRadioButtonSelect.setSelected(true);
|
||||
}
|
||||
return jRadioButtonSelect;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextFieldAdd
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextFieldAdd() {
|
||||
if (jTextFieldAdd == null) {
|
||||
jTextFieldAdd = new JTextField();
|
||||
jTextFieldAdd.setBounds(new java.awt.Rectangle(220, 35, 260, 20));
|
||||
jTextFieldAdd.setEnabled(false);
|
||||
}
|
||||
return jTextFieldAdd;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jComboBoxSelect
|
||||
|
||||
@return javax.swing.JComboBox
|
||||
**/
|
||||
private JComboBox getJComboBoxSelect() {
|
||||
if (jComboBoxSelect == null) {
|
||||
jComboBoxSelect = new JComboBox();
|
||||
jComboBoxSelect.setBounds(new java.awt.Rectangle(220, 10, 260, 20));
|
||||
jComboBoxSelect.setEnabled(true);
|
||||
}
|
||||
return jComboBoxSelect;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jComboBoxUsage
|
||||
|
||||
@return javax.swing.JComboBox
|
||||
**/
|
||||
private JComboBox getJComboBoxUsage() {
|
||||
if (jComboBoxUsage == null) {
|
||||
jComboBoxUsage = new JComboBox();
|
||||
jComboBoxUsage.setBounds(new java.awt.Rectangle(220, 60, 260, 20));
|
||||
jComboBoxUsage.setEnabled(false);
|
||||
}
|
||||
return jComboBoxUsage;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jScrollPane
|
||||
|
||||
@return javax.swing.JScrollPane
|
||||
**/
|
||||
private JScrollPane getJScrollPane() {
|
||||
if (jScrollPane == null) {
|
||||
jScrollPane = new JScrollPane();
|
||||
jScrollPane.setBounds(new java.awt.Rectangle(10,149,350,146));
|
||||
jScrollPane.setViewportView(getJListLibraryClassDefinitions());
|
||||
}
|
||||
return jScrollPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jListLibraryClassDefinitions
|
||||
|
||||
@return javax.swing.JList
|
||||
**/
|
||||
private JList getJListLibraryClassDefinitions() {
|
||||
if (jListLibraryClassDefinitions == null) {
|
||||
jListLibraryClassDefinitions = new JList(listItem);
|
||||
}
|
||||
return jListLibraryClassDefinitions;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonAdd
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonAdd() {
|
||||
if (jButtonAdd == null) {
|
||||
jButtonAdd = new JButton();
|
||||
jButtonAdd.setBounds(new java.awt.Rectangle(375,152,90,20));
|
||||
jButtonAdd.setText("Add");
|
||||
jButtonAdd.addActionListener(this);
|
||||
}
|
||||
return jButtonAdd;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonRemove
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonRemove() {
|
||||
if (jButtonRemove == null) {
|
||||
jButtonRemove = new JButton();
|
||||
jButtonRemove.setBounds(new java.awt.Rectangle(375, 230, 90, 20));
|
||||
jButtonRemove.setText("Remove");
|
||||
jButtonRemove.addActionListener(this);
|
||||
}
|
||||
return jButtonRemove;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonRemoveAll
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonClearAll() {
|
||||
if (jButtonClearAll == null) {
|
||||
jButtonClearAll = new JButton();
|
||||
jButtonClearAll.setBounds(new java.awt.Rectangle(375, 260, 90, 20));
|
||||
jButtonClearAll.setText("Clear All");
|
||||
jButtonClearAll.addActionListener(this);
|
||||
}
|
||||
return jButtonClearAll;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonCancel
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonCancel() {
|
||||
if (jButtonCancel == null) {
|
||||
jButtonCancel = new JButton();
|
||||
jButtonCancel.setPreferredSize(new java.awt.Dimension(90, 20));
|
||||
jButtonCancel.setLocation(new java.awt.Point(390, 305));
|
||||
jButtonCancel.setText("Cancel");
|
||||
jButtonCancel.setSize(new java.awt.Dimension(90, 20));
|
||||
jButtonCancel.addActionListener(this);
|
||||
}
|
||||
return jButtonCancel;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonOk() {
|
||||
if (jButtonOk == null) {
|
||||
jButtonOk = new JButton();
|
||||
jButtonOk.setSize(new java.awt.Dimension(90, 20));
|
||||
jButtonOk.setText("OK");
|
||||
jButtonOk.setLocation(new java.awt.Point(290, 305));
|
||||
jButtonOk.addActionListener(this);
|
||||
}
|
||||
return jButtonOk;
|
||||
}
|
||||
|
||||
/**
|
||||
This is the default constructor
|
||||
**/
|
||||
public PackageLibraryClass(SpdFileContents sfc) {
|
||||
super();
|
||||
initialize();
|
||||
init();
|
||||
this.sfc = sfc;
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
**/
|
||||
protected void centerWindow(int intWidth, int intHeight) {
|
||||
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
|
||||
this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
**/
|
||||
protected void centerWindow() {
|
||||
centerWindow(this.getSize().width, this.getSize().height);
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
@return void
|
||||
**/
|
||||
private void init() {
|
||||
this.setContentPane(getJContentPane());
|
||||
this.setTitle("Library Class Declarations");
|
||||
this.setBounds(new java.awt.Rectangle(0, 0, 500, 370));
|
||||
this.centerWindow();
|
||||
initFrame();
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jContentPane
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJContentPane() {
|
||||
if (jContentPane == null) {
|
||||
jLabel = new JLabel();
|
||||
jLabel.setBounds(new java.awt.Rectangle(14, 85, 201, 22));
|
||||
jLabel.setText("Include Header for Selected Class");
|
||||
jLabelUsage = new JLabel();
|
||||
jLabelUsage.setBounds(new java.awt.Rectangle(15, 60, 200, 20));
|
||||
jLabelUsage.setEnabled(false);
|
||||
jLabelUsage.setText("Usage");
|
||||
jContentPane = new JPanel();
|
||||
jContentPane.setLayout(null);
|
||||
jContentPane.add(getJRadioButtonAdd(), null);
|
||||
jContentPane.add(getJRadioButtonSelect(), null);
|
||||
jContentPane.add(getJTextFieldAdd(), null);
|
||||
jContentPane.add(getJComboBoxSelect(), null);
|
||||
jContentPane.add(jLabelUsage, null);
|
||||
jContentPane.add(getJComboBoxUsage(), null);
|
||||
jContentPane.add(getJScrollPane(), null);
|
||||
jContentPane.add(getJButtonAdd(), null);
|
||||
jContentPane.add(getJButtonRemove(), null);
|
||||
jContentPane.add(getJButtonClearAll(), null);
|
||||
jContentPane.add(getJButtonCancel(), null);
|
||||
jContentPane.add(getJButtonOk(), null);
|
||||
jContentPane.add(jLabel, null);
|
||||
jContentPane.add(getJTextField(), null);
|
||||
jContentPane.add(getJButtonBrowse(), null);
|
||||
}
|
||||
return jContentPane;
|
||||
}
|
||||
|
||||
/**
|
||||
fill ComboBoxes with pre-defined contents
|
||||
**/
|
||||
private void initFrame() {
|
||||
jComboBoxSelect.addItem("BaseCpuICacheFlush");
|
||||
jComboBoxSelect.addItem("BaseDebugLibNull");
|
||||
jComboBoxSelect.addItem("BaseDebugLibReportStatusCode");
|
||||
jComboBoxSelect.addItem("BaseIoLibIntrinsic");
|
||||
jComboBoxSelect.addItem("BaseLib");
|
||||
jComboBoxSelect.addItem("BaseMemoryLib");
|
||||
jComboBoxSelect.addItem("BaseMemoryLibMmx");
|
||||
jComboBoxSelect.addItem("BaseMemoryLibSse2");
|
||||
jComboBoxSelect.addItem("BasePeCoffGetEntryPointLib");
|
||||
jComboBoxSelect.addItem("BasePeCoffLib");
|
||||
jComboBoxSelect.addItem("BasePrintLib");
|
||||
jComboBoxSelect.addItem("BaseReportStatusCodeLibNull");
|
||||
jComboBoxSelect.addItem("CommonPciCf8Lib");
|
||||
jComboBoxSelect.addItem("CommonPciExpressLib");
|
||||
jComboBoxSelect.addItem("CommonPciLibCf8");
|
||||
jComboBoxSelect.addItem("CommonPciLibPciExpress");
|
||||
jComboBoxSelect.addItem("DxeCoreEntryPoint");
|
||||
jComboBoxSelect.addItem("DxeHobLib");
|
||||
jComboBoxSelect.addItem("DxeIoLibCpuIo");
|
||||
jComboBoxSelect.addItem("DxeLib");
|
||||
jComboBoxSelect.addItem("DxePcdLib");
|
||||
jComboBoxSelect.addItem("DxeReportStatusCodeLib");
|
||||
jComboBoxSelect.addItem("DxeServicesTableLib");
|
||||
jComboBoxSelect.addItem("PeiCoreEntryPoint");
|
||||
jComboBoxSelect.addItem("PeiMemoryLib");
|
||||
jComboBoxSelect.addItem("PeimEntryPoint");
|
||||
jComboBoxSelect.addItem("PeiReportStatusCodeLib");
|
||||
jComboBoxSelect.addItem("PeiServicesTablePointerLib");
|
||||
jComboBoxSelect.addItem("PeiServicesTablePointerLibMm7");
|
||||
jComboBoxSelect.addItem("UefiDebugLibConOut");
|
||||
jComboBoxSelect.addItem("UefiDebugLibStdErr");
|
||||
jComboBoxSelect.addItem("UefiDriverEntryPointMultiple");
|
||||
jComboBoxSelect.addItem("UefiDriverEntryPointSingle");
|
||||
jComboBoxSelect.addItem("UefiDriverEntryPointSingleUnload");
|
||||
jComboBoxSelect.addItem("UefiDriverModelLib");
|
||||
jComboBoxSelect.addItem("UefiDriverModelLibNoConfigNoDiag");
|
||||
jComboBoxSelect.addItem("UefiLib");
|
||||
jComboBoxSelect.addItem("UefiMemoryLib");
|
||||
|
||||
jComboBoxUsage.addItem("ALWAYS_CONSUMED");
|
||||
jComboBoxUsage.addItem("SOMETIMES_CONSUMED");
|
||||
jComboBoxUsage.addItem("ALWAYS_PRODUCED");
|
||||
jComboBoxUsage.addItem("SOMETIMES_PRODUCED");
|
||||
jComboBoxUsage.addItem("DEFAULT");
|
||||
jComboBoxUsage.addItem("PRIVATE");
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
|
||||
*/
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
if (arg0.getSource() == jButtonOk) {
|
||||
this.save();
|
||||
this.dispose();
|
||||
|
||||
}
|
||||
if (arg0.getSource() == jButtonCancel) {
|
||||
this.dispose();
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jButtonAdd) {
|
||||
String strLibClass = "";
|
||||
if (jRadioButtonAdd.isSelected()) {
|
||||
strLibClass = jTextFieldAdd.getText();
|
||||
}
|
||||
if (jRadioButtonSelect.isSelected()) {
|
||||
strLibClass = jComboBoxSelect.getSelectedItem().toString();
|
||||
}
|
||||
listItem.addElement(jTextField.getText() + this.Separator + strLibClass);
|
||||
}
|
||||
//
|
||||
// remove selected line
|
||||
//
|
||||
if (arg0.getSource() == jButtonRemove) {
|
||||
int intSelected[] = jListLibraryClassDefinitions.getSelectedIndices();
|
||||
if (intSelected.length > 0) {
|
||||
for (int index = intSelected.length - 1; index > -1; index--) {
|
||||
listItem.removeElementAt(intSelected[index]);
|
||||
}
|
||||
}
|
||||
jListLibraryClassDefinitions.getSelectionModel().clearSelection();
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jButtonClearAll) {
|
||||
listItem.removeAllElements();
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jRadioButtonAdd) {
|
||||
if (jRadioButtonAdd.isSelected()) {
|
||||
jRadioButtonSelect.setSelected(false);
|
||||
jTextFieldAdd.setEnabled(true);
|
||||
jComboBoxSelect.setEnabled(false);
|
||||
}
|
||||
if (!jRadioButtonSelect.isSelected() && !jRadioButtonAdd.isSelected()) {
|
||||
jRadioButtonAdd.setSelected(true);
|
||||
jTextFieldAdd.setEnabled(true);
|
||||
jComboBoxSelect.setEnabled(false);
|
||||
}
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jRadioButtonSelect) {
|
||||
if (jRadioButtonSelect.isSelected()) {
|
||||
jRadioButtonAdd.setSelected(false);
|
||||
jTextFieldAdd.setEnabled(false);
|
||||
jComboBoxSelect.setEnabled(true);
|
||||
}
|
||||
if (!jRadioButtonSelect.isSelected() && !jRadioButtonAdd.isSelected()) {
|
||||
jRadioButtonSelect.setSelected(true);
|
||||
jTextFieldAdd.setEnabled(false);
|
||||
jComboBoxSelect.setEnabled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Add contents in list to sfc
|
||||
**/
|
||||
protected void save() {
|
||||
try {
|
||||
int intLibraryCount = listItem.getSize();
|
||||
|
||||
if (intLibraryCount > 0) {
|
||||
|
||||
for (int index = 0; index < intLibraryCount; index++) {
|
||||
String strAll = listItem.get(index).toString();
|
||||
String strInclude = strAll.substring(0, strAll.indexOf(Separator));
|
||||
String strLibraryClass = strAll.substring(strAll.indexOf(Separator) + Separator.length());
|
||||
sfc.genSpdLibClassDeclarations(strLibraryClass, null, strInclude, null, null, null, null, null,
|
||||
null, null);
|
||||
}
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
System.out.println(e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextField
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextField() {
|
||||
if (jTextField == null) {
|
||||
jTextField = new JTextField();
|
||||
jTextField.setBounds(new java.awt.Rectangle(12,112,346,21));
|
||||
}
|
||||
return jTextField;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonBrowse
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonBrowse() {
|
||||
if (jButtonBrowse == null) {
|
||||
jButtonBrowse = new JButton();
|
||||
jButtonBrowse.setBounds(new java.awt.Rectangle(374,111,92,21));
|
||||
jButtonBrowse.setText("Browse");
|
||||
jButtonBrowse.setPreferredSize(new java.awt.Dimension(34,20));
|
||||
jButtonBrowse.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
//
|
||||
// Select files from current workspace
|
||||
//
|
||||
JFileChooser chooser = new JFileChooser(System.getenv("WORKSPACE"));
|
||||
|
||||
chooser.setMultiSelectionEnabled(false);
|
||||
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
|
||||
int retval = chooser.showOpenDialog(frame);
|
||||
if (retval == JFileChooser.APPROVE_OPTION) {
|
||||
|
||||
File theFile = chooser.getSelectedFile();
|
||||
String file = theFile.getPath();
|
||||
if (!file.startsWith(System.getenv("WORKSPACE"))) {
|
||||
JOptionPane.showMessageDialog(frame, "You can only select files in current workspace!");
|
||||
return;
|
||||
}
|
||||
//
|
||||
// record relative path of selected file. Assume top level package directory lies directly in workspace
|
||||
//
|
||||
int fileIndex = file.indexOf(System.getProperty("file.separator"), System.getenv("WORKSPACE").length() + 1);
|
||||
jTextField.setText(file.substring(fileIndex + 1));
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButtonBrowse;
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,352 @@
|
||||
/** @file
|
||||
Java class PackageMsaFile is GUI for create MsaFile elements of spd file.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Toolkit;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.File;
|
||||
import java.util.Vector;
|
||||
|
||||
import javax.swing.DefaultListModel;
|
||||
import javax.swing.JFileChooser;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JRadioButton;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.JComboBox;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JList;
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
|
||||
/**
|
||||
GUI for create MsaFile elements of spd file
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class PackageMsaFile extends JFrame implements ActionListener {
|
||||
static JFrame frame;
|
||||
|
||||
private DefaultListModel listItem = new DefaultListModel();
|
||||
|
||||
private SpdFileContents sfc = null;
|
||||
|
||||
private JPanel jContentPane = null;
|
||||
|
||||
private JScrollPane jScrollPane = null;
|
||||
|
||||
private JList jListLibraryClassDefinitions = null;
|
||||
|
||||
private JButton jButtonAdd = null;
|
||||
|
||||
private JButton jButtonRemove = null;
|
||||
|
||||
private JButton jButtonClearAll = null;
|
||||
|
||||
private JButton jButtonCancel = null;
|
||||
|
||||
private JButton jButtonOk = null;
|
||||
|
||||
private JLabel jLabel = null;
|
||||
|
||||
private JTextField jTextField = null;
|
||||
|
||||
private JButton jButton = null;
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
**/
|
||||
private void initialize() {
|
||||
this.setTitle("MSA Files");
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jScrollPane
|
||||
|
||||
@return javax.swing.JScrollPane
|
||||
**/
|
||||
private JScrollPane getJScrollPane() {
|
||||
if (jScrollPane == null) {
|
||||
jScrollPane = new JScrollPane();
|
||||
jScrollPane.setBounds(new java.awt.Rectangle(10, 85, 350, 210));
|
||||
jScrollPane.setViewportView(getJListLibraryClassDefinitions());
|
||||
}
|
||||
return jScrollPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jListLibraryClassDefinitions
|
||||
|
||||
@return javax.swing.JList
|
||||
**/
|
||||
private JList getJListLibraryClassDefinitions() {
|
||||
if (jListLibraryClassDefinitions == null) {
|
||||
jListLibraryClassDefinitions = new JList(listItem);
|
||||
}
|
||||
return jListLibraryClassDefinitions;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonAdd
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonAdd() {
|
||||
if (jButtonAdd == null) {
|
||||
jButtonAdd = new JButton();
|
||||
jButtonAdd.setBounds(new java.awt.Rectangle(375, 132, 90, 20));
|
||||
jButtonAdd.setText("Add");
|
||||
jButtonAdd.addActionListener(this);
|
||||
}
|
||||
return jButtonAdd;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonRemove
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonRemove() {
|
||||
if (jButtonRemove == null) {
|
||||
jButtonRemove = new JButton();
|
||||
jButtonRemove.setBounds(new java.awt.Rectangle(375, 230, 90, 20));
|
||||
jButtonRemove.setText("Remove");
|
||||
jButtonRemove.addActionListener(this);
|
||||
}
|
||||
return jButtonRemove;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonRemoveAll
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonClearAll() {
|
||||
if (jButtonClearAll == null) {
|
||||
jButtonClearAll = new JButton();
|
||||
jButtonClearAll.setBounds(new java.awt.Rectangle(375, 260, 90, 20));
|
||||
jButtonClearAll.setText("Clear All");
|
||||
jButtonClearAll.addActionListener(this);
|
||||
}
|
||||
return jButtonClearAll;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonCancel
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonCancel() {
|
||||
if (jButtonCancel == null) {
|
||||
jButtonCancel = new JButton();
|
||||
jButtonCancel.setPreferredSize(new java.awt.Dimension(90, 20));
|
||||
jButtonCancel.setLocation(new java.awt.Point(390, 305));
|
||||
jButtonCancel.setText("Cancel");
|
||||
jButtonCancel.setSize(new java.awt.Dimension(90, 20));
|
||||
jButtonCancel.addActionListener(this);
|
||||
}
|
||||
return jButtonCancel;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonOk() {
|
||||
if (jButtonOk == null) {
|
||||
jButtonOk = new JButton();
|
||||
jButtonOk.setSize(new java.awt.Dimension(90, 20));
|
||||
jButtonOk.setText("OK");
|
||||
jButtonOk.setLocation(new java.awt.Point(290, 305));
|
||||
jButtonOk.addActionListener(this);
|
||||
}
|
||||
return jButtonOk;
|
||||
}
|
||||
|
||||
/**
|
||||
This is the default constructor
|
||||
**/
|
||||
public PackageMsaFile(SpdFileContents sfc) {
|
||||
super();
|
||||
initialize();
|
||||
init();
|
||||
this.sfc = sfc;
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
*/
|
||||
protected void centerWindow(int intWidth, int intHeight) {
|
||||
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
|
||||
this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
**/
|
||||
protected void centerWindow() {
|
||||
centerWindow(this.getSize().width, this.getSize().height);
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
@return void
|
||||
**/
|
||||
private void init() {
|
||||
this.setContentPane(getJContentPane());
|
||||
this.setTitle("Library Class Declarations");
|
||||
this.setBounds(new java.awt.Rectangle(0, 0, 500, 370));
|
||||
this.centerWindow();
|
||||
initFrame();
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jContentPane
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJContentPane() {
|
||||
if (jContentPane == null) {
|
||||
jLabel = new JLabel();
|
||||
jLabel.setBounds(new java.awt.Rectangle(11,20,143,22));
|
||||
jLabel.setText("Msa File Path and Name");
|
||||
jContentPane = new JPanel();
|
||||
jContentPane.setLayout(null);
|
||||
jContentPane.add(getJScrollPane(), null);
|
||||
jContentPane.add(getJButtonAdd(), null);
|
||||
jContentPane.add(getJButtonRemove(), null);
|
||||
jContentPane.add(getJButtonClearAll(), null);
|
||||
jContentPane.add(getJButtonCancel(), null);
|
||||
jContentPane.add(getJButtonOk(), null);
|
||||
jContentPane.add(jLabel, null);
|
||||
jContentPane.add(getJTextField(), null);
|
||||
jContentPane.add(getJButton(), null);
|
||||
}
|
||||
return jContentPane;
|
||||
}
|
||||
|
||||
private void initFrame() {
|
||||
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
if (arg0.getSource() == jButtonOk) {
|
||||
this.dispose();
|
||||
this.save();
|
||||
}
|
||||
if (arg0.getSource() == jButtonCancel) {
|
||||
this.dispose();
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jButtonAdd) {
|
||||
|
||||
listItem.addElement(jTextField.getText());
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jButtonRemove) {
|
||||
int intSelected[] = jListLibraryClassDefinitions.getSelectedIndices();
|
||||
if (intSelected.length > 0) {
|
||||
for (int index = intSelected.length - 1; index > -1; index--) {
|
||||
listItem.removeElementAt(intSelected[index]);
|
||||
}
|
||||
}
|
||||
jListLibraryClassDefinitions.getSelectionModel().clearSelection();
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jButtonClearAll) {
|
||||
listItem.removeAllElements();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
protected void save() {
|
||||
try {
|
||||
int intLibraryCount = listItem.getSize();
|
||||
|
||||
if (intLibraryCount > 0) {
|
||||
|
||||
for (int index = 0; index < intLibraryCount; index++) {
|
||||
String strAll = listItem.get(index).toString();
|
||||
sfc.genSpdMsaFiles(strAll, null);
|
||||
}
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
System.out.println(e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextField
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextField() {
|
||||
if (jTextField == null) {
|
||||
jTextField = new JTextField();
|
||||
jTextField.setBounds(new java.awt.Rectangle(11,44,349,21));
|
||||
}
|
||||
return jTextField;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton() {
|
||||
if (jButton == null) {
|
||||
jButton = new JButton();
|
||||
jButton.setBounds(new java.awt.Rectangle(377,46,89,20));
|
||||
jButton.setText("Browse");
|
||||
jButton.setPreferredSize(new java.awt.Dimension(34,20));
|
||||
jButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
JFileChooser chooser = new JFileChooser(System.getenv("WORKSPACE"));
|
||||
|
||||
chooser.setMultiSelectionEnabled(false);
|
||||
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
|
||||
chooser.setFileFilter(new PkgFileFilter("msa"));
|
||||
int retval = chooser.showOpenDialog(frame);
|
||||
if (retval == JFileChooser.APPROVE_OPTION) {
|
||||
|
||||
File theFile = chooser.getSelectedFile();
|
||||
String file = theFile.getPath();
|
||||
if (!file.startsWith(System.getenv("WORKSPACE"))) {
|
||||
JOptionPane.showMessageDialog(frame, "You can only select files in current workspace!");
|
||||
return;
|
||||
}
|
||||
int fileIndex = file.indexOf(System.getProperty("file.separator"), System.getenv("WORKSPACE").length() + 1);
|
||||
jTextField.setText(file.substring(fileIndex + 1));
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton;
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,533 @@
|
||||
/** @file
|
||||
Java class PackageNew is the top level GUI for create spd file.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Toolkit;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JTextArea;
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JComboBox;
|
||||
|
||||
import org.tianocore.common.Tools;
|
||||
import org.tianocore.packaging.common.ui.StarLabel;
|
||||
|
||||
/**
|
||||
This class contains GUI components to show various GUIs for creating spd file elements
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class PackageNew extends JFrame implements ActionListener {
|
||||
|
||||
private JPanel jContentPane = null; // @jve:decl-index=0:visual-constraint="128,4"
|
||||
|
||||
private JLabel jLabelBaseName = null;
|
||||
|
||||
private JTextField jTextFieldBaseName = null;
|
||||
|
||||
private JLabel jLabelGuid = null;
|
||||
|
||||
private JTextField jTextFieldGuid = null;
|
||||
|
||||
private JLabel jLabelVersion = null;
|
||||
|
||||
private JTextField jTextFieldVersion = null;
|
||||
|
||||
private JButton jButtonGenerateGuid = null;
|
||||
|
||||
private JLabel jLabelLicense = null;
|
||||
|
||||
private JTextArea jTextAreaLicense = null;
|
||||
|
||||
private JLabel jLabelCopyright = null;
|
||||
|
||||
private JTextArea jTextAreaCopyright = null;
|
||||
|
||||
private JLabel jLabelDescription = null;
|
||||
|
||||
private JTextArea jTextAreaDescription = null;
|
||||
|
||||
private JButton jButtonOk = null;
|
||||
|
||||
private JButton jButtonCancel = null;
|
||||
|
||||
private JScrollPane jScrollPaneLicense = null;
|
||||
|
||||
private JScrollPane jScrollPaneDescription = null;
|
||||
|
||||
private JLabel jLabelAbstract = null;
|
||||
|
||||
private JTextField jTextFieldAbstract = null;
|
||||
|
||||
private JLabel jLabelModuleType = null;
|
||||
|
||||
private JLabel jLabelCompontentType = null;
|
||||
|
||||
private JComboBox jComboBox1 = null;
|
||||
|
||||
private JComboBox jComboBoxModuleType = null;
|
||||
|
||||
private StarLabel jStarLabel1 = null;
|
||||
|
||||
private StarLabel jStarLabel2 = null;
|
||||
|
||||
private StarLabel jStarLabel3 = null;
|
||||
|
||||
private StarLabel jStarLabel4 = null;
|
||||
|
||||
private StarLabel jStarLabel5 = null;
|
||||
|
||||
private StarLabel jStarLabel6 = null;
|
||||
|
||||
private StarLabel jStarLabel7 = null;
|
||||
|
||||
private StarLabel jStarLabel8 = null;
|
||||
|
||||
private JLabel jLabelURL = null;
|
||||
|
||||
private JTextField jTextFieldAbstractURL = null;
|
||||
|
||||
private JLabel jLabel = null;
|
||||
|
||||
private JComboBox jComboBox = null;
|
||||
|
||||
private SpdFileContents sfc = null;
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
**/
|
||||
private void initialize() {
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextFieldBaseName
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextFieldBaseName() {
|
||||
if (jTextFieldBaseName == null) {
|
||||
jTextFieldBaseName = new JTextField();
|
||||
jTextFieldBaseName.setBounds(new java.awt.Rectangle(160, 10, 320, 20));
|
||||
}
|
||||
return jTextFieldBaseName;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextFieldGuid
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextFieldGuid() {
|
||||
if (jTextFieldGuid == null) {
|
||||
jTextFieldGuid = new JTextField();
|
||||
jTextFieldGuid.setBounds(new java.awt.Rectangle(160, 35, 240, 20));
|
||||
}
|
||||
return jTextFieldGuid;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextFieldVersion
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextFieldVersion() {
|
||||
if (jTextFieldVersion == null) {
|
||||
jTextFieldVersion = new JTextField();
|
||||
jTextFieldVersion.setBounds(new java.awt.Rectangle(160, 60, 320, 20));
|
||||
}
|
||||
return jTextFieldVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonGenerateGuid
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonGenerateGuid() {
|
||||
if (jButtonGenerateGuid == null) {
|
||||
jButtonGenerateGuid = new JButton();
|
||||
jButtonGenerateGuid.setBounds(new java.awt.Rectangle(405, 35, 75, 20));
|
||||
jButtonGenerateGuid.setText("GEN");
|
||||
jButtonGenerateGuid.addActionListener(this);
|
||||
}
|
||||
return jButtonGenerateGuid;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextAreaLicense
|
||||
|
||||
@return javax.swing.JTextArea
|
||||
**/
|
||||
private JTextArea getJTextAreaLicense() {
|
||||
if (jTextAreaLicense == null) {
|
||||
jTextAreaLicense = new JTextArea();
|
||||
jTextAreaLicense.setText("");
|
||||
jTextAreaLicense.setLineWrap(true);
|
||||
}
|
||||
return jTextAreaLicense;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextAreaCopyright
|
||||
|
||||
@return javax.swing.JTextArea
|
||||
**/
|
||||
private JTextArea getJTextAreaCopyright() {
|
||||
if (jTextAreaCopyright == null) {
|
||||
jTextAreaCopyright = new JTextArea();
|
||||
jTextAreaCopyright.setLineWrap(true);
|
||||
jTextAreaCopyright.setBounds(new java.awt.Rectangle(160,172,319,20));
|
||||
}
|
||||
return jTextAreaCopyright;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextAreaDescription
|
||||
|
||||
@return javax.swing.JTextArea
|
||||
**/
|
||||
private JTextArea getJTextAreaDescription() {
|
||||
if (jTextAreaDescription == null) {
|
||||
jTextAreaDescription = new JTextArea();
|
||||
jTextAreaDescription.setLineWrap(true);
|
||||
}
|
||||
return jTextAreaDescription;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonNext
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonOk() {
|
||||
if (jButtonOk == null) {
|
||||
jButtonOk = new JButton();
|
||||
jButtonOk.setText("OK");
|
||||
jButtonOk.setBounds(new java.awt.Rectangle(290, 481, 90, 20));
|
||||
jButtonOk.addActionListener(this);
|
||||
}
|
||||
return jButtonOk;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonCancel
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonCancel() {
|
||||
if (jButtonCancel == null) {
|
||||
jButtonCancel = new JButton();
|
||||
jButtonCancel.setText("Cancel");
|
||||
jButtonCancel.setBounds(new java.awt.Rectangle(390, 481, 90, 20));
|
||||
jButtonCancel.addActionListener(this);
|
||||
}
|
||||
return jButtonCancel;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jScrollPane
|
||||
|
||||
@return javax.swing.JScrollPane
|
||||
**/
|
||||
private JScrollPane getJScrollPaneLicense() {
|
||||
if (jScrollPaneLicense == null) {
|
||||
jScrollPaneLicense = new JScrollPane();
|
||||
jScrollPaneLicense.setBounds(new java.awt.Rectangle(160, 85, 320, 80));
|
||||
jScrollPaneLicense.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
|
||||
jScrollPaneLicense.setViewportView(getJTextAreaLicense());
|
||||
}
|
||||
return jScrollPaneLicense;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jScrollPane2
|
||||
|
||||
@return javax.swing.JScrollPane
|
||||
**/
|
||||
private JScrollPane getJScrollPaneDescription() {
|
||||
if (jScrollPaneDescription == null) {
|
||||
jScrollPaneDescription = new JScrollPane();
|
||||
jScrollPaneDescription.setBounds(new java.awt.Rectangle(160, 322, 320, 80));
|
||||
jScrollPaneDescription.setViewportView(getJTextAreaDescription());
|
||||
jScrollPaneDescription.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
|
||||
}
|
||||
return jScrollPaneDescription;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextFieldAbstract
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextFieldAbstract() {
|
||||
if (jTextFieldAbstract == null) {
|
||||
jTextFieldAbstract = new JTextField();
|
||||
jTextFieldAbstract.setBounds(new java.awt.Rectangle(159,218,318,70));
|
||||
}
|
||||
return jTextFieldAbstract;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jComboBoxCompontentType
|
||||
|
||||
@return javax.swing.JComboBox
|
||||
**/
|
||||
private JComboBox getJComboBox1() {
|
||||
if (jComboBox1 == null) {
|
||||
jComboBox1 = new JComboBox();
|
||||
jComboBox1.setBounds(new java.awt.Rectangle(160, 465, 91, 20));
|
||||
}
|
||||
return jComboBox1;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jComboBoxModuleType
|
||||
|
||||
@return javax.swing.JComboBox
|
||||
**/
|
||||
private JComboBox getJComboBoxModuleType() {
|
||||
if (jComboBoxModuleType == null) {
|
||||
jComboBoxModuleType = new JComboBox();
|
||||
jComboBoxModuleType.setBounds(new java.awt.Rectangle(160, 440, 91, 20));
|
||||
}
|
||||
return jComboBoxModuleType;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextFieldAbstractURL
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextFieldAbstractURL() {
|
||||
if (jTextFieldAbstractURL == null) {
|
||||
jTextFieldAbstractURL = new JTextField();
|
||||
jTextFieldAbstractURL.setBounds(new java.awt.Rectangle(159, 414, 320, 20));
|
||||
}
|
||||
return jTextFieldAbstractURL;
|
||||
}
|
||||
|
||||
public PackageNew(SpdFileContents sfc) {
|
||||
super();
|
||||
initialize();
|
||||
init();
|
||||
this.setVisible(true);
|
||||
this.sfc = sfc;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
**/
|
||||
protected void centerWindow(int intWidth, int intHeight) {
|
||||
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
|
||||
this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
**/
|
||||
protected void centerWindow() {
|
||||
centerWindow(this.getSize().width, this.getSize().height);
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
@return void
|
||||
**/
|
||||
private void init() {
|
||||
this.setSize(500, 560);
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
this.setContentPane(getJContentPane());
|
||||
this.setTitle("SPD File Header");
|
||||
this.centerWindow();
|
||||
//this.getRootPane().setDefaultButton(jButtonOk);
|
||||
initFrame();
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jContentPane
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJContentPane() {
|
||||
if (jContentPane == null) {
|
||||
jLabel = new JLabel();
|
||||
jLabel.setBounds(new java.awt.Rectangle(15, 490, 140, 21));
|
||||
jLabel.setText("Re-Package");
|
||||
jLabelURL = new JLabel();
|
||||
jLabelURL.setBounds(new java.awt.Rectangle(16, 414, 25, 20));
|
||||
jLabelURL.setText("URL");
|
||||
jLabelCompontentType = new JLabel();
|
||||
jLabelCompontentType.setBounds(new java.awt.Rectangle(15, 465, 140, 20));
|
||||
jLabelCompontentType.setText("Read Only");
|
||||
jLabelModuleType = new JLabel();
|
||||
jLabelModuleType.setBounds(new java.awt.Rectangle(15, 440, 140, 20));
|
||||
jLabelModuleType.setText("Package Type");
|
||||
jLabelAbstract = new JLabel();
|
||||
jLabelAbstract.setBounds(new java.awt.Rectangle(15,218,140,20));
|
||||
jLabelAbstract.setText("Abstract");
|
||||
jLabelDescription = new JLabel();
|
||||
jLabelDescription.setText("Description");
|
||||
jLabelDescription.setBounds(new java.awt.Rectangle(16, 325, 140, 20));
|
||||
jLabelCopyright = new JLabel();
|
||||
jLabelCopyright.setText("Copyright");
|
||||
jLabelCopyright.setBounds(new java.awt.Rectangle(15, 171, 140, 20));
|
||||
jLabelLicense = new JLabel();
|
||||
jLabelLicense.setText("License");
|
||||
jLabelLicense.setBounds(new java.awt.Rectangle(15, 85, 140, 20));
|
||||
jLabelVersion = new JLabel();
|
||||
jLabelVersion.setText("Version");
|
||||
jLabelVersion.setBounds(new java.awt.Rectangle(15, 60, 140, 20));
|
||||
jLabelGuid = new JLabel();
|
||||
jLabelGuid.setPreferredSize(new java.awt.Dimension(25, 15));
|
||||
jLabelGuid.setBounds(new java.awt.Rectangle(15, 35, 140, 20));
|
||||
jLabelGuid.setText("Guid");
|
||||
jLabelBaseName = new JLabel();
|
||||
jLabelBaseName.setText("Package Name");
|
||||
jLabelBaseName.setBounds(new java.awt.Rectangle(15, 10, 140, 20));
|
||||
jContentPane = new JPanel();
|
||||
jContentPane.setLayout(null);
|
||||
jContentPane.setLocation(new java.awt.Point(0, 0));
|
||||
jContentPane.setSize(new java.awt.Dimension(500, 524));
|
||||
jContentPane.add(jLabelBaseName, null);
|
||||
jContentPane.add(getJTextFieldBaseName(), null);
|
||||
jContentPane.add(jLabelGuid, null);
|
||||
jContentPane.add(getJTextFieldGuid(), null);
|
||||
jContentPane.add(jLabelVersion, null);
|
||||
jContentPane.add(getJTextFieldVersion(), null);
|
||||
jContentPane.add(getJButtonGenerateGuid(), null);
|
||||
jContentPane.add(jLabelLicense, null);
|
||||
jContentPane.add(jLabelCopyright, null);
|
||||
jContentPane.add(jLabelDescription, null);
|
||||
jContentPane.add(getJButtonOk(), null);
|
||||
jContentPane.add(getJButtonCancel(), null);
|
||||
jContentPane.add(getJScrollPaneLicense(), null);
|
||||
jContentPane.add(getJScrollPaneDescription(), null);
|
||||
jContentPane.add(jLabelAbstract, null);
|
||||
jContentPane.add(getJTextFieldAbstract(), null);
|
||||
jContentPane.add(jLabelModuleType, null);
|
||||
jContentPane.add(jLabelCompontentType, null);
|
||||
jContentPane.add(getJComboBox1(), null);
|
||||
jContentPane.add(getJComboBoxModuleType(), null);
|
||||
|
||||
jStarLabel1 = new StarLabel();
|
||||
jStarLabel1.setLocation(new java.awt.Point(0, 10));
|
||||
jStarLabel2 = new StarLabel();
|
||||
jStarLabel2.setLocation(new java.awt.Point(0, 35));
|
||||
jStarLabel3 = new StarLabel();
|
||||
jStarLabel3.setLocation(new java.awt.Point(0, 60));
|
||||
jStarLabel4 = new StarLabel();
|
||||
jStarLabel4.setLocation(new java.awt.Point(0, 85));
|
||||
jStarLabel5 = new StarLabel();
|
||||
jStarLabel5.setLocation(new java.awt.Point(0, 171));
|
||||
jStarLabel6 = new StarLabel();
|
||||
jStarLabel6.setLocation(new java.awt.Point(1, 325));
|
||||
jStarLabel7 = new StarLabel();
|
||||
jStarLabel7.setLocation(new java.awt.Point(0,218));
|
||||
jStarLabel8 = new StarLabel();
|
||||
jStarLabel8.setLocation(new java.awt.Point(0, 440));
|
||||
|
||||
jContentPane.add(jStarLabel1, null);
|
||||
jContentPane.add(jStarLabel2, null);
|
||||
jContentPane.add(jStarLabel3, null);
|
||||
jContentPane.add(jStarLabel4, null);
|
||||
jContentPane.add(jStarLabel5, null);
|
||||
jContentPane.add(jStarLabel6, null);
|
||||
jContentPane.add(jStarLabel7, null);
|
||||
jContentPane.add(jStarLabel8, null);
|
||||
jContentPane.add(jLabelURL, null);
|
||||
jContentPane.add(getJTextFieldAbstractURL(), null);
|
||||
jContentPane.add(jLabel, null);
|
||||
jContentPane.add(getJComboBox(), null);
|
||||
jContentPane.add(getJTextAreaCopyright(), null);
|
||||
}
|
||||
return jContentPane;
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
if (arg0.getSource() == jButtonOk) {
|
||||
this.save();
|
||||
this.dispose();
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jButtonCancel) {
|
||||
this.dispose();
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jButtonGenerateGuid) {
|
||||
jTextFieldGuid.setText(Tools.generateUuidString());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Save all components of Msa Header
|
||||
if exist, set the value directly
|
||||
if not exist, new instance first
|
||||
|
||||
**/
|
||||
private void save() {
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
|
||||
Date date = new Date();
|
||||
sfc.genSpdHeader(jTextFieldBaseName.getText(), jTextFieldGuid.getText(), jTextFieldVersion.getText(),
|
||||
jTextFieldAbstract.getText(), jTextAreaDescription.getText(), jTextAreaCopyright.getText(),
|
||||
jTextAreaLicense.getText(), format.format(date), format.format(date),
|
||||
jTextFieldAbstractURL.getText(), jComboBoxModuleType.getSelectedItem().toString(),
|
||||
jComboBox1.getSelectedItem().toString(), jComboBox.getSelectedItem().toString(), null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes module type and compontent type
|
||||
|
||||
**/
|
||||
private void initFrame() {
|
||||
jComboBoxModuleType.addItem("SOURCE");
|
||||
jComboBoxModuleType.addItem("BINARY");
|
||||
jComboBoxModuleType.addItem("MIXED");
|
||||
|
||||
jComboBox1.addItem("true");
|
||||
jComboBox1.addItem("false");
|
||||
|
||||
jComboBox.addItem("false");
|
||||
jComboBox.addItem("true");
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jComboBox
|
||||
|
||||
@return javax.swing.JComboBox
|
||||
**/
|
||||
private JComboBox getJComboBox() {
|
||||
if (jComboBox == null) {
|
||||
jComboBox = new JComboBox();
|
||||
jComboBox.setBounds(new java.awt.Rectangle(160, 490, 90, 20));
|
||||
}
|
||||
return jComboBox;
|
||||
}
|
||||
|
||||
} // @jve:decl-index=0:visual-constraint="38,-22"
|
@@ -0,0 +1,321 @@
|
||||
/** @file
|
||||
Java class PackagePCD is GUI for create PCD definition elements of spd file.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Toolkit;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
import javax.swing.ButtonGroup;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JRadioButton;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.JComboBox;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
|
||||
import org.tianocore.common.Tools;
|
||||
import org.tianocore.packaging.common.ui.StarLabel;
|
||||
|
||||
/**
|
||||
GUI for create PCD definition elements of spd file
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class PackagePCD extends JFrame implements ActionListener {
|
||||
|
||||
private JPanel jContentPane = null;
|
||||
|
||||
private JLabel jLabelItemType = null;
|
||||
|
||||
private JLabel jLabelC_Name = null;
|
||||
|
||||
private JComboBox jComboBoxItemType = null;
|
||||
|
||||
private JTextField jTextFieldC_Name = null;
|
||||
|
||||
private JLabel jLabelToken = null;
|
||||
|
||||
private JTextField jTextFieldToken = null;
|
||||
|
||||
private JLabel jLabelDataType = null;
|
||||
|
||||
private JButton jButtonOk = null;
|
||||
|
||||
private JButton jButtonCancel = null;
|
||||
|
||||
private JComboBox jComboBoxDataType = null;
|
||||
|
||||
private JLabel jLabelOverrideID = null;
|
||||
|
||||
private JTextField jTextFieldOverrideID = null;
|
||||
|
||||
private ButtonGroup bg1 = null;
|
||||
|
||||
private ButtonGroup bg2 = null;
|
||||
|
||||
private ButtonGroup bg3 = null;
|
||||
|
||||
private StarLabel jStarLabel2 = null;
|
||||
|
||||
private StarLabel jStarLabel3 = null;
|
||||
|
||||
private SpdFileContents sfc = null;
|
||||
|
||||
private StarLabel jStarLabel = null;
|
||||
|
||||
private StarLabel jStarLabel1 = null;
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
**/
|
||||
private void initialize() {
|
||||
this.setTitle("PCD Definition");
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jComboBoxItemType
|
||||
|
||||
@return javax.swing.JComboBox
|
||||
**/
|
||||
private JComboBox getJComboBoxItemType() {
|
||||
if (jComboBoxItemType == null) {
|
||||
jComboBoxItemType = new JComboBox();
|
||||
jComboBoxItemType.setBounds(new java.awt.Rectangle(160, 110, 320, 20));
|
||||
}
|
||||
return jComboBoxItemType;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextFieldC_Name
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextFieldC_Name() {
|
||||
if (jTextFieldC_Name == null) {
|
||||
jTextFieldC_Name = new JTextField();
|
||||
jTextFieldC_Name.setBounds(new java.awt.Rectangle(160, 60, 320, 20));
|
||||
}
|
||||
return jTextFieldC_Name;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextFieldToken
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextFieldToken() {
|
||||
if (jTextFieldToken == null) {
|
||||
jTextFieldToken = new JTextField();
|
||||
jTextFieldToken.setBounds(new java.awt.Rectangle(160, 135, 320, 20));
|
||||
}
|
||||
return jTextFieldToken;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonOk
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonOk() {
|
||||
if (jButtonOk == null) {
|
||||
jButtonOk = new JButton();
|
||||
jButtonOk.setText("OK");
|
||||
jButtonOk.setBounds(new java.awt.Rectangle(279,247,90,20));
|
||||
jButtonOk.addActionListener(this);
|
||||
}
|
||||
return jButtonOk;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonCancel
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonCancel() {
|
||||
if (jButtonCancel == null) {
|
||||
jButtonCancel = new JButton();
|
||||
jButtonCancel.setText("Cancel");
|
||||
jButtonCancel.setBounds(new java.awt.Rectangle(389,247,90,20));
|
||||
jButtonCancel.addActionListener(this);
|
||||
}
|
||||
return jButtonCancel;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jComboBoxDataType
|
||||
|
||||
@return javax.swing.JComboBox
|
||||
**/
|
||||
private JComboBox getJComboBoxDataType() {
|
||||
if (jComboBoxDataType == null) {
|
||||
jComboBoxDataType = new JComboBox();
|
||||
jComboBoxDataType.setBounds(new java.awt.Rectangle(160, 160, 320, 20));
|
||||
}
|
||||
return jComboBoxDataType;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextFieldOverrideID
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextFieldOverrideID() {
|
||||
if (jTextFieldOverrideID == null) {
|
||||
jTextFieldOverrideID = new JTextField();
|
||||
jTextFieldOverrideID.setBounds(new java.awt.Rectangle(159,198,320,20));
|
||||
}
|
||||
return jTextFieldOverrideID;
|
||||
}
|
||||
|
||||
/**
|
||||
This is the default constructor
|
||||
**/
|
||||
public PackagePCD(SpdFileContents sfc) {
|
||||
super();
|
||||
init();
|
||||
initialize();
|
||||
this.sfc = sfc;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
@return void
|
||||
**/
|
||||
private void init() {
|
||||
this.setSize(500, 450);
|
||||
this.setContentPane(getJContentPane());
|
||||
this.setTitle("Add PCDs");
|
||||
this.centerWindow();
|
||||
this.getRootPane().setDefaultButton(jButtonOk);
|
||||
initFrame();
|
||||
this.setVisible(true);
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
*
|
||||
**/
|
||||
protected void centerWindow(int intWidth, int intHeight) {
|
||||
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
|
||||
this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
*
|
||||
**/
|
||||
protected void centerWindow() {
|
||||
centerWindow(this.getSize().width, this.getSize().height);
|
||||
}
|
||||
|
||||
private JPanel getJContentPane() {
|
||||
if (jContentPane == null) {
|
||||
jLabelOverrideID = new JLabel();
|
||||
jLabelOverrideID.setBounds(new java.awt.Rectangle(14,197,140,20));
|
||||
jLabelOverrideID.setText("Default Value");
|
||||
jLabelC_Name = new JLabel();
|
||||
jLabelC_Name.setText("C_Name");
|
||||
jLabelC_Name.setBounds(new java.awt.Rectangle(15, 60, 140, 20));
|
||||
jLabelDataType = new JLabel();
|
||||
jLabelDataType.setText("Data Type");
|
||||
jLabelDataType.setBounds(new java.awt.Rectangle(15, 160, 140, 20));
|
||||
jLabelToken = new JLabel();
|
||||
jLabelToken.setText("Token");
|
||||
jLabelToken.setBounds(new java.awt.Rectangle(15, 135, 140, 20));
|
||||
jLabelItemType = new JLabel();
|
||||
jLabelItemType.setText("Item Type");
|
||||
jLabelItemType.setBounds(new java.awt.Rectangle(15, 110, 140, 20));
|
||||
bg1 = new ButtonGroup();
|
||||
bg2 = new ButtonGroup();
|
||||
bg3 = new ButtonGroup();
|
||||
//bg1.add(getJRadioButtonPCData());
|
||||
//bg2.add(getJRadioButtonPcdBuildData());
|
||||
jContentPane = new JPanel();
|
||||
jContentPane.setLayout(null);
|
||||
//jContentPane.add(bg1);
|
||||
jContentPane.add(jLabelItemType, null);
|
||||
jContentPane.add(jLabelC_Name, null);
|
||||
jContentPane.add(getJTextFieldC_Name(), null);
|
||||
jContentPane.add(jLabelToken, null);
|
||||
jContentPane.add(getJTextFieldToken(), null);
|
||||
jContentPane.add(jLabelDataType, null);
|
||||
jContentPane.add(getJButtonOk(), null);
|
||||
jContentPane.add(getJButtonCancel(), null);
|
||||
jContentPane.add(getJComboBoxItemType(), null);
|
||||
jContentPane.add(getJComboBoxDataType(), null);
|
||||
jContentPane.add(jLabelOverrideID, null);
|
||||
jContentPane.add(getJTextFieldOverrideID(), null);
|
||||
|
||||
jStarLabel = new StarLabel();
|
||||
jStarLabel1 = new StarLabel();
|
||||
jStarLabel1.setBounds(new java.awt.Rectangle(6, 59, 10, 20));
|
||||
jStarLabel2 = new StarLabel();
|
||||
jStarLabel3 = new StarLabel();
|
||||
jStarLabel.setLocation(new java.awt.Point(6, 110));
|
||||
jStarLabel.setLocation(new java.awt.Point(5, 85));
|
||||
jStarLabel2.setLocation(new java.awt.Point(5, 134));
|
||||
jStarLabel3.setLocation(new java.awt.Point(5, 159));
|
||||
jContentPane.add(jStarLabel2, null);
|
||||
jContentPane.add(jStarLabel3, null);
|
||||
jContentPane.add(jStarLabel, null);
|
||||
jContentPane.add(jStarLabel1, null);
|
||||
}
|
||||
return jContentPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes comboboxes
|
||||
|
||||
**/
|
||||
private void initFrame() {
|
||||
|
||||
jComboBoxItemType.addItem("FEATURE_FLAG");
|
||||
jComboBoxItemType.addItem("FIXED_AT_BUILD");
|
||||
jComboBoxItemType.addItem("PATCHABLE_IN_MODULE");
|
||||
jComboBoxItemType.addItem("DYNAMIC");
|
||||
jComboBoxItemType.addItem("DYNAMIC_EX");
|
||||
|
||||
jComboBoxDataType.addItem("UINT8");
|
||||
jComboBoxDataType.addItem("UINT16");
|
||||
jComboBoxDataType.addItem("UINT32");
|
||||
jComboBoxDataType.addItem("UINT64");
|
||||
jComboBoxDataType.addItem("VOID*");
|
||||
jComboBoxDataType.addItem("BOOLEAN");
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
if (arg0.getSource() == jButtonOk) {
|
||||
save();
|
||||
this.dispose();
|
||||
}
|
||||
if (arg0.getSource() == jButtonCancel) {
|
||||
this.dispose();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
protected void save() {
|
||||
|
||||
sfc.genSpdPcdDefinitions(jComboBoxItemType.getSelectedItem().toString(), jTextFieldC_Name.getText(),
|
||||
jTextFieldToken.getText(), jComboBoxDataType.getSelectedItem().toString(), null,
|
||||
null, null, null, null, null, jTextFieldOverrideID.getText());
|
||||
}
|
||||
} // @jve:decl-index=0:visual-constraint="22,11"
|
@@ -0,0 +1,454 @@
|
||||
/** @file
|
||||
Java class PackagePkgHeader is GUI for create Package header elements of spd file.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Toolkit;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.util.Vector;
|
||||
|
||||
import javax.swing.DefaultListModel;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JRadioButton;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.JComboBox;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JList;
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
|
||||
import org.tianocore.packaging.common.ui.StarLabel;
|
||||
|
||||
/**
|
||||
GUI for create Package header elements of spd file
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class PackagePkgHeader extends JFrame implements ActionListener {
|
||||
private static String Separator = "::";
|
||||
|
||||
private DefaultListModel listItem = new DefaultListModel();
|
||||
|
||||
private SpdFileContents sfc = null;
|
||||
|
||||
private JPanel jContentPane = null;
|
||||
|
||||
private JRadioButton jRadioButtonAdd = null;
|
||||
|
||||
private JRadioButton jRadioButtonSelect = null;
|
||||
|
||||
private JTextField jTextFieldAdd = null;
|
||||
|
||||
private JComboBox jComboBoxSelect = null;
|
||||
|
||||
private JScrollPane jScrollPane = null;
|
||||
|
||||
private JList jListLibraryClassDefinitions = null;
|
||||
|
||||
private JButton jButtonAdd = null;
|
||||
|
||||
private JButton jButtonRemove = null;
|
||||
|
||||
private JButton jButtonClearAll = null;
|
||||
|
||||
private JButton jButtonCancel = null;
|
||||
|
||||
private JButton jButtonOk = null;
|
||||
|
||||
private JLabel jLabel = null;
|
||||
|
||||
private JTextField jTextField = null;
|
||||
|
||||
private StarLabel starLabel = null;
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
**/
|
||||
private void initialize() {
|
||||
this.setTitle("Package Headers");
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jRadioButtonAdd
|
||||
|
||||
@return javax.swing.JRadioButton
|
||||
**/
|
||||
private JRadioButton getJRadioButtonAdd() {
|
||||
if (jRadioButtonAdd == null) {
|
||||
jRadioButtonAdd = new JRadioButton();
|
||||
jRadioButtonAdd.setBounds(new java.awt.Rectangle(10, 35, 205, 20));
|
||||
jRadioButtonAdd.setText("Add a new Module Type");
|
||||
jRadioButtonAdd.setEnabled(false);
|
||||
jRadioButtonAdd.addActionListener(this);
|
||||
jRadioButtonAdd.setSelected(false);
|
||||
}
|
||||
return jRadioButtonAdd;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jRadioButtonSelect
|
||||
|
||||
@return javax.swing.JRadioButton
|
||||
**/
|
||||
private JRadioButton getJRadioButtonSelect() {
|
||||
if (jRadioButtonSelect == null) {
|
||||
jRadioButtonSelect = new JRadioButton();
|
||||
jRadioButtonSelect.setBounds(new java.awt.Rectangle(10, 10, 205, 20));
|
||||
jRadioButtonSelect.setText("Select an existed Module Type");
|
||||
jRadioButtonSelect.setActionCommand("Select an existed Module Type");
|
||||
jRadioButtonSelect.addActionListener(this);
|
||||
jRadioButtonSelect.setSelected(true);
|
||||
}
|
||||
return jRadioButtonSelect;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextFieldAdd
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextFieldAdd() {
|
||||
if (jTextFieldAdd == null) {
|
||||
jTextFieldAdd = new JTextField();
|
||||
jTextFieldAdd.setBounds(new java.awt.Rectangle(220, 35, 260, 20));
|
||||
jTextFieldAdd.setEditable(false);
|
||||
jTextFieldAdd.setEnabled(false);
|
||||
}
|
||||
return jTextFieldAdd;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jComboBoxSelect
|
||||
|
||||
@return javax.swing.JComboBox
|
||||
**/
|
||||
private JComboBox getJComboBoxSelect() {
|
||||
if (jComboBoxSelect == null) {
|
||||
jComboBoxSelect = new JComboBox();
|
||||
jComboBoxSelect.setBounds(new java.awt.Rectangle(220, 10, 260, 20));
|
||||
jComboBoxSelect.setEnabled(true);
|
||||
}
|
||||
return jComboBoxSelect;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jScrollPane
|
||||
|
||||
@return javax.swing.JScrollPane
|
||||
**/
|
||||
private JScrollPane getJScrollPane() {
|
||||
if (jScrollPane == null) {
|
||||
jScrollPane = new JScrollPane();
|
||||
jScrollPane.setBounds(new java.awt.Rectangle(10, 121, 350, 174));
|
||||
jScrollPane.setViewportView(getJListLibraryClassDefinitions());
|
||||
}
|
||||
return jScrollPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jListLibraryClassDefinitions
|
||||
|
||||
@return javax.swing.JList
|
||||
**/
|
||||
private JList getJListLibraryClassDefinitions() {
|
||||
if (jListLibraryClassDefinitions == null) {
|
||||
jListLibraryClassDefinitions = new JList(listItem);
|
||||
}
|
||||
return jListLibraryClassDefinitions;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonAdd
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonAdd() {
|
||||
if (jButtonAdd == null) {
|
||||
jButtonAdd = new JButton();
|
||||
jButtonAdd.setBounds(new java.awt.Rectangle(375, 132, 90, 20));
|
||||
jButtonAdd.setText("Add");
|
||||
jButtonAdd.addActionListener(this);
|
||||
}
|
||||
return jButtonAdd;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonRemove
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonRemove() {
|
||||
if (jButtonRemove == null) {
|
||||
jButtonRemove = new JButton();
|
||||
jButtonRemove.setBounds(new java.awt.Rectangle(375, 230, 90, 20));
|
||||
jButtonRemove.setText("Remove");
|
||||
jButtonRemove.addActionListener(this);
|
||||
}
|
||||
return jButtonRemove;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonRemoveAll
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonClearAll() {
|
||||
if (jButtonClearAll == null) {
|
||||
jButtonClearAll = new JButton();
|
||||
jButtonClearAll.setBounds(new java.awt.Rectangle(375, 260, 90, 20));
|
||||
jButtonClearAll.setText("Clear All");
|
||||
jButtonClearAll.addActionListener(this);
|
||||
}
|
||||
return jButtonClearAll;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonCancel
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonCancel() {
|
||||
if (jButtonCancel == null) {
|
||||
jButtonCancel = new JButton();
|
||||
jButtonCancel.setPreferredSize(new java.awt.Dimension(90, 20));
|
||||
jButtonCancel.setLocation(new java.awt.Point(390, 305));
|
||||
jButtonCancel.setText("Cancel");
|
||||
jButtonCancel.setSize(new java.awt.Dimension(90, 20));
|
||||
jButtonCancel.addActionListener(this);
|
||||
}
|
||||
return jButtonCancel;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonOk() {
|
||||
if (jButtonOk == null) {
|
||||
jButtonOk = new JButton();
|
||||
jButtonOk.setSize(new java.awt.Dimension(90, 20));
|
||||
jButtonOk.setText("OK");
|
||||
jButtonOk.setLocation(new java.awt.Point(290, 305));
|
||||
jButtonOk.addActionListener(this);
|
||||
}
|
||||
return jButtonOk;
|
||||
}
|
||||
|
||||
/**
|
||||
This is the default constructor
|
||||
**/
|
||||
public PackagePkgHeader(SpdFileContents sfc) {
|
||||
super();
|
||||
initialize();
|
||||
init();
|
||||
this.sfc = sfc;
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
*
|
||||
**/
|
||||
protected void centerWindow(int intWidth, int intHeight) {
|
||||
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
|
||||
this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
*
|
||||
**/
|
||||
protected void centerWindow() {
|
||||
centerWindow(this.getSize().width, this.getSize().height);
|
||||
}
|
||||
|
||||
// private void init(LibraryClassDefinitionsDocument.LibraryClassDefinitions inLibraryClassDefinitions) {
|
||||
// init();
|
||||
// this.setLibraryClassDefinitions(inLibraryClassDefinitions);
|
||||
// int intLibraryCount = this.libraryClassDefinitions.getLibraryClassArray().length;
|
||||
// if (intLibraryCount > 0) {
|
||||
// for (int index = 0; index < intLibraryCount; index++) {
|
||||
// listItem.addElement(this.libraryClassDefinitions.getLibraryClassArray(index).getUsage().toString() +
|
||||
// this.Separator +
|
||||
// this.libraryClassDefinitions.getLibraryClassArray(index).getStringValue());
|
||||
// this.libraryClassDefinitions.getLibraryClassArray();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
@return void
|
||||
**/
|
||||
private void init() {
|
||||
this.setContentPane(getJContentPane());
|
||||
this.setTitle("Library Class Declarations");
|
||||
this.setBounds(new java.awt.Rectangle(0, 0, 500, 370));
|
||||
this.centerWindow();
|
||||
initFrame();
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jContentPane
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJContentPane() {
|
||||
if (jContentPane == null) {
|
||||
starLabel = new StarLabel();
|
||||
starLabel.setBounds(new java.awt.Rectangle(5, 85, 10, 20));
|
||||
jLabel = new JLabel();
|
||||
jLabel.setBounds(new java.awt.Rectangle(14, 85, 201, 22));
|
||||
jLabel.setText("Include Header for Selected Type");
|
||||
jContentPane = new JPanel();
|
||||
jContentPane.setLayout(null);
|
||||
jContentPane.add(getJRadioButtonAdd(), null);
|
||||
jContentPane.add(getJRadioButtonSelect(), null);
|
||||
jContentPane.add(getJTextFieldAdd(), null);
|
||||
jContentPane.add(getJComboBoxSelect(), null);
|
||||
jContentPane.add(getJScrollPane(), null);
|
||||
jContentPane.add(getJButtonAdd(), null);
|
||||
jContentPane.add(getJButtonRemove(), null);
|
||||
jContentPane.add(getJButtonClearAll(), null);
|
||||
jContentPane.add(getJButtonCancel(), null);
|
||||
jContentPane.add(getJButtonOk(), null);
|
||||
jContentPane.add(jLabel, null);
|
||||
jContentPane.add(getJTextField(), null);
|
||||
jContentPane.add(starLabel, null);
|
||||
}
|
||||
return jContentPane;
|
||||
}
|
||||
|
||||
private void initFrame() {
|
||||
jComboBoxSelect.addItem("BASE");
|
||||
jComboBoxSelect.addItem("SEC");
|
||||
jComboBoxSelect.addItem("PEI_CORE");
|
||||
jComboBoxSelect.addItem("PEIM");
|
||||
jComboBoxSelect.addItem("DXE_CORE");
|
||||
jComboBoxSelect.addItem("DXE_DRIVER");
|
||||
jComboBoxSelect.addItem("DXE_RUNTIME_DRIVER");
|
||||
jComboBoxSelect.addItem("DXE_SAL_DRIVER");
|
||||
jComboBoxSelect.addItem("DXE_SMM_DRIVER");
|
||||
jComboBoxSelect.addItem("TOOLS");
|
||||
jComboBoxSelect.addItem("UEFI_DRIVER");
|
||||
jComboBoxSelect.addItem("UEFI_APPLICATION");
|
||||
jComboBoxSelect.addItem("USER_DEFINED");
|
||||
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
if (arg0.getSource() == jButtonOk) {
|
||||
this.save();
|
||||
this.dispose();
|
||||
|
||||
}
|
||||
if (arg0.getSource() == jButtonCancel) {
|
||||
this.dispose();
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jButtonAdd) {
|
||||
String strLibClass = "";
|
||||
|
||||
if (jRadioButtonAdd.isSelected()) {
|
||||
strLibClass = jTextFieldAdd.getText();
|
||||
}
|
||||
if (jRadioButtonSelect.isSelected()) {
|
||||
strLibClass = jComboBoxSelect.getSelectedItem().toString();
|
||||
}
|
||||
|
||||
listItem.addElement(jTextField.getText() + Separator + strLibClass);
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jButtonRemove) {
|
||||
int intSelected[] = jListLibraryClassDefinitions.getSelectedIndices();
|
||||
if (intSelected.length > 0) {
|
||||
for (int index = intSelected.length - 1; index > -1; index--) {
|
||||
listItem.removeElementAt(intSelected[index]);
|
||||
}
|
||||
}
|
||||
jListLibraryClassDefinitions.getSelectionModel().clearSelection();
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jButtonClearAll) {
|
||||
listItem.removeAllElements();
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jRadioButtonAdd) {
|
||||
if (jRadioButtonAdd.isSelected()) {
|
||||
jRadioButtonSelect.setSelected(false);
|
||||
jTextFieldAdd.setEnabled(true);
|
||||
jComboBoxSelect.setEnabled(false);
|
||||
}
|
||||
if (!jRadioButtonSelect.isSelected() && !jRadioButtonAdd.isSelected()) {
|
||||
jRadioButtonAdd.setSelected(true);
|
||||
jTextFieldAdd.setEnabled(true);
|
||||
jComboBoxSelect.setEnabled(false);
|
||||
}
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jRadioButtonSelect) {
|
||||
if (jRadioButtonSelect.isSelected()) {
|
||||
jRadioButtonAdd.setSelected(false);
|
||||
jTextFieldAdd.setEnabled(false);
|
||||
jComboBoxSelect.setEnabled(true);
|
||||
}
|
||||
if (!jRadioButtonSelect.isSelected() && !jRadioButtonAdd.isSelected()) {
|
||||
jRadioButtonSelect.setSelected(true);
|
||||
jTextFieldAdd.setEnabled(false);
|
||||
jComboBoxSelect.setEnabled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void save() {
|
||||
try {
|
||||
int intLibraryCount = listItem.getSize();
|
||||
|
||||
if (intLibraryCount > 0) {
|
||||
|
||||
for (int index = 0; index < intLibraryCount; index++) {
|
||||
String strAll = listItem.get(index).toString();
|
||||
String strInclude = strAll.substring(0, strAll.indexOf(Separator));
|
||||
String strType = strAll.substring(strAll.indexOf(Separator) + Separator.length());
|
||||
sfc.genSpdModuleHeaders(strType, strInclude, null, null, null, null, null, null);
|
||||
}
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
System.out.println(e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextField
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextField() {
|
||||
if (jTextField == null) {
|
||||
jTextField = new JTextField();
|
||||
jTextField.setBounds(new java.awt.Rectangle(221, 86, 257, 21));
|
||||
}
|
||||
return jTextField;
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,41 @@
|
||||
/** @file
|
||||
Java class PackagePpi is GUI for create Ppi definition elements of spd file.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
/**
|
||||
GUI derived from PackageProtocols class, override save() method
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class PackagePpi extends PackageProtocols {
|
||||
|
||||
private SpdFileContents sfc = null;
|
||||
|
||||
public PackagePpi(SpdFileContents sfc) {
|
||||
super(sfc);
|
||||
// TODO Auto-generated constructor stub
|
||||
this.sfc = sfc;
|
||||
}
|
||||
|
||||
/**
|
||||
add ppi definitions from GUI to SpdFileContents object passed in.
|
||||
**/
|
||||
protected void save() {
|
||||
try {
|
||||
sfc.genSpdPpiDeclarations(getJTextField().getText(), getJTextFieldC_Name().getText(),
|
||||
getJTextFieldGuid().getText(), null);
|
||||
} catch (Exception e) {
|
||||
System.out.println(e.toString());
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,377 @@
|
||||
/** @file
|
||||
Java class PackageProtocols is GUI for create Protocol definition elements of spd file.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.JButton;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Toolkit;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
import javax.swing.JComboBox;
|
||||
import javax.swing.JRadioButton;
|
||||
import javax.swing.JFrame;
|
||||
|
||||
import org.tianocore.common.Tools;
|
||||
import org.tianocore.packaging.common.ui.StarLabel;
|
||||
|
||||
/**
|
||||
GUI for create Protocol definition elements of spd file.
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class PackageProtocols extends JFrame implements ActionListener {
|
||||
|
||||
private int location = -1;
|
||||
|
||||
private SpdFileContents sfc = null;
|
||||
|
||||
private JPanel jContentPane = null;
|
||||
|
||||
private JLabel jLabelC_Name = null;
|
||||
|
||||
private JTextField jTextFieldC_Name = null;
|
||||
|
||||
private JLabel jLabelGuid = null;
|
||||
|
||||
private JTextField jTextFieldGuid = null;
|
||||
|
||||
private JLabel jLabelFeatureFlag = null;
|
||||
|
||||
private JTextField jTextFieldFeatureFlag = null;
|
||||
|
||||
private JButton jButtonOk = null;
|
||||
|
||||
private JButton jButtonCancel = null;
|
||||
|
||||
private JLabel jLabelEnableFeature = null;
|
||||
|
||||
private JRadioButton jRadioButtonEnableFeature = null;
|
||||
|
||||
private JRadioButton jRadioButtonDisableFeature = null;
|
||||
|
||||
private JButton jButtonGenerateGuid = null;
|
||||
|
||||
private StarLabel jStarLabel2 = null;
|
||||
|
||||
private StarLabel starLabel = null;
|
||||
|
||||
private JLabel jLabel = null;
|
||||
|
||||
private JTextField jTextField = null;
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
**/
|
||||
private void initialize() {
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextFieldProtocolName
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextFieldProtocolName() {
|
||||
if (jTextFieldC_Name == null) {
|
||||
jTextFieldC_Name = new JTextField();
|
||||
jTextFieldC_Name.setBounds(new java.awt.Rectangle(160, 35, 320, 20));
|
||||
}
|
||||
return jTextFieldC_Name;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextFieldGuid
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
public JTextField getJTextFieldGuid() {
|
||||
if (jTextFieldGuid == null) {
|
||||
jTextFieldGuid = new JTextField();
|
||||
jTextFieldGuid.setBounds(new java.awt.Rectangle(160, 60, 240, 20));
|
||||
}
|
||||
return jTextFieldGuid;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextFieldFeatureFlag
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextFieldFeatureFlag() {
|
||||
if (jTextFieldFeatureFlag == null) {
|
||||
jTextFieldFeatureFlag = new JTextField();
|
||||
jTextFieldFeatureFlag.setBounds(new java.awt.Rectangle(160, 135, 320, 20));
|
||||
jTextFieldFeatureFlag.setEnabled(false);
|
||||
}
|
||||
return jTextFieldFeatureFlag;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonOk() {
|
||||
if (jButtonOk == null) {
|
||||
jButtonOk = new JButton();
|
||||
jButtonOk.setText("OK");
|
||||
jButtonOk.setBounds(new java.awt.Rectangle(290, 190, 90, 20));
|
||||
jButtonOk.addActionListener(this);
|
||||
}
|
||||
return jButtonOk;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton1
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonCancel() {
|
||||
if (jButtonCancel == null) {
|
||||
jButtonCancel = new JButton();
|
||||
jButtonCancel.setText("Cancel");
|
||||
jButtonCancel.setBounds(new java.awt.Rectangle(390, 190, 90, 20));
|
||||
jButtonCancel.setPreferredSize(new Dimension(90, 20));
|
||||
jButtonCancel.addActionListener(this);
|
||||
}
|
||||
return jButtonCancel;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jRadioButtonEnableFeature
|
||||
|
||||
@return javax.swing.JRadioButton
|
||||
**/
|
||||
private JRadioButton getJRadioButtonEnableFeature() {
|
||||
if (jRadioButtonEnableFeature == null) {
|
||||
jRadioButtonEnableFeature = new JRadioButton();
|
||||
jRadioButtonEnableFeature.setText("Enable");
|
||||
jRadioButtonEnableFeature.setBounds(new java.awt.Rectangle(160, 110, 90, 20));
|
||||
jRadioButtonEnableFeature.setEnabled(false);
|
||||
jRadioButtonEnableFeature.addActionListener(this);
|
||||
jRadioButtonEnableFeature.setSelected(true);
|
||||
}
|
||||
return jRadioButtonEnableFeature;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jRadioButtonDisableFeature
|
||||
|
||||
@return javax.swing.JRadioButton
|
||||
**/
|
||||
private JRadioButton getJRadioButtonDisableFeature() {
|
||||
if (jRadioButtonDisableFeature == null) {
|
||||
jRadioButtonDisableFeature = new JRadioButton();
|
||||
jRadioButtonDisableFeature.setText("Disable");
|
||||
jRadioButtonDisableFeature.setEnabled(false);
|
||||
jRadioButtonDisableFeature.setBounds(new java.awt.Rectangle(320, 110, 90, 20));
|
||||
jRadioButtonDisableFeature.addActionListener(this);
|
||||
}
|
||||
return jRadioButtonDisableFeature;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonGenerateGuid
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonGenerateGuid() {
|
||||
if (jButtonGenerateGuid == null) {
|
||||
jButtonGenerateGuid = new JButton();
|
||||
jButtonGenerateGuid.setBounds(new java.awt.Rectangle(405, 60, 75, 20));
|
||||
jButtonGenerateGuid.setText("GEN");
|
||||
jButtonGenerateGuid.addActionListener(this);
|
||||
}
|
||||
return jButtonGenerateGuid;
|
||||
}
|
||||
|
||||
/**
|
||||
This is the default constructor
|
||||
**/
|
||||
public PackageProtocols(SpdFileContents sfc) {
|
||||
super();
|
||||
initialize();
|
||||
init();
|
||||
this.setVisible(true);
|
||||
this.sfc = sfc;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
@return void
|
||||
**/
|
||||
private void init() {
|
||||
this.setSize(500, 250);
|
||||
this.setName("JFrame");
|
||||
this.setContentPane(getJContentPane());
|
||||
this.setTitle("Add Protocols");
|
||||
this.centerWindow();
|
||||
//this.getRootPane().setDefaultButton(jButtonOk);
|
||||
initFrame();
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
**/
|
||||
protected void centerWindow(int intWidth, int intHeight) {
|
||||
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
|
||||
this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
**/
|
||||
protected void centerWindow() {
|
||||
centerWindow(this.getSize().width, this.getSize().height);
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jContentPane
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJContentPane() {
|
||||
if (jContentPane == null) {
|
||||
jLabel = new JLabel();
|
||||
jLabel.setBounds(new java.awt.Rectangle(16, 10, 138, 16));
|
||||
jLabel.setText("Name");
|
||||
starLabel = new StarLabel();
|
||||
starLabel.setBounds(new java.awt.Rectangle(0, 9, 10, 20));
|
||||
jLabelEnableFeature = new JLabel();
|
||||
jLabelEnableFeature.setText("Enable Feature");
|
||||
jLabelEnableFeature.setEnabled(false);
|
||||
jLabelEnableFeature.setBounds(new java.awt.Rectangle(15, 110, 140, 20));
|
||||
jLabelFeatureFlag = new JLabel();
|
||||
jLabelFeatureFlag.setText("Feature Flag");
|
||||
jLabelFeatureFlag.setEnabled(false);
|
||||
jLabelFeatureFlag.setBounds(new java.awt.Rectangle(15, 135, 140, 20));
|
||||
jLabelGuid = new JLabel();
|
||||
jLabelGuid.setText("Guid");
|
||||
jLabelGuid.setBounds(new java.awt.Rectangle(15, 60, 140, 20));
|
||||
jLabelC_Name = new JLabel();
|
||||
jLabelC_Name.setText("C_Name");
|
||||
jLabelC_Name.setBounds(new java.awt.Rectangle(15, 35, 140, 20));
|
||||
jContentPane = new JPanel();
|
||||
jContentPane.setLayout(null);
|
||||
jContentPane.add(jLabelC_Name, null);
|
||||
jContentPane.add(getJTextFieldProtocolName(), null);
|
||||
jContentPane.add(jLabelGuid, null);
|
||||
jContentPane.add(getJTextFieldGuid(), null);
|
||||
jContentPane.add(jLabelFeatureFlag, null);
|
||||
jContentPane.add(getJTextFieldFeatureFlag(), null);
|
||||
jContentPane.add(getJButtonOk(), null);
|
||||
jContentPane.add(getJButtonCancel(), null);
|
||||
jContentPane.add(jLabelEnableFeature, null);
|
||||
jContentPane.add(getJRadioButtonEnableFeature(), null);
|
||||
jContentPane.add(getJRadioButtonDisableFeature(), null);
|
||||
jContentPane.add(getJButtonGenerateGuid(), null);
|
||||
|
||||
jStarLabel2 = new StarLabel();
|
||||
jStarLabel2.setBounds(new java.awt.Rectangle(0, 35, 10, 20));
|
||||
|
||||
jContentPane.add(jStarLabel2, null);
|
||||
jContentPane.add(starLabel, null);
|
||||
jContentPane.add(jLabel, null);
|
||||
jContentPane.add(getJTextField(), null);
|
||||
}
|
||||
return jContentPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes protocol usage type
|
||||
|
||||
**/
|
||||
private void initFrame() {
|
||||
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
if (arg0.getSource() == jButtonOk) {
|
||||
|
||||
this.save();
|
||||
this.dispose();
|
||||
}
|
||||
if (arg0.getSource() == jButtonCancel) {
|
||||
this.dispose();
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jRadioButtonEnableFeature) {
|
||||
if (jRadioButtonEnableFeature.isSelected()) {
|
||||
jRadioButtonDisableFeature.setSelected(false);
|
||||
}
|
||||
if (!jRadioButtonDisableFeature.isSelected() && !jRadioButtonEnableFeature.isSelected()) {
|
||||
jRadioButtonEnableFeature.setSelected(true);
|
||||
}
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jRadioButtonDisableFeature) {
|
||||
if (jRadioButtonDisableFeature.isSelected()) {
|
||||
jRadioButtonEnableFeature.setSelected(false);
|
||||
}
|
||||
if (!jRadioButtonDisableFeature.isSelected() && !jRadioButtonEnableFeature.isSelected()) {
|
||||
jRadioButtonDisableFeature.setSelected(true);
|
||||
}
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jButtonGenerateGuid) {
|
||||
jTextFieldGuid.setText(Tools.generateUuidString());
|
||||
}
|
||||
}
|
||||
|
||||
protected void save() {
|
||||
try {
|
||||
sfc.genSpdProtocolDeclarations(jTextField.getText(), jTextFieldC_Name.getText(), jTextFieldGuid.getText(),
|
||||
null);
|
||||
} catch (Exception e) {
|
||||
System.out.println(e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextField
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
public JTextField getJTextField() {
|
||||
if (jTextField == null) {
|
||||
jTextField = new JTextField();
|
||||
jTextField.setBounds(new java.awt.Rectangle(160, 8, 319, 23));
|
||||
}
|
||||
return jTextField;
|
||||
}
|
||||
|
||||
public JTextField getJTextFieldC_Name() {
|
||||
return jTextFieldC_Name;
|
||||
}
|
||||
|
||||
public void setJTextFieldC_Name(JTextField textFieldC_Name) {
|
||||
jTextFieldC_Name = textFieldC_Name;
|
||||
}
|
||||
|
||||
public void setJTextField(JTextField textField) {
|
||||
jTextField = textField;
|
||||
}
|
||||
|
||||
public void setJTextFieldGuid(JTextField textFieldGuid) {
|
||||
jTextFieldGuid = textFieldGuid;
|
||||
}
|
||||
} // @jve:decl-index=0:visual-constraint="10,10"
|
@@ -0,0 +1,309 @@
|
||||
/** @file
|
||||
Java class PackagingMain is top level GUI for PackageEditor.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Toolkit;
|
||||
|
||||
import javax.swing.JFileChooser;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JFrame;
|
||||
import java.awt.FlowLayout;
|
||||
import javax.swing.JButton;
|
||||
import java.awt.GridLayout;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.util.jar.JarOutputStream;
|
||||
|
||||
/**
|
||||
GUI for show various GUI wizards for create, update spd file; install, remove package;
|
||||
create distributable package file.
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class PackagingMain extends JFrame {
|
||||
|
||||
static JFrame frame;
|
||||
|
||||
private JPanel jContentPane = null;
|
||||
|
||||
private JButton jButton = null;
|
||||
|
||||
private JButton jButton1 = null;
|
||||
|
||||
private JButton jButton2 = null;
|
||||
|
||||
private JButton jButton3 = null;
|
||||
|
||||
private JButton jButton4 = null;
|
||||
|
||||
private JButton jButton5 = null;
|
||||
|
||||
private JFrame pThis = null;
|
||||
|
||||
/**
|
||||
This method initializes jButton
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton() {
|
||||
if (jButton == null) {
|
||||
jButton = new JButton();
|
||||
jButton.setEnabled(true);
|
||||
jButton.setText("Exit");
|
||||
jButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
pThis.dispose();
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton1
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton1() {
|
||||
if (jButton1 == null) {
|
||||
jButton1 = new JButton();
|
||||
jButton1.setText("Create an Installable Package");
|
||||
jButton1.setEnabled(true);
|
||||
jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
File theFile = null;
|
||||
JFileChooser chooser = new JFileChooser();
|
||||
//
|
||||
// select the directory that contains files to be distribute
|
||||
//
|
||||
chooser.setMultiSelectionEnabled(false);
|
||||
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
|
||||
int retval = chooser.showOpenDialog(frame);
|
||||
if (retval == JFileChooser.APPROVE_OPTION) {
|
||||
try {
|
||||
theFile = chooser.getSelectedFile();
|
||||
//
|
||||
// find the FDPManifest.xml file that should exist
|
||||
// in the root directory of package
|
||||
//
|
||||
String[] list = theFile.list();
|
||||
boolean manifestExists = false;
|
||||
for (int i = 0; i < list.length; i++) {
|
||||
if (list[i].equals("FDPManifest.xml")) {
|
||||
manifestExists = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!manifestExists) {
|
||||
JOptionPane.showMessageDialog(frame,
|
||||
"Please Put the FDPManifest.xml File under the Directory You Selected!");
|
||||
return;
|
||||
}
|
||||
//
|
||||
// create the distribute package .fdp file in the same directory with
|
||||
// the package root directory selected above.
|
||||
//
|
||||
JarOutputStream jos = new JarOutputStream(new FileOutputStream(theFile.getPath() + ".fdp"));
|
||||
CreateFdp.create(theFile, jos, theFile.getPath());
|
||||
jos.close();
|
||||
JOptionPane.showMessageDialog(frame,
|
||||
"FDP File Created Successfully!");
|
||||
|
||||
|
||||
} catch (Exception ee) {
|
||||
System.out.println(ee.toString());
|
||||
}
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton1;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton2
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton2() {
|
||||
if (jButton2 == null) {
|
||||
jButton2 = new JButton();
|
||||
jButton2.setText("Remove Package");
|
||||
jButton2.setEnabled(true);
|
||||
jButton2.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
ModalFrameUtil.showAsModal(new GuiPkgUninstall(), pThis);
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton2;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton3
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton3() {
|
||||
if (jButton3 == null) {
|
||||
jButton3 = new JButton();
|
||||
jButton3.setText("Install Package");
|
||||
jButton3.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
ModalFrameUtil.showAsModal(new GuiPkgInstall(), pThis);
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton3;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton4
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton4() {
|
||||
if (jButton4 == null) {
|
||||
jButton4 = new JButton();
|
||||
jButton4.setText("Update Package Description File");
|
||||
jButton4.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
File theFile = null;
|
||||
JFileChooser chooser = new JFileChooser();
|
||||
//
|
||||
// select the spd file to be updated first
|
||||
//
|
||||
chooser.setMultiSelectionEnabled(false);
|
||||
chooser.setFileFilter(new PkgFileFilter("spd"));
|
||||
int retval = chooser.showOpenDialog(frame);
|
||||
if (retval == JFileChooser.APPROVE_OPTION) {
|
||||
try {
|
||||
theFile = chooser.getSelectedFile();
|
||||
if (!theFile.isFile()) {
|
||||
JOptionPane.showMessageDialog(frame, "Please Select one Spd File!");
|
||||
return;
|
||||
}
|
||||
|
||||
} catch (Exception ee) {
|
||||
System.out.println(ee.toString());
|
||||
}
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
//
|
||||
// create a SpdFileContents for this file and pass it to GUI
|
||||
//
|
||||
SpdFileContents sfc = new SpdFileContents(theFile);
|
||||
ModalFrameUtil.showAsModal(new UpdateAction(sfc), pThis);
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton4;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton5
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton5() {
|
||||
if (jButton5 == null) {
|
||||
jButton5 = new JButton();
|
||||
jButton5.setText("Create Package Description File");
|
||||
jButton5.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
SpdFileContents sfc = new SpdFileContents();
|
||||
ModalFrameUtil.showAsModal(new PackageAction(sfc), pThis);
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton5;
|
||||
}
|
||||
|
||||
/**
|
||||
Main for all package editor
|
||||
|
||||
@param args
|
||||
**/
|
||||
public static void main(String[] args) {
|
||||
// TODO Auto-generated method stub
|
||||
new PackagingMain().setVisible(true);
|
||||
}
|
||||
|
||||
/**
|
||||
This is the default constructor
|
||||
**/
|
||||
public PackagingMain() {
|
||||
super();
|
||||
initialize();
|
||||
pThis = this;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
@return void
|
||||
**/
|
||||
private void initialize() {
|
||||
this.setSize(300, 357);
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
this.setTitle("Packaging");
|
||||
this.setContentPane(getJContentPane());
|
||||
this.centerWindow();
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
**/
|
||||
protected void centerWindow(int intWidth, int intHeight) {
|
||||
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
|
||||
this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
**/
|
||||
protected void centerWindow() {
|
||||
centerWindow(this.getSize().width, this.getSize().height);
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jContentPane
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJContentPane() {
|
||||
if (jContentPane == null) {
|
||||
GridLayout gridLayout = new GridLayout();
|
||||
gridLayout.setRows(6);
|
||||
gridLayout.setColumns(1);
|
||||
jContentPane = new JPanel();
|
||||
jContentPane.setLayout(gridLayout);
|
||||
jContentPane.add(getJButton5(), null);
|
||||
jContentPane.add(getJButton4(), null);
|
||||
jContentPane.add(getJButton3(), null);
|
||||
jContentPane.add(getJButton2(), null);
|
||||
jContentPane.add(getJButton1(), null);
|
||||
jContentPane.add(getJButton(), null);
|
||||
}
|
||||
return jContentPane;
|
||||
}
|
||||
|
||||
} // @jve:decl-index=0:visual-constraint="125,31"
|
@@ -0,0 +1,373 @@
|
||||
/** @file
|
||||
Java class PkgInstallTypeChooser is GUI for upgrade package installation.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Toolkit;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.MouseListener;
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
import java.util.ListIterator;
|
||||
import java.util.Vector;
|
||||
|
||||
import javax.swing.JFileChooser;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JDialog;
|
||||
import javax.swing.JRadioButton;
|
||||
import javax.swing.JButton;
|
||||
|
||||
import org.tianocore.PackageListDocument;
|
||||
import javax.swing.JList;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.JScrollPane;
|
||||
|
||||
/**
|
||||
GUI for speicial circumstances of package installation.
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class PkgInstallTypeChooser extends JFrame implements MouseListener {
|
||||
|
||||
final static long serialVersionUID = 0;
|
||||
|
||||
static JFrame frame;
|
||||
|
||||
private JPanel jContentPane = null;
|
||||
|
||||
private JRadioButton jRadioButton = null;
|
||||
|
||||
private JRadioButton jRadioButton1 = null;
|
||||
|
||||
private JButton jButton = null;
|
||||
|
||||
private JButton jButton1 = null;
|
||||
|
||||
private String pn = null;
|
||||
|
||||
///
|
||||
/// list of package info from db file
|
||||
///
|
||||
private List<PackageListDocument.PackageList.Package> dd = null;
|
||||
|
||||
private String wk = null;
|
||||
|
||||
private JList jList = null;
|
||||
|
||||
private JScrollPane jScrollPane = null;
|
||||
|
||||
private JTextField jTextField = null;
|
||||
|
||||
private JButton jButton2 = null;
|
||||
|
||||
private JFileChooser chooser = null;
|
||||
|
||||
/**
|
||||
This is the default constructor
|
||||
**/
|
||||
public PkgInstallTypeChooser(String pkgName, String wkSpace, List<PackageListDocument.PackageList.Package> destDir) {
|
||||
super();
|
||||
pn = pkgName;
|
||||
dd = destDir;
|
||||
wk = wkSpace;
|
||||
initialize();
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
@return void
|
||||
**/
|
||||
private void initialize() {
|
||||
this.setSize(359, 328);
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
this.setTitle("Chooser Installation Type");
|
||||
this.setContentPane(getJContentPane());
|
||||
this.centerWindow();
|
||||
this.insertList();
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
**/
|
||||
protected void centerWindow(int intWidth, int intHeight) {
|
||||
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
|
||||
this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
**/
|
||||
protected void centerWindow() {
|
||||
centerWindow(this.getSize().width, this.getSize().height);
|
||||
}
|
||||
|
||||
/**
|
||||
initialize jList with package info. from db file
|
||||
**/
|
||||
private void insertList() {
|
||||
|
||||
Vector<String> v = new Vector<String>();
|
||||
|
||||
ListIterator lpi = dd.listIterator();
|
||||
while (lpi.hasNext()) {
|
||||
PackageListDocument.PackageList.Package p = (PackageListDocument.PackageList.Package) lpi.next();
|
||||
v.addElement(p.getPackageNameArray(0).getStringValue() + " " + p.getVersionArray(0) + " "
|
||||
+ p.getGuidArray(0).getStringValue());
|
||||
}
|
||||
jList.setListData(v);
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jContentPane
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJContentPane() {
|
||||
if (jContentPane == null) {
|
||||
jContentPane = new JPanel();
|
||||
jContentPane.setLayout(null);
|
||||
jContentPane.add(getJRadioButton(), null);
|
||||
jContentPane.add(getJRadioButton1(), null);
|
||||
jContentPane.add(getJButton(), null);
|
||||
jContentPane.add(getJButton1(), null);
|
||||
jContentPane.add(getJScrollPane(), null);
|
||||
jContentPane.add(getJTextField(), null);
|
||||
jContentPane.add(getJButton2(), null);
|
||||
}
|
||||
return jContentPane;
|
||||
}
|
||||
|
||||
|
||||
private JRadioButton getJRadioButton() {
|
||||
if (jRadioButton == null) {
|
||||
jRadioButton = new JRadioButton();
|
||||
jRadioButton.setBounds(new java.awt.Rectangle(17, 39, 186, 21));
|
||||
jRadioButton.setSelected(true);
|
||||
jRadioButton.setText("Reinstall Existing Package");
|
||||
jRadioButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
if (jRadioButton.isSelected()) {
|
||||
jRadioButton1.setSelected(false);
|
||||
jButton2.setEnabled(false);
|
||||
jTextField.setEnabled(false);
|
||||
jList.setEnabled(true);
|
||||
return;
|
||||
}
|
||||
if (jRadioButton1.isSelected()) {
|
||||
jRadioButton.setSelected(true);
|
||||
jRadioButton1.setSelected(false);
|
||||
jList.setEnabled(true);
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
return jRadioButton;
|
||||
}
|
||||
|
||||
private JRadioButton getJRadioButton1() {
|
||||
if (jRadioButton1 == null) {
|
||||
jRadioButton1 = new JRadioButton();
|
||||
jRadioButton1.setBounds(new java.awt.Rectangle(17, 155, 176, 21));
|
||||
jRadioButton1.setText("Install to Directory");
|
||||
jRadioButton1.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
if (jRadioButton1.isSelected()) {
|
||||
jRadioButton.setSelected(false);
|
||||
jList.setEnabled(false);
|
||||
jButton2.setEnabled(true);
|
||||
jTextField.setEnabled(true);
|
||||
return;
|
||||
}
|
||||
if (jRadioButton.isSelected()) {
|
||||
jRadioButton1.setSelected(true);
|
||||
jRadioButton.setSelected(false);
|
||||
jButton2.setEnabled(true);
|
||||
jTextField.setEnabled(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
return jRadioButton1;
|
||||
}
|
||||
|
||||
private JButton getJButton() {
|
||||
if (jButton == null) {
|
||||
jButton = new JButton();
|
||||
jButton.setPreferredSize(new java.awt.Dimension(34, 20));
|
||||
jButton.setSize(new java.awt.Dimension(76, 20));
|
||||
jButton.setText("Ok");
|
||||
jButton.setLocation(new java.awt.Point(141, 241));
|
||||
jButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
try {
|
||||
int i = -1;
|
||||
//
|
||||
// user selects replace existing package
|
||||
//
|
||||
if (jRadioButton.isSelected()) {
|
||||
int j = jList.getSelectedIndex();
|
||||
if (j == -1) {
|
||||
JOptionPane.showMessageDialog(JOptionPane.getRootFrame(),
|
||||
"Please Select One Package to Replace!");
|
||||
return;
|
||||
}
|
||||
//
|
||||
// the sequence of jList is the same with List
|
||||
//
|
||||
String destDir = dd.get(j).getPathArray(0).getStringValue();
|
||||
ForceInstallPkg f = new ForceInstallPkg(pn, wk);
|
||||
//
|
||||
// record the package info. to be replaced
|
||||
//
|
||||
f.setOldVersion(dd.get(j).getVersionArray(0));
|
||||
f.setOldGuid(dd.get(j).getGuidArray(0).getStringValue());
|
||||
i = f.install(wk + System.getProperty("file.separator") + destDir);
|
||||
} else {
|
||||
//
|
||||
// user selects install to another directory
|
||||
//
|
||||
File f = new File(wk + System.getProperty("file.separator") + FrameworkPkg.dbConfigFile);
|
||||
if (new DbFileContents(f).checkDir(jTextField.getText().substring(wk.length() + 1)) != 0) {
|
||||
throw new DirSame();
|
||||
}
|
||||
i = new ForceInstallPkg(pn, wk).install(jTextField.getText());
|
||||
}
|
||||
if (i == 0) {
|
||||
JOptionPane.showMessageDialog(JOptionPane.getRootFrame(), "Package " + pn
|
||||
+ " Installed Successfully!");
|
||||
}
|
||||
} catch (DirSame ds) {
|
||||
System.out.println(ds.toString());
|
||||
JOptionPane.showMessageDialog(frame,
|
||||
"Another Package Exists There, Please Select Another Directory!");
|
||||
} catch (Exception ee) {
|
||||
System.out.println(ee.toString());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method initializes jButton1
|
||||
*
|
||||
* @return javax.swing.JButton
|
||||
*/
|
||||
private JButton getJButton1() {
|
||||
if (jButton1 == null) {
|
||||
jButton1 = new JButton();
|
||||
jButton1.setBounds(new java.awt.Rectangle(238, 241, 78, 20));
|
||||
jButton1.setText("Cancel");
|
||||
jButton1.setPreferredSize(new java.awt.Dimension(34, 20));
|
||||
jButton1.addMouseListener(this);
|
||||
}
|
||||
return jButton1;
|
||||
}
|
||||
|
||||
public void mouseClicked(MouseEvent arg0) {
|
||||
// TODO Auto-generated method stub
|
||||
this.dispose();
|
||||
}
|
||||
|
||||
public void mouseEntered(MouseEvent arg0) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public void mouseExited(MouseEvent arg0) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public void mousePressed(MouseEvent arg0) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
public void mouseReleased(MouseEvent arg0) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
private JScrollPane getJScrollPane() {
|
||||
if (jScrollPane == null) {
|
||||
jScrollPane = new JScrollPane();
|
||||
jScrollPane.setBounds(new java.awt.Rectangle(22, 68, 318, 58));
|
||||
jScrollPane.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
|
||||
jScrollPane.setViewportView(getJList());
|
||||
}
|
||||
return jScrollPane;
|
||||
}
|
||||
|
||||
private JList getJList() {
|
||||
if (jList == null) {
|
||||
jList = new JList();
|
||||
|
||||
jList.setBounds(new java.awt.Rectangle(22, 68, 318, 58));
|
||||
|
||||
}
|
||||
return jList;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method initializes jTextField
|
||||
*
|
||||
* @return javax.swing.JTextField
|
||||
*/
|
||||
private JTextField getJTextField() {
|
||||
if (jTextField == null) {
|
||||
jTextField = new JTextField();
|
||||
jTextField.setBounds(new java.awt.Rectangle(22, 184, 224, 20));
|
||||
jTextField.setEnabled(false);
|
||||
jTextField.setText(wk);
|
||||
}
|
||||
return jTextField;
|
||||
}
|
||||
|
||||
private JButton getJButton2() {
|
||||
if (jButton2 == null) {
|
||||
jButton2 = new JButton();
|
||||
jButton2.setLocation(new java.awt.Point(259, 183));
|
||||
jButton2.setText("Browse");
|
||||
jButton2.setEnabled(false);
|
||||
jButton2.setSize(new java.awt.Dimension(81, 20));
|
||||
jButton2.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
if (chooser == null) {
|
||||
chooser = new JFileChooser(wk);
|
||||
}
|
||||
chooser.setMultiSelectionEnabled(false);
|
||||
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
|
||||
|
||||
int retval = chooser.showOpenDialog(frame);
|
||||
if (retval == JFileChooser.APPROVE_OPTION) {
|
||||
jTextField.setText(chooser.getSelectedFile().getPath());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton2;
|
||||
}
|
||||
|
||||
} // @jve:decl-index=0:visual-constraint="134,45"
|
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,328 @@
|
||||
/** @file
|
||||
Java class UpdateAction is GUI for update spd file.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Toolkit;
|
||||
|
||||
import javax.swing.JFileChooser;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JFrame;
|
||||
import java.awt.GridLayout;
|
||||
import java.io.File;
|
||||
|
||||
import javax.swing.JButton;
|
||||
|
||||
/**
|
||||
GUI for update spd file
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class UpdateAction extends JFrame {
|
||||
|
||||
static JFrame frame;
|
||||
|
||||
private JPanel jContentPane = null;
|
||||
|
||||
private JButton jButton = null;
|
||||
|
||||
private JButton jButton1 = null;
|
||||
|
||||
private JButton jButton2 = null;
|
||||
|
||||
private JButton jButton3 = null;
|
||||
|
||||
private JButton jButton4 = null;
|
||||
|
||||
private JButton jButton5 = null;
|
||||
|
||||
private JButton jButton6 = null;
|
||||
|
||||
private JButton jButton7 = null;
|
||||
|
||||
private SpdFileContents sfc = null;
|
||||
|
||||
private JFrame pThis = null; // @jve:decl-index=0:visual-constraint="322,10"
|
||||
|
||||
private JButton jButton8 = null;
|
||||
|
||||
private JButton jButton9 = null;
|
||||
|
||||
/**
|
||||
This is the default constructor
|
||||
**/
|
||||
public UpdateAction(SpdFileContents sfc) {
|
||||
super();
|
||||
initialize();
|
||||
this.sfc = sfc;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
@return void
|
||||
**/
|
||||
private void initialize() {
|
||||
this.setSize(300, 333);
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
this.setContentPane(getJContentPane());
|
||||
this.setTitle("Please Choose an Action");
|
||||
this.centerWindow();
|
||||
this.pThis = this;
|
||||
pThis.setSize(new java.awt.Dimension(316,399));
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
**/
|
||||
protected void centerWindow(int intWidth, int intHeight) {
|
||||
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
|
||||
this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
**/
|
||||
protected void centerWindow() {
|
||||
centerWindow(this.getSize().width, this.getSize().height);
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jContentPane
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJContentPane() {
|
||||
if (jContentPane == null) {
|
||||
GridLayout gridLayout = new GridLayout();
|
||||
gridLayout.setRows(10);
|
||||
gridLayout.setColumns(1);
|
||||
jContentPane = new JPanel();
|
||||
jContentPane.setLayout(gridLayout);
|
||||
jContentPane.add(getJButton8(), null);
|
||||
jContentPane.add(getJButton7(), null);
|
||||
jContentPane.add(getJButton6(), null);
|
||||
jContentPane.add(getJButton5(), null);
|
||||
jContentPane.add(getJButton4(), null);
|
||||
jContentPane.add(getJButton3(), null);
|
||||
jContentPane.add(getJButton2(), null);
|
||||
jContentPane.add(getJButton1(), null);
|
||||
jContentPane.add(getJButton(), null);
|
||||
jContentPane.add(getJButton9(), null);
|
||||
}
|
||||
return jContentPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton() {
|
||||
if (jButton == null) {
|
||||
jButton = new JButton();
|
||||
jButton.setText("Save");
|
||||
jButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
JFileChooser chooser = new JFileChooser(sfc.getFile());
|
||||
chooser.setMultiSelectionEnabled(false);
|
||||
|
||||
int retval = chooser.showSaveDialog(frame);
|
||||
if (retval == JFileChooser.APPROVE_OPTION) {
|
||||
try {
|
||||
File theFile = chooser.getSelectedFile();
|
||||
if (theFile.exists()) {
|
||||
int retVal = JOptionPane.showConfirmDialog(frame, "Are you sure to replace the exising one?", "File Exists",
|
||||
JOptionPane.YES_NO_OPTION);
|
||||
if (retVal == JOptionPane.NO_OPTION) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
sfc.saveAs(theFile);
|
||||
|
||||
} catch (Exception ee) {
|
||||
System.out.println(ee.toString());
|
||||
}
|
||||
// pThis.dispose();
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton1
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton1() {
|
||||
if (jButton1 == null) {
|
||||
jButton1 = new JButton();
|
||||
jButton1.setText("Update PCD Information");
|
||||
jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
ModalFrameUtil.showAsModal(new UpdatePCD(sfc), pThis);
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton1;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton2
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton2() {
|
||||
if (jButton2 == null) {
|
||||
jButton2 = new JButton();
|
||||
jButton2.setText("Update PPI Declarations");
|
||||
jButton2.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
ModalFrameUtil.showAsModal(new UpdatePpi(sfc), pThis);
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton2;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton3
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton3() {
|
||||
if (jButton3 == null) {
|
||||
jButton3 = new JButton();
|
||||
jButton3.setText("Update Protocol Declarations");
|
||||
jButton3.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
ModalFrameUtil.showAsModal(new UpdateProtocols(sfc), pThis);
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton3;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton4
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton4() {
|
||||
if (jButton4 == null) {
|
||||
jButton4 = new JButton();
|
||||
jButton4.setText("Update GUID Declarations");
|
||||
jButton4.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
ModalFrameUtil.showAsModal(new UpdateGuids(sfc), pThis);
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton4;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton5
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton5() {
|
||||
if (jButton5 == null) {
|
||||
jButton5 = new JButton();
|
||||
jButton5.setText("Update Package Headers");
|
||||
jButton5.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
ModalFrameUtil.showAsModal(new UpdatePkgHeader(sfc), pThis);
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton5;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton6
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton6() {
|
||||
if (jButton6 == null) {
|
||||
jButton6 = new JButton();
|
||||
jButton6.setText("Update MSA Files");
|
||||
jButton6.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
ModalFrameUtil.showAsModal(new UpdateMsaFile(sfc), pThis);
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton6;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton7
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton7() {
|
||||
if (jButton7 == null) {
|
||||
jButton7 = new JButton();
|
||||
jButton7.setText("Update Library Classes");
|
||||
jButton7.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
ModalFrameUtil.showAsModal(new UpdateLibraryClass(sfc), pThis);
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton7;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton8
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton8() {
|
||||
if (jButton8 == null) {
|
||||
jButton8 = new JButton();
|
||||
jButton8.setText("Update SPD Header");
|
||||
jButton8.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
ModalFrameUtil.showAsModal(new UpdateNew(sfc), pThis);
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton8;
|
||||
}
|
||||
|
||||
private JButton getJButton9() {
|
||||
if (jButton9 == null) {
|
||||
jButton9 = new JButton();
|
||||
jButton9.setText("Done");
|
||||
jButton9.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||
public void mouseClicked(java.awt.event.MouseEvent e) {
|
||||
|
||||
pThis.dispose();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
return jButton9;
|
||||
}
|
||||
|
||||
} // @jve:decl-index=0:visual-constraint="104,41"
|
@@ -0,0 +1,226 @@
|
||||
/** @file
|
||||
Java class UpdateGuids is GUI for update GUID declarations in spd file.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.JButton;
|
||||
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JTable;
|
||||
import javax.swing.table.*;
|
||||
|
||||
import org.tianocore.common.Tools;
|
||||
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.*;
|
||||
|
||||
/**
|
||||
GUI for update GUID declarations in spd file
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class UpdateGuids extends JFrame implements ActionListener {
|
||||
|
||||
private JPanel jContentPane = null;
|
||||
|
||||
private JScrollPane jScrollPane = null;
|
||||
|
||||
private JTable jTable = null;
|
||||
|
||||
private SpdFileContents sfc = null;
|
||||
|
||||
private JButton jButtonOk = null;
|
||||
|
||||
private JButton jButtonCancel = null;
|
||||
|
||||
private DefaultTableModel model = null;
|
||||
|
||||
private JButton jButton = null;
|
||||
|
||||
/**
|
||||
This is the default constructor
|
||||
**/
|
||||
public UpdateGuids(SpdFileContents sfc) {
|
||||
super();
|
||||
this.sfc = sfc;
|
||||
initialize();
|
||||
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
if (arg0.getSource() == jButtonOk) {
|
||||
this.save();
|
||||
this.dispose();
|
||||
|
||||
}
|
||||
if (arg0.getSource() == jButtonCancel) {
|
||||
this.dispose();
|
||||
|
||||
}
|
||||
if (arg0.getSource() == jButton) {
|
||||
String[] o = { "", "", "" };
|
||||
model.addRow(o);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
@return void
|
||||
**/
|
||||
private void initialize() {
|
||||
this.setSize(604, 553);
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
this.setTitle("Update GUID Declarations");
|
||||
this.setContentPane(getJContentPane());
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jContentPane
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJContentPane() {
|
||||
if (jContentPane == null) {
|
||||
jContentPane = new JPanel();
|
||||
jContentPane.setLayout(null);
|
||||
jContentPane.add(getJScrollPane(), null);
|
||||
jContentPane.add(getJButtonOk(), null);
|
||||
jContentPane.add(getJButtonCancel(), null);
|
||||
jContentPane.add(getJButton(), null);
|
||||
}
|
||||
return jContentPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jScrollPane
|
||||
|
||||
@return javax.swing.JScrollPane
|
||||
**/
|
||||
private JScrollPane getJScrollPane() {
|
||||
if (jScrollPane == null) {
|
||||
jScrollPane = new JScrollPane();
|
||||
jScrollPane.setBounds(new java.awt.Rectangle(38, 45, 453, 419));
|
||||
jScrollPane.setViewportView(getJTable());
|
||||
}
|
||||
return jScrollPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTable
|
||||
|
||||
@return javax.swing.JTable
|
||||
**/
|
||||
private JTable getJTable() {
|
||||
if (jTable == null) {
|
||||
model = new DefaultTableModel();
|
||||
jTable = new JTable(model);
|
||||
jTable.setRowHeight(20);
|
||||
model.addColumn("Name");
|
||||
model.addColumn("C_Name");
|
||||
model.addColumn("GUID");
|
||||
if (sfc.getSpdGuidDeclarationCount() == 0) {
|
||||
return jTable;
|
||||
}
|
||||
//
|
||||
// initialize table using SpdFileContents object
|
||||
//
|
||||
String[][] saa = new String[sfc.getSpdGuidDeclarationCount()][3];
|
||||
sfc.getSpdGuidDeclarations(saa);
|
||||
int i = 0;
|
||||
while (i < saa.length) {
|
||||
model.addRow(saa[i]);
|
||||
i++;
|
||||
}
|
||||
|
||||
}
|
||||
return jTable;
|
||||
}
|
||||
|
||||
/**
|
||||
Remove original GUID declarations before saving updated ones
|
||||
**/
|
||||
protected void save() {
|
||||
sfc.removeSpdGuidDeclaration();
|
||||
int rowCount = model.getRowCount();
|
||||
int i = 0;
|
||||
|
||||
while (i < rowCount) {
|
||||
String name = null;
|
||||
if (model.getValueAt(i, 0) != null) {
|
||||
name = model.getValueAt(i, 0).toString();
|
||||
}
|
||||
String cName = null;
|
||||
if (model.getValueAt(i, 1) != null) {
|
||||
cName = model.getValueAt(i, 1).toString();
|
||||
}
|
||||
String guid = null;
|
||||
if (model.getValueAt(i, 2) != null) {
|
||||
guid = model.getValueAt(i, 2).toString();
|
||||
}
|
||||
sfc.genSpdGuidDeclarations(name, cName, guid, null);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonOk
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonOk() {
|
||||
if (jButtonOk == null) {
|
||||
jButtonOk = new JButton();
|
||||
jButtonOk.setText("Ok");
|
||||
jButtonOk.setSize(new java.awt.Dimension(84, 20));
|
||||
jButtonOk.setLocation(new java.awt.Point(316, 486));
|
||||
jButtonOk.addActionListener(this);
|
||||
}
|
||||
return jButtonOk;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonCancel
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonCancel() {
|
||||
if (jButtonCancel == null) {
|
||||
jButtonCancel = new JButton();
|
||||
jButtonCancel.setText("Cancel");
|
||||
jButtonCancel.setSize(new java.awt.Dimension(82, 20));
|
||||
jButtonCancel.setLocation(new java.awt.Point(411, 486));
|
||||
jButtonCancel.addActionListener(this);
|
||||
}
|
||||
return jButtonCancel;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton() {
|
||||
if (jButton == null) {
|
||||
jButton = new JButton();
|
||||
jButton.setBounds(new java.awt.Rectangle(219, 487, 78, 18));
|
||||
jButton.setText("Insert");
|
||||
jButton.addActionListener(this);
|
||||
}
|
||||
return jButton;
|
||||
}
|
||||
} // @jve:decl-index=0:visual-constraint="11,7"
|
@@ -0,0 +1,221 @@
|
||||
/** @file
|
||||
Java class UpdateLibraryClass is GUI for update library class in spd file.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.JButton;
|
||||
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JTable;
|
||||
import javax.swing.table.*;
|
||||
|
||||
import org.tianocore.common.Tools;
|
||||
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.*;
|
||||
|
||||
/**
|
||||
GUI for update library class in spd file
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class UpdateLibraryClass extends JFrame implements ActionListener {
|
||||
|
||||
private JPanel jContentPane = null;
|
||||
|
||||
private JScrollPane jScrollPane = null;
|
||||
|
||||
private JTable jTable = null;
|
||||
|
||||
private SpdFileContents sfc = null;
|
||||
|
||||
private JButton jButtonOk = null;
|
||||
|
||||
private JButton jButtonCancel = null;
|
||||
|
||||
private DefaultTableModel model = null;
|
||||
|
||||
private JButton jButton = null;
|
||||
|
||||
/**
|
||||
This is the default constructor
|
||||
**/
|
||||
public UpdateLibraryClass(SpdFileContents sfc) {
|
||||
super();
|
||||
this.sfc = sfc;
|
||||
initialize();
|
||||
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
if (arg0.getSource() == jButtonOk) {
|
||||
this.save();
|
||||
this.dispose();
|
||||
|
||||
}
|
||||
if (arg0.getSource() == jButtonCancel) {
|
||||
this.dispose();
|
||||
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jButton) {
|
||||
String[] o = { "", "" };
|
||||
model.addRow(o);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
@return void
|
||||
**/
|
||||
private void initialize() {
|
||||
this.setSize(604, 553);
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
this.setTitle("Update Library Class Declarations");
|
||||
this.setContentPane(getJContentPane());
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jContentPane
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJContentPane() {
|
||||
if (jContentPane == null) {
|
||||
jContentPane = new JPanel();
|
||||
jContentPane.setLayout(null);
|
||||
jContentPane.add(getJScrollPane(), null);
|
||||
jContentPane.add(getJButtonOk(), null);
|
||||
jContentPane.add(getJButtonCancel(), null);
|
||||
jContentPane.add(getJButton(), null);
|
||||
}
|
||||
return jContentPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jScrollPane
|
||||
|
||||
@return javax.swing.JScrollPane
|
||||
**/
|
||||
private JScrollPane getJScrollPane() {
|
||||
if (jScrollPane == null) {
|
||||
jScrollPane = new JScrollPane();
|
||||
jScrollPane.setBounds(new java.awt.Rectangle(38, 45, 453, 419));
|
||||
jScrollPane.setViewportView(getJTable());
|
||||
}
|
||||
return jScrollPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTable
|
||||
|
||||
@return javax.swing.JTable
|
||||
**/
|
||||
private JTable getJTable() {
|
||||
if (jTable == null) {
|
||||
model = new DefaultTableModel();
|
||||
jTable = new JTable(model);
|
||||
jTable.setRowHeight(20);
|
||||
model.addColumn("LibraryClass");
|
||||
model.addColumn("IncludeHeader");
|
||||
if (sfc.getSpdLibClassDeclarationCount() == 0) {
|
||||
return jTable;
|
||||
}
|
||||
//
|
||||
// initialize table using SpdFileContents object
|
||||
//
|
||||
String[][] saa = new String[sfc.getSpdLibClassDeclarationCount()][2];
|
||||
sfc.getSpdLibClassDeclarations(saa);
|
||||
int i = 0;
|
||||
while (i < saa.length) {
|
||||
model.addRow(saa[i]);
|
||||
i++;
|
||||
}
|
||||
|
||||
}
|
||||
return jTable;
|
||||
}
|
||||
|
||||
/**
|
||||
Remove original library classes before saving updated ones
|
||||
**/
|
||||
protected void save() {
|
||||
sfc.removeSpdLibClass();
|
||||
int rowCount = model.getRowCount();
|
||||
int i = 0;
|
||||
while (i < rowCount) {
|
||||
String libClass = null;
|
||||
if (model.getValueAt(i, 0) != null) {
|
||||
libClass = model.getValueAt(i, 0).toString();
|
||||
}
|
||||
String headerFile = null;
|
||||
if (model.getValueAt(i, 1) != null) {
|
||||
headerFile = model.getValueAt(i, 1).toString();
|
||||
}
|
||||
sfc.genSpdLibClassDeclarations(libClass, null, headerFile, null, null, null, null, null, null, null);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonOk
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonOk() {
|
||||
if (jButtonOk == null) {
|
||||
jButtonOk = new JButton();
|
||||
jButtonOk.setText("Ok");
|
||||
jButtonOk.setSize(new java.awt.Dimension(84, 20));
|
||||
jButtonOk.setLocation(new java.awt.Point(316, 486));
|
||||
jButtonOk.addActionListener(this);
|
||||
}
|
||||
return jButtonOk;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonCancel
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonCancel() {
|
||||
if (jButtonCancel == null) {
|
||||
jButtonCancel = new JButton();
|
||||
jButtonCancel.setText("Cancel");
|
||||
jButtonCancel.setSize(new java.awt.Dimension(82, 20));
|
||||
jButtonCancel.setLocation(new java.awt.Point(411, 486));
|
||||
jButtonCancel.addActionListener(this);
|
||||
}
|
||||
return jButtonCancel;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton() {
|
||||
if (jButton == null) {
|
||||
jButton = new JButton();
|
||||
jButton.setBounds(new java.awt.Rectangle(221, 486, 79, 19));
|
||||
jButton.setText("Insert");
|
||||
jButton.addActionListener(this);
|
||||
}
|
||||
return jButton;
|
||||
}
|
||||
} // @jve:decl-index=0:visual-constraint="11,7"
|
@@ -0,0 +1,217 @@
|
||||
/** @file
|
||||
Java class UpdateLibraryClass is GUI for msa files in spd file.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.JButton;
|
||||
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JTable;
|
||||
import javax.swing.table.*;
|
||||
|
||||
import org.tianocore.common.Tools;
|
||||
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
/**
|
||||
GUI for msa files in spd file
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class UpdateMsaFile extends JFrame implements ActionListener {
|
||||
|
||||
private JPanel jContentPane = null;
|
||||
|
||||
private JScrollPane jScrollPane = null;
|
||||
|
||||
private JTable jTable = null;
|
||||
|
||||
private SpdFileContents sfc = null;
|
||||
|
||||
private JButton jButtonOk = null;
|
||||
|
||||
private JButton jButtonCancel = null;
|
||||
|
||||
private DefaultTableModel model = null;
|
||||
|
||||
private JButton jButton = null;
|
||||
|
||||
/**
|
||||
This is the default constructor
|
||||
**/
|
||||
public UpdateMsaFile(SpdFileContents sfc) {
|
||||
super();
|
||||
this.sfc = sfc;
|
||||
initialize();
|
||||
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
if (arg0.getSource() == jButtonOk) {
|
||||
this.save();
|
||||
this.dispose();
|
||||
|
||||
}
|
||||
if (arg0.getSource() == jButtonCancel) {
|
||||
this.dispose();
|
||||
|
||||
}
|
||||
if (arg0.getSource() == jButton) {
|
||||
String[] o = { "" };
|
||||
model.addRow(o);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
@return void
|
||||
**/
|
||||
private void initialize() {
|
||||
this.setSize(604, 553);
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
this.setTitle("Update MSA Files");
|
||||
this.setContentPane(getJContentPane());
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jContentPane
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJContentPane() {
|
||||
if (jContentPane == null) {
|
||||
jContentPane = new JPanel();
|
||||
jContentPane.setLayout(null);
|
||||
jContentPane.add(getJScrollPane(), null);
|
||||
jContentPane.add(getJButtonOk(), null);
|
||||
jContentPane.add(getJButtonCancel(), null);
|
||||
jContentPane.add(getJButton(), null);
|
||||
}
|
||||
return jContentPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jScrollPane
|
||||
|
||||
@return javax.swing.JScrollPane
|
||||
**/
|
||||
private JScrollPane getJScrollPane() {
|
||||
if (jScrollPane == null) {
|
||||
jScrollPane = new JScrollPane();
|
||||
jScrollPane.setBounds(new java.awt.Rectangle(38, 45, 453, 419));
|
||||
jScrollPane.setViewportView(getJTable());
|
||||
}
|
||||
return jScrollPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTable
|
||||
|
||||
@return javax.swing.JTable
|
||||
**/
|
||||
private JTable getJTable() {
|
||||
if (jTable == null) {
|
||||
model = new DefaultTableModel();
|
||||
jTable = new JTable(model);
|
||||
jTable.setRowHeight(20);
|
||||
model.addColumn("MSA File");
|
||||
|
||||
if (sfc.getSpdMsaFileCount() == 0) {
|
||||
return jTable;
|
||||
}
|
||||
//
|
||||
// initialize table using SpdFileContents object
|
||||
//
|
||||
String[][] saa = new String[sfc.getSpdMsaFileCount()][1];
|
||||
sfc.getSpdMsaFiles(saa);
|
||||
int i = 0;
|
||||
while (i < saa.length) {
|
||||
model.addRow(saa[i]);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
return jTable;
|
||||
}
|
||||
|
||||
/**
|
||||
Remove original Msa files before saving updated ones
|
||||
**/
|
||||
protected void save() {
|
||||
|
||||
sfc.removeSpdMsaFile();
|
||||
int rowCount = jTable.getRowCount();
|
||||
int i = 0;
|
||||
while (i < rowCount) {
|
||||
String msaFile = null;
|
||||
if (jTable.getValueAt(i, 0) != null) {
|
||||
msaFile = jTable.getValueAt(i, 0).toString();
|
||||
}
|
||||
sfc.genSpdMsaFiles(msaFile, null);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonOk
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonOk() {
|
||||
if (jButtonOk == null) {
|
||||
jButtonOk = new JButton();
|
||||
jButtonOk.setText("Ok");
|
||||
jButtonOk.setSize(new java.awt.Dimension(84, 20));
|
||||
jButtonOk.setLocation(new java.awt.Point(316, 486));
|
||||
jButtonOk.addActionListener(this);
|
||||
}
|
||||
return jButtonOk;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonCancel
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonCancel() {
|
||||
if (jButtonCancel == null) {
|
||||
jButtonCancel = new JButton();
|
||||
jButtonCancel.setText("Cancel");
|
||||
jButtonCancel.setSize(new java.awt.Dimension(82, 20));
|
||||
jButtonCancel.setLocation(new java.awt.Point(411, 486));
|
||||
jButtonCancel.addActionListener(this);
|
||||
}
|
||||
return jButtonCancel;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton() {
|
||||
if (jButton == null) {
|
||||
jButton = new JButton();
|
||||
jButton.setBounds(new java.awt.Rectangle(219, 486, 79, 19));
|
||||
jButton.setText("Insert");
|
||||
jButton.addActionListener(this);
|
||||
}
|
||||
return jButton;
|
||||
}
|
||||
|
||||
} // @jve:decl-index=0:visual-constraint="11,7"
|
||||
|
@@ -0,0 +1,573 @@
|
||||
/** @file
|
||||
Java class UpdateNew is GUI for SpdHeader in spd file.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Toolkit;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JTextArea;
|
||||
import javax.swing.JScrollPane;
|
||||
|
||||
import javax.swing.JComboBox;
|
||||
|
||||
import org.tianocore.common.Tools;
|
||||
import org.tianocore.packaging.common.ui.StarLabel;
|
||||
|
||||
/**
|
||||
GUI for update SpdHeader contents
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class UpdateNew extends JFrame implements ActionListener {
|
||||
|
||||
private JPanel jContentPane = null; // @jve:decl-index=0:visual-constraint="128,4"
|
||||
|
||||
private JLabel jLabelBaseName = null;
|
||||
|
||||
private JTextField jTextFieldBaseName = null;
|
||||
|
||||
private JLabel jLabelGuid = null;
|
||||
|
||||
private JTextField jTextFieldGuid = null;
|
||||
|
||||
private JLabel jLabelVersion = null;
|
||||
|
||||
private JTextField jTextFieldVersion = null;
|
||||
|
||||
private JButton jButtonGenerateGuid = null;
|
||||
|
||||
private JLabel jLabelLicense = null;
|
||||
|
||||
private JTextArea jTextAreaLicense = null;
|
||||
|
||||
private JLabel jLabelCopyright = null;
|
||||
|
||||
private JTextArea jTextAreaCopyright = null;
|
||||
|
||||
private JLabel jLabelDescription = null;
|
||||
|
||||
private JTextArea jTextAreaDescription = null;
|
||||
|
||||
private JButton jButtonOk = null;
|
||||
|
||||
private JButton jButtonCancel = null;
|
||||
|
||||
private JScrollPane jScrollPaneLicense = null;
|
||||
|
||||
private JScrollPane jScrollPaneCopyright = null;
|
||||
|
||||
private JScrollPane jScrollPaneDescription = null;
|
||||
|
||||
private JLabel jLabelAbstract = null;
|
||||
|
||||
private JTextField jTextFieldAbstract = null;
|
||||
|
||||
private JLabel jLabelModuleType = null;
|
||||
|
||||
private JLabel jLabelCompontentType = null;
|
||||
|
||||
private JComboBox jComboBox1 = null;
|
||||
|
||||
private JComboBox jComboBoxModuleType = null;
|
||||
|
||||
private StarLabel jStarLabel1 = null;
|
||||
|
||||
private StarLabel jStarLabel2 = null;
|
||||
|
||||
private StarLabel jStarLabel3 = null;
|
||||
|
||||
private StarLabel jStarLabel4 = null;
|
||||
|
||||
private StarLabel jStarLabel5 = null;
|
||||
|
||||
private StarLabel jStarLabel6 = null;
|
||||
|
||||
private StarLabel jStarLabel7 = null;
|
||||
|
||||
private StarLabel jStarLabel8 = null;
|
||||
|
||||
private JLabel jLabelURL = null;
|
||||
|
||||
private JTextField jTextFieldAbstractURL = null;
|
||||
|
||||
private JLabel jLabel = null;
|
||||
|
||||
private JComboBox jComboBox = null;
|
||||
|
||||
private SpdFileContents sfc = null;
|
||||
|
||||
private String createTime = null;
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
**/
|
||||
private void initialize() {
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextFieldBaseName
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextFieldBaseName() {
|
||||
if (jTextFieldBaseName == null) {
|
||||
jTextFieldBaseName = new JTextField();
|
||||
jTextFieldBaseName.setBounds(new java.awt.Rectangle(160, 10, 320, 20));
|
||||
}
|
||||
return jTextFieldBaseName;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextFieldGuid
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextFieldGuid() {
|
||||
if (jTextFieldGuid == null) {
|
||||
jTextFieldGuid = new JTextField();
|
||||
jTextFieldGuid.setBounds(new java.awt.Rectangle(160, 35, 240, 20));
|
||||
}
|
||||
return jTextFieldGuid;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextFieldVersion
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextFieldVersion() {
|
||||
if (jTextFieldVersion == null) {
|
||||
jTextFieldVersion = new JTextField();
|
||||
jTextFieldVersion.setBounds(new java.awt.Rectangle(160, 60, 320, 20));
|
||||
}
|
||||
return jTextFieldVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonGenerateGuid
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonGenerateGuid() {
|
||||
if (jButtonGenerateGuid == null) {
|
||||
jButtonGenerateGuid = new JButton();
|
||||
jButtonGenerateGuid.setBounds(new java.awt.Rectangle(405, 35, 75, 20));
|
||||
jButtonGenerateGuid.setText("GEN");
|
||||
jButtonGenerateGuid.addActionListener(this);
|
||||
}
|
||||
return jButtonGenerateGuid;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextAreaLicense
|
||||
|
||||
@return javax.swing.JTextArea
|
||||
**/
|
||||
private JTextArea getJTextAreaLicense() {
|
||||
if (jTextAreaLicense == null) {
|
||||
jTextAreaLicense = new JTextArea();
|
||||
jTextAreaLicense.setText("");
|
||||
jTextAreaLicense.setLineWrap(true);
|
||||
}
|
||||
return jTextAreaLicense;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextAreaCopyright
|
||||
|
||||
@return javax.swing.JTextArea
|
||||
**/
|
||||
private JTextArea getJTextAreaCopyright() {
|
||||
if (jTextAreaCopyright == null) {
|
||||
jTextAreaCopyright = new JTextArea();
|
||||
jTextAreaCopyright.setLineWrap(true);
|
||||
}
|
||||
return jTextAreaCopyright;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextAreaDescription
|
||||
|
||||
@return javax.swing.JTextArea
|
||||
**/
|
||||
private JTextArea getJTextAreaDescription() {
|
||||
if (jTextAreaDescription == null) {
|
||||
jTextAreaDescription = new JTextArea();
|
||||
jTextAreaDescription.setLineWrap(true);
|
||||
}
|
||||
return jTextAreaDescription;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonNext
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonOk() {
|
||||
if (jButtonOk == null) {
|
||||
jButtonOk = new JButton();
|
||||
jButtonOk.setText("OK");
|
||||
jButtonOk.setBounds(new java.awt.Rectangle(290, 481, 90, 20));
|
||||
jButtonOk.addActionListener(this);
|
||||
}
|
||||
return jButtonOk;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonCancel
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonCancel() {
|
||||
if (jButtonCancel == null) {
|
||||
jButtonCancel = new JButton();
|
||||
jButtonCancel.setText("Cancel");
|
||||
jButtonCancel.setBounds(new java.awt.Rectangle(390, 481, 90, 20));
|
||||
jButtonCancel.addActionListener(this);
|
||||
}
|
||||
return jButtonCancel;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jScrollPane
|
||||
|
||||
@return javax.swing.JScrollPane
|
||||
**/
|
||||
private JScrollPane getJScrollPaneLicense() {
|
||||
if (jScrollPaneLicense == null) {
|
||||
jScrollPaneLicense = new JScrollPane();
|
||||
jScrollPaneLicense.setBounds(new java.awt.Rectangle(160, 85, 320, 80));
|
||||
jScrollPaneLicense.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
|
||||
jScrollPaneLicense.setViewportView(getJTextAreaLicense());
|
||||
}
|
||||
return jScrollPaneLicense;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jScrollPane1
|
||||
|
||||
@return javax.swing.JScrollPane
|
||||
**/
|
||||
private JScrollPane getJScrollPaneCopyright() {
|
||||
if (jScrollPaneCopyright == null) {
|
||||
jScrollPaneCopyright = new JScrollPane();
|
||||
jScrollPaneCopyright.setBounds(new java.awt.Rectangle(160,170,320,26));
|
||||
jScrollPaneCopyright.setViewportView(getJTextAreaCopyright());
|
||||
jScrollPaneCopyright.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
|
||||
}
|
||||
return jScrollPaneCopyright;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jScrollPane2
|
||||
|
||||
@return javax.swing.JScrollPane
|
||||
**/
|
||||
private JScrollPane getJScrollPaneDescription() {
|
||||
if (jScrollPaneDescription == null) {
|
||||
jScrollPaneDescription = new JScrollPane();
|
||||
jScrollPaneDescription.setBounds(new java.awt.Rectangle(160, 322, 320, 80));
|
||||
jScrollPaneDescription.setViewportView(getJTextAreaDescription());
|
||||
jScrollPaneDescription.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
|
||||
}
|
||||
return jScrollPaneDescription;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextFieldAbstract
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextFieldAbstract() {
|
||||
if (jTextFieldAbstract == null) {
|
||||
jTextFieldAbstract = new JTextField();
|
||||
jTextFieldAbstract.setBounds(new java.awt.Rectangle(161,216,318,73));
|
||||
}
|
||||
return jTextFieldAbstract;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jComboBoxCompontentType
|
||||
|
||||
@return javax.swing.JComboBox
|
||||
**/
|
||||
private JComboBox getJComboBox1() {
|
||||
if (jComboBox1 == null) {
|
||||
jComboBox1 = new JComboBox();
|
||||
jComboBox1.setBounds(new java.awt.Rectangle(160, 465, 91, 20));
|
||||
}
|
||||
return jComboBox1;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jComboBoxModuleType
|
||||
|
||||
@return javax.swing.JComboBox
|
||||
**/
|
||||
private JComboBox getJComboBoxModuleType() {
|
||||
if (jComboBoxModuleType == null) {
|
||||
jComboBoxModuleType = new JComboBox();
|
||||
jComboBoxModuleType.setBounds(new java.awt.Rectangle(160, 440, 91, 20));
|
||||
}
|
||||
return jComboBoxModuleType;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTextFieldAbstractURL
|
||||
|
||||
@return javax.swing.JTextField
|
||||
**/
|
||||
private JTextField getJTextFieldAbstractURL() {
|
||||
if (jTextFieldAbstractURL == null) {
|
||||
jTextFieldAbstractURL = new JTextField();
|
||||
jTextFieldAbstractURL.setBounds(new java.awt.Rectangle(159, 414, 320, 20));
|
||||
}
|
||||
return jTextFieldAbstractURL;
|
||||
}
|
||||
|
||||
public UpdateNew(SpdFileContents sfc) {
|
||||
super();
|
||||
initialize();
|
||||
init();
|
||||
this.setVisible(true);
|
||||
this.sfc = sfc;
|
||||
initShow();
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
**/
|
||||
protected void centerWindow(int intWidth, int intHeight) {
|
||||
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
|
||||
this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);
|
||||
}
|
||||
|
||||
/**
|
||||
Start the window at the center of screen
|
||||
|
||||
**/
|
||||
protected void centerWindow() {
|
||||
centerWindow(this.getSize().width, this.getSize().height);
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
@return void
|
||||
**/
|
||||
private void init() {
|
||||
this.setSize(500, 560);
|
||||
this.setContentPane(getJContentPane());
|
||||
this.setTitle("SPD File Header");
|
||||
this.centerWindow();
|
||||
//this.getRootPane().setDefaultButton(jButtonOk);
|
||||
initFrame();
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jContentPane
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJContentPane() {
|
||||
if (jContentPane == null) {
|
||||
jLabel = new JLabel();
|
||||
jLabel.setBounds(new java.awt.Rectangle(15, 490, 140, 21));
|
||||
jLabel.setText("Re-Package");
|
||||
jLabelURL = new JLabel();
|
||||
jLabelURL.setBounds(new java.awt.Rectangle(16, 414, 25, 20));
|
||||
jLabelURL.setText("URL");
|
||||
jLabelCompontentType = new JLabel();
|
||||
jLabelCompontentType.setBounds(new java.awt.Rectangle(15, 465, 140, 20));
|
||||
jLabelCompontentType.setText("Read Only");
|
||||
jLabelModuleType = new JLabel();
|
||||
jLabelModuleType.setBounds(new java.awt.Rectangle(15, 440, 140, 20));
|
||||
jLabelModuleType.setText("Package Type");
|
||||
jLabelAbstract = new JLabel();
|
||||
jLabelAbstract.setBounds(new java.awt.Rectangle(17,216,140,20));
|
||||
jLabelAbstract.setText("Abstract");
|
||||
jLabelDescription = new JLabel();
|
||||
jLabelDescription.setText("Description");
|
||||
jLabelDescription.setBounds(new java.awt.Rectangle(16, 325, 140, 20));
|
||||
jLabelCopyright = new JLabel();
|
||||
jLabelCopyright.setText("Copyright");
|
||||
jLabelCopyright.setBounds(new java.awt.Rectangle(15, 171, 140, 20));
|
||||
jLabelLicense = new JLabel();
|
||||
jLabelLicense.setText("License");
|
||||
jLabelLicense.setBounds(new java.awt.Rectangle(15, 85, 140, 20));
|
||||
jLabelVersion = new JLabel();
|
||||
jLabelVersion.setText("Version");
|
||||
jLabelVersion.setBounds(new java.awt.Rectangle(15, 60, 140, 20));
|
||||
jLabelGuid = new JLabel();
|
||||
jLabelGuid.setPreferredSize(new java.awt.Dimension(25, 15));
|
||||
jLabelGuid.setBounds(new java.awt.Rectangle(15, 35, 140, 20));
|
||||
jLabelGuid.setText("Guid");
|
||||
jLabelBaseName = new JLabel();
|
||||
jLabelBaseName.setText("Package Name");
|
||||
jLabelBaseName.setBounds(new java.awt.Rectangle(15, 10, 140, 20));
|
||||
jContentPane = new JPanel();
|
||||
jContentPane.setLayout(null);
|
||||
jContentPane.setLocation(new java.awt.Point(0, 0));
|
||||
jContentPane.setSize(new java.awt.Dimension(500, 524));
|
||||
jContentPane.add(jLabelBaseName, null);
|
||||
jContentPane.add(getJTextFieldBaseName(), null);
|
||||
jContentPane.add(jLabelGuid, null);
|
||||
jContentPane.add(getJTextFieldGuid(), null);
|
||||
jContentPane.add(jLabelVersion, null);
|
||||
jContentPane.add(getJTextFieldVersion(), null);
|
||||
jContentPane.add(getJButtonGenerateGuid(), null);
|
||||
jContentPane.add(jLabelLicense, null);
|
||||
jContentPane.add(jLabelCopyright, null);
|
||||
jContentPane.add(jLabelDescription, null);
|
||||
jContentPane.add(getJButtonOk(), null);
|
||||
jContentPane.add(getJButtonCancel(), null);
|
||||
jContentPane.add(getJScrollPaneLicense(), null);
|
||||
jContentPane.add(getJScrollPaneCopyright(), null);
|
||||
jContentPane.add(getJScrollPaneDescription(), null);
|
||||
jContentPane.add(jLabelAbstract, null);
|
||||
jContentPane.add(getJTextFieldAbstract(), null);
|
||||
jContentPane.add(jLabelModuleType, null);
|
||||
jContentPane.add(jLabelCompontentType, null);
|
||||
jContentPane.add(getJComboBox1(), null);
|
||||
jContentPane.add(getJComboBoxModuleType(), null);
|
||||
|
||||
jStarLabel1 = new StarLabel();
|
||||
jStarLabel1.setLocation(new java.awt.Point(0, 10));
|
||||
jStarLabel2 = new StarLabel();
|
||||
jStarLabel2.setLocation(new java.awt.Point(0, 35));
|
||||
jStarLabel3 = new StarLabel();
|
||||
jStarLabel3.setLocation(new java.awt.Point(0, 60));
|
||||
jStarLabel4 = new StarLabel();
|
||||
jStarLabel4.setLocation(new java.awt.Point(0, 85));
|
||||
jStarLabel5 = new StarLabel();
|
||||
jStarLabel5.setLocation(new java.awt.Point(0, 171));
|
||||
jStarLabel6 = new StarLabel();
|
||||
jStarLabel6.setLocation(new java.awt.Point(1, 325));
|
||||
jStarLabel7 = new StarLabel();
|
||||
jStarLabel7.setLocation(new java.awt.Point(2,216));
|
||||
jStarLabel8 = new StarLabel();
|
||||
jStarLabel8.setLocation(new java.awt.Point(0, 440));
|
||||
|
||||
jContentPane.add(jStarLabel1, null);
|
||||
jContentPane.add(jStarLabel2, null);
|
||||
jContentPane.add(jStarLabel3, null);
|
||||
jContentPane.add(jStarLabel4, null);
|
||||
jContentPane.add(jStarLabel5, null);
|
||||
jContentPane.add(jStarLabel6, null);
|
||||
jContentPane.add(jStarLabel7, null);
|
||||
jContentPane.add(jStarLabel8, null);
|
||||
jContentPane.add(jLabelURL, null);
|
||||
jContentPane.add(getJTextFieldAbstractURL(), null);
|
||||
jContentPane.add(jLabel, null);
|
||||
jContentPane.add(getJComboBox(), null);
|
||||
}
|
||||
return jContentPane;
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
if (arg0.getSource() == jButtonOk) {
|
||||
this.save();
|
||||
this.dispose();
|
||||
|
||||
}
|
||||
if (arg0.getSource() == jButtonCancel) {
|
||||
this.dispose();
|
||||
|
||||
}
|
||||
if (arg0.getSource() == jButtonGenerateGuid) {
|
||||
jTextFieldGuid.setText(Tools.generateUuidString());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Save all components of Msa Header, update time modified.
|
||||
|
||||
**/
|
||||
private void save() {
|
||||
// sfc.removeSpdHdr();
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
|
||||
Date date = new Date();
|
||||
sfc.genSpdHeader(jTextFieldBaseName.getText(), jTextFieldGuid.getText(), jTextFieldVersion.getText(),
|
||||
jTextFieldAbstract.getText(), jTextAreaDescription.getText(), jTextAreaCopyright.getText(),
|
||||
jTextAreaLicense.getText(), createTime, format.format(date), jTextFieldAbstractURL.getText(),
|
||||
jComboBoxModuleType.getSelectedItem().toString(), jComboBox1.getSelectedItem().toString(),
|
||||
jComboBox.getSelectedItem().toString(), null, null);
|
||||
// ModalFrameUtil.showAsModal(new PackageAction(sfc), pThis);
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes module type and compontent type
|
||||
|
||||
**/
|
||||
private void initFrame() {
|
||||
jComboBoxModuleType.addItem("SOURCE");
|
||||
jComboBoxModuleType.addItem("BINARY");
|
||||
jComboBoxModuleType.addItem("MIXED");
|
||||
|
||||
jComboBox1.addItem("true");
|
||||
jComboBox1.addItem("false");
|
||||
|
||||
jComboBox.addItem("false");
|
||||
jComboBox.addItem("true");
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
Display original SpdHeader contents during init
|
||||
**/
|
||||
private void initShow() {
|
||||
String[] s = new String[12];
|
||||
|
||||
sfc.getSpdHdrDetails(s);
|
||||
jTextFieldBaseName.setText(s[0]);
|
||||
jTextFieldGuid.setText(s[1]);
|
||||
jTextFieldVersion.setText(s[2]);
|
||||
jTextFieldAbstract.setText(s[3]);
|
||||
jTextAreaDescription.setText(s[4]);
|
||||
jTextAreaCopyright.setText(s[5]);
|
||||
jTextAreaLicense.setText(s[6]);
|
||||
createTime = s[7];
|
||||
jTextFieldAbstractURL.setText(s[8]);
|
||||
jComboBoxModuleType.setSelectedItem(s[9]);
|
||||
jComboBox1.setSelectedIndex(s[10].equals("true") ? 0 : 1);
|
||||
jComboBox.setSelectedIndex(s[11].equals("true") ? 0 : 1);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jComboBox
|
||||
|
||||
@return javax.swing.JComboBox
|
||||
**/
|
||||
private JComboBox getJComboBox() {
|
||||
if (jComboBox == null) {
|
||||
jComboBox = new JComboBox();
|
||||
jComboBox.setBounds(new java.awt.Rectangle(160, 490, 90, 20));
|
||||
}
|
||||
return jComboBox;
|
||||
}
|
||||
|
||||
} // @jve:decl-index=0:visual-constraint="38,-22"
|
@@ -0,0 +1,256 @@
|
||||
/** @file
|
||||
Java class UpdatePCD is GUI for update PCD definitions in spd file.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import javax.swing.DefaultCellEditor;
|
||||
import javax.swing.JComboBox;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.JButton;
|
||||
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JTable;
|
||||
import javax.swing.table.*;
|
||||
|
||||
import org.tianocore.common.Tools;
|
||||
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.*;
|
||||
|
||||
/**
|
||||
GUI for update PCD definitions in spd file
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class UpdatePCD extends JFrame implements ActionListener {
|
||||
|
||||
private JPanel jContentPane = null;
|
||||
|
||||
private SpdFileContents sfc = null;
|
||||
|
||||
private JButton jButtonOk = null;
|
||||
|
||||
private JButton jButtonCancel = null;
|
||||
|
||||
private DefaultTableModel model = null;
|
||||
|
||||
private String[][] saa = null;
|
||||
|
||||
private JScrollPane jScrollPane = null;
|
||||
|
||||
private JTable jTable = null;
|
||||
|
||||
private JButton jButton = null;
|
||||
|
||||
/**
|
||||
This is the default constructor
|
||||
**/
|
||||
public UpdatePCD(SpdFileContents sfc) {
|
||||
super();
|
||||
this.sfc = sfc;
|
||||
initialize();
|
||||
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
if (arg0.getSource() == jButtonOk) {
|
||||
this.save();
|
||||
this.dispose();
|
||||
|
||||
}
|
||||
if (arg0.getSource() == jButtonCancel) {
|
||||
this.dispose();
|
||||
|
||||
}
|
||||
if (arg0.getSource() == jButton) {
|
||||
String[] o = { "FEATURE_FLAG", "", "", "UINT8", "0" };
|
||||
model.addRow(o);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
@return void
|
||||
**/
|
||||
private void initialize() {
|
||||
this.setSize(916, 486);
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
this.setTitle("Update PCD Definitions");
|
||||
this.setContentPane(getJContentPane());
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jContentPane
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJContentPane() {
|
||||
if (jContentPane == null) {
|
||||
jContentPane = new JPanel();
|
||||
jContentPane.setLayout(null);
|
||||
jContentPane.add(getJButtonOk(), null);
|
||||
jContentPane.add(getJButtonCancel(), null);
|
||||
jContentPane.add(getJScrollPane(), null);
|
||||
jContentPane.add(getJButton(), null);
|
||||
}
|
||||
return jContentPane;
|
||||
}
|
||||
|
||||
/**
|
||||
Remove original Pcd definitions before saving updated ones
|
||||
**/
|
||||
protected void save() {
|
||||
sfc.removeSpdPcdDefinition();
|
||||
int rowCount = model.getRowCount();
|
||||
int i = 0;
|
||||
while (i < rowCount) {
|
||||
String cName = null;
|
||||
if (model.getValueAt(i, 1) != null) {
|
||||
cName = model.getValueAt(i, 1).toString();
|
||||
}
|
||||
String token = null;
|
||||
if (model.getValueAt(i, 2) != null) {
|
||||
token = model.getValueAt(i, 2).toString();
|
||||
}
|
||||
String defaultVal = null;
|
||||
if (model.getValueAt(i, 4) != null) {
|
||||
defaultVal = model.getValueAt(i, 4).toString();
|
||||
}
|
||||
sfc.genSpdPcdDefinitions(model.getValueAt(i, 0).toString(), cName, token,
|
||||
model.getValueAt(i, 3).toString(), null, null, null, null, null, null, defaultVal);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonOk
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonOk() {
|
||||
if (jButtonOk == null) {
|
||||
jButtonOk = new JButton();
|
||||
jButtonOk.setText("Ok");
|
||||
jButtonOk.setSize(new java.awt.Dimension(84, 20));
|
||||
jButtonOk.setLocation(new java.awt.Point(605, 404));
|
||||
jButtonOk.addActionListener(this);
|
||||
}
|
||||
return jButtonOk;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonCancel
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonCancel() {
|
||||
if (jButtonCancel == null) {
|
||||
jButtonCancel = new JButton();
|
||||
jButtonCancel.setText("Cancel");
|
||||
jButtonCancel.setSize(new java.awt.Dimension(82, 20));
|
||||
jButtonCancel.setLocation(new java.awt.Point(712, 404));
|
||||
jButtonCancel.addActionListener(this);
|
||||
}
|
||||
return jButtonCancel;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jScrollPane
|
||||
|
||||
@return javax.swing.JScrollPane
|
||||
**/
|
||||
private JScrollPane getJScrollPane() {
|
||||
if (jScrollPane == null) {
|
||||
jScrollPane = new JScrollPane();
|
||||
jScrollPane.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
|
||||
jScrollPane.setBounds(new java.awt.Rectangle(51, 62, 782, 304));
|
||||
jScrollPane.setViewportView(getJTable2());
|
||||
}
|
||||
return jScrollPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTable
|
||||
|
||||
@return javax.swing.JTable
|
||||
**/
|
||||
private JTable getJTable2() {
|
||||
if (jTable == null) {
|
||||
model = new DefaultTableModel();
|
||||
jTable = new JTable(model);
|
||||
jTable.setRowHeight(20);
|
||||
model.addColumn("ItemType");
|
||||
model.addColumn("C_Name");
|
||||
model.addColumn("Token");
|
||||
model.addColumn("DataType");
|
||||
model.addColumn("DefaultValue");
|
||||
//
|
||||
// Using combobox to display ItemType in table
|
||||
//
|
||||
JComboBox jComboBoxItemType = new JComboBox();
|
||||
jComboBoxItemType.addItem("FEATURE_FLAG");
|
||||
jComboBoxItemType.addItem("FIXED_AT_BUILD");
|
||||
jComboBoxItemType.addItem("PATCHABLE_IN_MODULE");
|
||||
jComboBoxItemType.addItem("DYNAMIC");
|
||||
jComboBoxItemType.addItem("DYNAMIC_EX");
|
||||
TableColumn itemTypeColumn = jTable.getColumnModel().getColumn(0);
|
||||
itemTypeColumn.setCellEditor(new DefaultCellEditor(jComboBoxItemType));
|
||||
//
|
||||
// Using combobox to display data type in table
|
||||
//
|
||||
JComboBox jComboBoxDataType = new JComboBox();
|
||||
jComboBoxDataType.addItem("UINT8");
|
||||
jComboBoxDataType.addItem("UINT16");
|
||||
jComboBoxDataType.addItem("UINT32");
|
||||
jComboBoxDataType.addItem("UINT64");
|
||||
jComboBoxDataType.addItem("VOID*");
|
||||
jComboBoxDataType.addItem("BOOLEAN");
|
||||
TableColumn dataTypeColumn = jTable.getColumnModel().getColumn(3);
|
||||
dataTypeColumn.setCellEditor(new DefaultCellEditor(jComboBoxDataType));
|
||||
|
||||
if (sfc.getSpdPcdDefinitionCount() == 0) {
|
||||
|
||||
return jTable;
|
||||
}
|
||||
saa = new String[sfc.getSpdPcdDefinitionCount()][5];
|
||||
sfc.getSpdPcdDefinitions(saa);
|
||||
int i = 0;
|
||||
while (i < saa.length) {
|
||||
model.addRow(saa[i]);
|
||||
i++;
|
||||
}
|
||||
|
||||
}
|
||||
return jTable;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton() {
|
||||
if (jButton == null) {
|
||||
jButton = new JButton();
|
||||
jButton.setBounds(new java.awt.Rectangle(499, 404, 77, 20));
|
||||
jButton.setText("Insert");
|
||||
jButton.addActionListener(this);
|
||||
}
|
||||
return jButton;
|
||||
}
|
||||
} // @jve:decl-index=0:visual-constraint="11,7"
|
@@ -0,0 +1,236 @@
|
||||
/** @file
|
||||
Java class UpdatePkgHeader is GUI for update Package Header in spd file.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import javax.swing.DefaultCellEditor;
|
||||
import javax.swing.JComboBox;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.JButton;
|
||||
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JTable;
|
||||
import javax.swing.table.*;
|
||||
|
||||
import org.tianocore.common.Tools;
|
||||
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.*;
|
||||
|
||||
/**
|
||||
GUI for update Package Header in spd file
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class UpdatePkgHeader extends JFrame implements ActionListener {
|
||||
|
||||
private JPanel jContentPane = null;
|
||||
|
||||
private JScrollPane jScrollPane = null;
|
||||
|
||||
private JTable jTable = null;
|
||||
|
||||
private SpdFileContents sfc = null;
|
||||
|
||||
private JButton jButtonOk = null;
|
||||
|
||||
private JButton jButtonCancel = null;
|
||||
|
||||
private DefaultTableModel model = null;
|
||||
|
||||
private JButton jButton = null;
|
||||
|
||||
/**
|
||||
This is the default constructor
|
||||
**/
|
||||
public UpdatePkgHeader(SpdFileContents sfc) {
|
||||
super();
|
||||
this.sfc = sfc;
|
||||
initialize();
|
||||
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
if (arg0.getSource() == jButtonOk) {
|
||||
this.save();
|
||||
this.dispose();
|
||||
|
||||
}
|
||||
if (arg0.getSource() == jButtonCancel) {
|
||||
this.dispose();
|
||||
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jButton) {
|
||||
String[] o = { "BASE", "" };
|
||||
model.addRow(o);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
@return void
|
||||
**/
|
||||
private void initialize() {
|
||||
this.setSize(604, 553);
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
this.setTitle("Update Package Headers");
|
||||
this.setContentPane(getJContentPane());
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jContentPane
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJContentPane() {
|
||||
if (jContentPane == null) {
|
||||
jContentPane = new JPanel();
|
||||
jContentPane.setLayout(null);
|
||||
jContentPane.add(getJScrollPane(), null);
|
||||
jContentPane.add(getJButtonOk(), null);
|
||||
jContentPane.add(getJButtonCancel(), null);
|
||||
jContentPane.add(getJButton(), null);
|
||||
}
|
||||
return jContentPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jScrollPane
|
||||
|
||||
@return javax.swing.JScrollPane
|
||||
**/
|
||||
private JScrollPane getJScrollPane() {
|
||||
if (jScrollPane == null) {
|
||||
jScrollPane = new JScrollPane();
|
||||
jScrollPane.setBounds(new java.awt.Rectangle(38, 45, 453, 419));
|
||||
jScrollPane.setViewportView(getJTable());
|
||||
}
|
||||
return jScrollPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTable
|
||||
|
||||
@return javax.swing.JTable
|
||||
**/
|
||||
private JTable getJTable() {
|
||||
if (jTable == null) {
|
||||
model = new DefaultTableModel();
|
||||
jTable = new JTable(model);
|
||||
jTable.setRowHeight(20);
|
||||
model.addColumn("ModuleType");
|
||||
model.addColumn("IncludeHeader");
|
||||
//
|
||||
// Using combobox to display ModuleType in table
|
||||
//
|
||||
TableColumn typeColumn = jTable.getColumnModel().getColumn(0);
|
||||
JComboBox jComboBoxSelect = new JComboBox();
|
||||
jComboBoxSelect.addItem("BASE");
|
||||
jComboBoxSelect.addItem("SEC");
|
||||
jComboBoxSelect.addItem("PEI_CORE");
|
||||
jComboBoxSelect.addItem("PEIM");
|
||||
jComboBoxSelect.addItem("DXE_CORE");
|
||||
jComboBoxSelect.addItem("DXE_DRIVER");
|
||||
jComboBoxSelect.addItem("DXE_RUNTIME_DRIVER");
|
||||
jComboBoxSelect.addItem("DXE_SAL_DRIVER");
|
||||
jComboBoxSelect.addItem("DXE_SMM_DRIVER");
|
||||
jComboBoxSelect.addItem("TOOLS");
|
||||
jComboBoxSelect.addItem("UEFI_DRIVER");
|
||||
jComboBoxSelect.addItem("UEFI_APPLICATION");
|
||||
jComboBoxSelect.addItem("USER_DEFINED");
|
||||
typeColumn.setCellEditor(new DefaultCellEditor(jComboBoxSelect));
|
||||
|
||||
if (sfc.getSpdPackageHeaderCount() == 0) {
|
||||
return jTable;
|
||||
}
|
||||
String[][] saa = new String[sfc.getSpdPackageHeaderCount()][2];
|
||||
sfc.getSpdPackageHeaders(saa);
|
||||
int i = 0;
|
||||
while (i < saa.length) {
|
||||
model.addRow(saa[i]);
|
||||
i++;
|
||||
}
|
||||
|
||||
}
|
||||
return jTable;
|
||||
}
|
||||
|
||||
/**
|
||||
Remove original package headers before saving updated ones
|
||||
**/
|
||||
protected void save() {
|
||||
sfc.removeSpdPkgHeader();
|
||||
int rowCount = model.getRowCount();
|
||||
int i = 0;
|
||||
while (i < rowCount) {
|
||||
String headFile = null;
|
||||
if (model.getValueAt(i, 1) != null) {
|
||||
headFile = model.getValueAt(i, 1).toString();
|
||||
}
|
||||
sfc.genSpdModuleHeaders(model.getValueAt(i, 0).toString(), headFile, null, null, null, null, null, null);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonOk
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonOk() {
|
||||
if (jButtonOk == null) {
|
||||
jButtonOk = new JButton();
|
||||
jButtonOk.setText("Ok");
|
||||
jButtonOk.setSize(new java.awt.Dimension(84, 20));
|
||||
jButtonOk.setLocation(new java.awt.Point(316, 486));
|
||||
jButtonOk.addActionListener(this);
|
||||
}
|
||||
return jButtonOk;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonCancel
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonCancel() {
|
||||
if (jButtonCancel == null) {
|
||||
jButtonCancel = new JButton();
|
||||
jButtonCancel.setText("Cancel");
|
||||
jButtonCancel.setSize(new java.awt.Dimension(82, 20));
|
||||
jButtonCancel.setLocation(new java.awt.Point(411, 486));
|
||||
jButtonCancel.addActionListener(this);
|
||||
}
|
||||
return jButtonCancel;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton() {
|
||||
if (jButton == null) {
|
||||
jButton = new JButton();
|
||||
jButton.setBounds(new java.awt.Rectangle(220, 486, 85, 20));
|
||||
jButton.setText("Insert");
|
||||
jButton.addActionListener(this);
|
||||
}
|
||||
return jButton;
|
||||
}
|
||||
} // @jve:decl-index=0:visual-constraint="11,7"
|
@@ -0,0 +1,226 @@
|
||||
/** @file
|
||||
Java class UpdatePpi is GUI for update Ppi declarations in spd file.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.JButton;
|
||||
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JTable;
|
||||
import javax.swing.table.*;
|
||||
|
||||
import org.tianocore.common.Tools;
|
||||
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.*;
|
||||
|
||||
/**
|
||||
GUI for update Ppi declarations in spd file.
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class UpdatePpi extends JFrame implements ActionListener {
|
||||
|
||||
private JPanel jContentPane = null;
|
||||
|
||||
private JScrollPane jScrollPane = null;
|
||||
|
||||
private JTable jTable = null;
|
||||
|
||||
private SpdFileContents sfc = null;
|
||||
|
||||
private JButton jButtonOk = null;
|
||||
|
||||
private JButton jButtonCancel = null;
|
||||
|
||||
private DefaultTableModel model = null;
|
||||
|
||||
private JButton jButton = null;
|
||||
|
||||
/**
|
||||
This is the default constructor
|
||||
**/
|
||||
public UpdatePpi(SpdFileContents sfc) {
|
||||
super();
|
||||
this.sfc = sfc;
|
||||
initialize();
|
||||
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
if (arg0.getSource() == jButtonOk) {
|
||||
this.save();
|
||||
this.dispose();
|
||||
|
||||
}
|
||||
if (arg0.getSource() == jButtonCancel) {
|
||||
this.dispose();
|
||||
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jButton) {
|
||||
String[] o = { "", "", "" };
|
||||
model.addRow(o);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
@return void
|
||||
**/
|
||||
private void initialize() {
|
||||
this.setSize(604, 553);
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
this.setTitle("Update PPI Declarations");
|
||||
this.setContentPane(getJContentPane());
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jContentPane
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJContentPane() {
|
||||
if (jContentPane == null) {
|
||||
jContentPane = new JPanel();
|
||||
jContentPane.setLayout(null);
|
||||
jContentPane.add(getJScrollPane(), null);
|
||||
jContentPane.add(getJButtonOk(), null);
|
||||
jContentPane.add(getJButtonCancel(), null);
|
||||
jContentPane.add(getJButton(), null);
|
||||
}
|
||||
return jContentPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jScrollPane
|
||||
|
||||
@return javax.swing.JScrollPane
|
||||
**/
|
||||
private JScrollPane getJScrollPane() {
|
||||
if (jScrollPane == null) {
|
||||
jScrollPane = new JScrollPane();
|
||||
jScrollPane.setBounds(new java.awt.Rectangle(38, 45, 453, 419));
|
||||
jScrollPane.setViewportView(getJTable());
|
||||
}
|
||||
return jScrollPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTable
|
||||
|
||||
@return javax.swing.JTable
|
||||
**/
|
||||
private JTable getJTable() {
|
||||
if (jTable == null) {
|
||||
model = new DefaultTableModel();
|
||||
jTable = new JTable(model);
|
||||
jTable.setRowHeight(20);
|
||||
model.addColumn("Name");
|
||||
model.addColumn("C_Name");
|
||||
model.addColumn("GUID");
|
||||
//
|
||||
// initialize table using SpdFileContents object
|
||||
//
|
||||
if (sfc.getSpdPpiDeclarationCount() == 0) {
|
||||
return jTable;
|
||||
}
|
||||
String[][] saa = new String[sfc.getSpdPpiDeclarationCount()][3];
|
||||
sfc.getSpdPpiDeclarations(saa);
|
||||
int i = 0;
|
||||
while (i < saa.length) {
|
||||
model.addRow(saa[i]);
|
||||
i++;
|
||||
}
|
||||
|
||||
}
|
||||
return jTable;
|
||||
}
|
||||
|
||||
/**
|
||||
Remove original ppi declarations before saving updated ones
|
||||
**/
|
||||
protected void save() {
|
||||
sfc.removeSpdPpiDeclaration();
|
||||
int rowCount = model.getRowCount();
|
||||
int i = 0;
|
||||
while (i < rowCount) {
|
||||
String name = null;
|
||||
if (model.getValueAt(i, 0) != null) {
|
||||
name = model.getValueAt(i, 0).toString();
|
||||
}
|
||||
String cName = null;
|
||||
if (model.getValueAt(i, 1) != null) {
|
||||
cName = model.getValueAt(i, 1).toString();
|
||||
}
|
||||
String guid = null;
|
||||
if (model.getValueAt(i, 2) != null) {
|
||||
guid = model.getValueAt(i, 2).toString();
|
||||
}
|
||||
sfc.genSpdPpiDeclarations(name, cName, guid, null);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonOk
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonOk() {
|
||||
if (jButtonOk == null) {
|
||||
jButtonOk = new JButton();
|
||||
jButtonOk.setText("Ok");
|
||||
jButtonOk.setSize(new java.awt.Dimension(84, 20));
|
||||
jButtonOk.setLocation(new java.awt.Point(316, 486));
|
||||
jButtonOk.addActionListener(this);
|
||||
}
|
||||
return jButtonOk;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonCancel
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonCancel() {
|
||||
if (jButtonCancel == null) {
|
||||
jButtonCancel = new JButton();
|
||||
jButtonCancel.setText("Cancel");
|
||||
jButtonCancel.setSize(new java.awt.Dimension(82, 20));
|
||||
jButtonCancel.setLocation(new java.awt.Point(411, 486));
|
||||
jButtonCancel.addActionListener(this);
|
||||
}
|
||||
return jButtonCancel;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton() {
|
||||
if (jButton == null) {
|
||||
jButton = new JButton();
|
||||
jButton.setBounds(new java.awt.Rectangle(224, 488, 72, 18));
|
||||
jButton.setText("Insert");
|
||||
jButton.addActionListener(this);
|
||||
}
|
||||
return jButton;
|
||||
}
|
||||
} // @jve:decl-index=0:visual-constraint="11,7"
|
@@ -0,0 +1,226 @@
|
||||
/** @file
|
||||
Java class UpdateProtocols is GUI for update protocol declarations in spd file.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging;
|
||||
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.JButton;
|
||||
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JTable;
|
||||
import javax.swing.table.*;
|
||||
|
||||
import org.tianocore.common.Tools;
|
||||
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.*;
|
||||
|
||||
/**
|
||||
GUI for update protocol declarations in spd file
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class UpdateProtocols extends JFrame implements ActionListener {
|
||||
|
||||
private JPanel jContentPane = null;
|
||||
|
||||
private JScrollPane jScrollPane = null;
|
||||
|
||||
private JTable jTable = null;
|
||||
|
||||
private SpdFileContents sfc = null;
|
||||
|
||||
private JButton jButtonOk = null;
|
||||
|
||||
private JButton jButtonCancel = null;
|
||||
|
||||
private DefaultTableModel model = null;
|
||||
|
||||
private JButton jButton = null;
|
||||
|
||||
/**
|
||||
This is the default constructor
|
||||
**/
|
||||
public UpdateProtocols(SpdFileContents sfc) {
|
||||
super();
|
||||
this.sfc = sfc;
|
||||
initialize();
|
||||
|
||||
}
|
||||
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
if (arg0.getSource() == jButtonOk) {
|
||||
this.save();
|
||||
this.dispose();
|
||||
|
||||
}
|
||||
if (arg0.getSource() == jButtonCancel) {
|
||||
this.dispose();
|
||||
|
||||
}
|
||||
|
||||
if (arg0.getSource() == jButton) {
|
||||
String[] o = { "", "", "" };
|
||||
model.addRow(o);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes this
|
||||
|
||||
@return void
|
||||
**/
|
||||
private void initialize() {
|
||||
this.setSize(604, 553);
|
||||
this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
this.setTitle("Update Protocol Declarations");
|
||||
this.setContentPane(getJContentPane());
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jContentPane
|
||||
|
||||
@return javax.swing.JPanel
|
||||
**/
|
||||
private JPanel getJContentPane() {
|
||||
if (jContentPane == null) {
|
||||
jContentPane = new JPanel();
|
||||
jContentPane.setLayout(null);
|
||||
jContentPane.add(getJScrollPane(), null);
|
||||
jContentPane.add(getJButtonOk(), null);
|
||||
jContentPane.add(getJButtonCancel(), null);
|
||||
jContentPane.add(getJButton(), null);
|
||||
}
|
||||
return jContentPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jScrollPane
|
||||
|
||||
@return javax.swing.JScrollPane
|
||||
**/
|
||||
private JScrollPane getJScrollPane() {
|
||||
if (jScrollPane == null) {
|
||||
jScrollPane = new JScrollPane();
|
||||
jScrollPane.setBounds(new java.awt.Rectangle(38, 45, 453, 419));
|
||||
jScrollPane.setViewportView(getJTable());
|
||||
}
|
||||
return jScrollPane;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jTable
|
||||
|
||||
@return javax.swing.JTable
|
||||
**/
|
||||
private JTable getJTable() {
|
||||
if (jTable == null) {
|
||||
model = new DefaultTableModel();
|
||||
jTable = new JTable(model);
|
||||
jTable.setRowHeight(20);
|
||||
model.addColumn("Name");
|
||||
model.addColumn("C_Name");
|
||||
model.addColumn("GUID");
|
||||
//
|
||||
// initialize table using SpdFileContents object
|
||||
//
|
||||
if (sfc.getSpdProtocolDeclarationCount() == 0) {
|
||||
return jTable;
|
||||
}
|
||||
String[][] saa = new String[sfc.getSpdProtocolDeclarationCount()][3];
|
||||
sfc.getSpdProtocolDeclarations(saa);
|
||||
int i = 0;
|
||||
while (i < saa.length) {
|
||||
model.addRow(saa[i]);
|
||||
i++;
|
||||
}
|
||||
|
||||
}
|
||||
return jTable;
|
||||
}
|
||||
|
||||
/**
|
||||
Remove original protocol declarations before saving updated ones
|
||||
**/
|
||||
protected void save() {
|
||||
sfc.removeSpdProtocolDeclaration();
|
||||
int rowCount = model.getRowCount();
|
||||
int i = 0;
|
||||
while (i < rowCount) {
|
||||
String name = null;
|
||||
if (model.getValueAt(i, 0) != null) {
|
||||
name = model.getValueAt(i, 0).toString();
|
||||
}
|
||||
String cName = null;
|
||||
if (model.getValueAt(i, 1) != null) {
|
||||
cName = model.getValueAt(i, 1).toString();
|
||||
}
|
||||
String guid = null;
|
||||
if (model.getValueAt(i, 2) != null) {
|
||||
guid = model.getValueAt(i, 2).toString();
|
||||
}
|
||||
sfc.genSpdProtocolDeclarations(name, cName, guid, null);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonOk
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonOk() {
|
||||
if (jButtonOk == null) {
|
||||
jButtonOk = new JButton();
|
||||
jButtonOk.setText("Ok");
|
||||
jButtonOk.setSize(new java.awt.Dimension(84, 20));
|
||||
jButtonOk.setLocation(new java.awt.Point(316, 486));
|
||||
jButtonOk.addActionListener(this);
|
||||
}
|
||||
return jButtonOk;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButtonCancel
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButtonCancel() {
|
||||
if (jButtonCancel == null) {
|
||||
jButtonCancel = new JButton();
|
||||
jButtonCancel.setText("Cancel");
|
||||
jButtonCancel.setSize(new java.awt.Dimension(82, 20));
|
||||
jButtonCancel.setLocation(new java.awt.Point(411, 486));
|
||||
jButtonCancel.addActionListener(this);
|
||||
}
|
||||
return jButtonCancel;
|
||||
}
|
||||
|
||||
/**
|
||||
This method initializes jButton
|
||||
|
||||
@return javax.swing.JButton
|
||||
**/
|
||||
private JButton getJButton() {
|
||||
if (jButton == null) {
|
||||
jButton = new JButton();
|
||||
jButton.setBounds(new java.awt.Rectangle(232, 486, 71, 19));
|
||||
jButton.setText("Insert");
|
||||
jButton.addActionListener(this);
|
||||
}
|
||||
return jButton;
|
||||
}
|
||||
} // @jve:decl-index=0:visual-constraint="11,7"
|
@@ -0,0 +1,41 @@
|
||||
/** @file
|
||||
Java class StarLabel is used to create star label.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
package org.tianocore.packaging.common.ui;
|
||||
|
||||
import javax.swing.JLabel;
|
||||
|
||||
/**
|
||||
Derived from JLabel class to have a red star on it.
|
||||
|
||||
@since PackageEditor 1.0
|
||||
**/
|
||||
public class StarLabel extends JLabel{
|
||||
/**
|
||||
* This is the default constructor
|
||||
*/
|
||||
public StarLabel() {
|
||||
super();
|
||||
init();
|
||||
}
|
||||
|
||||
/**
|
||||
Create a label with red star * appear on it
|
||||
**/
|
||||
private void init() {
|
||||
this.setText("*");
|
||||
this.setSize(new java.awt.Dimension(10,20));
|
||||
this.setForeground(java.awt.Color.red);
|
||||
this.setFont(new java.awt.Font("DialogInput", java.awt.Font.BOLD, 14));
|
||||
this.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user