summaryrefslogtreecommitdiff
path: root/Applications/VisualBuilder
AgeCommit message (Collapse)Author
2019-04-30VisualBuilder: Tweak form grid color.Andreas Kling
2019-04-30VisualBuilder: Add GSlider to the widgets toolbox.Andreas Kling
2019-04-21Include Makefile.common in all other Makefiles.Andreas Kling
2019-04-20Get rid of SERENITY macro since the compiler already defines __serenity__Andreas Kling
This makes it a bit easier to use AK templates out-of-tree.
2019-04-19VisualBuilder: Expose some more widget properties.Andreas Kling
2019-04-19VisualBuilder: Emit on_widget_selected() when appropriate.Andreas Kling
This allows the properties window to stay in sync with what's happening. For multi-widget selections, we don't show any properties.
2019-04-19VisualBuilder: Make widget deletion work properly.Andreas Kling
2019-04-19VisualBuilder: Multiple-widget selection support.Andreas Kling
This is pretty damn nice, now I can move and resize entire groups of widgets together. Diagonal group resizing feels a bit strange but I wasn't expecting it not to. :^)
2019-04-19VisualBuilder: Expose GGroupBox name property.Andreas Kling
2019-04-19VisualBuilder: Remove the separate property editor box in favor of inline.Andreas Kling
Also make the property names show up in bold text. :^)
2019-04-19VisualBuilder: Hook up everything needed for widget property editing.Andreas Kling
It's now possible to edit widget properties inline in the properties window. We're currently relying on the basic GVariant conversion functions to do all the "parsing" but that's not gonna be good enough.
2019-04-18LibGUI: Start working on GTableView inline editing.Andreas Kling
This is pretty shaky still, but the basic idea is that you subclass GModel and return true for editable indices. The table view also needs to have its editable flag set.
2019-04-18LibGUI: Refactor context menus to be event-driven instead of declarative.Andreas Kling
The declarative approach had way too many limitations. This patch adds a context menu event that can be hooked to prepare a custom context menu on demand just-in-time. :^)
2019-04-16VisualBuilder: Pressing the Tab key when there are no widgets is a no-op.Andreas Kling
2019-04-16VisualBuilder: Pressing the Tab key when there are no widgets is a no-op.Andreas Kling
2019-04-16VisualBuilder: Share code for setting the selected widget.Andreas Kling
This fixes an issue where the properties window didn't update when selecting a new widget using the keyboard shortcuts. :^)
2019-04-16VisualBuilder: Add some keyboard navigation support.Andreas Kling
Allow selecting widgets using the Tab key, and moving them around using the arrow keys. :^)
2019-04-16VisualBuilder: Make it possible to move widgets to front/back.Andreas Kling
2019-04-14VisualBuilder: Let's have getters and setters for properties.Andreas Kling
2019-04-14AK: Improve smart pointer ergonomics a bit.Andreas Kling
2019-04-12LibGUI+WindowServer: Add support for per-GWidget context menus.Andreas Kling
You can now simply assign a GMenu as a GWidget's context menu and it will automagically pop up on right click. :^)
2019-04-12VisualBuilder: Add some widget-specific properties.Andreas Kling
2019-04-12VisualBuilder: Add some more GWidget default properties.Andreas Kling
2019-04-11VisualBuilder: Add a text box to the properties window.Andreas Kling
2019-04-11VisualBuilder: Add [x, y, width, height] properties for all widgets.Andreas Kling
At first I tried doing this as a single "rect" property but I like the feel of the individual properties much better. :^)
2019-04-11VisualBuilder: Move properties window to its own class.Andreas Kling
2019-04-11VisualBuilder: Tweak property table column width.Andreas Kling
2019-04-11VisualBuilder: Display read-only propery values in gray.Andreas Kling
2019-04-11VisualBuilder: Remove debug spam.Andreas Kling
2019-04-11VisualBuilder: Add a table view with the selected widget's properties.Andreas Kling
2019-04-11VisualBuilder: Add a widget registry and a property class.Andreas Kling
I need somewhere to centralize the knowledge about the different widget types available. And VBProperty represents a property key/value of arbitrary type (it uses a GVariant for the value.)
2019-04-11VisualBuilder: Add a properties window.Andreas Kling
2019-04-11GGroupBox: Improve appearance with new FrameShape::Box style.Andreas Kling
2019-04-11VisualBuilder: Add GGroupBox.Andreas Kling
The icon currently looks better than a real GGroupBox. I have to fix that.
2019-04-11VisualBuilder: Let's use 5 pixels for the grid size for now.Andreas Kling
2019-04-11VisualBuilder: Add GScrollBar (and yes, an icon for it, too.)Andreas Kling
2019-04-11VisualBuilder: Add GCheckBox and GLabel, and draw icons for them, too.Andreas Kling
2019-04-11VisualBuilder: Add icons to the toolbox, and support for GProgressBar.Andreas Kling
2019-04-11VisualBuilder: Make it possible to insert widgets from the toolbox.Andreas Kling
2019-04-11VisualBuilder: Tweak grid size and add an (empty) toolbox window.Andreas Kling
2019-04-11VisualBuilder: Use real GWidgets instead of pretend VBWidgets.Andreas Kling
That first design was the wrong idea. Instead, have VBWidget instantiate a GWidget of the appropriate type and parent it to the VBForm. We then use a new "greedy hit-testing" mechanism in GWidget to prevent any mouse events from reaching the VBForm's children. To paint the grabbers above the child widgets, I added a slightly hackish but kind of neat second_paint_event() that is called after a widget has painted all of his children. :^)
2019-04-11VisualBuilder: Add the first VBWidget subclass: VBButtonWidget. :^)Andreas Kling
2019-04-11VisualBuilder: Allow resizing widgets using their grabbers.Andreas Kling
2019-04-11VisualBuilder: Work on selecting a widget and moving it around.Andreas Kling
2019-04-11VisualBuilder: Start working on an interface builder application.Andreas Kling
It's tedious making interfaces programmatically. Let's make a program to help us with this. :^)