Commit:    883f34f4870627eac2706c71b4880e4960bc5953
Author:    krakjoe <joe.watk...@live.co.uk>         Fri, 29 Nov 2013 08:57:29 
+0000
Parents:   f822764129e148bcca00a354b9ad68eea598b834
Branches:  PHP-5.6

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=883f34f4870627eac2706c71b4880e4960bc5953

Log:
add ANSI colour support to output pane

Changed paths:
  M  tutorials/java/build/built-jar.properties
  D  tutorials/java/build/classes/DBGThread.class
  D  tutorials/java/build/classes/Main$1.class
  D  tutorials/java/build/classes/Main$2.class
  D  tutorials/java/build/classes/Main$3$1.class
  D  tutorials/java/build/classes/Main$3.class
  D  tutorials/java/build/classes/Main$4.class
  D  tutorials/java/build/classes/Main.class
  M  tutorials/java/dist/phpdbg-ui.jar
  M  tutorials/java/nbproject/project.properties
  D  tutorials/java/src/DBGThread.java
  D  tutorials/java/src/History.java
  D  tutorials/java/src/Main.form
  D  tutorials/java/src/Main.java

diff --git a/tutorials/java/build/built-jar.properties 
b/tutorials/java/build/built-jar.properties
index 79923e5..3a123e3 100644
--- a/tutorials/java/build/built-jar.properties
+++ b/tutorials/java/build/built-jar.properties
@@ -1,4 +1,4 @@
-#Thu, 28 Nov 2013 22:53:51 +0000
+#Fri, 29 Nov 2013 08:22:06 +0000
 
 
-/home/joe/NetBeansProjects/phpdbg-ui=
+/usr/src/phpdbg/tutorials/java=
diff --git a/tutorials/java/build/classes/DBGThread.class 
b/tutorials/java/build/classes/DBGThread.class
deleted file mode 100644
index 4bf0a8f..0000000
Binary files a/tutorials/java/build/classes/DBGThread.class and /dev/null differ
diff --git a/tutorials/java/build/classes/Main$1.class 
b/tutorials/java/build/classes/Main$1.class
deleted file mode 100644
index 8e19c10..0000000
Binary files a/tutorials/java/build/classes/Main$1.class and /dev/null differ
diff --git a/tutorials/java/build/classes/Main$2.class 
b/tutorials/java/build/classes/Main$2.class
deleted file mode 100644
index df1dd09..0000000
Binary files a/tutorials/java/build/classes/Main$2.class and /dev/null differ
diff --git a/tutorials/java/build/classes/Main$3$1.class 
b/tutorials/java/build/classes/Main$3$1.class
deleted file mode 100644
index 6d285e6..0000000
Binary files a/tutorials/java/build/classes/Main$3$1.class and /dev/null differ
diff --git a/tutorials/java/build/classes/Main$3.class 
b/tutorials/java/build/classes/Main$3.class
deleted file mode 100644
index 4004150..0000000
Binary files a/tutorials/java/build/classes/Main$3.class and /dev/null differ
diff --git a/tutorials/java/build/classes/Main$4.class 
b/tutorials/java/build/classes/Main$4.class
deleted file mode 100644
index 0008d12..0000000
Binary files a/tutorials/java/build/classes/Main$4.class and /dev/null differ
diff --git a/tutorials/java/build/classes/Main.class 
b/tutorials/java/build/classes/Main.class
deleted file mode 100644
index 2d965ed..0000000
Binary files a/tutorials/java/build/classes/Main.class and /dev/null differ
diff --git a/tutorials/java/dist/phpdbg-ui.jar 
b/tutorials/java/dist/phpdbg-ui.jar
index fc4e9d1..c4dbea3 100644
Binary files a/tutorials/java/dist/phpdbg-ui.jar and 
b/tutorials/java/dist/phpdbg-ui.jar differ
diff --git a/tutorials/java/nbproject/project.properties 
b/tutorials/java/nbproject/project.properties
index c1f3c54..00f726c 100644
--- a/tutorials/java/nbproject/project.properties
+++ b/tutorials/java/nbproject/project.properties
@@ -55,7 +55,7 @@ javadoc.splitindex=true
 javadoc.use=true
 javadoc.version=false
 javadoc.windowtitle=
