Preliminary version of RFB Session Player converted from TightVNC Java
viewer sources.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2500 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/java/src/com/tightvnc/rfbplayer/ButtonPanel.java b/java/src/com/tightvnc/rfbplayer/ButtonPanel.java
index de3ddfe..e7cabb5 100644
--- a/java/src/com/tightvnc/rfbplayer/ButtonPanel.java
+++ b/java/src/com/tightvnc/rfbplayer/ButtonPanel.java
@@ -1,6 +1,5 @@
//
-// Copyright (C) 2001,2002 HorizonLive.com, Inc. All Rights Reserved.
-// Copyright (C) 1999 AT&T Laboratories Cambridge. All Rights Reserved.
+// Copyright (C) 2002 HorizonLive.com, Inc. All Rights Reserved.
//
// This is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -18,62 +17,55 @@
// USA.
//
-//
-// ButtonPanel class implements panel with four buttons in the
-// VNCViewer desktop window.
-//
-
import java.awt.*;
import java.awt.event.*;
import java.io.*;
class ButtonPanel extends Panel implements ActionListener {
- VncViewer viewer;
- Button disconnectButton;
- Button optionsButton;
- Button clipboardButton;
- Button ctrlAltDelButton;
- Button refreshButton;
+ protected RfbPlayer player;
+ protected Button playButton;
+ protected Button pauseButton;
- ButtonPanel(VncViewer v) {
- viewer = v;
+ ButtonPanel(RfbPlayer player) {
+ this.player = player;
setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0));
- disconnectButton = new Button("Disconnect");
- disconnectButton.setEnabled(false);
- add(disconnectButton);
- disconnectButton.addActionListener(this);
- optionsButton = new Button("Options");
- add(optionsButton);
- optionsButton.addActionListener(this);
- clipboardButton = new Button("Clipboard");
- clipboardButton.setEnabled(false);
- add(clipboardButton);
- clipboardButton.addActionListener(this);
- ctrlAltDelButton = new Button("Send Ctrl-Alt-Del");
- ctrlAltDelButton.setEnabled(false);
- add(ctrlAltDelButton);
- ctrlAltDelButton.addActionListener(this);
- refreshButton = new Button("Refresh");
- refreshButton.setEnabled(false);
- add(refreshButton);
- refreshButton.addActionListener(this);
+
+ playButton = new Button("Play");
+ playButton.setEnabled(false);
+ add(playButton);
+ playButton.addActionListener(this);
+
+ pauseButton = new Button("Pause");
+ pauseButton.setEnabled(false);
+ add(pauseButton);
+ pauseButton.addActionListener(this);
}
- public void enableButtons() {
- disconnectButton.setEnabled(true);
- clipboardButton.setEnabled(true);
- refreshButton.setEnabled(true);
- }
-
- //
- // Enable/disable controls that should not be available in view-only
- // mode.
- //
-
- void enableRemoteAccessControls(boolean enable) {
- ctrlAltDelButton.setEnabled(enable);
+ public void setMode(int mode) {
+ switch(mode) {
+ case RfbPlayer.MODE_PLAYBACK:
+ playButton.setLabel("Stop");
+ playButton.setEnabled(true);
+ pauseButton.setLabel("Pause");
+ pauseButton.setEnabled(true);
+ break;
+ case RfbPlayer.MODE_PAUSED:
+ playButton.setLabel("Stop");
+ playButton.setEnabled(true);
+ pauseButton.setLabel("Resume");
+ pauseButton.setEnabled(true);
+ break;
+ default:
+ // case RfbPlayer.MODE_STOPPED:
+ playButton.setLabel("Play");
+ playButton.setEnabled(true);
+ pauseButton.setLabel("Pause");
+ pauseButton.setEnabled(false);
+ break;
+ }
+ player.setMode(mode);
}
//
@@ -81,40 +73,13 @@
//
public void actionPerformed(ActionEvent evt) {
- if (evt.getSource() == disconnectButton) {
- viewer.disconnect();
-
- } else if (evt.getSource() == optionsButton) {
- viewer.options.setVisible(!viewer.options.isVisible());
-
- } else if (evt.getSource() == clipboardButton) {
- viewer.clipboard.setVisible(!viewer.clipboard.isVisible());
-
- } else if (evt.getSource() == ctrlAltDelButton) {
- try {
- final int modifiers = InputEvent.CTRL_MASK | InputEvent.ALT_MASK;
-
- KeyEvent ctrlAltDelEvent =
- new KeyEvent(this, KeyEvent.KEY_PRESSED, 0, modifiers, 127);
- viewer.rfb.writeKeyEvent(ctrlAltDelEvent);
-
- ctrlAltDelEvent =
- new KeyEvent(this, KeyEvent.KEY_RELEASED, 0, modifiers, 127);
- viewer.rfb.writeKeyEvent(ctrlAltDelEvent);
-
- } catch (IOException e) {
- e.printStackTrace();
- }
- } else if (evt.getSource() == refreshButton) {
- try {
- RfbProto rfb = viewer.rfb;
- rfb.writeFramebufferUpdateRequest(0, 0, rfb.framebufferWidth,
- rfb.framebufferHeight, false);
- } catch (IOException e) {
- e.printStackTrace();
- }
+ if (evt.getSource() == playButton) {
+ setMode((player.getMode() == RfbPlayer.MODE_STOPPED) ?
+ RfbPlayer.MODE_PLAYBACK : RfbPlayer.MODE_STOPPED);
+ } else if (evt.getSource() == pauseButton) {
+ setMode((player.getMode() == RfbPlayer.MODE_PAUSED) ?
+ RfbPlayer.MODE_PLAYBACK : RfbPlayer.MODE_PAUSED);
}
- viewer.moveFocusToDesktop();
}
}