OSDN Git Service

予約ダイアログに裏番組情報のグラフィカル表示を追加
[tainavi/TinyBannavi.git] / TinyBannavi / src / tainavi / AbsPaperView.java
index 4eab6d3..543ad7e 100644 (file)
@@ -315,6 +315,39 @@ public abstract class AbsPaperView extends JPanel implements TickTimerListener,H
        }\r
        \r
        /**\r
+        * ツールバーから過去ログへのジャンプ\r
+        */\r
+       public boolean jumpToPassed(String passed) {\r
+               \r
+               // ページャーは効くよ\r
+               if ( env.isPagerEnabled() ) {\r
+                       setPagerEnabled(true);\r
+               }\r
+               \r
+               // タイマーは止める\r
+               stopTimer();\r
+               \r
+               GregorianCalendar c = CommonUtils.getCalendar(passed);\r
+               String adate = CommonUtils.getDate(c);\r
+               \r
+               // 指定日付に移動して放送局の位置を確認する\r
+               TVProgramIterator pli = redrawByDateWithCenter(null,adate);\r
+               if ( pli == null ) {\r
+                       // どちらにもない\r
+                       MWin.appendError(ERRID+"ジャンプ先の日付がみつかりません: "+adate);\r
+                       ringBeep();\r
+                       return false;\r
+               }\r
+               \r
+               // 新聞形式に移動\r
+               if ( ! isTabSelected(MWinTab.PAPER) ) {\r
+                       setSelectedTab(MWinTab.PAPER);\r
+               }\r
+               \r
+               return true;\r
+       }\r
+       \r
+       /**\r
         * リスト形式・本体予約一覧からの目的の番組へジャンプ\r
         */\r
        public boolean jumpToBangumi(String center, String startdt) {\r
@@ -329,10 +362,13 @@ public abstract class AbsPaperView extends JPanel implements TickTimerListener,H
 \r
                // 日付群\r
                GregorianCalendar c = CommonUtils.getCalendar(startdt);\r
+               int hour = c.get(Calendar.HOUR_OF_DAY);\r
+               int min  = c.get(Calendar.MINUTE);\r
+               \r
                String adate = CommonUtils.getDate(c);\r
-               String atime = CommonUtils.getTime(c);\r
                String adate529 = CommonUtils.getDate529(c,true);\r
                \r
+               \r
                // 指定日付に移動して放送局の位置を確認する\r
                TVProgramIterator pli = redrawByDateWithCenter(center,adate529);\r
                if ( pli == null ) {\r
@@ -346,7 +382,11 @@ public abstract class AbsPaperView extends JPanel implements TickTimerListener,H
                if ( ! isTabSelected(MWinTab.PAPER) ) {\r
                        setSelectedTab(MWinTab.PAPER);\r
                }\r
-                       \r
+               \r
+               /*\r
+                * マウスカーソル移動\r
+                */\r
+               \r
                // 横の列\r
                int crindex = pli.getIndex(center);\r
                if ( crindex == -1 ) {\r
@@ -365,24 +405,17 @@ public abstract class AbsPaperView extends JPanel implements TickTimerListener,H
                }\r
                \r
                // 縦の列\r
-               int h = 0;\r
-               int m = 0;\r
                int y = 0;\r
-               Matcher ma = Pattern.compile("^(\\d\\d):(\\d\\d)$").matcher(atime);\r
-               if (ma.find()) {\r
-                       h = Integer.valueOf(ma.group(1));\r
-                       m = Integer.valueOf(ma.group(2));\r
-               }\r
                if (adate529.equals(adate)) {\r
-                       if (h < TIMEBAR_START) {\r
-                               h = TIMEBAR_START;\r
-                               m = 0;\r
+                       if (hour < TIMEBAR_START) {\r
+                               hour = TIMEBAR_START;\r
+                               min = 0;\r
                        }\r
                }\r
                else {\r
-                       h += 24;\r
+                       hour += 24;\r
                }\r
-               y = Math.round((float)((h-TIMEBAR_START)*60+m)*bounds.getPaperHeightMultiplier()*paperHeightZoom);\r
+               y = Math.round((float)((hour-TIMEBAR_START)*60+min)*bounds.getPaperHeightMultiplier()*paperHeightZoom);\r
                \r
                // 新聞面を移動する\r
                {\r
@@ -1359,7 +1392,7 @@ public abstract class AbsPaperView extends JPanel implements TickTimerListener,H
                String passedCritDateTime = CommonUtils.getCritDateTime(env.getDisplayPassedReserve());\r
                \r
                // ツールバーで選択されている実レコーダ\r
-               String myself = ( env.getEffectComboToPaper() ) ? (getSelectedRecorderId()) : (null);\r
+               String myself = ( env.getEffectComboToPaper() ) ? (getSelectedMySelf()) : (null);\r
                \r
                // 予約枠の描画\r
                drawReserveBorders(date, Center, q, topDateTime, bottomDateTime, passedCritDateTime, myself);\r
@@ -1715,8 +1748,8 @@ public abstract class AbsPaperView extends JPanel implements TickTimerListener,H
                updateReserveBorder(null);\r
        }\r
        \r
-       private String getSelectedRecorderId() {\r
-               return ( src_recsel!=null ? src_recsel.getSelectedId() : null );\r
+       private String getSelectedMySelf() {\r
+               return ( src_recsel!=null ? src_recsel.getSelectedMySelf() : null );\r
        }\r
        \r
        private HDDRecorderList getSelectedRecorderList() {\r