-main.class=Main
+main.class=phpdbg.ui.Main
 manifest.file=manifest.mf
 meta.inf.dir=${src.dir}/META-INF
 mkdist.disabled=false
diff --git a/tutorials/java/src/DBGThread.java 
b/tutorials/java/src/DBGThread.java
deleted file mode 100644
index 73e2dc4..0000000
--- a/tutorials/java/src/DBGThread.java
+++ /dev/null
@@ -1,90 +0,0 @@
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.Socket;
-
-/*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-
-/**
- * Manage input and output data
- * @author krakjoe
- */
-public class DBGThread extends Socket implements Runnable {
-    private final Boolean reader;
-    private final Main main;
-    private Boolean quit;
-
-    public DBGThread(final String host, final Integer port, final Main main, 
Boolean reader) throws IOException {
-        super(host, port);
-        
-        this.main = main;
-        this.reader = reader;
-        this.quit = false;
-        
-        main.setConnected(true);
-    }
-    
-    public void quit() {
-        synchronized(this) {
-            quit = true;
-            this.notifyAll(); 
-        }
-    }
-    
-    @Override public void run() {
-        try {
-            synchronized(this) {
-                do {
-                    if (reader) {
-                        String command;
-                        OutputStream output = getOutputStream();
-                        
-                        this.wait();
-                        
-                        command = main.getInputField().getText();
-                        /* send command to stdin socket */
-                        if (command != null) {    
-                            output.write(
-                               command.getBytes());
-                            output.write("\n".getBytes());
-                            output.flush();
-                        }
-                        main.getInputField().setText(null);
-                    } else {
-                        InputStream input = getInputStream();
-                        /* get data from stdout socket */
-                        byte[] bytes = new byte[1];
-                        do {
-                            /* this is some of the laziest programming I ever 
done */
-                            if (input.available() == 0) {
-                                this.wait(666);
-                                continue;
-                            }
-                            
-                            if (input.read(bytes, 0, 1) > -1) {
-                                main.getOutputField().setCaretPosition(
-                                        
main.getOutputField().getText().length());
-                                main.getOutputField().append(new 
String(bytes));
-                            }
-                        } while (!quit);
-                    }
-                } while(!quit);
-            }
-        } catch (IOException | InterruptedException ex) {
-            if (!quit) {
-                main.messageBox(ex.getMessage());
-            }
-        } finally {
-            try {
-                close();
-            } catch (IOException ex) { /* naughty me */ } finally {
-               main.setConnected(false); 
-            }
-        }
-    }
-}
diff --git a/tutorials/java/src/History.java b/tutorials/java/src/History.java
deleted file mode 100644
index a7521d2..0000000
--- a/tutorials/java/src/History.java
+++ /dev/null
@@ -1,47 +0,0 @@
-
-import java.util.ArrayList;
-
-/*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-
-/**
- * Implement a simple history list for command input
- * @author krakjoe
- */
-public class History extends ArrayList<String> {
-    private Integer position = new Integer(0);
-    
-    public History() {
-        super();
-    }
-    
-    @Override public boolean add(String text) {
-        String last = last();
-        if (text != null) {
-           if (last == null || !last.equals(text)) {
-               if (super.add(text)) {
-                   position = size();
-                   return true;
-               }
-           }
-        }
-        return false;
-    }
-    
-    public String last() {
-        if (position >= 1) {
-            position--;
-            return get(position);
-        } else return new String();
-    }
-    
-    public String next() {
-        if (position+1 < size()) {
-            position++;
-            return get(position);
-        } else return new String();
-    }
-}
\ No newline at end of file
diff --git a/tutorials/java/src/Main.form b/tutorials/java/src/Main.form
deleted file mode 100644
index a5cb28e..0000000
--- a/tutorials/java/src/Main.form
+++ /dev/null
@@ -1,188 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.3" maxVersion="1.9" 
type="org.netbeans.modules.form.forminfo.JDialogFormInfo">
-  <NonVisualComponents>
-    <Container class="javax.swing.JPopupMenu" name="stdoutPopupMenu">
-
-      <Layout 
class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout">
-        <Property name="useNullLayout" type="boolean" value="true"/>
-      </Layout>
-      <SubComponents>
-        <MenuItem class="javax.swing.JMenuItem" name="resetStdout">
-          <Properties>
-            <Property name="text" type="java.lang.String" value="Clear"/>
-          </Properties>
-          <Events>
-            <EventHandler event="actionPerformed" 
listener="java.awt.event.ActionListener" 
parameters="java.awt.event.ActionEvent" handler="resetStdoutActionPerformed"/>
-          </Events>
-        </MenuItem>
-      </SubComponents>
-    </Container>
-  </NonVisualComponents>
-  <Properties>
-    <Property name="defaultCloseOperation" type="int" value="2"/>
-    <Property name="title" type="java.lang.String" value="phpdbg jui"/>
-  </Properties>
-  <SyntheticProperties>
-    <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
-    <SyntheticProperty name="generateCenter" type="boolean" value="false"/>
-  </SyntheticProperties>
-  <AuxValues>
-    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" 
value="0"/>
-    <AuxValue name="FormSettings_autoSetComponentName" 
type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" 
value="true"/>
-    <AuxValue name="FormSettings_generateMnemonicsCode" 
type="java.lang.Boolean" value="false"/>
-    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" 
value="false"/>
-    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" 
value="1"/>
-    <AuxValue name="FormSettings_listenerGenerationStyle" 
type="java.lang.Integer" value="0"/>
-    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" 
value="false"/>
-    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" 
value="2"/>
-  </AuxValues>
-
-  <Layout>
-    <DimensionLayout dim="0">
-      <Group type="103" groupAlignment="0" attributes="0">
-          <Group type="102" attributes="0">
-              <EmptySpace max="-2" attributes="0"/>
-              <Group type="103" groupAlignment="0" attributes="0">
-                  <Component id="mainSplit" max="32767" attributes="0"/>
-                  <Group type="102" attributes="0">
-                      <Component id="hostLabel" min="-2" max="-2" 
attributes="0"/>
-                      <EmptySpace max="-2" attributes="0"/>
-                      <Component id="host" pref="359" max="32767" 
attributes="0"/>
-                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
-                      <Component id="stdinCheckBox" min="-2" max="-2" 
attributes="0"/>
-                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
-                      <Component id="stdinPort" min="-2" pref="60" max="-2" 
attributes="0"/>
-                      <EmptySpace type="separate" max="-2" attributes="0"/>
-                      <Component id="stdoutCheckBox" min="-2" max="-2" 
attributes="0"/>
-                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
-                      <Component id="stdoutPort" min="-2" pref="60" max="-2" 
attributes="0"/>
-                      <EmptySpace type="unrelated" max="-2" attributes="0"/>
-                      <Component id="openButton" min="-2" max="-2" 
attributes="0"/>
-                  </Group>
-              </Group>
-              <EmptySpace max="-2" attributes="0"/>
-          </Group>
-      </Group>
-    </DimensionLayout>
-    <DimensionLayout dim="1">
-      <Group type="103" groupAlignment="0" attributes="0">
-          <Group type="102" alignment="0" attributes="0">
-              <EmptySpace max="-2" attributes="0"/>
-              <Component id="mainSplit" pref="428" max="32767" attributes="0"/>
-              <EmptySpace type="unrelated" max="-2" attributes="0"/>
-              <Group type="103" groupAlignment="3" max="-2" attributes="0">
-                  <Component id="stdoutPort" alignment="3" min="-2" max="-2" 
attributes="0"/>
-                  <Component id="stdinCheckBox" alignment="3" min="-2" 
max="-2" attributes="0"/>
-                  <Component id="stdoutCheckBox" alignment="3" min="-2" 
max="-2" attributes="0"/>
-                  <Component id="stdinPort" alignment="3" min="-2" max="-2" 
attributes="0"/>
-                  <Component id="host" alignment="0" min="-2" max="-2" 
attributes="0"/>
-                  <Component id="openButton" alignment="0" max="32767" 
attributes="0"/>
-                  <Component id="hostLabel" alignment="3" min="-2" max="-2" 
attributes="0"/>
-              </Group>
-              <EmptySpace max="-2" attributes="0"/>
-          </Group>
-      </Group>
-    </DimensionLayout>
-  </Layout>
-  <SubComponents>
-    <Container class="javax.swing.JSplitPane" name="mainSplit">
-      <Properties>
-        <Property name="orientation" type="int" value="0"/>
-        <Property name="toolTipText" type="java.lang.String" value=""/>
-      </Properties>
-
-      <Layout 
class="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout"/>
-      <SubComponents>
-        <Component class="javax.swing.JTextField" name="input">
-          <Properties>
-            <Property name="toolTipText" type="java.lang.String" value=""/>
-            <Property name="enabled" type="boolean" value="false"/>
-          </Properties>
-          <Events>
-            <EventHandler event="keyReleased" 
listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" 
handler="inputKeyReleased"/>
-          </Events>
-          <Constraints>
-            <Constraint 
layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout"
 
