瀏覽代碼

Remove WritableFrameContainer.

Change-Id: I52a09d5f5ad69c2bebafa58582a173f706515fa6
Depends-On: Iab58f1d2b9275ee3fc60d79e433e158bae784911
Reviewed-on: http://gerrit.dmdirc.com/3425
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
changes/25/3425/3
Chris Smith 10 年之前
父節點
當前提交
308c21b365
共有 24 個文件被更改,包括 66 次插入93 次删除
  1. 3
    5
      src/com/dmdirc/addons/activewindow/ActiveCommand.java
  2. 3
    3
      src/com/dmdirc/addons/activewindow/ActiveWindowMessageSink.java
  3. 2
    4
      src/com/dmdirc/addons/conditional_execute/ConditionalExecuteCommand.java
  4. 1
    2
      src/com/dmdirc/addons/dcc/DCCCommandParser.java
  5. 4
    4
      src/com/dmdirc/addons/dcc/DCCFrameContainer.java
  6. 2
    6
      src/com/dmdirc/addons/debug/commands/Time.java
  7. 5
    6
      src/com/dmdirc/addons/nowplaying/NowPlayingCommand.java
  8. 6
    6
      src/com/dmdirc/addons/redirect/FakeWriteableFrameContainer.java
  9. 1
    2
      src/com/dmdirc/addons/redirect/RedirectCommand.java
  10. 3
    3
      src/com/dmdirc/addons/tabcompletion_bash/BashStyle.java
  11. 2
    2
      src/com/dmdirc/addons/tabcompletion_bash/BashStylePlugin.java
  12. 4
    4
      src/com/dmdirc/addons/tabcompletion_mirc/MircStyle.java
  13. 2
    2
      src/com/dmdirc/addons/tabcompletion_mirc/MircStylePlugin.java
  14. 1
    2
      src/com/dmdirc/addons/time/TimedCommand.java
  15. 1
    3
      src/com/dmdirc/addons/ui_swing/SwingWindowFactory.java
  16. 1
    2
      src/com/dmdirc/addons/ui_swing/components/frames/ComponentInputFrame.java
  17. 2
    2
      src/com/dmdirc/addons/ui_swing/components/frames/CustomInputFrame.java
  18. 3
    16
      src/com/dmdirc/addons/ui_swing/components/frames/InputTextFrame.java
  19. 2
    2
      src/com/dmdirc/addons/ui_swing/components/inputfields/SwingInputHandler.java
  20. 2
    2
      src/com/dmdirc/addons/ui_web/uicomponents/WebInputHandler.java
  21. 3
    10
      src/com/dmdirc/addons/ui_web/uicomponents/WebInputWindow.java
  22. 1
    0
      src/com/dmdirc/addons/ui_web/uicomponents/WebWindow.java
  23. 3
    2
      test/com/dmdirc/addons/conditional_execute/ConditionalExecuteCommandTest.java
  24. 9
    3
      test/com/dmdirc/addons/redirect/RedirectCommandTest.java

+ 3
- 5
src/com/dmdirc/addons/activewindow/ActiveCommand.java 查看文件

@@ -23,7 +23,6 @@
23 23
 package com.dmdirc.addons.activewindow;
24 24
 
25 25
 import com.dmdirc.FrameContainer;
26
-import com.dmdirc.WritableFrameContainer;
27 26
 import com.dmdirc.addons.ui_swing.components.frames.TextFrame;
28 27
 import com.dmdirc.addons.ui_swing.interfaces.ActiveFrameManager;
29 28
 import com.dmdirc.commandparser.BaseCommandInfo;
