summaryrefslogtreecommitdiff
path: root/cmpcj/src/de/schwarzrot/control/table
diff options
context:
space:
mode:
authorgeronimo <geronimo013@gmx.de>2012-08-15 07:55:07 +0200
committergeronimo <geronimo013@gmx.de>2012-08-15 07:55:07 +0200
commitaf80bd2426282b7491d9ba0ebfb201abb42e3ca4 (patch)
tree8aeac09a815f3133773cb927597738d4150030f1 /cmpcj/src/de/schwarzrot/control/table
parent7eb41fd1431019f44227af6f5d707e7c98e0416e (diff)
downloadcmp-af80bd2426282b7491d9ba0ebfb201abb42e3ca4.tar.gz
cmp-af80bd2426282b7491d9ba0ebfb201abb42e3ca4.tar.bz2
next variant of java client
Diffstat (limited to 'cmpcj/src/de/schwarzrot/control/table')
-rw-r--r--cmpcj/src/de/schwarzrot/control/table/MediaTableFormat.java91
-rw-r--r--cmpcj/src/de/schwarzrot/control/table/PlayerDefinitionTableFormat.java114
-rw-r--r--cmpcj/src/de/schwarzrot/control/table/ServerDefinitionTableFormat.java119
3 files changed, 324 insertions, 0 deletions
diff --git a/cmpcj/src/de/schwarzrot/control/table/MediaTableFormat.java b/cmpcj/src/de/schwarzrot/control/table/MediaTableFormat.java
new file mode 100644
index 0000000..88bdea1
--- /dev/null
+++ b/cmpcj/src/de/schwarzrot/control/table/MediaTableFormat.java
@@ -0,0 +1,91 @@
+/**
+ * ======================== legal notice ======================
+ *
+ * File: MediaTableFormat.java
+ * Created: 13. June 2012, 04:57
+ * Author: <a href="mailto:geronimo013@gmx.de">Geronimo</a>
+ * Project: cmpc - a java frontend (client) part of compound media player
+ * uses external players to play the media
+ *
+ * CMP - compound media player
+ *
+ * is a client/server mediaplayer intended to play any media from any workstation
+ * without the need to export or mount shares. cmps is an easy to use backend
+ * with a (ready to use) HTML-interface. Additionally the backend supports
+ * authentication via HTTP-digest authorization.
+ * cmpc is a client with vdr-like osd-menues.
+ *
+ * Copyright (c) 2012 Reinhard Mantey, some rights reserved!
+ * published under Creative Commons by-sa
+ * For details see http://creativecommons.org/licenses/by-sa/3.0/
+ *
+ * The cmp project's homepage is at http://projects.vdr-developer.org/projects/cmp
+ *
+ * --------------------------------------------------------------
+ */
+package de.schwarzrot.control.table;
+
+
+import ca.odell.glazedlists.gui.TableFormat;
+import de.schwarzrot.base.util.ApplicationServiceProvider;
+import de.schwarzrot.base.util.MessageBundle;
+import de.schwarzrot.control.app.CMPMessageBundle;
+import de.schwarzrot.media.domain.Media;
+
+
+public class MediaTableFormat implements TableFormat<Media> {
+ private static MessageBundle bundle;
+
+
+ @Override
+ public int getColumnCount() {
+ return 3;
+ }
+
+
+ @Override
+ public String getColumnName(int column) {
+ if (bundle == null)
+ bundle = ApplicationServiceProvider.getService(MessageBundle.class);
+
+ switch (column) {
+ case 0:
+ return bundle.getMessage(CMPMessageBundle.MTF_0);
+ case 1:
+ return bundle.getMessage(CMPMessageBundle.MTF_1);
+ case 2:
+ return bundle.getMessage(CMPMessageBundle.MTF_2);
+ default:
+ throw new IndexOutOfBoundsException();
+ }
+ }
+
+
+ @Override
+ public Object getColumnValue(Media m, int column) {
+ switch (column) {
+ case 0:
+ return m.getType();
+ case 1:
+ return m.getFormat();
+ case 2:
+ return m.getName();
+ default:
+ throw new IndexOutOfBoundsException();
+ }
+ }
+
+
+ public int getColumnWidth(int column) {
+ switch (column) {
+ case 0:
+ return 80;
+ case 1:
+ return 110;
+ case 2:
+ return -1;
+ default:
+ throw new IndexOutOfBoundsException();
+ }
+ }
+}
diff --git a/cmpcj/src/de/schwarzrot/control/table/PlayerDefinitionTableFormat.java b/cmpcj/src/de/schwarzrot/control/table/PlayerDefinitionTableFormat.java
new file mode 100644
index 0000000..cadc6d7
--- /dev/null
+++ b/cmpcj/src/de/schwarzrot/control/table/PlayerDefinitionTableFormat.java
@@ -0,0 +1,114 @@
+/**
+ * ======================== legal notice ======================
+ *
+ * File: PlayerDefinitionTableFormat.java
+ * Created: 13. June 2012, 04:57
+ * Author: <a href="mailto:geronimo013@gmx.de">Geronimo</a>
+ * Project: cmpc - a java frontend (client) part of compound media player
+ * uses external players to play the media
+ *
+ * CMP - compound media player
+ *
+ * is a client/server mediaplayer intended to play any media from any workstation
+ * without the need to export or mount shares. cmps is an easy to use backend
+ * with a (ready to use) HTML-interface. Additionally the backend supports
+ * authentication via HTTP-digest authorization.
+ * cmpc is a client with vdr-like osd-menues.
+ *
+ * Copyright (c) 2012 Reinhard Mantey, some rights reserved!
+ * published under Creative Commons by-sa
+ * For details see http://creativecommons.org/licenses/by-sa/3.0/
+ *
+ * The cmp project's homepage is at http://projects.vdr-developer.org/projects/cmp
+ *
+ * --------------------------------------------------------------
+ */
+package de.schwarzrot.control.table;
+
+
+import ca.odell.glazedlists.gui.WritableTableFormat;
+import de.schwarzrot.base.util.ApplicationServiceProvider;
+import de.schwarzrot.base.util.MessageBundle;
+import de.schwarzrot.media.domain.PlayerDefinition;
+
+
+public class PlayerDefinitionTableFormat implements WritableTableFormat<PlayerDefinition> {
+ private static MessageBundle bundle;
+ protected static final String KEY_0 = PlayerDefinitionTableFormat.class.getSimpleName() + ".col0";
+ protected static final String KEY_1 = PlayerDefinitionTableFormat.class.getSimpleName() + ".col1";
+
+
+ @Override
+ public int getColumnCount() {
+ return 2;
+ }
+
+
+ @Override
+ public String getColumnName(int column) {
+ if (bundle == null)
+ bundle = ApplicationServiceProvider.getService(MessageBundle.class);
+
+ switch (column) {
+ case 0:
+ return bundle.getMessage(KEY_0);
+ case 1:
+ return bundle.getMessage(KEY_1);
+ default:
+ throw new IndexOutOfBoundsException();
+ }
+ }
+
+
+ @Override
+ public Object getColumnValue(PlayerDefinition pd, int column) {
+ switch (column) {
+ case 0:
+ return pd.getMediaType().name();
+ case 1:
+ return pd.getCommandLine();
+ default:
+ throw new IndexOutOfBoundsException();
+ }
+ }
+
+
+ public int getColumnWidth(int column) {
+ switch (column) {
+ case 0:
+ return 150;
+ case 1:
+ return -1;
+ default:
+ throw new IndexOutOfBoundsException();
+ }
+ }
+
+
+ @Override
+ public boolean isEditable(PlayerDefinition pd, int column) {
+ switch (column) {
+ case 0:
+ return false;
+ case 1:
+ return true;
+ default:
+ throw new IndexOutOfBoundsException();
+ }
+ }
+
+
+ @Override
+ public PlayerDefinition setColumnValue(PlayerDefinition pd, Object value, int column) {
+ switch (column) {
+ case 0:
+ break;
+ case 1:
+ pd.setCommandLine(value.toString());
+ break;
+ default:
+ throw new IndexOutOfBoundsException();
+ }
+ return pd;
+ }
+}
diff --git a/cmpcj/src/de/schwarzrot/control/table/ServerDefinitionTableFormat.java b/cmpcj/src/de/schwarzrot/control/table/ServerDefinitionTableFormat.java
new file mode 100644
index 0000000..2e4c630
--- /dev/null
+++ b/cmpcj/src/de/schwarzrot/control/table/ServerDefinitionTableFormat.java
@@ -0,0 +1,119 @@
+/**
+ * ======================== legal notice ======================
+ *
+ * File: ServerDefinitionTableFormat.java
+ * Created: 13. June 2012, 04:57
+ * Author: <a href="mailto:geronimo013@gmx.de">Geronimo</a>
+ * Project: cmpc - a java frontend (client) part of compound media player
+ * uses external players to play the media
+ *
+ * CMP - compound media player
+ *
+ * is a client/server mediaplayer intended to play any media from any workstation
+ * without the need to export or mount shares. cmps is an easy to use backend
+ * with a (ready to use) HTML-interface. Additionally the backend supports
+ * authentication via HTTP-digest authorization.
+ * cmpc is a client with vdr-like osd-menues.
+ *
+ * Copyright (c) 2012 Reinhard Mantey, some rights reserved!
+ * published under Creative Commons by-sa
+ * For details see http://creativecommons.org/licenses/by-sa/3.0/
+ *
+ * The cmp project's homepage is at http://projects.vdr-developer.org/projects/cmp
+ *
+ * --------------------------------------------------------------
+ */
+package de.schwarzrot.control.table;
+
+
+import ca.odell.glazedlists.gui.WritableTableFormat;
+import de.schwarzrot.base.util.ApplicationServiceProvider;
+import de.schwarzrot.base.util.MessageBundle;
+import de.schwarzrot.media.domain.MediaServer;
+
+
+public class ServerDefinitionTableFormat implements WritableTableFormat<MediaServer> {
+ private static MessageBundle bundle;
+ protected static final String KEY_0 = ServerDefinitionTableFormat.class.getSimpleName() + ".col0";
+ protected static final String KEY_1 = ServerDefinitionTableFormat.class.getSimpleName() + ".col1";
+
+
+ @Override
+ public int getColumnCount() {
+ return 2;
+ }
+
+
+ @Override
+ public String getColumnName(int column) {
+ if (bundle == null)
+ bundle = ApplicationServiceProvider.getService(MessageBundle.class);
+
+ switch (column) {
+ case 0:
+ return bundle.getMessage(KEY_0);
+ case 1:
+ return bundle.getMessage(KEY_1);
+ default:
+ throw new IndexOutOfBoundsException();
+ }
+ }
+
+
+ @Override
+ public Object getColumnValue(MediaServer sd, int column) {
+ switch (column) {
+ case 0:
+ return sd.getHostName();
+ case 1:
+ return sd.getPort();
+ default:
+ throw new IndexOutOfBoundsException();
+ }
+ }
+
+
+ public int getColumnWidth(int column) {
+ switch (column) {
+ case 0:
+ return -1;
+ case 1:
+ return 80;
+ default:
+ throw new IndexOutOfBoundsException();
+ }
+ }
+
+
+ @Override
+ public boolean isEditable(MediaServer sd, int column) {
+ switch (column) {
+ case 0:
+ case 1:
+ return true;
+ default:
+ throw new IndexOutOfBoundsException();
+ }
+ }
+
+
+ @Override
+ public MediaServer setColumnValue(MediaServer sd, Object value, int column) {
+ switch (column) {
+ case 0:
+ sd.setHostName(value.toString());
+ break;
+
+ case 1:
+ try {
+ sd.setPort(Integer.decode(value.toString()));
+ } catch (Throwable t) {
+ }
+ break;
+
+ default:
+ throw new IndexOutOfBoundsException();
+ }
+ return sd;
+ }
+}