Browse Source

Merge pull request #455 from csmith/master

Remove usages of FrameContainer window methods.
pull/456/head
Greg Holmes 8 years ago
parent
commit
63aaa7d0f7

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

698
      * Create the container window.
698
      * Create the container window.
699
      */
699
      */
700
     protected void createContainer() {
700
     protected void createContainer() {
701
-        container = new PlaceholderContainer(this, config, backBufferFactory, mainWindow, eventBus);
701
+        container = new PlaceholderContainer(this, config, backBufferFactory, mainWindow,
702
+                windowManager, eventBus);
702
         windowManager.addWindow(container);
703
         windowManager.addWindow(container);
703
     }
704
     }
704
 
705
 

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

28
 import com.dmdirc.interfaces.Connection;
28
 import com.dmdirc.interfaces.Connection;
29
 import com.dmdirc.interfaces.WindowModel;
29
 import com.dmdirc.interfaces.WindowModel;
30
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
30
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
31
+import com.dmdirc.ui.WindowManager;
31
 import com.dmdirc.ui.messages.BackBufferFactory;
32
 import com.dmdirc.ui.messages.BackBufferFactory;
32
 
33
 
33
 import java.awt.Dialog.ModalityType;
34
 import java.awt.Dialog.ModalityType;
44
     private final DCCManager plugin;
45
     private final DCCManager plugin;
45
     /** Window that will own new dialogs. */
46
     /** Window that will own new dialogs. */
46
     private final Window parentWindow;
47
     private final Window parentWindow;
48
+    private final WindowManager windowManager;
47
 
49
 
