Browse Source

Make UIs use WindowModel more.

pull/363/head
Chris Smith 9 years ago
parent
commit
5fe8e7c17d
27 changed files with 77 additions and 59 deletions
  1. 2
    1
      activewindow/src/com/dmdirc/addons/activewindow/ActiveCommand.java
  2. 2
    2
      dcc/src/com/dmdirc/addons/dcc/DCCManager.java
  3. 2
    1
      lagdisplay/src/com/dmdirc/addons/lagdisplay/LagDisplayManager.java
  4. 3
    3
      ui_swing/src/com/dmdirc/addons/ui_swing/SwingLinkHandler.java
  5. 8
    9
      ui_swing/src/com/dmdirc/addons/ui_swing/SwingWindowFactory.java
  6. 4
    1
      ui_swing/src/com/dmdirc/addons/ui_swing/WindowComparator.java
  7. 3
    3
      ui_swing/src/com/dmdirc/addons/ui_swing/components/AwayLabel.java
  8. 3
    3
      ui_swing/src/com/dmdirc/addons/ui_swing/components/TypingLabel.java
  9. 2
    2
      ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/ChannelFrameFactory.java
  10. 2
    1
      ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/CommandAction.java
  11. 2
    2
      ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/ComponentFrame.java
  12. 2
    1
      ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/ComponentFrameFactory.java
  13. 2
    1
      ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/CustomFrame.java
  14. 2
    2
      ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/CustomFrameFactory.java
  15. 2
    1
      ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/CustomInputFrame.java
  16. 2
    2
      ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/CustomInputFrameFactory.java
  17. 2
    1
      ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/InputTextFrame.java
  18. 3
    3
      ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/InputTextFramePasteAction.java
  19. 2
    1
      ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/InputTextFramePasteActionFactory.java
  20. 2
    2
      ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/ServerFrameFactory.java
  21. 4
    4
      ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/TextFrame.java
  22. 4
    1
      ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/TextFrameComparator.java
  23. 2
    1
      ui_swing/src/com/dmdirc/addons/ui_swing/components/inputfields/SwingInputHandler.java
  24. 5
    4
      ui_swing/src/com/dmdirc/addons/ui_swing/components/menubar/ChannelMenu.java
  25. 4
    3
      ui_swing/src/com/dmdirc/addons/ui_swing/components/menubar/ServerMenu.java
  26. 4
    2
      ui_swing/src/com/dmdirc/addons/ui_swing/framemanager/tree/TreeFrameManager.java
  27. 2
    2
      windowstatus/src/com/dmdirc/addons/windowstatus/WindowStatusManager.java

+ 2
- 1
activewindow/src/com/dmdirc/addons/activewindow/ActiveCommand.java View File

22
 
22
 
23
 package com.dmdirc.addons.activewindow;
23
 package com.dmdirc.addons.activewindow;
24
 
24
 
25
+import com.dmdirc.FrameContainer;
25
 import com.dmdirc.addons.ui_swing.interfaces.ActiveFrameManager;
26
 import com.dmdirc.addons.ui_swing.interfaces.ActiveFrameManager;
26
 import com.dmdirc.commandparser.BaseCommandInfo;
27
 import com.dmdirc.commandparser.BaseCommandInfo;
27
 import com.dmdirc.commandparser.CommandArguments;
28
 import com.dmdirc.commandparser.CommandArguments;
73
     public void execute(@Nonnull final WindowModel origin,
74
     public void execute(@Nonnull final WindowModel origin,
74
             final CommandArguments args, final CommandContext context) {
75
             final CommandArguments args, final CommandContext context) {
75
         activeFrameManager.getActiveFrame().ifPresent(f -> f.getContainer().getCommandParser()
76
         activeFrameManager.getActiveFrame().ifPresent(f -> f.getContainer().getCommandParser()
76
-                .parseCommand(f.getContainer(), args.getArgumentsAsString()));
77
+                .parseCommand((FrameContainer) f.getContainer(), args.getArgumentsAsString()));
77
     }
78
     }
78
 
79
 
79
     @Override
80
     @Override

+ 2
- 2
dcc/src/com/dmdirc/addons/dcc/DCCManager.java View File

24
 
24
 
25
 import com.dmdirc.ClientModule.GlobalConfig;
25
 import com.dmdirc.ClientModule.GlobalConfig;
26
 import com.dmdirc.DMDircMBassador;
26
 import com.dmdirc.DMDircMBassador;
27
-import com.dmdirc.FrameContainer;
28
 import com.dmdirc.addons.dcc.events.DccChatRequestEvent;
27
 import com.dmdirc.addons.dcc.events.DccChatRequestEvent;
29
 import com.dmdirc.addons.dcc.events.DccSendRequestEvent;
28
 import com.dmdirc.addons.dcc.events.DccSendRequestEvent;
30
 import com.dmdirc.addons.dcc.io.DCC;
29
 import com.dmdirc.addons.dcc.io.DCC;
53
 import com.dmdirc.interfaces.CommandController;
52
 import com.dmdirc.interfaces.CommandController;
54
 import com.dmdirc.interfaces.Connection;
53
 import com.dmdirc.interfaces.Connection;
55
 import com.dmdirc.interfaces.User;
54
 import com.dmdirc.interfaces.User;
55
+import com.dmdirc.interfaces.WindowModel;
56
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
56
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
57
 import com.dmdirc.interfaces.config.ConfigProvider;
57
 import com.dmdirc.interfaces.config.ConfigProvider;
58
 import com.dmdirc.interfaces.config.IdentityController;
58
 import com.dmdirc.interfaces.config.IdentityController;
789
         }
789
         }
790
 
790
 
791
         @Override
791
         @Override
792
-        public TextFrame getWindow(final FrameContainer container) {
792
+        public TextFrame getWindow(final WindowModel container) {
793
             return componentFrameFactory.getComponentFrame(container, commandParser,
793
             return componentFrameFactory.getComponentFrame(container, commandParser,
794
                     Collections.singletonList(componentSupplier));
794
                     Collections.singletonList(componentSupplier));
795
         }
795
         }

+ 2
- 1
lagdisplay/src/com/dmdirc/addons/lagdisplay/LagDisplayManager.java View File

45
 import com.dmdirc.events.StatusBarComponentAddedEvent;
45
 import com.dmdirc.events.StatusBarComponentAddedEvent;
46
 import com.dmdirc.events.StatusBarComponentRemovedEvent;
46
 import com.dmdirc.events.StatusBarComponentRemovedEvent;
47
 import com.dmdirc.interfaces.Connection;
47
 import com.dmdirc.interfaces.Connection;
48
+import com.dmdirc.interfaces.WindowModel;
48
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
49
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
49
 import com.dmdirc.interfaces.config.ConfigChangeListener;
50
 import com.dmdirc.interfaces.config.ConfigChangeListener;
50
 import com.dmdirc.plugins.PluginDomain;
51
 import com.dmdirc.plugins.PluginDomain;
305
 
306
 
