docs: Remove mentions of Glade
authorEmmanuele Bassi <ebassi@gnome.org>
Mon, 24 Oct 2022 19:04:03 +0000 (20:04 +0100)
committerEmmanuele Bassi <ebassi@gnome.org>
Mon, 24 Oct 2022 19:11:50 +0000 (20:11 +0100)
Glade does not support GTK4, so we should not link to it when discussing
developing GTK4 applications.

docs/reference/gtk/getting_started.md
gtk/gtkwidget.c

index 661b8b466f8c08dc6603db45be1db63879638f59..bde0a6d0d0a1676748c970708ddf57849f545eff 100644 (file)
@@ -8,8 +8,7 @@ are organized in a hierarchy. The window widget is the main container.
 The user interface is then built by adding buttons, drop-down menus, input
 fields, and other widgets to the window. If you are creating complex user
 interfaces it is recommended to use GtkBuilder and its GTK-specific markup
-description language, instead of assembling the interface manually. You can
-also use a visual user interface editor, like [Glade](https://glade.gnome.org/).
+description language, instead of assembling the interface manually.
 
 GTK is event-driven. The toolkit listens for events such as a click
 on a button, and passes the event to your application.
@@ -712,11 +711,20 @@ A common location to install UI descriptions and similar data is
 `/usr/share/appname`.
 
 It is also possible to embed the UI description in the source code as a
-string and use [`method@Gtk.Builder.add_from_string`] to load it. But keeping the
-UI description in a separate file has several advantages: It is then possible
-to make minor adjustments to the UI without recompiling your program, and,
-more importantly, graphical UI editors such as [Glade](http://glade.gnome.org)
-can load the file and allow you to create and modify your UI by point-and-click.
+string and use [`method@Gtk.Builder.add_from_string`] to load it. But keeping
+the UI description in a separate file has several advantages:
+
+- it is possible to make minor adjustments to the UI without recompiling your
+  program
+- it is easier to isolate the UI code from the business logic of your
+  application
+- it is easier to restructure your UI into separate classes using composite
+  widget templates
+
+Using [GResource](https://docs.gtk.org/gio/struct.Resource.html) it is possible
+to combine the best of both worlds: you can keep the UI definition files
+separate inside your source code repository, and then ship them embedded into
+your application.
 
 ## Building applications
 
index b57d8c340c7a85bc74aebd16f2ee1f4fe991963e..47aa0b5c5c8a9b4e621d6dd83d76b8e6309a54ef 100644 (file)
  * The interface description semantics expected in composite template descriptions
  * is slightly different from regular [class@Gtk.Builder] XML.
  *
- * Unlike regular interface descriptions, [method@Gtk.WidgetClass.set_template] will
- * expect a `<template>` tag as a direct child of the toplevel `<interface>`
- * tag. The `<template>` tag must specify the “class” attribute which must be
- * the type name of the widget. Optionally, the “parent” attribute may be
- * specified to specify the direct parent type of the widget type, this is
- * ignored by `GtkBuilder` but required for UI design tools like
- * [Glade](https://glade.gnome.org/) to introspect what kind of properties and
- * internal children exist for a given type when the actual type does not exist.
+ * Unlike regular interface descriptions, [method@Gtk.WidgetClass.set_template]
+ * will expect a `<template>` tag as a direct child of the toplevel
+ * `<interface>` tag. The `<template>` tag must specify the “class” attribute
+ * which must be the type name of the widget. Optionally, the “parent”
+ * attribute may be specified to specify the direct parent type of the widget
+ * type; this is ignored by `GtkBuilder` but can be used by UI design tools to
+ * introspect what kind of properties and internal children exist for a given
+ * type when the actual type does not exist.
  *
  * The XML which is contained inside the `<template>` tag behaves as if it were
  * added to the `<object>` tag defining the widget itself. You may set properties