value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
-              <JSplitPaneConstraints position="left"/>
-            </Constraint>
-          </Constraints>
-        </Component>
-        <Container class="javax.swing.JScrollPane" name="outScrollPane">
-          <AuxValues>
-            <AuxValue name="autoScrollPane" type="java.lang.Boolean" 
value="true"/>
-          </AuxValues>
-          <Constraints>
-            <Constraint 
layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout"
 
value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
-              <JSplitPaneConstraints position="right"/>
-            </Constraint>
-          </Constraints>
-
-          <Layout 
class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
-          <SubComponents>
-            <Component class="javax.swing.JTextArea" name="output">
-              <Properties>
-                <Property name="editable" type="boolean" value="false"/>
-                <Property name="columns" type="int" value="20"/>
-                <Property name="font" type="java.awt.Font" 
editor="org.netbeans.beaninfo.editors.FontEditor">
-                  <Font name="DialogInput" size="12" style="0"/>
-                </Property>
-                <Property name="rows" type="int" value="5"/>
-                <Property name="componentPopupMenu" 
type="javax.swing.JPopupMenu" 
editor="org.netbeans.modules.form.ComponentChooserEditor">
-                  <ComponentRef name="stdoutPopupMenu"/>
-                </Property>
-              </Properties>
-            </Component>
-          </SubComponents>
-        </Container>
-      </SubComponents>
-    </Container>
-    <Component class="javax.swing.JTextField" name="host">
-      <Properties>
-        <Property name="text" type="java.lang.String" value="127.0.0.1"/>
-        <Property name="toolTipText" type="java.lang.String" value="Set the 
hostname, or IPv4 address of the machine running the phpdbg remote console 
server"/>
-      </Properties>
-    </Component>
-    <Component class="javax.swing.JTextField" name="stdoutPort">
-      <Properties>
-        <Property name="text" type="java.lang.String" value="8000"/>
-        <Property name="toolTipText" type="java.lang.String" value=""/>
-      </Properties>
-    </Component>
-    <Component class="javax.swing.JCheckBox" name="stdinCheckBox">
-      <Properties>
-        <Property name="selected" type="boolean" value="true"/>
-        <Property name="text" type="java.lang.String" value="stdin:"/>
-        <Property name="toolTipText" type="java.lang.String" value="Set the 
port for stdin, or uncheck to disable stdin"/>
-      </Properties>
-    </Component>
-    <Component class="javax.swing.JCheckBox" name="stdoutCheckBox">
-      <Properties>
-        <Property name="selected" type="boolean" value="true"/>
-        <Property name="text" type="java.lang.String" value="stdout:"/>
-        <Property name="toolTipText" type="java.lang.String" value="Set the 
port for stdout, or unset to disable stdout"/>
-      </Properties>
-    </Component>
-    <Component class="javax.swing.JButton" name="openButton">
-      <Properties>
-        <Property name="actionCommand" type="java.lang.String" value="open"/>
-        <Property name="label" type="java.lang.String" value="open"/>
-      </Properties>
-      <Events>
-        <EventHandler event="actionPerformed" 
listener="java.awt.event.ActionListener" 
parameters="java.awt.event.ActionEvent" handler="openButtonActionPerformed"/>
-      </Events>
-    </Component>
-    <Component class="javax.swing.JTextField" name="stdinPort">
-      <Properties>
-        <Property name="text" type="java.lang.String" value="4000"/>
-        <Property name="toolTipText" type="java.lang.String" value=""/>
-      </Properties>
-    </Component>
-    <Component class="javax.swing.JLabel" name="hostLabel">
-      <Properties>
-        <Property name="text" type="java.lang.String" value="Hostname:"/>
-      </Properties>
-    </Component>
-  </SubComponents>
-</Form>
diff --git a/tutorials/java/src/Main.java b/tutorials/java/src/Main.java
deleted file mode 100644
index 84d0f13..0000000
--- a/tutorials/java/src/Main.java
+++ /dev/null
@@ -1,366 +0,0 @@
-
-import static java.awt.event.KeyEvent.VK_DOWN;
-import static java.awt.event.KeyEvent.VK_ENTER;
-import static java.awt.event.KeyEvent.VK_UP;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import javax.swing.JOptionPane;
-import javax.swing.JTextArea;
-import javax.swing.JTextField;
-
-/*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-
-/**
- *
- * @author krakjoe
- */
-public class Main extends javax.swing.JDialog {
-    /**
-     * Creates user interface
-     * @param parent
-     * @param modal
-     */
-    public Main(java.awt.Frame parent, boolean modal) {
-        super(parent, modal);
-        initComponents();
-    }
-
-    /**
-     * This method is called from within the constructor to initialize the 
form.
-     * WARNING: Do NOT modify this code. The content of this method is always
-     * regenerated by the Form Editor.
-     */
-    @SuppressWarnings("unchecked")
-    // <editor-fold defaultstate="collapsed" desc="Generated 
Code">//GEN-BEGIN:initComponents
-    private void initComponents() {
-
-        stdoutPopupMenu = new javax.swing.JPopupMenu();
-        resetStdout = new javax.swing.JMenuItem();
-        mainSplit = new javax.swing.JSplitPane();
-        input = new javax.swing.JTextField();
-        outScrollPane = new javax.swing.JScrollPane();
-        output = new javax.swing.JTextArea();
-        host = new javax.swing.JTextField();
-        stdoutPort = new javax.swing.JTextField();
-        stdinCheckBox = new javax.swing.JCheckBox();
-        stdoutCheckBox = new javax.swing.JCheckBox();
-        openButton = new javax.swing.JButton();
-        stdinPort = new javax.swing.JTextField();
-        hostLabel = new javax.swing.JLabel();
-
-        resetStdout.setText("Clear");
-        resetStdout.addActionListener(new java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                resetStdoutActionPerformed(evt);
-            }
-        });
-        stdoutPopupMenu.add(resetStdout);
-
-        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
-        setTitle("phpdbg jui");
-
-        mainSplit.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);
-        mainSplit.setToolTipText("");
-
-        input.setToolTipText("");
-        input.setEnabled(false);
-        input.addKeyListener(new java.awt.event.KeyAdapter() {
-            public void keyReleased(java.awt.event.KeyEvent evt) {
-                inputKeyReleased(evt);
-            }
-        });
-        mainSplit.setLeftComponent(input);
-
-        output.setEditable(false);
-        output.setColumns(20);
-        output.setFont(new java.awt.Font("DialogInput", 0, 12)); // NOI18N
-        output.setRows(5);
-        output.setComponentPopupMenu(stdoutPopupMenu);
-        outScrollPane.setViewportView(output);
-
-        mainSplit.setRightComponent(outScrollPane);
-
-        host.setText("127.0.0.1");
-        host.setToolTipText("Set the hostname, or IPv4 address of the machine 
running the phpdbg remote console server");
-
-        stdoutPort.setText("8000");
-        stdoutPort.setToolTipText("");
-
-        stdinCheckBox.setSelected(true);
-        stdinCheckBox.setText("stdin:");
-        stdinCheckBox.setToolTipText("Set the port for stdin, or uncheck to 
disable stdin");
-
-        stdoutCheckBox.setSelected(true);
-        stdoutCheckBox.setText("stdout:");
-        stdoutCheckBox.setToolTipText("Set the port for stdout, or unset to 
disable stdout");
-
-        openButton.setActionCommand("open");
-        openButton.setLabel("open");
-        openButton.addActionListener(new java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                openButtonActionPerformed(evt);
-            }
-        });
-
-        stdinPort.setText("4000");
-        stdinPort.setToolTipText("");
-
-        hostLabel.setText("Hostname:");
-
-        javax.swing.GroupLayout layout = new 
javax.swing.GroupLayout(getContentPane());
-        getContentPane().setLayout(layout);
-        layout.setHorizontalGroup(
-            
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(layout.createSequentialGroup()
-                .addContainerGap()
-                
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(mainSplit)
-                    .addGroup(layout.createSequentialGroup()
-                        .addComponent(hostLabel)
-                        
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(host, 
javax.swing.GroupLayout.DEFAULT_SIZE, 359, Short.MAX_VALUE)
-                        
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
-                        .addComponent(stdinCheckBox)
-                        
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
-                        .addComponent(stdinPort, 
javax.swing.GroupLayout.PREFERRED_SIZE, 60, 
javax.swing.GroupLayout.PREFERRED_SIZE)
-                        .addGap(18, 18, 18)
-                        .addComponent(stdoutCheckBox)
-                        
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
-                        .addComponent(stdoutPort, 
javax.swing.GroupLayout.PREFERRED_SIZE, 60, 
javax.swing.GroupLayout.PREFERRED_SIZE)
-                        
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
-                        .addComponent(openButton)))
-                .addContainerGap())
-        );
-        layout.setVerticalGroup(
-            
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addGroup(layout.createSequentialGroup()
-                .addContainerGap()
-                .addComponent(mainSplit, javax.swing.GroupLayout.DEFAULT_SIZE, 
428, Short.MAX_VALUE)
-                
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
-                
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE,
 false)
-                    .addComponent(stdoutPort, 
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, 
javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addComponent(stdinCheckBox)
-                    .addComponent(stdoutCheckBox)
-                    .addComponent(stdinPort, 
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, 
javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addComponent(host, 
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, 
javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addComponent(openButton, 
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, 
Short.MAX_VALUE)
-                    .addComponent(hostLabel))
-                .addContainerGap())
-        );
-
-        pack();
-    }// </editor-fold>//GEN-END:initComponents
-
-    private void inputKeyReleased(java.awt.event.KeyEvent evt) 
{//GEN-FIRST:event_inputKeyReleased
-        switch (evt.getKeyCode()) {
-            case VK_ENTER: {
-                if (in != null) {
-                    history.add(input.getText());
-                    synchronized(in) {
-                        in.notifyAll();
-                    }
-                }
-            } break;
- 
-            case VK_UP: {
-                String last = history.last();
-                if (last.length() > 0) {
-                    input.setText(last);
-                }
-            } break;
-                
-            case VK_DOWN: {
-                String next = history.next();
-                if (next.length() > 0) {
-                    input.setText(next);
-                }
-            } break;
-        }
-    }//GEN-LAST:event_inputKeyReleased
-
-    private void openButtonActionPerformed(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_openButtonActionPerformed
-        try {
-            if (!connected) {
-                Integer ports[] = new Integer[2];
-                String address = getHost();
-
-                if (address != null) {
-                    ports[0] = stdinCheckBox.isSelected() ? getStdinPort() : 
-1;
-                    ports[1] = stdoutCheckBox.isSelected() ? getStdoutPort() : 
-1;
-
-                    if (ports[0] != 0 && ports[1] != 0) {
-                        if (stdinCheckBox.isSelected()) {
-                            if (ports[0] > 0) {
-                                in = new DBGThread(
-                                        address, ports[0], this, true);
-                                new Thread(in).start();
-                            }
-                        }
-
-                        if (stdoutCheckBox.isSelected()) {
-                            if (ports[1] > 0) {
-                               out = new DBGThread(
-                                       address, ports[1], this, false);
-                                new Thread(out).start(); 
-                            }
-                        }
-                    }
-                }
-            } else {
-                if (in != null) {
-                    in.quit();
-                }
-                if (out != null) {
-                    out.quit();
-                }
-            }
-        } catch (IOException ex) {
-            messageBox(ex.getMessage());
-        }
-    }//GEN-LAST:event_openButtonActionPerformed
-
-    private void resetStdoutActionPerformed(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_resetStdoutActionPerformed
-        // TODO add your handling code here:
-        output.setText(null);
-    }//GEN-LAST:event_resetStdoutActionPerformed
-
-    
-    public void setConnected(Boolean isConnected) {
-        synchronized(this) {
-            if (isConnected) {
-                connected = true;
-                openButton.setText("Disconnect");
-                host.setEnabled(false);
-                stdinPort.setEnabled(false);
-                stdinCheckBox.setEnabled(false);
-                if (stdinCheckBox.isSelected()) {
-                    input.setEnabled(true);
-                } else input.setEnabled(false);
-                stdoutPort.setEnabled(false);
-                stdoutCheckBox.setEnabled(false);
-            } else {
-                connected = false;
-                openButton.setText("Connect");
-                host.setEnabled(true);
-                stdinPort.setEnabled(true);
-                input.setEnabled(false);
-                stdinCheckBox.setEnabled(true);
-                stdoutPort.setEnabled(true);
-                stdoutCheckBox.setEnabled(true);
-            }
-        }
-    }
-    
-    public JTextField getInputField() { return input; }
-    public JTextArea getOutputField() { return output; }
-    
-    public String getHost() { 
-        String address = host.getText();
-        if (address != null && address.length() > 0) {
-            return address;
-        } else {
-            messageBox("Invalid hostname provided !");
-        }
-        
-        return null;
-    }
-    
-    public Integer getStdinPort() { 
-        try {
-            return Integer.parseInt(stdinPort.getText()); 
-        } catch (NumberFormatException ex) {
-            messageBox("Invalid stdin port provided !");
-        }
-        
-        return 0;
-    }
-    
-    public Integer getStdoutPort() { 
-        try {
-            return Integer.parseInt(stdoutPort.getText()); 
-        } catch (NumberFormatException ex) {
-            messageBox("Invalid stdout port provided !");
-        }
-        
-        return 0;
-    }
-    
-    public synchronized void messageBox(String message) {
-        JOptionPane.showMessageDialog(this, message);
-    }
-    /**
-     * @param args the command line arguments
-     */
-    public static void main(final String args[]) {
-        /* Set the Nimbus look and feel */
-        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting 
code (optional) ">
-        /* If Nimbus (introduced in Java SE 6) is not available, stay with the 
default look and feel.
-         * For details see 
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
-         */
-        try {
-            for (javax.swing.UIManager.LookAndFeelInfo info : 
javax.swing.UIManager.getInstalledLookAndFeels()) {
-                if ("Nimbus".equals(info.getName())) {
-                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
-                    break;
-                }
-            }
-        } catch (ClassNotFoundException ex) {
-            
java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE,
 null, ex);
-        } catch (InstantiationException ex) {
-            
java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE,
 null, ex);
