summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibGUI/Forward.h
AgeCommit message (Collapse)Author
2023-02-19LibGUI: Add PathBreadcrumbbarSam Atkins
This Widget wraps both a Breadcrumbbar and a TextBox for editing the path manually, based heavily on the existing code in FileManager. Breadcrumbbar itself requires outside code to micro-manage what it does. This class provides a simpler interface for it: Users don't have to worry about segments, they just give/receive a string for the current path.
2022-12-09LibGUI: Split OpacitySlider into vertical and horizontal helper classesFrHun
2022-11-29LibGUI: Add IncrementalSearchBannerthankyouverycool
Compared to traditional modal search, incremental search begins matching as soon as the user starts typing, highlighting results immediately. This refactors Itamar's work for HackStudio into a common LibGUI widget to be used in all multi-line TextEditors.
2022-11-16LibGUI: Add GUI::Dialog to the LibGUI forwarding headerTimothy Flynn
2022-06-10LibGUI: Add DialogButton convenience classFrHun
DialogButton is a small convenience class, that just gives a button to be used in dialogs for a more consistent look around the system.
2022-05-30LibGUI: Search for actions with a Shortcut instead of for KeyEventGeordie Hall
Instead of having widget/window/application create a shortcut from a KeyEvent within their find methods, we'll just pass them a Shortcut so that the "where to search" logic doesn't need to be duplicated for different Shortcut types. It also lets us handle invalid Shortcut rejection at a higher level, with most things letting the caller be responsible for not searching for actions with an invalid shortcut.
2022-02-25Userland: Rename WindowServerConnection=>ConnectionToWindowServerItamar
This was done with CLion's automatic rename feature.
2022-02-03LibGUI: Forward declare ImageWidgetTimothy Flynn
2022-01-27LibGUI: Add a universally available "command palette" to GUI programsAndreas Kling
You can now press Ctrl+Shift+A in any LibGUI application and we'll give you a command palette dialog where you can search for context-relevant actions by name (via the keyboard.) The set of actions is currently the same one you'd access via keyboard shortcuts. In the future, we'll probably want to add APIs to allow richer integrations with this feature.
2021-10-06LibGUI: Add missing headersBen Wiederhake
2021-08-31WindowServer: Add message to notify clients of applet area resizeJoe Bentley
Applets and windows would like to be able to know when the applet area has been resized. For example, this happens asynchronously after an applet has been resized, so we cannot then rely on the applet area position synchronously after resizing. This adds a new message applet_area_rect_changed and associated Event AppletAreaRectChange, and the appropriate virtual functions.
2021-08-18LibGUI+Browser: Add UrlBox classRob Ryan
This allows the address bar to "select all" when initially gaining focus as Firefox and Chrome do. A future improvement on this would be for the Widget class to mange and provide focus transition as part of the events instead of the UrlBox class. Currently focus is updated before the event is provided to the UrlBox class.
2021-08-08LibGUI: Implement persistent indices for modelssin-ack
This patch adds persistent indices to models. A PersistentModelIndex is a ModelIndex that will survive most model updates (provided that the data the PersistentModelIndex points to has not been removed by the model's data store). PersistentModelIndex objects can be safely held by objects outside the model they originated from.
2021-08-06LibGUI: Add ValueSlider widgetMarcus Nilsson
ValueSlider is a more generalized version of OpacitySlider when we need a slider with values displayed. It will always show the current value with a user defined suffix.
2021-07-12LibGUI: Add FontsChanged event and deliver it to windows and widgetsLuK1337
2021-06-20WindowServer: Add API to set/get screen layoutsTom
This sets the stage so that DisplaySettings can configure the screen layout and set various screen resolutions in one go. It also allows for an easy "atomic" revert of the previous settings.
2021-06-20WindowServer: Add initial support for rendering on multiple screensTom
This allows WindowServer to use multiple framebuffer devices and compose the desktop with any arbitrary layout. Currently, it is assumed that it is configured contiguous and non-overlapping, but this should eventually be enforced. To make rendering efficient, each window now also tracks on which screens it needs to be rendered. This way we don't have to iterate all the windows for each screen but instead use the same rendering loop and then only render to the screen (or screens) that the window actually uses.
2021-05-06LibGUI: Move widget registration to LibCoreTom
This also moves Widget::load_from_json into Core::Object as a virtual function in order to allow loading non-widget objects in GML (e.g. BoxLayout). Co-authored-by: Gunnar Beutner <gbeutner@serenityos.org>
2021-05-03LibGUI: Rename ScrollableWidget => AbstractScrollableWidgetAndreas Kling
2021-04-22Everything: Move to SPDX license identifiers in all files.Brian Gianforcaro
SPDX License Identifiers are a more compact / standardized way of representing file license information. See: https://spdx.dev/resources/use/#identifiers This was done with the `ambr` search and replace tool. ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2021-04-13Everywhere: It's now "Foobar", not "FooBar", and not "foo bar"Andreas Kling
I hereby declare these to be full nouns that we don't split, neither by space, nor by underscore: - Breadcrumbbar - Coolbar - Menubar - Progressbar - Scrollbar - Statusbar - Taskbar - Toolbar This patch makes everything consistent by replacing every other variant of these with the proper one. :^)
2021-04-04LibGUI: Add ScreenRectChangeEvent and deliver it to windows and widgetsLinus Groh
Having to rely on GUI::Desktop's on_rect_change is quite limiting and a bit awkward (continuing to use it would mean having to setup the callback in every application using a webview) - we need a better way of letting widgets know of a screen rect change automatically. The specific use case will be IPWV/OOPWV which need to keep track of the screen rect and notify the WebContent service of any change (which on its own deliberately can't interact with WindowServer at all). It'll also be useful for notification windows and the taskbar, which currently both rely on the GUI::Desktop callback but will now be able to listen and react to the event themselves.
2021-03-22LibGUI: Add a few missing classes to the forwarding headerAnotherTest
2021-02-16LibGUI: Add ScrollableWidget to forwarding headerAndreas Kling
2021-02-07LibSyntax+LibGUI+LibJS: Move JS syntax highlighter to LibJSAndreas Kling
This is a little bit messy but the basic idea is: Syntax::Highlighter now has a Syntax::HighlighterClient to talk to the outside world. It mostly communicates in LibGUI primitives that are available in headers, so inlineable. GUI::TextEditor inherits from Syntax::HighlighterClient. This let us to move GUI::JSSyntaxHighlighter to JS::SyntaxHighlighter and remove LibGUI's dependency on LibJS.
2021-02-07LibSyntax: Move GUI::Highlighter to Syntax::Highlighter in LibSyntaxAndreas Kling
This is a move towards dropping more LibGUI dependencies.
2021-01-12Libraries: Move to Userland/Libraries/Andreas Kling