Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-08-07 | FormCompiler: Oops, need to use JsonValue::serialized() for properties | Andreas Kling | |
When assigning properties, we were relying on the JSON serialization code to wrap strings in double-quotes ("). JsonValue::to_string() does not wrap string values, so what we want here is serialized(). :^) | |||
2019-08-07 | JSON: Templatize the JSON serialization code | Andreas Kling | |
This makes it possible to use something other than a StringBuilder for serialization (and to produce something other than a String.) :^) | |||
2019-08-05 | GComboBox: Include the selected index with the on_change notification | Andreas Kling | |
This will be useful for clients that need to fetch additional data from the model on selection change. | |||
2019-08-03 | IPCCompiler: Don't generate "OwnPtr<void>" as a handle() return type | Andreas Kling | |
This was happening for async (response-less) messages, since they were returning void and were were always just wrapping the return type in an OwnPtr no matter what. | |||
2019-08-03 | IPCCompiler+AudioServer: Accept "//"-style comments in IPC defintions | Andreas Kling | |
2019-08-03 | IPCCompiler: More work towards AudioServer bringup | Andreas Kling | |
- Add IEndpoint::handle(IMessage), a big switch table on message type. handle() will return a response message for synchronous messages, and return nullptr otherwise. - Use i32 instead of int for everything - Make IMessage::encode() const - Make IEndpoint::decode_message() static, this allows template code to decode messages without an endpoint instance on hand. | |||
2019-08-03 | IPCCompiler: Emit message parameter getters | Andreas Kling | |
For simplicity's sake, they are all "const type& name() const" | |||
2019-08-03 | IPCCompiler: Make decode_message() return nullptr for unknown messages | Andreas Kling | |
2019-08-03 | IPCCompiler: Generate message decoding functions | Andreas Kling | |
An endpoint now knows how to decode a ByteBuffer into an IMessage. | |||
2019-08-03 | IPCCompiler: Emit IEndpoint::name() overrides | Andreas Kling | |
2019-08-03 | IPCCompiler: Emit message constructors + include ID in serialization | Andreas Kling | |
2019-08-03 | IPCCompiler: Generate getters for message ID's and message names | Andreas Kling | |
Each endpoint namespace will have an enum class MessageID where you can find all of its messages. | |||
2019-08-03 | IPCCompiler: Typedef the response message types as "ResponseType" | Andreas Kling | |
Each message will now have a typedef called ResponseType as an alias for the expected response type. This will aid in implementing the sync messaging code. | |||
2019-08-03 | IPCCompiler: Generate endpoint and message classes | Andreas Kling | |
These are not entirely finished but it's starting to take shape. :^) | |||
2019-08-03 | IPCCompiler: Start working on a simple IPC definition language | Andreas Kling | |
Instead of doing everything manually in C++, let's do some codegen. This patch adds a crude but effective IPC definition parser, along with two initial definition files for the AudioServer's client and server endpoints. | |||
2019-07-26 | FormCompiler: Add some more LibCore object files to host build. | Andreas Kling | |
2019-07-24 | AK: Make HashMap::get(Key) return an Optional<Value>. | Andreas Kling | |
This allows HashMap::get() to be used for value types that cannot be default constructed (e.g NonnullOwnPtr.) | |||
2019-07-24 | VisualBuilder: Convert Vector<OwnPtr> to NonnullOwnPtrVector. | Andreas Kling | |
2019-07-23 | LibGUI: Get rid of GWindow::should_exit_event_loop_on_close(). | Andreas Kling | |
This behavior and API was extremely counter-intuitive since our default behavior was for applications to never exit after you close all of their windows. Now that we exit the event loop by default when the very last GWindow is deleted, we don't have to worry about this. | |||
2019-07-20 | GSlider: Add support for vertical sliders. | Andreas Kling | |
You now have to pass an Orientation to the GSlider constructor. It's not possible to change the orientation after construction. Added some vertical GSliders to the WidgetGallery demo for testing. :^) | |||
2019-07-18 | LibDraw: Introduce (formerly known as SharedGraphics.) | Andreas Kling | |
Instead of LibGUI and WindowServer building their own copies of the drawing and graphics code, let's it in a separate LibDraw library. This avoids building the code twice, and will encourage better separation of concerns. :^) | |||
2019-07-16 | LibGUI: Add input types to GMessageBox. | Andreas Kling | |
Currently the two available input types are: - GMessageBox::InputType::OK (default) - GMessageBox::InputType::OKCancel Based on your choice, GMessageBox::exec() will return ExecOK or ExecCancel. | |||
2019-07-10 | FormCompiler: Build individual compilation units instead of all-at-a-time. | Andreas Kling | |
2019-07-10 | Build: Build the host-side FormCompiler before everything else. | Andreas Kling | |
Since we're gonna want to use this for building other apps, it should be the very first thing we build. | |||
2019-07-10 | FormCompiler: Produce a C++ header file as output. | Andreas Kling | |
Also make sure the generated main widget has autofill turned on. | |||
2019-07-10 | FormCompiler: Generate a basic UI skeleton holder struct. | Andreas Kling | |
The basic idea is that you would use it like this: MyWidget::MyWidget(GWidget* parent) : GWidget(parent) { m_ui = new UI_MyWidget; set_main_widget(m_ui->main_widget); ... } | |||
2019-07-10 | FormCompiler: Start working on a C++ code generator for VisualBuilder forms. | Andreas Kling | |
2019-07-10 | VisualBuilder: Expose the "name" property on all widgets. | Andreas Kling | |
2019-06-30 | Meta: Removed all gitignore in the source tree only keeping the root one | VAN BOSSUYT Nicolas | |
2019-06-30 | GUI: Use Win2K-like "warm gray" color instead of the older colder gray. | Andreas Kling | |
Someone suggested this a long time ago and I never got around to it. So here we go, here's the warm gray! I have to admit I like it better. :^) | |||
2019-06-29 | VisualBuilder: Support loading a saved form from JSON. | Andreas Kling | |
The form to load is specified on the command line, e.g "vb test.frm". | |||
2019-06-27 | VisualBuilder: Use NonnullRefPtrVector. | Andreas Kling | |
2019-06-23 | LibGUI+VisualBuilder: Support custom editing widgets for property values. | Andreas Kling | |
Implemented this by letting GAbstractViews provide a GModelEditingDelegate for a given index, which then knows how to create and setup a custom widget appropriate for the data type being edited. | |||
2019-06-22 | VisualBuilder: Fix compiler warnings. | Andreas Kling | |
2019-06-21 | AK: Rename Retainable.h => RefCounted.h. | Andreas Kling | |
2019-06-21 | AK: Rename RetainPtr.h => RefPtr.h, Retained.h => NonnullRefPtr.h. | Andreas Kling | |
2019-06-21 | AK: Rename RetainPtr => RefPtr and Retained => NonnullRefPtr. | Andreas Kling | |
2019-06-21 | AK: Rename Retainable => RefCounted. | Andreas Kling | |
(And various related renames that go along with it.) | |||
2019-06-18 | AK: Rename JsonObject::to_string() and pals to serialized(). | Andreas Kling | |
And the variant that serializes into a StringBuilder is called serialize(). | |||
2019-06-17 | VisualBuilder: Switch to JSON for the form output. | Andreas Kling | |
This makes widgets-within-widgets straightforward instead of confusing. The UI doesn't actually let you put widgets inside one another just yet, but at least now the output format won't be a problem. :^) | |||
2019-06-07 | Meta: Tweak .clang-format to not wrap braces after enums. | Andreas Kling | |
2019-06-07 | VisualBuilder: Run clang-format on everything. | Andreas Kling | |
2019-06-01 | VisualBuilder: Add GRadioButton to the widget repertoire. | Andreas Kling | |
2019-05-28 | Add clang-format file | Robin Burchell | |
Also run it across the whole tree to get everything using the One True Style. We don't yet run this in an automated fashion as it's a little slow, but there is a snippet to do so in makeall.sh. | |||
2019-05-24 | LibGUI: Make GCheckBox inherit from GAbstractButton. | Andreas Kling | |
2019-05-24 | LibGUI: Add a GAbstractButton base class for button widgets. | Andreas Kling | |
This patch moves GButton and GRadioButton to inherit from it. This allows them to share code for mouse event handling, etc. | |||
2019-05-13 | Fix "make clean" not deleting app binaries. | Andreas Kling | |
2019-05-11 | VisualBuilder: Tweak margins in properties window. | Andreas Kling | |
2019-05-08 | GMessageBox: Add icons to message boxes with 3 standard ones to choose from. | Andreas Kling | |
2019-05-08 | GGroupBox: Rename "name" property to "title" | Andreas Kling | |