Author: remi
Date: 2008-08-09 12:59:05 +0200 (Sat, 09 Aug 2008)
New Revision: 1452
Added:
software_suite_v2/software/tools/attitunesStudio/trunk/src/GUI/
software_suite_v2/software/tools/attitunesStudio/trunk/src/GUI/AttituneMenuBar.java
software_suite_v2/software/tools/attitunesStudio/trunk/src/GUI/AttituneStatusBar.java
software_suite_v2/software/tools/attitunesStudio/trunk/src/com/tuxisalive/attitunes/ATTResources.java
software_suite_v2/software/tools/attitunesStudio/trunk/src/com/tuxisalive/attitunes/format/ATTFormatCompressor.java
software_suite_v2/software/tools/attitunesStudio/trunk/src/com/tuxisalive/attitunes/format/ATTFormatMisc.java
Log:
* update
Added:
software_suite_v2/software/tools/attitunesStudio/trunk/src/GUI/AttituneMenuBar.java
===================================================================
---
software_suite_v2/software/tools/attitunesStudio/trunk/src/GUI/AttituneMenuBar.java
(rev 0)
+++
software_suite_v2/software/tools/attitunesStudio/trunk/src/GUI/AttituneMenuBar.java
2008-08-09 10:59:05 UTC (rev 1452)
@@ -0,0 +1,184 @@
+package GUI;
+
+import java.awt.event.*;
+import java.awt.*;
+import com.tuxisalive.api.*;
+
+/**
+ *
+ * @author User
+ *
+ */
+public class AttituneMenuBar extends MenuBar
+{
+ private static final long serialVersionUID = 1L;
+
+ /* Top level menus */
+ private Menu menuFile;
+ private Menu menuEdit;
+ private Menu menuHelp;
+
+ /* Sub menus */
+ private MenuItem menuItemNew;
+ private MenuItem menuItemLoad;
+ private MenuItem menuItemSave;
+ private MenuItem menuItemSaveAs;
+ private MenuItem menuItemProperties;
+ private MenuItem menuItemQuit;
+
+ private MenuItem menuItemCreate;
+ private MenuItem menuItemDelete;
+ private MenuItem menuItemCopy;
+ private MenuItem menuItemPast;
+
+ private MenuItem menuItemOnline;
+ private MenuItem menuItemAbout;
+
+ /* Event handler */
+ public TuxEventHandlers events;
+
+ /**
+ *
+ */
+ public AttituneMenuBar()
+ {
+ super();
+
+ events = new TuxEventHandlers();
+ events.insert("onMenuItemNew");
+ events.insert("onMenuItemLoad");
+ events.insert("onMenuItemSave");
+ events.insert("onMenuItemSaveAs");
+ events.insert("onMenuItemProperties");
+ events.insert("onMenuItemQuit");
+ events.insert("onMenuItemCreate");
+ events.insert("onMenuItemDelete");
+ events.insert("onMenuItemCopy");
+ events.insert("onMenuItemPast");
+ events.insert("onMenuItemOnline");
+ events.insert("onMenuItemAbout");
+
+ menuFile = new Menu("File");
+ menuEdit = new Menu("Edit");
+ menuHelp = new Menu("Help");
+
+ menuItemNew = new MenuItem("New");
+ menuItemNew.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ events.notify("onMenuItemNew", menuItemNew);
+ }
+ });
+
+ menuItemLoad = new MenuItem("Load");
+ menuItemLoad.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ events.notify("onMenuItemLoad", menuItemLoad);
+ }
+ });
+
+ menuItemSave = new MenuItem("Save");
+ menuItemSave.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ events.notify("onMenuItemSave", menuItemSave);
+ }
+ });
+
+ menuItemSaveAs = new MenuItem("Save As...");
+ menuItemSaveAs.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ events.notify("onMenuItemSaveAs",
menuItemSaveAs);
+ }
+ });
+
+ menuItemProperties = new MenuItem("Properties");
+ menuItemProperties.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ events.notify("onMenuItemProperties",
menuItemProperties);
+ }
+ });
+
+ menuItemQuit = new MenuItem("Quit");
+ menuItemQuit.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ events.notify("onMenuItemQuit", menuItemQuit);
+ }
+ });
+
+
+ menuItemCreate = new MenuItem("Create");
+ menuItemCreate.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ events.notify("onMenuItemCreate",
menuItemCreate);
+ }
+ });
+
+ menuItemDelete = new MenuItem("Delete");
+ menuItemDelete.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ events.notify("onMenuItemDelete",
menuItemDelete);
+ }
+ });
+
+ menuItemCopy = new MenuItem("Copy");
+ menuItemCopy.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ events.notify("onMenuItemCopy", menuItemCopy);
+ }
+ });
+
+ menuItemPast = new MenuItem("Past");
+ menuItemPast.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ events.notify("onMenuItemPast", menuItemPast);
+ }
+ });
+
+
+ menuItemOnline = new MenuItem("Online");
+ menuItemOnline.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ events.notify("onMenuItemOnline",
menuItemOnline);
+ }
+ });
+
+ menuItemAbout = new MenuItem("About");
+ menuItemAbout.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e)
+ {
+ events.notify("onMenuItemAbout", menuItemAbout);
+ }
+ });
+
+ menuFile.add(menuItemNew);
+ menuFile.add(menuItemLoad);
+ menuFile.add(menuItemSave);
+ menuFile.add(menuItemSaveAs);
+ menuFile.addSeparator();
+ menuFile.add(menuItemProperties);
+ menuFile.addSeparator();
+ menuFile.add(menuItemQuit);
+
+ menuEdit.add(menuItemCreate);
+ menuEdit.add(menuItemDelete);
+ menuEdit.add(menuItemCopy);
+ menuEdit.add(menuItemPast);
+
+ menuHelp.add(menuItemOnline);
+ menuHelp.add(menuItemAbout);
+
+ this.add(menuFile);
+ this.add(menuEdit);
+ this.add(menuHelp);
+ }
+}
Added:
software_suite_v2/software/tools/attitunesStudio/trunk/src/GUI/AttituneStatusBar.java
===================================================================
---
software_suite_v2/software/tools/attitunesStudio/trunk/src/GUI/AttituneStatusBar.java
(rev 0)
+++
software_suite_v2/software/tools/attitunesStudio/trunk/src/GUI/AttituneStatusBar.java
2008-08-09 10:59:05 UTC (rev 1452)
@@ -0,0 +1,76 @@
+package GUI;
+
+import java.awt.*;
+import javax.swing.*;
+
+/**
+ *
+ * @author User
+ *
+ */
+public class AttituneStatusBar extends JPanel
+{
+ private static final long serialVersionUID = 1L;
+ private JLabel label1;
+ private JLabel label2;
+ private JLabel label3;
+
+ /**
+ *
+ * @param lab1
+ * @param lab2
+ * @param lab3
+ */
+ public AttituneStatusBar(String lab1, String lab2, String lab3)
+ {
+ GridLayout pl = new GridLayout(0, 3);
+ pl.setHgap(3);
+ setLayout(pl);
+
+ label1 = new JLabel(lab1, JLabel.CENTER);
+ label1.setBorder(BorderFactory.createEtchedBorder());
+ label2 = new JLabel(lab2, JLabel.CENTER);
+ label2.setBorder(BorderFactory.createEtchedBorder());
+ label3 = new JLabel(lab3, JLabel.CENTER);
+ label3.setBorder(BorderFactory.createEtchedBorder());
+ this.add(label1);
+ this.add(label2);
+ this.add(label3);
+ }
+
+ /**
+ *
+ * @return
+ */
+ public Insets getInsets()
+ {
+ return new Insets(2, 2, 2, 2);
+ }
+
+ /**
+ *
+ * @param value
+ */
+ public void setLabel1(String value)
+ {
+ label1.setText(value);
+ }
+
+ /**
+ *
+ * @param value
+ */
+ public void setLabel2(String value)
+ {
+ label2.setText(value);
+ }
+
+ /**
+ *
+ * @param value
+ */
+ public void setLabel3(String value)
+ {
+ label3.setText(value);
+ }
+}
Added:
software_suite_v2/software/tools/attitunesStudio/trunk/src/com/tuxisalive/attitunes/ATTResources.java
===================================================================
---
software_suite_v2/software/tools/attitunesStudio/trunk/src/com/tuxisalive/attitunes/ATTResources.java
(rev 0)
+++
software_suite_v2/software/tools/attitunesStudio/trunk/src/com/tuxisalive/attitunes/ATTResources.java
2008-08-09 10:59:05 UTC (rev 1452)
@@ -0,0 +1,15 @@
+package com.tuxisalive.attitunes;
+
+public class ATTResources
+{
+ public static String getRealPath(String path)
+ {
+ String tmpPath;
+
+ tmpPath = new ATTResources().getClass().getResource("/" + path).
+ getPath().replace("file:", "");
+ tmpPath = tmpPath.substring(1, tmpPath.length());
+
+ return tmpPath;
+ }
+}
Added:
software_suite_v2/software/tools/attitunesStudio/trunk/src/com/tuxisalive/attitunes/format/ATTFormatCompressor.java
===================================================================
---
software_suite_v2/software/tools/attitunesStudio/trunk/src/com/tuxisalive/attitunes/format/ATTFormatCompressor.java
(rev 0)
+++
software_suite_v2/software/tools/attitunesStudio/trunk/src/com/tuxisalive/attitunes/format/ATTFormatCompressor.java
2008-08-09 10:59:05 UTC (rev 1452)
@@ -0,0 +1,147 @@
+package com.tuxisalive.attitunes.format;
+
+import java.io.*;
+import java.util.zip.*;
+
+public class ATTFormatCompressor
+{
+ private static ZipOutputStream zos;
+
+ /**
+ *
+ * @param sourcePath
+ * @return
+ */
+ public static boolean compressAttitune(String attFilePath, String
sourcePath)
+ {
+ File file = new File(sourcePath);
+
+ try
+ {
+ zos = new ZipOutputStream(new FileOutputStream(new
File(attFilePath)));
+ recurseFiles(file, sourcePath);
+ zos.close();
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ *
+ * @param attFilePath
+ * @param tmpAttDir
+ * @return
+ */
+ public static boolean uncompressAttitune(String attFilePath, String
destinationPath)
+ {
+ FileOutputStream fos = null;
+ BufferedOutputStream dest = null;
+ FileInputStream fis;
+ ZipInputStream zis;
+ ZipEntry entry;
+ int count;
+ byte data[] = new byte[8192];
+
+ try
+ {
+ fis = new FileInputStream(attFilePath);
+ zis = new ZipInputStream(new BufferedInputStream(fis));
+
+ while ((entry = zis.getNextEntry()) != null)
+ {
+ if (!entry.isDirectory())
+ {
+ if (!prepareFileDirectories(destinationPath,
entry.getName()))
+ {
+ return false;
+ }
+ String destFileName =
ATTFormatMisc.regularizePath(destinationPath + File.separator +
entry.getName());
+ try
+ {
+ fos = new
FileOutputStream(destFileName);
+ }
+ catch (Exception e)
+ {
+ return false;
+ }
+ dest = new BufferedOutputStream(fos, 8192);
+ while((count = zis.read(data, 0, 8192)) != -1)
+ {
+ dest.write(data, 0, count);
+ }
+ dest.flush();
+ dest.close();
+ }
+ }
+ zis.close();
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ return false;
+ }
+
+ return true;
+ }
+
+ /*
+ *
+ */
+ private static void recurseFiles(File file, String basePath)
+ throws IOException, FileNotFoundException
+ {
+ String filePath;
+
+ if (file.isDirectory())
+ {
+ String[] fileNames = file.list();
+ if (fileNames != null)
+ {
+ for (int i=0; i<fileNames.length; i++)
+ {
+ recurseFiles(new File(file, fileNames[i]), basePath);
+ }
+ }
+ }
+ else
+ {
+ byte[] buf = new byte[1024];
+ int len;
+
+ filePath = file.toString().substring(0, basePath.length());
+ ZipEntry zipEntry = new
ZipEntry(file.toString().replace(filePath, ""));
+ FileInputStream fin = new FileInputStream(file);
+ BufferedInputStream in = new BufferedInputStream(fin);
+ zos.putNextEntry(zipEntry);
+
+ while ((len = in.read(buf)) >= 0)
+ {
+ zos.write(buf, 0, len);
+ }
+
+ in.close();
+ zos.closeEntry();
+ }
+ }
+
+ /*
+ *
+ */
+ private static boolean prepareFileDirectories(String destination,
String entryName)
+ {
+ String outputFileName =
ATTFormatMisc.regularizePath(destination + entryName);
+ try
+ {
+ new File(outputFileName.substring(0,
outputFileName.lastIndexOf(File.separator))).mkdirs();
+ }
+ catch (Exception e)
+ {
+ return false;
+ }
+ return true;
+ }
+}
Added:
software_suite_v2/software/tools/attitunesStudio/trunk/src/com/tuxisalive/attitunes/format/ATTFormatMisc.java
===================================================================
---
software_suite_v2/software/tools/attitunesStudio/trunk/src/com/tuxisalive/attitunes/format/ATTFormatMisc.java
(rev 0)
+++
software_suite_v2/software/tools/attitunesStudio/trunk/src/com/tuxisalive/attitunes/format/ATTFormatMisc.java
2008-08-09 10:59:05 UTC (rev 1452)
@@ -0,0 +1,149 @@
+package com.tuxisalive.attitunes.format;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+public class ATTFormatMisc
+{
+ private static String goodSepSlash = "";
+ private static String badSepSlash = "";
+ static {
+ if (File.separator == "/")
+ {
+ goodSepSlash = "/";
+ badSepSlash = "\\";
+ }
+ else
+ {
+ goodSepSlash = "\\";
+ badSepSlash = "/";
+ }
+ }
+
+
+ /**
+ *
+ */
+ public static File createTmpAttDir() throws IOException
+ {
+ File tempFile = File.createTempFile("attitunesF", "", null);
+
+ if (!tempFile.delete())
+ {
+ throw new IOException();
+ }
+
+ if (!tempFile.mkdir())
+ {
+ throw new IOException();
+ }
+
+ tempFile.deleteOnExit();
+ return tempFile;
+ }
+
+ /**
+ *
+ * @param srcPath
+ * @param destPath
+ * @return
+ */
+ public static boolean copyDir(String srcPath, String destPath)
+ {
+ File src = new File(srcPath);
+ File dest = new File(destPath);
+
+ if (src.isDirectory())
+ {
+ dest.mkdirs();
+ String list[] = src.list();
+
+ for (int i = 0; i < list.length; i++)
+ {
+ String dest1 = dest.getAbsolutePath() +
File.separator + list[i];
+ String src1 = src.getAbsolutePath() +
File.separator + list[i];
+ if (!copyDir(src1 , dest1))
+ {
+ return false;
+ }
+ }
+ }
+ else
+ {
+ if (!copyfile(srcPath, destPath))
+ {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ *
+ */
+ public static boolean copyfile(String srcFile, String destFile)
+ {
+ try
+ {
+ File f1 = new File(srcFile);
+ File f2 = new File(destFile);
+ InputStream in = new FileInputStream(f1);
+ OutputStream out = new FileOutputStream(f2);
+ byte[] buf = new byte[1024];
+ int len;
+
+ while ((len = in.read(buf)) > 0)
+ {
+ out.write(buf, 0, len);
+ }
+
+ in.close();
+ out.close();
+ }
+ catch (Exception e)
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ *
+ * @param waveName
+ */
+ public static boolean deleteFile(String filePath)
+ {
+ File f = new File(filePath);
+
+ if (f.exists())
+ {
+ if (f.delete())
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ *
+ * @param path
+ * @return
+ */
+ public static String regularizePath(String path)
+ {
+ String result = path;
+
+ result = result.replace("\\\\", "&&&&");
+ result = result.replace("//", "&&&&");
+ result = result.replace(badSepSlash, "&&&&");
+ result = result.replace("&&&&", goodSepSlash);
+
+ return result;
+ }
+}
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn