ソースを参照

Give the BackBuffer an EventFormatter.

Urgh.
pull/204/head
Chris Smith 9年前
コミット
db4e5c2c77

+ 4
- 4
src/com/dmdirc/Channel.java ファイルの表示

@@ -34,15 +34,15 @@ import com.dmdirc.interfaces.GroupChat;
34 34
 import com.dmdirc.interfaces.NicklistListener;
35 35
 import com.dmdirc.interfaces.TopicChangeListener;
36 36
 import com.dmdirc.interfaces.config.ConfigProviderMigrator;
37
-import com.dmdirc.ui.messages.sink.MessageSinkManager;
38 37
 import com.dmdirc.parser.interfaces.ChannelClientInfo;
39 38
 import com.dmdirc.parser.interfaces.ChannelInfo;
40 39
 import com.dmdirc.parser.interfaces.ClientInfo;
40
+import com.dmdirc.ui.core.BackBufferFactory;
41 41
 import com.dmdirc.ui.core.components.WindowComponent;
42 42
 import com.dmdirc.ui.input.TabCompleterFactory;
43 43
 import com.dmdirc.ui.input.TabCompletionType;
44
-import com.dmdirc.ui.messages.ColourManagerFactory;
45 44
 import com.dmdirc.ui.messages.Styliser;
45
+import com.dmdirc.ui.messages.sink.MessageSinkManager;
46 46
 import com.dmdirc.util.EventUtils;
47 47
 import com.dmdirc.util.URLBuilder;
48 48
 import com.dmdirc.util.collections.ListenerList;
