Migrating from GTK 3 to GTK 4

The main migration source suggests three stages, changing the GTK3 code to make migration easier, then changing, then steps after the migration.

Steps before Migration [_] Verified not to exist in GTK::Simple [X] GTL::Simple ammended [?] GTK::Simple has problems, or not known for certain

  • [X] Do not use deprecated symbols

  • [_] Enable diagnostic warnings

  • [_] Do not use GTK-specific command line arguments

  • [_] Do not use widget style properties

  • [_] Review your window creation flags

  • [?] Stop using direct access to GdkEvent structs Seems to be OK

  • [_] Stop using gdk_pointer_warp()

  • [_] Stop using non-RGBA visuals

  • [?] Stop using GtkBox padding, fill and expand child properties

  • [_] Stop using the state argument of GtkStyleContext getters

  • [?] Stop using gdk_pixbuf_get_from_window() and gdk_cairo_set_source_surface()

  • [?] Stop using GtkWidget event signals

  • [?] Set a proper application ID

  • [?] Stop using gtk_main() and related APIs

  • [?] Reduce the use of gtk_widget_destroy()

  • [?] Reduce the use of generic container APIs

  • [?] Review your use of icon resources

Remove deprecated widgets

  • GtkSymbolicColor | Symbolic colors

    • GtkGradient | Gradients

    • Resource Files | Deprecated routines for handling resource files

  • GtkStyle | Deprecated object that holds style information for widgets

  • GtkHScale | A horizontal slider widget for selecting a value from a range

  • GtkVScale | A vertical slider widget for selecting a value from a range

  • GtkTearoffMenuItem | A menu item used to tear off and reattach its menu

  • GtkColorSelection | Deprecated widget used to select a color

  • GtkColorSelectionDialog | Deprecated dialog box for selecting a color

  • GtkHSV | A “color wheel” widget

  • GtkFontSelection | Deprecated widget for selecting fonts

  • GtkFontSelectionDialog | Deprecated dialog box for selecting fonts

  • GtkHBox | A horizontal container box

  • GtkVBox | A vertical container box

  • GtkHButtonBox | A container for arranging buttons horizontally

  • GtkVButtonBox | A container for arranging buttons vertically

  • GtkHPaned | A container with two panes arranged horizontally

  • GtkVPaned | A container with two panes arranged vertically

  • GtkTable | Pack widgets in regular patterns

  • GtkHSeparator | A horizontal separator

  • GtkVSeparator | A vertical separator

  • GtkHScrollbar | A horizontal scrollbar

  • GtkVScrollbar | A vertical scrollbar

  • GtkUIManager | Constructing menus and toolbars from an XML description

  • GtkActionGroup | A group of actions

  • GtkAction | A deprecated action which can be triggered by a menu or toolbar item

  • GtkToggleAction | An action which can be toggled between two states

  • GtkRadioAction | An action of which only one in a group can be active

  • GtkRecentAction | An action of which represents a list of recently used files

  • GtkActivatable | An interface for activatable widgets

  • GtkImageMenuItem | A deprecated widget for a menu item with an icon

  • GtkMisc | Base class for widgets with alignments and padding

  • Stock Items | Prebuilt common menu/toolbar items and corresponding icons

  • Themeable Stock Images | Manipulating stock icons

  • GtkNumerableIcon | A GIcon that allows numbered emblems

  • GtkArrow | Displays an arrow

  • GtkStatusIcon | Display an icon in the system tray

  • GtkThemingEngine | Theming renderers

  • GtkAlignment | A widget which controls the alignment and size of its child

GTK::Simple v0.2.1

Simple GTK 3 binding using NativeCall

Authors

  • Jonathan Worthington
  • Moritz Lenz
  • Timo Paulssen
  • Ahmad M. Zawawi
  • Jonathan Stowe
  • ab5tract
  • momozor
  • Zoffix Znet
  • Nick Logan
  • finanalyst aka Richard Hainsworth

License

Artistic-2.0

Dependencies

Test Dependencies

Provides

  • GTK::Simple
  • GTK::Simple::ActionBar
  • GTK::Simple::App
  • GTK::Simple::Box
  • GTK::Simple::Button
  • GTK::Simple::Calendar
  • GTK::Simple::CheckButton
  • GTK::Simple::ComboBoxText
  • GTK::Simple::Common
  • GTK::Simple::ConnectionHandler
  • GTK::Simple::Container
  • GTK::Simple::DrawingArea
  • GTK::Simple::Entry
  • GTK::Simple::FileChooserButton
  • GTK::Simple::Frame
  • GTK::Simple::GDK
  • GTK::Simple::Grid
  • GTK::Simple::HBox
  • GTK::Simple::Label
  • GTK::Simple::LevelBar
  • GTK::Simple::LinkButton
  • GTK::Simple::MarkUpLabel
  • GTK::Simple::Menu
  • GTK::Simple::MenuBar
  • GTK::Simple::MenuItem
  • GTK::Simple::MenuToolButton
  • GTK::Simple::NativeLib
  • GTK::Simple::PlacesSidebar
  • GTK::Simple::ProgressBar
  • GTK::Simple::PropertyFacade
  • GTK::Simple::RadioButton
  • GTK::Simple::Raw
  • GTK::Simple::Scale
  • GTK::Simple::Scheduler
  • GTK::Simple::ScrolledWindow
  • GTK::Simple::Separator
  • GTK::Simple::Spinner
  • GTK::Simple::StatusBar
  • GTK::Simple::Switch
  • GTK::Simple::TextView
  • GTK::Simple::ToggleButton
  • GTK::Simple::Toolbar
  • GTK::Simple::VBox
  • GTK::Simple::Widget
  • GTK::Simple::Window

The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.