306
     private boolean isActiveWindow(final Connection connection) {
307
     private boolean isActiveWindow(final Connection connection) {
307
         return activeFrameManager.getActiveFrame().map(TextFrame::getContainer)
308
         return activeFrameManager.getActiveFrame().map(TextFrame::getContainer)
308
-                .flatMap(FrameContainer::getConnection)
309
+                .flatMap(WindowModel::getConnection)
309
                 .filter(connection::equals).isPresent();
310
                 .filter(connection::equals).isPresent();
310
     }
311
     }
311
 
312
 

+ 3
- 3
ui_swing/src/com/dmdirc/addons/ui_swing/SwingLinkHandler.java View File

22
 
22
 
23
 package com.dmdirc.addons.ui_swing;
23
 package com.dmdirc.addons.ui_swing;
24
 
24
 
25
-import com.dmdirc.FrameContainer;
26
 import com.dmdirc.addons.ui_swing.events.SwingActiveWindowChangeRequestEvent;
25
 import com.dmdirc.addons.ui_swing.events.SwingActiveWindowChangeRequestEvent;
27
 import com.dmdirc.addons.ui_swing.events.SwingEventBus;
26
 import com.dmdirc.addons.ui_swing.events.SwingEventBus;
28
 import com.dmdirc.events.LinkChannelClickedEvent;
27
 import com.dmdirc.events.LinkChannelClickedEvent;
29
 import com.dmdirc.events.LinkNicknameClickedEvent;
28
 import com.dmdirc.events.LinkNicknameClickedEvent;
30
 import com.dmdirc.events.LinkUrlClickedEvent;
29
 import com.dmdirc.events.LinkUrlClickedEvent;
31
 import com.dmdirc.interfaces.Connection;
30
 import com.dmdirc.interfaces.Connection;
31
+import com.dmdirc.interfaces.WindowModel;
32
 import com.dmdirc.parser.common.ChannelJoinRequest;
32
 import com.dmdirc.parser.common.ChannelJoinRequest;
33
 import com.dmdirc.ui.core.util.URLHandler;
33
 import com.dmdirc.ui.core.util.URLHandler;
34
 
34
 
61
 
61
 
62
     @Handler
62
     @Handler
