diff --git a/pom.xml b/pom.xml
index 4a617ce..31ae2c5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
info.istlab.IoTP
IoTP
jar
- 0.43
+ 0.50
IoTP
http://maven.apache.org
diff --git a/src/main/java/info/istlab/IoTP/FileReadWriter.java b/src/main/java/info/istlab/IoTP/FileReadWriter.java
new file mode 100755
index 0000000..b79f92a
--- /dev/null
+++ b/src/main/java/info/istlab/IoTP/FileReadWriter.java
@@ -0,0 +1,186 @@
+package info.istlab.IoTP;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedReader;
+import java.io.ByteArrayOutputStream;
+import java.io.DataOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.nio.charset.Charset;
+import java.util.ArrayList;
+
+public class FileReadWriter {
+
+ public static ArrayList getLinesListFromResource(String path){
+ ClassLoader cl = FileReadWriter.class.getClassLoader();
+
+ if (cl == null) {
+ System.err.println("Resource not found: " + path);
+ return null;
+ } else {
+ InputStream ris = cl.getResourceAsStream(path);
+ return getLinesListFromInputStream(ris, path);
+ }
+ }
+ public static ArrayList getLinesListFromInputStream(InputStream is, String name){
+ ArrayList list = new ArrayList();
+ try {
+ BufferedReader br = new BufferedReader(new InputStreamReader(is, Charset.forName("utf-8")));
+ String line = null;
+ while ((line = br.readLine()) != null) {
+ list.add(line);
+ }
+ br.close();
+ } catch (IOException err) {
+ System.out.println("ReadError: "+name);
+ }
+ return list;
+ }
+
+ public static ArrayList getLinesList(String fn, boolean createIfNotExist){
+ File f = new File(fn);
+ if (createIfNotExist){
+ if (!f.exists()){
+ try {
+ if (f.createNewFile()){
+ System.out.println("New file "+fn+" Created.");
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ return getLinesList(fn);
+ }
+
+ public static ArrayList getLinesList(String fn){
+ try {
+ return getLinesListFromInputStream(new FileInputStream(fn), fn);
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+ public static String[] getLines(String fn) {
+
+ ArrayList list = getLinesList(fn);
+ return (String[]) list.toArray(new String[list.size()]);
+ }
+
+ public static String getLinesAsString(String fn){
+ ArrayList list = getLinesList(fn);
+ StringBuffer sb = new StringBuffer();
+ for(String s: list){
+ sb.append(s+"\n");
+ }
+ return sb.toString();
+ }
+
+ public static String[] getLinesFromResource(String path){
+ ArrayList list = getLinesListFromResource(path);
+ return (String[]) list.toArray(new String[list.size()]);
+ }
+
+ public static void putLines(String fn, String data[]) {
+ try {
+ FileWriter filewriter = new FileWriter(fn, false);
+ for (int i = 0; i < data.length; i++) {
+ filewriter.write(data[i]/*System.getProperty("line.separator")*/);
+ }
+ filewriter.close();
+ } catch (IOException e) {
+ System.out.println("WriteError:" + fn);
+ }
+ }
+
+ public static void putLines(String fn, ArrayList data) {
+// System.out.println(fn);
+ try {
+ FileWriter filewriter = new FileWriter(fn, false);
+ for (String d : data) {
+ d = d + "\r\n";
+ filewriter.write(d);
+ }
+ filewriter.close();
+ } catch (IOException e) {
+ System.out.println("WriteError:" + fn);
+ }
+ }
+ public static void putLinesWithLineNum(String fn, ArrayList data){
+ try {
+ FileWriter filewriter = new FileWriter(fn, false);
+ int lineNum = 0;
+ for (String d : data) {
+ filewriter.write(lineNum+""+d+"\r\n");
+ lineNum++;
+ }
+ filewriter.close();
+ } catch (IOException e) {
+ System.out.println("WriteError:" + fn);
+ }
+ }
+
+ public static void putStringToFile(String fn, String out) {
+// System.out.println(fn);
+ try {
+ FileWriter filewriter = new FileWriter(fn, false);
+ filewriter.write(out);
+ filewriter.close();
+ } catch (IOException e) {
+ System.out.println("WriteError:" + fn);
+ }
+ }
+
+ public static String[] split(String delim, String text) {
+ int index = -1;
+ ArrayList list = new ArrayList();
+ while ((index = text.indexOf(delim)) != -1) {
+ list.add(text.substring(0, index));
+ text = text.substring(index + delim.length());
+ }
+ list.add(text);
+ String[] ret = (String[]) list.toArray(new String[list.size()]);
+ return ret;
+ }
+
+ public static void writeBytesToFile(String filepath, byte[] ba){
+ OutputStream fos = null;
+ DataOutputStream dos = null;
+ try{
+ fos = new FileOutputStream(filepath);
+ dos = new DataOutputStream(fos);
+ dos.write(ba);
+ dos.close();
+ fos.close();
+ }catch(IOException iex){
+ iex.printStackTrace(System.out);
+ }
+ }
+
+ public static byte[] readBytesFromFile(String path){
+ BufferedInputStream in;
+ ByteArrayOutputStream varyBuf = new ByteArrayOutputStream();
+ final int LS = 1024;
+ int b;
+ try {
+ in = new BufferedInputStream(new FileInputStream(path));
+ byte buf[] = new byte[LS];
+ while((b = in.read(buf, 0, buf.length)) != -1 ) {
+ varyBuf.write(buf,0,b) ;
+ }
+ varyBuf.close();
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return varyBuf.toByteArray();
+ }
+}
diff --git a/src/main/java/info/istlab/IoTP/Launcher.java b/src/main/java/info/istlab/IoTP/Launcher.java
index e93aa06..99e70dc 100644
--- a/src/main/java/info/istlab/IoTP/Launcher.java
+++ b/src/main/java/info/istlab/IoTP/Launcher.java
@@ -31,7 +31,7 @@
public class Launcher extends JFrame implements MouseInputListener, KeyListener, Runnable {
public static Launcher theapp;
- public static String version = "0.43";
+ public static String version = "0.50";
static int reboot_msec = 2000;
// JPanel mainP;
File root;
@@ -331,6 +331,7 @@
TreePath tp = tree.getSelectionModel().getSelectionPath();
if (tp == null)
return;
+ System.out.println(tp.getLastPathComponent().getClass());
File node = (File) tp.getLastPathComponent();
// フォルダなら開かない
if (node.isDirectory())
diff --git a/src/main/java/info/istlab/IoTP/MyFile.java b/src/main/java/info/istlab/IoTP/MyFile.java
index b569847..b9540f1 100644
--- a/src/main/java/info/istlab/IoTP/MyFile.java
+++ b/src/main/java/info/istlab/IoTP/MyFile.java
@@ -14,6 +14,7 @@
}
// System.out.println(d);
return super.toString().replaceAll(d, "");
+ //+" hogehoge";
}
}
diff --git a/src/main/java/info/istlab/IoTP/MyTreeCellRenderer.java b/src/main/java/info/istlab/IoTP/MyTreeCellRenderer.java
index 2100774..a8c7974 100644
--- a/src/main/java/info/istlab/IoTP/MyTreeCellRenderer.java
+++ b/src/main/java/info/istlab/IoTP/MyTreeCellRenderer.java
@@ -3,12 +3,32 @@
import java.awt.Color;
import java.awt.Component;
import java.io.File;
+import java.util.ArrayList;
+import java.util.Hashtable;
import javax.swing.JTree;
import javax.swing.tree.DefaultTreeCellRenderer;
public class MyTreeCellRenderer extends DefaultTreeCellRenderer {
+ public static Hashtable memo;
+ static {
+ memo = new Hashtable();
+ System.out.println(App.workingDir+ File.separator+ "_filememo.txt");
+ ArrayList list = FileReadWriter.getLinesList(App.workingDir+ File.separator+ "_filememo.txt");
+ for(String line: list){
+ String[] ary = line.split(":");
+ String fg = ary[1];
+ String bg = ary[2];
+ String mes = ary[3];
+ if (fg.length()<1) fg = "#aaa";
+ if (bg.length()<1) bg = "white";
+
+ memo.put(ary[0].trim(), ""+mes+"");
+
+ }
+ }
+
@Override
public Component getTreeCellRendererComponent(JTree tree, Object value,
boolean sel, boolean exp, boolean leaf, int row, boolean hasFocus) {
@@ -18,11 +38,26 @@
String node = (String) ((File) value).toString();
// If the node is a leaf and ends with "xxx"
- if (leaf && !node.endsWith(".ino")) {
+ if (leaf && !node.contains(".ino")) {
// Paint the node in blue
setForeground(new Color(200, 200,230));
// setBackground(new Color(30, 30,50));
}
+ if (memo.containsKey(node.trim())){
+ setText(""+node+" "+memo.get(node.trim())+"");
+ }
+ // valueがTreePathのインスタンスかを確認して、必要に応じて処理を行う
+ // if (value instanceof DefaultMutableTreeNode) {
+ // DefaultMutableTreeNode node2 = (DefaultMutableTreeNode) value;
+ // Object userObject = node2.getUserObject();
+ // if (userObject instanceof String) {
+ // String text = (String) userObject;
+ // // ラベルの一部の色を変更する
+ // if (text.contains("hogehoge")) {
+ // setText("部分的に変更したいテキスト");
+ // }
+ // }
+ // }
return this;
}