@@ -69,10 +68,9 @@ public class ActiveCommand extends Command implements IntelligentCommand {
69 68
     public void execute(final FrameContainer origin,
70 69
             final CommandArguments args, final CommandContext context) {
71 70
         final TextFrame frame = activeFrameManager.getActiveFrame();
72
-        if (frame.getContainer() instanceof WritableFrameContainer) {
73
-            ((WritableFrameContainer) frame.getContainer()).getCommandParser()
74
-                    .parseCommand(frame.getContainer(),
75
-                            args.getArgumentsAsString());
71
+        if (frame.getContainer().isWritable()) {
72
+            frame.getContainer().getCommandParser().parseCommand(frame.getContainer(),
73
+                    args.getArgumentsAsString());
76 74
         }
77 75
     }
78 76
 

+ 3
- 3
src/com/dmdirc/addons/activewindow/ActiveWindowMessageSink.java 查看文件

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.addons.activewindow;
24 24
 
25
-import com.dmdirc.WritableFrameContainer;
25
+import com.dmdirc.FrameContainer;
26 26
 import com.dmdirc.addons.ui_swing.components.frames.TextFrame;
27 27
 import com.dmdirc.addons.ui_swing.interfaces.ActiveFrameManager;
28 28
 import com.dmdirc.messages.MessageSink;
@@ -60,10 +60,10 @@ public class ActiveWindowMessageSink implements MessageSink {
60 60
 
61 61
     @Override
62 62
     public void handleMessage(final MessageSinkManager despatcher,
63
-            final WritableFrameContainer source, final String[] patternMatches,
63
+            final FrameContainer source, final String[] patternMatches,
64 64
             final Date date, final String messageType, final Object... args) {
65 65
         final TextFrame frame = activeFrameManager.getActiveFrame();
66
-        if (frame.getContainer() instanceof WritableFrameContainer) {
66
+        if (frame.getContainer().isWritable()) {
67 67
             frame.getContainer().addLine(messageType, date, args);
68 68
         }
69 69
     }

+ 2
- 4
src/com/dmdirc/addons/conditional_execute/ConditionalExecuteCommand.java 查看文件

@@ -23,7 +23,6 @@
23 23
 package com.dmdirc.addons.conditional_execute;
24 24
 
25 25
 import com.dmdirc.FrameContainer;
26
-import com.dmdirc.WritableFrameContainer;
27 26
 import com.dmdirc.commandparser.BaseCommandInfo;
28 27
 import com.dmdirc.commandparser.CommandArguments;
29 28
 import com.dmdirc.commandparser.CommandType;
@@ -237,9 +236,8 @@ public class ConditionalExecuteCommand extends Command {
237 236
                         "You can't run commands and manipulate the namespace at the same time, ignored.");
238 237
             } else {
239 238
                 // Command to run!
240
-                if (namespace.canRun(inverse) && origin instanceof WritableFrameContainer) {
241
-                    ((WritableFrameContainer) origin).getCommandParser().parseCommand(origin, args.
242
-                            getArgumentsAsString(i++));
239
+                if (namespace.canRun(inverse) && origin.isWritable()) {
240
+                    origin.getCommandParser().parseCommand(origin, args.getArgumentsAsString(i++));
243 241
                 }
244 242
                 return;
245 243
             }

+ 1
- 2
src/com/dmdirc/addons/dcc/DCCCommandParser.java 查看文件

@@ -23,7 +23,6 @@
23 23
 package com.dmdirc.addons.dcc;
24 24
 
25 25
 import com.dmdirc.FrameContainer;
26
-import com.dmdirc.WritableFrameContainer;
27 26
 import com.dmdirc.commandparser.parsers.GlobalCommandParser;
28 27
 import com.dmdirc.interfaces.CommandController;
29 28
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
@@ -57,7 +56,7 @@ public class DCCCommandParser extends GlobalCommandParser {
57 56
      */
58 57
     @Override
59 58
     protected void handleNonCommand(final FrameContainer origin, final String line) {
60
-        ((WritableFrameContainer) origin).sendLine(line);
59
+        origin.sendLine(line);
61 60
     }
62 61
 
63 62
     @Override

+ 4
- 4
src/com/dmdirc/addons/dcc/DCCFrameContainer.java 查看文件

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.addons.dcc;
24 24
 
25
-import com.dmdirc.WritableFrameContainer;
25
+import com.dmdirc.FrameContainer;
26 26
 import com.dmdirc.commandparser.parsers.CommandParser;
27 27
 import com.dmdirc.interfaces.Connection;
28 28
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
@@ -35,7 +35,7 @@ import java.util.Collection;
35 35
 /**
36 36
  * This class links DCC objects to a window.
37 37
  */
38
-public abstract class DCCFrameContainer extends WritableFrameContainer {
38
+public abstract class DCCFrameContainer extends FrameContainer {
39 39
 
40 40
     /** The Window we're using. */
41 41
     private boolean windowClosing = false;
@@ -61,9 +61,9 @@ public abstract class DCCFrameContainer extends WritableFrameContainer {
61 61
             final TabCompleterFactory tabCompleterFactory,
62 62
             final URLBuilder urlBuilder,
63 63
             final Collection<String> components) {
64
-        super(icon, title, title, configManager, parser,
64
+        super(icon, title, title, configManager, urlBuilder, parser,
65 65
                 tabCompleterFactory.getTabCompleter(configManager),
66
-                messageSinkManager, urlBuilder,
66
+                messageSinkManager,
67 67
                 components);
68 68
     }
69 69
 

+ 2
- 6
src/com/dmdirc/addons/debug/commands/Time.java 查看文件

@@ -23,7 +23,6 @@
23 23
 package com.dmdirc.addons.debug.commands;
24 24
 
25 25
 import com.dmdirc.FrameContainer;
26
-import com.dmdirc.WritableFrameContainer;
27 26
 import com.dmdirc.addons.debug.Debug;
28 27
 import com.dmdirc.addons.debug.DebugCommand;
29 28
 import com.dmdirc.commandparser.CommandArguments;
@@ -70,7 +69,6 @@ public class Time extends DebugCommand implements IntelligentCommand {
70 69
      * Facilitates timing of a command.
71 70
      *
72 71
      * @param origin The origin of the command
73
-     * @param window The window to be passed on to the timed command, if any
74 72
      * @param args   The arguments that were passed to the command
75 73
      */
76 74
     private void doTime(final FrameContainer origin,
@@ -80,11 +78,9 @@ public class Time extends DebugCommand implements IntelligentCommand {
80 78
             return;
81 79
         }
82 80
 
83
-        if (origin instanceof WritableFrameContainer) {
84
-            final WritableFrameContainer container = (WritableFrameContainer) origin;
81
+        if (origin.isWritable()) {
85 82
             final long start = System.currentTimeMillis();
86
-            container.getCommandParser().parseCommand(origin,
87
-                    args.getArgumentsAsString(0));
83
+            origin.getCommandParser().parseCommand(origin, args.getArgumentsAsString(0));
88 84
             final long end = System.currentTimeMillis();
89 85
             sendLine(origin, args.isSilent(), FORMAT_OUTPUT,
90 86
                     "Command executed in " + (end - start) + " milliseconds.");

+ 5
- 6
src/com/dmdirc/addons/nowplaying/NowPlayingCommand.java 查看文件

@@ -24,7 +24,6 @@ package com.dmdirc.addons.nowplaying;
24 24
 
25 25
 import com.dmdirc.ClientModule.GlobalConfig;
26 26
 import com.dmdirc.FrameContainer;
27
-import com.dmdirc.WritableFrameContainer;
28 27
 import com.dmdirc.commandparser.BaseCommandInfo;
29 28
 import com.dmdirc.commandparser.CommandArguments;
30 29
 import com.dmdirc.commandparser.CommandType;
@@ -83,12 +82,12 @@ public class NowPlayingCommand extends Command implements IntelligentCommand {
83 82
     @Override
84 83
     public void execute(final FrameContainer origin,
85 84
             final CommandArguments args, final CommandContext context) {
86
-        final WritableFrameContainer target = ((ChatCommandContext) context).getChat();
87
-        if (args.getArguments().length > 0 && args.getArguments()[0]
88
-                .equalsIgnoreCase("--sources")) {
85
+        final FrameContainer target = ((ChatCommandContext) context).getChat();
86
+        if (args.getArguments().length > 0
87
+                && args.getArguments()[0].equalsIgnoreCase("--sources")) {
89 88
             doSourceList(origin, args.isSilent(), args.getArgumentsAsString(1));
90
-        } else if (args.getArguments().length > 0 && args.getArguments()[0]
91
-                .equalsIgnoreCase("--source")) {
89
+        } else if (args.getArguments().length > 0
90
+                && args.getArguments()[0].equalsIgnoreCase("--source")) {
92 91
             if (args.getArguments().length > 1) {
93 92
                 final String sourceName = args.getArguments()[1];
94 93
                 final MediaSource source = manager.getSource(sourceName);

+ 6
- 6
src/com/dmdirc/addons/redirect/FakeWriteableFrameContainer.java 查看文件

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.addons.redirect;
24 24
 
25
-import com.dmdirc.WritableFrameContainer;
25
+import com.dmdirc.FrameContainer;
26 26
 import com.dmdirc.interfaces.Connection;
27 27
 import com.dmdirc.messages.MessageSinkManager;
28 28
 import com.dmdirc.ui.messages.Formatter;
@@ -34,10 +34,10 @@ import java.util.Date;
34 34
 /**
35 35
  * Implements a fake input window, which sends echoed text to the specified chat window instead.
36 36
  */
37
-public class FakeWriteableFrameContainer extends WritableFrameContainer {
37
+public class FakeWriteableFrameContainer extends FrameContainer {
38 38
 
39 39
     /** The target for this window. */
40
-    private final WritableFrameContainer target;
40
+    private final FrameContainer target;
41 41
 
42 42
     /**
43 43
      * Creates a new instance of FakeInputWindow.
@@ -47,13 +47,13 @@ public class FakeWriteableFrameContainer extends WritableFrameContainer {
47 47
      * @param urlBuilder         The URL builder to use when finding icons.
48 48
      */
49 49
     public FakeWriteableFrameContainer(
50
-            final WritableFrameContainer target,
50
+            final FrameContainer target,
51 51
             final MessageSinkManager messageSinkManager,
52 52
             final URLBuilder urlBuilder) {
53 53
         super(target.getIcon(), target.getName(), target.getTitle(),
54
-                target.getConfigManager(), target.getCommandParser(),
54
+                target.getConfigManager(), urlBuilder, target.getCommandParser(),
55 55
                 target.getTabCompleter(), messageSinkManager,
56
-                urlBuilder, Collections.<String>emptyList());
56
+                Collections.<String>emptyList());
57 57
         this.target = target;
58 58
     }
59 59
 

+ 1
- 2
src/com/dmdirc/addons/redirect/RedirectCommand.java 查看文件

@@ -23,7 +23,6 @@
23 23
 package com.dmdirc.addons.redirect;
24 24
 
25 25
 import com.dmdirc.FrameContainer;
26
-import com.dmdirc.WritableFrameContainer;
27 26
 import com.dmdirc.commandparser.BaseCommandInfo;
28 27
 import com.dmdirc.commandparser.CommandArguments;
29 28
 import com.dmdirc.commandparser.CommandType;
@@ -75,7 +74,7 @@ public class RedirectCommand extends Command implements IntelligentCommand {
75 74
     @Override
76 75
     public void execute(final FrameContainer origin,
77 76
             final CommandArguments args, final CommandContext context) {
78
-        final WritableFrameContainer target = ((ChatCommandContext) context).getChat();
77
+        final FrameContainer target = ((ChatCommandContext) context).getChat();
79 78
         target.getCommandParser().parseCommand(new FakeWriteableFrameContainer(
80 79
                 target, messageSinkManager, urlBuilder), args.getArgumentsAsString());
81 80
     }

+ 3
- 3
src/com/dmdirc/addons/tabcompletion_bash/BashStyle.java 查看文件

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.addons.tabcompletion_bash;
24 24
 
25
-import com.dmdirc.WritableFrameContainer;
25
+import com.dmdirc.FrameContainer;
26 26
 import com.dmdirc.ui.input.AdditionalTabTargets;
27 27
 import com.dmdirc.ui.input.TabCompleter;
28 28
 import com.dmdirc.ui.input.TabCompleterResult;
@@ -42,7 +42,7 @@ public class BashStyle implements TabCompletionStyle {
42 42
     /** The tab completer that we use. */
43 43
     protected final TabCompleter tabCompleter;
44 44
     /** The input window that we use. */
45
-    protected final WritableFrameContainer window;
45
+    protected final FrameContainer window;
46 46
 
47 47
     /**
48 48
      * Creates a new Bash-style tab completer.
@@ -50,7 +50,7 @@ public class BashStyle implements TabCompletionStyle {
50 50
      * @param completer The tab completer this style is for
51 51
      * @param window    The window this tab style is for
52 52
      */
53
-    public BashStyle(final TabCompleter completer, final WritableFrameContainer window) {
53
+    public BashStyle(final TabCompleter completer, final FrameContainer window) {
54 54
         this.tabCompleter = completer;
55 55
         this.window = window;
56 56
     }

+ 2
- 2
src/com/dmdirc/addons/tabcompletion_bash/BashStylePlugin.java 查看文件

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.addons.tabcompletion_bash;
24 24
 
25
-import com.dmdirc.WritableFrameContainer;
25
+import com.dmdirc.FrameContainer;
26 26
 import com.dmdirc.plugins.Exported;
27 27
 import com.dmdirc.plugins.implementations.BasePlugin;
28 28
 import com.dmdirc.ui.input.TabCompleter;
@@ -43,7 +43,7 @@ public class BashStylePlugin extends BasePlugin {
43 43
      */
44 44
     @Exported
45 45
     public TabCompletionStyle getCompletionStyle(final TabCompleter completer,
46
-            final WritableFrameContainer window) {
46
+            final FrameContainer window) {
47 47
         return new BashStyle(completer, window);
48 48
     }
49 49
 

+ 4
- 4
src/com/dmdirc/addons/tabcompletion_mirc/MircStyle.java 查看文件

@@ -23,7 +23,7 @@
23 23
 package com.dmdirc.addons.tabcompletion_mirc;
24 24
 
25 25
 import com.dmdirc.Channel;
26
-import com.dmdirc.WritableFrameContainer;
26
+import com.dmdirc.FrameContainer;
27 27
 import com.dmdirc.ui.input.AdditionalTabTargets;
28 28
 import com.dmdirc.ui.input.TabCompleter;
29 29
 import com.dmdirc.ui.input.TabCompleterResult;
@@ -42,7 +42,7 @@ public class MircStyle implements TabCompletionStyle {
42 42
     /** The tab completer that we use. */
43 43
     protected final TabCompleter tabCompleter;
44 44
     /** The input window that we use. */
45
-    protected final WritableFrameContainer window;
45
+    protected final FrameContainer window;
46 46
 
47 47
     /**
48 48
      * Creates a new mIRC-style tab completer.
@@ -50,7 +50,7 @@ public class MircStyle implements TabCompletionStyle {
50 50
      * @param completer The tab completer this style is for
51 51
      * @param window    The window this tab style is for
52 52
      */
53
-    public MircStyle(final TabCompleter completer, final WritableFrameContainer window) {
53
+    public MircStyle(final TabCompleter completer, final FrameContainer window) {
54 54
         this.tabCompleter = completer;
55 55
         this.window = window;
56 56
     }
@@ -61,7 +61,7 @@ public class MircStyle implements TabCompletionStyle {
61 61
             final AdditionalTabTargets additional) {
62 62
 
63 63
         final String word = original.substring(start, end);
64
-        String target = "";
64
+        final String target;
65 65
         if (word.equals(lastWord)) {
66 66
             final TabCompleterResult res = tabCompleter.complete(tabString, additional);
67 67
             Collections.sort(res.getResults(), String.CASE_INSENSITIVE_ORDER);

+ 2
- 2
src/com/dmdirc/addons/tabcompletion_mirc/MircStylePlugin.java 查看文件

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.addons.tabcompletion_mirc;
24 24
 
25
-import com.dmdirc.WritableFrameContainer;
25
+import com.dmdirc.FrameContainer;
26 26
 import com.dmdirc.plugins.Exported;
27 27
 import com.dmdirc.plugins.implementations.BasePlugin;
28 28
 import com.dmdirc.ui.input.TabCompleter;
@@ -43,7 +43,7 @@ public class MircStylePlugin extends BasePlugin {
43 43
      */
44 44
     @Exported
45 45
     public TabCompletionStyle getCompletionStyle(final TabCompleter completer,
46
-            final WritableFrameContainer window) {
46
+            final FrameContainer window) {
47 47
         return new MircStyle(completer, window);
48 48
     }
49 49
 

+ 1
- 2
src/com/dmdirc/addons/time/TimedCommand.java 查看文件

@@ -23,7 +23,6 @@
23 23
 package com.dmdirc.addons.time;
24 24
 
25 25
 import com.dmdirc.FrameContainer;
26
-import com.dmdirc.WritableFrameContainer;
27 26
 import com.dmdirc.commandparser.parsers.CommandParser;
28 27
 import com.dmdirc.commandparser.parsers.GlobalCommandParser;
29 28
 import com.dmdirc.interfaces.CommandController;
@@ -104,7 +103,7 @@ public class TimedCommand extends TimerTask {
104 103
         if (origin == null) {
105 104
             parser = new GlobalCommandParser(origin.getConfigManager(), commandController);
106 105
         } else {
107
-            parser = ((WritableFrameContainer) origin).getCommandParser();
106
+            parser = origin.getCommandParser();
108 107
         }
109 108
 
110 109
         parser.parseCommand(origin, command);

+ 1
- 3
src/com/dmdirc/addons/ui_swing/SwingWindowFactory.java 查看文件

@@ -25,7 +25,6 @@ package com.dmdirc.addons.ui_swing;
25 25
 import com.dmdirc.Channel;
26 26
 import com.dmdirc.FrameContainer;
27 27
 import com.dmdirc.Server;
28
-import com.dmdirc.WritableFrameContainer;
29 28
 import com.dmdirc.addons.ui_swing.components.frames.ChannelFrameFactory;
30 29
 import com.dmdirc.addons.ui_swing.components.frames.CustomFrameFactory;
31 30
 import com.dmdirc.addons.ui_swing.components.frames.CustomInputFrameFactory;
@@ -104,8 +103,7 @@ public class SwingWindowFactory implements FrameListener {
104 103
                 new WindowProvider() {
105 104
                     @Override
106 105
                     public TextFrame getWindow(final FrameContainer container) {
107
-                        return customInputFrameFactory.getCustomInputFrame(
108
-                                (WritableFrameContainer) container);
106
+                        return customInputFrameFactory.getCustomInputFrame(container);
109 107
                     }
110 108
                 });
111 109
         registerImplementation(

+ 1
- 2
src/com/dmdirc/addons/ui_swing/components/frames/ComponentInputFrame.java 查看文件

@@ -23,7 +23,6 @@
23 23
 package com.dmdirc.addons.ui_swing.components.frames;
24 24
 
25 25
 import com.dmdirc.FrameContainer;
26
-import com.dmdirc.WritableFrameContainer;
27 26
 import com.dmdirc.addons.ui_swing.SwingController;
28 27
 import com.dmdirc.addons.ui_swing.components.inputfields.SwingInputField;
29 28
 import com.dmdirc.commandparser.PopupType;
@@ -61,7 +60,7 @@ public class ComponentInputFrame extends InputTextFrame {
61 60
             final TextFrameDependencies deps,
62 61
             final Provider<SwingInputField> inputFieldProvider,
63 62
             final URLBuilder urlBuilder,
64
-            final WritableFrameContainer owner) {
63
+            final FrameContainer owner) {
65 64
         super(deps, inputFieldProvider, owner);
66 65
         this.controller = deps.controller;
67 66
         this.urlBuilder = urlBuilder;

+ 2
- 2
src/com/dmdirc/addons/ui_swing/components/frames/CustomInputFrame.java 查看文件

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.addons.ui_swing.components.frames;
24 24
 
25
-import com.dmdirc.WritableFrameContainer;
25
+import com.dmdirc.FrameContainer;
26 26
 import com.dmdirc.addons.ui_swing.components.inputfields.SwingInputField;
27 27
 import com.dmdirc.commandparser.PopupType;
28 28
 import com.dmdirc.util.annotations.factory.Factory;
@@ -52,7 +52,7 @@ public class CustomInputFrame extends InputTextFrame {
52 52
     public CustomInputFrame(
53 53
             final TextFrameDependencies deps,
54 54
             final Provider<SwingInputField> inputFieldProvider,
55
-            @Unbound final WritableFrameContainer owner) {
55
+            @Unbound final FrameContainer owner) {
56 56
         super(deps, inputFieldProvider, owner);
57 57
 
58 58
         initComponents();

+ 3
- 16
src/com/dmdirc/addons/ui_swing/components/frames/InputTextFrame.java 查看文件

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.addons.ui_swing.components.frames;
24 24
 
25
-import com.dmdirc.WritableFrameContainer;
25
+import com.dmdirc.FrameContainer;
26 26
 import com.dmdirc.addons.ui_swing.MainFrame;
27 27
 import com.dmdirc.addons.ui_swing.UIUtilities;
28 28
 import com.dmdirc.addons.ui_swing.actions.CopyAction;
@@ -112,7 +112,7 @@ public abstract class InputTextFrame extends TextFrame implements InputWindow,
112 112
     public InputTextFrame(
113 113
             final TextFrameDependencies deps,
114 114
             final Provider<SwingInputField> inputFieldProvider,
115
-            final WritableFrameContainer owner) {
115
+            final FrameContainer owner) {
116 116
         super(owner, owner.getCommandParser(), deps);
117 117
 
118 118
         this.config = owner.getConfigManager();
@@ -168,8 +168,7 @@ public abstract class InputTextFrame extends TextFrame implements InputWindow,
168 168
         inputHandler = new SwingInputHandler(pluginManager, inputField, commandController,
169 169
                 getContainer().getCommandParser(), getContainer(), eventBus);
170 170
         inputHandler.addValidationListener(inputField);
171
-        inputHandler.setTabCompleter(((WritableFrameContainer) frameParent).
172
-                getTabCompleter());
171
+        inputHandler.setTabCompleter(frameParent.getTabCompleter());
173 172
 
174 173
         getInputField().addMouseListener(this);
175 174
 
@@ -215,18 +214,6 @@ public abstract class InputTextFrame extends TextFrame implements InputWindow,
215 214
                 "ctrl V"), "paste");
216 215
     }
217 216
 
218
-    /**
219
-     * Returns the container associated with this frame.
220
-     *
221
-     * @return This frame's container.
222
-     */
223
-    @Override
224
-    @SuppressWarnings("unchecked")
225
-    public WritableFrameContainer getContainer() {
226
-        return (WritableFrameContainer) super.
227
-                getContainer();
228
-    }
229
-
230 217
     /**
231 218
      * Returns the input handler associated with this frame.
232 219
      *

+ 2
- 2
src/com/dmdirc/addons/ui_swing/components/inputfields/SwingInputHandler.java 查看文件

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.addons.ui_swing.components.inputfields;
24 24
 
25
-import com.dmdirc.WritableFrameContainer;
25
+import com.dmdirc.FrameContainer;
26 26
 import com.dmdirc.addons.ui_swing.Apple;
27 27
 import com.dmdirc.addons.ui_swing.UIUtilities;
28 28
 import com.dmdirc.addons.ui_swing.components.LoggingSwingWorker;
@@ -66,7 +66,7 @@ public class SwingInputHandler extends InputHandler implements KeyListener {
66 66
             final InputField target,
67 67
             final CommandController commandController,
68 68
             final CommandParser commandParser,
69
-            final WritableFrameContainer parentWindow,
69
+            final FrameContainer parentWindow,
70 70
             final EventBus eventBus) {
71 71
         super(serviceManager, target, commandController, commandParser, parentWindow, eventBus);
72 72
     }

+ 2
- 2
src/com/dmdirc/addons/ui_web/uicomponents/WebInputHandler.java 查看文件

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.addons.ui_web.uicomponents;
24 24
 
25
-import com.dmdirc.WritableFrameContainer;
25
+import com.dmdirc.FrameContainer;
26 26
 import com.dmdirc.commandparser.parsers.CommandParser;
27 27
 import com.dmdirc.interfaces.CommandController;
28 28
 import com.dmdirc.interfaces.ui.InputField;
@@ -42,7 +42,7 @@ public class WebInputHandler extends InputHandler {
42 42
             final InputField target,
43 43
             final CommandController commandController,
44 44
             final CommandParser commandParser,
45
-            final WritableFrameContainer parentWindow,
45
+            final FrameContainer parentWindow,
46 46
             final EventBus eventBus) {
47 47
         super(serviceManager, target, commandController, commandParser, parentWindow, eventBus);
48 48
     }

+ 3
- 10
src/com/dmdirc/addons/ui_web/uicomponents/WebInputWindow.java 查看文件

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.addons.ui_web.uicomponents;
24 24
 
25
-import com.dmdirc.WritableFrameContainer;
25
+import com.dmdirc.FrameContainer;
26 26
 import com.dmdirc.addons.ui_web.Client;
27 27
 import com.dmdirc.addons.ui_web.WebInterfaceUI;
28 28
 import com.dmdirc.commandparser.parsers.CommandParser;
@@ -37,26 +37,19 @@ import java.util.Map;
37 37
  */
38 38
 public class WebInputWindow extends WebWindow implements InputWindow {
39 39
 
40
-    private final WritableFrameContainer container;
41 40
     private final CommandParser commandparser;
42 41
     private final WebInputHandler inputHandler;
43 42
     private final Map<Client, WebInputHandler> inputHandlers = new HashMap<>();
44 43
     private final WebInterfaceUI controller;
45 44
 
46 45
     public WebInputWindow(final WebInterfaceUI controller,
47
-            final WritableFrameContainer parent, final String id) {
46
+            final FrameContainer parent, final String id) {
48 47
         super(controller, parent, id);
49
-        this.container = parent;
50 48
         this.commandparser = parent.getCommandParser();
51 49
         this.controller = controller;
52 50
         this.inputHandler = new WebInputHandler(controller.getPluginManager(),
53 51
                 new WebInputField(), controller.getCommandController(),
54
-                commandparser, getContainer(), controller.getEventBus());
55
-    }
56
-
57
-    @Override
58
-    public WritableFrameContainer getContainer() {
59
-        return container;
52
+                commandparser, parent, controller.getEventBus());
60 53
     }
61 54
 
62 55
     @Override

+ 1
- 0
src/com/dmdirc/addons/ui_web/uicomponents/WebWindow.java 查看文件

@@ -83,6 +83,7 @@ public class WebWindow implements Window, IRCDocumentListener,
83 83
         return id;
84 84
     }
85 85
 
86
+    @Override
86 87
     public FrameContainer getContainer() {
87 88
         return container;
88 89
     }

+ 3
- 2
test/com/dmdirc/addons/conditional_execute/ConditionalExecuteCommandTest.java 查看文件

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.addons.conditional_execute;
24 24
 
25
-import com.dmdirc.WritableFrameContainer;
25
+import com.dmdirc.FrameContainer;
26 26
 import com.dmdirc.commandparser.CommandArguments;
27 27
 import com.dmdirc.commandparser.commands.context.CommandContext;
28 28
 import com.dmdirc.commandparser.parsers.CommandParser;
@@ -47,7 +47,7 @@ public class ConditionalExecuteCommandTest {
47 47
 
48 48
     @Mock private CommandController commandController;
49 49
     @Mock private CommandParser commandParser;
50
-    @Mock private WritableFrameContainer container;
50
+    @Mock private FrameContainer container;
51 51
     @Mock private CommandContext context;
52 52
     private ConditionalExecuteCommand command;
53 53
 
@@ -56,6 +56,7 @@ public class ConditionalExecuteCommandTest {
56 56
         when(commandController.getCommandChar()).thenReturn('/');
57 57
         when(commandController.getSilenceChar()).thenReturn('/');
58 58
         when(container.getCommandParser()).thenReturn(commandParser);
59
+        when(container.isWritable()).thenReturn(true);
59 60
 
60 61
         command = new ConditionalExecuteCommand(commandController);
61 62
     }

+ 9
- 3
test/com/dmdirc/addons/redirect/RedirectCommandTest.java 查看文件

@@ -24,7 +24,6 @@ package com.dmdirc.addons.redirect;
24 24
 
25 25
 import com.dmdirc.FrameContainer;
26 26
 import com.dmdirc.MessageTarget;
27
-import com.dmdirc.WritableFrameContainer;
28 27
 import com.dmdirc.commandparser.CommandArguments;
29 28
 import com.dmdirc.commandparser.commands.context.ChatCommandContext;
30 29
 import com.dmdirc.commandparser.commands.global.Echo;
@@ -34,6 +33,7 @@ import com.dmdirc.interfaces.config.AggregateConfigProvider;
34 33
 import com.dmdirc.interfaces.ui.InputWindow;
35 34
 import com.dmdirc.messages.MessageSinkManager;
36 35
 import com.dmdirc.ui.WindowManager;
36
+import com.dmdirc.ui.input.TabCompleter;
37 37
 import com.dmdirc.util.URLBuilder;
38 38
 
39 39
 import org.junit.Before;
@@ -44,7 +44,11 @@ import org.mockito.invocation.InvocationOnMock;
44 44
 import org.mockito.runners.MockitoJUnitRunner;
45 45
 import org.mockito.stubbing.Answer;
46 46
 
47
-import static org.mockito.Mockito.*;
47
+import static org.mockito.Matchers.any;
48
+import static org.mockito.Matchers.eq;
49
+import static org.mockito.Mockito.doAnswer;
50
+import static org.mockito.Mockito.verify;
51
+import static org.mockito.Mockito.when;
48 52
 
49 53
 @RunWith(MockitoJUnitRunner.class)
50 54
 public class RedirectCommandTest {
@@ -52,9 +56,10 @@ public class RedirectCommandTest {
52 56
     @Mock private MessageTarget target;
53 57
     @Mock private InputWindow inputWindow;
54 58
     @Mock private CommandController commandController;
55
-    @Mock private WritableFrameContainer frameContainer;
59
+    @Mock private FrameContainer frameContainer;
56 60
     @Mock private AggregateConfigProvider configProvider;
57 61
     @Mock private CommandParser commandParser;
62
+    @Mock private TabCompleter tabCompleter;
58 63
     @Mock private MessageSinkManager messageSinkManager;
59 64
     @Mock private WindowManager windowManager;
60 65
     @Mock private URLBuilder urlBuilder;
@@ -66,6 +71,7 @@ public class RedirectCommandTest {
66 71
         when(inputWindow.getContainer()).thenReturn(frameContainer);
67 72
         when(target.getConfigManager()).thenReturn(configProvider);
68 73
         when(target.getCommandParser()).thenReturn(commandParser);
74
+        when(target.getTabCompleter()).thenReturn(tabCompleter);
69 75
         when(configProvider.hasOptionString("formatter", "commandOutput")).thenReturn(true);
70 76
         when(configProvider.getOption("formatter", "commandOutput")).thenReturn("%1$s");
71 77
         doAnswer(new Answer<Void>() {

Loading…
取消
儲存