diff options
| author | geronimo <geronimo013@gmx.de> | 2012-08-15 07:55:07 +0200 |
|---|---|---|
| committer | geronimo <geronimo013@gmx.de> | 2012-08-15 07:55:07 +0200 |
| commit | af80bd2426282b7491d9ba0ebfb201abb42e3ca4 (patch) | |
| tree | 8aeac09a815f3133773cb927597738d4150030f1 /cmpcj/src/de/schwarzrot/control/table | |
| parent | 7eb41fd1431019f44227af6f5d707e7c98e0416e (diff) | |
| download | cmp-af80bd2426282b7491d9ba0ebfb201abb42e3ca4.tar.gz cmp-af80bd2426282b7491d9ba0ebfb201abb42e3ca4.tar.bz2 | |
next variant of java client
Diffstat (limited to 'cmpcj/src/de/schwarzrot/control/table')
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; + } +} |
