=================================================================== RCS file: /home/cvs/OpenXM/src/OpenMath/PolyCalc.java,v retrieving revision 1.5 retrieving revision 1.12 diff -u -p -r1.5 -r1.12 --- OpenXM/src/OpenMath/PolyCalc.java 1999/11/02 15:58:11 1.5 +++ OpenXM/src/OpenMath/PolyCalc.java 2000/10/11 09:34:06 1.12 @@ -1,13 +1,13 @@ /** - * $OpenXM: OpenXM/src/OpenMath/PolyCalc.java,v 1.4 1999/11/02 15:10:31 tam Exp $ + * $OpenXM: OpenXM/src/OpenMath/PolyCalc.java,v 1.11 2000/10/11 08:32:13 ohara Exp $ */ -import JP.ac.kobe_u.math.tam.OpenXM.*; +import ORG.openxm.tam.*; import java.applet.*; import java.awt.event.*; import java.awt.*; -class PolyCalc extends Applet implements ActionListener{ +class PolyCalc extends Applet implements ActionListener,Runnable{ private String host = "localhost"; private int ControlPort = 1200,DataPort = 1300; private OpenXM oxm; @@ -15,6 +15,7 @@ class PolyCalc extends Applet implements ActionListene //private Button mul_button,remainder_button,swap_button,set_button; private TextField poly1,poly2; private TextArea textarea; + private Thread thread = null; private boolean debug = false; //private Text @@ -104,19 +105,44 @@ class PolyCalc extends Applet implements ActionListene c.gridwidth = 1; add(poly2); + button = new Button("grobner base"); + button.addActionListener(this); + gridbag.setConstraints(button,c); + add(button); + button = new Button("quit"); button.addActionListener(this); - c.gridwidth = GridBagConstraints.REMAINDER; gridbag.setConstraints(button,c); - c.gridwidth = 1; add(button); } - public void actionPerformed(ActionEvent e) { - String arg = e.getActionCommand(); + public void run(){ // for debug + try{ + while(true){ + OXmessage tmp = oxm.receive(); + textarea.append("=> "+ tmp +"\n"); + Thread.yield(); + } + }catch(java.io.IOException e){} + } + + public void actionPerformed(ActionEvent evt) { + String arg = evt.getActionCommand(); + debug("press \""+ arg +"\" button."); + if(arg.equals("quit")){ + }else if(arg.equals("grobner base")){ + try{ + debug("poly A: "+ poly1.getText()); + oxm.send(new CMO_STRING("[[("+ poly1.getText() +") ("+ poly2.getText() +")] (x,y)] gb")); + oxm.send(new SM(SM.SM_executeStringByLocalParser)); + oxm.send(new SM(SM.SM_popString)); + }catch(java.io.IOException e){ + }catch(MathcapViolation e){ + } + } /* if ("first".equals(arg)) { ((CardLayout)cards.getLayout()).first(cards); @@ -137,17 +163,28 @@ class PolyCalc extends Applet implements ActionListene +"("+ ControlPort +","+ DataPort +")\n"); try{ + /* + Runtime r = Runtime.getRuntime(); + + r.exec("ox -ox ox_sm1"); + */ oxm = new OpenXM(host,ControlPort,DataPort); textarea.append("Connected.\n"); + oxm.send(new CMO_STRING("(cohom.sm1) run ;\n")); + oxm.send(new SM(SM.SM_executeStringByLocalParser)); + + thread = new Thread(this); + thread.start(); }catch(java.io.IOException e){ textarea.append("failed.\n"); stop(); + }catch(MathcapViolation e){ } } private void debug(String str){ if(debug){ - System.out.println(str); + System.err.println(str); } } @@ -174,7 +211,7 @@ class PolyCalc extends Applet implements ActionListene for(int i=0;i