From 883f34f4870627eac2706c71b4880e4960bc5953 Mon Sep 17 00:00:00 2001 From: krakjoe Date: Fri, 29 Nov 2013 08:57:29 +0000 Subject: [PATCH] add ANSI colour support to output pane --- tutorials/java/build/built-jar.properties | 4 +- tutorials/java/build/classes/DBGThread.class | Bin 3225 -> 0 bytes tutorials/java/build/classes/Main$1.class | Bin 656 -> 0 bytes tutorials/java/build/classes/Main$2.class | Bin 615 -> 0 bytes tutorials/java/build/classes/Main$3$1.class | Bin 777 -> 0 bytes tutorials/java/build/classes/Main$3.class | Bin 723 -> 0 bytes tutorials/java/build/classes/Main$4.class | Bin 1839 -> 0 bytes tutorials/java/build/classes/Main.class | Bin 5872 -> 0 bytes tutorials/java/dist/phpdbg-ui.jar | Bin 20938 -> 26065 bytes tutorials/java/nbproject/project.properties | 2 +- tutorials/java/src/DBGThread.java | 90 ----- tutorials/java/src/History.java | 47 --- tutorials/java/src/Main.form | 188 ---------- tutorials/java/src/Main.java | 366 ------------------- 14 files changed, 3 insertions(+), 694 deletions(-) delete mode 100644 tutorials/java/build/classes/DBGThread.class delete mode 100644 tutorials/java/build/classes/Main$1.class delete mode 100644 tutorials/java/build/classes/Main$2.class delete mode 100644 tutorials/java/build/classes/Main$3$1.class delete mode 100644 tutorials/java/build/classes/Main$3.class delete mode 100644 tutorials/java/build/classes/Main$4.class delete mode 100644 tutorials/java/build/classes/Main.class delete mode 100644 tutorials/java/src/DBGThread.java delete mode 100644 tutorials/java/src/History.java delete mode 100644 tutorials/java/src/Main.form delete mode 100644 tutorials/java/src/Main.java diff --git a/tutorials/java/build/built-jar.properties b/tutorials/java/build/built-jar.properties index 79923e55d42..3a123e3581e 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 4bf0a8f9f51cf9fc3bd0073cf95ed06b3f37ae61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3225 zcmbVO3v(OQ75-L|wbo|i#CGf?q|l@(i7eX@j{q^|k=Qt369tcnf5P~pTTqr-?@^dHPH++jVJfqd(OG% zeCKh`>fQgn{#O7u<4pq(=@94ISgBtVJv9T3#_b z6_gyWI7r!oU!trtA{+GryJ(jvOqOhG)-J6V5Ba`pTOP$N1;=)0HEdItm$T(1+RTnk z+snaWk%)PVCNyllTH_D}%D?5=8n&-jn97%Y*F8#+xN*FN3Ndz7F*<&BR2U4ww&p2M z`jtQ_bk`Lo6{n$*s}u?nN8(Jyp{3*_fbjhP7MoU(=uE1rrys!q=gM(wCF<;5A&=xFUU2DpeK&dp4qws%JvSt0w-8 z^EzHLv5HW~B@>tN7Zb1J4fd9@-X%Fmy+lEfYgsBe0TbAgJ~PSG^B{wajTU~q{l=tA%lb#>0xwK%G7mLSTY?r_*~m726Voe&WAahgQI@g zk;y|NX;sLiwXk4&v{vmp74)!cmHFN!Cll5@W7(!ctptvnb^T&d#{M{|jMx;F*7p0F z1y-FqP42QPTbtOm7i~62a%yB|_iVa8UFRse;;RPKZcdQ@{4;g!V?jwI5oACNMmXzF~)J2 z`vh@+T4BGphW%wqU|s|q!D8b3i};iW4)GGf&To>Y#A$H2)4eUDJ zcL|>gmD~`tA6%lKy348jP4r&re`|%m{W`HH#NNwDzlt8MH$>(lrSr@5e0o%Eb@patK?2Y4EOz`GWw$uYG{WP27K}sLO41e}Nf)kj-qi|ti z5ji}DJS$wl(N&ilqIJQA3GIw zH7f)*?kf`rFYI-esQ22*3*1nz9W6Vank2QkHsdo@OzgcY#@&y@E0wVM=6@x|IxiFlrBUvzz>@Q@Z>L|Zp?FSSZ@U3PnItNw-#t3M zTlst6IC}$Z^X}$o7?>XYy1O*%swDGV(cm75cC&iHo4o1VchLm>3ow!0h|by@6_(lD4ejvrIG) z9{2!0%6O(W@xd_3%$$3Bd+xcXz59K03t$tW4-fMi5Aa;$85WvYY+^~FQJltkxK1$G zH?iF!_!!%`*jDg6e^aYN1+SluL}7XmTRFHmJC^K=IZl|F8KjX(h9-+$TqQk6ssM%H zv$c}-6O-q{OsixJH`r$4n_M1BA|{uS!a`^8)r?Kgd@p)37F+c8r9=)^?>L#-M3Llq_-37kE?4&5D|&TE9Ui|3jcT`@ z9HJU`3qGyWL~j|pjP9=eg6dwO_M@zs;Mrge@D2gbpu`%JXfslHh?$CEr(*ECKcUvH vQU6DvOX~M*_n{=2En~kT0YyB*W75>|grqgh;wf*Bf6pAIi8P;iyt)1W#^iW4 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 6d285e65e76186cf57735457298fa757682f11e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 777 zcmaJ<*>2N76g`ueIB{GOTxeMeWigPXrAeByNI^&t3aXUy(kgwP#-ql_wZV28ct>LS z8<1GU10TRgAfj}y=VOM*Y_U)I=ELt5tl5Kuw24rT(M}bTDS&RN7pUf zz)cf16LoITH}OL+n)HGw@xudw~O@baxah=@C-;n^5_eV?RB< z)zP=A**t*^51Ko#lT;lNre0~7QQN8y`1(cu6@2JwRjld+FXN6(wcSraCqK~SsJ3^dHqEUTS<;~q@b;2n+E+W;R@Q8A<4_(+@;)*B zILWlx-&OfR68Q+Q=3@@?l(u;kvYGG0Y{aDS*-k14$|kJ)xQlz#nn*P_EqLF@20|YX zu*ps)5rH|&5XO@AFM5ZnpHE3A(95AQla`!8A-EX4ZJ$=`cEY8t- zW8q4qWt{BODcWY!_2BOSYMx34o(pZ zPEhKepxhn9amJYWj>^5+6g{$?C>CmyHlJ;wEsy~_fjBtfGo`dmo#NsoB@RwQfuhK-wh~z~lAO3Z z7Ie=H!wd|xELk@LiHFYc1Nb%U*fE?ZJFz`=H!O7Z-qpG1-LH4`*S~-K31ANQ<2Z}7 zhI5#UV+8Xm-qi3G-j?DWsd-mJ4DV@NEy(R9Dc+a5%To7&iYxMcRl`YKlVVYBudB$Y zSkiCu_XRZrxn;w0Cg*u()T=p^3CSK2bp@kM&n!2UUCq=@Q4K8DA@D>#FwC80 zqZ*PkY6V)}t$C(cvZM!bNjW21$HxxQCKNlyzA0 zh;5XZ=MdH%3$rL)Rk5SPMn#3A!$noaS2{fSIs(*G?CRJ9)6w6|RM&~CTie16nDn+2 zYcOI*N z*<=T%MMCC2%c<5#F%f>Pr~Ex;K6P_l)Pp5U*hNCF^kDD7^(+F}9hza9!uKcBvuOqA z6V0%4$2D9?cB~n;TMI&`#-HZA%9_iLA|!8mu5I5k9Cpx|Ze;rtvA6%P|KVBBB<_rB zPR7*^a+clG3bH%0@lIEc>b@YE`uxD~ScfB$xml77w#y#gKUTCPf)%5}h({8g1wEbv z6QM~huh=Y*s6uDP-1orJFTKb=yk} z&7)yIFSbtY0SVLGHPbpYyr%A+ydq($I__`&z8{DRZ>6YPOkRv#UcfA8^*Ii%=b;P@ z$-%)99^rEV7pZ-bt9kCFMw^=c9m>=pB9BANOO*Y@0N>(eN4#p{psfZS7vw^BL^65U~C`b%Jcyy2tV^UbaMv|h7pAf;uXXxzhe;J^Oy1ir{a&; z!6PDm;=KA9U*jRZ!7pKuV+_Q_D5fwS@;qpT`x+VIi2MVNyVplaJVQkUDdrdav5nvj N9>W~c=q%sBz<<-@%TWLT diff --git a/tutorials/java/build/classes/Main.class b/tutorials/java/build/classes/Main.class deleted file mode 100644 index 2d965ed8164c6cb861b8eece9964b82a747c1d47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5872 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

RXEh&zY({(h{OK~G!fw$nTxD|J5Gha!QRnedm z+|TE4Epd+0fCeM-Ww@TME2gZMa~7bC3R1t4yZw6hD$cIbvl}>z>)DN*(d2kFUc*tG zwG2hiq1eD{m0Ix(3N{;f-H?IT^ZyO}e`7^?5kvdUB$Mj2kpd+!3!7U`B7b&tR%Ap* zA&()|kGMPzqmz8zhPUV96L{f#7-8h|4kntfPb)_`P=Q4Cy`1=U(oYs&9m_}X)gkda za}ui;M*J?kJ0-c31{X^h%`JQGpHH@*B*wHU44PtxKEloOFq%h?c^FZHTlArC#Q?{C z217qbpom{t{jpAu;0I*??+8EDUQ4`((WK0am+)(ElPcwz9_3g8rIv6!BVYX=%N+6S diff --git a/tutorials/java/dist/phpdbg-ui.jar b/tutorials/java/dist/phpdbg-ui.jar index fc4e9d125c04cfb7acf797b2320293606e16777e..c4dbea33ad1cba28fa6ffb2120431dcb90dbea60 100644 GIT binary patch delta 7650 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 r=bFjX#CQtadxxUe)zq9gxjA#E^gZ}g%S$cIK diff --git a/tutorials/java/nbproject/project.properties b/tutorials/java/nbproject/project.properties index c1f3c54997e..00f726cfd92 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 73e2dc4f91b..00000000000 --- 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 a7521d2c601..00000000000 --- 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 { - 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 a5cb28ee2e0..00000000000 --- a/tutorials/java/src/Main.form +++ /dev/null @@ -1,188 +0,0 @@ - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tutorials/java/src/Main.java b/tutorials/java/src/Main.java deleted file mode 100644 index 84d0f137eab..00000000000 --- 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") - // //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(); - }// //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 */ - // - /* 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); - } - // - - /* 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 -}