63
     public void handleChannelClick(final LinkChannelClickedEvent event) {
63
     public void handleChannelClick(final LinkChannelClickedEvent event) {
64
-        final FrameContainer container = event.getWindow().getContainer();
64
+        final WindowModel container = event.getWindow().getContainer();
65
         container.getConnection()
65
         container.getConnection()
66
                 .map(Connection::getGroupChatManager)
66
                 .map(Connection::getGroupChatManager)
67
                 .ifPresent(c -> c.join(new ChannelJoinRequest(event.getTarget())));
67
                 .ifPresent(c -> c.join(new ChannelJoinRequest(event.getTarget())));
74
 
74
 
75
     @Handler
75
     @Handler
76
     public void handleNicknameClick(final LinkNicknameClickedEvent event) {
76
     public void handleNicknameClick(final LinkNicknameClickedEvent event) {
77
-        final FrameContainer container = event.getWindow().getContainer();
77
+        final WindowModel container = event.getWindow().getContainer();
78
         container.getConnection().ifPresent(c ->
78
         container.getConnection().ifPresent(c ->
79
                 eventBus.publishAsync(new SwingActiveWindowChangeRequestEvent(Optional.ofNullable(
79
                 eventBus.publishAsync(new SwingActiveWindowChangeRequestEvent(Optional.ofNullable(
80
                         windowFactory.getSwingWindow(c.getQuery(event.getTarget()))))));
80
                         windowFactory.getSwingWindow(c.getQuery(event.getTarget()))))));

+ 8
- 9
ui_swing/src/com/dmdirc/addons/ui_swing/SwingWindowFactory.java View File

23
 package com.dmdirc.addons.ui_swing;
23
 package com.dmdirc.addons.ui_swing;
24
 
24
 
25
 import com.dmdirc.DMDircMBassador;
25
 import com.dmdirc.DMDircMBassador;
26
-import com.dmdirc.FrameContainer;
27
 import com.dmdirc.addons.ui_swing.components.frames.ChannelFrameFactory;
26
 import com.dmdirc.addons.ui_swing.components.frames.ChannelFrameFactory;
28
 import com.dmdirc.addons.ui_swing.components.frames.CustomFrameFactory;
27
 import com.dmdirc.addons.ui_swing.components.frames.CustomFrameFactory;
29
 import com.dmdirc.addons.ui_swing.components.frames.CustomInputFrameFactory;
28
 import com.dmdirc.addons.ui_swing.components.frames.CustomInputFrameFactory;
59
     /** A map of known implementations of window interfaces. */
58
     /** A map of known implementations of window interfaces. */
60
     private final Map<Collection<String>, WindowProvider> implementations = new HashMap<>();
59
     private final Map<Collection<String>, WindowProvider> implementations = new HashMap<>();
61
     /** A map of frame containers to their Swing windows. */
60
     /** A map of frame containers to their Swing windows. */
62
-    private final Map<FrameContainer, TextFrame> windows = new HashMap<>();
61
+    private final Map<WindowModel, TextFrame> windows = new HashMap<>();
63
     /** The event bus to post errors to. */
62
     /** The event bus to post errors to. */
64
     private final DMDircMBassador eventBus;
63
     private final DMDircMBassador eventBus;
65
     /** The swing event bus. */
64
     /** The swing event bus. */
113
     public void addWindow(final WindowModel parent, final WindowModel window,
112
     public void addWindow(final WindowModel parent, final WindowModel window,
114
             final boolean focus) {
113
             final boolean focus) {
115
         UIUtilities.invokeLater(() -> {
114
         UIUtilities.invokeLater(() -> {
116
-            final TextFrame parentWindow = getSwingWindow((FrameContainer) parent);
117
-            final TextFrame childWindow = doAddWindow((FrameContainer) window);
115
+            final TextFrame parentWindow = getSwingWindow(parent);
116
+            final TextFrame childWindow = doAddWindow(window);
118
 
117
 
119
             if (childWindow == null) {
118
             if (childWindow == null) {
120
                 return;
119
                 return;
136
      *
135
      *
137
      * @return The created window or null on error
136
      * @return The created window or null on error
138
      */
137
      */
139
-    protected TextFrame doAddWindow(final FrameContainer window) {
138
+    protected TextFrame doAddWindow(final WindowModel window) {
140
         if (!implementations.containsKey(window.getComponents())) {
139
         if (!implementations.containsKey(window.getComponents())) {
141
             eventBus.publishAsync(new UserErrorEvent(ErrorLevel.HIGH, null,
140
             eventBus.publishAsync(new UserErrorEvent(ErrorLevel.HIGH, null,
142
                     "Unable to create window: Unknown type.", ""));
141
                     "Unable to create window: Unknown type.", ""));
159
 
158
 
160
     @Override
159
     @Override
161
     public void delWindow(final WindowModel parent, final WindowModel window) {
160
     public void delWindow(final WindowModel parent, final WindowModel window) {
162
-        final TextFrame parentWindow = getSwingWindow((FrameContainer) parent);
163
-        final TextFrame childWindow = getSwingWindow((FrameContainer) window);
161
+        final TextFrame parentWindow = getSwingWindow(parent);
162
+        final TextFrame childWindow = getSwingWindow(window);
164
         windows.remove(window);
163
         windows.remove(window);
165
         UIUtilities.invokeLater(() -> swingEventBus.publish(new SwingWindowDeletedEvent(
164
         UIUtilities.invokeLater(() -> swingEventBus.publish(new SwingWindowDeletedEvent(
166
                 Optional.ofNullable(parentWindow), childWindow)));
165
                 Optional.ofNullable(parentWindow), childWindow)));
174
      *
173
      *
175
      * @return A relevant window or null
174
      * @return A relevant window or null
176
      */
175
      */
177
-    public TextFrame getSwingWindow(@Nullable final FrameContainer window) {
176
+    public TextFrame getSwingWindow(@Nullable final WindowModel window) {
178
         return windows.get(window);
177
         return windows.get(window);
179
     }
178
     }
180
 
179
 
195
          *
194
          *
196
          * @return A new window for the given container.
195
          * @return A new window for the given container.
197
          */
196
          */
198
-        TextFrame getWindow(FrameContainer container);
197
+        TextFrame getWindow(WindowModel container);
199
 
198
 
200
         /**
199
         /**
201
          * Gets the set of components that this provider can provide windows for.
200
          * Gets the set of components that this provider can provide windows for.

+ 4
- 1
ui_swing/src/com/dmdirc/addons/ui_swing/WindowComparator.java View File

22
 
22
 
23
 package com.dmdirc.addons.ui_swing;
23
 package com.dmdirc.addons.ui_swing;
24
 
24
 
25
+import com.dmdirc.FrameContainer;
25
 import com.dmdirc.FrameContainerComparator;
26
 import com.dmdirc.FrameContainerComparator;
26
 import com.dmdirc.interfaces.ui.Window;
27
 import com.dmdirc.interfaces.ui.Window;
27
 
28
 
42
 
43
 
43
     @Override
44
     @Override
44
     public int compare(final Window item1, final Window item2) {
45
     public int compare(final Window item1, final Window item2) {
45
-        return comparator.compare(item1.getContainer(), item2.getContainer());
46
+        return comparator.compare(
47
+                (FrameContainer) item1.getContainer(),
48
+                (FrameContainer) item2.getContainer());
46
     }
49
     }
47
 }
50
 }

+ 3
- 3
ui_swing/src/com/dmdirc/addons/ui_swing/components/AwayLabel.java View File

22
 
22
 
23
 package com.dmdirc.addons.ui_swing.components;
23
 package com.dmdirc.addons.ui_swing.components;
24
 
24
 
25
-import com.dmdirc.FrameContainer;
26
 import com.dmdirc.addons.ui_swing.EDTInvocation;
25
 import com.dmdirc.addons.ui_swing.EDTInvocation;
27
 import com.dmdirc.addons.ui_swing.EdtHandlerInvocation;
26
 import com.dmdirc.addons.ui_swing.EdtHandlerInvocation;
28
 import com.dmdirc.config.ConfigBinding;
27
 import com.dmdirc.config.ConfigBinding;
30
 import com.dmdirc.events.ServerAwayEvent;
29
 import com.dmdirc.events.ServerAwayEvent;
31
 import com.dmdirc.events.ServerBackEvent;
30
 import com.dmdirc.events.ServerBackEvent;
32
 import com.dmdirc.interfaces.Connection;
31
 import com.dmdirc.interfaces.Connection;
32
+import com.dmdirc.interfaces.WindowModel;
33
 
33
 
34
 import javax.swing.JLabel;
34
 import javax.swing.JLabel;
35
 
35
 
48
     /** Away indicator. */
48
     /** Away indicator. */
49
     private boolean useAwayIndicator;
49
     private boolean useAwayIndicator;
50
     /** Parent frame container. */
50
     /** Parent frame container. */
51
-    private final FrameContainer container;
51
+    private final WindowModel container;
52
 
52
 
53
     /**
53
     /**
54
      * Creates a new away label for the specified container.
54
      * Creates a new away label for the specified container.
55
      *
55
      *
56
      * @param container Parent frame container
56
      * @param container Parent frame container
57
      */
57
      */
58
-    public AwayLabel(final FrameContainer container) {
58
+    public AwayLabel(final WindowModel container) {
59
         super("(away)");
59
         super("(away)");
60
 
60
 
61
         this.container = checkNotNull(container);
61
         this.container = checkNotNull(container);

+ 3
- 3
ui_swing/src/com/dmdirc/addons/ui_swing/components/TypingLabel.java View File

22
 
22
 
23
 package com.dmdirc.addons.ui_swing.components;
23
 package com.dmdirc.addons.ui_swing.components;
24
 
24
 
25
-import com.dmdirc.FrameContainer;
26
 import com.dmdirc.addons.ui_swing.EdtHandlerInvocation;
25
 import com.dmdirc.addons.ui_swing.EdtHandlerInvocation;
27
 import com.dmdirc.addons.ui_swing.UIUtilities;
26
 import com.dmdirc.addons.ui_swing.UIUtilities;
28
 import com.dmdirc.config.ConfigBinding;
27
 import com.dmdirc.config.ConfigBinding;
29
 import com.dmdirc.events.FrameClosingEvent;
28
 import com.dmdirc.events.FrameClosingEvent;
30
 import com.dmdirc.events.FrameComponentAddedEvent;
29
 import com.dmdirc.events.FrameComponentAddedEvent;
31
 import com.dmdirc.events.FrameComponentRemovedEvent;
30
 import com.dmdirc.events.FrameComponentRemovedEvent;
31
+import com.dmdirc.interfaces.WindowModel;
32
 import com.dmdirc.ui.core.components.WindowComponent;
32
 import com.dmdirc.ui.core.components.WindowComponent;
33
 
33
 
34
 import javax.swing.JLabel;
34
 import javax.swing.JLabel;
43
     /** A version number for this class. */
43
     /** A version number for this class. */
44
     private static final long serialVersionUID = 2;
44
     private static final long serialVersionUID = 2;
45
     /** Parent frame container. */
45
     /** Parent frame container. */
46
-    private final FrameContainer container;
46
+    private final WindowModel container;
47
     /** Whether or not to show the typing indicator. */
47
     /** Whether or not to show the typing indicator. */
48
     private boolean useTypingIndicator;
48
     private boolean useTypingIndicator;
49
 
49
 
52
      *
52
      *
53
      * @param container Parent frame container
53
      * @param container Parent frame container
54
      */
54
      */
55
-    public TypingLabel(final FrameContainer container) {
55
+    public TypingLabel(final WindowModel container) {
56
         super("[Typing...]");
56
         super("[Typing...]");
57
         this.container = container;
57
         this.container = container;
58
         setVisible(false);
58
         setVisible(false);

+ 2
- 2
ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/ChannelFrameFactory.java View File

23
 package com.dmdirc.addons.ui_swing.components.frames;
23
 package com.dmdirc.addons.ui_swing.components.frames;
24
 
24
 
25
 import com.dmdirc.DMDircMBassador;
25
 import com.dmdirc.DMDircMBassador;
26
-import com.dmdirc.FrameContainer;
27
 import com.dmdirc.addons.ui_swing.SwingController;
26
 import com.dmdirc.addons.ui_swing.SwingController;
28
 import com.dmdirc.addons.ui_swing.SwingWindowFactory;
27
 import com.dmdirc.addons.ui_swing.SwingWindowFactory;
29
 import com.dmdirc.addons.ui_swing.components.TopicBarFactory;
28
 import com.dmdirc.addons.ui_swing.components.TopicBarFactory;
31
 import com.dmdirc.addons.ui_swing.dialogs.channelsetting.ChannelSettingsDialog;
30
 import com.dmdirc.addons.ui_swing.dialogs.channelsetting.ChannelSettingsDialog;
32
 import com.dmdirc.addons.ui_swing.injection.KeyedDialogProvider;
31
 import com.dmdirc.addons.ui_swing.injection.KeyedDialogProvider;
33
 import com.dmdirc.interfaces.GroupChat;
32
 import com.dmdirc.interfaces.GroupChat;
33
+import com.dmdirc.interfaces.WindowModel;
34
 import com.dmdirc.interfaces.config.IdentityFactory;
34
 import com.dmdirc.interfaces.config.IdentityFactory;
35
 import com.dmdirc.plugins.PluginDomain;
35
 import com.dmdirc.plugins.PluginDomain;
36
 import com.dmdirc.ui.core.components.WindowComponent;
36
 import com.dmdirc.ui.core.components.WindowComponent;
81
     }
81
     }
82
 
82
 
83
     @Override
83
     @Override
84
-    public TextFrame getWindow(final FrameContainer container) {
84
+    public TextFrame getWindow(final WindowModel container) {
85
         final ChannelFrame frame = new ChannelFrame(domain, dependencies.get(), inputFieldProvider,
85
         final ChannelFrame frame = new ChannelFrame(domain, dependencies.get(), inputFieldProvider,
86
                 identityFactory, dialogProvider.get(), inputTextFramePasteActionFactory,
86
                 identityFactory, dialogProvider.get(), inputTextFramePasteActionFactory,
87
                 topicBarFactory, (GroupChat) container);
87
                 topicBarFactory, (GroupChat) container);

+ 2
- 1
ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/CommandAction.java View File

22
 
22
 
23
 package com.dmdirc.addons.ui_swing.components.frames;
23
 package com.dmdirc.addons.ui_swing.components.frames;
24
 
24
 
25
+import com.dmdirc.FrameContainer;
25
 import com.dmdirc.commandparser.parsers.CommandParser;
26
 import com.dmdirc.commandparser.parsers.CommandParser;
26
 import com.dmdirc.interfaces.ui.Window;
27
 import com.dmdirc.interfaces.ui.Window;
27
 
28
 
63
     @Override
64
     @Override
64
     public void actionPerformed(final ActionEvent e) {
65
     public void actionPerformed(final ActionEvent e) {
65
         for (String line : command.split("\n")) {
66
         for (String line : command.split("\n")) {
66
-            parser.parseCommand(window.getContainer(), line);
67
+            parser.parseCommand((FrameContainer) window.getContainer(), line);
67
         }
68
         }
68
     }
69
     }
69
 
70
 

+ 2
- 2
ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/ComponentFrame.java View File

22
 
22
 
23
 package com.dmdirc.addons.ui_swing.components.frames;
23
 package com.dmdirc.addons.ui_swing.components.frames;
24
 
24
 
25
-import com.dmdirc.FrameContainer;
26
 import com.dmdirc.commandparser.PopupType;
25
 import com.dmdirc.commandparser.PopupType;
27
 import com.dmdirc.commandparser.parsers.CommandParser;
26
 import com.dmdirc.commandparser.parsers.CommandParser;
27
+import com.dmdirc.interfaces.WindowModel;
28
 
28
 
29
 import java.util.function.Supplier;
29
 import java.util.function.Supplier;
30
 
30
 
51
      */
51
      */
52
     public ComponentFrame(
52
     public ComponentFrame(
53
             final TextFrameDependencies deps,
53
             final TextFrameDependencies deps,
54
-            final FrameContainer owner,
54
+            final WindowModel owner,
55
             final CommandParser commandParser,
55
             final CommandParser commandParser,
56
             final Iterable<Supplier<? extends JComponent>> componentSupplier) {
56
             final Iterable<Supplier<? extends JComponent>> componentSupplier) {
57
         super(owner, commandParser, deps);
57
         super(owner, commandParser, deps);

+ 2
- 1
ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/ComponentFrameFactory.java View File

25
 import com.dmdirc.DMDircMBassador;
25
 import com.dmdirc.DMDircMBassador;
26
 import com.dmdirc.FrameContainer;
26
 import com.dmdirc.FrameContainer;
27
 import com.dmdirc.commandparser.parsers.CommandParser;
27
 import com.dmdirc.commandparser.parsers.CommandParser;
28
+import com.dmdirc.interfaces.WindowModel;
28
 
29
 
29
 import java.util.function.Supplier;
30
 import java.util.function.Supplier;
30
 
31
 
52
     }
53
     }
53
 
54
 
54
     public ComponentFrame getComponentFrame(
55
     public ComponentFrame getComponentFrame(
55
-            final FrameContainer owner,
56
+            final WindowModel owner,
56
             final CommandParser commandParser,
57
             final CommandParser commandParser,
57
             final Iterable<Supplier<? extends JComponent>> componentSupplier) {
58
             final Iterable<Supplier<? extends JComponent>> componentSupplier) {
58
         final ComponentFrame frame = new ComponentFrame(dependencies, owner, commandParser,
59
         final ComponentFrame frame = new ComponentFrame(dependencies, owner, commandParser,

+ 2
- 1
ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/CustomFrame.java View File

25
 import com.dmdirc.FrameContainer;
25
 import com.dmdirc.FrameContainer;
26
 import com.dmdirc.commandparser.PopupType;
26
 import com.dmdirc.commandparser.PopupType;
27
 import com.dmdirc.commandparser.parsers.CommandParser;
27
 import com.dmdirc.commandparser.parsers.CommandParser;
28
+import com.dmdirc.interfaces.WindowModel;
28
 
29
 
29
 import javax.swing.JPopupMenu;
30
 import javax.swing.JPopupMenu;
30
 
31
 
48
     public CustomFrame(
49
     public CustomFrame(
49
             final TextFrameDependencies deps,
50
             final TextFrameDependencies deps,
50
             final CommandParser commandParser,
51
             final CommandParser commandParser,
51
-            final FrameContainer owner) {
52
+            final WindowModel owner) {
52
         super(owner, commandParser, deps);
53
         super(owner, commandParser, deps);
53
 
54
 
54
         initComponents();
55
         initComponents();

+ 2
- 2
ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/CustomFrameFactory.java View File

22
 
22
 
23
 package com.dmdirc.addons.ui_swing.components.frames;
23
 package com.dmdirc.addons.ui_swing.components.frames;
24
 
24
 
25
-import com.dmdirc.FrameContainer;
26
 import com.dmdirc.addons.ui_swing.SwingWindowFactory;
25
 import com.dmdirc.addons.ui_swing.SwingWindowFactory;
27
 import com.dmdirc.commandparser.parsers.GlobalCommandParser;
26
 import com.dmdirc.commandparser.parsers.GlobalCommandParser;
27
+import com.dmdirc.interfaces.WindowModel;
28
 import com.dmdirc.ui.core.components.WindowComponent;
28
 import com.dmdirc.ui.core.components.WindowComponent;
29
 
29
 
30
 import java.util.Collections;
30
 import java.util.Collections;
55
     }
55
     }
56
 
56
 
57
     @Override
57
     @Override
58
-    public TextFrame getWindow(final FrameContainer container) {
58
+    public TextFrame getWindow(final WindowModel container) {
59
         return new CustomFrame(dependencies.get(), commandParser, container);
59
         return new CustomFrame(dependencies.get(), commandParser, container);
60
     }
60
     }
61
 
61
 

+ 2
- 1
ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/CustomInputFrame.java View File

25
 import com.dmdirc.FrameContainer;
25
 import com.dmdirc.FrameContainer;
26
 import com.dmdirc.addons.ui_swing.components.inputfields.SwingInputField;
26
 import com.dmdirc.addons.ui_swing.components.inputfields.SwingInputField;
27
 import com.dmdirc.commandparser.PopupType;
27
 import com.dmdirc.commandparser.PopupType;
28
+import com.dmdirc.interfaces.WindowModel;
28
 
29
 
29
 import javax.inject.Provider;
30
 import javax.inject.Provider;
30
 import javax.swing.JPopupMenu;
31
 import javax.swing.JPopupMenu;
50
             final TextFrameDependencies deps,
51
             final TextFrameDependencies deps,
51
             final Provider<SwingInputField> inputFieldProvider,
52
             final Provider<SwingInputField> inputFieldProvider,
52
             final InputTextFramePasteActionFactory inputTextFramePasteActionFactory,
53
             final InputTextFramePasteActionFactory inputTextFramePasteActionFactory,
53
-            final FrameContainer owner) {
54
+            final WindowModel owner) {
54
         super(deps, inputFieldProvider, inputTextFramePasteActionFactory, owner);
55
         super(deps, inputFieldProvider, inputTextFramePasteActionFactory, owner);
55
 
56
 
56
         initComponents();
57
         initComponents();

+ 2
- 2
ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/CustomInputFrameFactory.java View File

23
 package com.dmdirc.addons.ui_swing.components.frames;
23
 package com.dmdirc.addons.ui_swing.components.frames;
24
 
24
 
25
 import com.dmdirc.DMDircMBassador;
25
 import com.dmdirc.DMDircMBassador;
26
-import com.dmdirc.FrameContainer;
27
 import com.dmdirc.addons.ui_swing.SwingWindowFactory;
26
 import com.dmdirc.addons.ui_swing.SwingWindowFactory;
28
 import com.dmdirc.addons.ui_swing.components.inputfields.SwingInputField;
27
 import com.dmdirc.addons.ui_swing.components.inputfields.SwingInputField;
28
+import com.dmdirc.interfaces.WindowModel;
29
 import com.dmdirc.ui.core.components.WindowComponent;
29
 import com.dmdirc.ui.core.components.WindowComponent;
30
 
30
 
31
 import java.util.Arrays;
31
 import java.util.Arrays;
62
     }
62
     }
63
 
63
 
64
     @Override
64
     @Override
65
-    public TextFrame getWindow(final FrameContainer container) {
65
+    public TextFrame getWindow(final WindowModel container) {
66
         final CustomInputFrame frame = new CustomInputFrame(dependencies.get(), inputFieldProvider,
66
         final CustomInputFrame frame = new CustomInputFrame(dependencies.get(), inputFieldProvider,
67
                 inputTextFramePasteActionFactory, container);
67
                 inputTextFramePasteActionFactory, container);
68
         eventBus.subscribe(frame);
68
         eventBus.subscribe(frame);

+ 2
- 1
ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/InputTextFrame.java View File

35
 import com.dmdirc.addons.ui_swing.components.inputfields.SwingInputHandler;
35
 import com.dmdirc.addons.ui_swing.components.inputfields.SwingInputHandler;
36
 import com.dmdirc.config.ConfigBinding;
36
 import com.dmdirc.config.ConfigBinding;
37
 import com.dmdirc.interfaces.CommandController;
37
 import com.dmdirc.interfaces.CommandController;
38
+import com.dmdirc.interfaces.WindowModel;
38
 import com.dmdirc.interfaces.ui.InputWindow;
39
 import com.dmdirc.interfaces.ui.InputWindow;
39
 import com.dmdirc.plugins.ServiceManager;
40
 import com.dmdirc.plugins.ServiceManager;
40
 import com.dmdirc.ui.input.InputHandler;
41
 import com.dmdirc.ui.input.InputHandler;
95
             final TextFrameDependencies deps,
96
             final TextFrameDependencies deps,
96
             final Provider<SwingInputField> inputFieldProvider,
97
             final Provider<SwingInputField> inputFieldProvider,
97
             final InputTextFramePasteActionFactory inputTextFramePasteActionFactory,
98
             final InputTextFramePasteActionFactory inputTextFramePasteActionFactory,
98
-            final FrameContainer owner) {
99
+            final WindowModel owner) {
99
         super(owner, owner.getCommandParser(), deps);
100
         super(owner, owner.getCommandParser(), deps);
100
 
101
 
101
         serviceManager = deps.serviceManager;
102
         serviceManager = deps.serviceManager;

+ 3
- 3
ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/InputTextFramePasteAction.java View File

23
 package com.dmdirc.addons.ui_swing.components.frames;
23
 package com.dmdirc.addons.ui_swing.components.frames;
24
 
24
 
25
 import com.dmdirc.DMDircMBassador;
25
 import com.dmdirc.DMDircMBassador;
26
-import com.dmdirc.FrameContainer;
27
 import com.dmdirc.addons.ui_swing.components.inputfields.SwingInputField;
26
 import com.dmdirc.addons.ui_swing.components.inputfields.SwingInputField;
28
 import com.dmdirc.addons.ui_swing.dialogs.paste.PasteDialogFactory;
27
 import com.dmdirc.addons.ui_swing.dialogs.paste.PasteDialogFactory;
29
 import com.dmdirc.events.UserErrorEvent;
28
 import com.dmdirc.events.UserErrorEvent;
29
+import com.dmdirc.interfaces.WindowModel;
30
 import com.dmdirc.logger.ErrorLevel;
30
 import com.dmdirc.logger.ErrorLevel;
31
 
31
 
32
 import java.awt.Toolkit;
32
 import java.awt.Toolkit;
55
     /** Swing input field. */
55
     /** Swing input field. */
56
     private final SwingInputField inputField;
56
     private final SwingInputField inputField;
57
     /** Frame container. */
57
     /** Frame container. */
58
-    private final FrameContainer container;
58
+    private final WindowModel container;
59
     /** Paste dialog factory. */
59
     /** Paste dialog factory. */
60
     private final PasteDialogFactory pasteDialogFactory;
60
     private final PasteDialogFactory pasteDialogFactory;
61
     /** Window to parent the dialog on. */
61
     /** Window to parent the dialog on. */
69
      */
69
      */
70
     public InputTextFramePasteAction(final InputTextFrame inputFrame,
70
     public InputTextFramePasteAction(final InputTextFrame inputFrame,
71
             final SwingInputField inputField,
71
             final SwingInputField inputField,
72
-            final FrameContainer container,
72
+            final WindowModel container,
73
             final Clipboard clipboard,
73
             final Clipboard clipboard,
74
             final DMDircMBassador eventBus,
74
             final DMDircMBassador eventBus,
75
             final PasteDialogFactory pasteDialogFactory,
75
             final PasteDialogFactory pasteDialogFactory,

+ 2
- 1
ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/InputTextFramePasteActionFactory.java View File

27
 import com.dmdirc.addons.ui_swing.components.inputfields.SwingInputField;
27
 import com.dmdirc.addons.ui_swing.components.inputfields.SwingInputField;
28
 import com.dmdirc.addons.ui_swing.dialogs.paste.PasteDialogFactory;
28
 import com.dmdirc.addons.ui_swing.dialogs.paste.PasteDialogFactory;
29
 import com.dmdirc.addons.ui_swing.injection.MainWindow;
29
 import com.dmdirc.addons.ui_swing.injection.MainWindow;
30
+import com.dmdirc.interfaces.WindowModel;
30
 
31
 
31
 import java.awt.Window;
32
 import java.awt.Window;
32
 import java.awt.datatransfer.Clipboard;
33
 import java.awt.datatransfer.Clipboard;
58
     public InputTextFramePasteAction getInputTextFramePasteAction(
59
     public InputTextFramePasteAction getInputTextFramePasteAction(
59
             final InputTextFrame inputFrame,
60
             final InputTextFrame inputFrame,
60
             final SwingInputField inputField,
61
             final SwingInputField inputField,
61
-            final FrameContainer container) {
62
+            final WindowModel container) {
62
         return new InputTextFramePasteAction(inputFrame, inputField, container, clipboard,
63
         return new InputTextFramePasteAction(inputFrame, inputField, container, clipboard,
63
                 eventBus, pasteDialogFactory, window);
64
                 eventBus, pasteDialogFactory, window);
64
     }
65
     }

+ 2
- 2
ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/ServerFrameFactory.java View File

23
 package com.dmdirc.addons.ui_swing.components.frames;
23
 package com.dmdirc.addons.ui_swing.components.frames;
24
 
24
 
25
 import com.dmdirc.DMDircMBassador;
25
 import com.dmdirc.DMDircMBassador;
26
-import com.dmdirc.FrameContainer;
27
 import com.dmdirc.addons.ui_swing.SwingWindowFactory;
26
 import com.dmdirc.addons.ui_swing.SwingWindowFactory;
28
 import com.dmdirc.addons.ui_swing.components.inputfields.SwingInputField;
27
 import com.dmdirc.addons.ui_swing.components.inputfields.SwingInputField;
29
 import com.dmdirc.addons.ui_swing.dialogs.serversetting.ServerSettingsDialog;
28
 import com.dmdirc.addons.ui_swing.dialogs.serversetting.ServerSettingsDialog;
30
 import com.dmdirc.addons.ui_swing.dialogs.sslcertificate.SSLCertificateDialogFactory;
29
 import com.dmdirc.addons.ui_swing.dialogs.sslcertificate.SSLCertificateDialogFactory;
31
 import com.dmdirc.addons.ui_swing.injection.KeyedDialogProvider;
30
 import com.dmdirc.addons.ui_swing.injection.KeyedDialogProvider;
32
 import com.dmdirc.interfaces.Connection;
31
 import com.dmdirc.interfaces.Connection;
32
+import com.dmdirc.interfaces.WindowModel;
33
 import com.dmdirc.ui.core.components.WindowComponent;
33
 import com.dmdirc.ui.core.components.WindowComponent;
34
 
34
 
35
 import java.util.Arrays;
35
 import java.util.Arrays;
72
     }
72
     }
73
 
73
 
74
     @Override
74
     @Override
75
-    public TextFrame getWindow(final FrameContainer container) {
75
+    public TextFrame getWindow(final WindowModel container) {
76
         final ServerFrame frame =  new ServerFrame(dependencies.get(), inputFieldProvider,
76
         final ServerFrame frame =  new ServerFrame(dependencies.get(), inputFieldProvider,
77
                 inputTextFramePasteActionFactory, dialogProvider.get(),
77
                 inputTextFramePasteActionFactory, dialogProvider.get(),
78
                 sslCertificateDialogFactory, container.getConnection().get());
78
                 sslCertificateDialogFactory, container.getConnection().get());

+ 4
- 4
ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/TextFrame.java View File

24
 
24
 
25
 import com.dmdirc.ClientModule.GlobalConfig;
25
 import com.dmdirc.ClientModule.GlobalConfig;
26
 import com.dmdirc.DMDircMBassador;
26
 import com.dmdirc.DMDircMBassador;
27
-import com.dmdirc.FrameContainer;
28
 import com.dmdirc.addons.ui_swing.EdtHandlerInvocation;
27
 import com.dmdirc.addons.ui_swing.EdtHandlerInvocation;
29
 import com.dmdirc.addons.ui_swing.SwingController;
28
 import com.dmdirc.addons.ui_swing.SwingController;
30
 import com.dmdirc.addons.ui_swing.UIUtilities;
29
 import com.dmdirc.addons.ui_swing.UIUtilities;
58
 import com.dmdirc.events.LinkNicknameClickedEvent;
57
 import com.dmdirc.events.LinkNicknameClickedEvent;
59
 import com.dmdirc.events.LinkUrlClickedEvent;
58
 import com.dmdirc.events.LinkUrlClickedEvent;
60
 import com.dmdirc.interfaces.CommandController;
59
 import com.dmdirc.interfaces.CommandController;
60
+import com.dmdirc.interfaces.WindowModel;
61
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
61
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
62
 import com.dmdirc.interfaces.ui.Window;
62
 import com.dmdirc.interfaces.ui.Window;
63
 import com.dmdirc.plugins.ServiceManager;
63
 import com.dmdirc.plugins.ServiceManager;
96
     /** A version number for this class. */
96
     /** A version number for this class. */
97
     private static final long serialVersionUID = 5;
97
     private static final long serialVersionUID = 5;
98
     /** The channel object that owns this frame. */
98
     /** The channel object that owns this frame. */
99
-    protected final FrameContainer frameParent;
99
+    protected final WindowModel frameParent;
100
     /** Colour manager. */
100
     /** Colour manager. */
101
     protected final ColourManager colourManager;
101
     protected final ColourManager colourManager;
102
     /** Frame output pane. */
102
     /** Frame output pane. */
129
      * @param deps          Collection of TextPane dependencies.
129
      * @param deps          Collection of TextPane dependencies.
130
      */
130
      */
131
     protected TextFrame(
131
     protected TextFrame(
132
-            final FrameContainer owner,
132
+            final WindowModel owner,
133
             final CommandParser commandParser,
133
             final CommandParser commandParser,
134
             final TextFrameDependencies deps) {
134
             final TextFrameDependencies deps) {
135
         this.swingEventBus = deps.swingEventBus;
135
         this.swingEventBus = deps.swingEventBus;
270
     }
270
     }
271
     
271
     
272
     @Override
272
     @Override
273
-    public FrameContainer getContainer() {
273
+    public WindowModel getContainer() {
274
         return frameParent;
274
         return frameParent;
275
     }
275
     }
276
 
276
 

+ 4
- 1
ui_swing/src/com/dmdirc/addons/ui_swing/components/frames/TextFrameComparator.java View File

22
 
22
 
23
 package com.dmdirc.addons.ui_swing.components.frames;
23
 package com.dmdirc.addons.ui_swing.components.frames;
24
 
24
 
25
+import com.dmdirc.FrameContainer;
25
 import com.dmdirc.FrameContainerComparator;
26
 import com.dmdirc.FrameContainerComparator;
26
 
27
 
27
 import java.io.Serializable;
28
 import java.io.Serializable;
48
      */
49
      */
49
     @Override
50
     @Override
50
     public int compare(final TextFrame item1, final TextFrame item2) {
51
     public int compare(final TextFrame item1, final TextFrame item2) {
51
-        return comparator.compare(item1.getContainer(), item2.getContainer());
52
+        return comparator.compare(
53
+                (FrameContainer) item1.getContainer(),
54
+                (FrameContainer) item2.getContainer());
52
     }
55
     }
53
 
56
 
54
 }
57
 }

+ 2
- 1
ui_swing/src/com/dmdirc/addons/ui_swing/components/inputfields/SwingInputHandler.java View File

29
 import com.dmdirc.addons.ui_swing.components.LoggingSwingWorker;
29
 import com.dmdirc.addons.ui_swing.components.LoggingSwingWorker;
30
 import com.dmdirc.commandparser.parsers.CommandParser;
30
 import com.dmdirc.commandparser.parsers.CommandParser;
31
 import com.dmdirc.interfaces.CommandController;
31
 import com.dmdirc.interfaces.CommandController;
32
+import com.dmdirc.interfaces.WindowModel;
32
 import com.dmdirc.interfaces.ui.InputField;
33
 import com.dmdirc.interfaces.ui.InputField;
33
 import com.dmdirc.plugins.ServiceManager;
34
 import com.dmdirc.plugins.ServiceManager;
34
 import com.dmdirc.ui.input.InputHandler;
35
 import com.dmdirc.ui.input.InputHandler;
66
             final InputField target,
67
             final InputField target,
67
             final CommandController commandController,
68
             final CommandController commandController,
68
             final CommandParser commandParser,
69
             final CommandParser commandParser,
69
-            final FrameContainer parentWindow,
70
+            final WindowModel parentWindow,
70
             final TabCompleterUtils tabCompleterUtils,
71
             final TabCompleterUtils tabCompleterUtils,
71
             final DMDircMBassador eventBus) {
72
             final DMDircMBassador eventBus) {
72
         super(serviceManager, target, commandController, commandParser, parentWindow,
73
         super(serviceManager, target, commandController, commandParser, parentWindow,

+ 5
- 4
ui_swing/src/com/dmdirc/addons/ui_swing/components/menubar/ChannelMenu.java View File

22
 
22
 
23
 package com.dmdirc.addons.ui_swing.components.menubar;
23
 package com.dmdirc.addons.ui_swing.components.menubar;
24
 
24
 
25
-import com.dmdirc.FrameContainer;
26
 import com.dmdirc.ServerState;
25
 import com.dmdirc.ServerState;
27
 import com.dmdirc.addons.ui_swing.MainFrame;
26
 import com.dmdirc.addons.ui_swing.MainFrame;
27
+import com.dmdirc.addons.ui_swing.components.IconManager;
28
 import com.dmdirc.addons.ui_swing.components.frames.TextFrame;
28
 import com.dmdirc.addons.ui_swing.components.frames.TextFrame;
29
 import com.dmdirc.addons.ui_swing.dialogs.StandardInputDialog;
29
 import com.dmdirc.addons.ui_swing.dialogs.StandardInputDialog;
30
 import com.dmdirc.addons.ui_swing.dialogs.channellist.ChannelListDialog;
30
 import com.dmdirc.addons.ui_swing.dialogs.channellist.ChannelListDialog;
34
 import com.dmdirc.addons.ui_swing.interfaces.ActiveFrameManager;
34
 import com.dmdirc.addons.ui_swing.interfaces.ActiveFrameManager;
35
 import com.dmdirc.interfaces.Connection;
35
 import com.dmdirc.interfaces.Connection;
36
 import com.dmdirc.interfaces.GroupChat;
36
 import com.dmdirc.interfaces.GroupChat;
37
+import com.dmdirc.interfaces.WindowModel;
37
 import com.dmdirc.parser.common.ChannelJoinRequest;
38
 import com.dmdirc.parser.common.ChannelJoinRequest;
38
-import com.dmdirc.addons.ui_swing.components.IconManager;
39
 
39
 
40
 import java.awt.Dialog;
40
 import java.awt.Dialog;
41
 import java.util.Optional;
41
 import java.util.Optional;
131
     private void doJoinChannel(final String text) {
131
     private void doJoinChannel(final String text) {
132
         activeFrameManager.getActiveFrame()
132
         activeFrameManager.getActiveFrame()
133
                 .map(TextFrame::getContainer)
133
                 .map(TextFrame::getContainer)
134
-                .flatMap(FrameContainer::getConnection)
134
+                .flatMap(WindowModel::getConnection)
135
                 .map(Connection::getGroupChatManager)
135
                 .map(Connection::getGroupChatManager)
136
                 .ifPresent(c -> c.join(new ChannelJoinRequest(text)));
136
                 .ifPresent(c -> c.join(new ChannelJoinRequest(text)));
137
     }
137
     }
139
     @Override
139
     @Override
140
     public final void menuSelected(final MenuEvent e) {
140
     public final void menuSelected(final MenuEvent e) {
141
         final Optional<ServerState> activeConnectionState = activeFrameManager.getActiveFrame()
141
         final Optional<ServerState> activeConnectionState = activeFrameManager.getActiveFrame()
142
-                .map(TextFrame::getContainer).flatMap(FrameContainer::getConnection)
142
+                .map(TextFrame::getContainer)
143
+                .flatMap(WindowModel::getConnection)
143
                 .map(Connection::getState);
144
                 .map(Connection::getState);
144
         final boolean connected = activeConnectionState.equals(Optional.of(ServerState.CONNECTED));
145
         final boolean connected = activeConnectionState.equals(Optional.of(ServerState.CONNECTED));
145
 
146
 

+ 4
- 3
ui_swing/src/com/dmdirc/addons/ui_swing/components/menubar/ServerMenu.java View File

22
 
22
 
23
 package com.dmdirc.addons.ui_swing.components.menubar;
23
 package com.dmdirc.addons.ui_swing.components.menubar;
24
 
24
 
25
-import com.dmdirc.FrameContainer;
26
 import com.dmdirc.ServerState;
25
 import com.dmdirc.ServerState;
27
 import com.dmdirc.addons.ui_swing.Apple;
26
 import com.dmdirc.addons.ui_swing.Apple;
28
 import com.dmdirc.addons.ui_swing.components.frames.TextFrame;
27
 import com.dmdirc.addons.ui_swing.components.frames.TextFrame;
33
 import com.dmdirc.addons.ui_swing.interfaces.ActiveFrameManager;
32
 import com.dmdirc.addons.ui_swing.interfaces.ActiveFrameManager;
34
 import com.dmdirc.interfaces.Connection;
33
 import com.dmdirc.interfaces.Connection;
35
 import com.dmdirc.interfaces.LifecycleController;
34
 import com.dmdirc.interfaces.LifecycleController;
35
+import com.dmdirc.interfaces.WindowModel;
36
 
36
 
37
 import java.util.Optional;
37
 import java.util.Optional;
38
 
38
 
104
         disconnect.setMnemonic('d');
104
         disconnect.setMnemonic('d');
105
         disconnect.addActionListener(e -> activeFrameManager.getActiveFrame()
105
         disconnect.addActionListener(e -> activeFrameManager.getActiveFrame()
106
                 .map(TextFrame::getContainer)
106
                 .map(TextFrame::getContainer)
107
-                .flatMap(FrameContainer::getConnection)
107
+                .flatMap(WindowModel::getConnection)
108
                 .ifPresent(Connection::disconnect));
108
                 .ifPresent(Connection::disconnect));
109
         add(disconnect);
109
         add(disconnect);
110
 
110
 
128
     @Override
128
     @Override
129
     public final void menuSelected(final MenuEvent e) {
129
     public final void menuSelected(final MenuEvent e) {
130
         final Optional<ServerState> activeConnectionState = activeFrameManager.getActiveFrame()
130
         final Optional<ServerState> activeConnectionState = activeFrameManager.getActiveFrame()
131
-                .map(TextFrame::getContainer).flatMap(FrameContainer::getConnection)
131
+                .map(TextFrame::getContainer)
132
+                .flatMap(WindowModel::getConnection)
132
                 .map(Connection::getState);
133
                 .map(Connection::getState);
133
         final boolean connected = activeConnectionState.equals(Optional.of(ServerState.CONNECTED));
134
         final boolean connected = activeConnectionState.equals(Optional.of(ServerState.CONNECTED));
134
 
135
 

+ 4
- 2
ui_swing/src/com/dmdirc/addons/ui_swing/framemanager/tree/TreeFrameManager.java View File

237
             }
237
             }
238
 
238
 
239
             node.getLabel().unreadStatusChanged(new UnreadStatusChangedEvent(
239
             node.getLabel().unreadStatusChanged(new UnreadStatusChangedEvent(
240
-                    window.getContainer(), window.getContainer().getUnreadStatusManager(),
240
+                    (FrameContainer) window.getContainer(),
241
+                    window.getContainer().getUnreadStatusManager(),
241
                     window.getContainer().getUnreadStatusManager().getNotificationColour(),
242
                     window.getContainer().getUnreadStatusManager().getNotificationColour(),
242
                     window.getContainer().getUnreadStatusManager().getUnreadLines()));
243
                     window.getContainer().getUnreadStatusManager().getUnreadLines()));
243
-            node.getLabel().iconChanged(new FrameIconChangedEvent(window.getContainer(),
244
+            node.getLabel().iconChanged(new FrameIconChangedEvent(
245
+                    (FrameContainer) window.getContainer(),
244
                     window.getContainer().getIcon()));
246
                     window.getContainer().getIcon()));
245
         });
247
         });
246
     }
248
     }

+ 2
- 2
windowstatus/src/com/dmdirc/addons/windowstatus/WindowStatusManager.java View File

24
 
24
 
25
 import com.dmdirc.ClientModule.GlobalConfig;
25
 import com.dmdirc.ClientModule.GlobalConfig;
26
 import com.dmdirc.DMDircMBassador;
26
 import com.dmdirc.DMDircMBassador;
27
-import com.dmdirc.FrameContainer;
28
 import com.dmdirc.addons.ui_swing.EDTInvocation;
27
 import com.dmdirc.addons.ui_swing.EDTInvocation;
29
 import com.dmdirc.addons.ui_swing.EdtHandlerInvocation;
28
 import com.dmdirc.addons.ui_swing.EdtHandlerInvocation;
30
 import com.dmdirc.addons.ui_swing.UIUtilities;
29
 import com.dmdirc.addons.ui_swing.UIUtilities;
44
 import com.dmdirc.interfaces.Connection;
43
 import com.dmdirc.interfaces.Connection;
45
 import com.dmdirc.interfaces.GroupChat;
44
 import com.dmdirc.interfaces.GroupChat;
46
 import com.dmdirc.interfaces.PrivateChat;
45
 import com.dmdirc.interfaces.PrivateChat;
46
+import com.dmdirc.interfaces.WindowModel;
47
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
47
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
48
 import com.dmdirc.interfaces.ui.Window;
48
 import com.dmdirc.interfaces.ui.Window;
49
 import com.dmdirc.plugins.PluginDomain;
49
 import com.dmdirc.plugins.PluginDomain;
126
      *
126
      *
127
      * @param current Window to use when adding status.
127
      * @param current Window to use when adding status.
128
      */
128
      */
129
-    public void updateStatus(final FrameContainer current) {
129
+    public void updateStatus(final WindowModel current) {
130
         if (current == null) {
130
         if (current == null) {
131
             return;
131
             return;
132
         }
132
         }

Loading…
Cancel
Save