From e1d702db2fbe1df264ffe0427244502581268b28 Mon Sep 17 00:00:00 2001 From: benfry Date: Tue, 30 Jul 2002 01:11:42 +0000 Subject: [PATCH] finish serial for windows, better launcher --- app/KjcEngine.java | 2 ++ app/PdeBase.java | 2 ++ app/PdeEditor.java | 6 ++-- build/windows/dist/Proce55ing.exe | Bin 110679 -> 110679 bytes build/windows/dist/lib/pde.properties_windows | 1 + build/windows/launcher/launcher.cpp | 28 +++++++++++++----- build/windows/launcher/launcher.exe | Bin 110679 -> 110679 bytes build/windows/run.sh | 2 +- todo.txt | 28 +++++++++++------- 9 files changed, 47 insertions(+), 22 deletions(-) diff --git a/app/KjcEngine.java b/app/KjcEngine.java index 439fd1760..e51c781b1 100644 --- a/app/KjcEngine.java +++ b/app/KjcEngine.java @@ -600,6 +600,8 @@ public class KjcEngine extends PdeEngine { applet = (KjcApplet) c.newInstance(); //((KjcApplet)applet).errStream = leechErr; applet.setEngine(this); + // has to be before init + applet.serialProperties(PdeBase.properties); applet.init(); applet.start(); diff --git a/app/PdeBase.java b/app/PdeBase.java index ba8e4f1a5..5053c79fb 100644 --- a/app/PdeBase.java +++ b/app/PdeBase.java @@ -67,6 +67,8 @@ public class PdeBase implements ActionListener { static public void main(String args[]) { + //System.getProperties().list(System.out); + System.out.println(System.getProperty("java.class.path")); PdeBase app = new PdeBase(); } diff --git a/app/PdeEditor.java b/app/PdeEditor.java index 81c6fe08c..a2267724b 100644 --- a/app/PdeEditor.java +++ b/app/PdeEditor.java @@ -537,18 +537,18 @@ public class PdeEditor extends Panel { // -> keep this around for closing the external window public void doClose() { // grab window position - if (engine != null) { + //if (engine != null) { + try { if ((presentationWindow == null) || (!presentationWindow.isVisible())) { appletLocation = engine.window.getLocation(); } - // prone to bugs and doesn't work yet // if ((presentationWindow != null) && // (presentationWindow.isVisible())) { // presentLocation = engine.window.getLocation(); // } - } + } catch (NullPointerException e) { } if (running) { //System.out.println("was running, will call doStop()"); diff --git a/build/windows/dist/Proce55ing.exe b/build/windows/dist/Proce55ing.exe index b7efc7a01e38d5cd0893e597ecaf78fd68741942..d87368016338e028b404834f2feb70de7e2044d1 100755 GIT binary patch delta 660 zcmXZXQAkr!7zglk);5;dn%izHi7{(Nh{U|-yRwHFcd?OJi>tXFYSB`RwOoY>NnlFL z!FCI#ms}4KX+4Y{VlinIJw!c&i9@F2j?uQ#wFF5 zUDxGTUTruj?JqXyCe2h*o>?SnP%4&Ix~w!c{Go4@{nl8I9Mq&(C+{b6Xsx@-X=nT- zIq#CgYj{(Uw0RxD-W2oI5|wVPxHIr>4Z@WkZFYMg2R9`-gn=n#!RojW)^LAS(vmxI zcWr;QTZ?WF;xt}c-wMSJ;ANatIbW}zq=Ra5RCSG=l0#}bR8EeTO}BVCSZ0fv?4(U3 zRrkXQC1C5=eIA>W=xQ-zyGs=dm!h6zjw|IjnrOt&=ZqfOzN_9YD&KU?W9xR2?6rvG zH`Z0OjDDa+^aXuFAJ98Ahw3o<5^EmKqQ__&Wl;v*LwAq?b0b)X&>*^uqUapzMW<1x zU38P;{`)Y4(7b!48e!g2T`XJb2+41fUBf zI13TzgBVL2_gD66JPYVjGLzm)MUu71UqPMPl0y*2Pu}(G5`Po delta 662 zcmXZYQAkr!7zglkZgVWD+iaVd4VkqJ`h+p{~Ci1jf)QI&GI>M~FJNovup zhROqKv=T830>Qg2=Bp(tVKZM}^lUCdl>u{ZYoSK}MpOj@GxY$Wgj8LtwLVK)DXAe7 zD@zgcK|SEDRhGhLV0dd2r}0|lW-8{!*EkmV&iF}MF;XLjClOQ?BdruuBSqV7rbdf= zX<}l^A(N_iYE0{M^ll%-%Sm)OH|uPw z4kXG>ne4L5iRH}~=5JjjRm6+XuA@icD)J2ZnE_CW_627sd=!wCpN1kS;E7=}1p zhg)zLk}wX_@C2Sg2Ik;3yoGo00T$sie1-2&gdbqSFQ~vjAd*#Tmi9|sk|f3T7a6)@ jcXJOXG9^0*A(n0%%lQwDiZfYiYgi~Ky@I|oOZ)!=lw;0@ diff --git a/build/windows/dist/lib/pde.properties_windows b/build/windows/dist/lib/pde.properties_windows index e69de29bb..4d486acea 100644 --- a/build/windows/dist/lib/pde.properties_windows +++ b/build/windows/dist/lib/pde.properties_windows @@ -0,0 +1 @@ +serial.port=COM1 \ No newline at end of file diff --git a/build/windows/launcher/launcher.cpp b/build/windows/launcher/launcher.cpp index 055cb6fbd..4c2859b0c 100644 --- a/build/windows/launcher/launcher.cpp +++ b/build/windows/launcher/launcher.cpp @@ -13,6 +13,7 @@ //#define STACKSIZE_MATCH " -mx" #define JAVA_ARGS "" #define JAVA_MAIN_CLASS "PdeBase" +//#define JAVA_CLASS_PATH "lib;lib\\build;lib\\pde.jar;lib\\kjc.jar;lib\\oro.jar;lib\\ext\\comm.jar" #ifdef _DEBUG #define new DEBUG_NEW @@ -55,9 +56,9 @@ BOOL CLauncherApp::InitInstance() // what was passed to this application char *incoming_cmdline = (char *)malloc(256 * sizeof(char)); strcpy (incoming_cmdline, this->m_lpCmdLine); - + // what gets put together to pass to jre - char *outgoing_cmdline = (char *)malloc(2048 * sizeof(char)); + char *outgoing_cmdline = (char *)malloc(16384 * sizeof(char)); char *p = outgoing_cmdline; // prepend the args for -mx and -ms if they weren't @@ -89,26 +90,36 @@ BOOL CLauncherApp::InitInstance() strcpy(outgoing_cmdline, JAVA_ARGS); // append the classpath and launcher.Application - char *cp = (char *)malloc(1024 * sizeof(char)); + //char *cp = (char *)malloc(1024 * sizeof(char)); char *loaddir = (char *)malloc(MAX_PATH * sizeof(char)); + *loaddir = 0; GetModuleFileName(NULL, loaddir, MAX_PATH); // remove the application name *(strrchr(loaddir, '\\')) = '\0'; - //cp = (char *)malloc(5 * strlen(loaddir) + 200); + char *cp = (char *)malloc(8 * strlen(loaddir) + 200); // put quotes around contents of cp, // because %s might have spaces in it. + sprintf(cp, "-cp \"" "%s\\lib;" "%s\\lib\\build;" "%s\\lib\\pde.jar;" "%s\\lib\\kjc.jar;" - "%s\\lib\\oro.jar" + "%s\\lib\\oro.jar;" + "%s\\lib\\java\\ext\\comm.jar" "\" ", - loaddir, loaddir, loaddir, loaddir, loaddir); + loaddir, loaddir, loaddir, loaddir, loaddir, loaddir); + + //sprintf(cp, "-cp "); + //strcat(cp, JAVA_CLASSPATH); + //strcat(cp, " "); strcat(outgoing_cmdline, cp); + //strcat(outgoing_cmdline, "-cp "); + //strcat(outgoing_cmdline, JAVA_CLASS_PATH); + //strcat(outgoing_cmdline, " "); // add the name of the class to execute //strcat(outgoing_cmdline, "launcher.Application "); @@ -125,7 +136,7 @@ BOOL CLauncherApp::InitInstance() strcpy(executable, loaddir); // copy in the path for jrew, relative to launcher.exe //strcat(executable, "\\bin\\jrew"); - strcat(executable, "\\java\\bin\\javaw"); + strcat(executable, "\\java\\bin\\java"); //AfxMessageBox(executable); @@ -145,7 +156,8 @@ BOOL CLauncherApp::InitInstance() HINSTANCE result; result = ShellExecute(NULL, "open", executable, - outgoing_cmdline, NULL, SW_SHOWNORMAL); + outgoing_cmdline, loaddir, SW_SHOWNORMAL); +// outgoing_cmdline, NULL, SW_SHOWNORMAL); if ((int)result <= 32) { // some type of error occurred diff --git a/build/windows/launcher/launcher.exe b/build/windows/launcher/launcher.exe index b7efc7a01e38d5cd0893e597ecaf78fd68741942..9a8dabd4ba3a7874a9f2672a77ab832da80ccb0b 100755 GIT binary patch delta 2001 zcmc(fk5d#?9Khc@4?Iz>L+$|4j5BrwVib4Z?(HeWp`0=Xc^r3$aGGH1Nl1vKOpQWP zIk47%OTZL4{-C-kt4kVjj2x!O9AzvUCz*!JYlfW5u8FD3VH$?*yALe;3wkr3@2~fL z-|u^G-|Vem^sQiYdp4fz$XUPjHEWC~aGwg(ra%t(rKZvV3;JS$GaypGEU*T&?Xk^) z)l`>JZH?I)r~^MYeKVb(UQkZ+oqKk8)tVjVq;!WJp+X#uO77Tm(Ci2zJ)RFSl!6gz zo(cNpIQ&s`jT0lCro)^p2eA%smw(2~ag`jW*@TH)336Wl$C}*OoC7a`FaX@a5D{1Q9&6oqrVHJgF{dyes$&f|_y=WIeMtvOyCdS)h2jb~CKP-nc@ zy9B1y!{)p4P^&%IawwS6R4BQFt?sdwLu0ywtW-3{4Yj@Ki?<;q_2u4pyAATIk#}@e z9txd@?!PRhevj(EqxyR4r>TAy_!j{5)V2!gr>$SqLzODvh};%`ShgAFE?1aLxD18K zr!wMHZ9kQLRQjkqEAz%J`Y^Q%Xl7xF+-oeHn?@an{F`y{QiZXBHv+>gg^OEqLIqIl zxrLHl2jAzWoN8LnMrgWv{R$JNQvI+BGe)KQYG#*LE8Z+F4|!AMUK3;0!sWn|`zmTw zEeYe4YMh}BOrx+$iXDbPt4=XZsh(*_^$e#b<-bhHb0-qv>P#c@;)Gm0ELS8X<01J# zf{g3rn8cOF8aR|A^efy^tG!3E_rP8U<)XwV;x9lYg&CxBn93{i`-zX>5&2r;!&bGA z!l=C!M%|veZ*?e4kjBQTRG+ZIs4Wzxj>>%5oODQoT=L1Jf&>H$6~;qTT~wBV?8l38 z<63eu268g+yHT2wJKfP)SeTPxw8=L#Oq1SZLk}5jNC#R2Oc`zH9xwsi1;&9NfKlLE zAO>YAR*D(7%HG8T&)s+V-Jv$p4JUgDVAIxFkje&hmyau}mp+pb}0r!AuKnL?lKq_z!{Hs72*gnvW zppOA3!0rUvfM!61SOI`aG1}D)wO7i1Y{28x{C~Q3*SK)XyxW@n4fQoUYtew@!u#eA z=(l6Nt*MYLV;k8w*|*ux*z4?{tbtp}S-8#IHf}d}kUPrtawoYyE|aiCB#)DPvXMAQ zDe;gh;w81Dfjm!|$t&a-IZk@W3DQU2BYtw843f{u6>^>2B;S)DxkJL_cQQ$)iI$Jy z4SWK>gkQ#|@dCfDiFfdBzKw6^yZB!IH1Ffj^PloR@^|?^_(^`6*9r@Sg~B4iEMy8q zSS@T23WaiExA44hL^vwEE~HzwSZXYtma~>~mJ60kmSM|P%Uz33)Qd)OnV2T75Q(^2 zw27VKB@tP5R=w3|O}3&ecq;HFQnI>}PvKGn;Y1GEFj@dH?J6DHpO?|B@A6|^l<&4Z LC%QY^ delta 1950 zcmc(fjZafo6u|E-P&z(p)wW>Aw$@o?3^#o5zV@Lo%Jd=88cU(T5Z$I`b{#Vq@gq)F zg=`ZaPVg>3wuND2#uyTbWI`6Vpd%BVF=jJLOtVzOmY3KOvNRhSv$ykZVQzoHZu2|m zo^#JV=iK{ldMB#C6V-PVVWqRUEPT8$tv)ixCdIet=YpXvZGP^di3bg0N zn#f9~Ynd)g+Z@>icF7AhZ2hl{Iu`GLds|S;iDrjSLdc8tX!ljAc+M9^Mx2i4=@GJH zgbpR#9n^u(>4ScZl69R98=b}m?4b|wGQ6HTbQ`gQ?gE)QbV*l|Nk_5igsBe4=qA%z z?4_qnK8$JHl#lOH$NZi68`?3yGJLDD6t#{ew@EXy^jI$6Um*u({7Q2Y0>jZ5lrJ=gkvVd; zfa73~0O<8Co8(_Me^&$B*8)4}mkZxtt~zt!8dRr;$!WhfA7HYN$$lo!FgZvo%&!^O zu*h;I<9<3~_NIE7kx$btPus4u5s+gQt;I??q}#JVmJD#+V|0zBjEk{Q?dnyh_N7#3 zlu7MLB(`c2wujVUHeZT@h+ecf3m?NWys9fH6Ix0bC$-5bR=^U6MLBZ}9Bl^GGObyb zQOz=)yh&|VTk6d$xH!uwU1cr7BlJD14PU2SR*D;FUe?RzARNx8{02AFCiTct5A-@t z-_2UTZ~!u?&T%G3n7l}T$a)Ts(g#`36l!%;r&e2aYVFN+uR14~FT$kuG*zcoLUlGU zSwu^-n{_jlbTqr%I>Ul$ne;JP1#-x-sAPWY=DeY4-IWyG?yKGU0_;jMm_78K&KZuG zJ!qcEgMI}a1?~d3fE&O#a2dD=TmS}vG>AP5x*zBTdVmu^JMbZJ2si+wKwJ~(oj?%S z3e*GDfDc#)tTB6*pjTib0vwPJECuX<4KM>n)~I7RcLh$vcwaZq;X2)7d#7Vj_b7*( zQho3_-pTR|y_t6}Gify2Gjvaf@vz}loNQd(P=!$+{2iUC(4K5!Tn67jB}UtQPkdtm zjI_Tk5ttkI!B4L>kFna*(u;BjjW93Hg-tk<(;=oF^mXTQWwjk(=Z;iIDq5AyXty9uXwy z1*`CUSSSz#AtW>kdxe8Si_j%}CR`G(2|o!F!q38_5EFhE9tzl%;WE2yu4S%#*Gkt~ zSDkCCYlmx(>nV4k+v{#}x4Tccd)&S5e)n1THMioPa>v~|(I6T{vuG3TVw2b_Mny%O z664|{5uQN-JQ7g$f^OSMTy4tX?L6{elmWiv6$TDo+#zGvAU3327?+B5-I;@U-QT;o Bc6k5* diff --git a/build/windows/run.sh b/build/windows/run.sh index f7219861d..7c873ac84 100644 --- a/build/windows/run.sh +++ b/build/windows/run.sh @@ -1,2 +1,2 @@ #!/bin/sh -cd work && ./java/bin/java -cp lib\;lib\\build\;lib\\pde.jar\;lib\\kjc.jar\;lib\\oro.jar PdeBase +cd work && ./java/bin/java -cp lib\;lib\\build\;lib\\pde.jar\;lib\\kjc.jar\;lib\\oro.jar\;java\\lib\\ext\\comm.jar PdeBase diff --git a/todo.txt b/todo.txt index 5a2d0b39c..eb33a6700 100644 --- a/todo.txt +++ b/todo.txt @@ -4,16 +4,13 @@ X get icon in macos9/macosx/windows formats X wahoo! figure out how to do do simple .exe with icons o use launcher code from sun jre o needs to be built from command line - -dammit we need a text editor. -gonna get sick of people bitching about it. -also an interesting possibility (for tech-minded only) - use terminal emulator, and run iostream from process - use pooterm stuff for the emulation window - key commands would conflict - but could use emacs under osx, linux - use nano (maybe emacs?) under windows - and nothing for macos9 +X keyPressed() and others weren't being called +X serial work under windows +X make bapplet a serialporteventlistener +X remove 'public' from beginner listener event handlers +X trying to make eventlistener work +X comm.jar has to be in classpath for kjc (interesting) +X fixed launcher.exe because of problems in classpath a _ this code is not performing correctly BImage b; // declare variable "b" of type BImage @@ -54,6 +51,7 @@ a _ for 'java' mode, try run using external vm a _ would need to get error output stream from app.. argh a _ only allow under win/osx/linux a _ not clear how to kill the process.. does that work w/ 1.3? +? _ lockup when something missing from classpath on dynamic load macos9 a _ getResource stuff breaks, sketch.properties can't save @@ -123,6 +121,16 @@ a _ queue for people reporting things externally a _ bugzilla but simpler a _ would also be nice for people to be able to vote on features +dammit we need a text editor. +gonna get sick of people bitching about it. +also an interesting possibility (for tech-minded only) + use terminal emulator, and run iostream from process + use pooterm stuff for the emulation window + key commands would conflict + but could use emacs under osx, linux + use nano (maybe emacs?) under windows + and nothing for macos9 + ////////////////////////////////////////////////////////////////////