@@ -113,11 +113,11 @@ public class Channel extends MessageTarget implements GroupChat {
113 113
             final MessageSinkManager messageSinkManager,
114 114
             final URLBuilder urlBuilder,
115 115
             final DMDircMBassador eventBus,
116
-            final ColourManagerFactory colourManagerFactory) {
116
+            final BackBufferFactory backBufferFactory) {
117 117
         super(newServer, "channel-inactive", newChannelInfo.getName(),
118 118
                 Styliser.stipControlCodes(newChannelInfo.getName()),
119 119
                 configMigrator.getConfigProvider(),
120
-                colourManagerFactory,
120
+                backBufferFactory,
121 121
                 new ChannelCommandParser(newServer, commandController, eventBus),
122 122
                 tabCompleterFactory.getTabCompleter(newServer.getTabCompleter(),
123 123
                         configMigrator.getConfigProvider(), CommandType.TYPE_CHANNEL,

+ 6
- 6
src/com/dmdirc/ChannelFactory.java ファイルの表示

@@ -24,10 +24,10 @@ package com.dmdirc;
24 24
 
25 25
 import com.dmdirc.interfaces.CommandController;
26 26
 import com.dmdirc.interfaces.config.ConfigProviderMigrator;
27
-import com.dmdirc.ui.messages.sink.MessageSinkManager;
28 27
 import com.dmdirc.parser.interfaces.ChannelInfo;
28
+import com.dmdirc.ui.core.BackBufferFactory;
29 29
 import com.dmdirc.ui.input.TabCompleterFactory;
30
-import com.dmdirc.ui.messages.ColourManagerFactory;
30
+import com.dmdirc.ui.messages.sink.MessageSinkManager;
31 31
 import com.dmdirc.util.URLBuilder;
32 32
 
33 33
 import javax.inject.Inject;
@@ -44,25 +44,25 @@ public class ChannelFactory {
44 44
     private final MessageSinkManager messageSinkManager;
45 45
     private final URLBuilder urlBuilder;
46 46
     private final DMDircMBassador eventBus;
47
-    private final ColourManagerFactory colourManagerFactory;
47
+    private final BackBufferFactory backBufferFactory;
48 48
 
49 49
     @Inject
50 50
     public ChannelFactory(final TabCompleterFactory tabCompleterFactory,
51 51
             final CommandController commandController, final MessageSinkManager messageSinkManager,
52 52
             final URLBuilder urlBuilder, final DMDircMBassador eventBus,
53
-            final ColourManagerFactory colourManagerFactory) {
53
+            final BackBufferFactory backBufferFactory) {
54 54
         this.tabCompleterFactory = tabCompleterFactory;
55 55
         this.commandController = commandController;
56 56
         this.messageSinkManager = messageSinkManager;
57 57
         this.urlBuilder = urlBuilder;
58 58
         this.eventBus = eventBus;
59
-        this.colourManagerFactory = colourManagerFactory;
59
+        this.backBufferFactory = backBufferFactory;
60 60
     }
61 61
 
62 62
     public Channel getChannel(final Server server,
63 63
             final ChannelInfo channelInfo,
64 64
             final ConfigProviderMigrator configMigrator) {
65 65
         return new Channel(server, channelInfo, configMigrator, tabCompleterFactory,
66
-                commandController, messageSinkManager, urlBuilder, eventBus, colourManagerFactory);
66
+                commandController, messageSinkManager, urlBuilder, eventBus, backBufferFactory);
67 67
     }
68 68
 }

+ 5
- 16
src/com/dmdirc/CustomWindow.java ファイルの表示

@@ -24,8 +24,8 @@ package com.dmdirc;
24 24
 
25 25
 import com.dmdirc.interfaces.Connection;
26 26
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
27
+import com.dmdirc.ui.core.BackBufferFactory;
27 28
 import com.dmdirc.ui.core.components.WindowComponent;
28
-import com.dmdirc.ui.messages.ColourManagerFactory;
29 29
 import com.dmdirc.util.URLBuilder;
30 30
 
31 31
 import java.util.Collections;
@@ -38,31 +38,20 @@ public class CustomWindow extends FrameContainer {
38 38
 
39 39
     /**
40 40
      * Creates a new custom window as a child of the specified window.
41
-     *
42
-     * @param name       The name of this custom window
43
-     * @param title      The title of this custom window
44
-     * @param parent     The parent of this custom window
45
-     * @param urlBuilder The URL builder to use when finding icons.
46 41
      */
47 42
     public CustomWindow(
48 43
             final String name,
49 44
             final String title,
50 45
             final FrameContainer parent,
51 46
             final URLBuilder urlBuilder,
52
-            final ColourManagerFactory colourManagerFactory) {
53
-        super(parent, "custom", name, title, parent.getConfigManager(), colourManagerFactory,
47
+            final BackBufferFactory backBufferFactory) {
48
+        super(parent, "custom", name, title, parent.getConfigManager(), backBufferFactory,
54 49
                 urlBuilder, parent.getEventBus(),
55 50
                 Collections.singletonList(WindowComponent.TEXTAREA.getIdentifier()));
56 51
     }
57 52
 
58 53
     /**
59 54
      * Creates a new custom window as a top-level window.
60
-     *
61
-     * @param name           The name of this custom window
62
-     * @param title          The parent of this custom window
63
-     * @param configProvider The config provider to read settings from.
64
-     * @param urlBuilder     The URL builder to use when finding icons.
65
-     * @param eventBus       The bus to dispatch events on.
66 55
      */
67 56
     public CustomWindow(
68 57
             final String name,
@@ -70,8 +59,8 @@ public class CustomWindow extends FrameContainer {
70 59
             final AggregateConfigProvider configProvider,
71 60
             final URLBuilder urlBuilder,
72 61
             final DMDircMBassador eventBus,
73
-            final ColourManagerFactory colourManagerFactory) {
74
-        super(null, "custom", name, title, configProvider, colourManagerFactory, urlBuilder,
62
+            final BackBufferFactory backBufferFactory) {
63
+        super(null, "custom", name, title, configProvider, backBufferFactory, urlBuilder,
75 64
                 eventBus, Collections.singletonList(WindowComponent.TEXTAREA.getIdentifier()));
76 65
     }
77 66
 

+ 10
- 35
src/com/dmdirc/FrameContainer.java ファイルの表示

@@ -35,15 +35,15 @@ import com.dmdirc.events.NotificationSetEvent;
35 35
 import com.dmdirc.interfaces.Connection;
36 36
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
37 37
 import com.dmdirc.interfaces.config.ConfigChangeListener;
38
-import com.dmdirc.ui.core.BackBuffer;
39
-import com.dmdirc.ui.messages.sink.MessageSinkManager;
40 38
 import com.dmdirc.parser.common.CompositionState;
41 39
 import com.dmdirc.ui.IconManager;
40
+import com.dmdirc.ui.core.BackBuffer;
41
+import com.dmdirc.ui.core.BackBufferFactory;
42 42
 import com.dmdirc.ui.input.TabCompleter;
43
-import com.dmdirc.ui.messages.ColourManagerFactory;
44 43
 import com.dmdirc.ui.messages.Formatter;
45 44
 import com.dmdirc.ui.messages.IRCDocument;
46 45
 import com.dmdirc.ui.messages.Styliser;
46
+import com.dmdirc.ui.messages.sink.MessageSinkManager;
47 47
 import com.dmdirc.util.ChildEventBusManager;
48 48
 import com.dmdirc.util.URLBuilder;
49 49
 import com.dmdirc.util.collections.ListenerList;
@@ -98,8 +98,8 @@ public abstract class FrameContainer {
98 98
     private final IconManager iconManager;
99 99
     /** Whether or not this container is writable. */
100 100
     private final boolean writable;
101
-    /** The colour manager factory. */
102
-    private final ColourManagerFactory colourManagerFactory;
101
+    /** The back buffer factory. */
102
+    private final BackBufferFactory backBufferFactory;
103 103
     /** The back buffer for this container. */
104 104
     private BackBuffer backBuffer;
105 105
     /** Lock for access to {@link #backBuffer}. */
@@ -126,17 +126,6 @@ public abstract class FrameContainer {
126 126
 
127 127
     /**
128 128
      * Instantiate new frame container.
129
-     *
130
-     * @param parent     The parent of this frame container, if any.
131
-     * @param icon       The icon to use for this container
132
-     * @param name       The name of this container
133
-     * @param title      The title of this container
134
-     * @param config     The config manager for this container
135
-     * @param urlBuilder The URL builder to use when finding icons.
136
-     * @param eventBus   The bus to dispatch events on.
137
-     * @param components The UI components that this frame requires
138
-     *
139
-     * @since 0.6.4
140 129
      */
141 130
     protected FrameContainer(
142 131
             @Nullable final FrameContainer parent,
@@ -144,7 +133,7 @@ public abstract class FrameContainer {
144 133
             final String name,
145 134
             final String title,
146 135
             final AggregateConfigProvider config,
147
-            final ColourManagerFactory colourManagerFactory,
136
+            final BackBufferFactory backBufferFactory,
148 137
             final URLBuilder urlBuilder,
149 138
             final DMDircMBassador eventBus,
150 139
             final Collection<String> components) {
@@ -158,7 +147,7 @@ public abstract class FrameContainer {
158 147
         this.commandParser = Optional.empty();
159 148
         this.tabCompleter = Optional.empty();
160 149
         this.messageSinkManager = Optional.empty();
161
-        this.colourManagerFactory = colourManagerFactory;
150
+        this.backBufferFactory = backBufferFactory;
162 151
 
163 152
         eventBusManager = new ChildEventBusManager(eventBus);
164 153
         eventBusManager.connect();
@@ -169,20 +158,6 @@ public abstract class FrameContainer {
169 158
 
170 159
     /**
171 160
      * Instantiate new frame container that accepts user input.
172
-     *
173
-     * @param parent             The parent of this frame container, if any.
174
-     * @param icon               The icon to use for this container
175
-     * @param name               The name of this container
176
-     * @param title              The title of this container
177
-     * @param config             The config manager for this container
178
-     * @param urlBuilder         The URL builder to use when finding icons.
179
-     * @param commandParser      The command parser to use for input.
180
-     * @param tabCompleter       The tab completer to use.
181
-     * @param messageSinkManager The manager to use to dispatch notifications.
182
-     * @param eventBus           The bus to dispatch events on.
183
-     * @param components         The UI components that this frame requires
184
-     *
185
-     * @since 0.6.4
186 161
      */
187 162
     protected FrameContainer(
188 163
             @Nullable final FrameContainer parent,
@@ -190,7 +165,7 @@ public abstract class FrameContainer {
190 165
             final String name,
191 166
             final String title,
192 167
             final AggregateConfigProvider config,
193
-            final ColourManagerFactory colourManagerFactory,
168
+            final BackBufferFactory backBufferFactory,
194 169
             final URLBuilder urlBuilder,
195 170
             final CommandParser commandParser,
196 171
             final TabCompleter tabCompleter,
@@ -207,7 +182,7 @@ public abstract class FrameContainer {
207 182
         this.commandParser = Optional.of(commandParser);
208 183
         this.tabCompleter = Optional.of(tabCompleter);
209 184
         this.messageSinkManager = Optional.of(messageSinkManager);
210
-        this.colourManagerFactory = colourManagerFactory;
185
+        this.backBufferFactory = backBufferFactory;
211 186
         commandParser.setOwner(this);
212 187
 
213 188
         eventBusManager = new ChildEventBusManager(eventBus);
@@ -426,7 +401,7 @@ public abstract class FrameContainer {
426 401
     public BackBuffer getBackBuffer() {
427 402
         synchronized (backBufferLock) {
428 403
             if (backBuffer == null) {
429
-                backBuffer = new BackBuffer(this, colourManagerFactory);
404
+                backBuffer = backBufferFactory.getBackBuffer(this);
430 405
                 backBuffer.startAddingEvents();
431 406
             }
432 407
         }

+ 4
- 11
src/com/dmdirc/GlobalWindow.java ファイルの表示

@@ -28,11 +28,11 @@ import com.dmdirc.commandparser.parsers.GlobalCommandParser;
28 28
 import com.dmdirc.interfaces.Connection;
29 29
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
30 30
 import com.dmdirc.interfaces.config.ConfigChangeListener;
31
-import com.dmdirc.ui.messages.sink.MessageSinkManager;
32 31
 import com.dmdirc.ui.WindowManager;
32
+import com.dmdirc.ui.core.BackBufferFactory;
33 33
 import com.dmdirc.ui.core.components.WindowComponent;
34 34
 import com.dmdirc.ui.input.TabCompleterFactory;
35
-import com.dmdirc.ui.messages.ColourManagerFactory;
35
+import com.dmdirc.ui.messages.sink.MessageSinkManager;
36 36
 import com.dmdirc.util.URLBuilder;
37 37
 
38 38
 import java.util.Arrays;
@@ -50,20 +50,13 @@ public class GlobalWindow extends FrameContainer {
50 50
 
51 51
     /**
52 52
      * Creates a new instance of GlobalWindow.
53
-     *
54
-     * @param config              The ConfigManager to retrieve settings from.
55
-     * @param parser              The command parser to use to parse input.
56
-     * @param tabCompleterFactory The factory to use to create tab completers.
57
-     * @param messageSinkManager  The sink manager to use to dispatch messages.
58
-     * @param urlBuilder          The URL builder to use when finding icons.
59
-     * @param eventBus            The bus to dispatch events on.
60 53
      */
61 54
     @Inject
62 55
     public GlobalWindow(@GlobalConfig final AggregateConfigProvider config,
63 56
             final GlobalCommandParser parser, final TabCompleterFactory tabCompleterFactory,
64 57
             final MessageSinkManager messageSinkManager, final URLBuilder urlBuilder,
65
-            final DMDircMBassador eventBus, final ColourManagerFactory colourManagerFactory) {
66
-        super(null, "icon", "Global", "(Global)", config, colourManagerFactory, urlBuilder, parser,
58
+            final DMDircMBassador eventBus, final BackBufferFactory backBufferFactory) {
59
+        super(null, "icon", "Global", "(Global)", config, backBufferFactory, urlBuilder, parser,
67 60
                 tabCompleterFactory.getTabCompleter(config, CommandType.TYPE_GLOBAL),
68 61
                 messageSinkManager, eventBus,
69 62
                 Arrays.asList(WindowComponent.TEXTAREA.getIdentifier(),

+ 4
- 18
src/com/dmdirc/MessageTarget.java ファイルの表示

@@ -24,9 +24,9 @@ package com.dmdirc;
24 24
 
25 25
 import com.dmdirc.commandparser.parsers.CommandParser;
26 26
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
27
-import com.dmdirc.ui.messages.sink.MessageSinkManager;
27
+import com.dmdirc.ui.core.BackBufferFactory;
28 28
 import com.dmdirc.ui.input.TabCompleter;
29
-import com.dmdirc.ui.messages.ColourManagerFactory;
29
+import com.dmdirc.ui.messages.sink.MessageSinkManager;
30 30
 import com.dmdirc.util.URLBuilder;
31 31
 
32 32
 import java.util.Collection;
@@ -40,20 +40,6 @@ public abstract class MessageTarget extends FrameContainer {
40 40
 
41 41
     /**
42 42
      * Creates a new MessageTarget.
43
-     *
44
-     * @param parent             The parent of this frame container, if any.
45
-     * @param icon               The icon to use for this target
46
-     * @param name               The name of this target
47
-     * @param title              The title of this target
48
-     * @param config             The config manager to use for this target
49
-     * @param parser             The command parser for this container
50
-     * @param tabCompleter       The tab completer to use
51
-     * @param messageSinkManager The sink manager to use to dispatch messages.
52
-     * @param urlBuilder         The URL builder to use when finding icons.
53
-     * @param eventBus           The bus to dispatch events on.
54
-     * @param components         The UI components that this frame requires
55
-     *
56
-     * @since 0.6.4
57 43
      */
58 44
     public MessageTarget(
59 45
             @Nullable final FrameContainer parent,
@@ -61,14 +47,14 @@ public abstract class MessageTarget extends FrameContainer {
61 47
             final String name,
62 48
             final String title,
63 49
             final AggregateConfigProvider config,
64
-            final ColourManagerFactory colourManagerFactory,
50
+            final BackBufferFactory backBufferFactory,
65 51
             final CommandParser parser,
66 52
             final TabCompleter tabCompleter,
67 53
             final MessageSinkManager messageSinkManager,
68 54
             final URLBuilder urlBuilder,
69 55
             final DMDircMBassador eventBus,
70 56
             final Collection<String> components) {
71
-        super(parent, icon, name, title, config,colourManagerFactory, urlBuilder, parser,
57
+        super(parent, icon, name, title, config, backBufferFactory, urlBuilder, parser,
72 58
                 tabCompleter, messageSinkManager, eventBus, components);
73 59
     }
74 60
 

+ 4
- 4
src/com/dmdirc/Query.java ファイルの表示

@@ -36,7 +36,6 @@ import com.dmdirc.interfaces.CommandController;
36 36
 import com.dmdirc.interfaces.Connection;
37 37
 import com.dmdirc.interfaces.PrivateChat;
38 38
 import com.dmdirc.logger.ErrorLevel;
39
-import com.dmdirc.ui.messages.sink.MessageSinkManager;
40 39
 import com.dmdirc.parser.common.CallbackManager;
41 40
 import com.dmdirc.parser.common.CallbackNotFoundException;
42 41
 import com.dmdirc.parser.common.CompositionState;
@@ -47,9 +46,10 @@ import com.dmdirc.parser.interfaces.callbacks.NickChangeListener;
47 46
 import com.dmdirc.parser.interfaces.callbacks.PrivateActionListener;
48 47
 import com.dmdirc.parser.interfaces.callbacks.PrivateMessageListener;
49 48
 import com.dmdirc.parser.interfaces.callbacks.QuitListener;
49
+import com.dmdirc.ui.core.BackBufferFactory;
50 50
 import com.dmdirc.ui.core.components.WindowComponent;
51 51
 import com.dmdirc.ui.input.TabCompleterFactory;
52
-import com.dmdirc.ui.messages.ColourManagerFactory;
52
+import com.dmdirc.ui.messages.sink.MessageSinkManager;
53 53
 import com.dmdirc.util.EventUtils;
54 54
 import com.dmdirc.util.URLBuilder;
55 55
 
@@ -94,11 +94,11 @@ public class Query extends MessageTarget implements PrivateActionListener,
94 94
             final CommandController commandController,
95 95
             final MessageSinkManager messageSinkManager,
96 96
             final URLBuilder urlBuilder,
97
-            final ColourManagerFactory colourManagerFactory) {
97
+            final BackBufferFactory backBufferFactory) {
98 98
         super(newServer, "query", newServer.parseHostmask(newHost)[0],
99 99
                 newServer.parseHostmask(newHost)[0],
100 100
                 newServer.getConfigManager(),
101
-                colourManagerFactory,
101
+                backBufferFactory,
102 102
                 new QueryCommandParser(newServer, commandController, newServer.getEventBus()),
103 103
                 tabCompleterFactory.getTabCompleter(newServer.getTabCompleter(),
104 104
                         newServer.getConfigManager(),

+ 6
- 6
src/com/dmdirc/QueryFactory.java ファイルの表示

@@ -23,9 +23,9 @@
23 23
 package com.dmdirc;
24 24
 
25 25
 import com.dmdirc.interfaces.CommandController;
26
-import com.dmdirc.ui.messages.sink.MessageSinkManager;
26
+import com.dmdirc.ui.core.BackBufferFactory;
27 27
 import com.dmdirc.ui.input.TabCompleterFactory;
28
-import com.dmdirc.ui.messages.ColourManagerFactory;
28
+import com.dmdirc.ui.messages.sink.MessageSinkManager;
29 29
 import com.dmdirc.util.URLBuilder;
30 30
 
31 31
 import javax.inject.Inject;
@@ -41,22 +41,22 @@ public class QueryFactory {
41 41
     private final CommandController commandController;
42 42
     private final MessageSinkManager messageSinkManager;
43 43
     private final URLBuilder urlBuilder;
44
-    private final ColourManagerFactory colourManagerFactory;
44
+    private final BackBufferFactory backBufferFactory;
45 45
 
46 46
     @Inject
47 47
     public QueryFactory(final TabCompleterFactory tabCompleterFactory,
48 48
             final CommandController commandController, final MessageSinkManager messageSinkManager,
49
-            final URLBuilder urlBuilder, final ColourManagerFactory colourManagerFactory) {
49
+            final URLBuilder urlBuilder, final BackBufferFactory backBufferFactory) {
50 50
         this.tabCompleterFactory = tabCompleterFactory;
51 51
         this.commandController = commandController;
52 52
         this.messageSinkManager = messageSinkManager;
53 53
         this.urlBuilder = urlBuilder;
54
-        this.colourManagerFactory = colourManagerFactory;
54
+        this.backBufferFactory = backBufferFactory;
55 55
     }
56 56
 
57 57
     public Query getQuery(final Server server, final String host) {
58 58
         return new Query(server, host, tabCompleterFactory, commandController,
59
-                messageSinkManager, urlBuilder, colourManagerFactory);
59
+                messageSinkManager, urlBuilder, backBufferFactory);
60 60
     }
61 61
 
62 62
 }

+ 3
- 8
src/com/dmdirc/Raw.java ファイルの表示

@@ -31,8 +31,8 @@ import com.dmdirc.parser.common.CallbackNotFoundException;
31 31
 import com.dmdirc.parser.interfaces.Parser;
32 32
 import com.dmdirc.parser.interfaces.callbacks.DataInListener;
33 33
 import com.dmdirc.parser.interfaces.callbacks.DataOutListener;
34
+import com.dmdirc.ui.core.BackBufferFactory;
34 35
 import com.dmdirc.ui.core.components.WindowComponent;
35
-import com.dmdirc.ui.messages.ColourManagerFactory;
36 36
 import com.dmdirc.ui.messages.sink.MessageSinkManager;
37 37
 import com.dmdirc.util.URLBuilder;
38 38
 
@@ -53,20 +53,15 @@ public class Raw extends FrameContainer implements DataInListener, DataOutListen
53 53
 
54 54
     /**
55 55
      * Creates a new instance of Raw.
56
-     *
57
-     * @param newServer          the server to monitor
58
-     * @param commandController  The controller to load commands from.
59
-     * @param messageSinkManager The sink manager to use to dispatch messages.
60
-     * @param urlBuilder         The URL builder to use when finding icons.
61 56
      */
62 57
     public Raw(
63 58
             final Server newServer,
64 59
             final CommandController commandController,
65 60
             final MessageSinkManager messageSinkManager,
66 61
             final URLBuilder urlBuilder,
67
-            final ColourManagerFactory colourManagerFactory) {
62
+            final BackBufferFactory backBufferFactory) {
68 63
         super(newServer, "raw", "Raw", "(Raw log)", newServer.getConfigManager(),
69
-                colourManagerFactory, urlBuilder,
64
+                backBufferFactory, urlBuilder,
70 65
                 new ServerCommandParser(newServer.getConfigManager(), commandController, newServer.
71 66
                         getEventBus()),
72 67
                 newServer.getTabCompleter(),

+ 5
- 5
src/com/dmdirc/RawFactory.java ファイルの表示

@@ -23,8 +23,8 @@
23 23
 package com.dmdirc;
24 24
 
25 25
 import com.dmdirc.interfaces.CommandController;
26
+import com.dmdirc.ui.core.BackBufferFactory;
26 27
 import com.dmdirc.ui.messages.sink.MessageSinkManager;
27
-import com.dmdirc.ui.messages.ColourManagerFactory;
28 28
 import com.dmdirc.util.URLBuilder;
29 29
 
30 30
 import javax.inject.Inject;
@@ -39,22 +39,22 @@ public class RawFactory {
39 39
     private final CommandController commandController;
40 40
     private final MessageSinkManager messageSinkManager;
41 41
     private final URLBuilder urlBuilder;
42
-    private final ColourManagerFactory colourManagerFactory;
42
+    private final BackBufferFactory backBufferFactory;
43 43
 
44 44
     @Inject
45 45
     public RawFactory(final CommandController commandController,
46 46
             final MessageSinkManager messageSinkManager,
47 47
             final URLBuilder urlBuilder,
48
-            final ColourManagerFactory colourManagerFactory) {
48
+            final BackBufferFactory backBufferFactory) {
49 49
         this.commandController = commandController;
50 50
         this.messageSinkManager = messageSinkManager;
51 51
         this.urlBuilder = urlBuilder;
52
-        this.colourManagerFactory = colourManagerFactory;
52
+        this.backBufferFactory = backBufferFactory;
53 53
     }
54 54
 
55 55
     public Raw getRaw(final Server server) {
56 56
         return new Raw(server, commandController, messageSinkManager, urlBuilder,
57
-                colourManagerFactory);
57
+                backBufferFactory);
58 58
     }
59 59
 
60 60
 }

+ 3
- 23
src/com/dmdirc/Server.java ファイルの表示

@@ -60,6 +60,7 @@ import com.dmdirc.tls.CertificateManager;
60 60
 import com.dmdirc.tls.CertificateProblemListener;
61 61
 import com.dmdirc.ui.StatusMessage;
62 62
 import com.dmdirc.ui.WindowManager;
63
+import com.dmdirc.ui.core.BackBufferFactory;
63 64
 import com.dmdirc.ui.core.components.WindowComponent;
64 65
 import com.dmdirc.ui.input.TabCompleterFactory;
65 66
 import com.dmdirc.ui.input.TabCompletionType;
@@ -188,27 +189,6 @@ public class Server extends FrameContainer implements ConfigChangeListener,
188 189
 
189 190
     /**
190 191
      * Creates a new server which will connect to the specified URL with the specified profile.
191
-     *
192
-     * @since 0.6.3
193
-     * @param manager               The server manager that owns this server.
194
-     * @param configMigrator        The migrateable configuration manager to read config settings
195
-     *                              from.
196
-     * @param commandParser         The parser to use for commands in this server's window.
197
-     * @param parserFactory         The factory to use to generate parsers.
198
-     * @param tabCompleterFactory   The factory to use for tab completers.
199
-     * @param identityFactory       The factory to use to create identities.
200
-     * @param messageSinkManager    The sink manager to use to dispatch messages.
201
-     * @param windowManager         Window Manager
202
-     * @param channelFactory        The factory to use to create channels.
203
-     * @param queryFactory          The factory to use to create queries.
204
-     * @param rawFactory            The factory to use to create raw windows.
205
-     * @param urlBuilder            The URL builder to use when finding icons.
206
-     * @param eventBus              The event bus to dispatch events onto.
207
-     * @param messageEncoderFactory The message encoder factory to create a message encoder with.
208
-     * @param userSettings          The config provider to write user settings to.
209
-     * @param executorService       The service to use to schedule events.
210
-     * @param uri                   The address of the server to connect to
211
-     * @param profile               The profile to use
212 192
      */
213 193
     public Server(
214 194
             final ServerManager manager,
@@ -229,12 +209,12 @@ public class Server extends FrameContainer implements ConfigChangeListener,
229 209
             final ScheduledExecutorService executorService,
230 210
             final URI uri,
231 211
             final Profile profile,
232
-            final ColourManagerFactory colourManagerFactory) {
212
+            final BackBufferFactory backBufferFactory) {
233 213
         super(null, "server-disconnected",
234 214
                 getHost(uri),
235 215
                 getHost(uri),
236 216
                 configMigrator.getConfigProvider(),
237
-                colourManagerFactory,
217
+                backBufferFactory,
238 218
                 urlBuilder,
239 219
                 commandParser,
240 220
                 tabCompleterFactory.getTabCompleter(configMigrator.getConfigProvider(),

+ 5
- 5
src/com/dmdirc/ServerFactoryImpl.java ファイルの表示

@@ -28,8 +28,8 @@ import com.dmdirc.interfaces.config.ConfigProvider;
28 28
 import com.dmdirc.interfaces.config.ConfigProviderMigrator;
29 29
 import com.dmdirc.interfaces.config.IdentityFactory;
30 30
 import com.dmdirc.ui.WindowManager;
31
+import com.dmdirc.ui.core.BackBufferFactory;
31 32
 import com.dmdirc.ui.input.TabCompleterFactory;
32
-import com.dmdirc.ui.messages.ColourManagerFactory;
33 33
 import com.dmdirc.ui.messages.sink.MessageSinkManager;
34 34
 import com.dmdirc.util.URLBuilder;
35 35
 
@@ -59,7 +59,7 @@ public class ServerFactoryImpl {
59 59
     private final DMDircMBassador eventBus;
60 60
     private final MessageEncoderFactory messageEncoderFactory;
61 61
     private final ConfigProvider userSettings;
62
-    private final ColourManagerFactory colourManagerFactory;
62
+    private final BackBufferFactory backBufferFactory;
63 63
 
64 64
     @Inject
65 65
     public ServerFactoryImpl(
@@ -76,7 +76,7 @@ public class ServerFactoryImpl {
76 76
             final DMDircMBassador eventBus,
77 77
             final MessageEncoderFactory messageEncoderFactory,
78 78
             @ClientModule.UserConfig final ConfigProvider userSettings,
79
-            final ColourManagerFactory colourManagerFactory) {
79
+            final BackBufferFactory backBufferFactory) {
80 80
         this.manager = manager;
81 81
         this.parserFactory = parserFactory;
82 82
         this.tabCompleterFactory = tabCompleterFactory;
@@ -90,7 +90,7 @@ public class ServerFactoryImpl {
90 90
         this.eventBus = eventBus;
91 91
         this.messageEncoderFactory = messageEncoderFactory;
92 92
         this.userSettings = userSettings;
93
-        this.colourManagerFactory = colourManagerFactory;
93
+        this.backBufferFactory = backBufferFactory;
94 94
     }
95 95
 
96 96
     public Server getServer(
@@ -103,6 +103,6 @@ public class ServerFactoryImpl {
103 103
                 tabCompleterFactory, identityFactory, messageSinkManager, windowManager,
104 104
                 channelFactory.get(), queryFactory.get(), rawFactory.get(),urlBuilder, eventBus,
105 105
                 messageEncoderFactory, userSettings, executorService, uri, profile,
106
-                colourManagerFactory);
106
+                backBufferFactory);
107 107
     }
108 108
 }

+ 7
- 13
src/com/dmdirc/commandparser/commands/global/OpenWindow.java ファイルの表示

@@ -36,8 +36,8 @@ import com.dmdirc.commandparser.commands.context.CommandContext;
36 36
 import com.dmdirc.interfaces.CommandController;
37 37
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
38 38
 import com.dmdirc.ui.WindowManager;
39
+import com.dmdirc.ui.core.BackBufferFactory;
39 40
 import com.dmdirc.ui.input.AdditionalTabTargets;
40
-import com.dmdirc.ui.messages.ColourManagerFactory;
41 41
 import com.dmdirc.util.URLBuilder;
42 42
 
43 43
 import javax.annotation.Nonnull;
@@ -61,17 +61,11 @@ public class OpenWindow extends Command implements IntelligentCommand {
61 61
     private final DMDircMBassador eventBus;
62 62
     /** The config provider to retrieve settings from. */
63 63
     private final AggregateConfigProvider configProvider;
64
-    /** Colour manager factory. */
65
-    private final ColourManagerFactory colourManagerFactory;
64
+    /** Back buffer factory. */
65
+    private final BackBufferFactory backBufferFactory;
66 66
 
67 67
     /**
68 68
      * Creates a new instance of this command.
69
-     *
70
-     * @param controller     The controller to use for command information.
71
-     * @param windowManager  Window management
72
-     * @param urlBuilder     The URL builder to use when finding icons.
73
-     * @param eventBus       The bus to dispatch events on.
74
-     * @param configProvider The config provider to retrieve settings from.
75 69
      */
76 70
     @Inject
77 71
     public OpenWindow(
@@ -80,14 +74,14 @@ public class OpenWindow extends Command implements IntelligentCommand {
80 74
             final URLBuilder urlBuilder,
81 75
             final DMDircMBassador eventBus,
82 76
             @GlobalConfig final AggregateConfigProvider configProvider,
83
-            final ColourManagerFactory colourManagerFactory) {
77
+            final BackBufferFactory backBufferFactory) {
84 78
         super(controller);
85 79
 
86 80
         this.windowManager = windowManager;
87 81
         this.urlBuilder = urlBuilder;
88 82
         this.eventBus = eventBus;
89 83
         this.configProvider = configProvider;
90
-        this.colourManagerFactory = colourManagerFactory;
84
+        this.backBufferFactory = backBufferFactory;
91 85
     }
92 86
 
93 87
     @Override
@@ -129,11 +123,11 @@ public class OpenWindow extends Command implements IntelligentCommand {
129 123
                 final CustomWindow newWindow;
130 124
                 if (parent == null) {
131 125
                     newWindow = new CustomWindow(args.getArguments()[start], title,
132
-                            configProvider, urlBuilder, eventBus, colourManagerFactory);
126
+                            configProvider, urlBuilder, eventBus, backBufferFactory);
133 127
                     windowManager.addWindow(newWindow);
134 128
                 } else {
135 129
                     newWindow = new CustomWindow(args.getArguments()[start], title, parent,
136
-                            urlBuilder, colourManagerFactory);
130
+                            urlBuilder, backBufferFactory);
137 131
                     windowManager.addWindow(parent, newWindow);
138 132
                 }
139 133
             } else {

+ 17
- 1
src/com/dmdirc/ui/core/BackBuffer.java ファイルの表示

@@ -24,7 +24,9 @@ package com.dmdirc.ui.core;
24 24
 
25 25
 import com.dmdirc.DMDircMBassador;
26 26
 import com.dmdirc.FrameContainer;
27
+import com.dmdirc.events.DisplayableEvent;
27 28
 import com.dmdirc.ui.messages.ColourManagerFactory;
29
+import com.dmdirc.ui.messages.EventFormatter;
28 30
 import com.dmdirc.ui.messages.IRCDocument;
29 31
 import com.dmdirc.ui.messages.Styliser;
30 32
 
@@ -36,8 +38,12 @@ public class BackBuffer {
36 38
     private final IRCDocument document;
37 39
     private final Styliser styliser;
38 40
     private final DMDircMBassador eventBus;
41
+    private final EventFormatter formatter;
39 42
 
40
-    public BackBuffer(final FrameContainer owner, final ColourManagerFactory colourManagerFactory) {
43
+    public BackBuffer(
44
+            final FrameContainer owner,
45
+            final ColourManagerFactory colourManagerFactory,
46
+            final EventFormatter formatter) {
41 47
         this.styliser = new Styliser(
42 48
                 owner.getOptionalConnection().orElse(null),
43 49
                 owner.getConfigManager(),
@@ -45,6 +51,7 @@ public class BackBuffer {
45 51
                 owner.getEventBus());
46 52
         this.document = new IRCDocument(owner.getConfigManager(), styliser, owner.getEventBus());
47 53
         this.eventBus = owner.getEventBus();
54
+        this.formatter = formatter;
48 55
     }
49 56
 
50 57
     /**
@@ -61,6 +68,15 @@ public class BackBuffer {
61 68
         eventBus.unsubscribe(this);
62 69
     }
63 70
 
71
+    /**
72
+     * Handles a displayable event received on the event bus.
73
+     *
74
+     * @param event The event to be displayed.
75
+     */
76
+    public void handleDisplayableEvent(final DisplayableEvent event) {
77
+
78
+    }
79
+
64 80
     public IRCDocument getDocument() {
65 81
         return document;
66 82
     }

+ 53
- 0
src/com/dmdirc/ui/core/BackBufferFactory.java ファイルの表示

@@ -0,0 +1,53 @@
1
+/*
2
+ * Copyright (c) 2006-2014 DMDirc Developers
3
+ *
4
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ * of this software and associated documentation files (the "Software"), to deal
6
+ * in the Software without restriction, including without limitation the rights
7
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ * copies of the Software, and to permit persons to whom the Software is
9
+ * furnished to do so, subject to the following conditions:
10
+ *
11
+ * The above copyright notice and this permission notice shall be included in
12
+ * all copies or substantial portions of the Software.
13
+ *
14
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ * SOFTWARE.
21
+ */
22
+
23
+package com.dmdirc.ui.core;
24
+
25
+import com.dmdirc.FrameContainer;
26
+import com.dmdirc.ui.messages.ColourManagerFactory;
27
+import com.dmdirc.ui.messages.EventFormatter;
28
+
29
+import javax.inject.Inject;
30
+import javax.inject.Singleton;
31
+
32
+/**
33
+ * Factory for {@link BackBuffer}s.
34
+ */
35
+@Singleton
36
+public class BackBufferFactory {
37
+
38
+    private final ColourManagerFactory colourManagerFactory;
39
+    private final EventFormatter formatter;
40
+
41
+    @Inject
42
+    public BackBufferFactory(
43
+            final ColourManagerFactory colourManagerFactory,
44
+            final EventFormatter formatter) {
45
+        this.colourManagerFactory = colourManagerFactory;
46
+        this.formatter = formatter;
47
+    }
48
+
49
+    public BackBuffer getBackBuffer(final FrameContainer owner) {
50
+        return new BackBuffer(owner, colourManagerFactory, formatter);
51
+    }
52
+
53
+}

+ 6
- 9
src/com/dmdirc/ui/messages/sink/CustomWindowMessageSink.java ファイルの表示

@@ -26,7 +26,7 @@ import com.dmdirc.CustomWindow;
26 26
 import com.dmdirc.FrameContainer;
27 27
 import com.dmdirc.Server;
28 28
 import com.dmdirc.ui.WindowManager;
29
-import com.dmdirc.ui.messages.ColourManagerFactory;
29
+import com.dmdirc.ui.core.BackBufferFactory;
30 30
 import com.dmdirc.util.URLBuilder;
31 31
 
32 32
 import java.util.Date;
@@ -45,23 +45,20 @@ public class CustomWindowMessageSink implements MessageSink {
45 45
     private final WindowManager windowManager;
46 46
     /** The URL builder to use when finding icons. */
47 47
     private final URLBuilder urlBuilder;
48
-    /** Colour Manager Factory. */
49
-    private final ColourManagerFactory colourManagerFactory;
48
+    /** Back buffer Factory. */
49
+    private final BackBufferFactory backBufferFactory;
50 50
 
51 51
     /**
52 52
      * Creates a new custom window message sink.
53
-     *
54
-     * @param windowManager Window management
55
-     * @param urlBuilder    The URL builder to use when finding icons.
56 53
      */
57 54
     @Inject
58 55
     public CustomWindowMessageSink(
59 56
             final WindowManager windowManager,
60 57
             final URLBuilder urlBuilder,
61
-            final ColourManagerFactory colourManagerFactory) {
58
+            final BackBufferFactory backBufferFactory) {
62 59
         this.windowManager = windowManager;
63 60
         this.urlBuilder = urlBuilder;
64
-        this.colourManagerFactory = colourManagerFactory;
61
+        this.backBufferFactory = backBufferFactory;
65 62
     }
66 63
 
67 64
     @Override
@@ -79,7 +76,7 @@ public class CustomWindowMessageSink implements MessageSink {
79 76
 
80 77
         if (targetWindow == null) {
81 78
             targetWindow = new CustomWindow(patternMatches[0], patternMatches[0],
82
-                    (Server) source.getConnection(), urlBuilder, colourManagerFactory);
79
+                    (Server) source.getConnection(), urlBuilder, backBufferFactory);
83 80
             windowManager.addWindow((Server) source.getConnection(), targetWindow);
84 81
         }
85 82
 

+ 4
- 4
test/com/dmdirc/ServerTest.java ファイルの表示

@@ -29,11 +29,11 @@ import com.dmdirc.interfaces.config.AggregateConfigProvider;
29 29
 import com.dmdirc.interfaces.config.ConfigProvider;
30 30
 import com.dmdirc.interfaces.config.ConfigProviderMigrator;
31 31
 import com.dmdirc.interfaces.config.IdentityFactory;
32
-import com.dmdirc.ui.messages.sink.MessageSinkManager;
33 32
 import com.dmdirc.ui.WindowManager;
33
+import com.dmdirc.ui.core.BackBufferFactory;
34 34
 import com.dmdirc.ui.input.TabCompleter;
35 35
 import com.dmdirc.ui.input.TabCompleterFactory;
36
-import com.dmdirc.ui.messages.ColourManagerFactory;
36
+import com.dmdirc.ui.messages.sink.MessageSinkManager;
37 37
 import com.dmdirc.util.URLBuilder;
38 38
 
39 39
 import java.net.URI;
@@ -71,7 +71,7 @@ public class ServerTest {
71 71
     @Mock private DMDircMBassador eventBus;
72 72
     @Mock private ScheduledExecutorService executorService;
73 73
     @Mock private MessageEncoderFactory messageEncoderFactory;
74
-    @Mock private ColourManagerFactory colourManagerFactory;
74
+    @Mock private BackBufferFactory backBufferFactory;
75 75
 
76 76
     private Server server;
77 77
 
@@ -102,7 +102,7 @@ public class ServerTest {
102 102
                 executorService,
103 103
                 new URI("irc-test://255.255.255.255"),
104 104
                 profile,
105
-                colourManagerFactory);
105
+                backBufferFactory);
106 106
     }
107 107
 
108 108
     @Test

+ 4
- 4
test/com/dmdirc/WritableFrameContainerTest.java ファイルの表示

@@ -26,7 +26,7 @@ import com.dmdirc.commandparser.CommandManager;
26 26
 import com.dmdirc.harness.TestWritableFrameContainer;
27 27
 import com.dmdirc.interfaces.ConnectionManager;
28 28
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
29
-import com.dmdirc.ui.messages.ColourManagerFactory;
29
+import com.dmdirc.ui.core.BackBufferFactory;
30 30
 import com.dmdirc.ui.messages.sink.MessageSinkManager;
31 31
 import com.dmdirc.util.URLBuilder;
32 32
 
@@ -50,7 +50,7 @@ public class WritableFrameContainerTest {
50 50
     @Mock private MessageSinkManager messageSinkManager;
51 51
     @Mock private URLBuilder urlBuilder;
52 52
     @Mock private DMDircMBassador eventBus;
53
-    @Mock private ColourManagerFactory colourManagerFactory;
53
+    @Mock private BackBufferFactory backBufferFactory;
54 54
     @Mock private Provider<GlobalWindow> globalWindowProvider;
55 55
     private CommandManager commands;
56 56
 
@@ -65,7 +65,7 @@ public class WritableFrameContainerTest {
65 65
     @Test
66 66
     public void testGetNumLines() {
67 67
         final FrameContainer container10 = new TestWritableFrameContainer(10, acp, commands,
68
-                messageSinkManager, urlBuilder, eventBus, colourManagerFactory);
68
+                messageSinkManager, urlBuilder, eventBus, backBufferFactory);
69 69
 
70 70
         final int res0a = container10.getNumLines("");
71 71
         final int res0b = container10.getNumLines("\r");
@@ -95,7 +95,7 @@ public class WritableFrameContainerTest {
95 95
     @Test
96 96
     public void testSplitLine() {
97 97
         final FrameContainer container10 = new TestWritableFrameContainer(10, acp, commands,
98
-                messageSinkManager, urlBuilder, eventBus, colourManagerFactory);
98
+                messageSinkManager, urlBuilder, eventBus, backBufferFactory);
99 99
         final String[][][] tests = new String[][][]{
100 100
             {{""}, {""}},
101 101
             {{"0123456789"}, {"0123456789"}},

+ 5
- 6
test/com/dmdirc/harness/TestWritableFrameContainer.java ファイルの表示

@@ -22,19 +22,18 @@
22 22
 
23 23
 package com.dmdirc.harness;
24 24
 
25
+import com.dmdirc.DMDircMBassador;
25 26
 import com.dmdirc.FrameContainer;
26 27
 import com.dmdirc.commandparser.CommandManager;
27 28
 import com.dmdirc.commandparser.parsers.GlobalCommandParser;
28 29
 import com.dmdirc.interfaces.CommandController;
29 30
 import com.dmdirc.interfaces.Connection;
30 31
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
31
-import com.dmdirc.ui.messages.sink.MessageSinkManager;
32
+import com.dmdirc.ui.core.BackBufferFactory;
32 33
 import com.dmdirc.ui.input.TabCompleter;
33
-import com.dmdirc.ui.messages.ColourManagerFactory;
34
+import com.dmdirc.ui.messages.sink.MessageSinkManager;
34 35
 import com.dmdirc.util.URLBuilder;
35 36
 
36
-import com.dmdirc.DMDircMBassador;
37
-
38 37
 import java.util.Collections;
39 38
 import java.util.Optional;
40 39
 
@@ -48,8 +47,8 @@ public class TestWritableFrameContainer extends FrameContainer {
48 47
             final AggregateConfigProvider cm, final CommandManager commandManager,
49 48
             final MessageSinkManager messageSinkManager,
50 49
             final URLBuilder urlBuilder, final DMDircMBassador eventBus,
51
-            final ColourManagerFactory colourManagerFactory) {
52
-        super(null, "raw", "Raw", "(Raw)", cm, colourManagerFactory, urlBuilder,
50
+            final BackBufferFactory backBufferFactory) {
51
+        super(null, "raw", "Raw", "(Raw)", cm, backBufferFactory, urlBuilder,
53 52
                 new GlobalCommandParser(cm, commandManager, eventBus),
54 53
                 new TabCompleter(mock(CommandController.class), cm),
55 54
                 messageSinkManager,

読み込み中…
キャンセル
保存