=================================================================== RCS file: /home/cvs/OpenXM/src/OpenMath/PolyCalc.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -p -r1.5 -r1.6 --- OpenXM/src/OpenMath/PolyCalc.java 1999/11/02 15:58:11 1.5 +++ OpenXM/src/OpenMath/PolyCalc.java 1999/11/10 21:25:48 1.6 @@ -1,5 +1,5 @@ /** - * $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.5 1999/11/02 15:58:11 tam Exp $ */ import JP.ac.kobe_u.math.tam.OpenXM.*; @@ -7,7 +7,7 @@ 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,52 @@ 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){ + CMO tmp; + Thread.yield(); + + switch(oxm.receiveOXtag()){ + case OpenXM.OX_COMMAND: + oxm.receiveSM(); + break; + + case OpenXM.OX_DATA: + tmp = oxm.receiveCMO(); + textarea.append("=> "+ tmp +"\n"); + break; + } + } + }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.sendCMO(new CMO_STRING("[[("+ poly1.getText() +") ("+ poly2.getText() +")] (x,y)] gb")); + oxm.sendSM(new SM(SM.SM_executeStringByLocalParser)); + oxm.sendSM(new SM(SM.SM_popString)); + }catch(java.io.IOException e){} + } /* if ("first".equals(arg)) { ((CardLayout)cards.getLayout()).first(cards); @@ -139,6 +173,11 @@ class PolyCalc extends Applet implements ActionListene try{ oxm = new OpenXM(host,ControlPort,DataPort); textarea.append("Connected.\n"); + oxm.sendCMO(new CMO_STRING("(cohom.sm1) run ;\n")); + oxm.sendSM(new SM(SM.SM_executeStringByLocalParser)); + + thread = new Thread(this); + thread.start(); }catch(java.io.IOException e){ textarea.append("failed.\n"); stop();