-        } catch (IllegalAccessException ex) {
-            
java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE,
 null, ex);
-        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
-            
java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE,
 null, ex);
-        }
-        //</editor-fold>
-        
-        /* Create and display the dialog */
-        java.awt.EventQueue.invokeLater(new Runnable() {
-            @Override public void run() {
-                dialog = new Main(new javax.swing.JFrame(), true);
-                dialog.addWindowListener(new java.awt.event.WindowAdapter() {
-                    @Override
-                    public void windowClosing(java.awt.event.WindowEvent e) {
-                        if (in != null)
-                            in.quit();
-                        
-                        if (out != null)
-                            out.quit();
-                        
-                        System.exit(0);
-                    }
-                });
-                dialog.setVisible(true);
-            }
-        });
-    }
-    
-    private static DBGThread in;
-    private static DBGThread out;
-    private static Main dialog;
-    private static Boolean connected = false;
-    private static History history = new History();
-    
-    // Variables declaration - do not modify//GEN-BEGIN:variables
-    private javax.swing.JTextField host;
-    private javax.swing.JLabel hostLabel;
-    private javax.swing.JTextField input;
-    private javax.swing.JSplitPane mainSplit;
-    private javax.swing.JButton openButton;
-    private javax.swing.JScrollPane outScrollPane;
-    private javax.swing.JTextArea output;
-    private javax.swing.JMenuItem resetStdout;
-    private javax.swing.JCheckBox stdinCheckBox;
-    private javax.swing.JTextField stdinPort;
-    private javax.swing.JCheckBox stdoutCheckBox;
-    private javax.swing.JPopupMenu stdoutPopupMenu;
-    private javax.swing.JTextField stdoutPort;
-    // End of variables declaration//GEN-END:variables
-}
-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to