summaryrefslogtreecommitdiff
path: root/DevTools/HackStudio/EditorWrapper.cpp
AgeCommit message (Collapse)Author
2020-12-30LibGFX: Move default_xxx_font() methods from Font to FontDatabaseStephan Unverwerth
When we have an abstract font class it makes no sense to keep these methods in the Font class.
2020-12-30LibGUI: Rewrite layout system in terms of min and max sizesAndreas Kling
This patch removes size policies and preferred sizes, and replaces them with min-size and max-size for each widget. Box layout now works in 3 passes: 1) Set all items (widgets/spacers) to their min-size 2) Distribute remaining space evenly, respecting max-size 3) Place widgets one after the other, adding spacing in between I've also added convenience helpers for setting a fixed size (which is the same as setting min-size and max-size to the same value.) This significantly reduces the verbosity of widget layout and makes GML a bit more pleasant to write, too. :^)
2020-10-09HackStudio: Use new format functions.asynts
2020-09-30HackStudio: Integrate with C++ Language ServerItamar
Editors now communicate with the c++ language server when openning and editing c++ source files, and go through the language server to get autocomplete suggestions.
2020-09-19HackStudio: Move bulk of GUI logic into HackStudioWidgetItamar
Previously, the GUI logic of HackStudio was all stuffed into main(), and it started getting a bit out of hand :)
2020-08-17HackStudio: Move everything into the HackStudio namespaceAndreas Kling
2020-08-12HackStudio: Mark compilation-unit-only functions as staticBen Wiederhake
This also resolves some typing issues that only 'accidentally' worked, like declaring a function to return type A, and the definition actually returning type B (which works if type B is a subtype of type A). I like to call these "ninja imports". To prevent problems like this in the future, I put all globals in a HackStudio.h. I'm not sure about the name, but main.h and common.h felt wrong.
2020-04-25HackStudio: GUI support for setting breakpoints on source code linesItamar
2020-03-12HackStudio: Add header navigationOriko
2020-03-04LibCore: Make Core::Object::add<ChildType> return a ChildType&Andreas Kling
Since the returned object is now owned by the callee object, we can simply vend a ChildType&. This allows us to use "." instead of "->" at the call site, which is quite nice. :^)
2020-03-04LibGUI: Use set_layout<LayoutType>() in lots of client codeAndreas Kling
2020-02-23Userspace: Use Core::Object::add() when building interfacesAndreas Kling
2020-02-15LibGUI: Remove more header dependencies from Widget.hAndreas Kling
2020-02-06LibGUI: Remove leading G from filenamesAndreas Kling
2020-02-06LibGUI: Rename {H,V}BoxLayout => {Horizontal,Vertical}BoxLayoutAndreas Kling
2020-02-06LibDraw: Put all classes in the Gfx namespaceAndreas Kling
I started adding things to a Draw namespace, but it somehow felt really wrong seeing Draw::Rect and Draw::Bitmap, etc. So instead, let's rename the library to LibGfx. :^)
2020-02-02LibGUI: Put all classes in the GUI namespace and remove the leading GAndreas Kling
This took me a moment. Welcome to the new world of GUI::Widget! :^)
2020-02-02LibGUI: Add GHBoxLayout and GVBoxLayout convenience classesAndreas Kling
2020-01-23GTextEditor: Move "Go to line" feature from HackStudio into GTextEditorAndreas Kling
This is a handy feature for any multi-line GTextEditor, so let's just have it in the base widget. :^) Fixes #1122.
2020-01-18Meta: Add license header to source filesAndreas Kling
As suggested by Joshua, this commit adds the 2-clause BSD license as a comment block to the top of every source file. For the first pass, I've just added myself for simplicity. I encourage everyone to add themselves as copyright holders of any file they've added or modified in some significant way. If I've added myself in error somewhere, feel free to replace it with the appropriate copyright holder instead. Going forward, all new source files should include a license header.
2019-10-27HackStudio: Draw a brownish frame around the current editor widgetAndreas Kling
Also make the editor filename label bold only for the current editor.
2019-10-27HackStudio: Tweak EditorWrapper layouts a bit to make things look niceAndreas Kling
2019-10-27HackStudio: Support multiple editors on screenAndreas Kling
This patch adds Editor (subclass of GTextEditor) and EditorWrapper. An EditorWrapper is a composite widget that adds a little statusbar above an Editor widget. The statusbar is used for showing the filename and the current cursor position. More things can definitely be added. To get to the currently active editor, call current_editor(). You can also get to the current editor's wrapper by calling.. current_editor_wrapper(). Which editor is current is determined by which was was last focused by the user.