Changeset 10440
- Timestamp:
- 04/25/08 17:57:17 (5 years ago)
- Location:
- lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter
- Files:
-
- 13 modified
-
TODO.java (modified) (1 diff)
-
action/AddTabAction.java (modified) (4 diffs)
-
action/CreateFavoriteAction.java (modified) (4 diffs)
-
action/FilterSettingAction.java (modified) (4 diffs)
-
action/GetNewFriendTimeLineAction.java (modified) (3 diffs)
-
manager/TableManager.java (modified) (3 diffs)
-
manager/TwitterManager.java (modified) (7 diffs)
-
views/LabelProcessor.java (modified) (4 diffs)
-
views/SabotterKeyListener.java (modified) (3 diffs)
-
views/SabotterView.java (modified) (13 diffs)
-
views/TimeLineContentProvider.java (modified) (2 diffs)
-
views/TimeLineViewLabelProvider.java (modified) (2 diffs)
-
views/UnreadFilter.java (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/TODO.java
r10355 r10440 25 25 // TODO 条件フィルタリングをおこなったタイムラインを、タブに表示する。 26 26 27 // FIXME 自分宛@のColor/Fontよりも、未読のスタイルが優先されている。 28 29 // FIXME こんな例外が飛んでる。 30 31 /* 32 java.lang.IllegalArgumentException: ImageRegistry key already in use: http://s3.amazonaws.com/twitter_production/profile_images/NNNNNNNN/XXXXXXXX.jpg 33 at org.eclipse.jface.resource.ImageRegistry.put(ImageRegistry.java:283) 34 at jp.xet.eclipse.sabotter.views.LabelProcessor.getImage(LabelProcessor.java:141) 35 at jp.xet.eclipse.sabotter.views.TimeLineViewLabelProvider.getImage(TimeLineViewLabelProvider.java:86) 36 at jp.xet.eclipse.sabotter.views.TimeLineViewLabelProvider.getColumnImage(TimeLineViewLabelProvider.java:74) 37 at org.eclipse.jface.viewers.TableColumnViewerLabelProvider.update(TableColumnViewerLabelProvider.java:71) 38 at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:135) 39 at org.eclipse.jface.viewers.AbstractTableViewer.doUpdateItem(AbstractTableViewer.java:386) 40 at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:466) 41 at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) 42 at org.eclipse.core.runtime.Platform.run(Platform.java:857) 43 at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:46) 44 at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:199) 45 at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2026) 46 at org.eclipse.jface.viewers.AbstractTableViewer.createItem(AbstractTableViewer.java:264) 47 at org.eclipse.jface.viewers.AbstractTableViewer.add(AbstractTableViewer.java:250) 48 at jp.xet.eclipse.sabotter.views.SabotterView$SabotterListener$1.run(SabotterView.java:184) 49 at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) 50 at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:129) 51 at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659) 52 at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296) 53 at org.eclipse.jface.window.Window.runEventLoop(Window.java:820) 54 at org.eclipse.jface.window.Window.open(Window.java:796) 55 at org.eclipse.ui.texteditor.GotoLineAction.run(GotoLineAction.java:202) 56 at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) 57 at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:185) 58 at org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:109) 59 at org.eclipse.core.commands.Command.executeWithChecks(Command.java:475) 60 at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:429) 61 at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:165) 62 at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470) 63 at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:821) 64 at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:879) 65 at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:568) 66 at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510) 67 at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:126) 68 at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) 69 at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1141) 70 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:937) 71 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:962) 72 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:947) 73 at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:975) 74 at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:971) 75 at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1285) 76 at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:3772) 77 at org.eclipse.swt.widgets.Control.windowProc(Control.java:3672) 78 at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:291) 79 at org.eclipse.swt.widgets.Display.windowProc(Display.java:4351) 80 at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) 81 at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2265) 82 at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3291) 83 at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389) 84 at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353) 85 at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219) 86 at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466) 87 at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289) 88 at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461) 89 at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) 90 at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106) 91 at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169) 92 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106) 93 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76) 94 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363) 95 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176) 96 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 97 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 98 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 99 at java.lang.reflect.Method.invoke(Unknown Source) 100 at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508) 101 at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447) 102 at org.eclipse.equinox.launcher.Main.run(Main.java:1173) 103 */ 27 104 } -
lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/action/AddTabAction.java
r10355 r10440 50 50 private ILabelProvider labelProvider; 51 51 52 private TwitterManager twitterManager;53 54 52 private CTabFolder tabFolder; 55 53 … … 64 62 * @param contentProvider 65 63 * @param labelProvider 66 * @param twitterManager67 64 * @param tabFolder 68 65 * @param listener … … 71 68 */ 72 69 public AddTabAction(IContentProvider contentProvider, 73 ILabelProvider labelProvider, TwitterManager twitterManager, 74 CTabFolder tabFolder, ISelectionChangedListener listener, 75 List<TableViewer> viewers) { 70 ILabelProvider labelProvider, CTabFolder tabFolder, 71 ISelectionChangedListener listener, List<TableViewer> viewers) { 76 72 super(); 77 73 this.contentProvider = contentProvider; 78 74 this.labelProvider = labelProvider; 79 this.twitterManager = twitterManager;80 75 this.tabFolder = tabFolder; 81 76 this.listener = listener; … … 122 117 viewer.setLabelProvider(labelProvider); 123 118 viewer.setSorter(new TimeLineSorter(viewer.getTable().getColumn(2))); 124 viewer.setInput( twitterManager);119 viewer.setInput(TwitterManager.getInstance()); 125 120 viewer.addSelectionChangedListener(listener); 126 121 viewer.getTable().addKeyListener( 127 new SabotterKeyListener(new TableManager(viewer, 128 twitterManager), twitterManager)); 122 new SabotterKeyListener(new TableManager(viewer))); 129 123 130 124 tabItem.setControl(viewer.getTable()); -
lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/action/CreateFavoriteAction.java
r10355 r10440 21 21 public static final String ACTION_ID = "createFavorite"; // $NON-NLS-1$ 22 22 23 /** APIマネージャ */24 private TwitterManager manager;25 26 23 /** 結果ハンドラ */ 27 24 private TwitterListener listener; … … 32 29 * 33 30 * @param viewers 34 * @param manager35 31 * @param tabFolder 36 32 * @param listener … … 38 34 */ 39 35 public CreateFavoriteAction(List<TableViewer> viewers, 40 CTabFolder tabFolder, TwitterManager manager, 41 TwitterListener listener) { 36 CTabFolder tabFolder, TwitterListener listener) { 42 37 super(viewers, tabFolder); 43 this.manager = manager;44 38 this.listener = listener; 45 39 } … … 59 53 if (statusObj instanceof Status) { 60 54 int targetStatusId = ((Status) statusObj).getId(); 61 manager.createFavorite(targetStatusId, listener); 55 TwitterManager.getInstance().createFavorite(targetStatusId, 56 listener); 62 57 } 63 58 } -
lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/action/FilterSettingAction.java
r10355 r10440 4 4 import java.util.List; 5 5 6 import jp.xet.eclipse.sabotter.manager.TwitterManager;7 6 import jp.xet.eclipse.sabotter.views.UnreadFilter; 8 7 … … 21 20 public static final String ACTION_ID = "filterSetting"; // $NON-NLS-1$ 22 21 23 private TwitterManager twitterManager;24 25 22 private List<ViewerFilter> filters = new ArrayList<ViewerFilter>(); 26 23 … … 33 30 * @param viewers 34 31 * @param tabFolder 35 * @param twitterManager36 32 * @category instance creation 37 33 */ 38 public FilterSettingAction(List<TableViewer> viewers, 39 CTabFolder tabFolder, TwitterManager twitterManager) { 34 public FilterSettingAction(List<TableViewer> viewers, CTabFolder tabFolder) { 40 35 super(viewers, tabFolder); 41 this.twitterManager = twitterManager;42 36 } 43 37 … … 50 44 public void run() { 51 45 if (flag) { 52 filters.add(new UnreadFilter( twitterManager));46 filters.add(new UnreadFilter()); 53 47 } else { 54 48 filters.clear(); -
lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/action/GetNewFriendTimeLineAction.java
r10355 r10440 20 20 public static final String ACTION_ID = "getNewFriendTimeLine"; // $NON-NLS-1$ 21 21 22 /** APIマネージャ */23 private TwitterManager manager;24 25 22 /** 取得したタイムラインの非同期ハンドラ */ 26 23 private TwitterListener listener; … … 30 27 * コンストラクタ。 31 28 * 32 * @param manager33 29 * @param listener 34 30 * @category instance creation 35 31 */ 36 public GetNewFriendTimeLineAction(TwitterManager manager, 37 TwitterListener listener) { 38 this.manager = manager; 32 public GetNewFriendTimeLineAction(TwitterListener listener) { 39 33 this.listener = listener; 40 34 } … … 49 43 SabotterPlugin.log(org.eclipse.core.runtime.Status.INFO, 0, 50 44 "Sabotter: update timeline on " + new Date()); // $NON-NLS-1$ 51 manager.getFriendsTimeline(listener);45 TwitterManager.getInstance().getFriendsTimeline(listener); 52 46 } 53 47 } -
lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/manager/TableManager.java
r10352 r10440 21 21 private TableViewer viewer; 22 22 23 private TwitterManager twitterManager;24 25 23 26 24 /** … … 28 26 * 29 27 * @param viewer 30 * @param twitterManager31 28 * @category instance creation 32 29 */ 33 public TableManager(TableViewer viewer , TwitterManager twitterManager) {30 public TableManager(TableViewer viewer) { 34 31 this.viewer = viewer; 35 this.twitterManager = twitterManager;36 32 } 37 33 … … 41 37 public void oldestUnread() { 42 38 ISelection sel = 43 new StructuredSelection(twitterManager.getOldestUnread()); 39 new StructuredSelection(TwitterManager.getInstance() 40 .getOldestUnread()); 44 41 viewer.setSelection(sel); 45 42 } -
lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/manager/TwitterManager.java
r10363 r10440 1 1 package jp.xet.eclipse.sabotter.manager; 2 2 3 import java.util.ArrayList;4 3 import java.util.Comparator; 5 import java.util.EventListener;6 4 import java.util.HashSet; 7 5 import java.util.Iterator; … … 12 10 13 11 import jp.xet.eclipse.sabotter.SabotterPlugin; 14 import jp.xet.eclipse.sabotter.event.UserEvent;15 import jp.xet.eclipse.sabotter.event.UserEventListener;16 12 import jp.xet.eclipse.sabotter.preferences.PreferenceKeys; 17 13 import jp.xet.eclipse.sabotter.preferences.SabotterPreference; … … 47 43 private static TwitterManager singleton; 48 44 49 /** オブザーバ */50 private List<UserEventListener> listeners =51 new ArrayList<UserEventListener>();52 53 45 /** プリファレンス */ 54 private SabotterPreference pref = SabotterPlugin.getPreference();46 private static SabotterPreference pref = SabotterPlugin.getPreference(); 55 47 56 48 … … 81 73 82 74 /** 83 * リスナーを追加します。84 *85 * @param listener 追加するリスナー86 */87 public void addPropertyChangeListener(UserEventListener listener) {88 listeners.add(listener);89 }90 91 /**92 * リスナーに変更を通知します。93 *94 * @param propName95 * @param status96 */97 public void fireUnreadChange(String propName, Status status) {98 for (UserEventListener listener : listeners) {99 listener.fire(new UserEvent(propName));100 }101 }102 103 /**104 * リスナーを削除します。105 *106 * @param listener 削除するリスナー107 */108 public void removePropertyChangeListener(EventListener listener) {109 listeners.remove(listener);110 }111 112 /**113 * 破棄時にコールする。114 */115 public void dispose() {116 singleton = null;117 }118 119 /**120 75 * Override method. 121 76 * … … 130 85 131 86 /** 132 * シングルトンインスタンスを取得する。87 * singletonインスタンスを取得する。 133 88 * 134 89 * @return インスタンス … … 212 167 public void setReaded(Status status) { 213 168 unread.remove(status); 214 fireUnreadChange("unread", status); // $NON-NLS-1$215 169 } 216 170 … … 233 187 public void setUnread(Status status) { 234 188 unread.add(status); 235 fireUnreadChange("unread", status); // $NON-NLS-1$236 189 } 237 190 -
lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/views/LabelProcessor.java
r10363 r10440 36 36 public class LabelProcessor { 37 37 38 private TwitterManager manager;39 40 38 /** APIから取得した日付のフォーマット */ 41 39 private DateFormat dfIn = … … 53 51 54 52 55 /**56 * コンストラクタ。57 *58 * @param manager59 * @category instance creation60 */61 public LabelProcessor(TwitterManager manager) {62 this.manager = manager;63 }64 65 53 /** 66 54 * 表示する名前を取得する。 … … 239 227 */ 240 228 public Color getBackgroundColor(Status status) { 229 TwitterManager manager = TwitterManager.getInstance(); 241 230 if (manager.isUnread(status)) { 242 231 return pref.getUnreadStatusBackgroundColor(); … … 257 246 */ 258 247 public Color getForegroundColor(Status status) { 248 TwitterManager manager = TwitterManager.getInstance(); 259 249 if (manager.isUnread(status)) { 260 250 return pref.getUnreadStatusForegroundColor(); -
lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/views/SabotterKeyListener.java
r10380 r10440 19 19 private TableManager tableManager; 20 20 21 private TwitterManager twitterManager;22 23 21 24 22 /** … … 26 24 * 27 25 * @param tableManager 28 * @param twitterManager29 26 * @category instance creation 30 27 */ 31 public SabotterKeyListener(TableManager tableManager, 32 TwitterManager twitterManager) { 28 public SabotterKeyListener(TableManager tableManager) { 33 29 this.tableManager = tableManager; 34 this.twitterManager = twitterManager;35 30 } 36 31 … … 56 51 && isPressed(e, SWT.SHIFT)) { 57 52 // FIXME 動いてない 58 twitterManager.setUnread(tableManager.getSelection()); 53 TwitterManager.getInstance() 54 .setUnread(tableManager.getSelection()); 59 55 System.out.println(e); 60 56 } else if (e.character == 'b' && isPressed(e, SWT.CTRL)) { 61 57 // FIXME 動いてない 62 twitterManager.setReaded(tableManager.getSelection()); 58 TwitterManager.getInstance() 59 .setReaded(tableManager.getSelection()); 63 60 } else if (e.keyCode == SWT.ARROW_UP) { 64 61 // nothing to do -
lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/views/SabotterView.java
r10380 r10440 27 27 import org.eclipse.jface.dialogs.MessageDialog; 28 28 import org.eclipse.jface.viewers.DoubleClickEvent; 29 import org.eclipse.jface.viewers.IContentProvider; 29 30 import org.eclipse.jface.viewers.IDoubleClickListener; 31 import org.eclipse.jface.viewers.ILabelProvider; 30 32 import org.eclipse.jface.viewers.ISelectionChangedListener; 31 33 import org.eclipse.jface.viewers.IStructuredSelection; … … 76 78 private Map<String, Action> actions = new HashMap<String, Action>(); 77 79 78 /** Twitterマネージャ */79 private TwitterManager twitterManager;80 81 80 /** ステータステキスト入力欄 */ 82 81 private Text txtStatusText; … … 89 88 /** タブ管理クラス */ 90 89 private CTabFolder tabFolder; 90 91 private IContentProvider contentProvider; 92 93 private ILabelProvider labelProvider; 91 94 92 95 … … 164 167 SabotterPlugin.log(org.eclipse.core.runtime.Status.INFO, 0, 165 168 "Sabotter: responce recieved"); // $NON-NLS-1$ 166 if (twitterManager == null) {167 SabotterPlugin.log(org.eclipse.core.runtime.Status.WARNING, 0,168 "Sabotter: twitterManager is null"); // $NON-NLS-1$169 return;170 }171 169 172 170 final List<Status> result = new ArrayList<Status>(); 171 TwitterManager twitterManager = TwitterManager.getInstance(); 173 172 for (Status status : statuses) { 174 173 if (twitterManager.isNewStatus(status)) { … … 206 205 */ 207 206 public SabotterView() { 208 twitterManager = TwitterManager.getInstance();209 twitterManager.addPropertyChangeListener(this);210 }211 212 /**213 * Override method.214 *215 * @see org.eclipse.ui.part.WorkbenchPart#dispose()216 */217 @Override218 public void dispose() {219 twitterManager.removePropertyChangeListener(this);220 twitterManager.dispose();221 twitterManager = null;222 super.dispose();223 207 } 224 208 … … 247 231 (IStructuredSelection) viewer.getSelection(); 248 232 for (Object obj : selection.toList()) { 249 twitterManager.setReaded((Status) obj);233 TwitterManager.getInstance().setReaded((Status) obj); 250 234 } 251 235 } … … 278 262 tabFolder.setLayoutData(gd); 279 263 264 contentProvider = new TimeLineContentProvider(this); 265 labelProvider = new TimeLineViewLabelProvider(); 266 280 267 // ---- ここから 281 268 … … 290 277 AddTabAction.initTable(viewer); 291 278 292 viewer.setContentProvider( new TimeLineContentProvider(this));293 viewer.setLabelProvider( new TimeLineViewLabelProvider(twitterManager));279 viewer.setContentProvider(contentProvider); 280 viewer.setLabelProvider(labelProvider); 294 281 viewer.setSorter(new TimeLineSorter(viewer.getTable().getColumn(2))); 295 viewer.setInput( twitterManager);282 viewer.setInput(TwitterManager.getInstance()); 296 283 viewer.addSelectionChangedListener(this); 297 284 viewer.getTable().addKeyListener( 298 new SabotterKeyListener(new TableManager(viewer, 299 twitterManager), twitterManager)); 285 new SabotterKeyListener(new TableManager(viewer))); 300 286 301 287 tabTimeline.setControl(viewer.getTable()); … … 376 362 private void makeActions() { 377 363 Action getFriendTimeLineAction = 378 new GetNewFriendTimeLineAction(twitterManager, 379 new SabotterListener()); 364 new GetNewFriendTimeLineAction(new SabotterListener()); 380 365 getFriendTimeLineAction 381 366 .setText(Messages.action_get_new_friend_time_line); … … 388 373 389 374 Action createFavoriteAction = 390 new CreateFavoriteAction(viewers, tabFolder, twitterManager,375 new CreateFavoriteAction(viewers, tabFolder, 391 376 new TwitterAdapter()); 392 377 createFavoriteAction.setText(Messages.action_create_favorite); … … 402 387 403 388 Action filterSettingAction = 404 new FilterSettingAction(viewers, tabFolder , twitterManager);389 new FilterSettingAction(viewers, tabFolder); 405 390 filterSettingAction.setText("filter setting"); // TODO to resource file 406 391 filterSettingAction.setToolTipText("setting time-line filters."); … … 410 395 411 396 Action addTabAction = 412 new AddTabAction(new TimeLineContentProvider(this), 413 new TimeLineViewLabelProvider(twitterManager), 414 twitterManager, tabFolder, this, viewers); 397 new AddTabAction(contentProvider, labelProvider, tabFolder, 398 this, viewers); 415 399 addTabAction.setText("add new tab"); // TODO to resource file 416 400 addTabAction.setToolTipText("add new tab"); … … 492 476 String statusText = txtStatusText.getText(); 493 477 try { 494 twitterManager.update(statusText);478 TwitterManager.getInstance().update(statusText); 495 479 txtStatusText.setText(""); 496 480 } catch (TwitterException e) { -
lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/views/TimeLineContentProvider.java
r10189 r10440 27 27 */ 28 28 public TimeLineContentProvider(final SabotterView view) { 29 final Display display = 30 SabotterPlugin.getDefault().getWorkbench().getDisplay(); 29 31 Runnable runnable = new Runnable() { 30 32 31 33 public void run() { 34 if (display.isDisposed() || disposed) { 35 return; 36 } 32 37 view.getFriendsTimeLine(); 33 34 Display display = 35 SabotterPlugin.getDefault().getWorkbench() 36 .getDisplay(); 37 if (display.isDisposed() == false && disposed == false) { 38 display.timerExec(UPDATE_INTERVAL * 1000, this); 39 } 38 display.timerExec(UPDATE_INTERVAL * 1000, this); 40 39 } 41 40 }; 42 Display display =43 SabotterPlugin.getDefault().getWorkbench().getDisplay();44 41 if (display.isDisposed() == false && disposed == false) { 45 42 display.timerExec(UPDATE_INTERVAL * 1000, runnable); … … 71 68 */ 72 69 public Object[] getElements(Object parent) { 73 TwitterManager manager = (TwitterManager) parent;74 return manager.getAllStatuses().toArray(new Object[0]);70 return TwitterManager.getInstance().getAllStatuses().toArray( 71 new Object[0]); 75 72 } 76 73 } -
lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/views/TimeLineViewLabelProvider.java
r10355 r10440 1 1 package jp.xet.eclipse.sabotter.views; 2 3 import jp.xet.eclipse.sabotter.manager.TwitterManager;4 2 5 3 import org.eclipse.jface.viewers.ITableColorProvider; … … 22 20 23 21 /** 表示文字列等の加工(色づけ等)クラス */ 24 private LabelProcessor processor ;22 private LabelProcessor processor = new LabelProcessor(); 25 23 26 24 27 /**28 * コンストラクタ。29 *30 * @param manager31 * @category instance creation32 */33 public TimeLineViewLabelProvider(TwitterManager manager) {34 processor = new LabelProcessor(manager);35 }36 37 25 /** 38 26 * Override method. -
lang/java/sabotter/trunk/src/jp/xet/eclipse/sabotter/views/UnreadFilter.java
r10355 r10440 15 15 public class UnreadFilter extends ViewerFilter { 16 16 17 private TwitterManager twitterManager;18 19 20 /**21 * コンストラクタ。22 *23 * @param twitterManager24 * @category instance creation25 */26 public UnreadFilter(TwitterManager twitterManager) {27 this.twitterManager = twitterManager;28 }29 30 17 /** 31 18 * Overriding method. … … 37 24 public boolean select(Viewer viewer, Object parentElement, Object element) { 38 25 Status status = (Status) element; 39 if ( twitterManager.isUnread(status)) {26 if (TwitterManager.getInstance().isUnread(status)) { 40 27 return true; 41 28 }
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)