]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - misc/tools/NexuizDemoRecorder/main/src/main/java/com/nexuiz/demorecorder/ui/swinggui/tablemodels/RecordJobsTableModel.java
fix lots of CRLFs
[xonotic/xonotic.git] / misc / tools / NexuizDemoRecorder / main / src / main / java / com / nexuiz / demorecorder / ui / swinggui / tablemodels / RecordJobsTableModel.java
index d789696a64603bdc25faf90751c4f56f96228569..839ef76131e2b825734ca5e0fd745c54994b9d69 100644 (file)
-package com.nexuiz.demorecorder.ui.swinggui.tablemodels;\r
-\r
-import java.io.File;\r
-import java.util.List;\r
-\r
-import javax.swing.JOptionPane;\r
-import javax.swing.table.AbstractTableModel;\r
-\r
-import org.jdesktop.swingx.JXTable;\r
-\r
-import com.nexuiz.demorecorder.application.DemoRecorderApplication;\r
-import com.nexuiz.demorecorder.application.DemoRecorderException;\r
-import com.nexuiz.demorecorder.application.DemoRecorderUtils;\r
-import com.nexuiz.demorecorder.application.jobs.RecordJob;\r
-import com.nexuiz.demorecorder.ui.swinggui.SwingGUI;\r
-\r
-/**\r
- * Columns:\r
- * - Job Name\r
- * - Engine path\r
- * - Engine parameters\r
- * - Demo file\r
- * - Relative demo path\r
- * - dpvideo path\r
- * - video destination\r
- * - execute before cap\r
- * - execute after cap\r
- * - start second\r
- * - end second\r
- * - status\r
- * @author Marius\r
- *\r
- */\r
-public class RecordJobsTableModel extends AbstractTableModel {\r
-       \r
-       private static final long serialVersionUID = 5024144640874313910L;\r
-       \r
-       public static final int JOB_NAME = 0;\r
-       public static final int ENGINE_PATH = 1;\r
-       public static final int ENGINE_PARAMETERS = 2;\r
-       public static final int DEMO_FILE_PATH = 3;\r
-       public static final int RELATIVE_DEMO_PATH = 4;\r
-       public static final int DPVIDEO_PATH = 5;\r
-       public static final int VIDEO_DESTINATION_PATH = 6;\r
-       public static final int EXECUTE_BEFORE_CAP = 7;\r
-       public static final int EXECUTE_AFTER_CAP = 8;\r
-       public static final int START_SECOND = 9;\r
-       public static final int END_SECOND = 10;\r
-       public static final int STATUS = 11;\r
-       \r
-       private static final int columns[] = {\r
-               JOB_NAME,\r
-               ENGINE_PATH,\r
-               ENGINE_PARAMETERS,\r
-               DEMO_FILE_PATH,\r
-               RELATIVE_DEMO_PATH,\r
-               DPVIDEO_PATH,\r
-               VIDEO_DESTINATION_PATH,\r
-               EXECUTE_BEFORE_CAP,\r
-               EXECUTE_AFTER_CAP,\r
-               START_SECOND,\r
-               END_SECOND,\r
-               STATUS\r
-       };\r
-       \r
-       private DemoRecorderApplication appLayer;\r
-       private List<RecordJob> jobList = null;\r
-       \r
-       public RecordJobsTableModel(DemoRecorderApplication appLayer) {\r
-               this.appLayer = appLayer;\r
-               this.jobList = this.appLayer.getRecordJobs();\r
-       }\r
-       \r
-       public void deleteRecordJob(int modelRowIndex, int viewRowIndex) {\r
-               try {\r
-                       RecordJob job = this.jobList.get(modelRowIndex);\r
-                       if (this.appLayer.deleteRecordJob(job)) {\r
-                               this.jobList.remove(job);\r
-                               fireTableRowsDeleted(viewRowIndex, viewRowIndex);\r
-                       }\r
-               } catch (IndexOutOfBoundsException e) {\r
-                       throw new DemoRecorderException("Couldn't find correspondig job for modelRowIndex " + modelRowIndex\r
-                                       + " and viewRowIndex " + viewRowIndex, e);\r
-               }\r
-       }\r
-       \r
-       public void loadNewJobQueue(SwingGUI gui, File path, JXTable jobsTable) {\r
-               int result = JOptionPane.showConfirmDialog(gui, "Do you want to overwrite the current job queue? When pressing 'no' the loaded jobs will be added to the current queue!", "Confirm overwrite", JOptionPane.YES_NO_OPTION);\r
-               boolean overwrite = false;\r
-               if (result == JOptionPane.YES_OPTION) {\r
-                       overwrite = true;\r
-               }\r
-               int count = this.appLayer.loadJobQueue(path, overwrite);\r
-               this.jobList = this.appLayer.getRecordJobs();\r
-               fireTableDataChanged();\r
-               if (count > 0) {\r
-                       jobsTable.setRowSelectionInterval(jobsTable.getRowCount() - count, jobsTable.getRowCount() - 1);\r
-               }\r
-       }\r
-       \r
-       public RecordJob getRecordJob(int modelRowIndex) {\r
-               return this.jobList.get(modelRowIndex);\r
-       }\r
-\r
-       public int getColumnCount() {\r
-               return columns.length;\r
-       }\r
-\r
-       public int getRowCount() {\r
-               return this.jobList.size();\r
-       }\r
-\r
-       public Object getValueAt(int rowIndex, int columnIndex) {\r
-               RecordJob job = this.jobList.get(rowIndex);\r
-               if (job == null) {\r
-                       return null;\r
-               }\r
-               \r
-               if (columnIndex < 0 || columnIndex >= columns.length) {\r
-                       return null;\r
-               }\r
-               \r
-               String cellData = "UNDEF";\r
-               switch (columnIndex) {\r
-               case JOB_NAME:\r
-                       cellData = job.getJobName(); break;\r
-               case ENGINE_PATH:\r
-                       cellData = job.getEnginePath().getAbsolutePath(); break;\r
-               case ENGINE_PARAMETERS:\r
-                       cellData = job.getEngineParameters(); break;\r
-               case DEMO_FILE_PATH:\r
-                       cellData = DemoRecorderUtils.getJustFileNameOfPath(job.getDemoFile()); break;\r
-               case RELATIVE_DEMO_PATH:\r
-                       cellData = job.getRelativeDemoPath(); break;\r
-               case DPVIDEO_PATH:\r
-                       cellData = job.getDpVideoPath().getAbsolutePath(); break;\r
-               case VIDEO_DESTINATION_PATH:\r
-                       cellData = job.getVideoDestination().getAbsolutePath(); break;\r
-               case EXECUTE_BEFORE_CAP:\r
-                       cellData = job.getExecuteBeforeCap(); break;\r
-               case EXECUTE_AFTER_CAP:\r
-                       cellData = job.getExecuteAfterCap(); break;\r
-               case START_SECOND:\r
-                       cellData = String.valueOf(job.getStartSecond()); break;\r
-               case END_SECOND:\r
-                       cellData = String.valueOf(job.getEndSecond()); break;\r
-               case STATUS:\r
-                       if (job.getState() == RecordJob.State.DONE) {\r
-                               cellData = "done";\r
-                       } else if (job.getState() == RecordJob.State.ERROR) {\r
-                               cellData = "error";\r
-                       } else if (job.getState() == RecordJob.State.ERROR_PLUGIN) {\r
-                               cellData = "plug-in error";\r
-                       } else if (job.getState() == RecordJob.State.PROCESSING) {\r
-                               cellData = "processing";\r
-                       } else if (job.getState() == RecordJob.State.WAITING) {\r
-                               cellData = "waiting";\r
-                       }\r
-               }\r
-               \r
-               return cellData;\r
-       }\r
-\r
-       @Override\r
-       public String getColumnName(int column) {\r
-               if (column < 0 || column >= columns.length) {\r
-                       return "";\r
-               }\r
-               \r
-               String columnName = "UNDEFINED";\r
-               switch (column) {\r
-               case JOB_NAME:\r
-                       columnName = "Name"; break;\r
-               case ENGINE_PATH:\r
-                       columnName = "Engine path"; break;\r
-               case ENGINE_PARAMETERS:\r
-                       columnName = "Engine parameters"; break;\r
-               case DEMO_FILE_PATH:\r
-                       columnName = "Demo name"; break;\r
-               case RELATIVE_DEMO_PATH:\r
-                       columnName = "Relative demo path"; break;\r
-               case DPVIDEO_PATH:\r
-                       columnName = "DPVideo path"; break;\r
-               case VIDEO_DESTINATION_PATH:\r
-                       columnName = "Video destination"; break;\r
-               case EXECUTE_BEFORE_CAP:\r
-                       columnName = "Exec before"; break;\r
-               case EXECUTE_AFTER_CAP:\r
-                       columnName = "Exec after"; break;\r
-               case START_SECOND:\r
-                       columnName = "Start"; break;\r
-               case END_SECOND:\r
-                       columnName = "End"; break;\r
-               case STATUS:\r
-                       columnName = "Status"; break;\r
-               }\r
-               \r
-               return columnName;\r
-       }\r
-       \r
-       public List<RecordJob> getRecordJobs() {\r
-               return this.jobList;\r
-       }\r
-}\r
+package com.nexuiz.demorecorder.ui.swinggui.tablemodels;
+
+import java.io.File;
+import java.util.List;
+
+import javax.swing.JOptionPane;
+import javax.swing.table.AbstractTableModel;
+
+import org.jdesktop.swingx.JXTable;
+
+import com.nexuiz.demorecorder.application.DemoRecorderApplication;
+import com.nexuiz.demorecorder.application.DemoRecorderException;
+import com.nexuiz.demorecorder.application.DemoRecorderUtils;
+import com.nexuiz.demorecorder.application.jobs.RecordJob;
+import com.nexuiz.demorecorder.ui.swinggui.SwingGUI;
+
+/**
+ * Columns:
+ * - Job Name
+ * - Engine path
+ * - Engine parameters
+ * - Demo file
+ * - Relative demo path
+ * - dpvideo path
+ * - video destination
+ * - execute before cap
+ * - execute after cap
+ * - start second
+ * - end second
+ * - status
+ * @author Marius
+ *
+ */
+public class RecordJobsTableModel extends AbstractTableModel {
+       
+       private static final long serialVersionUID = 5024144640874313910L;
+       
+       public static final int JOB_NAME = 0;
+       public static final int ENGINE_PATH = 1;
+       public static final int ENGINE_PARAMETERS = 2;
+       public static final int DEMO_FILE_PATH = 3;
+       public static final int RELATIVE_DEMO_PATH = 4;
+       public static final int DPVIDEO_PATH = 5;
+       public static final int VIDEO_DESTINATION_PATH = 6;
+       public static final int EXECUTE_BEFORE_CAP = 7;
+       public static final int EXECUTE_AFTER_CAP = 8;
+       public static final int START_SECOND = 9;
+       public static final int END_SECOND = 10;
+       public static final int STATUS = 11;
+       
+       private static final int columns[] = {
+               JOB_NAME,
+               ENGINE_PATH,
+               ENGINE_PARAMETERS,
+               DEMO_FILE_PATH,
+               RELATIVE_DEMO_PATH,
+               DPVIDEO_PATH,
+               VIDEO_DESTINATION_PATH,
+               EXECUTE_BEFORE_CAP,
+               EXECUTE_AFTER_CAP,
+               START_SECOND,
+               END_SECOND,
+               STATUS
+       };
+       
+       private DemoRecorderApplication appLayer;
+       private List<RecordJob> jobList = null;
+       
+       public RecordJobsTableModel(DemoRecorderApplication appLayer) {
+               this.appLayer = appLayer;
+               this.jobList = this.appLayer.getRecordJobs();
+       }
+       
+       public void deleteRecordJob(int modelRowIndex, int viewRowIndex) {
+               try {
+                       RecordJob job = this.jobList.get(modelRowIndex);
+                       if (this.appLayer.deleteRecordJob(job)) {
+                               this.jobList.remove(job);
+                               fireTableRowsDeleted(viewRowIndex, viewRowIndex);
+                       }
+               } catch (IndexOutOfBoundsException e) {
+                       throw new DemoRecorderException("Couldn't find correspondig job for modelRowIndex " + modelRowIndex
+                                       + " and viewRowIndex " + viewRowIndex, e);
+               }
+       }
+       
+       public void loadNewJobQueue(SwingGUI gui, File path, JXTable jobsTable) {
+               int result = JOptionPane.showConfirmDialog(gui, "Do you want to overwrite the current job queue? When pressing 'no' the loaded jobs will be added to the current queue!", "Confirm overwrite", JOptionPane.YES_NO_OPTION);
+               boolean overwrite = false;
+               if (result == JOptionPane.YES_OPTION) {
+                       overwrite = true;
+               }
+               int count = this.appLayer.loadJobQueue(path, overwrite);
+               this.jobList = this.appLayer.getRecordJobs();
+               fireTableDataChanged();
+               if (count > 0) {
+                       jobsTable.setRowSelectionInterval(jobsTable.getRowCount() - count, jobsTable.getRowCount() - 1);
+               }
+       }
+       
+       public RecordJob getRecordJob(int modelRowIndex) {
+               return this.jobList.get(modelRowIndex);
+       }
+
+       public int getColumnCount() {
+               return columns.length;
+       }
+
+       public int getRowCount() {
+               return this.jobList.size();
+       }
+
+       public Object getValueAt(int rowIndex, int columnIndex) {
+               RecordJob job = this.jobList.get(rowIndex);
+               if (job == null) {
+                       return null;
+               }
+               
+               if (columnIndex < 0 || columnIndex >= columns.length) {
+                       return null;
+               }
+               
+               String cellData = "UNDEF";
+               switch (columnIndex) {
+               case JOB_NAME:
+                       cellData = job.getJobName(); break;
+               case ENGINE_PATH:
+                       cellData = job.getEnginePath().getAbsolutePath(); break;
+               case ENGINE_PARAMETERS:
+                       cellData = job.getEngineParameters(); break;
+               case DEMO_FILE_PATH:
+                       cellData = DemoRecorderUtils.getJustFileNameOfPath(job.getDemoFile()); break;
+               case RELATIVE_DEMO_PATH:
+                       cellData = job.getRelativeDemoPath(); break;
+               case DPVIDEO_PATH:
+                       cellData = job.getDpVideoPath().getAbsolutePath(); break;
+               case VIDEO_DESTINATION_PATH:
+                       cellData = job.getVideoDestination().getAbsolutePath(); break;
+               case EXECUTE_BEFORE_CAP:
+                       cellData = job.getExecuteBeforeCap(); break;
+               case EXECUTE_AFTER_CAP:
+                       cellData = job.getExecuteAfterCap(); break;
+               case START_SECOND:
+                       cellData = String.valueOf(job.getStartSecond()); break;
+               case END_SECOND:
+                       cellData = String.valueOf(job.getEndSecond()); break;
+               case STATUS:
+                       if (job.getState() == RecordJob.State.DONE) {
+                               cellData = "done";
+                       } else if (job.getState() == RecordJob.State.ERROR) {
+                               cellData = "error";
+                       } else if (job.getState() == RecordJob.State.ERROR_PLUGIN) {
+                               cellData = "plug-in error";
+                       } else if (job.getState() == RecordJob.State.PROCESSING) {
+                               cellData = "processing";
+                       } else if (job.getState() == RecordJob.State.WAITING) {
+                               cellData = "waiting";
+                       }
+               }
+               
+               return cellData;
+       }
+
+       @Override
+       public String getColumnName(int column) {
+               if (column < 0 || column >= columns.length) {
+                       return "";
+               }
+               
+               String columnName = "UNDEFINED";
+               switch (column) {
+               case JOB_NAME:
+                       columnName = "Name"; break;
+               case ENGINE_PATH:
+                       columnName = "Engine path"; break;
+               case ENGINE_PARAMETERS:
+                       columnName = "Engine parameters"; break;
+               case DEMO_FILE_PATH:
+                       columnName = "Demo name"; break;
+               case RELATIVE_DEMO_PATH:
+                       columnName = "Relative demo path"; break;
+               case DPVIDEO_PATH:
+                       columnName = "DPVideo path"; break;
+               case VIDEO_DESTINATION_PATH:
+                       columnName = "Video destination"; break;
+               case EXECUTE_BEFORE_CAP:
+                       columnName = "Exec before"; break;
+               case EXECUTE_AFTER_CAP:
+                       columnName = "Exec after"; break;
+               case START_SECOND:
+                       columnName = "Start"; break;
+               case END_SECOND:
+                       columnName = "End"; break;
+               case STATUS:
+                       columnName = "Status"; break;
+               }
+               
+               return columnName;
+       }
+       
+       public List<RecordJob> getRecordJobs() {
+               return this.jobList;
+       }
+}