Quellcode durchsuchen

LibGUI: Add forwarding header

This patch adds <LibGUI/Forward.h> and uses it a bunch.
It also dragged various header dependency reduction changes into it.
Andreas Kling vor 5 Jahren
Ursprung
Commit
2143da6434
100 geänderte Dateien mit 205 neuen und 296 gelöschten Zeilen
  1. 0 5
      Applications/Browser/InspectorWidget.h
  2. 0 6
      Applications/Calculator/CalculatorWidget.h
  3. 0 4
      Applications/HexEditor/HexEditorWidget.h
  4. 0 5
      Applications/IRCClient/IRCAppWindow.h
  5. 0 4
      Applications/IRCClient/IRCWindow.h
  6. 0 5
      Applications/PaintBrush/EllipseTool.h
  7. 0 4
      Applications/PaintBrush/EraseTool.h
  8. 0 4
      Applications/PaintBrush/LineTool.h
  9. 0 4
      Applications/PaintBrush/PenTool.h
  10. 0 5
      Applications/PaintBrush/RectangleTool.h
  11. 0 4
      Applications/PaintBrush/SprayTool.h
  12. 1 0
      Applications/PaintBrush/main.cpp
  13. 0 5
      Applications/Piano/KnobsWidget.h
  14. 0 4
      Applications/Piano/MainWidget.h
  15. 0 5
      Applications/Piano/SamplerWidget.h
  16. 2 0
      Applications/Piano/main.cpp
  17. 0 4
      Applications/SystemMonitor/MemoryStatsWidget.h
  18. 0 4
      Applications/SystemMonitor/NetworkStatisticsWidget.h
  19. 0 4
      Applications/SystemMonitor/ProcessFileDescriptorMapWidget.h
  20. 0 5
      Applications/SystemMonitor/ProcessMemoryMapWidget.h
  21. 0 4
      Applications/SystemMonitor/ProcessUnveiledPathsWidget.h
  22. 2 1
      Applications/TextEditor/TextEditorWidget.cpp
  23. 0 7
      Applications/TextEditor/TextEditorWidget.h
  24. 1 0
      Applications/Welcome/TextWidget.cpp
  25. 1 4
      DevTools/HackStudio/CursorTool.h
  26. 0 4
      DevTools/HackStudio/EditorWrapper.h
  27. 0 6
      DevTools/HackStudio/FindInFilesWidget.h
  28. 1 0
      DevTools/HackStudio/FormEditorWidget.h
  29. 0 5
      DevTools/HackStudio/Locator.h
  30. 0 4
      DevTools/HackStudio/ProcessStateWidget.h
  31. 5 0
      DevTools/HackStudio/ProjectFile.cpp
  32. 1 4
      DevTools/HackStudio/ProjectFile.h
  33. 1 7
      DevTools/HackStudio/Tool.h
  34. 1 4
      DevTools/ProfileViewer/Profile.h
  35. 1 0
      DevTools/ProfileViewer/main.cpp
  36. 0 5
      DevTools/VisualBuilder/VBPropertiesWindow.h
  37. 1 4
      DevTools/VisualBuilder/VBProperty.h
  38. 0 5
      DevTools/VisualBuilder/VBWidget.h
  39. 0 5
      Games/Minesweeper/Field.h
  40. 2 1
      Libraries/LibGUI/AbstractButton.cpp
  41. 0 4
      Libraries/LibGUI/AbstractButton.h
  42. 2 0
      Libraries/LibGUI/AbstractTableView.cpp
  43. 0 3
      Libraries/LibGUI/AbstractTableView.h
  44. 1 0
      Libraries/LibGUI/AbstractView.cpp
  45. 0 3
      Libraries/LibGUI/AbstractView.h
  46. 1 5
      Libraries/LibGUI/Action.h
  47. 1 2
      Libraries/LibGUI/ActionGroup.h
  48. 1 0
      Libraries/LibGUI/Application.cpp
  49. 2 4
      Libraries/LibGUI/Application.h
  50. 2 0
      Libraries/LibGUI/BoxLayout.cpp
  51. 7 6
      Libraries/LibGUI/BoxLayout.h
  52. 0 2
      Libraries/LibGUI/Button.h
  53. 0 2
      Libraries/LibGUI/CheckBox.h
  54. 1 0
      Libraries/LibGUI/Clipboard.cpp
  55. 1 3
      Libraries/LibGUI/Clipboard.h
  56. 0 2
      Libraries/LibGUI/ColorPicker.h
  57. 1 0
      Libraries/LibGUI/ColumnsView.cpp
  58. 1 0
      Libraries/LibGUI/ComboBox.cpp
  59. 0 3
      Libraries/LibGUI/ComboBox.h
  60. 1 0
      Libraries/LibGUI/Desktop.cpp
  61. 1 3
      Libraries/LibGUI/Desktop.h
  62. 1 0
      Libraries/LibGUI/Dialog.cpp
  63. 0 1
      Libraries/LibGUI/Dialog.h
  64. 1 0
      Libraries/LibGUI/DragOperation.cpp
  65. 1 3
      Libraries/LibGUI/DragOperation.h
  66. 0 4
      Libraries/LibGUI/FilePicker.h
  67. 77 0
      Libraries/LibGUI/Forward.h
  68. 1 0
      Libraries/LibGUI/Icon.cpp
  69. 3 1
      Libraries/LibGUI/Icon.h
  70. 0 3
      Libraries/LibGUI/InputBox.h
  71. 1 6
      Libraries/LibGUI/ItemView.h
  72. 1 0
      Libraries/LibGUI/Layout.cpp
  73. 1 3
      Libraries/LibGUI/Layout.h
  74. 2 1
      Libraries/LibGUI/ListView.cpp
  75. 0 6
      Libraries/LibGUI/ListView.h
  76. 1 0
      Libraries/LibGUI/Makefile
  77. 1 7
      Libraries/LibGUI/Menu.h
  78. 1 3
      Libraries/LibGUI/MenuBar.h
  79. 1 3
      Libraries/LibGUI/MenuItem.h
  80. 0 2
      Libraries/LibGUI/Model.h
  81. 39 0
      Libraries/LibGUI/ModelIndex.cpp
  82. 3 10
      Libraries/LibGUI/ModelIndex.h
  83. 2 0
      Libraries/LibGUI/ModelSelection.cpp
  84. 1 2
      Libraries/LibGUI/ModelSelection.h
  85. 1 2
      Libraries/LibGUI/Painter.h
  86. 1 3
      Libraries/LibGUI/ScrollBar.cpp
  87. 2 3
      Libraries/LibGUI/ScrollBar.h
  88. 0 2
      Libraries/LibGUI/ScrollableWidget.h
  89. 1 0
      Libraries/LibGUI/Shortcut.cpp
  90. 0 1
      Libraries/LibGUI/Shortcut.h
  91. 0 3
      Libraries/LibGUI/SpinBox.h
  92. 4 4
      Libraries/LibGUI/Splitter.h
  93. 0 3
      Libraries/LibGUI/StatusBar.h
  94. 0 2
      Libraries/LibGUI/SyntaxHighlighter.h
  95. 0 3
      Libraries/LibGUI/TableView.h
  96. 0 1
      Libraries/LibGUI/TextBox.h
  97. 10 0
      Libraries/LibGUI/TextDocument.cpp
  98. 5 11
      Libraries/LibGUI/TextDocument.h
  99. 0 8
      Libraries/LibGUI/TextEditor.h
  100. 0 2
      Libraries/LibGUI/ToolBar.h