48
     /**
50
     /**
49
      * Creates a placeholder DCC frame.
51
      * Creates a placeholder DCC frame.
58
             final AggregateConfigProvider config,
60
             final AggregateConfigProvider config,
59
             final BackBufferFactory backBufferFactory,
61
             final BackBufferFactory backBufferFactory,
60
             final Window parentWindow,
62
             final Window parentWindow,
63
+            final WindowManager windowManager,
61
             final DMDircMBassador eventBus) {
64
             final DMDircMBassador eventBus) {
62
         super(null, "dcc", "DCCs", "DCCs", config, backBufferFactory, eventBus,
65
         super(null, "dcc", "DCCs", "DCCs", config, backBufferFactory, eventBus,
63
                 Collections.singletonList("com.dmdirc.addons.dcc.ui.PlaceholderPanel"));
66
                 Collections.singletonList("com.dmdirc.addons.dcc.ui.PlaceholderPanel"));
64
         this.plugin = plugin;
67
         this.plugin = plugin;
65
         this.parentWindow = parentWindow;
68
         this.parentWindow = parentWindow;
69
+        this.windowManager = windowManager;
66
         initBackBuffer();
70
         initBackBuffer();
67
     }
71
     }
68
 
72
 
69
     @Override
73
     @Override
70
     public void close() {
74
     public void close() {
71
         int dccs = 0;
75
         int dccs = 0;
72
-        for (WindowModel window : getChildren()) {
76
+        for (WindowModel window : windowManager.getChildren(this)) {
73
             if (window instanceof TransferContainer
77
             if (window instanceof TransferContainer
74
                     && ((TransferContainer) window).getDCC().isActive()
78
                     && ((TransferContainer) window).getDCC().isActive()
75
                     || window instanceof ChatContainer
79
                     || window instanceof ChatContainer
99
     public void removeChild(final WindowModel child) {
103
     public void removeChild(final WindowModel child) {
100
         super.removeChild(child);
104
         super.removeChild(child);
101
 
105
 
102
-        if (getChildren().isEmpty()) {
106
+        if (windowManager.getChildren(this).isEmpty()) {
103
             close();
107
             close();
104
         }
108
         }
105
     }
109
     }

+ 3
- 1
logging/src/com/dmdirc/addons/logging/HistoryWindow.java View File

49
 public class HistoryWindow extends FrameContainer {
49
 public class HistoryWindow extends FrameContainer {
50
 
50
 
51
     private static final Logger LOG = LoggerFactory.getLogger(HistoryWindow.class);
51
     private static final Logger LOG = LoggerFactory.getLogger(HistoryWindow.class);
52
+    private final Optional<Connection> connection;
52
     private final Path logFile;
53
     private final Path logFile;
53
     private final int numLines;
54
     private final int numLines;
54
 
55
 
66
                 eventBus, Collections.singletonList(WindowComponent.TEXTAREA.getIdentifier()));
67
                 eventBus, Collections.singletonList(WindowComponent.TEXTAREA.getIdentifier()));
67
         this.logFile = logFile;
68
         this.logFile = logFile;
68
         this.numLines = numLines;
69
         this.numLines = numLines;
70
+        this.connection = parent.getConnection();
69
 
71
 
70
         initBackBuffer();
72
         initBackBuffer();
71
         outputLoggingBackBuffer(parent.getConfigManager().getOptionInt("ui", "frameBufferSize"));
73
         outputLoggingBackBuffer(parent.getConfigManager().getOptionInt("ui", "frameBufferSize"));
73
 
75
 
74
     @Override
76
     @Override
75
     public Optional<Connection> getConnection() {
77
     public Optional<Connection> getConnection() {
76
-        return getParent().flatMap(WindowModel::getConnection);
78
+        return connection;
77
     }
79
     }
78
 
80
 
79
     @VisibleForTesting
81
     @VisibleForTesting

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

312
 
312
 
313
             for (WindowModel window : windowManager.getRootWindows()) {
313
             for (WindowModel window : windowManager.getRootWindows()) {
314
                 addWindow(null, windowFactory.getSwingWindow(window));
314
                 addWindow(null, windowFactory.getSwingWindow(window));
315
-                final Collection<WindowModel> childWindows = window.getChildren();
315
+                final Collection<WindowModel> childWindows = windowManager.getChildren(window);
316
                 for (WindowModel childWindow : childWindows) {
316
                 for (WindowModel childWindow : childWindows) {
317
                     addWindow(nodes.get(windowFactory.getSwingWindow(window)),
317
                     addWindow(nodes.get(windowFactory.getSwingWindow(window)),
318
                             windowFactory.getSwingWindow(childWindow));
318
                             windowFactory.getSwingWindow(childWindow));

+ 4
- 2
ui_web2/src/com/dmdirc/addons/ui_web2/InitialStateProducer.java View File

45
     private final WindowManager windowManager;
45
     private final WindowManager windowManager;
46
 
46
 
47
     @Inject
47
     @Inject
48
-    public InitialStateProducer(final WindowManager windowManager) {
48
+    public InitialStateProducer(
49
+            final WindowManager windowManager,
50
+            final WindowModelSerialiser windowSerialiser) {
49
         serialiser = new GsonBuilder()
51
         serialiser = new GsonBuilder()
50
-                .registerTypeHierarchyAdapter(WindowModel.class, new WindowModelSerialiser())
52
+                .registerTypeHierarchyAdapter(WindowModel.class, windowSerialiser)
51
                 .registerTypeAdapter(BackBuffer.class, new BackBufferSerializer())
53
                 .registerTypeAdapter(BackBuffer.class, new BackBufferSerializer())
52
                 .create();
54
                 .create();
53
         this.windowManager = windowManager;
55
         this.windowManager = windowManager;

+ 11
- 1
ui_web2/src/com/dmdirc/addons/ui_web2/serialisers/WindowModelSerialiser.java View File

23
 package com.dmdirc.addons.ui_web2.serialisers;
23
 package com.dmdirc.addons.ui_web2.serialisers;
24
 
24
 
25
 import com.dmdirc.interfaces.WindowModel;
25
 import com.dmdirc.interfaces.WindowModel;
26
+import com.dmdirc.ui.WindowManager;
26
 
27
 
27
 import com.google.gson.JsonElement;
28
 import com.google.gson.JsonElement;
28
 import com.google.gson.JsonObject;
29
 import com.google.gson.JsonObject;
31
 
32
 
32
 import java.lang.reflect.Type;
33
 import java.lang.reflect.Type;
33
 
34
 
35
+import javax.inject.Inject;
36
+
34
 /**
37
 /**
35
  * Serialises {@link WindowModel}s.
38
  * Serialises {@link WindowModel}s.
36
  */
39
  */
37
 public class WindowModelSerialiser implements JsonSerializer<WindowModel> {
40
 public class WindowModelSerialiser implements JsonSerializer<WindowModel> {
38
 
41
 
42
+    private final WindowManager windowManager;
43
+
44
+    @Inject
45
+    public WindowModelSerialiser(final WindowManager windowManager) {
46
+        this.windowManager = windowManager;
47
+    }
48
+
39
     @Override
49
     @Override
40
     public JsonElement serialize(final WindowModel src, final Type typeOfSrc,
50
     public JsonElement serialize(final WindowModel src, final Type typeOfSrc,
41
             final JsonSerializationContext context) {
51
             final JsonSerializationContext context) {
44
         res.addProperty("icon", src.getIcon());
54
         res.addProperty("icon", src.getIcon());
45
         res.addProperty("title", src.getTitle());
55
         res.addProperty("title", src.getTitle());
46
         res.addProperty("writable", src.isWritable());
56
         res.addProperty("writable", src.isWritable());
47
-        res.add("children", context.serialize(src.getChildren()));
57
+        res.add("children", context.serialize(windowManager.getChildren(src)));
48
         res.add("components", context.serialize(src.getComponents()));
58
         res.add("components", context.serialize(src.getComponents()));
49
         res.add("backbuffer", context.serialize(src.getBackBuffer()));
59
         res.add("backbuffer", context.serialize(src.getBackBuffer()));
50
         return res;
60
         return res;

Loading…
Cancel
Save