+ 0 - 5
Applications/Browser/InspectorWidget.h

@@ -28,11 +28,6 @@
 
 class Document;
 
-namespace GUI {
-class TableView;
-class TreeView;
-}
-
 class InspectorWidget final : public GUI::Widget {
     C_OBJECT(InspectorWidget)
 public:

+ 0 - 6
Applications/Calculator/CalculatorWidget.h

@@ -31,12 +31,6 @@
 #include <AK/Vector.h>
 #include <LibGUI/Widget.h>
 
-namespace GUI {
-class Button;
-class Label;
-class TextBox;
-}
-
 class CalculatorWidget final : public GUI::Widget {
     C_OBJECT(CalculatorWidget)
 public:

+ 0 - 4
Applications/HexEditor/HexEditorWidget.h

@@ -34,10 +34,6 @@
 #include <LibGUI/Widget.h>
 #include <LibGUI/Window.h>
 
-namespace GUI {
-class StatusBar;
-}
-
 class HexEditor;
 
 class HexEditorWidget final : public GUI::Widget {

+ 0 - 5
Applications/IRCClient/IRCAppWindow.h

@@ -31,11 +31,6 @@
 #include <LibGUI/Widget.h>
 #include <LibGUI/Window.h>
 
-namespace GUI {
-class StackWidget;
-class TableView;
-}
-
 class IRCAppWindow : public GUI::Window {
 public:
     IRCAppWindow();

+ 0 - 4
Applications/IRCClient/IRCWindow.h

@@ -28,10 +28,6 @@
 
 #include <LibGUI/Widget.h>
 
-namespace GUI {
-class TextEditor;
-}
-
 class IRCChannel;
 class IRCClient;
 class IRCQuery;

+ 0 - 5
Applications/PaintBrush/EllipseTool.h

@@ -30,11 +30,6 @@
 #include <LibGfx/Point.h>
 #include <LibGUI/ActionGroup.h>
 
-namespace GUI {
-class Menu;
-class Painter;
-}
-
 class EllipseTool final : public Tool {
 public:
     EllipseTool();

+ 0 - 4
Applications/PaintBrush/EraseTool.h

@@ -30,10 +30,6 @@
 #include <LibGfx/Point.h>
 #include <LibGUI/ActionGroup.h>
 
-namespace GUI {
-class Menu;
-}
-
 class EraseTool final : public Tool {
 public:
     EraseTool();

+ 0 - 4
Applications/PaintBrush/LineTool.h

@@ -30,10 +30,6 @@
 #include <LibGfx/Point.h>
 #include <LibGUI/ActionGroup.h>
 
-namespace GUI {
-class Menu;
-}
-
 class LineTool final : public Tool {
 public:
     LineTool();

+ 0 - 4
Applications/PaintBrush/PenTool.h

@@ -30,10 +30,6 @@
 #include <LibGfx/Point.h>
 #include <LibGUI/ActionGroup.h>
 
-namespace GUI {
-class Menu;
-}
-
 class PenTool final : public Tool {
 public:
     PenTool();

+ 0 - 5
Applications/PaintBrush/RectangleTool.h

@@ -29,11 +29,6 @@
 #include "Tool.h"
 #include <LibGfx/Point.h>
 
-namespace GUI {
-class Menu;
-class Painter;
-}
-
 class RectangleTool final : public Tool {
 public:
     RectangleTool();

+ 0 - 4
Applications/PaintBrush/SprayTool.h

@@ -31,10 +31,6 @@
 #include <LibGUI/ActionGroup.h>
 #include <LibGUI/Painter.h>
 
-namespace GUI {
-class Menu;
-}
-
 class SprayTool final : public Tool {
 public:
     SprayTool();

+ 1 - 0
Applications/PaintBrush/main.cpp

@@ -36,6 +36,7 @@
 #include <LibGUI/MenuBar.h>
 #include <LibGUI/MessageBox.h>
 #include <LibGUI/Window.h>
+#include <LibGfx/Bitmap.h>
 #include <stdio.h>
 
 int main(int argc, char** argv)

+ 0 - 5
Applications/Piano/KnobsWidget.h

@@ -29,11 +29,6 @@
 
 #include <LibGUI/Frame.h>
 
-namespace GUI {
-class Label;
-class Slider;
-}
-
 class AudioEngine;
 class MainWidget;
 

+ 0 - 4
Applications/Piano/MainWidget.h

@@ -37,10 +37,6 @@ class SamplerWidget;
 class KeysWidget;
 class KnobsWidget;
 
-namespace GUI {
-class TabWidget;
-}
-
 class MainWidget final : public GUI::Widget {
     C_OBJECT(MainWidget)
 public:

+ 0 - 5
Applications/Piano/SamplerWidget.h

@@ -28,11 +28,6 @@
 
 #include <LibGUI/Frame.h>
 
-namespace GUI {
-class Label;
-class Button;
-}
-
 class AudioEngine;
 
 class WaveEditor final : public GUI::Frame {

+ 2 - 0
Applications/Piano/main.cpp

@@ -29,6 +29,7 @@
 #include "MainWidget.h"
 #include <LibAudio/ClientConnection.h>
 #include <LibAudio/WavWriter.h>
+#include <LibCore/EventLoop.h>
 #include <LibCore/File.h>
 #include <LibGUI/AboutDialog.h>
 #include <LibGUI/Action.h>
@@ -38,6 +39,7 @@
 #include <LibGUI/MenuBar.h>
 #include <LibGUI/MessageBox.h>
 #include <LibGUI/Window.h>
+#include <LibGfx/Bitmap.h>
 #include <LibThread/Thread.h>
 
 int main(int argc, char** argv)

+ 0 - 4
Applications/SystemMonitor/MemoryStatsWidget.h

@@ -28,10 +28,6 @@
 
 #include <LibGUI/Widget.h>
 
-namespace GUI {
-class Label;
-}
-
 class GraphWidget;
 
 class MemoryStatsWidget final : public GUI::Widget {

+ 0 - 4
Applications/SystemMonitor/NetworkStatisticsWidget.h

@@ -29,10 +29,6 @@
 #include <LibCore/Timer.h>
 #include <LibGUI/LazyWidget.h>
 
-namespace GUI {
-class TableView;
-}
-
 class NetworkStatisticsWidget final : public GUI::LazyWidget {
     C_OBJECT(NetworkStatisticsWidget)
 public:

+ 0 - 4
Applications/SystemMonitor/ProcessFileDescriptorMapWidget.h

@@ -28,10 +28,6 @@
 
 #include <LibGUI/Widget.h>
 
-namespace GUI {
-class TableView;
-}
-
 class ProcessFileDescriptorMapWidget final : public GUI::Widget {
     C_OBJECT(ProcessFileDescriptorMapWidget);
 public:

+ 0 - 5
Applications/SystemMonitor/ProcessMemoryMapWidget.h

@@ -28,11 +28,6 @@
 
 #include <LibGUI/Widget.h>
 
-namespace GUI {
-class JsonArrayModel;
-class TableView;
-}
-
 class ProcessMemoryMapWidget final : public GUI::Widget {
     C_OBJECT(ProcessMemoryMapWidget);
 

+ 0 - 4
Applications/SystemMonitor/ProcessUnveiledPathsWidget.h

@@ -28,10 +28,6 @@
 
 #include <LibGUI/Widget.h>
 
-namespace GUI {
-class TableView;
-}
-
 class ProcessUnveiledPathsWidget final : public GUI::Widget {
     C_OBJECT(ProcessUnveiledPathsWidget);
 public:

+ 2 - 1
Applications/TextEditor/TextEditorWidget.cpp

@@ -44,6 +44,7 @@
 #include <LibGUI/TextBox.h>
 #include <LibGUI/TextEditor.h>
 #include <LibGUI/ToolBar.h>
+#include <LibGfx/Font.h>
 
 TextEditorWidget::TextEditorWidget()
 {
@@ -466,7 +467,7 @@ void TextEditorWidget::drop_event(GUI::DropEvent& event)
 
     if (event.mime_data().has_urls()) {
         auto urls = event.mime_data().urls();
-        if (urls.is_empty() )
+        if (urls.is_empty())
             return;
         if (urls.size() > 1) {
             GUI::MessageBox::show("TextEditor can only open one file at a time!", "One at a time please!", GUI::MessageBox::Type::Error, GUI::MessageBox::InputType::OK, window());

+ 0 - 7
Applications/TextEditor/TextEditorWidget.h

@@ -33,13 +33,6 @@
 #include <LibGUI/Widget.h>
 #include <LibGUI/Window.h>
 
-namespace GUI {
-class Button;
-class StatusBar;
-class TextBox;
-class TextEditor;
-}
-
 class TextEditorWidget final : public GUI::Widget {
     C_OBJECT(TextEditorWidget)
 public:

+ 1 - 0
Applications/Welcome/TextWidget.cpp

@@ -25,6 +25,7 @@
  */
 
 #include "TextWidget.h"
+#include <AK/Optional.h>
 #include <AK/String.h>
 #include <AK/StringBuilder.h>
 #include <AK/Vector.h>

+ 1 - 4
DevTools/HackStudio/CursorTool.h

@@ -28,12 +28,9 @@
 
 #include "Tool.h"
 #include <AK/HashMap.h>
+#include <LibGUI/Forward.h>
 #include <LibGfx/Point.h>
 
-namespace GUI {
-class Widget;
-}
-
 class CursorTool final : public Tool {
 public:
     explicit CursorTool(FormEditorWidget& editor)

+ 0 - 4
DevTools/HackStudio/EditorWrapper.h

@@ -28,10 +28,6 @@
 
 #include <LibGUI/Widget.h>
 
-namespace GUI {
-class Label;
-}
-
 class Editor;
 
 class EditorWrapper : public GUI::Widget {

+ 0 - 6
DevTools/HackStudio/FindInFilesWidget.h

@@ -28,12 +28,6 @@
 
 #include <LibGUI/Widget.h>
 
-namespace GUI {
-class Button;
-class TableView;
-class TextBox;
-}
-
 class FindInFilesWidget final : public GUI::Widget {
     C_OBJECT(FindInFilesWidget)
 public:

+ 1 - 0
DevTools/HackStudio/FormEditorWidget.h

@@ -26,6 +26,7 @@
 
 #pragma once
 
+#include <AK/HashTable.h>
 #include <LibGUI/ScrollableWidget.h>
 
 class FormWidget;

+ 0 - 5
DevTools/HackStudio/Locator.h

@@ -28,11 +28,6 @@
 
 #include <LibGUI/Widget.h>
 
-namespace GUI {
-class ModelIndex;
-class TableView;
-}
-
 class LocatorTextBox;
 
 class Locator final : public GUI::Widget {

+ 0 - 4
DevTools/HackStudio/ProcessStateWidget.h

@@ -28,10 +28,6 @@
 
 #include <LibGUI/Widget.h>
 
-namespace GUI {
-class Label;
-}
-
 class ProcessStateWidget final : public GUI::Widget {
     C_OBJECT(ProcessStateWidget)
 public:

+ 5 - 0
DevTools/HackStudio/ProjectFile.cpp

@@ -28,6 +28,11 @@
 #include <LibCore/File.h>
 #include <string.h>
 
+ProjectFile::ProjectFile(const String& name)
+    : m_name(name)
+{
+}
+
 const GUI::TextDocument& ProjectFile::document() const
 {
     if (!m_document) {

+ 1 - 4
DevTools/HackStudio/ProjectFile.h

@@ -44,10 +44,7 @@ public:
     const GUI::TextDocument& document() const;
 
 private:
-    explicit ProjectFile(const String& name)
-        : m_name(name)
-    {
-    }
+    explicit ProjectFile(const String& name);
 
     String m_name;
     mutable RefPtr<GUI::TextDocument> m_document;

+ 1 - 7
DevTools/HackStudio/Tool.h

@@ -27,16 +27,10 @@
 #pragma once
 
 #include <AK/Noncopyable.h>
+#include <LibGUI/Forward.h>
 
 class FormEditorWidget;
 
-namespace GUI {
-class KeyEvent;
-class MouseEvent;
-class PaintEvent;
-class Painter;
-}
-
 class Tool {
     AK_MAKE_NONCOPYABLE(Tool)
     AK_MAKE_NONMOVABLE(Tool)

+ 1 - 4
DevTools/ProfileViewer/Profile.h

@@ -31,10 +31,7 @@
 #include <AK/JsonValue.h>
 #include <AK/NonnullRefPtrVector.h>
 #include <AK/OwnPtr.h>
-
-namespace GUI {
-class Model;
-}
+#include <LibGUI/Forward.h>
 
 class ProfileModel;
 

+ 1 - 0
DevTools/ProfileViewer/main.cpp

@@ -31,6 +31,7 @@
 #include <LibGUI/BoxLayout.h>
 #include <LibGUI/Menu.h>
 #include <LibGUI/MenuBar.h>
+#include <LibGUI/Model.h>
 #include <LibGUI/TreeView.h>
 #include <LibGUI/Window.h>
 #include <stdio.h>

+ 0 - 5
DevTools/VisualBuilder/VBPropertiesWindow.h

@@ -28,11 +28,6 @@
 
 #include <LibGUI/Window.h>
 
-namespace GUI {
-class TableView;
-class TextBox;
-}
-
 class VBPropertiesWindow final : public GUI::Window {
     C_OBJECT(VBPropertiesWindow)
 public:

+ 1 - 4
DevTools/VisualBuilder/VBProperty.h

@@ -28,12 +28,9 @@
 
 #include <AK/Function.h>
 #include <AK/String.h>
+#include <LibGUI/Forward.h>
 #include <LibGUI/Variant.h>
 
-namespace GUI {
-class Widget;
-}
-
 class VBWidget;
 
 class VBProperty {

+ 0 - 5
DevTools/VisualBuilder/VBWidget.h

@@ -36,11 +36,6 @@
 #include <LibGfx/Rect.h>
 #include <LibGUI/Widget.h>
 
-namespace GUI {
-class Painter;
-class Variant;
-}
-
 class VBForm;
 class VBProperty;
 class VBWidgetPropertyModel;

+ 0 - 5
Games/Minesweeper/Field.h

@@ -30,11 +30,6 @@
 #include <LibCore/Timer.h>
 #include <LibGUI/Frame.h>
 
-namespace GUI {
-class Button;
-class Label;
-}
-
 class Field;
 class SquareButton;
 class SquareLabel;

+ 2 - 1
Libraries/LibGUI/AbstractButton.cpp

@@ -24,9 +24,10 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include <LibGfx/Palette.h>
+#include <LibCore/Timer.h>
 #include <LibGUI/AbstractButton.h>
 #include <LibGUI/Painter.h>
+#include <LibGfx/Palette.h>
 
 namespace GUI {
 

+ 0 - 4
Libraries/LibGUI/AbstractButton.h

@@ -26,14 +26,10 @@
 
 #pragma once
 
-#include <LibCore/Timer.h>
-#include <LibGfx/TextAlignment.h>
 #include <LibGUI/Widget.h>
 
 namespace GUI {
 
-class Painter;
-
 class AbstractButton : public Widget {
     C_OBJECT_ABSTRACT(GAbstractButton)
 public:

+ 2 - 0
Libraries/LibGUI/AbstractTableView.cpp

@@ -25,9 +25,11 @@
  */
 
 #include <AK/StringBuilder.h>
+#include <AK/Vector.h>
 #include <LibGUI/AbstractTableView.h>
 #include <LibGUI/Action.h>
 #include <LibGUI/Menu.h>
+#include <LibGUI/Model.h>
 #include <LibGUI/Painter.h>
 #include <LibGUI/ScrollBar.h>
 #include <LibGUI/Window.h>

+ 0 - 3
Libraries/LibGUI/AbstractTableView.h

@@ -30,9 +30,6 @@
 
 namespace GUI {
 
-class Painter;
-
-// FIXME: Rename this to something without "table cell" in the name.
 class TableCellPaintingDelegate {
 public:
     virtual ~TableCellPaintingDelegate() {}

+ 1 - 0
Libraries/LibGUI/AbstractView.cpp

@@ -25,6 +25,7 @@
  */
 
 #include <AK/StringBuilder.h>
+#include <AK/Vector.h>
 #include <Kernel/KeyCode.h>
 #include <LibGUI/AbstractView.h>
 #include <LibGUI/DragOperation.h>

+ 0 - 3
Libraries/LibGUI/AbstractView.h

@@ -27,14 +27,11 @@
 #pragma once
 
 #include <AK/Function.h>
-#include <LibGUI/Model.h>
 #include <LibGUI/ModelSelection.h>
 #include <LibGUI/ScrollableWidget.h>
 
 namespace GUI {
 
-class ModelEditingDelegate;
-
 class AbstractView : public ScrollableWidget {
     C_OBJECT_ABSTRACT(AbstractView)
     friend class Model;

+ 1 - 5
Libraries/LibGUI/Action.h

@@ -35,16 +35,12 @@
 #include <AK/WeakPtr.h>
 #include <AK/Weakable.h>
 #include <LibCore/Object.h>
+#include <LibGUI/Forward.h>
 #include <LibGUI/Shortcut.h>
 #include <LibGfx/Forward.h>
 
 namespace GUI {
 
-class Action;
-class ActionGroup;
-class Button;
-class MenuItem;
-
 namespace CommonActions {
     NonnullRefPtr<Action> make_open_action(Function<void(Action&)>, Core::Object* parent = nullptr);
     NonnullRefPtr<Action> make_undo_action(Function<void(Action&)>, Core::Object* parent = nullptr);

+ 1 - 2
Libraries/LibGUI/ActionGroup.h

@@ -28,11 +28,10 @@
 
 #include <AK/HashTable.h>
 #include <AK/Weakable.h>
+#include <LibGUI/Forward.h>
 
 namespace GUI {
 
-class Action;
-
 class ActionGroup : public Weakable<ActionGroup> {
 public:
     ActionGroup() {}

+ 1 - 0
Libraries/LibGUI/Application.cpp

@@ -24,6 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include <LibCore/EventLoop.h>
 #include <LibGUI/Action.h>
 #include <LibGUI/Application.h>
 #include <LibGUI/Desktop.h>

+ 2 - 4
Libraries/LibGUI/Application.h

@@ -28,15 +28,13 @@
 
 #include <AK/HashMap.h>
 #include <AK/OwnPtr.h>
+#include <AK/String.h>
 #include <LibCore/Forward.h>
+#include <LibGUI/Forward.h>
 #include <LibGUI/Shortcut.h>
 #include <LibGfx/Forward.h>
 
 namespace GUI {
-class Action;
-class KeyEvent;
-class MenuBar;
-class Window;
 
 class Application {
 public:

+ 2 - 0
Libraries/LibGUI/BoxLayout.cpp

@@ -25,6 +25,8 @@
  */
 
 #include <LibGUI/BoxLayout.h>
+#include <LibGUI/Widget.h>
+#include <LibGfx/Orientation.h>
 #include <stdio.h>
 
 //#define GBOXLAYOUT_DEBUG

+ 7 - 6
Libraries/LibGUI/BoxLayout.h

@@ -26,28 +26,29 @@
 
 #pragma once
 
+#include <LibGUI/Forward.h>
 #include <LibGUI/Layout.h>
-#include <LibGUI/Widget.h>
+#include <LibGfx/Orientation.h>
 
 namespace GUI {
 
 class BoxLayout : public Layout {
 public:
-    explicit BoxLayout(Orientation);
+    explicit BoxLayout(Gfx::Orientation);
     virtual ~BoxLayout() override {}
 
-    Orientation orientation() const { return m_orientation; }
+    Gfx::Orientation orientation() const { return m_orientation; }
 
     virtual void run(Widget&) override;
 
 private:
-    Orientation m_orientation;
+    Gfx::Orientation m_orientation;
 };
 
 class VerticalBoxLayout final : public BoxLayout {
 public:
     explicit VerticalBoxLayout()
-        : BoxLayout(Orientation::Vertical)
+        : BoxLayout(Gfx::Orientation::Vertical)
     {
     }
     virtual ~VerticalBoxLayout() override {}
@@ -56,7 +57,7 @@ public:
 class HorizontalBoxLayout final : public BoxLayout {
 public:
     explicit HorizontalBoxLayout()
-        : BoxLayout(Orientation::Horizontal)
+        : BoxLayout(Gfx::Orientation::Horizontal)
     {
     }
     virtual ~HorizontalBoxLayout() override {}

+ 0 - 2
Libraries/LibGUI/Button.h

@@ -35,8 +35,6 @@
 
 namespace GUI {
 
-class Action;
-
 class Button : public AbstractButton {
     C_OBJECT(Button)
 public:

+ 0 - 2
Libraries/LibGUI/CheckBox.h

@@ -26,8 +26,6 @@
 
 #pragma once
 
-#include <AK/Function.h>
-#include <AK/String.h>
 #include <LibGUI/AbstractButton.h>
 
 namespace GUI {

+ 1 - 0
Libraries/LibGUI/Clipboard.cpp

@@ -24,6 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include <AK/Badge.h>
 #include <AK/SharedBuffer.h>
 #include <LibGUI/Clipboard.h>
 #include <LibGUI/WindowServerConnection.h>

+ 1 - 3
Libraries/LibGUI/Clipboard.h

@@ -26,14 +26,12 @@
 
 #pragma once
 
-#include <AK/Badge.h>
 #include <AK/Function.h>
 #include <AK/String.h>
+#include <LibGUI/Forward.h>
 
 namespace GUI {
 
-class WindowServerConnection;
-
 class Clipboard {
 public:
     static Clipboard& the();

+ 0 - 2
Libraries/LibGUI/ColorPicker.h

@@ -30,8 +30,6 @@
 
 namespace GUI {
 
-class Frame;
-
 class ColorPicker final : public Dialog {
     C_OBJECT(ColorPicker)
 public:

+ 1 - 0
Libraries/LibGUI/ColumnsView.cpp

@@ -25,6 +25,7 @@
  */
 
 #include <LibGUI/ColumnsView.h>
+#include <LibGUI/Model.h>
 #include <LibGUI/Painter.h>
 #include <LibGUI/ScrollBar.h>
 #include <LibGfx/CharacterBitmap.h>

+ 1 - 0
Libraries/LibGUI/ComboBox.cpp

@@ -28,6 +28,7 @@
 #include <LibGUI/ComboBox.h>
 #include <LibGUI/Desktop.h>
 #include <LibGUI/ListView.h>
+#include <LibGUI/Model.h>
 #include <LibGUI/ScrollBar.h>
 #include <LibGUI/TextEditor.h>
 #include <LibGUI/Window.h>

+ 0 - 3
Libraries/LibGUI/ComboBox.h

@@ -31,9 +31,6 @@
 
 namespace GUI {
 
-class Button;
-class TextEditor;
-
 class ComboBox : public Widget {
     C_OBJECT(ComboBox)
 public:

+ 1 - 0
Libraries/LibGUI/Desktop.cpp

@@ -24,6 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include <AK/Badge.h>
 #include <LibCore/ConfigFile.h>
 #include <LibGUI/Desktop.h>
 #include <LibGUI/WindowServerConnection.h>

+ 1 - 3
Libraries/LibGUI/Desktop.h

@@ -26,15 +26,13 @@
 
 #pragma once
 
-#include <AK/Badge.h>
 #include <AK/Function.h>
 #include <AK/String.h>
+#include <LibGUI/Forward.h>
 #include <LibGfx/Rect.h>
 
 namespace GUI {
 
-class WindowServerConnection;
-
 class Desktop {
 public:
     static Desktop& the();

+ 1 - 0
Libraries/LibGUI/Dialog.cpp

@@ -24,6 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include <LibCore/EventLoop.h>
 #include <LibGUI/Desktop.h>
 #include <LibGUI/Dialog.h>
 #include <LibGUI/Event.h>

+ 0 - 1
Libraries/LibGUI/Dialog.h

@@ -26,7 +26,6 @@
 
 #pragma once
 
-#include <LibCore/EventLoop.h>
 #include <LibGUI/Window.h>
 
 namespace GUI {

+ 1 - 0
Libraries/LibGUI/DragOperation.cpp

@@ -26,6 +26,7 @@
 
 #include <AK/Badge.h>
 #include <AK/SharedBuffer.h>
+#include <LibCore/EventLoop.h>
 #include <LibGUI/DragOperation.h>
 #include <LibGUI/WindowServerConnection.h>
 #include <LibGfx/Bitmap.h>

+ 1 - 3
Libraries/LibGUI/DragOperation.h

@@ -27,14 +27,12 @@
 #pragma once
 
 #include <AK/OwnPtr.h>
-#include <LibCore/EventLoop.h>
 #include <LibCore/Object.h>
+#include <LibGUI/Forward.h>
 #include <LibGfx/Forward.h>
 
 namespace GUI {
 
-class WindowServerConnection;
-
 class DragOperation : public Core::Object {
     C_OBJECT(DragOperation)
 public:

+ 0 - 4
Libraries/LibGUI/FilePicker.h

@@ -32,10 +32,6 @@
 
 namespace GUI {
 
-class FileSystemModel;
-class Label;
-class TextBox;
-
 class FilePicker final : public Dialog {
     C_OBJECT(FilePicker)
 public:

+ 77 - 0
Libraries/LibGUI/Forward.h

@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2020, Andreas Kling <kling@serenityos.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+namespace GUI {
+
+class AbstractButton;
+class AbstractTableView;
+class AbstractView;
+class Action;
+class ActionGroup;
+class Application;
+class BoxLayout;
+class Button;
+class Command;
+class FileSystemModel;
+class Frame;
+class HorizontalBoxLayout;
+class ItemView;
+class JsonArrayModel;
+class KeyEvent;
+class Label;
+class Layout;
+class Menu;
+class MenuBar;
+class MenuItem;
+class Model;
+class ModelEditingDelegate;
+class ModelIndex;
+class MouseEvent;
+class PaintEvent;
+class Painter;
+class ResizeCorner;
+class ScrollBar;
+class Slider;
+class Splitter;
+class StackWidget;
+class StatusBar;
+class SyntaxHighlighter;
+class TabWidget;
+class TableView;
+class TextBox;
+class TextDocument;
+class TextDocumentLine;
+class TextDocumentUndoCommand;
+class TextEditor;
+class TreeView;
+class Variant;
+class VerticalBoxLayout;
+class WMEvent;
+class Widget;
+class Window;
+class WindowServerConnection;
+
+}

+ 1 - 0
Libraries/LibGUI/Icon.cpp

@@ -26,6 +26,7 @@
 
 #include <AK/String.h>
 #include <LibGUI/Icon.h>
+#include <LibGfx/Bitmap.h>
 
 GIcon::GIcon()
     : m_impl(GIconImpl::create())

+ 3 - 1
Libraries/LibGUI/Icon.h

@@ -27,7 +27,9 @@
 #pragma once
 
 #include <AK/HashMap.h>
-#include <LibGfx/Bitmap.h>
+#include <AK/NonnullRefPtr.h>
+#include <AK/RefCounted.h>
+#include <LibGfx/Forward.h>
 
 class GIconImpl : public RefCounted<GIconImpl> {
 public:

+ 0 - 3
Libraries/LibGUI/InputBox.h

@@ -30,9 +30,6 @@
 
 namespace GUI {
 
-class Button;
-class TextEditor;
-
 class InputBox : public Dialog {
     C_OBJECT(InputBox)
 public:

+ 1 - 6
Libraries/LibGUI/ItemView.h

@@ -26,16 +26,11 @@
 
 #pragma once
 
-#include <AK/Function.h>
-#include <AK/HashMap.h>
 #include <LibGUI/AbstractView.h>
-#include <LibGUI/Model.h>
+#include <LibGUI/Forward.h>
 
 namespace GUI {
 
-class ScrollBar;
-class Painter;
-
 class ItemView : public AbstractView {
     C_OBJECT(ItemView)
 public:

+ 1 - 0
Libraries/LibGUI/Layout.cpp

@@ -24,6 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include <AK/Badge.h>
 #include <LibGUI/Layout.h>
 #include <LibGUI/Widget.h>
 

+ 1 - 3
Libraries/LibGUI/Layout.h

@@ -26,16 +26,14 @@
 
 #pragma once
 
-#include <AK/Badge.h>
 #include <AK/OwnPtr.h>
 #include <AK/Vector.h>
 #include <AK/WeakPtr.h>
+#include <LibGUI/Forward.h>
 #include <LibGUI/Margins.h>
 
 namespace GUI {
 
-class Widget;
-
 class Layout {
 public:
     Layout();

+ 2 - 1
Libraries/LibGUI/ListView.cpp

@@ -25,10 +25,11 @@
  */
 
 #include <Kernel/KeyCode.h>
-#include <LibGfx/Palette.h>
 #include <LibGUI/ListView.h>
+#include <LibGUI/Model.h>
 #include <LibGUI/Painter.h>
 #include <LibGUI/ScrollBar.h>
+#include <LibGfx/Palette.h>
 
 namespace GUI {
 

+ 0 - 6
Libraries/LibGUI/ListView.h

@@ -26,16 +26,10 @@
 
 #pragma once
 
-#include <AK/Function.h>
-#include <AK/HashMap.h>
 #include <LibGUI/AbstractView.h>
-#include <LibGUI/Model.h>
 
 namespace GUI {
 
-class ScrollBar;
-class Painter;
-
 class ListView : public AbstractView {
     C_OBJECT(ListView)
 public:

+ 1 - 0
Libraries/LibGUI/Makefile

@@ -38,6 +38,7 @@ OBJS = \
     MenuItem.o \
     MessageBox.o \
     Model.o \
+    ModelIndex.o \
     ModelSelection.o \
     Painter.o \
     ProgressBar.o \

+ 1 - 7
Libraries/LibGUI/Menu.h

@@ -26,17 +26,13 @@
 
 #pragma once
 
-#include <AK/Function.h>
 #include <AK/NonnullOwnPtrVector.h>
-#include <AK/NonnullRefPtr.h>
 #include <LibCore/Object.h>
+#include <LibGUI/Forward.h>
 #include <LibGfx/Forward.h>
 
 namespace GUI {
 
-class Action;
-class MenuItem;
-
 class Menu final : public Core::Object {
     C_OBJECT(Menu)
 public:
@@ -56,8 +52,6 @@ public:
     void popup(const Gfx::Point& screen_position);
     void dismiss();
 
-    Function<void(unsigned)> on_item_activation;
-
 private:
     friend class MenuBar;
 

+ 1 - 3
Libraries/LibGUI/MenuBar.h

@@ -28,12 +28,10 @@
 
 #include <AK/Forward.h>
 #include <AK/NonnullRefPtrVector.h>
+#include <LibGUI/Forward.h>
 
 namespace GUI {
 
-class Application;
-class Menu;
-
 class MenuBar {
 public:
     MenuBar();

+ 1 - 3
Libraries/LibGUI/MenuItem.h

@@ -28,12 +28,10 @@
 
 #include <AK/Forward.h>
 #include <AK/RefPtr.h>
+#include <LibGUI/Forward.h>
 
 namespace GUI {
 
-class Action;
-class Menu;
-
 class MenuItem {
 public:
     enum class Type {

+ 0 - 2
Libraries/LibGUI/Model.h

@@ -38,8 +38,6 @@
 
 namespace GUI {
 
-class AbstractView;
-
 enum class SortOrder {
     None,
     Ascending,

+ 39 - 0
Libraries/LibGUI/ModelIndex.cpp

@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <AK/String.h>
+#include <LibGUI/ModelIndex.h>
+
+namespace GUI {
+
+const LogStream& operator<<(const LogStream& stream, const ModelIndex& value)
+{
+    if (value.internal_data())
+        return stream << String::format("ModelIndex(%d,%d,%p)", value.row(), value.column(), value.internal_data());
+    return stream << String::format("ModelIndex(%d,%d)", value.row(), value.column());
+}
+
+}

+ 3 - 10
Libraries/LibGUI/ModelIndex.h

@@ -26,13 +26,11 @@
 
 #pragma once
 
-#include <AK/LogStream.h>
-#include <AK/String.h>
+#include <AK/Traits.h>
+#include <LibGUI/Forward.h>
 
 namespace GUI {
 
-class Model;
-
 class ModelIndex {
     friend class Model;
 
@@ -72,12 +70,7 @@ private:
     void* m_internal_data { nullptr };
 };
 
-inline const LogStream& operator<<(const LogStream& stream, const ModelIndex& value)
-{
-    if (value.internal_data())
-        return stream << String::format("ModelIndex(%d,%d,%p)", value.row(), value.column(), value.internal_data());
-    return stream << String::format("ModelIndex(%d,%d)", value.row(), value.column());
-}
+const LogStream& operator<<(const LogStream&, const ModelIndex&);
 
 }
 

+ 2 - 0
Libraries/LibGUI/ModelSelection.cpp

@@ -24,7 +24,9 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include <AK/Badge.h>
 #include <LibGUI/AbstractView.h>
+#include <LibGUI/Model.h>
 #include <LibGUI/ModelSelection.h>
 
 namespace GUI {

+ 1 - 2
Libraries/LibGUI/ModelSelection.h

@@ -27,12 +27,11 @@
 #pragma once
 
 #include <AK/HashTable.h>
+#include <AK/Vector.h>
 #include <LibGUI/ModelIndex.h>
 
 namespace GUI {
 
-class AbstractView;
-
 class ModelSelection {
 public:
     ModelSelection(AbstractView& view)

+ 1 - 2
Libraries/LibGUI/Painter.h

@@ -26,12 +26,11 @@
 
 #pragma once
 
+#include <LibGUI/Forward.h>
 #include <LibGfx/Painter.h>
 
 namespace GUI {
 
-class Widget;
-
 class Painter : public Gfx::Painter {
 public:
     explicit Painter(Widget&);

+ 1 - 3
Libraries/LibGUI/ScrollBar.cpp

@@ -24,11 +24,9 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include <AK/Assertions.h>
-#include <AK/StdLibExtras.h>
+#include <LibCore/Timer.h>
 #include <LibGUI/Painter.h>
 #include <LibGUI/ScrollBar.h>
-#include <LibGfx/Bitmap.h>
 #include <LibGfx/CharacterBitmap.h>
 #include <LibGfx/Palette.h>
 #include <LibGfx/StylePainter.h>

+ 2 - 3
Libraries/LibGUI/ScrollBar.h

@@ -27,7 +27,6 @@
 #pragma once
 
 #include <AK/Function.h>
-#include <LibCore/Timer.h>
 #include <LibGUI/Widget.h>
 
 namespace GUI {
@@ -37,7 +36,7 @@ class ScrollBar final : public Widget {
 public:
     virtual ~ScrollBar() override;
 
-    Orientation orientation() const { return m_orientation; }
+    Gfx::Orientation orientation() const { return m_orientation; }
 
     bool is_scrollable() const { return max() != min(); }
 
@@ -101,7 +100,7 @@ private:
     int m_scrub_start_value { 0 };
     Gfx::Point m_scrub_origin;
 
-    Orientation m_orientation { Orientation::Vertical };
+    Gfx::Orientation m_orientation { Gfx::Orientation::Vertical };
     Component m_hovered_component { Component::Invalid };
     bool m_scrubber_in_use { false };
 

+ 0 - 2
Libraries/LibGUI/ScrollableWidget.h

@@ -30,8 +30,6 @@
 
 namespace GUI {
 
-class ScrollBar;
-
 class ScrollableWidget : public Frame {
     C_OBJECT(ScrollableWidget)
 public:

+ 1 - 0
Libraries/LibGUI/Shortcut.cpp

@@ -24,6 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include <AK/String.h>
 #include <AK/StringBuilder.h>
 #include <AK/Vector.h>
 #include <LibGUI/Shortcut.h>

+ 0 - 1
Libraries/LibGUI/Shortcut.h

@@ -26,7 +26,6 @@
 
 #pragma once
 
-#include <AK/String.h>
 #include <AK/Traits.h>
 #include <Kernel/KeyCode.h>
 

+ 0 - 3
Libraries/LibGUI/SpinBox.h

@@ -30,9 +30,6 @@
 
 namespace GUI {
 
-class Button;
-class TextEditor;
-
 class SpinBox : public Widget {
     C_OBJECT(SpinBox)
 public:

+ 4 - 4
Libraries/LibGUI/Splitter.h

@@ -36,7 +36,7 @@ public:
     virtual ~Splitter() override;
 
 protected:
-    Splitter(Orientation, Widget* parent);
+    Splitter(Gfx::Orientation, Widget* parent);
 
     virtual void paint_event(PaintEvent&) override;
     virtual void resize_event(ResizeEvent&) override;
@@ -52,7 +52,7 @@ private:
     void recompute_grabbable_rect(const Widget&, const Widget&);
     bool get_resize_candidates_at(const Gfx::Point&, Widget*&, Widget*&);
 
-    Orientation m_orientation;
+    Gfx::Orientation m_orientation;
     bool m_resizing { false };
     Gfx::Point m_resize_origin;
     WeakPtr<Widget> m_first_resizee;
@@ -69,7 +69,7 @@ public:
 
 private:
     explicit VerticalSplitter(Widget* parent)
-        : Splitter(Orientation::Vertical, parent)
+        : Splitter(Gfx::Orientation::Vertical, parent)
     {
     }
 };
@@ -81,7 +81,7 @@ public:
 
 private:
     explicit HorizontalSplitter(Widget* parent)
-        : Splitter(Orientation::Horizontal, parent)
+        : Splitter(Gfx::Orientation::Horizontal, parent)
     {
     }
 };

+ 0 - 3
Libraries/LibGUI/StatusBar.h

@@ -30,9 +30,6 @@
 
 namespace GUI {
 
-class Label;
-class ResizeCorner;
-
 class StatusBar : public Widget {
     C_OBJECT(StatusBar)
 public:

+ 0 - 2
Libraries/LibGUI/SyntaxHighlighter.h

@@ -6,8 +6,6 @@
 
 namespace GUI {
 
-class TextEditor;
-
 class SyntaxHighlighter {
     AK_MAKE_NONCOPYABLE(SyntaxHighlighter);
     AK_MAKE_NONMOVABLE(SyntaxHighlighter);

+ 0 - 3
Libraries/LibGUI/TableView.h

@@ -26,10 +26,7 @@
 
 #pragma once
 
-#include <AK/Function.h>
-#include <AK/HashMap.h>
 #include <LibGUI/AbstractTableView.h>
-#include <LibGUI/Model.h>
 
 namespace GUI {
 

+ 0 - 1
Libraries/LibGUI/TextBox.h

@@ -26,7 +26,6 @@
 
 #pragma once
 
-#include <AK/Function.h>
 #include <LibGUI/TextEditor.h>
 
 namespace GUI {

+ 10 - 0
Libraries/LibGUI/TextDocument.cpp

@@ -24,6 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include <AK/Badge.h>
 #include <AK/StringBuilder.h>
 #include <LibCore/Timer.h>
 #include <LibGUI/TextDocument.h>
@@ -32,6 +33,11 @@
 
 namespace GUI {
 
+NonnullRefPtr<TextDocument> TextDocument::create(Client* client)
+{
+    return adopt(*new TextDocument(client));
+}
+
 TextDocument::TextDocument(Client* client)
 {
     if (client)
@@ -45,6 +51,10 @@ TextDocument::TextDocument(Client* client)
         });
 }
 
+TextDocument::~TextDocument()
+{
+}
+
 void TextDocument::set_text(const StringView& text)
 {
     m_client_notifications_enabled = false;

+ 5 - 11
Libraries/LibGUI/TextDocument.h

@@ -26,13 +26,14 @@
 
 #pragma once
 
-#include <AK/Badge.h>
 #include <AK/HashTable.h>
 #include <AK/NonnullOwnPtrVector.h>
 #include <AK/NonnullRefPtr.h>
 #include <AK/Optional.h>
 #include <AK/RefCounted.h>
-#include <LibCore/Timer.h>
+#include <LibCore/Forward.h>
+#include <LibGUI/Command.h>
+#include <LibGUI/Forward.h>
 #include <LibGUI/TextRange.h>
 #include <LibGUI/UndoStack.h>
 #include <LibGfx/Color.h>
@@ -40,11 +41,6 @@
 
 namespace GUI {
 
-class TextDocument;
-class TextDocumentLine;
-class TextDocumentUndoCommand;
-class TextEditor;
-
 struct TextDocumentSpan {
     TextRange range;
     Color color;
@@ -76,10 +72,8 @@ public:
         virtual int soft_tab_width() const = 0;
     };
 
-    static NonnullRefPtr<TextDocument> create(Client* client = nullptr)
-    {
-        return adopt(*new TextDocument(client));
-    }
+    static NonnullRefPtr<TextDocument> create(Client* client = nullptr);
+    ~TextDocument();
 
     size_t line_count() const { return (size_t)m_lines.size(); }
     const TextDocumentLine& line(size_t line_index) const { return m_lines[(int)line_index]; }

+ 0 - 8
Libraries/LibGUI/TextEditor.h

@@ -27,11 +27,9 @@
 #pragma once
 
 #include <AK/Function.h>
-#include <AK/HashMap.h>
 #include <AK/NonnullOwnPtrVector.h>
 #include <AK/NonnullRefPtrVector.h>
 #include <LibCore/ElapsedTimer.h>
-#include <LibCore/Timer.h>
 #include <LibGUI/ScrollableWidget.h>
 #include <LibGUI/TextDocument.h>
 #include <LibGUI/TextRange.h>
@@ -39,12 +37,6 @@
 
 namespace GUI {
 
-class Action;
-class Menu;
-class Painter;
-class ScrollBar;
-class SyntaxHighlighter;
-
 class TextEditor
     : public ScrollableWidget
     , public TextDocument::Client {

+ 0 - 2
Libraries/LibGUI/ToolBar.h

@@ -31,8 +31,6 @@
 
 namespace GUI {
 
-class Action;
-
 class ToolBar : public Widget {
     C_OBJECT(ToolBar)
 public:

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.