├── libs
└── .gitignore
├── headers
├── 400-GtkListBase.h
├── 400-GtkActivateAction.h
├── 400-GtkListItemFactory.h
├── 400-GtkMnemonicAction.h
├── 400-GtkNeverTrigger.h
├── 400-GtkNothingAction.h
├── 400-GtkShortcutsGroup.h
├── 400-GtkShortcutsSection.h
├── 400-GtkShortcutsWindow.h
├── 400-GtkConstraintLayoutChild.h
├── 400-GtkParamSpecExpression.h
├── 400-GtkShortcutsShortcut.h
├── 400-GtkAnyFilter.h
├── 400-GtkEmojiChooser.h
├── 400-GtkVolumeButton.h
├── 400-GtkBinLayout.h
├── 400-GtkEveryFilter.h
├── 400-GtkFixedLayout.h
├── 400-GtkGestureClick.h
├── 400-GtkOverlayLayout.h
├── 400-GtkCellRendererSpin.h
├── 400-GtkColorChooserWidget.h
├── 400-GtkFontChooserWidget.h
├── 400-GtkSeparator.h
├── 400-GtkCellRendererAccel.h
├── 400-GtkCellRendererCombo.h
├── 400-GtkCellRendererPixbuf.h
├── 400-GtkPasswordEntryBuffer.h
├── 110-glib.h
├── 400-GtkCellRendererProgress.h
├── 400-GtkCellRendererSpinner.h
├── 400-GtkNotebookPage.h
├── 400-GtkAssistantPage.h
├── 400-GtkEventControllerLegacy.h
├── 400-GtkSignalListItemFactory.h
├── 400-GtkFileChooserWidget.h
├── 400-GtkSettings.h
├── 400-GtkColorChooserDialog.h
├── 400-GtkFontChooserDialog.h
├── 400-GtkCallbackAction.h
├── 300-gtk.h
├── 400-GtkGestureZoom.h
├── 400-GtkClosureExpression.h
├── 400-GtkGestureRotate.h
├── 400-GtkDragIcon.h
├── 400-GtkNamedAction.h
├── 400-GtkStringObject.h
├── 400-GtkCustomLayout.h
├── 400-GtkMnemonicTrigger.h
├── 400-GtkFileChooserDialog.h
├── 400-GtkObjectExpression.h
├── 400-GtkMultiFilter.h
├── 400-GtkSignalAction.h
├── 400-GtkGestureSwipe.h
├── 400-GtkLayoutChild.h
├── 400-GtkCellRendererText.h
├── 400-GtkFixedLayoutChild.h
├── 400-GtkStackSidebar.h
├── 400-GtkCClosureExpression.h
├── 400-GtkFilter.h
├── 400-GtkMultiSorter.h
├── 400-GtkWindowHandle.h
├── 400-GtkNoSelection.h
├── 400-GtkStackSwitcher.h
├── 400-GtkSorter.h
├── 400-GtkSearchEntry.h
├── 100-g.h
├── 400-GtkLockButton.h
├── 400-GtkGestureDrag.h
├── 400-GtkIMMulticontext.h
├── 400-GtkMultiSelection.h
├── 400-GtkWidgetPaintable.h
├── 400-GtkGesturePan.h
├── 400-GtkKeyvalTrigger.h
├── 400-GtkConstantExpression.h
├── 400-GtkEventControllerFocus.h
├── 400-GtkGestureLongPress.h
├── 400-GtkScrollbar.h
├── 400-GtkEventControllerMotion.h
├── 400-GtkMediaControls.h
├── 400-GtkTextTag.h
├── 400-GtkCustomSorter.h
├── 400-GtkTreeListRowSorter.h
├── 400-GtkCustomFilter.h
├── 400-GtkATContext.h
├── 400-GtkEditableLabel.h
├── 400-GtkIMContextSimple.h
├── 400-GtkSpinner.h
├── 400-GtkSwitch.h
├── 400-GtkAlternativeTrigger.h
├── 400-GtkSelectionFilterModel.h
├── 400-GtkIconPaintable.h
├── 400-GtkWindowGroup.h
├── 110-gMainLoop.h
├── 400-GtkEventControllerScroll.h
├── 400-GtkDropControllerMotion.h
├── 400-GtkTextChildAnchor.h
├── 400-GtkFlattenListModel.h
├── 400-GtkPadController.h
├── 400-GtkShortcutAction.h
├── 400-GtkBoolFilter.h
├── 400-GtkOverlayLayoutChild.h
├── 400-GtkPropertyExpression.h
├── 400-GtkViewport.h
├── 400-GtkPasswordEntry.h
├── 400-GtkFlowBoxChild.h
├── 400-GtkStringSorter.h
├── 400-GtkColorButton.h
├── 400-GtkNumericSorter.h
├── 400-GtkShortcutLabel.h
├── 400-GtkBuilderCScope.h
├── 400-GtkPopoverMenuBar.h
├── 400-GtkCellAreaBox.h
├── 400-GtkGestureStylus.h
├── 400-GtkLinkButton.h
├── 400-GtkEventControllerKey.h
├── 400-GtkSizeGroup.h
├── 400-GtkMountOperation.h
├── 400-GtkTextTagTable.h
├── 400-GtkTextMark.h
├── 400-GtkWindowControls.h
├── 400-GtkAppChooserDialog.h
├── 400-GtkStatusbar.h
├── 400-GtkDrawingArea.h
├── 400-GtkStringList.h
├── 000-type.h
├── 400-GtkMapListModel.h
├── 400-GtkBuilderListItemFactory.h
├── 400-GtkPageSetupUnixDialog.h
├── 400-GtkPopoverMenu.h
├── 400-GtkToggleButton.h
├── 400-GtkApplicationWindow.h
├── 400-GtkDropTargetAsync.h
├── 400-GtkFixed.h
├── 400-GtkBookmarkList.h
├── 400-GtkFileChooserNative.h
├── 400-GtkSliceListModel.h
├── 400-GtkTooltip.h
├── 400-GtkBoxLayout.h
├── 400-GtkFrame.h
├── 400-GtkCellRendererToggle.h
├── 400-GtkCssProvider.h
├── 400-GtkActionBar.h
├── 400-GtkDragSource.h
├── 400-GtkExpression.h
├── 400-GtkTreeExpander.h
├── 400-GtkListItem.h
├── 400-GtkGridLayoutChild.h
├── 400-GtkSortListModel.h
├── 400-GtkLayoutManager.h
├── 400-GtkGestureSingle.h
├── 400-GtkShortcut.h
├── 400-GtkTreeListRow.h
├── 400-GtkFilterListModel.h
├── 400-GtkCenterBox.h
├── 400-GtkTreeListModel.h
├── 400-GtkOverlay.h
├── 400-GtkScaleButton.h
├── 400-GtkMessageDialog.h
├── 400-GtkNativeDialog.h
├── 400-GtkSearchBar.h
├── 400-GtkFileFilter.h
├── 400-GtkShortcutController.h
├── 400-GtkHeaderBar.h
├── 400-GtkStringFilter.h
├── 400-GtkFontButton.h
├── 400-GtkRevealer.h
├── 400-GtkShortcutTrigger.h
├── 400-GtkBox.h
├── 400-GtkAspectFrame.h
├── 400-GtkSingleSelection.h
├── 400-GtkListBoxRow.h
├── 400-GtkRecentManager.h
├── 400-GtkDirectoryList.h
├── 400-GtkDropTarget.h
├── 400-GtkListView.h
├── 400-GtkCalendar.h
├── 400-GtkCheckButton.h
├── 400-GtkMediaFile.h
├── 400-GtkCenterLayout.h
├── 400-GtkComboBoxText.h
├── 400-GtkPrintContext.h
├── 400-GtkButton.h
├── 400-GtkStackPage.h
├── 400-GtkEntryBuffer.h
├── 400-GtkTreeModelSort.h
├── 400-GtkVideo.h
├── 400-GtkCellView.h
├── 400-GtkConstraintGuide.h
├── 400-GtkDialog.h
├── 400-GtkGridView.h
├── 400-GtkGridLayout.h
├── 400-GtkProgressBar.h
├── 400-GtkLevelBar.h
├── 400-GtkAppChooserButton.h
├── 400-GtkCellAreaContext.h
├── 400-GtkConstraintLayout.h
├── 400-GtkEventController.h
├── 400-GtkAppChooserWidget.h
├── 400-GtkScale.h
├── 400-GtkTreeModelFilter.h
├── 400-GtkPaned.h
├── 400-GtkGLArea.h
├── 400-GtkExpander.h
├── 400-GtkConstraint.h
├── 400-GtkDropDown.h
├── 400-GtkPicture.h
├── 400-GtkIconTheme.h
├── 400-GtkGesture.h
├── 400-GtkIMContext.h
├── 400-GtkInfoBar.h
├── 400-GtkAdjustment.h
├── 400-GtkApplication.h
├── 400-GtkImage.h
├── 400-GtkPopover.h
├── 400-GtkRange.h
├── 400-GtkColumnViewColumn.h
├── 400-GtkStyleContext.h
├── 400-GtkColumnView.h
├── 400-GtkPrinter.h
├── 400-GtkGrid.h
├── 400-GtkPrintUnixDialog.h
├── 400-GtkStack.h
├── 400-GtkTreeSelection.h
├── 400-GtkListStore.h
├── 400-GtkAssistant.h
├── 400-GtkMenuButton.h
├── 400-GtkComboBox.h
└── 400-GtkSpinButton.h
├── img
└── win.png
├── example
├── simple
│ ├── image
│ │ ├── 158776.png
│ │ └── image.php
│ ├── entry
│ │ └── main.php
│ ├── button
│ │ └── link.php
│ └── hello_world
│ │ └── main.php
└── layout_containers
│ ├── headerBar
│ ├── main.php
│ └── HeaderBarWindow.php
│ ├── listBox
│ ├── main.php
│ └── ListBoxRowWithData.php
│ ├── boxes
│ ├── main.php
│ └── BoxWindow.php
│ ├── stack
│ ├── main.php
│ └── StackWindow.php
│ └── grid
│ └── main.php
├── .gitignore
├── src
├── Gtk
│ ├── Enum
│ │ ├── ConnectFlags.php
│ │ ├── Orientation.php
│ │ ├── PolicyType.php
│ │ ├── SelectionMode.php
│ │ └── StackTransitionType.php
│ ├── WidgetInterface.php
│ ├── PasswordEntryBuffer.php
│ ├── Breaker.php
│ ├── ComboBoxText.php
│ ├── CheckButton.php
│ ├── ListBoxRow.php
│ ├── StackSwitcher.php
│ ├── Box.php
│ ├── ListBox.php
│ ├── LinkButton.php
│ ├── Image.php
│ ├── EntryBuffer.php
│ ├── Text.php
│ ├── ToggleButton.php
│ ├── ButtonIcon.php
│ ├── Widget.php
│ ├── Stack.php
│ ├── Entry.php
│ ├── Button.php
│ ├── Grid.php
│ ├── Label.php
│ ├── HeaderBar.php
│ └── Window.php
├── Enum
│ └── Version.php
├── Configuration.php
├── GLib
│ ├── functions.php
│ ├── MainContext.php
│ └── MainLoop.php
├── GDK
│ └── GObject.php
└── Gtk.php
├── composer.json
├── phpunit.xml
├── psalm.xml
├── tests
└── Unit
│ └── Gtk
│ ├── WindowTest.php
│ └── LinkButtonTest.php
└── README.md
/libs/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | *
--------------------------------------------------------------------------------
/headers/400-GtkListBase.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/headers/400-GtkActivateAction.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/headers/400-GtkListItemFactory.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/headers/400-GtkMnemonicAction.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/headers/400-GtkNeverTrigger.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/headers/400-GtkNothingAction.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/headers/400-GtkShortcutsGroup.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/headers/400-GtkShortcutsSection.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/headers/400-GtkShortcutsWindow.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/headers/400-GtkConstraintLayoutChild.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/headers/400-GtkParamSpecExpression.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/headers/400-GtkShortcutsShortcut.h:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/img/win.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHP-GTK/gtk/HEAD/img/win.png
--------------------------------------------------------------------------------
/headers/400-GtkAnyFilter.h:
--------------------------------------------------------------------------------
1 | extern GtkAnyFilter* gtk_any_filter_new ( void );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkEmojiChooser.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_emoji_chooser_new ( void );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkVolumeButton.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_volume_button_new ( void );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkBinLayout.h:
--------------------------------------------------------------------------------
1 | extern GtkLayoutManager* gtk_bin_layout_new ( void );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkEveryFilter.h:
--------------------------------------------------------------------------------
1 | extern GtkEveryFilter* gtk_every_filter_new ( void );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkFixedLayout.h:
--------------------------------------------------------------------------------
1 | extern GtkLayoutManager* gtk_fixed_layout_new ( void );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkGestureClick.h:
--------------------------------------------------------------------------------
1 | extern GtkGesture* gtk_gesture_click_new ( void );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkOverlayLayout.h:
--------------------------------------------------------------------------------
1 | extern GtkLayoutManager* gtk_overlay_layout_new ( void );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkCellRendererSpin.h:
--------------------------------------------------------------------------------
1 | extern GtkCellRenderer* gtk_cell_renderer_spin_new ( void );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkColorChooserWidget.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_color_chooser_widget_new ( void );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkFontChooserWidget.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_font_chooser_widget_new ( void );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkSeparator.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_separator_new ( GtkOrientation orientation );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkCellRendererAccel.h:
--------------------------------------------------------------------------------
1 | extern GtkCellRenderer* gtk_cell_renderer_accel_new ( void );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkCellRendererCombo.h:
--------------------------------------------------------------------------------
1 | extern GtkCellRenderer* gtk_cell_renderer_combo_new ( void );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkCellRendererPixbuf.h:
--------------------------------------------------------------------------------
1 | extern GtkCellRenderer* gtk_cell_renderer_pixbuf_new ( void );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkPasswordEntryBuffer.h:
--------------------------------------------------------------------------------
1 | extern GtkEntryBuffer* gtk_password_entry_buffer_new ( void );
2 |
--------------------------------------------------------------------------------
/headers/110-glib.h:
--------------------------------------------------------------------------------
1 | extern guint g_timeout_add_seconds (guint interval,GSourceFunc function,gpointer data);
--------------------------------------------------------------------------------
/headers/400-GtkCellRendererProgress.h:
--------------------------------------------------------------------------------
1 | extern GtkCellRenderer* gtk_cell_renderer_progress_new ( void );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkCellRendererSpinner.h:
--------------------------------------------------------------------------------
1 | extern GtkCellRenderer* gtk_cell_renderer_spinner_new ( void );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkNotebookPage.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_notebook_page_get_child ( GtkNotebookPage* page );
2 |
--------------------------------------------------------------------------------
/example/simple/image/158776.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PHP-GTK/gtk/HEAD/example/simple/image/158776.png
--------------------------------------------------------------------------------
/headers/400-GtkAssistantPage.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_assistant_page_get_child ( GtkAssistantPage* page );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkEventControllerLegacy.h:
--------------------------------------------------------------------------------
1 | extern GtkEventController* gtk_event_controller_legacy_new ( void );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkSignalListItemFactory.h:
--------------------------------------------------------------------------------
1 | extern GtkListItemFactory* gtk_signal_list_item_factory_new ( void );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkFileChooserWidget.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_file_chooser_widget_new ( GtkFileChooserAction action );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkSettings.h:
--------------------------------------------------------------------------------
1 | extern void gtk_settings_reset_property ( GtkSettings* settings, const char* name );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkColorChooserDialog.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_color_chooser_dialog_new ( const char* title, GtkWindow* parent );
2 |
--------------------------------------------------------------------------------
/headers/400-GtkFontChooserDialog.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_font_chooser_dialog_new ( const char* title, GtkWindow* parent );
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /vendor/
2 | test.php
3 | composer.lock
4 | .phpunit.result.cache
5 | .idea
6 | parser.php
7 | simple_html_dom.php
8 |
--------------------------------------------------------------------------------
/src/Gtk/Enum/ConnectFlags.php:
--------------------------------------------------------------------------------
1 | run();
10 |
--------------------------------------------------------------------------------
/headers/400-GtkFixedLayoutChild.h:
--------------------------------------------------------------------------------
1 | extern GskTransform* gtk_fixed_layout_child_get_transform ( GtkFixedLayoutChild* child );
2 | extern void gtk_fixed_layout_child_set_transform ( GtkFixedLayoutChild* child, GskTransform* transform );
3 |
--------------------------------------------------------------------------------
/src/Gtk/Enum/SelectionMode.php:
--------------------------------------------------------------------------------
1 | run();
12 |
--------------------------------------------------------------------------------
/headers/400-GtkNoSelection.h:
--------------------------------------------------------------------------------
1 | extern void gtk_no_selection_set_model ( GtkNoSelection* self, GListModel* model );
2 | extern GListModel* gtk_no_selection_get_model ( GtkNoSelection* self );
3 | extern GtkNoSelection* gtk_no_selection_new ( GListModel* model );
4 |
--------------------------------------------------------------------------------
/headers/400-GtkStackSwitcher.h:
--------------------------------------------------------------------------------
1 | extern GtkStack* gtk_stack_switcher_get_stack ( GtkStackSwitcher* switcher );
2 | extern GtkWidget* gtk_stack_switcher_new ( void );
3 | extern void gtk_stack_switcher_set_stack ( GtkStackSwitcher* switcher, GtkStack* stack );
4 |
--------------------------------------------------------------------------------
/headers/400-GtkSorter.h:
--------------------------------------------------------------------------------
1 | extern GtkOrdering gtk_sorter_compare ( GtkSorter* self, GObject* item1, GObject* item2 );
2 | extern void gtk_sorter_changed ( GtkSorter* self, GtkSorterChange change );
3 | extern GtkSorterOrder gtk_sorter_get_order ( GtkSorter* self );
4 |
--------------------------------------------------------------------------------
/headers/400-GtkSearchEntry.h:
--------------------------------------------------------------------------------
1 | extern void gtk_search_entry_set_key_capture_widget ( GtkSearchEntry* entry, GtkWidget* widget );
2 | extern GtkWidget* gtk_search_entry_new ( void );
3 | extern GtkWidget* gtk_search_entry_get_key_capture_widget ( GtkSearchEntry* entry );
4 |
--------------------------------------------------------------------------------
/headers/100-g.h:
--------------------------------------------------------------------------------
1 | gboolean g_main_context_iteration(GMainContext* context, gboolean may_block);
2 | gulong g_signal_connect_data(GObject* instance, const gchar* detailed_signal, GCallback c_handler, gpointer data, GClosureNotify destroy_data, GConnectFlags connect_flags);
3 |
--------------------------------------------------------------------------------
/example/layout_containers/listBox/main.php:
--------------------------------------------------------------------------------
1 | run();
--------------------------------------------------------------------------------
/headers/400-GtkLockButton.h:
--------------------------------------------------------------------------------
1 | extern GPermission* gtk_lock_button_get_permission ( GtkLockButton* button );
2 | extern GtkWidget* gtk_lock_button_new ( GPermission* permission );
3 | extern void gtk_lock_button_set_permission ( GtkLockButton* button, GPermission* permission );
4 |
--------------------------------------------------------------------------------
/headers/400-GtkGestureDrag.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_gesture_drag_get_start_point ( GtkGestureDrag* gesture, double* x, double* y );
2 | extern gboolean gtk_gesture_drag_get_offset ( GtkGestureDrag* gesture, double* x, double* y );
3 | extern GtkGesture* gtk_gesture_drag_new ( void );
4 |
--------------------------------------------------------------------------------
/headers/400-GtkIMMulticontext.h:
--------------------------------------------------------------------------------
1 | extern void gtk_im_multicontext_set_context_id ( GtkIMMulticontext* context, const char* context_id );
2 | extern const char* gtk_im_multicontext_get_context_id ( GtkIMMulticontext* context );
3 | extern GtkIMContext* gtk_im_multicontext_new ( void );
4 |
--------------------------------------------------------------------------------
/headers/400-GtkMultiSelection.h:
--------------------------------------------------------------------------------
1 | extern void gtk_multi_selection_set_model ( GtkMultiSelection* self, GListModel* model );
2 | extern GListModel* gtk_multi_selection_get_model ( GtkMultiSelection* self );
3 | extern GtkMultiSelection* gtk_multi_selection_new ( GListModel* model );
4 |
--------------------------------------------------------------------------------
/headers/400-GtkWidgetPaintable.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_widget_paintable_get_widget ( GtkWidgetPaintable* self );
2 | extern void gtk_widget_paintable_set_widget ( GtkWidgetPaintable* self, GtkWidget* widget );
3 | extern GdkPaintable* gtk_widget_paintable_new ( GtkWidget* widget );
4 |
--------------------------------------------------------------------------------
/headers/400-GtkGesturePan.h:
--------------------------------------------------------------------------------
1 | extern GtkOrientation gtk_gesture_pan_get_orientation ( GtkGesturePan* gesture );
2 | extern GtkGesture* gtk_gesture_pan_new ( GtkOrientation orientation );
3 | extern void gtk_gesture_pan_set_orientation ( GtkGesturePan* gesture, GtkOrientation orientation );
4 |
--------------------------------------------------------------------------------
/headers/400-GtkKeyvalTrigger.h:
--------------------------------------------------------------------------------
1 | extern GdkModifierType gtk_keyval_trigger_get_modifiers ( GtkKeyvalTrigger* self );
2 | extern guint gtk_keyval_trigger_get_keyval ( GtkKeyvalTrigger* self );
3 | extern GtkShortcutTrigger* gtk_keyval_trigger_new ( guint keyval, GdkModifierType modifiers );
4 |
--------------------------------------------------------------------------------
/headers/400-GtkConstantExpression.h:
--------------------------------------------------------------------------------
1 | extern GtkExpression* gtk_constant_expression_new_for_value ( const GValue* value );
2 | extern GtkExpression* gtk_constant_expression_new ( GType value_type, ... );
3 | extern const GValue* gtk_constant_expression_get_value ( GtkExpression* expression );
4 |
--------------------------------------------------------------------------------
/headers/400-GtkEventControllerFocus.h:
--------------------------------------------------------------------------------
1 | extern GtkEventController* gtk_event_controller_focus_new ( void );
2 | extern gboolean gtk_event_controller_focus_is_focus ( GtkEventControllerFocus* self );
3 | extern gboolean gtk_event_controller_focus_contains_focus ( GtkEventControllerFocus* self );
4 |
--------------------------------------------------------------------------------
/headers/400-GtkGestureLongPress.h:
--------------------------------------------------------------------------------
1 | extern GtkGesture* gtk_gesture_long_press_new ( void );
2 | extern double gtk_gesture_long_press_get_delay_factor ( GtkGestureLongPress* gesture );
3 | extern void gtk_gesture_long_press_set_delay_factor ( GtkGestureLongPress* gesture, double delay_factor );
4 |
--------------------------------------------------------------------------------
/example/layout_containers/boxes/main.php:
--------------------------------------------------------------------------------
1 | run();
13 |
--------------------------------------------------------------------------------
/headers/400-GtkScrollbar.h:
--------------------------------------------------------------------------------
1 | extern void gtk_scrollbar_set_adjustment ( GtkScrollbar* self, GtkAdjustment* adjustment );
2 | extern GtkAdjustment* gtk_scrollbar_get_adjustment ( GtkScrollbar* self );
3 | extern GtkWidget* gtk_scrollbar_new ( GtkOrientation orientation, GtkAdjustment* adjustment );
4 |
--------------------------------------------------------------------------------
/headers/400-GtkEventControllerMotion.h:
--------------------------------------------------------------------------------
1 | extern GtkEventController* gtk_event_controller_motion_new ( void );
2 | extern gboolean gtk_event_controller_motion_contains_pointer ( GtkEventControllerMotion* self );
3 | extern gboolean gtk_event_controller_motion_is_pointer ( GtkEventControllerMotion* self );
4 |
--------------------------------------------------------------------------------
/headers/400-GtkMediaControls.h:
--------------------------------------------------------------------------------
1 | extern GtkMediaStream* gtk_media_controls_get_media_stream ( GtkMediaControls* controls );
2 | extern void gtk_media_controls_set_media_stream ( GtkMediaControls* controls, GtkMediaStream* stream );
3 | extern GtkWidget* gtk_media_controls_new ( GtkMediaStream* stream );
4 |
--------------------------------------------------------------------------------
/headers/400-GtkTextTag.h:
--------------------------------------------------------------------------------
1 | extern int gtk_text_tag_get_priority ( GtkTextTag* tag );
2 | extern void gtk_text_tag_changed ( GtkTextTag* tag, gboolean size_changed );
3 | extern void gtk_text_tag_set_priority ( GtkTextTag* tag, int priority );
4 | extern GtkTextTag* gtk_text_tag_new ( const char* name );
5 |
--------------------------------------------------------------------------------
/example/layout_containers/stack/main.php:
--------------------------------------------------------------------------------
1 | widget->show();
9 | while (true) {
10 | \PGtk\Gtk\GLib\MainContext::iteration(true);
11 | }
12 |
--------------------------------------------------------------------------------
/headers/400-GtkCustomSorter.h:
--------------------------------------------------------------------------------
1 | extern void gtk_custom_sorter_set_sort_func ( GtkCustomSorter* self, GCompareDataFunc sort_func, gpointer user_data, GDestroyNotify user_destroy );
2 | extern GtkCustomSorter* gtk_custom_sorter_new ( GCompareDataFunc sort_func, gpointer user_data, GDestroyNotify user_destroy );
3 |
--------------------------------------------------------------------------------
/headers/400-GtkTreeListRowSorter.h:
--------------------------------------------------------------------------------
1 | extern GtkTreeListRowSorter* gtk_tree_list_row_sorter_new ( GtkSorter* sorter );
2 | extern GtkSorter* gtk_tree_list_row_sorter_get_sorter ( GtkTreeListRowSorter* self );
3 | extern void gtk_tree_list_row_sorter_set_sorter ( GtkTreeListRowSorter* self, GtkSorter* sorter );
4 |
--------------------------------------------------------------------------------
/headers/400-GtkCustomFilter.h:
--------------------------------------------------------------------------------
1 | extern GtkCustomFilter* gtk_custom_filter_new ( GtkCustomFilterFunc match_func, gpointer user_data, GDestroyNotify user_destroy );
2 | extern void gtk_custom_filter_set_filter_func ( GtkCustomFilter* self, GtkCustomFilterFunc match_func, gpointer user_data, GDestroyNotify user_destroy );
3 |
--------------------------------------------------------------------------------
/src/Configuration.php:
--------------------------------------------------------------------------------
1 | setChild($label);
10 | }
11 | }
--------------------------------------------------------------------------------
/headers/400-GtkEditableLabel.h:
--------------------------------------------------------------------------------
1 | extern void gtk_editable_label_stop_editing ( GtkEditableLabel* self, gboolean commit );
2 | extern GtkWidget* gtk_editable_label_new ( const char* str );
3 | extern void gtk_editable_label_start_editing ( GtkEditableLabel* self );
4 | extern gboolean gtk_editable_label_get_editing ( GtkEditableLabel* self );
5 |
--------------------------------------------------------------------------------
/headers/400-GtkIMContextSimple.h:
--------------------------------------------------------------------------------
1 | extern GtkIMContext* gtk_im_context_simple_new ( void );
2 | extern void gtk_im_context_simple_add_compose_file ( GtkIMContextSimple* context_simple, const char* compose_file );
3 | extern void gtk_im_context_simple_add_table ( GtkIMContextSimple* context_simple, guint16* data, int max_seq_len, int n_seqs );
4 |
--------------------------------------------------------------------------------
/headers/400-GtkSpinner.h:
--------------------------------------------------------------------------------
1 | extern void gtk_spinner_start ( GtkSpinner* spinner );
2 | extern void gtk_spinner_set_spinning ( GtkSpinner* spinner, gboolean spinning );
3 | extern GtkWidget* gtk_spinner_new ( void );
4 | extern gboolean gtk_spinner_get_spinning ( GtkSpinner* spinner );
5 | extern void gtk_spinner_stop ( GtkSpinner* spinner );
6 |
--------------------------------------------------------------------------------
/headers/400-GtkSwitch.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_switch_new ( void );
2 | extern void gtk_switch_set_active ( GtkSwitch* self, gboolean is_active );
3 | extern gboolean gtk_switch_get_state ( GtkSwitch* self );
4 | extern gboolean gtk_switch_get_active ( GtkSwitch* self );
5 | extern void gtk_switch_set_state ( GtkSwitch* self, gboolean state );
6 |
--------------------------------------------------------------------------------
/headers/400-GtkAlternativeTrigger.h:
--------------------------------------------------------------------------------
1 | extern GtkShortcutTrigger* gtk_alternative_trigger_new ( GtkShortcutTrigger* first, GtkShortcutTrigger* second );
2 | extern GtkShortcutTrigger* gtk_alternative_trigger_get_second ( GtkAlternativeTrigger* self );
3 | extern GtkShortcutTrigger* gtk_alternative_trigger_get_first ( GtkAlternativeTrigger* self );
4 |
--------------------------------------------------------------------------------
/headers/400-GtkSelectionFilterModel.h:
--------------------------------------------------------------------------------
1 | extern GtkSelectionModel* gtk_selection_filter_model_get_model ( GtkSelectionFilterModel* self );
2 | extern GtkSelectionFilterModel* gtk_selection_filter_model_new ( GtkSelectionModel* model );
3 | extern void gtk_selection_filter_model_set_model ( GtkSelectionFilterModel* self, GtkSelectionModel* model );
4 |
--------------------------------------------------------------------------------
/src/GLib/functions.php:
--------------------------------------------------------------------------------
1 | g_timeout_add_seconds(
6 | $secund,
7 | function () use ($fun, $data): bool {
8 | return $fun(...$data) ?? false;
9 | },
10 | null
11 | );
12 | }
--------------------------------------------------------------------------------
/headers/400-GtkIconPaintable.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_icon_paintable_is_symbolic ( GtkIconPaintable* self );
2 | extern GtkIconPaintable* gtk_icon_paintable_new_for_file ( GFile* file, int size, int scale );
3 | extern GFile* gtk_icon_paintable_get_file ( GtkIconPaintable* self );
4 | extern const char* gtk_icon_paintable_get_icon_name ( GtkIconPaintable* self );
5 |
--------------------------------------------------------------------------------
/headers/400-GtkWindowGroup.h:
--------------------------------------------------------------------------------
1 | extern GList* gtk_window_group_list_windows ( GtkWindowGroup* window_group );
2 | extern void gtk_window_group_remove_window ( GtkWindowGroup* window_group, GtkWindow* window );
3 | extern GtkWindowGroup* gtk_window_group_new ( void );
4 | extern void gtk_window_group_add_window ( GtkWindowGroup* window_group, GtkWindow* window );
5 |
--------------------------------------------------------------------------------
/headers/110-gMainLoop.h:
--------------------------------------------------------------------------------
1 | extern GMainLoop* g_main_loop_new (GMainContext* context, gboolean is_running);
2 | extern void g_main_loop_run(GMainLoop* loop);
3 | extern void g_main_loop_quit(GMainLoop* loop);
4 | extern gboolean g_main_loop_is_running(GMainLoop* loop);
5 | extern GMainLoop* g_main_loop_ref(GMainLoop* loop);
6 | extern void g_main_loop_unref(GMainLoop* loop);
--------------------------------------------------------------------------------
/src/Gtk/PasswordEntryBuffer.php:
--------------------------------------------------------------------------------
1 | widget = new Widget(Gtk::getFFI()->gtk_password_entry_buffer_new());
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/headers/400-GtkEventControllerScroll.h:
--------------------------------------------------------------------------------
1 | extern void gtk_event_controller_scroll_set_flags ( GtkEventControllerScroll* scroll, GtkEventControllerScrollFlags flags );
2 | extern GtkEventController* gtk_event_controller_scroll_new ( GtkEventControllerScrollFlags flags );
3 | extern GtkEventControllerScrollFlags gtk_event_controller_scroll_get_flags ( GtkEventControllerScroll* scroll );
4 |
--------------------------------------------------------------------------------
/headers/400-GtkDropControllerMotion.h:
--------------------------------------------------------------------------------
1 | extern GdkDrop* gtk_drop_controller_motion_get_drop ( GtkDropControllerMotion* self );
2 | extern gboolean gtk_drop_controller_motion_contains_pointer ( GtkDropControllerMotion* self );
3 | extern GtkEventController* gtk_drop_controller_motion_new ( void );
4 | extern gboolean gtk_drop_controller_motion_is_pointer ( GtkDropControllerMotion* self );
5 |
--------------------------------------------------------------------------------
/headers/400-GtkTextChildAnchor.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget** gtk_text_child_anchor_get_widgets ( GtkTextChildAnchor* anchor, guint* out_len );
2 | extern GtkTextChildAnchor* gtk_text_child_anchor_new ( void );
3 | extern gboolean gtk_text_child_anchor_get_deleted ( GtkTextChildAnchor* anchor );
4 | extern GtkTextChildAnchor* gtk_text_child_anchor_new_with_replacement ( const char* character );
5 |
--------------------------------------------------------------------------------
/headers/400-GtkFlattenListModel.h:
--------------------------------------------------------------------------------
1 | extern GListModel* gtk_flatten_list_model_get_model ( GtkFlattenListModel* self );
2 | extern void gtk_flatten_list_model_set_model ( GtkFlattenListModel* self, GListModel* model );
3 | extern GtkFlattenListModel* gtk_flatten_list_model_new ( GListModel* model );
4 | extern GListModel* gtk_flatten_list_model_get_model_for_item ( GtkFlattenListModel* self, guint position );
5 |
--------------------------------------------------------------------------------
/headers/400-GtkPadController.h:
--------------------------------------------------------------------------------
1 | extern GtkPadController* gtk_pad_controller_new ( GActionGroup* group, GdkDevice* pad );
2 | extern void gtk_pad_controller_set_action ( GtkPadController* controller, GtkPadActionType type, int index, int mode, const char* label, const char* action_name );
3 | extern void gtk_pad_controller_set_action_entries ( GtkPadController* controller, const GtkPadActionEntry* entries, int n_entries );
4 |
--------------------------------------------------------------------------------
/headers/400-GtkShortcutAction.h:
--------------------------------------------------------------------------------
1 | extern char* gtk_shortcut_action_to_string ( GtkShortcutAction* self );
2 | extern GtkShortcutAction* gtk_shortcut_action_parse_string ( const char* string );
3 | extern gboolean gtk_shortcut_action_activate ( GtkShortcutAction* self, GtkShortcutActionFlags flags, GtkWidget* widget, GVariant* args );
4 | extern void gtk_shortcut_action_print ( GtkShortcutAction* self, GString* string );
5 |
--------------------------------------------------------------------------------
/src/Gtk/Breaker.php:
--------------------------------------------------------------------------------
1 | gtk_switch_new()));
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/headers/400-GtkBoolFilter.h:
--------------------------------------------------------------------------------
1 | extern void gtk_bool_filter_set_expression ( GtkBoolFilter* self, GtkExpression* expression );
2 | extern GtkExpression* gtk_bool_filter_get_expression ( GtkBoolFilter* self );
3 | extern GtkBoolFilter* gtk_bool_filter_new ( GtkExpression* expression );
4 | extern gboolean gtk_bool_filter_get_invert ( GtkBoolFilter* self );
5 | extern void gtk_bool_filter_set_invert ( GtkBoolFilter* self, gboolean invert );
6 |
--------------------------------------------------------------------------------
/headers/400-GtkOverlayLayoutChild.h:
--------------------------------------------------------------------------------
1 | extern void gtk_overlay_layout_child_set_measure ( GtkOverlayLayoutChild* child, gboolean measure );
2 | extern gboolean gtk_overlay_layout_child_get_measure ( GtkOverlayLayoutChild* child );
3 | extern void gtk_overlay_layout_child_set_clip_overlay ( GtkOverlayLayoutChild* child, gboolean clip_overlay );
4 | extern gboolean gtk_overlay_layout_child_get_clip_overlay ( GtkOverlayLayoutChild* child );
5 |
--------------------------------------------------------------------------------
/headers/400-GtkPropertyExpression.h:
--------------------------------------------------------------------------------
1 | extern GParamSpec* gtk_property_expression_get_pspec ( GtkExpression* expression );
2 | extern GtkExpression* gtk_property_expression_new ( GType this_type, GtkExpression* expression, const char* property_name );
3 | extern GtkExpression* gtk_property_expression_new_for_pspec ( GtkExpression* expression, GParamSpec* pspec );
4 | extern GtkExpression* gtk_property_expression_get_expression ( GtkExpression* expression );
5 |
--------------------------------------------------------------------------------
/headers/400-GtkViewport.h:
--------------------------------------------------------------------------------
1 | extern void gtk_viewport_set_child ( GtkViewport* viewport, GtkWidget* child );
2 | extern gboolean gtk_viewport_get_scroll_to_focus ( GtkViewport* viewport );
3 | extern GtkWidget* gtk_viewport_new ( GtkAdjustment* hadjustment, GtkAdjustment* vadjustment );
4 | extern GtkWidget* gtk_viewport_get_child ( GtkViewport* viewport );
5 | extern void gtk_viewport_set_scroll_to_focus ( GtkViewport* viewport, gboolean scroll_to_focus );
6 |
--------------------------------------------------------------------------------
/headers/400-GtkPasswordEntry.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_password_entry_get_show_peek_icon ( GtkPasswordEntry* entry );
2 | extern void gtk_password_entry_set_extra_menu ( GtkPasswordEntry* entry, GMenuModel* model );
3 | extern GMenuModel* gtk_password_entry_get_extra_menu ( GtkPasswordEntry* entry );
4 | extern GtkWidget* gtk_password_entry_new ( void );
5 | extern void gtk_password_entry_set_show_peek_icon ( GtkPasswordEntry* entry, gboolean show_peek_icon );
6 |
--------------------------------------------------------------------------------
/headers/400-GtkFlowBoxChild.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_flow_box_child_get_child ( GtkFlowBoxChild* self );
2 | extern int gtk_flow_box_child_get_index ( GtkFlowBoxChild* child );
3 | extern void gtk_flow_box_child_changed ( GtkFlowBoxChild* child );
4 | extern GtkWidget* gtk_flow_box_child_new ( void );
5 | extern void gtk_flow_box_child_set_child ( GtkFlowBoxChild* self, GtkWidget* child );
6 | extern gboolean gtk_flow_box_child_is_selected ( GtkFlowBoxChild* child );
7 |
--------------------------------------------------------------------------------
/example/simple/button/link.php:
--------------------------------------------------------------------------------
1 | setChild($link);
12 | $w->widget->show();
13 |
14 |
15 | $run = true;
16 | $m = new \PGtk\Gtk\GLib\MainLoop();
17 | $w->connect('destroy', function ($w, $m) use (&$run) {
18 | $m->quit();
19 | }, $m);
20 | $m->run();
21 |
--------------------------------------------------------------------------------
/headers/400-GtkStringSorter.h:
--------------------------------------------------------------------------------
1 | extern void gtk_string_sorter_set_expression ( GtkStringSorter* self, GtkExpression* expression );
2 | extern GtkStringSorter* gtk_string_sorter_new ( GtkExpression* expression );
3 | extern gboolean gtk_string_sorter_get_ignore_case ( GtkStringSorter* self );
4 | extern GtkExpression* gtk_string_sorter_get_expression ( GtkStringSorter* self );
5 | extern void gtk_string_sorter_set_ignore_case ( GtkStringSorter* self, gboolean ignore_case );
6 |
--------------------------------------------------------------------------------
/headers/400-GtkColorButton.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_color_button_new_with_rgba ( const GdkRGBA* rgba );
2 | extern gboolean gtk_color_button_get_modal ( GtkColorButton* button );
3 | extern GtkWidget* gtk_color_button_new ( void );
4 | extern void gtk_color_button_set_title ( GtkColorButton* button, const char* title );
5 | extern void gtk_color_button_set_modal ( GtkColorButton* button, gboolean modal );
6 | extern const char* gtk_color_button_get_title ( GtkColorButton* button );
7 |
--------------------------------------------------------------------------------
/headers/400-GtkNumericSorter.h:
--------------------------------------------------------------------------------
1 | extern GtkExpression* gtk_numeric_sorter_get_expression ( GtkNumericSorter* self );
2 | extern void gtk_numeric_sorter_set_expression ( GtkNumericSorter* self, GtkExpression* expression );
3 | extern GtkSortType gtk_numeric_sorter_get_sort_order ( GtkNumericSorter* self );
4 | extern GtkNumericSorter* gtk_numeric_sorter_new ( GtkExpression* expression );
5 | extern void gtk_numeric_sorter_set_sort_order ( GtkNumericSorter* self, GtkSortType sort_order );
6 |
--------------------------------------------------------------------------------
/headers/400-GtkShortcutLabel.h:
--------------------------------------------------------------------------------
1 | extern void gtk_shortcut_label_set_accelerator ( GtkShortcutLabel* self, const char* accelerator );
2 | extern const char* gtk_shortcut_label_get_disabled_text ( GtkShortcutLabel* self );
3 | extern GtkWidget* gtk_shortcut_label_new ( const char* accelerator );
4 | extern const char* gtk_shortcut_label_get_accelerator ( GtkShortcutLabel* self );
5 | extern void gtk_shortcut_label_set_disabled_text ( GtkShortcutLabel* self, const char* disabled_text );
6 |
--------------------------------------------------------------------------------
/src/GDK/GObject.php:
--------------------------------------------------------------------------------
1 | $functionName(...$arguments);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/GLib/MainContext.php:
--------------------------------------------------------------------------------
1 | $functionName(null, ...$arguments);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/headers/400-GtkBuilderCScope.h:
--------------------------------------------------------------------------------
1 | extern void gtk_builder_cscope_add_callback_symbol ( GtkBuilderCScope* self, const char* callback_name, GCallback callback_symbol );
2 | extern GCallback gtk_builder_cscope_lookup_callback_symbol ( GtkBuilderCScope* self, const char* callback_name );
3 | extern void gtk_builder_cscope_add_callback_symbols ( GtkBuilderCScope* self, const char* first_callback_name, GCallback first_callback_symbol, ... );
4 | extern GtkBuilderScope* gtk_builder_cscope_new ( void );
5 |
--------------------------------------------------------------------------------
/headers/400-GtkPopoverMenuBar.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_popover_menu_bar_remove_child ( GtkPopoverMenuBar* bar, GtkWidget* child );
2 | extern GMenuModel* gtk_popover_menu_bar_get_menu_model ( GtkPopoverMenuBar* bar );
3 | extern GtkWidget* gtk_popover_menu_bar_new_from_model ( GMenuModel* model );
4 | extern gboolean gtk_popover_menu_bar_add_child ( GtkPopoverMenuBar* bar, GtkWidget* child, const char* id );
5 | extern void gtk_popover_menu_bar_set_menu_model ( GtkPopoverMenuBar* bar, GMenuModel* model );
6 |
--------------------------------------------------------------------------------
/headers/400-GtkCellAreaBox.h:
--------------------------------------------------------------------------------
1 | extern GtkCellArea* gtk_cell_area_box_new ( void );
2 | extern int gtk_cell_area_box_get_spacing ( GtkCellAreaBox* box );
3 | extern void gtk_cell_area_box_pack_end ( GtkCellAreaBox* box, GtkCellRenderer* renderer, gboolean expand, gboolean align, gboolean fixed );
4 | extern void gtk_cell_area_box_pack_start ( GtkCellAreaBox* box, GtkCellRenderer* renderer, gboolean expand, gboolean align, gboolean fixed );
5 | extern void gtk_cell_area_box_set_spacing ( GtkCellAreaBox* box, int spacing );
6 |
--------------------------------------------------------------------------------
/headers/400-GtkGestureStylus.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_gesture_stylus_get_axes ( GtkGestureStylus* gesture, GdkAxisUse* axes, double** values );
2 | extern GtkGesture* gtk_gesture_stylus_new ( void );
3 | extern gboolean gtk_gesture_stylus_get_axis ( GtkGestureStylus* gesture, GdkAxisUse axis, double* value );
4 | extern gboolean gtk_gesture_stylus_get_backlog ( GtkGestureStylus* gesture, GdkTimeCoord** backlog, guint* n_elems );
5 | extern GdkDeviceTool* gtk_gesture_stylus_get_device_tool ( GtkGestureStylus* gesture );
6 |
--------------------------------------------------------------------------------
/headers/400-GtkLinkButton.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_link_button_get_visited ( GtkLinkButton* link_button );
2 | extern GtkWidget* gtk_link_button_new_with_label ( const char* uri, const char* label );
3 | extern GtkWidget* gtk_link_button_new ( const char* uri );
4 | extern const char* gtk_link_button_get_uri ( GtkLinkButton* link_button );
5 | extern void gtk_link_button_set_visited ( GtkLinkButton* link_button, gboolean visited );
6 | extern void gtk_link_button_set_uri ( GtkLinkButton* link_button, const char* uri );
7 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "pgtk/gtk",
3 | "license": "MIT",
4 | "autoload": {
5 | "files": [
6 | "./src/GLib/functions.php"
7 | ],
8 | "psr-4": {
9 | "PGtk\\Gtk\\": "src/",
10 | "Test\\PGtk\\Gtk\\": "tests/"
11 | }
12 | },
13 | "require": {
14 | "php": "^8.1",
15 | "ext-ffi": "*"
16 | },
17 | "require-dev": {
18 | "phpunit/phpunit": "9.*",
19 | "vimeo/psalm": "^5.5"
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/headers/400-GtkEventControllerKey.h:
--------------------------------------------------------------------------------
1 | extern guint gtk_event_controller_key_get_group ( GtkEventControllerKey* controller );
2 | extern GtkEventController* gtk_event_controller_key_new ( void );
3 | extern GtkIMContext* gtk_event_controller_key_get_im_context ( GtkEventControllerKey* controller );
4 | extern gboolean gtk_event_controller_key_forward ( GtkEventControllerKey* controller, GtkWidget* widget );
5 | extern void gtk_event_controller_key_set_im_context ( GtkEventControllerKey* controller, GtkIMContext* im_context );
6 |
--------------------------------------------------------------------------------
/headers/400-GtkSizeGroup.h:
--------------------------------------------------------------------------------
1 | extern GtkSizeGroupMode gtk_size_group_get_mode ( GtkSizeGroup* size_group );
2 | extern void gtk_size_group_add_widget ( GtkSizeGroup* size_group, GtkWidget* widget );
3 | extern GSList* gtk_size_group_get_widgets ( GtkSizeGroup* size_group );
4 | extern GtkSizeGroup* gtk_size_group_new ( GtkSizeGroupMode mode );
5 | extern void gtk_size_group_set_mode ( GtkSizeGroup* size_group, GtkSizeGroupMode mode );
6 | extern void gtk_size_group_remove_widget ( GtkSizeGroup* size_group, GtkWidget* widget );
7 |
--------------------------------------------------------------------------------
/headers/400-GtkMountOperation.h:
--------------------------------------------------------------------------------
1 | extern GtkWindow* gtk_mount_operation_get_parent ( GtkMountOperation* op );
2 | extern gboolean gtk_mount_operation_is_showing ( GtkMountOperation* op );
3 | extern GdkDisplay* gtk_mount_operation_get_display ( GtkMountOperation* op );
4 | extern void gtk_mount_operation_set_parent ( GtkMountOperation* op, GtkWindow* parent );
5 | extern GMountOperation* gtk_mount_operation_new ( GtkWindow* parent );
6 | extern void gtk_mount_operation_set_display ( GtkMountOperation* op, GdkDisplay* display );
7 |
--------------------------------------------------------------------------------
/headers/400-GtkTextTagTable.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_text_tag_table_add ( GtkTextTagTable* table, GtkTextTag* tag );
2 | extern int gtk_text_tag_table_get_size ( GtkTextTagTable* table );
3 | extern void gtk_text_tag_table_foreach ( GtkTextTagTable* table, GtkTextTagTableForeach func, gpointer data );
4 | extern GtkTextTagTable* gtk_text_tag_table_new ( void );
5 | extern void gtk_text_tag_table_remove ( GtkTextTagTable* table, GtkTextTag* tag );
6 | extern GtkTextTag* gtk_text_tag_table_lookup ( GtkTextTagTable* table, const char* name );
7 |
--------------------------------------------------------------------------------
/headers/400-GtkTextMark.h:
--------------------------------------------------------------------------------
1 | extern GtkTextBuffer* gtk_text_mark_get_buffer ( GtkTextMark* mark );
2 | extern GtkTextMark* gtk_text_mark_new ( const char* name, gboolean left_gravity );
3 | extern gboolean gtk_text_mark_get_deleted ( GtkTextMark* mark );
4 | extern gboolean gtk_text_mark_get_left_gravity ( GtkTextMark* mark );
5 | extern gboolean gtk_text_mark_get_visible ( GtkTextMark* mark );
6 | extern const char* gtk_text_mark_get_name ( GtkTextMark* mark );
7 | extern void gtk_text_mark_set_visible ( GtkTextMark* mark, gboolean setting );
8 |
--------------------------------------------------------------------------------
/headers/400-GtkWindowControls.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_window_controls_get_empty ( GtkWindowControls* self );
2 | extern GtkPackType gtk_window_controls_get_side ( GtkWindowControls* self );
3 | extern GtkWidget* gtk_window_controls_new ( GtkPackType side );
4 | extern const char* gtk_window_controls_get_decoration_layout ( GtkWindowControls* self );
5 | extern void gtk_window_controls_set_side ( GtkWindowControls* self, GtkPackType side );
6 | extern void gtk_window_controls_set_decoration_layout ( GtkWindowControls* self, const char* layout );
7 |
--------------------------------------------------------------------------------
/src/Gtk/ComboBoxText.php:
--------------------------------------------------------------------------------
1 | gtk_combo_box_text_new()));
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/headers/400-GtkAppChooserDialog.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_app_chooser_dialog_new_for_content_type ( GtkWindow* parent, GtkDialogFlags flags, const char* content_type );
2 | extern void gtk_app_chooser_dialog_set_heading ( GtkAppChooserDialog* self, const char* heading );
3 | extern const char* gtk_app_chooser_dialog_get_heading ( GtkAppChooserDialog* self );
4 | extern GtkWidget* gtk_app_chooser_dialog_get_widget ( GtkAppChooserDialog* self );
5 | extern GtkWidget* gtk_app_chooser_dialog_new ( GtkWindow* parent, GtkDialogFlags flags, GFile* file );
6 |
--------------------------------------------------------------------------------
/headers/400-GtkStatusbar.h:
--------------------------------------------------------------------------------
1 | extern guint gtk_statusbar_push ( GtkStatusbar* statusbar, guint context_id, const char* text );
2 | extern GtkWidget* gtk_statusbar_new ( void );
3 | extern guint gtk_statusbar_get_context_id ( GtkStatusbar* statusbar, const char* context_description );
4 | extern void gtk_statusbar_pop ( GtkStatusbar* statusbar, guint context_id );
5 | extern void gtk_statusbar_remove ( GtkStatusbar* statusbar, guint context_id, guint message_id );
6 | extern void gtk_statusbar_remove_all ( GtkStatusbar* statusbar, guint context_id );
7 |
--------------------------------------------------------------------------------
/headers/400-GtkDrawingArea.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_drawing_area_new ( void );
2 | extern void gtk_drawing_area_set_content_height ( GtkDrawingArea* self, int height );
3 | extern int gtk_drawing_area_get_content_height ( GtkDrawingArea* self );
4 | extern int gtk_drawing_area_get_content_width ( GtkDrawingArea* self );
5 | extern void gtk_drawing_area_set_draw_func ( GtkDrawingArea* self, GtkDrawingAreaDrawFunc draw_func, gpointer user_data, GDestroyNotify destroy );
6 | extern void gtk_drawing_area_set_content_width ( GtkDrawingArea* self, int width );
7 |
--------------------------------------------------------------------------------
/headers/400-GtkStringList.h:
--------------------------------------------------------------------------------
1 | extern void gtk_string_list_remove ( GtkStringList* self, guint position );
2 | extern const char* gtk_string_list_get_string ( GtkStringList* self, guint position );
3 | extern void gtk_string_list_append ( GtkStringList* self, const char* string );
4 | extern GtkStringList* gtk_string_list_new ( const char* const* strings );
5 | extern void gtk_string_list_splice ( GtkStringList* self, guint position, guint n_removals, const char* const* additions );
6 | extern void gtk_string_list_take ( GtkStringList* self, char* string );
7 |
--------------------------------------------------------------------------------
/headers/000-type.h:
--------------------------------------------------------------------------------
1 | /*
2 | typedef char gchar;
3 | typedef int gsize;
4 | typedef int gint;
5 | typedef int guint;
6 | typedef bool gboolean;
7 | typedef unsigned char guchar;
8 | typedef long glong;
9 | typedef unsigned long gulong;
10 | typedef float gfloat;
11 | typedef double gdouble;
12 | typedef int8_t gint8;
13 | typedef uint8_t guint8;
14 | typedef int16_t gint16;
15 | typedef uint16_t guint16;
16 | typedef int32_t gint32;
17 | typedef uint32_t guint32;
18 | typedef void* gpointer;
19 | typedef guint32 gunichar;
20 | typedef signed long gssize;*/
21 |
--------------------------------------------------------------------------------
/headers/400-GtkMapListModel.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_map_list_model_has_map ( GtkMapListModel* self );
2 | extern GListModel* gtk_map_list_model_get_model ( GtkMapListModel* self );
3 | extern GtkMapListModel* gtk_map_list_model_new ( GListModel* model, GtkMapListModelMapFunc map_func, gpointer user_data, GDestroyNotify user_destroy );
4 | extern void gtk_map_list_model_set_map_func ( GtkMapListModel* self, GtkMapListModelMapFunc map_func, gpointer user_data, GDestroyNotify user_destroy );
5 | extern void gtk_map_list_model_set_model ( GtkMapListModel* self, GListModel* model );
6 |
--------------------------------------------------------------------------------
/headers/400-GtkBuilderListItemFactory.h:
--------------------------------------------------------------------------------
1 | extern const char* gtk_builder_list_item_factory_get_resource ( GtkBuilderListItemFactory* self );
2 | extern GBytes* gtk_builder_list_item_factory_get_bytes ( GtkBuilderListItemFactory* self );
3 | extern GtkListItemFactory* gtk_builder_list_item_factory_new_from_bytes ( GtkBuilderScope* scope, GBytes* bytes );
4 | extern GtkListItemFactory* gtk_builder_list_item_factory_new_from_resource ( GtkBuilderScope* scope, const char* resource_path );
5 | extern GtkBuilderScope* gtk_builder_list_item_factory_get_scope ( GtkBuilderListItemFactory* self );
6 |
--------------------------------------------------------------------------------
/headers/400-GtkPageSetupUnixDialog.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_page_setup_unix_dialog_new ( const char* title, GtkWindow* parent );
2 | extern void gtk_page_setup_unix_dialog_set_page_setup ( GtkPageSetupUnixDialog* dialog, GtkPageSetup* page_setup );
3 | extern GtkPageSetup* gtk_page_setup_unix_dialog_get_page_setup ( GtkPageSetupUnixDialog* dialog );
4 | extern GtkPrintSettings* gtk_page_setup_unix_dialog_get_print_settings ( GtkPageSetupUnixDialog* dialog );
5 | extern void gtk_page_setup_unix_dialog_set_print_settings ( GtkPageSetupUnixDialog* dialog, GtkPrintSettings* print_settings );
6 |
--------------------------------------------------------------------------------
/headers/400-GtkPopoverMenu.h:
--------------------------------------------------------------------------------
1 | extern GMenuModel* gtk_popover_menu_get_menu_model ( GtkPopoverMenu* popover );
2 | extern GtkWidget* gtk_popover_menu_new_from_model ( GMenuModel* model );
3 | extern GtkWidget* gtk_popover_menu_new_from_model_full ( GMenuModel* model, GtkPopoverMenuFlags flags );
4 | extern gboolean gtk_popover_menu_add_child ( GtkPopoverMenu* popover, GtkWidget* child, const char* id );
5 | extern void gtk_popover_menu_set_menu_model ( GtkPopoverMenu* popover, GMenuModel* model );
6 | extern gboolean gtk_popover_menu_remove_child ( GtkPopoverMenu* popover, GtkWidget* child );
7 |
--------------------------------------------------------------------------------
/headers/400-GtkToggleButton.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_toggle_button_get_active ( GtkToggleButton* toggle_button );
2 | extern GtkWidget* gtk_toggle_button_new_with_label ( const char* label );
3 | extern GtkWidget* gtk_toggle_button_new ( void );
4 | extern GtkWidget* gtk_toggle_button_new_with_mnemonic ( const char* label );
5 | extern void gtk_toggle_button_toggled ( GtkToggleButton* toggle_button );
6 | extern void gtk_toggle_button_set_group ( GtkToggleButton* toggle_button, GtkToggleButton* group );
7 | extern void gtk_toggle_button_set_active ( GtkToggleButton* toggle_button, gboolean is_active );
8 |
--------------------------------------------------------------------------------
/example/simple/image/image.php:
--------------------------------------------------------------------------------
1 | getPixelSize());
11 | $link->setPixelSize(500);
12 | var_dump($link->getPixelSize());
13 | var_dump($link->getIconName());
14 | $w->setChild($link);
15 | $w->widget->show();
16 |
17 |
18 | $run = true;
19 | $m = new \PGtk\Gtk\GLib\MainLoop();
20 | $w->connect('destroy', function ($w, $m) use (&$run) {
21 | $m->quit();
22 | }, $m);
23 | $m->run();
24 |
--------------------------------------------------------------------------------
/headers/400-GtkApplicationWindow.h:
--------------------------------------------------------------------------------
1 | extern GtkShortcutsWindow* gtk_application_window_get_help_overlay ( GtkApplicationWindow* window );
2 | extern gboolean gtk_application_window_get_show_menubar ( GtkApplicationWindow* window );
3 | extern GtkWidget* gtk_application_window_new ( GtkApplication* application );
4 | extern guint gtk_application_window_get_id ( GtkApplicationWindow* window );
5 | extern void gtk_application_window_set_show_menubar ( GtkApplicationWindow* window, gboolean show_menubar );
6 | extern void gtk_application_window_set_help_overlay ( GtkApplicationWindow* window, GtkShortcutsWindow* help_overlay );
7 |
--------------------------------------------------------------------------------
/headers/400-GtkDropTargetAsync.h:
--------------------------------------------------------------------------------
1 | extern void gtk_drop_target_async_reject_drop ( GtkDropTargetAsync* self, GdkDrop* drop );
2 | extern GdkDragAction gtk_drop_target_async_get_actions ( GtkDropTargetAsync* self );
3 | extern GtkDropTargetAsync* gtk_drop_target_async_new ( GdkContentFormats* formats, GdkDragAction actions );
4 | extern GdkContentFormats* gtk_drop_target_async_get_formats ( GtkDropTargetAsync* self );
5 | extern void gtk_drop_target_async_set_formats ( GtkDropTargetAsync* self, GdkContentFormats* formats );
6 | extern void gtk_drop_target_async_set_actions ( GtkDropTargetAsync* self, GdkDragAction actions );
7 |
--------------------------------------------------------------------------------
/headers/400-GtkFixed.h:
--------------------------------------------------------------------------------
1 | extern GskTransform* gtk_fixed_get_child_transform ( GtkFixed* fixed, GtkWidget* widget );
2 | extern GtkWidget* gtk_fixed_new ( void );
3 | extern void gtk_fixed_move ( GtkFixed* fixed, GtkWidget* widget, double x, double y );
4 | extern void gtk_fixed_get_child_position ( GtkFixed* fixed, GtkWidget* widget, double* x, double* y );
5 | extern void gtk_fixed_set_child_transform ( GtkFixed* fixed, GtkWidget* widget, GskTransform* transform );
6 | extern void gtk_fixed_remove ( GtkFixed* fixed, GtkWidget* widget );
7 | extern void gtk_fixed_put ( GtkFixed* fixed, GtkWidget* widget, double x, double y );
8 |
--------------------------------------------------------------------------------
/headers/400-GtkBookmarkList.h:
--------------------------------------------------------------------------------
1 | extern int gtk_bookmark_list_get_io_priority ( GtkBookmarkList* self );
2 | extern const char* gtk_bookmark_list_get_attributes ( GtkBookmarkList* self );
3 | extern GtkBookmarkList* gtk_bookmark_list_new ( const char* filename, const char* attributes );
4 | extern const char* gtk_bookmark_list_get_filename ( GtkBookmarkList* self );
5 | extern void gtk_bookmark_list_set_attributes ( GtkBookmarkList* self, const char* attributes );
6 | extern gboolean gtk_bookmark_list_is_loading ( GtkBookmarkList* self );
7 | extern void gtk_bookmark_list_set_io_priority ( GtkBookmarkList* self, int io_priority );
8 |
--------------------------------------------------------------------------------
/headers/400-GtkFileChooserNative.h:
--------------------------------------------------------------------------------
1 | extern void gtk_file_chooser_native_set_accept_label ( GtkFileChooserNative* self, const char* accept_label );
2 | extern const char* gtk_file_chooser_native_get_accept_label ( GtkFileChooserNative* self );
3 | extern GtkFileChooserNative* gtk_file_chooser_native_new ( const char* title, GtkWindow* parent, GtkFileChooserAction action, const char* accept_label, const char* cancel_label );
4 | extern const char* gtk_file_chooser_native_get_cancel_label ( GtkFileChooserNative* self );
5 | extern void gtk_file_chooser_native_set_cancel_label ( GtkFileChooserNative* self, const char* cancel_label );
6 |
--------------------------------------------------------------------------------
/headers/400-GtkSliceListModel.h:
--------------------------------------------------------------------------------
1 | extern GtkSliceListModel* gtk_slice_list_model_new ( GListModel* model, guint offset, guint size );
2 | extern guint gtk_slice_list_model_get_offset ( GtkSliceListModel* self );
3 | extern guint gtk_slice_list_model_get_size ( GtkSliceListModel* self );
4 | extern GListModel* gtk_slice_list_model_get_model ( GtkSliceListModel* self );
5 | extern void gtk_slice_list_model_set_offset ( GtkSliceListModel* self, guint offset );
6 | extern void gtk_slice_list_model_set_size ( GtkSliceListModel* self, guint size );
7 | extern void gtk_slice_list_model_set_model ( GtkSliceListModel* self, GListModel* model );
8 |
--------------------------------------------------------------------------------
/headers/400-GtkTooltip.h:
--------------------------------------------------------------------------------
1 | extern void gtk_tooltip_set_icon_from_gicon ( GtkTooltip* tooltip, GIcon* gicon );
2 | extern void gtk_tooltip_set_custom ( GtkTooltip* tooltip, GtkWidget* custom_widget );
3 | extern void gtk_tooltip_set_icon_from_icon_name ( GtkTooltip* tooltip, const char* icon_name );
4 | extern void gtk_tooltip_set_icon ( GtkTooltip* tooltip, GdkPaintable* paintable );
5 | extern void gtk_tooltip_set_markup ( GtkTooltip* tooltip, const char* markup );
6 | extern void gtk_tooltip_set_tip_area ( GtkTooltip* tooltip, const GdkRectangle* rect );
7 | extern void gtk_tooltip_set_text ( GtkTooltip* tooltip, const char* text );
8 |
--------------------------------------------------------------------------------
/example/simple/hello_world/main.php:
--------------------------------------------------------------------------------
1 | setDefaultSize(600, 600);
8 | $w->setTitle('Hello world');
9 |
10 | $text = new \PGtk\Gtk\Gtk\Text();
11 | $text->getWidget()->setSizeRequest(100, 100);
12 | $w->setChild($text);
13 | $w->widget->show();
14 |
15 |
16 | $run = true;
17 | $m = new \PGtk\Gtk\GLib\MainLoop();
18 | $w->connect('destroy', function ($w, $m) use (&$run) {
19 | $m->quit();
20 | }, $m);
21 | $m->run();
22 | //while ($run) {
23 | // \PGtk\Gtk\GLib\MainContext::iteration(true);
24 | //}
25 |
26 |
27 |
--------------------------------------------------------------------------------
/headers/400-GtkBoxLayout.h:
--------------------------------------------------------------------------------
1 | extern guint gtk_box_layout_get_spacing ( GtkBoxLayout* box_layout );
2 | extern gboolean gtk_box_layout_get_homogeneous ( GtkBoxLayout* box_layout );
3 | extern GtkBaselinePosition gtk_box_layout_get_baseline_position ( GtkBoxLayout* box_layout );
4 | extern GtkLayoutManager* gtk_box_layout_new ( GtkOrientation orientation );
5 | extern void gtk_box_layout_set_homogeneous ( GtkBoxLayout* box_layout, gboolean homogeneous );
6 | extern void gtk_box_layout_set_baseline_position ( GtkBoxLayout* box_layout, GtkBaselinePosition position );
7 | extern void gtk_box_layout_set_spacing ( GtkBoxLayout* box_layout, guint spacing );
8 |
--------------------------------------------------------------------------------
/src/Gtk/CheckButton.php:
--------------------------------------------------------------------------------
1 | gtk_check_button_new()));
17 | } else {
18 | parent::__construct(new Widget(Gtk::getFFI()->gtk_check_button_new_with_label($label)));
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/headers/400-GtkFrame.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_frame_new ( const char* label );
2 | extern float gtk_frame_get_label_align ( GtkFrame* frame );
3 | extern const char* gtk_frame_get_label ( GtkFrame* frame );
4 | extern GtkWidget* gtk_frame_get_child ( GtkFrame* frame );
5 | extern void gtk_frame_set_label ( GtkFrame* frame, const char* label );
6 | extern void gtk_frame_set_label_align ( GtkFrame* frame, float xalign );
7 | extern GtkWidget* gtk_frame_get_label_widget ( GtkFrame* frame );
8 | extern void gtk_frame_set_label_widget ( GtkFrame* frame, GtkWidget* label_widget );
9 | extern void gtk_frame_set_child ( GtkFrame* frame, GtkWidget* child );
10 |
--------------------------------------------------------------------------------
/headers/400-GtkCellRendererToggle.h:
--------------------------------------------------------------------------------
1 | extern GtkCellRenderer* gtk_cell_renderer_toggle_new ( void );
2 | extern gboolean gtk_cell_renderer_toggle_get_activatable ( GtkCellRendererToggle* toggle );
3 | extern gboolean gtk_cell_renderer_toggle_get_active ( GtkCellRendererToggle* toggle );
4 | extern gboolean gtk_cell_renderer_toggle_get_radio ( GtkCellRendererToggle* toggle );
5 | extern void gtk_cell_renderer_toggle_set_radio ( GtkCellRendererToggle* toggle, gboolean radio );
6 | extern void gtk_cell_renderer_toggle_set_activatable ( GtkCellRendererToggle* toggle, gboolean setting );
7 | extern void gtk_cell_renderer_toggle_set_active ( GtkCellRendererToggle* toggle, gboolean setting );
8 |
--------------------------------------------------------------------------------
/headers/400-GtkCssProvider.h:
--------------------------------------------------------------------------------
1 | extern void gtk_css_provider_load_from_path ( GtkCssProvider* css_provider, const char* path );
2 | extern void gtk_css_provider_load_from_data ( GtkCssProvider* css_provider, const char* data, gssize length );
3 | extern GtkCssProvider* gtk_css_provider_new ( void );
4 | extern void gtk_css_provider_load_from_file ( GtkCssProvider* css_provider, GFile* file );
5 | extern char* gtk_css_provider_to_string ( GtkCssProvider* provider );
6 | extern void gtk_css_provider_load_named ( GtkCssProvider* provider, const char* name, const char* variant );
7 | extern void gtk_css_provider_load_from_resource ( GtkCssProvider* css_provider, const char* resource_path );
8 |
--------------------------------------------------------------------------------
/phpunit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
13 |
14 | tests
15 |
16 |
17 |
18 | tests/Unit
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/headers/400-GtkActionBar.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_action_bar_new ( void );
2 | extern gboolean gtk_action_bar_get_revealed ( GtkActionBar* action_bar );
3 | extern void gtk_action_bar_pack_end ( GtkActionBar* action_bar, GtkWidget* child );
4 | extern void gtk_action_bar_pack_start ( GtkActionBar* action_bar, GtkWidget* child );
5 | extern GtkWidget* gtk_action_bar_get_center_widget ( GtkActionBar* action_bar );
6 | extern void gtk_action_bar_set_revealed ( GtkActionBar* action_bar, gboolean revealed );
7 | extern void gtk_action_bar_remove ( GtkActionBar* action_bar, GtkWidget* child );
8 | extern void gtk_action_bar_set_center_widget ( GtkActionBar* action_bar, GtkWidget* center_widget );
9 |
--------------------------------------------------------------------------------
/headers/400-GtkDragSource.h:
--------------------------------------------------------------------------------
1 | extern void gtk_drag_source_drag_cancel ( GtkDragSource* source );
2 | extern GdkDragAction gtk_drag_source_get_actions ( GtkDragSource* source );
3 | extern GdkContentProvider* gtk_drag_source_get_content ( GtkDragSource* source );
4 | extern GtkDragSource* gtk_drag_source_new ( void );
5 | extern void gtk_drag_source_set_actions ( GtkDragSource* source, GdkDragAction actions );
6 | extern void gtk_drag_source_set_icon ( GtkDragSource* source, GdkPaintable* paintable, int hot_x, int hot_y );
7 | extern void gtk_drag_source_set_content ( GtkDragSource* source, GdkContentProvider* content );
8 | extern GdkDrag* gtk_drag_source_get_drag ( GtkDragSource* source );
9 |
--------------------------------------------------------------------------------
/headers/400-GtkExpression.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_expression_is_static ( GtkExpression* self );
2 | extern GType gtk_expression_get_value_type ( GtkExpression* self );
3 | extern GtkExpressionWatch* gtk_expression_bind ( GtkExpression* self, GObject* target, const char* property, GObject* this_ );
4 | extern gboolean gtk_expression_evaluate ( GtkExpression* self, GObject* this_, GValue* value );
5 | extern GtkExpression* gtk_expression_ref ( GtkExpression* self );
6 | extern GtkExpressionWatch* gtk_expression_watch ( GtkExpression* self, GObject* this_, GtkExpressionNotify notify, gpointer user_data, GDestroyNotify user_destroy );
7 | extern void gtk_expression_unref ( GtkExpression* self );
8 |
--------------------------------------------------------------------------------
/headers/400-GtkTreeExpander.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_tree_expander_new ( void );
2 | extern GObject* gtk_tree_expander_get_item ( GtkTreeExpander* self );
3 | extern gboolean gtk_tree_expander_get_indent_for_icon ( GtkTreeExpander* self );
4 | extern GtkWidget* gtk_tree_expander_get_child ( GtkTreeExpander* self );
5 | extern void gtk_tree_expander_set_child ( GtkTreeExpander* self, GtkWidget* child );
6 | extern void gtk_tree_expander_set_indent_for_icon ( GtkTreeExpander* self, gboolean indent_for_icon );
7 | extern void gtk_tree_expander_set_list_row ( GtkTreeExpander* self, GtkTreeListRow* list_row );
8 | extern GtkTreeListRow* gtk_tree_expander_get_list_row ( GtkTreeExpander* self );
9 |
--------------------------------------------------------------------------------
/headers/400-GtkListItem.h:
--------------------------------------------------------------------------------
1 | extern GObject* gtk_list_item_get_item ( GtkListItem* self );
2 | extern guint gtk_list_item_get_position ( GtkListItem* self );
3 | extern GtkWidget* gtk_list_item_get_child ( GtkListItem* self );
4 | extern gboolean gtk_list_item_get_activatable ( GtkListItem* self );
5 | extern gboolean gtk_list_item_get_selectable ( GtkListItem* self );
6 | extern gboolean gtk_list_item_get_selected ( GtkListItem* self );
7 | extern void gtk_list_item_set_activatable ( GtkListItem* self, gboolean activatable );
8 | extern void gtk_list_item_set_child ( GtkListItem* self, GtkWidget* child );
9 | extern void gtk_list_item_set_selectable ( GtkListItem* self, gboolean selectable );
10 |
--------------------------------------------------------------------------------
/headers/400-GtkGridLayoutChild.h:
--------------------------------------------------------------------------------
1 | extern int gtk_grid_layout_child_get_row ( GtkGridLayoutChild* child );
2 | extern int gtk_grid_layout_child_get_column_span ( GtkGridLayoutChild* child );
3 | extern int gtk_grid_layout_child_get_column ( GtkGridLayoutChild* child );
4 | extern int gtk_grid_layout_child_get_row_span ( GtkGridLayoutChild* child );
5 | extern void gtk_grid_layout_child_set_column_span ( GtkGridLayoutChild* child, int span );
6 | extern void gtk_grid_layout_child_set_column ( GtkGridLayoutChild* child, int column );
7 | extern void gtk_grid_layout_child_set_row ( GtkGridLayoutChild* child, int row );
8 | extern void gtk_grid_layout_child_set_row_span ( GtkGridLayoutChild* child, int span );
9 |
--------------------------------------------------------------------------------
/src/Gtk/ListBoxRow.php:
--------------------------------------------------------------------------------
1 | gtk_list_box_row_new()));
16 | }
17 |
18 | public function setChild(WidgetInterface $widget)
19 | {
20 | Gtk::getFFI()->gtk_list_box_row_set_child(Gtk::getFFI()->cast("GtkListBoxRow*", $this->widget->widget), Gtk::getFFI()->cast("GtkWidget*", $widget->getWidget()->widget));
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/headers/400-GtkSortListModel.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_sort_list_model_get_incremental ( GtkSortListModel* self );
2 | extern GListModel* gtk_sort_list_model_get_model ( GtkSortListModel* self );
3 | extern guint gtk_sort_list_model_get_pending ( GtkSortListModel* self );
4 | extern GtkSortListModel* gtk_sort_list_model_new ( GListModel* model, GtkSorter* sorter );
5 | extern GtkSorter* gtk_sort_list_model_get_sorter ( GtkSortListModel* self );
6 | extern void gtk_sort_list_model_set_sorter ( GtkSortListModel* self, GtkSorter* sorter );
7 | extern void gtk_sort_list_model_set_incremental ( GtkSortListModel* self, gboolean incremental );
8 | extern void gtk_sort_list_model_set_model ( GtkSortListModel* self, GListModel* model );
9 |
--------------------------------------------------------------------------------
/headers/400-GtkLayoutManager.h:
--------------------------------------------------------------------------------
1 | extern GtkLayoutChild* gtk_layout_manager_get_layout_child ( GtkLayoutManager* manager, GtkWidget* child );
2 | extern GtkWidget* gtk_layout_manager_get_widget ( GtkLayoutManager* manager );
3 | extern GtkSizeRequestMode gtk_layout_manager_get_request_mode ( GtkLayoutManager* manager );
4 | extern void gtk_layout_manager_allocate ( GtkLayoutManager* manager, GtkWidget* widget, int width, int height, int baseline );
5 | extern void gtk_layout_manager_measure ( GtkLayoutManager* manager, GtkWidget* widget, GtkOrientation orientation, int for_size, int* minimum, int* natural, int* minimum_baseline, int* natural_baseline );
6 | extern void gtk_layout_manager_layout_changed ( GtkLayoutManager* manager );
7 |
--------------------------------------------------------------------------------
/headers/400-GtkGestureSingle.h:
--------------------------------------------------------------------------------
1 | extern GdkEventSequence* gtk_gesture_single_get_current_sequence ( GtkGestureSingle* gesture );
2 | extern guint gtk_gesture_single_get_button ( GtkGestureSingle* gesture );
3 | extern gboolean gtk_gesture_single_get_exclusive ( GtkGestureSingle* gesture );
4 | extern guint gtk_gesture_single_get_current_button ( GtkGestureSingle* gesture );
5 | extern void gtk_gesture_single_set_button ( GtkGestureSingle* gesture, guint button );
6 | extern void gtk_gesture_single_set_exclusive ( GtkGestureSingle* gesture, gboolean exclusive );
7 | extern gboolean gtk_gesture_single_get_touch_only ( GtkGestureSingle* gesture );
8 | extern void gtk_gesture_single_set_touch_only ( GtkGestureSingle* gesture, gboolean touch_only );
9 |
--------------------------------------------------------------------------------
/headers/400-GtkShortcut.h:
--------------------------------------------------------------------------------
1 | extern GtkShortcutAction* gtk_shortcut_get_action ( GtkShortcut* self );
2 | extern GtkShortcut* gtk_shortcut_new_with_arguments ( GtkShortcutTrigger* trigger, GtkShortcutAction* action, const char* format_string, ... );
3 | extern GtkShortcut* gtk_shortcut_new ( GtkShortcutTrigger* trigger, GtkShortcutAction* action );
4 | extern GVariant* gtk_shortcut_get_arguments ( GtkShortcut* self );
5 | extern void gtk_shortcut_set_action ( GtkShortcut* self, GtkShortcutAction* action );
6 | extern void gtk_shortcut_set_trigger ( GtkShortcut* self, GtkShortcutTrigger* trigger );
7 | extern void gtk_shortcut_set_arguments ( GtkShortcut* self, GVariant* args );
8 | extern GtkShortcutTrigger* gtk_shortcut_get_trigger ( GtkShortcut* self );
9 |
--------------------------------------------------------------------------------
/headers/400-GtkTreeListRow.h:
--------------------------------------------------------------------------------
1 | extern GtkTreeListRow* gtk_tree_list_row_get_child_row ( GtkTreeListRow* self, guint position );
2 | extern guint gtk_tree_list_row_get_depth ( GtkTreeListRow* self );
3 | extern GListModel* gtk_tree_list_row_get_children ( GtkTreeListRow* self );
4 | extern gboolean gtk_tree_list_row_get_expanded ( GtkTreeListRow* self );
5 | extern guint gtk_tree_list_row_get_position ( GtkTreeListRow* self );
6 | extern GtkTreeListRow* gtk_tree_list_row_get_parent ( GtkTreeListRow* self );
7 | extern GObject* gtk_tree_list_row_get_item ( GtkTreeListRow* self );
8 | extern void gtk_tree_list_row_set_expanded ( GtkTreeListRow* self, gboolean expanded );
9 | extern gboolean gtk_tree_list_row_is_expandable ( GtkTreeListRow* self );
10 |
--------------------------------------------------------------------------------
/headers/400-GtkFilterListModel.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_filter_list_model_get_incremental ( GtkFilterListModel* self );
2 | extern GListModel* gtk_filter_list_model_get_model ( GtkFilterListModel* self );
3 | extern GtkFilter* gtk_filter_list_model_get_filter ( GtkFilterListModel* self );
4 | extern GtkFilterListModel* gtk_filter_list_model_new ( GListModel* model, GtkFilter* filter );
5 | extern void gtk_filter_list_model_set_filter ( GtkFilterListModel* self, GtkFilter* filter );
6 | extern void gtk_filter_list_model_set_incremental ( GtkFilterListModel* self, gboolean incremental );
7 | extern guint gtk_filter_list_model_get_pending ( GtkFilterListModel* self );
8 | extern void gtk_filter_list_model_set_model ( GtkFilterListModel* self, GListModel* model );
9 |
--------------------------------------------------------------------------------
/src/Gtk/StackSwitcher.php:
--------------------------------------------------------------------------------
1 | gtk_stack_switcher_new()));
16 | }
17 |
18 | public function setStack(Stack $stack)
19 | {
20 | return Gtk::getFFI()->gtk_stack_switcher_set_stack(
21 | Gtk::getFFI()->cast('GtkStackSwitcher*', $this->widget->widget),
22 | Gtk::getFFI()->cast('GtkStack*', $stack->widget->widget)
23 | );
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/headers/400-GtkCenterBox.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_center_box_get_end_widget ( GtkCenterBox* self );
2 | extern GtkWidget* gtk_center_box_get_start_widget ( GtkCenterBox* self );
3 | extern GtkBaselinePosition gtk_center_box_get_baseline_position ( GtkCenterBox* self );
4 | extern GtkWidget* gtk_center_box_new ( void );
5 | extern GtkWidget* gtk_center_box_get_center_widget ( GtkCenterBox* self );
6 | extern void gtk_center_box_set_baseline_position ( GtkCenterBox* self, GtkBaselinePosition position );
7 | extern void gtk_center_box_set_end_widget ( GtkCenterBox* self, GtkWidget* child );
8 | extern void gtk_center_box_set_center_widget ( GtkCenterBox* self, GtkWidget* child );
9 | extern void gtk_center_box_set_start_widget ( GtkCenterBox* self, GtkWidget* child );
10 |
--------------------------------------------------------------------------------
/headers/400-GtkTreeListModel.h:
--------------------------------------------------------------------------------
1 | extern GtkTreeListRow* gtk_tree_list_model_get_child_row ( GtkTreeListModel* self, guint position );
2 | extern gboolean gtk_tree_list_model_get_autoexpand ( GtkTreeListModel* self );
3 | extern GtkTreeListModel* gtk_tree_list_model_new ( GListModel* root, gboolean passthrough, gboolean autoexpand, GtkTreeListModelCreateModelFunc create_func, gpointer user_data, GDestroyNotify user_destroy );
4 | extern void gtk_tree_list_model_set_autoexpand ( GtkTreeListModel* self, gboolean autoexpand );
5 | extern GListModel* gtk_tree_list_model_get_model ( GtkTreeListModel* self );
6 | extern GtkTreeListRow* gtk_tree_list_model_get_row ( GtkTreeListModel* self, guint position );
7 | extern gboolean gtk_tree_list_model_get_passthrough ( GtkTreeListModel* self );
8 |
--------------------------------------------------------------------------------
/src/Gtk/Box.php:
--------------------------------------------------------------------------------
1 | gtk_box_new($orientation->value, $spacing)));
16 | }
17 |
18 | public function append(WidgetInterface $widget): void
19 | {
20 | Gtk::getFFI()->gtk_box_append(
21 | Gtk::getFFI()->cast($this->cast . ' *', $this->widget->widget),
22 | Gtk::getFFI()->cast('GtkWidget *', $widget->getWidget()->widget)
23 | );
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/headers/400-GtkOverlay.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_overlay_new ( void );
2 | extern void gtk_overlay_add_overlay ( GtkOverlay* overlay, GtkWidget* widget );
3 | extern gboolean gtk_overlay_get_clip_overlay ( GtkOverlay* overlay, GtkWidget* widget );
4 | extern void gtk_overlay_remove_overlay ( GtkOverlay* overlay, GtkWidget* widget );
5 | extern GtkWidget* gtk_overlay_get_child ( GtkOverlay* overlay );
6 | extern void gtk_overlay_set_child ( GtkOverlay* overlay, GtkWidget* child );
7 | extern void gtk_overlay_set_clip_overlay ( GtkOverlay* overlay, GtkWidget* widget, gboolean clip_overlay );
8 | extern gboolean gtk_overlay_get_measure_overlay ( GtkOverlay* overlay, GtkWidget* widget );
9 | extern void gtk_overlay_set_measure_overlay ( GtkOverlay* overlay, GtkWidget* widget, gboolean measure );
10 |
--------------------------------------------------------------------------------
/headers/400-GtkScaleButton.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_scale_button_get_plus_button ( GtkScaleButton* button );
2 | extern GtkWidget* gtk_scale_button_new ( double min, double max, double step, const char** icons );
3 | extern GtkWidget* gtk_scale_button_get_minus_button ( GtkScaleButton* button );
4 | extern GtkAdjustment* gtk_scale_button_get_adjustment ( GtkScaleButton* button );
5 | extern double gtk_scale_button_get_value ( GtkScaleButton* button );
6 | extern void gtk_scale_button_set_icons ( GtkScaleButton* button, const char** icons );
7 | extern GtkWidget* gtk_scale_button_get_popup ( GtkScaleButton* button );
8 | extern void gtk_scale_button_set_value ( GtkScaleButton* button, double value );
9 | extern void gtk_scale_button_set_adjustment ( GtkScaleButton* button, GtkAdjustment* adjustment );
10 |
--------------------------------------------------------------------------------
/headers/400-GtkMessageDialog.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_message_dialog_new ( GtkWindow* parent, GtkDialogFlags flags, GtkMessageType type, GtkButtonsType buttons, const char* message_format, ... );
2 | extern void gtk_message_dialog_format_secondary_markup ( GtkMessageDialog* message_dialog, const char* message_format, ... );
3 | extern void gtk_message_dialog_format_secondary_text ( GtkMessageDialog* message_dialog, const char* message_format, ... );
4 | extern GtkWidget* gtk_message_dialog_get_message_area ( GtkMessageDialog* message_dialog );
5 | extern void gtk_message_dialog_set_markup ( GtkMessageDialog* message_dialog, const char* str );
6 | extern GtkWidget* gtk_message_dialog_new_with_markup ( GtkWindow* parent, GtkDialogFlags flags, GtkMessageType type, GtkButtonsType buttons, const char* message_format, ... );
7 |
--------------------------------------------------------------------------------
/headers/400-GtkNativeDialog.h:
--------------------------------------------------------------------------------
1 | extern const char* gtk_native_dialog_get_title ( GtkNativeDialog* self );
2 | extern gboolean gtk_native_dialog_get_modal ( GtkNativeDialog* self );
3 | extern void gtk_native_dialog_destroy ( GtkNativeDialog* self );
4 | extern GtkWindow* gtk_native_dialog_get_transient_for ( GtkNativeDialog* self );
5 | extern void gtk_native_dialog_hide ( GtkNativeDialog* self );
6 | extern void gtk_native_dialog_set_title ( GtkNativeDialog* self, const char* title );
7 | extern gboolean gtk_native_dialog_get_visible ( GtkNativeDialog* self );
8 | extern void gtk_native_dialog_set_modal ( GtkNativeDialog* self, gboolean modal );
9 | extern void gtk_native_dialog_set_transient_for ( GtkNativeDialog* self, GtkWindow* parent );
10 | extern void gtk_native_dialog_show ( GtkNativeDialog* self );
11 |
--------------------------------------------------------------------------------
/src/Gtk/ListBox.php:
--------------------------------------------------------------------------------
1 | gtk_list_box_new()));
20 | }
21 |
22 | public function append(WidgetInterface $widget): void
23 | {
24 | Gtk::getFFI()->gtk_list_box_append(
25 | Gtk::getFFI()->cast($this->cast . ' *', $this->widget->widget),
26 | Gtk::getFFI()->cast('GtkWidget *', $widget->getWidget()->widget)
27 | );
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/Gtk/Enum/StackTransitionType.php:
--------------------------------------------------------------------------------
1 | widget = new Widget(Gtk::getFFI()->gtk_link_button_new($uri));
25 | } else{
26 | $this->widget = new Widget(Gtk::getFFI()->gtk_link_button_new_with_label($uri, $label));
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/headers/400-GtkShortcutTrigger.h:
--------------------------------------------------------------------------------
1 | extern int gtk_shortcut_trigger_compare ( gconstpointer trigger1, gconstpointer trigger2 );
2 | extern gboolean gtk_shortcut_trigger_equal ( gconstpointer trigger1, gconstpointer trigger2 );
3 | extern guint gtk_shortcut_trigger_hash ( gconstpointer trigger );
4 | extern GtkShortcutTrigger* gtk_shortcut_trigger_parse_string ( const char* string );
5 | extern char* gtk_shortcut_trigger_to_label ( GtkShortcutTrigger* self, GdkDisplay* display );
6 | extern void gtk_shortcut_trigger_print ( GtkShortcutTrigger* self, GString* string );
7 | extern char* gtk_shortcut_trigger_to_string ( GtkShortcutTrigger* self );
8 | extern gboolean gtk_shortcut_trigger_print_label ( GtkShortcutTrigger* self, GdkDisplay* display, GString* string );
9 | extern GdkKeyMatch gtk_shortcut_trigger_trigger ( GtkShortcutTrigger* self, GdkEvent* event, gboolean enable_mnemonics );
10 |
--------------------------------------------------------------------------------
/headers/400-GtkBox.h:
--------------------------------------------------------------------------------
1 | extern GtkBaselinePosition gtk_box_get_baseline_position ( GtkBox* box );
2 | extern GtkWidget* gtk_box_new ( GtkOrientation orientation, int spacing );
3 | extern void gtk_box_append ( GtkBox* box, GtkWidget* child );
4 | extern void gtk_box_insert_child_after ( GtkBox* box, GtkWidget* child, GtkWidget* sibling );
5 | extern void gtk_box_prepend ( GtkBox* box, GtkWidget* child );
6 | extern void gtk_box_remove ( GtkBox* box, GtkWidget* child );
7 | extern gboolean gtk_box_get_homogeneous ( GtkBox* box );
8 | extern int gtk_box_get_spacing ( GtkBox* box );
9 | extern void gtk_box_reorder_child_after ( GtkBox* box, GtkWidget* child, GtkWidget* sibling );
10 | extern void gtk_box_set_baseline_position ( GtkBox* box, GtkBaselinePosition position );
11 | extern void gtk_box_set_spacing ( GtkBox* box, int spacing );
12 | extern void gtk_box_set_homogeneous ( GtkBox* box, gboolean homogeneous );
13 |
--------------------------------------------------------------------------------
/headers/400-GtkAspectFrame.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_aspect_frame_new ( float xalign, float yalign, float ratio, gboolean obey_child );
2 | extern gboolean gtk_aspect_frame_get_obey_child ( GtkAspectFrame* self );
3 | extern float gtk_aspect_frame_get_ratio ( GtkAspectFrame* self );
4 | extern GtkWidget* gtk_aspect_frame_get_child ( GtkAspectFrame* self );
5 | extern void gtk_aspect_frame_set_obey_child ( GtkAspectFrame* self, gboolean obey_child );
6 | extern float gtk_aspect_frame_get_xalign ( GtkAspectFrame* self );
7 | extern float gtk_aspect_frame_get_yalign ( GtkAspectFrame* self );
8 | extern void gtk_aspect_frame_set_child ( GtkAspectFrame* self, GtkWidget* child );
9 | extern void gtk_aspect_frame_set_ratio ( GtkAspectFrame* self, float ratio );
10 | extern void gtk_aspect_frame_set_yalign ( GtkAspectFrame* self, float yalign );
11 | extern void gtk_aspect_frame_set_xalign ( GtkAspectFrame* self, float xalign );
12 |
--------------------------------------------------------------------------------
/headers/400-GtkSingleSelection.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_single_selection_get_autoselect ( GtkSingleSelection* self );
2 | extern GListModel* gtk_single_selection_get_model ( GtkSingleSelection* self );
3 | extern GtkSingleSelection* gtk_single_selection_new ( GListModel* model );
4 | extern gboolean gtk_single_selection_get_can_unselect ( GtkSingleSelection* self );
5 | extern void gtk_single_selection_set_can_unselect ( GtkSingleSelection* self, gboolean can_unselect );
6 | extern guint gtk_single_selection_get_selected ( GtkSingleSelection* self );
7 | extern GObject* gtk_single_selection_get_selected_item ( GtkSingleSelection* self );
8 | extern void gtk_single_selection_set_autoselect ( GtkSingleSelection* self, gboolean autoselect );
9 | extern void gtk_single_selection_set_model ( GtkSingleSelection* self, GListModel* model );
10 | extern void gtk_single_selection_set_selected ( GtkSingleSelection* self, guint position );
11 |
--------------------------------------------------------------------------------
/headers/400-GtkListBoxRow.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_list_box_row_get_activatable ( GtkListBoxRow* row );
2 | extern void gtk_list_box_row_changed ( GtkListBoxRow* row );
3 | extern GtkWidget* gtk_list_box_row_get_child ( GtkListBoxRow* row );
4 | extern GtkWidget* gtk_list_box_row_new ( void );
5 | extern int gtk_list_box_row_get_index ( GtkListBoxRow* row );
6 | extern GtkWidget* gtk_list_box_row_get_header ( GtkListBoxRow* row );
7 | extern gboolean gtk_list_box_row_get_selectable ( GtkListBoxRow* row );
8 | extern gboolean gtk_list_box_row_is_selected ( GtkListBoxRow* row );
9 | extern void gtk_list_box_row_set_child ( GtkListBoxRow* row, GtkWidget* child );
10 | extern void gtk_list_box_row_set_header ( GtkListBoxRow* row, GtkWidget* header );
11 | extern void gtk_list_box_row_set_activatable ( GtkListBoxRow* row, gboolean activatable );
12 | extern void gtk_list_box_row_set_selectable ( GtkListBoxRow* row, gboolean selectable );
13 |
--------------------------------------------------------------------------------
/headers/400-GtkRecentManager.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_recent_manager_add_full ( GtkRecentManager* manager, const char* uri, const GtkRecentData* recent_data );
2 | extern GtkRecentManager* gtk_recent_manager_new ( void );
3 | extern gboolean gtk_recent_manager_add_item ( GtkRecentManager* manager, const char* uri );
4 | extern GtkRecentInfo* gtk_recent_manager_lookup_item ( GtkRecentManager* manager, const char* uri, GError** error );
5 | extern int gtk_recent_manager_purge_items ( GtkRecentManager* manager, GError** error );
6 | extern GList* gtk_recent_manager_get_items ( GtkRecentManager* manager );
7 | extern gboolean gtk_recent_manager_remove_item ( GtkRecentManager* manager, const char* uri, GError** error );
8 | extern gboolean gtk_recent_manager_has_item ( GtkRecentManager* manager, const char* uri );
9 | extern gboolean gtk_recent_manager_move_item ( GtkRecentManager* manager, const char* uri, const char* new_uri, GError** error );
10 |
--------------------------------------------------------------------------------
/src/Gtk/Image.php:
--------------------------------------------------------------------------------
1 | gtk_image_new()));
26 | } else {
27 | parent::__construct(new Widget(Gtk::getFFI()->gtk_image_new_from_file($filename)));
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/psalm.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/headers/400-GtkDirectoryList.h:
--------------------------------------------------------------------------------
1 | extern const char* gtk_directory_list_get_attributes ( GtkDirectoryList* self );
2 | extern const GError* gtk_directory_list_get_error ( GtkDirectoryList* self );
3 | extern GFile* gtk_directory_list_get_file ( GtkDirectoryList* self );
4 | extern GtkDirectoryList* gtk_directory_list_new ( const char* attributes, GFile* file );
5 | extern gboolean gtk_directory_list_get_monitored ( GtkDirectoryList* self );
6 | extern gboolean gtk_directory_list_is_loading ( GtkDirectoryList* self );
7 | extern int gtk_directory_list_get_io_priority ( GtkDirectoryList* self );
8 | extern void gtk_directory_list_set_attributes ( GtkDirectoryList* self, const char* attributes );
9 | extern void gtk_directory_list_set_io_priority ( GtkDirectoryList* self, int io_priority );
10 | extern void gtk_directory_list_set_file ( GtkDirectoryList* self, GFile* file );
11 | extern void gtk_directory_list_set_monitored ( GtkDirectoryList* self, gboolean monitored );
12 |
--------------------------------------------------------------------------------
/headers/400-GtkDropTarget.h:
--------------------------------------------------------------------------------
1 | extern GdkDrop* gtk_drop_target_get_drop ( GtkDropTarget* self );
2 | extern GdkDragAction gtk_drop_target_get_actions ( GtkDropTarget* self );
3 | extern GdkContentFormats* gtk_drop_target_get_formats ( GtkDropTarget* self );
4 | extern const GType* gtk_drop_target_get_gtypes ( GtkDropTarget* self, gsize* n_types );
5 | extern GdkDrop* gtk_drop_target_get_current_drop ( GtkDropTarget* self );
6 | extern GtkDropTarget* gtk_drop_target_new ( GType type, GdkDragAction actions );
7 | extern gboolean gtk_drop_target_get_preload ( GtkDropTarget* self );
8 | extern void gtk_drop_target_reject ( GtkDropTarget* self );
9 | extern const GValue* gtk_drop_target_get_value ( GtkDropTarget* self );
10 | extern void gtk_drop_target_set_gtypes ( GtkDropTarget* self, GType* types, gsize n_types );
11 | extern void gtk_drop_target_set_actions ( GtkDropTarget* self, GdkDragAction actions );
12 | extern void gtk_drop_target_set_preload ( GtkDropTarget* self, gboolean preload );
13 |
--------------------------------------------------------------------------------
/headers/400-GtkListView.h:
--------------------------------------------------------------------------------
1 | extern GtkListItemFactory* gtk_list_view_get_factory ( GtkListView* self );
2 | extern GtkSelectionModel* gtk_list_view_get_model ( GtkListView* self );
3 | extern gboolean gtk_list_view_get_enable_rubberband ( GtkListView* self );
4 | extern GtkWidget* gtk_list_view_new ( GtkSelectionModel* model, GtkListItemFactory* factory );
5 | extern void gtk_list_view_set_enable_rubberband ( GtkListView* self, gboolean enable_rubberband );
6 | extern void gtk_list_view_set_model ( GtkListView* self, GtkSelectionModel* model );
7 | extern void gtk_list_view_set_factory ( GtkListView* self, GtkListItemFactory* factory );
8 | extern gboolean gtk_list_view_get_single_click_activate ( GtkListView* self );
9 | extern gboolean gtk_list_view_get_show_separators ( GtkListView* self );
10 | extern void gtk_list_view_set_show_separators ( GtkListView* self, gboolean show_separators );
11 | extern void gtk_list_view_set_single_click_activate ( GtkListView* self, gboolean single_click_activate );
12 |
--------------------------------------------------------------------------------
/headers/400-GtkCalendar.h:
--------------------------------------------------------------------------------
1 | extern GDateTime* gtk_calendar_get_date ( GtkCalendar* self );
2 | extern GtkWidget* gtk_calendar_new ( void );
3 | extern gboolean gtk_calendar_get_show_day_names ( GtkCalendar* self );
4 | extern gboolean gtk_calendar_get_show_heading ( GtkCalendar* self );
5 | extern gboolean gtk_calendar_get_day_is_marked ( GtkCalendar* calendar, guint day );
6 | extern void gtk_calendar_clear_marks ( GtkCalendar* calendar );
7 | extern gboolean gtk_calendar_get_show_week_numbers ( GtkCalendar* self );
8 | extern void gtk_calendar_set_show_day_names ( GtkCalendar* self, gboolean value );
9 | extern void gtk_calendar_select_day ( GtkCalendar* self, GDateTime* date );
10 | extern void gtk_calendar_set_show_week_numbers ( GtkCalendar* self, gboolean value );
11 | extern void gtk_calendar_mark_day ( GtkCalendar* calendar, guint day );
12 | extern void gtk_calendar_unmark_day ( GtkCalendar* calendar, guint day );
13 | extern void gtk_calendar_set_show_heading ( GtkCalendar* self, gboolean value );
14 |
--------------------------------------------------------------------------------
/headers/400-GtkCheckButton.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_check_button_new_with_mnemonic ( const char* label );
2 | extern GtkWidget* gtk_check_button_new_with_label ( const char* label );
3 | extern gboolean gtk_check_button_get_active ( GtkCheckButton* self );
4 | extern GtkWidget* gtk_check_button_new ( void );
5 | extern gboolean gtk_check_button_get_inconsistent ( GtkCheckButton* check_button );
6 | extern const char* gtk_check_button_get_label ( GtkCheckButton* self );
7 | extern gboolean gtk_check_button_get_use_underline ( GtkCheckButton* self );
8 | extern void gtk_check_button_set_active ( GtkCheckButton* self, gboolean setting );
9 | extern void gtk_check_button_set_inconsistent ( GtkCheckButton* check_button, gboolean inconsistent );
10 | extern void gtk_check_button_set_group ( GtkCheckButton* self, GtkCheckButton* group );
11 | extern void gtk_check_button_set_use_underline ( GtkCheckButton* self, gboolean setting );
12 | extern void gtk_check_button_set_label ( GtkCheckButton* self, const char* label );
13 |
--------------------------------------------------------------------------------
/headers/400-GtkMediaFile.h:
--------------------------------------------------------------------------------
1 | extern GtkMediaStream* gtk_media_file_new_for_file ( GFile* file );
2 | extern GtkMediaStream* gtk_media_file_new ( void );
3 | extern GtkMediaStream* gtk_media_file_new_for_input_stream ( GInputStream* stream );
4 | extern GtkMediaStream* gtk_media_file_new_for_filename ( const char* filename );
5 | extern GFile* gtk_media_file_get_file ( GtkMediaFile* self );
6 | extern void gtk_media_file_clear ( GtkMediaFile* self );
7 | extern void gtk_media_file_set_filename ( GtkMediaFile* self, const char* filename );
8 | extern GInputStream* gtk_media_file_get_input_stream ( GtkMediaFile* self );
9 | extern void gtk_media_file_set_file ( GtkMediaFile* self, GFile* file );
10 | extern GtkMediaStream* gtk_media_file_new_for_resource ( const char* resource_path );
11 | extern void gtk_media_file_set_input_stream ( GtkMediaFile* self, GInputStream* stream );
12 | extern void gtk_media_file_set_resource ( GtkMediaFile* self, const char* resource_path );
13 | extern void open ( GtkMediaFile* self );
14 |
--------------------------------------------------------------------------------
/src/Gtk/EntryBuffer.php:
--------------------------------------------------------------------------------
1 | gtk_entry_buffer_new($char, $char ? strlen($char) : 0)));
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/headers/400-GtkCenterLayout.h:
--------------------------------------------------------------------------------
1 | extern GtkBaselinePosition gtk_center_layout_get_baseline_position ( GtkCenterLayout* self );
2 | extern GtkWidget* gtk_center_layout_get_end_widget ( GtkCenterLayout* self );
3 | extern GtkWidget* gtk_center_layout_get_center_widget ( GtkCenterLayout* self );
4 | extern GtkLayoutManager* gtk_center_layout_new ( void );
5 | extern void gtk_center_layout_set_baseline_position ( GtkCenterLayout* self, GtkBaselinePosition baseline_position );
6 | extern GtkWidget* gtk_center_layout_get_start_widget ( GtkCenterLayout* self );
7 | extern void gtk_center_layout_set_end_widget ( GtkCenterLayout* self, GtkWidget* widget );
8 | extern GtkOrientation gtk_center_layout_get_orientation ( GtkCenterLayout* self );
9 | extern void gtk_center_layout_set_orientation ( GtkCenterLayout* self, GtkOrientation orientation );
10 | extern void gtk_center_layout_set_center_widget ( GtkCenterLayout* self, GtkWidget* widget );
11 | extern void gtk_center_layout_set_start_widget ( GtkCenterLayout* self, GtkWidget* widget );
12 |
--------------------------------------------------------------------------------
/headers/400-GtkComboBoxText.h:
--------------------------------------------------------------------------------
1 | extern void gtk_combo_box_text_append ( GtkComboBoxText* combo_box, const char* id, const char* text );
2 | extern GtkWidget* gtk_combo_box_text_new ( void );
3 | extern void gtk_combo_box_text_append_text ( GtkComboBoxText* combo_box, const char* text );
4 | extern char* gtk_combo_box_text_get_active_text ( GtkComboBoxText* combo_box );
5 | extern void gtk_combo_box_text_insert ( GtkComboBoxText* combo_box, int position, const char* id, const char* text );
6 | extern GtkWidget* gtk_combo_box_text_new_with_entry ( void );
7 | extern void gtk_combo_box_text_insert_text ( GtkComboBoxText* combo_box, int position, const char* text );
8 | extern void gtk_combo_box_text_prepend ( GtkComboBoxText* combo_box, const char* id, const char* text );
9 | extern void gtk_combo_box_text_prepend_text ( GtkComboBoxText* combo_box, const char* text );
10 | extern void gtk_combo_box_text_remove ( GtkComboBoxText* combo_box, int position );
11 | extern void gtk_combo_box_text_remove_all ( GtkComboBoxText* combo_box );
12 |
--------------------------------------------------------------------------------
/headers/400-GtkPrintContext.h:
--------------------------------------------------------------------------------
1 | extern cairo_t* gtk_print_context_get_cairo_context ( GtkPrintContext* context );
2 | extern PangoLayout* gtk_print_context_create_pango_layout ( GtkPrintContext* context );
3 | extern PangoContext* gtk_print_context_create_pango_context ( GtkPrintContext* context );
4 | extern double gtk_print_context_get_dpi_y ( GtkPrintContext* context );
5 | extern gboolean gtk_print_context_get_hard_margins ( GtkPrintContext* context, double* top, double* bottom, double* left, double* right );
6 | extern double gtk_print_context_get_height ( GtkPrintContext* context );
7 | extern double gtk_print_context_get_dpi_x ( GtkPrintContext* context );
8 | extern GtkPageSetup* gtk_print_context_get_page_setup ( GtkPrintContext* context );
9 | extern double gtk_print_context_get_width ( GtkPrintContext* context );
10 | extern void gtk_print_context_set_cairo_context ( GtkPrintContext* context, cairo_t* cr, double dpi_x, double dpi_y );
11 | extern PangoFontMap* gtk_print_context_get_pango_fontmap ( GtkPrintContext* context );
12 |
--------------------------------------------------------------------------------
/headers/400-GtkButton.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_button_new_with_label ( const char* label );
2 | extern GtkWidget* gtk_button_new_with_mnemonic ( const char* label );
3 | extern GtkWidget* gtk_button_new ( void );
4 | extern GtkWidget* gtk_button_new_from_icon_name ( const char* icon_name );
5 | extern gboolean gtk_button_get_use_underline ( GtkButton* button );
6 | extern GtkWidget* gtk_button_get_child ( GtkButton* button );
7 | extern gboolean gtk_button_get_has_frame ( GtkButton* button );
8 | extern const char* gtk_button_get_icon_name ( GtkButton* button );
9 | extern const char* gtk_button_get_label ( GtkButton* button );
10 | extern void gtk_button_set_child ( GtkButton* button, GtkWidget* child );
11 | extern void gtk_button_set_icon_name ( GtkButton* button, const char* icon_name );
12 | extern void gtk_button_set_label ( GtkButton* button, const char* label );
13 | extern void gtk_button_set_has_frame ( GtkButton* button, gboolean has_frame );
14 | extern void gtk_button_set_use_underline ( GtkButton* button, gboolean use_underline );
15 |
--------------------------------------------------------------------------------
/src/Gtk/Text.php:
--------------------------------------------------------------------------------
1 | buffer === null) {
25 | $entry = Gtk::getFFI()->gtk_text_new();
26 | } else {
27 | $entry = Gtk::getFFI()->gtk_text_new_with_buffer(
28 | Gtk::getFFI()->cast("GtkEntryBuffer*", $this->buffer->getWidget()->widget)
29 | );
30 | }
31 | parent::__construct(new Widget($entry));
32 | }
33 |
34 | }
--------------------------------------------------------------------------------
/headers/400-GtkStackPage.h:
--------------------------------------------------------------------------------
1 | extern const char* gtk_stack_page_get_name ( GtkStackPage* self );
2 | extern gboolean gtk_stack_page_get_needs_attention ( GtkStackPage* self );
3 | extern const char* gtk_stack_page_get_icon_name ( GtkStackPage* self );
4 | extern GtkWidget* gtk_stack_page_get_child ( GtkStackPage* self );
5 | extern gboolean gtk_stack_page_get_use_underline ( GtkStackPage* self );
6 | extern gboolean gtk_stack_page_get_visible ( GtkStackPage* self );
7 | extern void gtk_stack_page_set_icon_name ( GtkStackPage* self, const char* setting );
8 | extern const char* gtk_stack_page_get_title ( GtkStackPage* self );
9 | extern void gtk_stack_page_set_name ( GtkStackPage* self, const char* setting );
10 | extern void gtk_stack_page_set_needs_attention ( GtkStackPage* self, gboolean setting );
11 | extern void gtk_stack_page_set_title ( GtkStackPage* self, const char* setting );
12 | extern void gtk_stack_page_set_use_underline ( GtkStackPage* self, gboolean setting );
13 | extern void gtk_stack_page_set_visible ( GtkStackPage* self, gboolean visible );
14 |
--------------------------------------------------------------------------------
/headers/400-GtkEntryBuffer.h:
--------------------------------------------------------------------------------
1 | extern GtkEntryBuffer* gtk_entry_buffer_new ( const char* initial_chars, int n_initial_chars );
2 | extern guint gtk_entry_buffer_delete_text ( GtkEntryBuffer* buffer, guint position, int n_chars );
3 | extern void gtk_entry_buffer_emit_inserted_text ( GtkEntryBuffer* buffer, guint position, const char* chars, guint n_chars );
4 | extern void gtk_entry_buffer_emit_deleted_text ( GtkEntryBuffer* buffer, guint position, guint n_chars );
5 | extern guint gtk_entry_buffer_get_length ( GtkEntryBuffer* buffer );
6 | extern int gtk_entry_buffer_get_max_length ( GtkEntryBuffer* buffer );
7 | extern const char* gtk_entry_buffer_get_text ( GtkEntryBuffer* buffer );
8 | extern gsize gtk_entry_buffer_get_bytes ( GtkEntryBuffer* buffer );
9 | extern void gtk_entry_buffer_set_text ( GtkEntryBuffer* buffer, const char* chars, int n_chars );
10 | extern void gtk_entry_buffer_set_max_length ( GtkEntryBuffer* buffer, int max_length );
11 | extern guint gtk_entry_buffer_insert_text ( GtkEntryBuffer* buffer, guint position, const char* chars, int n_chars );
12 |
--------------------------------------------------------------------------------
/headers/400-GtkTreeModelSort.h:
--------------------------------------------------------------------------------
1 | extern GtkTreeModel* gtk_tree_model_sort_new_with_model ( GtkTreeModel* child_model );
2 | extern GtkTreePath* gtk_tree_model_sort_convert_path_to_child_path ( GtkTreeModelSort* tree_model_sort, GtkTreePath* sorted_path );
3 | extern void gtk_tree_model_sort_convert_iter_to_child_iter ( GtkTreeModelSort* tree_model_sort, GtkTreeIter* child_iter, GtkTreeIter* sorted_iter );
4 | extern gboolean gtk_tree_model_sort_convert_child_iter_to_iter ( GtkTreeModelSort* tree_model_sort, GtkTreeIter* sort_iter, GtkTreeIter* child_iter );
5 | extern void gtk_tree_model_sort_clear_cache ( GtkTreeModelSort* tree_model_sort );
6 | extern GtkTreePath* gtk_tree_model_sort_convert_child_path_to_path ( GtkTreeModelSort* tree_model_sort, GtkTreePath* child_path );
7 | extern GtkTreeModel* gtk_tree_model_sort_get_model ( GtkTreeModelSort* tree_model );
8 | extern gboolean gtk_tree_model_sort_iter_is_valid ( GtkTreeModelSort* tree_model_sort, GtkTreeIter* iter );
9 | extern void gtk_tree_model_sort_reset_default_sort_func ( GtkTreeModelSort* tree_model_sort );
10 |
--------------------------------------------------------------------------------
/headers/400-GtkVideo.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_video_new_for_file ( GFile* file );
2 | extern GtkWidget* gtk_video_new_for_filename ( const char* filename );
3 | extern GtkWidget* gtk_video_new ( void );
4 | extern GtkWidget* gtk_video_new_for_media_stream ( GtkMediaStream* stream );
5 | extern GFile* gtk_video_get_file ( GtkVideo* self );
6 | extern gboolean gtk_video_get_loop ( GtkVideo* self );
7 | extern GtkMediaStream* gtk_video_get_media_stream ( GtkVideo* self );
8 | extern gboolean gtk_video_get_autoplay ( GtkVideo* self );
9 | extern GtkWidget* gtk_video_new_for_resource ( const char* resource_path );
10 | extern void gtk_video_set_file ( GtkVideo* self, GFile* file );
11 | extern void gtk_video_set_autoplay ( GtkVideo* self, gboolean autoplay );
12 | extern void gtk_video_set_filename ( GtkVideo* self, const char* filename );
13 | extern void gtk_video_set_media_stream ( GtkVideo* self, GtkMediaStream* stream );
14 | extern void gtk_video_set_resource ( GtkVideo* self, const char* resource_path );
15 | extern void gtk_video_set_loop ( GtkVideo* self, gboolean loop );
16 |
--------------------------------------------------------------------------------
/headers/400-GtkCellView.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_cell_view_new_with_text ( const char* text );
2 | extern GtkWidget* gtk_cell_view_new_with_markup ( const char* markup );
3 | extern GtkWidget* gtk_cell_view_new ( void );
4 | extern GtkWidget* gtk_cell_view_new_with_context ( GtkCellArea* area, GtkCellAreaContext* context );
5 | extern gboolean gtk_cell_view_get_draw_sensitive ( GtkCellView* cell_view );
6 | extern gboolean gtk_cell_view_get_fit_model ( GtkCellView* cell_view );
7 | extern GtkTreeModel* gtk_cell_view_get_model ( GtkCellView* cell_view );
8 | extern GtkWidget* gtk_cell_view_new_with_texture ( GdkTexture* texture );
9 | extern GtkTreePath* gtk_cell_view_get_displayed_row ( GtkCellView* cell_view );
10 | extern void gtk_cell_view_set_displayed_row ( GtkCellView* cell_view, GtkTreePath* path );
11 | extern void gtk_cell_view_set_draw_sensitive ( GtkCellView* cell_view, gboolean draw_sensitive );
12 | extern void gtk_cell_view_set_model ( GtkCellView* cell_view, GtkTreeModel* model );
13 | extern void gtk_cell_view_set_fit_model ( GtkCellView* cell_view, gboolean fit_model );
14 |
--------------------------------------------------------------------------------
/example/layout_containers/stack/StackWindow.php:
--------------------------------------------------------------------------------
1 | setTitle('Stack Demo');
9 | $vbox = new \PGtk\Gtk\Gtk\Box(\PGtk\Gtk\Gtk\Enum\Orientation::vertical, 6);
10 | $this->setChild($vbox);
11 |
12 | $stack = new \PGtk\Gtk\Gtk\Stack();
13 | $stack->setTransitionType(\PGtk\Gtk\Gtk\Enum\StackTransitionType::rotateRight);
14 | $stack->setTransitionDuration(500);
15 |
16 | $checkbutton = new \PGtk\Gtk\Gtk\CheckButton("Click me!");
17 | $stack->addTitled($checkbutton, "check", "Check Button");
18 |
19 |
20 | $label = new \PGtk\Gtk\Gtk\Label('');
21 | $label->setMarkup('A fancy label');
22 | $stack->addTitled($label, "label", "A label");
23 |
24 | $stackSwitcher = new \PGtk\Gtk\Gtk\StackSwitcher();
25 | $stackSwitcher->setStack($stack);
26 |
27 | $vbox->append($stackSwitcher);
28 | $vbox->append($stack);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/headers/400-GtkConstraintGuide.h:
--------------------------------------------------------------------------------
1 | extern GtkConstraintGuide* gtk_constraint_guide_new ( void );
2 | extern void gtk_constraint_guide_get_max_size ( GtkConstraintGuide* guide, int* width, int* height );
3 | extern void gtk_constraint_guide_get_min_size ( GtkConstraintGuide* guide, int* width, int* height );
4 | extern const char* gtk_constraint_guide_get_name ( GtkConstraintGuide* guide );
5 | extern void gtk_constraint_guide_set_max_size ( GtkConstraintGuide* guide, int width, int height );
6 | extern GtkConstraintStrength gtk_constraint_guide_get_strength ( GtkConstraintGuide* guide );
7 | extern void gtk_constraint_guide_set_min_size ( GtkConstraintGuide* guide, int width, int height );
8 | extern void gtk_constraint_guide_set_name ( GtkConstraintGuide* guide, const char* name );
9 | extern void gtk_constraint_guide_get_nat_size ( GtkConstraintGuide* guide, int* width, int* height );
10 | extern void gtk_constraint_guide_set_nat_size ( GtkConstraintGuide* guide, int width, int height );
11 | extern void gtk_constraint_guide_set_strength ( GtkConstraintGuide* guide, GtkConstraintStrength strength );
12 |
--------------------------------------------------------------------------------
/headers/400-GtkDialog.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_dialog_new_with_buttons ( const char* title, GtkWindow* parent, GtkDialogFlags flags, const char* first_button_text, ... );
2 | extern void gtk_dialog_add_action_widget ( GtkDialog* dialog, GtkWidget* child, int response_id );
3 | extern GtkWidget* gtk_dialog_add_button ( GtkDialog* dialog, const char* button_text, int response_id );
4 | extern GtkWidget* gtk_dialog_new ( void );
5 | extern GtkWidget* gtk_dialog_get_header_bar ( GtkDialog* dialog );
6 | extern void gtk_dialog_add_buttons ( GtkDialog* dialog, const char* first_button_text, ... );
7 | extern GtkWidget* gtk_dialog_get_widget_for_response ( GtkDialog* dialog, int response_id );
8 | extern GtkWidget* gtk_dialog_get_content_area ( GtkDialog* dialog );
9 | extern void gtk_dialog_response ( GtkDialog* dialog, int response_id );
10 | extern int gtk_dialog_get_response_for_widget ( GtkDialog* dialog, GtkWidget* widget );
11 | extern void gtk_dialog_set_default_response ( GtkDialog* dialog, int response_id );
12 | extern void gtk_dialog_set_response_sensitive ( GtkDialog* dialog, int response_id, gboolean setting );
13 |
--------------------------------------------------------------------------------
/src/Gtk/ToggleButton.php:
--------------------------------------------------------------------------------
1 | widget = new Widget(Gtk::getFFI()->gtk_toggle_button_new());
24 | }else{
25 | $this->widget = new Widget(Gtk::getFFI()->gtk_toggle_button_new_with_label($label));
26 | }
27 | }
28 |
29 | public function setGroup(ToggleButton $toggleButton): void
30 | {
31 | Gtk::getFFI()->gtk_toggle_button_set_group(
32 | Gtk::getFFI()->cast('GtkToggleButton*', $this->widget->widget),
33 | Gtk::getFFI()->cast('GtkToggleButton*', $toggleButton->widget->widget)
34 | );
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/headers/400-GtkGridView.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_grid_view_new ( GtkSelectionModel* model, GtkListItemFactory* factory );
2 | extern guint gtk_grid_view_get_max_columns ( GtkGridView* self );
3 | extern GtkListItemFactory* gtk_grid_view_get_factory ( GtkGridView* self );
4 | extern gboolean gtk_grid_view_get_enable_rubberband ( GtkGridView* self );
5 | extern GtkSelectionModel* gtk_grid_view_get_model ( GtkGridView* self );
6 | extern gboolean gtk_grid_view_get_single_click_activate ( GtkGridView* self );
7 | extern guint gtk_grid_view_get_min_columns ( GtkGridView* self );
8 | extern void gtk_grid_view_set_enable_rubberband ( GtkGridView* self, gboolean enable_rubberband );
9 | extern void gtk_grid_view_set_factory ( GtkGridView* self, GtkListItemFactory* factory );
10 | extern void gtk_grid_view_set_max_columns ( GtkGridView* self, guint max_columns );
11 | extern void gtk_grid_view_set_min_columns ( GtkGridView* self, guint min_columns );
12 | extern void gtk_grid_view_set_single_click_activate ( GtkGridView* self, gboolean single_click_activate );
13 | extern void gtk_grid_view_set_model ( GtkGridView* self, GtkSelectionModel* model );
14 |
--------------------------------------------------------------------------------
/headers/400-GtkGridLayout.h:
--------------------------------------------------------------------------------
1 | extern int gtk_grid_layout_get_baseline_row ( GtkGridLayout* grid );
2 | extern gboolean gtk_grid_layout_get_column_homogeneous ( GtkGridLayout* grid );
3 | extern GtkLayoutManager* gtk_grid_layout_new ( void );
4 | extern gboolean gtk_grid_layout_get_row_homogeneous ( GtkGridLayout* grid );
5 | extern GtkBaselinePosition gtk_grid_layout_get_row_baseline_position ( GtkGridLayout* grid, int row );
6 | extern guint gtk_grid_layout_get_column_spacing ( GtkGridLayout* grid );
7 | extern guint gtk_grid_layout_get_row_spacing ( GtkGridLayout* grid );
8 | extern void gtk_grid_layout_set_column_spacing ( GtkGridLayout* grid, guint spacing );
9 | extern void gtk_grid_layout_set_column_homogeneous ( GtkGridLayout* grid, gboolean homogeneous );
10 | extern void gtk_grid_layout_set_baseline_row ( GtkGridLayout* grid, int row );
11 | extern void gtk_grid_layout_set_row_baseline_position ( GtkGridLayout* grid, int row, GtkBaselinePosition pos );
12 | extern void gtk_grid_layout_set_row_spacing ( GtkGridLayout* grid, guint spacing );
13 | extern void gtk_grid_layout_set_row_homogeneous ( GtkGridLayout* grid, gboolean homogeneous );
14 |
--------------------------------------------------------------------------------
/headers/400-GtkProgressBar.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_progress_bar_get_inverted ( GtkProgressBar* pbar );
2 | extern PangoEllipsizeMode gtk_progress_bar_get_ellipsize ( GtkProgressBar* pbar );
3 | extern double gtk_progress_bar_get_fraction ( GtkProgressBar* pbar );
4 | extern GtkWidget* gtk_progress_bar_new ( void );
5 | extern gboolean gtk_progress_bar_get_show_text ( GtkProgressBar* pbar );
6 | extern const char* gtk_progress_bar_get_text ( GtkProgressBar* pbar );
7 | extern void gtk_progress_bar_pulse ( GtkProgressBar* pbar );
8 | extern void gtk_progress_bar_set_ellipsize ( GtkProgressBar* pbar, PangoEllipsizeMode mode );
9 | extern double gtk_progress_bar_get_pulse_step ( GtkProgressBar* pbar );
10 | extern void gtk_progress_bar_set_fraction ( GtkProgressBar* pbar, double fraction );
11 | extern void gtk_progress_bar_set_pulse_step ( GtkProgressBar* pbar, double fraction );
12 | extern void gtk_progress_bar_set_inverted ( GtkProgressBar* pbar, gboolean inverted );
13 | extern void gtk_progress_bar_set_show_text ( GtkProgressBar* pbar, gboolean show_text );
14 | extern void gtk_progress_bar_set_text ( GtkProgressBar* pbar, const char* text );
15 |
--------------------------------------------------------------------------------
/src/Gtk/ButtonIcon.php:
--------------------------------------------------------------------------------
1 | gtk_button_new_from_icon_name($name)));
26 | }
27 |
28 | public function setChild(WidgetInterface $widget)
29 | {
30 | Gtk::getFFI()->gtk_button_set_child(
31 | Gtk::getFFI()->cast($this->cast . ' *', $this->widget->widget),
32 | Gtk::getFFI()->cast("GtkWidget*", $widget->getWidget()->widget)
33 | );
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/tests/Unit/Gtk/WindowTest.php:
--------------------------------------------------------------------------------
1 | assertNull($win->getTitle());
15 | $this->assertTrue((boolean)$win->getResizable());
16 | $this->assertEquals(
17 | [
18 | 'width' => 0,
19 | 'height' => 0
20 | ],
21 | $win->getDefaultSize()
22 | );
23 | $win->setTitle('title');
24 | $win->setDefaultSize(400, 400);
25 | $win->fullscreen();
26 | $win->unfullscreen();
27 | $win->setResizable(false);
28 |
29 | $this->assertFalse((boolean)$win->getResizable());
30 | $this->assertEquals('title', $win->getTitle());
31 | $this->assertEquals(
32 | [
33 | 'width' => 400,
34 | 'height' => 400
35 | ],
36 | $win->getDefaultSize()
37 | );
38 |
39 | $win->destroy();
40 | }
41 | }
--------------------------------------------------------------------------------
/src/Gtk/Widget.php:
--------------------------------------------------------------------------------
1 | GObject = new GObject($this->widget);
26 | }
27 |
28 | public function __call(string $name, array $arguments)
29 | {
30 | $functionName = 'gtk_widget_' . strtolower(preg_replace('~([A-Z])~', '_$1', $name));
31 | $cast = "GtkWidget *";
32 |
33 | return Gtk::getFFI()->$functionName(Gtk::getFFI()->cast($cast, $this->widget), ...$arguments);
34 | }
35 | }
--------------------------------------------------------------------------------
/src/Gtk/Stack.php:
--------------------------------------------------------------------------------
1 | gtk_stack_new()));
20 | }
21 |
22 | public function addTitled(WidgetInterface $widget, string $name, string $title)
23 | {
24 | return Gtk::getFFI()->gtk_stack_add_titled(
25 | Gtk::getFFI()->cast('GtkStack*', $this->widget->widget),
26 | Gtk::getFFI()->cast('GtkWidget*', $widget->getWidget()->widget),
27 | $name, $title
28 | );
29 | }
30 |
31 | public function setTransitionType(StackTransitionType $type)
32 | {
33 | return Gtk::getFFI()->gtk_stack_set_transition_type(
34 | Gtk::getFFI()->cast('GtkStack*', $this->widget->widget),
35 | $type->value
36 | );
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/headers/400-GtkLevelBar.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_level_bar_new_for_interval ( double min_value, double max_value );
2 | extern void gtk_level_bar_add_offset_value ( GtkLevelBar* self, const char* name, double value );
3 | extern gboolean gtk_level_bar_get_inverted ( GtkLevelBar* self );
4 | extern GtkWidget* gtk_level_bar_new ( void );
5 | extern GtkLevelBarMode gtk_level_bar_get_mode ( GtkLevelBar* self );
6 | extern gboolean gtk_level_bar_get_offset_value ( GtkLevelBar* self, const char* name, double* value );
7 | extern double gtk_level_bar_get_min_value ( GtkLevelBar* self );
8 | extern double gtk_level_bar_get_max_value ( GtkLevelBar* self );
9 | extern double gtk_level_bar_get_value ( GtkLevelBar* self );
10 | extern void gtk_level_bar_set_max_value ( GtkLevelBar* self, double value );
11 | extern void gtk_level_bar_remove_offset_value ( GtkLevelBar* self, const char* name );
12 | extern void gtk_level_bar_set_inverted ( GtkLevelBar* self, gboolean inverted );
13 | extern void gtk_level_bar_set_mode ( GtkLevelBar* self, GtkLevelBarMode mode );
14 | extern void gtk_level_bar_set_min_value ( GtkLevelBar* self, double value );
15 | extern void gtk_level_bar_set_value ( GtkLevelBar* self, double value );
16 |
--------------------------------------------------------------------------------
/headers/400-GtkAppChooserButton.h:
--------------------------------------------------------------------------------
1 | extern void gtk_app_chooser_button_append_separator ( GtkAppChooserButton* self );
2 | extern gboolean gtk_app_chooser_button_get_modal ( GtkAppChooserButton* self );
3 | extern GtkWidget* gtk_app_chooser_button_new ( const char* content_type );
4 | extern const char* gtk_app_chooser_button_get_heading ( GtkAppChooserButton* self );
5 | extern void gtk_app_chooser_button_append_custom_item ( GtkAppChooserButton* self, const char* name, const char* label, GIcon* icon );
6 | extern gboolean gtk_app_chooser_button_get_show_default_item ( GtkAppChooserButton* self );
7 | extern gboolean gtk_app_chooser_button_get_show_dialog_item ( GtkAppChooserButton* self );
8 | extern void gtk_app_chooser_button_set_active_custom_item ( GtkAppChooserButton* self, const char* name );
9 | extern void gtk_app_chooser_button_set_modal ( GtkAppChooserButton* self, gboolean modal );
10 | extern void gtk_app_chooser_button_set_heading ( GtkAppChooserButton* self, const char* heading );
11 | extern void gtk_app_chooser_button_set_show_dialog_item ( GtkAppChooserButton* self, gboolean setting );
12 | extern void gtk_app_chooser_button_set_show_default_item ( GtkAppChooserButton* self, gboolean setting );
13 |
--------------------------------------------------------------------------------
/headers/400-GtkCellAreaContext.h:
--------------------------------------------------------------------------------
1 | extern void gtk_cell_area_context_allocate ( GtkCellAreaContext* context, int width, int height );
2 | extern void gtk_cell_area_context_get_allocation ( GtkCellAreaContext* context, int* width, int* height );
3 | extern void gtk_cell_area_context_get_preferred_height ( GtkCellAreaContext* context, int* minimum_height, int* natural_height );
4 | extern GtkCellArea* gtk_cell_area_context_get_area ( GtkCellAreaContext* context );
5 | extern void gtk_cell_area_context_get_preferred_width ( GtkCellAreaContext* context, int* minimum_width, int* natural_width );
6 | extern void gtk_cell_area_context_push_preferred_height ( GtkCellAreaContext* context, int minimum_height, int natural_height );
7 | extern void gtk_cell_area_context_push_preferred_width ( GtkCellAreaContext* context, int minimum_width, int natural_width );
8 | extern void gtk_cell_area_context_get_preferred_height_for_width ( GtkCellAreaContext* context, int width, int* minimum_height, int* natural_height );
9 | extern void gtk_cell_area_context_get_preferred_width_for_height ( GtkCellAreaContext* context, int height, int* minimum_width, int* natural_width );
10 | extern void gtk_cell_area_context_reset ( GtkCellAreaContext* context );
11 |
--------------------------------------------------------------------------------
/headers/400-GtkConstraintLayout.h:
--------------------------------------------------------------------------------
1 | extern void gtk_constraint_layout_add_constraint ( GtkConstraintLayout* layout, GtkConstraint* constraint );
2 | extern GtkLayoutManager* gtk_constraint_layout_new ( void );
3 | extern GList* gtk_constraint_layout_add_constraints_from_description ( GtkConstraintLayout* layout, const char* const* lines, gsize n_lines, int hspacing, int vspacing, GError** error, const char* first_view, ... );
4 | extern GList* gtk_constraint_layout_add_constraints_from_descriptionv ( GtkConstraintLayout* layout, const char* const* lines, gsize n_lines, int hspacing, int vspacing, GHashTable* views, GError** error );
5 | extern GListModel* gtk_constraint_layout_observe_constraints ( GtkConstraintLayout* layout );
6 | extern void gtk_constraint_layout_add_guide ( GtkConstraintLayout* layout, GtkConstraintGuide* guide );
7 | extern void gtk_constraint_layout_remove_constraint ( GtkConstraintLayout* layout, GtkConstraint* constraint );
8 | extern GListModel* gtk_constraint_layout_observe_guides ( GtkConstraintLayout* layout );
9 | extern void gtk_constraint_layout_remove_all_constraints ( GtkConstraintLayout* layout );
10 | extern void gtk_constraint_layout_remove_guide ( GtkConstraintLayout* layout, GtkConstraintGuide* guide );
11 |
--------------------------------------------------------------------------------
/headers/400-GtkEventController.h:
--------------------------------------------------------------------------------
1 | extern guint32 gtk_event_controller_get_current_event_time ( GtkEventController* controller );
2 | extern GdkEvent* gtk_event_controller_get_current_event ( GtkEventController* controller );
3 | extern GdkDevice* gtk_event_controller_get_current_event_device ( GtkEventController* controller );
4 | extern GdkModifierType gtk_event_controller_get_current_event_state ( GtkEventController* controller );
5 | extern GtkPropagationLimit gtk_event_controller_get_propagation_limit ( GtkEventController* controller );
6 | extern void gtk_event_controller_set_name ( GtkEventController* controller, const char* name );
7 | extern GtkPropagationPhase gtk_event_controller_get_propagation_phase ( GtkEventController* controller );
8 | extern GtkWidget* gtk_event_controller_get_widget ( GtkEventController* controller );
9 | extern const char* gtk_event_controller_get_name ( GtkEventController* controller );
10 | extern void gtk_event_controller_reset ( GtkEventController* controller );
11 | extern void gtk_event_controller_set_propagation_limit ( GtkEventController* controller, GtkPropagationLimit limit );
12 | extern void gtk_event_controller_set_propagation_phase ( GtkEventController* controller, GtkPropagationPhase phase );
13 |
--------------------------------------------------------------------------------
/src/Gtk/Entry.php:
--------------------------------------------------------------------------------
1 | buffer === null) {
19 | $entry = Gtk::getFFI()->gtk_entry_new();
20 | } else {
21 | $entry = Gtk::getFFI()->gtk_entry_new_with_buffer(
22 | Gtk::getFFI()->cast("GtkEntryBuffer*", $this->buffer->getWidget()->widget)
23 | );
24 | }
25 | parent::__construct(new Widget($entry));
26 | }
27 |
28 | public function setBuffer(EntryBuffer $buffer)
29 | {
30 | Gtk::getFFI()->gtk_entry_set_buffer(
31 | Gtk::getFFI()->cast($this->cast . ' *', $this->widget->widget),
32 | Gtk::getFFI()->cast("GtkEntryBuffer*", $buffer->getWidget()->widget)
33 | );
34 |
35 | $this->buffer = $buffer;
36 | }
37 |
38 | public function getBuffer(): ?EntryBuffer
39 | {
40 | return $this->buffer;
41 | }
42 | }
43 |
44 |
--------------------------------------------------------------------------------
/example/layout_containers/grid/main.php:
--------------------------------------------------------------------------------
1 | setTitle('Grid Example');
11 | $button1 = new \PGtk\Gtk\Gtk\Button('button1');
12 | $button2 = new \PGtk\Gtk\Gtk\Button('button2');
13 | $button3 = new \PGtk\Gtk\Gtk\Button('button3');
14 | $button4 = new \PGtk\Gtk\Gtk\Button('button4');
15 | $button5 = new \PGtk\Gtk\Gtk\Button('button5');
16 | $button6 = new \PGtk\Gtk\Gtk\Button('button6');
17 | $grid = new \PGtk\Gtk\Gtk\Grid();
18 | $grid->attach($button1->widget, 0, 0, 1, 1);
19 | $grid->attach($button2->widget, 1, 0, 2, 1);
20 | $grid->attachNextTo($button3, $button1, 3, 1, 2);
21 | $grid->attachNextTo($button4, $button3, 1, 2, 1);
22 | $grid->attach($button5->widget, 1, 2, 1, 1);
23 | $grid->attachNextTo($button6, $button5, 1, 1, 1);
24 | $this->setChild($grid);
25 | }
26 | }
27 |
28 | $w = new GridWindow();
29 |
30 | $w->widget->show();
31 | while (true) {
32 | \PGtk\Gtk\GLib\MainContext::iteration(true);
33 | }
34 |
--------------------------------------------------------------------------------
/headers/400-GtkAppChooserWidget.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_app_chooser_widget_get_show_default ( GtkAppChooserWidget* self );
2 | extern gboolean gtk_app_chooser_widget_get_show_fallback ( GtkAppChooserWidget* self );
3 | extern GtkWidget* gtk_app_chooser_widget_new ( const char* content_type );
4 | extern gboolean gtk_app_chooser_widget_get_show_other ( GtkAppChooserWidget* self );
5 | extern const char* gtk_app_chooser_widget_get_default_text ( GtkAppChooserWidget* self );
6 | extern gboolean gtk_app_chooser_widget_get_show_all ( GtkAppChooserWidget* self );
7 | extern void gtk_app_chooser_widget_set_default_text ( GtkAppChooserWidget* self, const char* text );
8 | extern gboolean gtk_app_chooser_widget_get_show_recommended ( GtkAppChooserWidget* self );
9 | extern void gtk_app_chooser_widget_set_show_fallback ( GtkAppChooserWidget* self, gboolean setting );
10 | extern void gtk_app_chooser_widget_set_show_default ( GtkAppChooserWidget* self, gboolean setting );
11 | extern void gtk_app_chooser_widget_set_show_other ( GtkAppChooserWidget* self, gboolean setting );
12 | extern void gtk_app_chooser_widget_set_show_all ( GtkAppChooserWidget* self, gboolean setting );
13 | extern void gtk_app_chooser_widget_set_show_recommended ( GtkAppChooserWidget* self, gboolean setting );
14 |
--------------------------------------------------------------------------------
/headers/400-GtkScale.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_scale_new_with_range ( GtkOrientation orientation, double min, double max, double step );
2 | extern void gtk_scale_clear_marks ( GtkScale* scale );
3 | extern GtkWidget* gtk_scale_new ( GtkOrientation orientation, GtkAdjustment* adjustment );
4 | extern void gtk_scale_add_mark ( GtkScale* scale, double value, GtkPositionType position, const char* markup );
5 | extern PangoLayout* gtk_scale_get_layout ( GtkScale* scale );
6 | extern void gtk_scale_get_layout_offsets ( GtkScale* scale, int* x, int* y );
7 | extern int gtk_scale_get_digits ( GtkScale* scale );
8 | extern gboolean gtk_scale_get_has_origin ( GtkScale* scale );
9 | extern gboolean gtk_scale_get_draw_value ( GtkScale* scale );
10 | extern void gtk_scale_set_digits ( GtkScale* scale, int digits );
11 | extern GtkPositionType gtk_scale_get_value_pos ( GtkScale* scale );
12 | extern void gtk_scale_set_draw_value ( GtkScale* scale, gboolean draw_value );
13 | extern void gtk_scale_set_format_value_func ( GtkScale* scale, GtkScaleFormatValueFunc func, gpointer user_data, GDestroyNotify destroy_notify );
14 | extern void gtk_scale_set_value_pos ( GtkScale* scale, GtkPositionType pos );
15 | extern void gtk_scale_set_has_origin ( GtkScale* scale, gboolean has_origin );
16 |
--------------------------------------------------------------------------------
/headers/400-GtkTreeModelFilter.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_tree_model_filter_convert_child_iter_to_iter ( GtkTreeModelFilter* filter, GtkTreeIter* filter_iter, GtkTreeIter* child_iter );
2 | extern void gtk_tree_model_filter_convert_iter_to_child_iter ( GtkTreeModelFilter* filter, GtkTreeIter* child_iter, GtkTreeIter* filter_iter );
3 | extern GtkTreePath* gtk_tree_model_filter_convert_child_path_to_path ( GtkTreeModelFilter* filter, GtkTreePath* child_path );
4 | extern void gtk_tree_model_filter_clear_cache ( GtkTreeModelFilter* filter );
5 | extern GtkTreeModel* gtk_tree_model_filter_get_model ( GtkTreeModelFilter* filter );
6 | extern GtkTreePath* gtk_tree_model_filter_convert_path_to_child_path ( GtkTreeModelFilter* filter, GtkTreePath* filter_path );
7 | extern void gtk_tree_model_filter_set_visible_column ( GtkTreeModelFilter* filter, int column );
8 | extern void gtk_tree_model_filter_refilter ( GtkTreeModelFilter* filter );
9 | extern void gtk_tree_model_filter_set_visible_func ( GtkTreeModelFilter* filter, GtkTreeModelFilterVisibleFunc func, gpointer data, GDestroyNotify destroy );
10 | extern void gtk_tree_model_filter_set_modify_func ( GtkTreeModelFilter* filter, int n_columns, GType* types, GtkTreeModelFilterModifyFunc func, gpointer data, GDestroyNotify destroy );
11 |
--------------------------------------------------------------------------------
/headers/400-GtkPaned.h:
--------------------------------------------------------------------------------
1 | extern int gtk_paned_get_position ( GtkPaned* paned );
2 | extern gboolean gtk_paned_get_resize_end_child ( GtkPaned* paned );
3 | extern GtkWidget* gtk_paned_new ( GtkOrientation orientation );
4 | extern gboolean gtk_paned_get_shrink_end_child ( GtkPaned* paned );
5 | extern GtkWidget* gtk_paned_get_end_child ( GtkPaned* paned );
6 | extern gboolean gtk_paned_get_resize_start_child ( GtkPaned* paned );
7 | extern gboolean gtk_paned_get_shrink_start_child ( GtkPaned* paned );
8 | extern void gtk_paned_set_end_child ( GtkPaned* paned, GtkWidget* child );
9 | extern void gtk_paned_set_position ( GtkPaned* paned, int position );
10 | extern GtkWidget* gtk_paned_get_start_child ( GtkPaned* paned );
11 | extern gboolean gtk_paned_get_wide_handle ( GtkPaned* paned );
12 | extern void gtk_paned_set_resize_end_child ( GtkPaned* paned, gboolean resize );
13 | extern void gtk_paned_set_shrink_end_child ( GtkPaned* paned, gboolean resize );
14 | extern void gtk_paned_set_start_child ( GtkPaned* paned, GtkWidget* child );
15 | extern void gtk_paned_set_wide_handle ( GtkPaned* paned, gboolean wide );
16 | extern void gtk_paned_set_shrink_start_child ( GtkPaned* paned, gboolean resize );
17 | extern void gtk_paned_set_resize_start_child ( GtkPaned* paned, gboolean resize );
18 |
--------------------------------------------------------------------------------
/headers/400-GtkGLArea.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_gl_area_new ( void );
2 | extern gboolean gtk_gl_area_get_auto_render ( GtkGLArea* area );
3 | extern void gtk_gl_area_attach_buffers ( GtkGLArea* area );
4 | extern GdkGLContext* gtk_gl_area_get_context ( GtkGLArea* area );
5 | extern gboolean gtk_gl_area_get_has_stencil_buffer ( GtkGLArea* area );
6 | extern void gtk_gl_area_get_required_version ( GtkGLArea* area, int* major, int* minor );
7 | extern gboolean gtk_gl_area_get_has_depth_buffer ( GtkGLArea* area );
8 | extern gboolean gtk_gl_area_get_use_es ( GtkGLArea* area );
9 | extern void gtk_gl_area_set_auto_render ( GtkGLArea* area, gboolean auto_render );
10 | extern void gtk_gl_area_make_current ( GtkGLArea* area );
11 | extern void gtk_gl_area_queue_render ( GtkGLArea* area );
12 | extern GError* gtk_gl_area_get_error ( GtkGLArea* area );
13 | extern void gtk_gl_area_set_error ( GtkGLArea* area, const GError* error );
14 | extern void gtk_gl_area_set_use_es ( GtkGLArea* area, gboolean use_es );
15 | extern void gtk_gl_area_set_required_version ( GtkGLArea* area, int major, int minor );
16 | extern void gtk_gl_area_set_has_stencil_buffer ( GtkGLArea* area, gboolean has_stencil_buffer );
17 | extern void gtk_gl_area_set_has_depth_buffer ( GtkGLArea* area, gboolean has_depth_buffer );
18 |
--------------------------------------------------------------------------------
/example/layout_containers/boxes/BoxWindow.php:
--------------------------------------------------------------------------------
1 | setTitle('Box Example');
11 | $box = new \PGtk\Gtk\Gtk\Box(\PGtk\Gtk\Gtk\Enum\Orientation::horizontal, 6);
12 | $button1 = new \PGtk\Gtk\Gtk\Button('Hello');
13 | $button1->connect('clicked', $this->onButton1Clicked(...));
14 | $box->append($button1);
15 |
16 | $button2 = new \PGtk\Gtk\Gtk\Button('Goodbye');
17 | $button2->connect('clicked', $this->onButton2Clicked(...));
18 | $box->append($button2);
19 |
20 | $this->setChild($box);
21 |
22 | $this->connect('destroy', function () {
23 | $this->run = false;
24 | });
25 | }
26 |
27 | public function onButton1Clicked()
28 | {
29 | echo 'Hello' . PHP_EOL;
30 | }
31 |
32 | public function onButton2Clicked()
33 | {
34 | echo 'Goodbye' . PHP_EOL;
35 | }
36 |
37 | public function run()
38 | {
39 | $this->widget->show();
40 | while ($this->run) {
41 | \PGtk\Gtk\GLib\MainContext::iteration(true);
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/headers/400-GtkExpander.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_expander_get_expanded ( GtkExpander* expander );
2 | extern GtkWidget* gtk_expander_get_child ( GtkExpander* expander );
3 | extern GtkWidget* gtk_expander_new ( const char* label );
4 | extern GtkWidget* gtk_expander_new_with_mnemonic ( const char* label );
5 | extern GtkWidget* gtk_expander_get_label_widget ( GtkExpander* expander );
6 | extern gboolean gtk_expander_get_resize_toplevel ( GtkExpander* expander );
7 | extern gboolean gtk_expander_get_use_markup ( GtkExpander* expander );
8 | extern gboolean gtk_expander_get_use_underline ( GtkExpander* expander );
9 | extern void gtk_expander_set_child ( GtkExpander* expander, GtkWidget* child );
10 | extern void gtk_expander_set_label ( GtkExpander* expander, const char* label );
11 | extern void gtk_expander_set_expanded ( GtkExpander* expander, gboolean expanded );
12 | extern void gtk_expander_set_resize_toplevel ( GtkExpander* expander, gboolean resize_toplevel );
13 | extern const char* gtk_expander_get_label ( GtkExpander* expander );
14 | extern void gtk_expander_set_label_widget ( GtkExpander* expander, GtkWidget* label_widget );
15 | extern void gtk_expander_set_use_underline ( GtkExpander* expander, gboolean use_underline );
16 | extern void gtk_expander_set_use_markup ( GtkExpander* expander, gboolean use_markup );
17 |
--------------------------------------------------------------------------------
/src/Gtk/Button.php:
--------------------------------------------------------------------------------
1 | gtk_button_new()));
28 | } else {
29 | parent::__construct(new Widget(Gtk::getFFI()->gtk_button_new_with_label($label)));
30 | }
31 | }
32 |
33 | public function setChild(WidgetInterface $widget)
34 | {
35 | Gtk::getFFI()->gtk_button_set_child(
36 | Gtk::getFFI()->cast($this->cast . ' *', $this->widget->widget),
37 | Gtk::getFFI()->cast("GtkWidget*", $widget->getWidget()->widget)
38 | );
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/tests/Unit/Gtk/LinkButtonTest.php:
--------------------------------------------------------------------------------
1 | assertEquals('https://google.com', $link->getUri());
15 | $this->assertFalse((boolean)$link->getVisited());
16 | $link->setUri('https://fb.com');
17 | $link->setVisited(true);
18 | $this->assertEquals('https://fb.com', $link->getUri());
19 | $this->assertTrue((boolean)$link->getVisited());
20 | }
21 |
22 | public function testLinkButtonWithLabel()
23 | {
24 | $link = new LinkButton('https://google.com', 'google');
25 | $this->assertEquals('https://google.com', $link->getUri());
26 | $this->assertEquals('google', $link->getLabel());
27 | $this->assertFalse((boolean)$link->getVisited());
28 | $link->setUri('https://fb.com');
29 | $link->setLabel('fb');
30 | $link->setVisited(true);
31 | $this->assertEquals('https://fb.com', $link->getUri());
32 | $this->assertEquals('fb', $link->getLabel());
33 | $this->assertTrue((boolean)$link->getVisited());
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ### Requirement
2 |
3 | - php (8.1)
4 | - ext-FFI
5 | - gtk-4
6 |
7 | **Installation**
8 |
9 | ```bash
10 | composer require pgtk/gtk
11 | ```
12 | **Example:**
13 |
14 | 
15 | ```php
16 | require_once __DIR__ . '/vendor/autoload.php';
17 |
18 | use PGtk\Gtk\Gtk\Window;
19 | use PGtk\Gtk\Gtk\HeaderBar;
20 | use PGtk\Gtk\Gtk\Label;
21 | use PGtk\Gtk\GLib\MainLoop;
22 |
23 | $run = true;
24 |
25 | $window = new Window();
26 | $window->widget->setSizeRequest(100, 100);
27 | $window->setTitle('Window');
28 |
29 | $headerBar = new HeaderBar();
30 | $headerBar->setDecorationLayout('menu:close');
31 | $window->setTitlebar($headerBar);
32 |
33 | $label = new Label('label');
34 |
35 | $window->setChild($label);
36 |
37 | $loop = new MainLoop();
38 | $window->connect('destroy', function (Window $window, MainLoop $loop) {
39 | $loop->quit();
40 | }, $loop);
41 |
42 | $window->widget->show();
43 |
44 | $loop->run();
45 |
46 |
47 | ```
48 |
49 | # Supported platforms and features
50 |
51 | ## Platforms
52 |
53 | | Platform | Status |
54 | |----------|:------:|
55 | | Linux | ✅ |
56 | | Windows | ❌ |
57 |
58 | # Examples:
59 | - [TomatoGtk](https://github.com/kmaestro/tomate-gtk)
60 |
61 | Contributing
62 | ------------
63 |
64 | Feel free to open issues and make PR. Contributions are welcome.
65 |
--------------------------------------------------------------------------------
/src/Gtk/Grid.php:
--------------------------------------------------------------------------------
1 | gtk_grid_new()));
16 | }
17 |
18 | public function attach(Widget $widget, int $column, int $row, int $width, int $height)
19 | {
20 | return Gtk::getFFI()->gtk_grid_attach(
21 | Gtk::getFFI()->cast($this->cast . '*', $this->widget->widget),
22 | Gtk::getFFI()->cast('GtkWidget*', $widget->widget),
23 | $column,
24 | $row,
25 | $width,
26 | $height
27 | );
28 | }
29 |
30 | public function attachNextTo(WidgetInterface $widget1, WidgetInterface $widget2, string $positionType, int $width, int $height)
31 | {
32 | return Gtk::getFFI()->gtk_grid_attach_next_to(
33 | Gtk::getFFI()->cast('GtkGrid*', $this->widget->widget),
34 | Gtk::getFFI()->cast('GtkWidget*', $widget1->getWidget()->widget),
35 | Gtk::getFFI()->cast('GtkWidget*', $widget2->getWidget()->widget),
36 | $positionType,
37 | $width,
38 | $height
39 | );
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/headers/400-GtkConstraint.h:
--------------------------------------------------------------------------------
1 | extern GtkConstraint* gtk_constraint_new ( GtkConstraintTarget* target, GtkConstraintAttribute target_attribute, GtkConstraintRelation relation, GtkConstraintTarget* source, GtkConstraintAttribute source_attribute, double multiplier, double constant, int strength );
2 | extern GtkConstraint* gtk_constraint_new_constant ( GtkConstraintTarget* target, GtkConstraintAttribute target_attribute, GtkConstraintRelation relation, double constant, int strength );
3 | extern double gtk_constraint_get_constant ( GtkConstraint* constraint );
4 | extern GtkConstraintRelation gtk_constraint_get_relation ( GtkConstraint* constraint );
5 | extern double gtk_constraint_get_multiplier ( GtkConstraint* constraint );
6 | extern GtkConstraintTarget* gtk_constraint_get_source ( GtkConstraint* constraint );
7 | extern GtkConstraintAttribute gtk_constraint_get_source_attribute ( GtkConstraint* constraint );
8 | extern GtkConstraintAttribute gtk_constraint_get_target_attribute ( GtkConstraint* constraint );
9 | extern int gtk_constraint_get_strength ( GtkConstraint* constraint );
10 | extern gboolean gtk_constraint_is_attached ( GtkConstraint* constraint );
11 | extern gboolean gtk_constraint_is_required ( GtkConstraint* constraint );
12 | extern GtkConstraintTarget* gtk_constraint_get_target ( GtkConstraint* constraint );
13 | extern gboolean gtk_constraint_is_constant ( GtkConstraint* constraint );
14 |
--------------------------------------------------------------------------------
/example/layout_containers/headerBar/HeaderBarWindow.php:
--------------------------------------------------------------------------------
1 | setTitle('HeaderBar Demo');
13 | $this->setDefaultSize(400, 200);
14 |
15 | $hb = new \PGtk\Gtk\Gtk\HeaderBar();
16 | $hb->setDecorationLayout('menu:close');
17 | // $hb->setDecorationLayout('menu:minimize,maximize,close');
18 | $this->setTitlebar($hb);
19 |
20 | $button = new \PGtk\Gtk\Gtk\Button();
21 | $button->setIconName('mail-send-receive-symbolic');
22 | $hb->packEnd($button);
23 |
24 | $box = new \PGtk\Gtk\Gtk\Box(\PGtk\Gtk\Gtk\Enum\Orientation::horizontal, 0);
25 | $button = new \PGtk\Gtk\Gtk\ButtonIcon('pan-start-symbolic');
26 | $box->append($button);
27 | $button = new \PGtk\Gtk\Gtk\ButtonIcon('pan-end-symbolic');
28 | $box->append($button);
29 | $hb->packStart($box);
30 |
31 | $this->connect('destroy',function () {
32 | $this->run = false;
33 | });
34 | }
35 |
36 | public function run()
37 | {
38 | $this->widget->show();
39 | while ($this->run) {
40 | \PGtk\Gtk\GLib\MainContext::iteration(true);
41 | }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/headers/400-GtkDropDown.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_drop_down_new_from_strings ( const char* const* strings );
2 | extern GtkWidget* gtk_drop_down_new ( GListModel* model, GtkExpression* expression );
3 | extern gboolean gtk_drop_down_get_enable_search ( GtkDropDown* self );
4 | extern GtkExpression* gtk_drop_down_get_expression ( GtkDropDown* self );
5 | extern GtkListItemFactory* gtk_drop_down_get_list_factory ( GtkDropDown* self );
6 | extern GListModel* gtk_drop_down_get_model ( GtkDropDown* self );
7 | extern guint gtk_drop_down_get_selected ( GtkDropDown* self );
8 | extern GObject* gtk_drop_down_get_selected_item ( GtkDropDown* self );
9 | extern GtkListItemFactory* gtk_drop_down_get_factory ( GtkDropDown* self );
10 | extern void gtk_drop_down_set_expression ( GtkDropDown* self, GtkExpression* expression );
11 | extern gboolean gtk_drop_down_get_show_arrow ( GtkDropDown* self );
12 | extern void gtk_drop_down_set_enable_search ( GtkDropDown* self, gboolean enable_search );
13 | extern void gtk_drop_down_set_model ( GtkDropDown* self, GListModel* model );
14 | extern void gtk_drop_down_set_factory ( GtkDropDown* self, GtkListItemFactory* factory );
15 | extern void gtk_drop_down_set_list_factory ( GtkDropDown* self, GtkListItemFactory* factory );
16 | extern void gtk_drop_down_set_selected ( GtkDropDown* self, guint position );
17 | extern void gtk_drop_down_set_show_arrow ( GtkDropDown* self, gboolean show_arrow );
18 |
--------------------------------------------------------------------------------
/headers/400-GtkPicture.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_picture_new_for_filename ( const char* filename );
2 | extern GtkWidget* gtk_picture_new_for_file ( GFile* file );
3 | extern GtkWidget* gtk_picture_new_for_paintable ( GdkPaintable* paintable );
4 | extern GtkWidget* gtk_picture_new ( void );
5 | extern GtkWidget* gtk_picture_new_for_resource ( const char* resource_path );
6 | extern GtkWidget* gtk_picture_new_for_pixbuf ( GdkPixbuf* pixbuf );
7 | extern gboolean gtk_picture_get_can_shrink ( GtkPicture* self );
8 | extern const char* gtk_picture_get_alternative_text ( GtkPicture* self );
9 | extern GFile* gtk_picture_get_file ( GtkPicture* self );
10 | extern void gtk_picture_set_alternative_text ( GtkPicture* self, const char* alternative_text );
11 | extern gboolean gtk_picture_get_keep_aspect_ratio ( GtkPicture* self );
12 | extern GdkPaintable* gtk_picture_get_paintable ( GtkPicture* self );
13 | extern void gtk_picture_set_can_shrink ( GtkPicture* self, gboolean can_shrink );
14 | extern void gtk_picture_set_file ( GtkPicture* self, GFile* file );
15 | extern void gtk_picture_set_paintable ( GtkPicture* self, GdkPaintable* paintable );
16 | extern void gtk_picture_set_filename ( GtkPicture* self, const char* filename );
17 | extern void gtk_picture_set_keep_aspect_ratio ( GtkPicture* self, gboolean keep_aspect_ratio );
18 | extern void gtk_picture_set_pixbuf ( GtkPicture* self, GdkPixbuf* pixbuf );
19 | extern void gtk_picture_set_resource ( GtkPicture* self, const char* resource_path );
20 |
--------------------------------------------------------------------------------
/headers/400-GtkIconTheme.h:
--------------------------------------------------------------------------------
1 | extern void gtk_icon_theme_add_resource_path ( GtkIconTheme* self, const char* path );
2 | extern GtkIconTheme* gtk_icon_theme_new ( void );
3 | extern GdkDisplay* gtk_icon_theme_get_display ( GtkIconTheme* self );
4 | extern void gtk_icon_theme_add_search_path ( GtkIconTheme* self, const char* path );
5 | extern int* gtk_icon_theme_get_icon_sizes ( GtkIconTheme* self, const char* icon_name );
6 | extern char** gtk_icon_theme_get_icon_names ( GtkIconTheme* self );
7 | extern char** gtk_icon_theme_get_resource_path ( GtkIconTheme* self );
8 | extern char** gtk_icon_theme_get_search_path ( GtkIconTheme* self );
9 | extern char* gtk_icon_theme_get_theme_name ( GtkIconTheme* self );
10 | extern gboolean gtk_icon_theme_has_gicon ( GtkIconTheme* self, GIcon* gicon );
11 | extern GtkIconPaintable* gtk_icon_theme_lookup_by_gicon ( GtkIconTheme* self, GIcon* icon, int size, int scale, GtkTextDirection direction, GtkIconLookupFlags flags );
12 | extern gboolean gtk_icon_theme_has_icon ( GtkIconTheme* self, const char* icon_name );
13 | extern GtkIconPaintable* gtk_icon_theme_lookup_icon ( GtkIconTheme* self, const char* icon_name, const char** fallbacks, int size, int scale, GtkTextDirection direction, GtkIconLookupFlags flags );
14 | extern void gtk_icon_theme_set_resource_path ( GtkIconTheme* self, const char* const* path );
15 | extern void gtk_icon_theme_set_search_path ( GtkIconTheme* self, const char* const* path );
16 | extern void gtk_icon_theme_set_theme_name ( GtkIconTheme* self, const char* theme_name );
17 |
--------------------------------------------------------------------------------
/headers/400-GtkGesture.h:
--------------------------------------------------------------------------------
1 | extern GList* gtk_gesture_get_group ( GtkGesture* gesture );
2 | extern gboolean gtk_gesture_get_bounding_box_center ( GtkGesture* gesture, double* x, double* y );
3 | extern GdkDevice* gtk_gesture_get_device ( GtkGesture* gesture );
4 | extern gboolean gtk_gesture_get_bounding_box ( GtkGesture* gesture, GdkRectangle* rect );
5 | extern GdkEventSequence* gtk_gesture_get_last_updated_sequence ( GtkGesture* gesture );
6 | extern gboolean gtk_gesture_get_point ( GtkGesture* gesture, GdkEventSequence* sequence, double* x, double* y );
7 | extern GList* gtk_gesture_get_sequences ( GtkGesture* gesture );
8 | extern GdkEvent* gtk_gesture_get_last_event ( GtkGesture* gesture, GdkEventSequence* sequence );
9 | extern void gtk_gesture_group ( GtkGesture* group_gesture, GtkGesture* gesture );
10 | extern GtkEventSequenceState gtk_gesture_get_sequence_state ( GtkGesture* gesture, GdkEventSequence* sequence );
11 | extern gboolean gtk_gesture_is_active ( GtkGesture* gesture );
12 | extern gboolean gtk_gesture_is_grouped_with ( GtkGesture* gesture, GtkGesture* other );
13 | extern gboolean gtk_gesture_handles_sequence ( GtkGesture* gesture, GdkEventSequence* sequence );
14 | extern gboolean gtk_gesture_set_sequence_state ( GtkGesture* gesture, GdkEventSequence* sequence, GtkEventSequenceState state );
15 | extern gboolean gtk_gesture_is_recognized ( GtkGesture* gesture );
16 | extern void gtk_gesture_ungroup ( GtkGesture* gesture );
17 | extern gboolean gtk_gesture_set_state ( GtkGesture* gesture, GtkEventSequenceState state );
18 |
--------------------------------------------------------------------------------
/headers/400-GtkIMContext.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_im_context_delete_surrounding ( GtkIMContext* context, int offset, int n_chars );
2 | extern gboolean gtk_im_context_filter_key ( GtkIMContext* context, gboolean press, GdkSurface* surface, GdkDevice* device, guint32 time, guint keycode, GdkModifierType state, int group );
3 | extern void gtk_im_context_focus_in ( GtkIMContext* context );
4 | extern gboolean gtk_im_context_filter_keypress ( GtkIMContext* context, GdkEvent* event );
5 | extern gboolean gtk_im_context_get_surrounding ( GtkIMContext* context, char** text, int* cursor_index );
6 | extern void gtk_im_context_focus_out ( GtkIMContext* context );
7 | extern void gtk_im_context_set_client_widget ( GtkIMContext* context, GtkWidget* widget );
8 | extern gboolean gtk_im_context_get_surrounding_with_selection ( GtkIMContext* context, char** text, int* cursor_index, int* anchor_index );
9 | extern void gtk_im_context_reset ( GtkIMContext* context );
10 | extern void gtk_im_context_set_cursor_location ( GtkIMContext* context, const GdkRectangle* area );
11 | extern void gtk_im_context_get_preedit_string ( GtkIMContext* context, char** str, PangoAttrList** attrs, int* cursor_pos );
12 | extern void gtk_im_context_set_surrounding_with_selection ( GtkIMContext* context, const char* text, int len, int cursor_index, int anchor_index );
13 | extern void gtk_im_context_set_surrounding ( GtkIMContext* context, const char* text, int len, int cursor_index );
14 | extern void gtk_im_context_set_use_preedit ( GtkIMContext* context, gboolean use_preedit );
15 |
--------------------------------------------------------------------------------
/headers/400-GtkInfoBar.h:
--------------------------------------------------------------------------------
1 | extern void gtk_info_bar_add_action_widget ( GtkInfoBar* info_bar, GtkWidget* child, int response_id );
2 | extern GtkWidget* gtk_info_bar_new_with_buttons ( const char* first_button_text, ... );
3 | extern void gtk_info_bar_add_child ( GtkInfoBar* info_bar, GtkWidget* widget );
4 | extern GtkWidget* gtk_info_bar_new ( void );
5 | extern GtkWidget* gtk_info_bar_add_button ( GtkInfoBar* info_bar, const char* button_text, int response_id );
6 | extern void gtk_info_bar_add_buttons ( GtkInfoBar* info_bar, const char* first_button_text, ... );
7 | extern GtkMessageType gtk_info_bar_get_message_type ( GtkInfoBar* info_bar );
8 | extern gboolean gtk_info_bar_get_show_close_button ( GtkInfoBar* info_bar );
9 | extern gboolean gtk_info_bar_get_revealed ( GtkInfoBar* info_bar );
10 | extern void gtk_info_bar_remove_action_widget ( GtkInfoBar* info_bar, GtkWidget* widget );
11 | extern void gtk_info_bar_response ( GtkInfoBar* info_bar, int response_id );
12 | extern void gtk_info_bar_set_message_type ( GtkInfoBar* info_bar, GtkMessageType message_type );
13 | extern void gtk_info_bar_set_default_response ( GtkInfoBar* info_bar, int response_id );
14 | extern void gtk_info_bar_remove_child ( GtkInfoBar* info_bar, GtkWidget* widget );
15 | extern void gtk_info_bar_set_response_sensitive ( GtkInfoBar* info_bar, int response_id, gboolean setting );
16 | extern void gtk_info_bar_set_revealed ( GtkInfoBar* info_bar, gboolean revealed );
17 | extern void gtk_info_bar_set_show_close_button ( GtkInfoBar* info_bar, gboolean setting );
18 |
--------------------------------------------------------------------------------
/headers/400-GtkAdjustment.h:
--------------------------------------------------------------------------------
1 | extern void gtk_adjustment_configure ( GtkAdjustment* adjustment, double value, double lower, double upper, double step_increment, double page_increment, double page_size );
2 | extern double gtk_adjustment_get_page_increment ( GtkAdjustment* adjustment );
3 | extern void gtk_adjustment_clamp_page ( GtkAdjustment* adjustment, double lower, double upper );
4 | extern double gtk_adjustment_get_lower ( GtkAdjustment* adjustment );
5 | extern GtkAdjustment* gtk_adjustment_new ( double value, double lower, double upper, double step_increment, double page_increment, double page_size );
6 | extern double gtk_adjustment_get_minimum_increment ( GtkAdjustment* adjustment );
7 | extern double gtk_adjustment_get_page_size ( GtkAdjustment* adjustment );
8 | extern double gtk_adjustment_get_value ( GtkAdjustment* adjustment );
9 | extern void gtk_adjustment_set_page_increment ( GtkAdjustment* adjustment, double page_increment );
10 | extern double gtk_adjustment_get_step_increment ( GtkAdjustment* adjustment );
11 | extern double gtk_adjustment_get_upper ( GtkAdjustment* adjustment );
12 | extern void gtk_adjustment_set_lower ( GtkAdjustment* adjustment, double lower );
13 | extern void gtk_adjustment_set_page_size ( GtkAdjustment* adjustment, double page_size );
14 | extern void gtk_adjustment_set_upper ( GtkAdjustment* adjustment, double upper );
15 | extern void gtk_adjustment_set_value ( GtkAdjustment* adjustment, double value );
16 | extern void gtk_adjustment_set_step_increment ( GtkAdjustment* adjustment, double step_increment );
17 |
--------------------------------------------------------------------------------
/headers/400-GtkApplication.h:
--------------------------------------------------------------------------------
1 | extern char** gtk_application_get_actions_for_accel ( GtkApplication* application, const char* accel );
2 | extern void gtk_application_add_window ( GtkApplication* application, GtkWindow* window );
3 | extern GtkApplication* gtk_application_new ( const char* application_id, GApplicationFlags flags );
4 | extern char** gtk_application_get_accels_for_action ( GtkApplication* application, const char* detailed_action_name );
5 | extern GList* gtk_application_get_windows ( GtkApplication* application );
6 | extern GMenu* gtk_application_get_menu_by_id ( GtkApplication* application, const char* id );
7 | extern GMenuModel* gtk_application_get_menubar ( GtkApplication* application );
8 | extern void gtk_application_remove_window ( GtkApplication* application, GtkWindow* window );
9 | extern GtkWindow* gtk_application_get_window_by_id ( GtkApplication* application, guint id );
10 | extern guint gtk_application_inhibit ( GtkApplication* application, GtkWindow* window, GtkApplicationInhibitFlags flags, const char* reason );
11 | extern GtkWindow* gtk_application_get_active_window ( GtkApplication* application );
12 | extern char** gtk_application_list_action_descriptions ( GtkApplication* application );
13 | extern void gtk_application_set_menubar ( GtkApplication* application, GMenuModel* menubar );
14 | extern void gtk_application_uninhibit ( GtkApplication* application, guint cookie );
15 | extern void gtk_application_set_accels_for_action ( GtkApplication* application, const char* detailed_action_name, const char* const* accels );
16 |
--------------------------------------------------------------------------------
/headers/400-GtkImage.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_image_new_from_icon_name ( const char* icon_name );
2 | extern GtkWidget* gtk_image_new_from_file ( const char* filename );
3 | extern GtkWidget* gtk_image_new ( void );
4 | extern GtkWidget* gtk_image_new_from_paintable ( GdkPaintable* paintable );
5 | extern GtkWidget* gtk_image_new_from_pixbuf ( GdkPixbuf* pixbuf );
6 | extern void gtk_image_clear ( GtkImage* image );
7 | extern GtkWidget* gtk_image_new_from_gicon ( GIcon* icon );
8 | extern GtkWidget* gtk_image_new_from_resource ( const char* resource_path );
9 | extern GIcon* gtk_image_get_gicon ( GtkImage* image );
10 | extern GtkIconSize gtk_image_get_icon_size ( GtkImage* image );
11 | extern const char* gtk_image_get_icon_name ( GtkImage* image );
12 | extern GtkImageType gtk_image_get_storage_type ( GtkImage* image );
13 | extern void gtk_image_set_from_file ( GtkImage* image, const char* filename );
14 | extern void gtk_image_set_from_gicon ( GtkImage* image, GIcon* icon );
15 | extern int gtk_image_get_pixel_size ( GtkImage* image );
16 | extern GdkPaintable* gtk_image_get_paintable ( GtkImage* image );
17 | extern void gtk_image_set_from_paintable ( GtkImage* image, GdkPaintable* paintable );
18 | extern void gtk_image_set_from_icon_name ( GtkImage* image, const char* icon_name );
19 | extern void gtk_image_set_from_pixbuf ( GtkImage* image, GdkPixbuf* pixbuf );
20 | extern void gtk_image_set_from_resource ( GtkImage* image, const char* resource_path );
21 | extern void gtk_image_set_icon_size ( GtkImage* image, GtkIconSize icon_size );
22 | extern void gtk_image_set_pixel_size ( GtkImage* image, int pixel_size );
23 |
--------------------------------------------------------------------------------
/src/GLib/MainLoop.php:
--------------------------------------------------------------------------------
1 | data = Gtk::getFFI()->g_main_loop_new(null, true);
23 | }
24 |
25 | public function __call(string $name, array $arguments)
26 | {
27 | if (count($this->methods) === 0) {
28 | $this->saveMethods();
29 | }
30 | if (!isset($this->methods[$name])) {
31 | throw new \RuntimeException(sprintf('Method not found %s in %s', $name, $this::class));
32 | }
33 |
34 | $functionName = 'g_main_loop_' . strtolower(preg_replace('~([A-Z])~', '_$1', $name));
35 |
36 | return Gtk::getFFI()->$functionName(Gtk::getFFI()->cast('GMainLoop*', $this->data), ...$arguments);
37 | }
38 |
39 | private function saveMethods()
40 | {
41 | $className = $this::class;
42 | while (true) {
43 | $comment = (new \ReflectionClass($className))->getDocComment();
44 | preg_match_all('~@method(.*)\(.*\)~', $comment, $arr);
45 | foreach ($arr[1] as $value) {
46 | $this->methods[trim($value)] = '';
47 | }
48 | $className = get_parent_class($className);
49 | if (!$className) {
50 | break;
51 | }
52 | }
53 | }
54 | }
--------------------------------------------------------------------------------
/headers/400-GtkPopover.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_popover_get_cascade_popdown ( GtkPopover* popover );
2 | extern GtkWidget* gtk_popover_get_child ( GtkPopover* popover );
3 | extern gboolean gtk_popover_get_autohide ( GtkPopover* popover );
4 | extern void gtk_popover_get_offset ( GtkPopover* popover, int* x_offset, int* y_offset );
5 | extern GtkWidget* gtk_popover_new ( void );
6 | extern gboolean gtk_popover_get_mnemonics_visible ( GtkPopover* popover );
7 | extern gboolean gtk_popover_get_has_arrow ( GtkPopover* popover );
8 | extern gboolean gtk_popover_get_pointing_to ( GtkPopover* popover, GdkRectangle* rect );
9 | extern void gtk_popover_popup ( GtkPopover* popover );
10 | extern void gtk_popover_popdown ( GtkPopover* popover );
11 | extern GtkPositionType gtk_popover_get_position ( GtkPopover* popover );
12 | extern void gtk_popover_set_child ( GtkPopover* popover, GtkWidget* child );
13 | extern void gtk_popover_present ( GtkPopover* popover );
14 | extern void gtk_popover_set_default_widget ( GtkPopover* popover, GtkWidget* widget );
15 | extern void gtk_popover_set_cascade_popdown ( GtkPopover* popover, gboolean cascade_popdown );
16 | extern void gtk_popover_set_has_arrow ( GtkPopover* popover, gboolean has_arrow );
17 | extern void gtk_popover_set_mnemonics_visible ( GtkPopover* popover, gboolean mnemonics_visible );
18 | extern void gtk_popover_set_autohide ( GtkPopover* popover, gboolean autohide );
19 | extern void gtk_popover_set_offset ( GtkPopover* popover, int x_offset, int y_offset );
20 | extern void gtk_popover_set_position ( GtkPopover* popover, GtkPositionType position );
21 | extern void gtk_popover_set_pointing_to ( GtkPopover* popover, const GdkRectangle* rect );
22 |
--------------------------------------------------------------------------------
/headers/400-GtkRange.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_range_get_flippable ( GtkRange* range );
2 | extern gboolean gtk_range_get_inverted ( GtkRange* range );
3 | extern double gtk_range_get_fill_level ( GtkRange* range );
4 | extern GtkAdjustment* gtk_range_get_adjustment ( GtkRange* range );
5 | extern int gtk_range_get_round_digits ( GtkRange* range );
6 | extern gboolean gtk_range_get_show_fill_level ( GtkRange* range );
7 | extern gboolean gtk_range_get_restrict_to_fill_level ( GtkRange* range );
8 | extern void gtk_range_get_slider_range ( GtkRange* range, int* slider_start, int* slider_end );
9 | extern gboolean gtk_range_get_slider_size_fixed ( GtkRange* range );
10 | extern void gtk_range_get_range_rect ( GtkRange* range, GdkRectangle* range_rect );
11 | extern double gtk_range_get_value ( GtkRange* range );
12 | extern void gtk_range_set_adjustment ( GtkRange* range, GtkAdjustment* adjustment );
13 | extern void gtk_range_set_flippable ( GtkRange* range, gboolean flippable );
14 | extern void gtk_range_set_fill_level ( GtkRange* range, double fill_level );
15 | extern void gtk_range_set_increments ( GtkRange* range, double step, double page );
16 | extern void gtk_range_set_inverted ( GtkRange* range, gboolean setting );
17 | extern void gtk_range_set_range ( GtkRange* range, double min, double max );
18 | extern void gtk_range_set_restrict_to_fill_level ( GtkRange* range, gboolean restrict_to_fill_level );
19 | extern void gtk_range_set_round_digits ( GtkRange* range, int round_digits );
20 | extern void gtk_range_set_value ( GtkRange* range, double value );
21 | extern void gtk_range_set_slider_size_fixed ( GtkRange* range, gboolean size_fixed );
22 | extern void gtk_range_set_show_fill_level ( GtkRange* range, gboolean show_fill_level );
23 |
--------------------------------------------------------------------------------
/headers/400-GtkColumnViewColumn.h:
--------------------------------------------------------------------------------
1 | extern GtkColumnViewColumn* gtk_column_view_column_new ( const char* title, GtkListItemFactory* factory );
2 | extern GtkListItemFactory* gtk_column_view_column_get_factory ( GtkColumnViewColumn* self );
3 | extern GtkColumnView* gtk_column_view_column_get_column_view ( GtkColumnViewColumn* self );
4 | extern gboolean gtk_column_view_column_get_expand ( GtkColumnViewColumn* self );
5 | extern GMenuModel* gtk_column_view_column_get_header_menu ( GtkColumnViewColumn* self );
6 | extern gboolean gtk_column_view_column_get_resizable ( GtkColumnViewColumn* self );
7 | extern const char* gtk_column_view_column_get_title ( GtkColumnViewColumn* self );
8 | extern int gtk_column_view_column_get_fixed_width ( GtkColumnViewColumn* self );
9 | extern GtkSorter* gtk_column_view_column_get_sorter ( GtkColumnViewColumn* self );
10 | extern gboolean gtk_column_view_column_get_visible ( GtkColumnViewColumn* self );
11 | extern void gtk_column_view_column_set_fixed_width ( GtkColumnViewColumn* self, int fixed_width );
12 | extern void gtk_column_view_column_set_header_menu ( GtkColumnViewColumn* self, GMenuModel* menu );
13 | extern void gtk_column_view_column_set_factory ( GtkColumnViewColumn* self, GtkListItemFactory* factory );
14 | extern void gtk_column_view_column_set_expand ( GtkColumnViewColumn* self, gboolean expand );
15 | extern void gtk_column_view_column_set_resizable ( GtkColumnViewColumn* self, gboolean resizable );
16 | extern void gtk_column_view_column_set_title ( GtkColumnViewColumn* self, const char* title );
17 | extern void gtk_column_view_column_set_sorter ( GtkColumnViewColumn* self, GtkSorter* sorter );
18 | extern void gtk_column_view_column_set_visible ( GtkColumnViewColumn* self, gboolean visible );
19 |
--------------------------------------------------------------------------------
/headers/400-GtkStyleContext.h:
--------------------------------------------------------------------------------
1 | extern void gtk_style_context_get_color ( GtkStyleContext* context, GdkRGBA* color );
2 | extern void gtk_style_context_add_provider ( GtkStyleContext* context, GtkStyleProvider* provider, guint priority );
3 | extern void gtk_style_context_add_class ( GtkStyleContext* context, const char* class_name );
4 | extern void gtk_style_context_get_border ( GtkStyleContext* context, GtkBorder* border );
5 | extern void gtk_style_context_get_margin ( GtkStyleContext* context, GtkBorder* margin );
6 | extern void gtk_style_context_get_padding ( GtkStyleContext* context, GtkBorder* padding );
7 | extern GdkDisplay* gtk_style_context_get_display ( GtkStyleContext* context );
8 | extern int gtk_style_context_get_scale ( GtkStyleContext* context );
9 | extern gboolean gtk_style_context_has_class ( GtkStyleContext* context, const char* class_name );
10 | extern GtkStateFlags gtk_style_context_get_state ( GtkStyleContext* context );
11 | extern void gtk_style_context_remove_class ( GtkStyleContext* context, const char* class_name );
12 | extern void gtk_style_context_remove_provider ( GtkStyleContext* context, GtkStyleProvider* provider );
13 | extern void gtk_style_context_save ( GtkStyleContext* context );
14 | extern gboolean gtk_style_context_lookup_color ( GtkStyleContext* context, const char* color_name, GdkRGBA* color );
15 | extern void gtk_style_context_restore ( GtkStyleContext* context );
16 | extern void gtk_style_context_set_state ( GtkStyleContext* context, GtkStateFlags flags );
17 | extern void gtk_style_context_set_scale ( GtkStyleContext* context, int scale );
18 | extern void gtk_style_context_set_display ( GtkStyleContext* context, GdkDisplay* display );
19 | extern char* gtk_style_context_to_string ( GtkStyleContext* context, GtkStyleContextPrintFlags flags );
20 |
--------------------------------------------------------------------------------
/headers/400-GtkColumnView.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_column_view_new ( GtkSelectionModel* model );
2 | extern gboolean gtk_column_view_get_enable_rubberband ( GtkColumnView* self );
3 | extern gboolean gtk_column_view_get_show_column_separators ( GtkColumnView* self );
4 | extern GListModel* gtk_column_view_get_columns ( GtkColumnView* self );
5 | extern void gtk_column_view_append_column ( GtkColumnView* self, GtkColumnViewColumn* column );
6 | extern gboolean gtk_column_view_get_show_row_separators ( GtkColumnView* self );
7 | extern gboolean gtk_column_view_get_reorderable ( GtkColumnView* self );
8 | extern GtkSorter* gtk_column_view_get_sorter ( GtkColumnView* self );
9 | extern gboolean gtk_column_view_get_single_click_activate ( GtkColumnView* self );
10 | extern void gtk_column_view_insert_column ( GtkColumnView* self, guint position, GtkColumnViewColumn* column );
11 | extern void gtk_column_view_set_enable_rubberband ( GtkColumnView* self, gboolean enable_rubberband );
12 | extern void gtk_column_view_remove_column ( GtkColumnView* self, GtkColumnViewColumn* column );
13 | extern GtkSelectionModel* gtk_column_view_get_model ( GtkColumnView* self );
14 | extern void gtk_column_view_set_model ( GtkColumnView* self, GtkSelectionModel* model );
15 | extern void gtk_column_view_set_show_row_separators ( GtkColumnView* self, gboolean show_row_separators );
16 | extern void gtk_column_view_set_show_column_separators ( GtkColumnView* self, gboolean show_column_separators );
17 | extern void gtk_column_view_set_reorderable ( GtkColumnView* self, gboolean reorderable );
18 | extern void gtk_column_view_set_single_click_activate ( GtkColumnView* self, gboolean single_click_activate );
19 | extern void gtk_column_view_sort_by_column ( GtkColumnView* self, GtkColumnViewColumn* column, GtkSortType direction );
20 |
--------------------------------------------------------------------------------
/src/Gtk/Label.php:
--------------------------------------------------------------------------------
1 | gtk_label_new($label)));
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/headers/400-GtkPrinter.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_printer_accepts_pdf ( GtkPrinter* printer );
2 | extern int gtk_printer_compare ( GtkPrinter* a, GtkPrinter* b );
3 | extern gboolean gtk_printer_accepts_ps ( GtkPrinter* printer );
4 | extern GtkPrinter* gtk_printer_new ( const char* name, GtkPrintBackend* backend, gboolean virtual_ );
5 | extern GtkPageSetup* gtk_printer_get_default_page_size ( GtkPrinter* printer );
6 | extern GtkPrintCapabilities gtk_printer_get_capabilities ( GtkPrinter* printer );
7 | extern const char* gtk_printer_get_description ( GtkPrinter* printer );
8 | extern GtkPrintBackend* gtk_printer_get_backend ( GtkPrinter* printer );
9 | extern gboolean gtk_printer_get_hard_margins ( GtkPrinter* printer, double* top, double* bottom, double* left, double* right );
10 | extern gboolean gtk_printer_get_hard_margins_for_paper_size ( GtkPrinter* printer, GtkPaperSize* paper_size, double* top, double* bottom, double* left, double* right );
11 | extern const char* gtk_printer_get_location ( GtkPrinter* printer );
12 | extern const char* gtk_printer_get_icon_name ( GtkPrinter* printer );
13 | extern int gtk_printer_get_job_count ( GtkPrinter* printer );
14 | extern const char* gtk_printer_get_state_message ( GtkPrinter* printer );
15 | extern const char* gtk_printer_get_name ( GtkPrinter* printer );
16 | extern gboolean gtk_printer_is_accepting_jobs ( GtkPrinter* printer );
17 | extern gboolean gtk_printer_has_details ( GtkPrinter* printer );
18 | extern gboolean gtk_printer_is_virtual ( GtkPrinter* printer );
19 | extern gboolean gtk_printer_is_paused ( GtkPrinter* printer );
20 | extern gboolean gtk_printer_is_default ( GtkPrinter* printer );
21 | extern GList* gtk_printer_list_papers ( GtkPrinter* printer );
22 | extern gboolean gtk_printer_is_active ( GtkPrinter* printer );
23 | extern void gtk_printer_request_details ( GtkPrinter* printer );
24 |
--------------------------------------------------------------------------------
/src/Gtk/HeaderBar.php:
--------------------------------------------------------------------------------
1 | gtk_header_bar_new()));
21 | }
22 |
23 | public function packEnd(WidgetInterface $widget): void
24 | {
25 | Gtk::getFFI()->gtk_header_bar_pack_end(
26 | Gtk::getFFI()->cast('GtkHeaderBar*', $this->widget->widget),
27 | Gtk::getFFI()->cast('GtkWidget*', $widget->getWidget()->widget)
28 | );
29 | }
30 |
31 | public function packStart(WidgetInterface $widget): void
32 | {
33 | Gtk::getFFI()->gtk_header_bar_pack_start(
34 | Gtk::getFFI()->cast('GtkHeaderBar*', $this->widget->widget),
35 | Gtk::getFFI()->cast('GtkWidget*', $widget->getWidget()->widget)
36 | );
37 | }
38 |
39 | public function setTitleWidget(WidgetInterface $widget)
40 | {
41 | return Gtk::getFFI()->gtk_header_bar_set_title_widget(
42 | Gtk::getFFI()->cast('GtkHeaderBar*', $this->widget->widget),
43 | Gtk::getFFI()->cast('GtkWidget*', $widget->getWidget()->widget)
44 | );
45 | }
46 |
47 | public function remove(WidgetInterface $widget)
48 | {
49 | return Gtk::getFFI()->gtk_header_bar_remove(
50 | Gtk::getFFI()->cast('GtkHeaderBar*', $this->widget->widget),
51 | Gtk::getFFI()->cast('GtkWidget*', $widget->getWidget()->widget)
52 | );
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/headers/400-GtkGrid.h:
--------------------------------------------------------------------------------
1 | extern void gtk_grid_attach ( GtkGrid* grid, GtkWidget* child, int column, int row, int width, int height );
2 | extern void gtk_grid_attach_next_to ( GtkGrid* grid, GtkWidget* child, GtkWidget* sibling, GtkPositionType side, int width, int height );
3 | extern int gtk_grid_get_baseline_row ( GtkGrid* grid );
4 | extern GtkWidget* gtk_grid_new ( void );
5 | extern gboolean gtk_grid_get_column_homogeneous ( GtkGrid* grid );
6 | extern guint gtk_grid_get_column_spacing ( GtkGrid* grid );
7 | extern GtkBaselinePosition gtk_grid_get_row_baseline_position ( GtkGrid* grid, int row );
8 | extern GtkWidget* gtk_grid_get_child_at ( GtkGrid* grid, int column, int row );
9 | extern gboolean gtk_grid_get_row_homogeneous ( GtkGrid* grid );
10 | extern guint gtk_grid_get_row_spacing ( GtkGrid* grid );
11 | extern void gtk_grid_insert_row ( GtkGrid* grid, int position );
12 | extern void gtk_grid_insert_next_to ( GtkGrid* grid, GtkWidget* sibling, GtkPositionType side );
13 | extern void gtk_grid_remove ( GtkGrid* grid, GtkWidget* child );
14 | extern void gtk_grid_insert_column ( GtkGrid* grid, int position );
15 | extern void gtk_grid_remove_column ( GtkGrid* grid, int position );
16 | extern void gtk_grid_query_child ( GtkGrid* grid, GtkWidget* child, int* column, int* row, int* width, int* height );
17 | extern void gtk_grid_remove_row ( GtkGrid* grid, int position );
18 | extern void gtk_grid_set_baseline_row ( GtkGrid* grid, int row );
19 | extern void gtk_grid_set_column_spacing ( GtkGrid* grid, guint spacing );
20 | extern void gtk_grid_set_row_spacing ( GtkGrid* grid, guint spacing );
21 | extern void gtk_grid_set_row_homogeneous ( GtkGrid* grid, gboolean homogeneous );
22 | extern void gtk_grid_set_row_baseline_position ( GtkGrid* grid, int row, GtkBaselinePosition pos );
23 | extern void gtk_grid_set_column_homogeneous ( GtkGrid* grid, gboolean homogeneous );
24 |
--------------------------------------------------------------------------------
/headers/400-GtkPrintUnixDialog.h:
--------------------------------------------------------------------------------
1 | extern gboolean gtk_print_unix_dialog_get_embed_page_setup ( GtkPrintUnixDialog* dialog );
2 | extern void gtk_print_unix_dialog_add_custom_tab ( GtkPrintUnixDialog* dialog, GtkWidget* child, GtkWidget* tab_label );
3 | extern GtkWidget* gtk_print_unix_dialog_new ( const char* title, GtkWindow* parent );
4 | extern int gtk_print_unix_dialog_get_current_page ( GtkPrintUnixDialog* dialog );
5 | extern GtkPrintCapabilities gtk_print_unix_dialog_get_manual_capabilities ( GtkPrintUnixDialog* dialog );
6 | extern GtkPageSetup* gtk_print_unix_dialog_get_page_setup ( GtkPrintUnixDialog* dialog );
7 | extern gboolean gtk_print_unix_dialog_get_has_selection ( GtkPrintUnixDialog* dialog );
8 | extern gboolean gtk_print_unix_dialog_get_page_setup_set ( GtkPrintUnixDialog* dialog );
9 | extern GtkPrintSettings* gtk_print_unix_dialog_get_settings ( GtkPrintUnixDialog* dialog );
10 | extern gboolean gtk_print_unix_dialog_get_support_selection ( GtkPrintUnixDialog* dialog );
11 | extern GtkPrinter* gtk_print_unix_dialog_get_selected_printer ( GtkPrintUnixDialog* dialog );
12 | extern void gtk_print_unix_dialog_set_current_page ( GtkPrintUnixDialog* dialog, int current_page );
13 | extern void gtk_print_unix_dialog_set_has_selection ( GtkPrintUnixDialog* dialog, gboolean has_selection );
14 | extern void gtk_print_unix_dialog_set_page_setup ( GtkPrintUnixDialog* dialog, GtkPageSetup* page_setup );
15 | extern void gtk_print_unix_dialog_set_manual_capabilities ( GtkPrintUnixDialog* dialog, GtkPrintCapabilities capabilities );
16 | extern void gtk_print_unix_dialog_set_embed_page_setup ( GtkPrintUnixDialog* dialog, gboolean embed );
17 | extern void gtk_print_unix_dialog_set_support_selection ( GtkPrintUnixDialog* dialog, gboolean support_selection );
18 | extern void gtk_print_unix_dialog_set_settings ( GtkPrintUnixDialog* dialog, GtkPrintSettings* settings );
19 |
--------------------------------------------------------------------------------
/headers/400-GtkStack.h:
--------------------------------------------------------------------------------
1 | extern GtkStackPage* gtk_stack_add_child ( GtkStack* stack, GtkWidget* child );
2 | extern GtkStackPage* gtk_stack_add_titled ( GtkStack* stack, GtkWidget* child, const char* name, const char* title );
3 | extern GtkWidget* gtk_stack_new ( void );
4 | extern GtkStackPage* gtk_stack_add_named ( GtkStack* stack, GtkWidget* child, const char* name );
5 | extern gboolean gtk_stack_get_hhomogeneous ( GtkStack* stack );
6 | extern gboolean gtk_stack_get_interpolate_size ( GtkStack* stack );
7 | extern GtkWidget* gtk_stack_get_child_by_name ( GtkStack* stack, const char* name );
8 | extern GtkStackPage* gtk_stack_get_page ( GtkStack* stack, GtkWidget* child );
9 | extern GtkSelectionModel* gtk_stack_get_pages ( GtkStack* stack );
10 | extern GtkStackTransitionType gtk_stack_get_transition_type ( GtkStack* stack );
11 | extern guint gtk_stack_get_transition_duration ( GtkStack* stack );
12 | extern gboolean gtk_stack_get_vhomogeneous ( GtkStack* stack );
13 | extern gboolean gtk_stack_get_transition_running ( GtkStack* stack );
14 | extern const char* gtk_stack_get_visible_child_name ( GtkStack* stack );
15 | extern GtkWidget* gtk_stack_get_visible_child ( GtkStack* stack );
16 | extern void gtk_stack_remove ( GtkStack* stack, GtkWidget* child );
17 | extern void gtk_stack_set_interpolate_size ( GtkStack* stack, gboolean interpolate_size );
18 | extern void gtk_stack_set_hhomogeneous ( GtkStack* stack, gboolean hhomogeneous );
19 | extern void gtk_stack_set_transition_duration ( GtkStack* stack, guint duration );
20 | extern void gtk_stack_set_transition_type ( GtkStack* stack, GtkStackTransitionType transition );
21 | extern void gtk_stack_set_visible_child_name ( GtkStack* stack, const char* name );
22 | extern void gtk_stack_set_vhomogeneous ( GtkStack* stack, gboolean vhomogeneous );
23 | extern void gtk_stack_set_visible_child_full ( GtkStack* stack, const char* name, GtkStackTransitionType transition );
24 | extern void gtk_stack_set_visible_child ( GtkStack* stack, GtkWidget* child );
25 |
--------------------------------------------------------------------------------
/src/Gtk/Window.php:
--------------------------------------------------------------------------------
1 | widget = new Widget(Gtk::getFFI()->gtk_window_new());
33 | }
34 |
35 | public function getDefaultSize(): array
36 | {
37 | $width = Gtk::getFFI()->new("gint", false);
38 | $height = Gtk::getFFI()->new("gint", false);
39 |
40 | Gtk::getFFI()->gtk_window_get_default_size(Gtk::getFFI()->cast($this->cast . ' *', $this->widget->widget), \FFI::addr($width), \FFI::addr($height));
41 | /** @psalm-suppress UndefinedPropertyFetch*/
42 | return [
43 | 'width' => $width->cdata,
44 | 'height' => $height->cdata,
45 | ];
46 | }
47 |
48 | public function setChild(WidgetInterface $widget)
49 | {
50 | Gtk::getFFI()->gtk_window_set_child(Gtk::getFFI()->cast($this->cast . ' *', $this->widget->widget), Gtk::getFFI()->cast("GtkWidget*", $widget->getWidget()->widget));
51 | }
52 |
53 | public function setTitlebar(WidgetInterface $widget)
54 | {
55 | Gtk::getFFI()->gtk_window_set_titlebar(
56 | Gtk::getFFI()->cast($this->cast . ' *', $this->widget->widget),
57 | Gtk::getFFI()->cast("GtkWidget*", $widget->getWidget()->widget));
58 | }
59 | }
--------------------------------------------------------------------------------
/headers/400-GtkTreeSelection.h:
--------------------------------------------------------------------------------
1 | extern GtkSelectionMode gtk_tree_selection_get_mode ( GtkTreeSelection* selection );
2 | extern GtkTreeSelectionFunc gtk_tree_selection_get_select_function ( GtkTreeSelection* selection );
3 | extern gboolean gtk_tree_selection_get_selected ( GtkTreeSelection* selection, GtkTreeModel** model, GtkTreeIter* iter );
4 | extern gpointer gtk_tree_selection_get_user_data ( GtkTreeSelection* selection );
5 | extern int gtk_tree_selection_count_selected_rows ( GtkTreeSelection* selection );
6 | extern GList* gtk_tree_selection_get_selected_rows ( GtkTreeSelection* selection, GtkTreeModel** model );
7 | extern GtkTreeView* gtk_tree_selection_get_tree_view ( GtkTreeSelection* selection );
8 | extern gboolean gtk_tree_selection_iter_is_selected ( GtkTreeSelection* selection, GtkTreeIter* iter );
9 | extern gboolean gtk_tree_selection_path_is_selected ( GtkTreeSelection* selection, GtkTreePath* path );
10 | extern void gtk_tree_selection_select_all ( GtkTreeSelection* selection );
11 | extern void gtk_tree_selection_select_path ( GtkTreeSelection* selection, GtkTreePath* path );
12 | extern void gtk_tree_selection_select_range ( GtkTreeSelection* selection, GtkTreePath* start_path, GtkTreePath* end_path );
13 | extern void gtk_tree_selection_select_iter ( GtkTreeSelection* selection, GtkTreeIter* iter );
14 | extern void gtk_tree_selection_selected_foreach ( GtkTreeSelection* selection, GtkTreeSelectionForeachFunc func, gpointer data );
15 | extern void gtk_tree_selection_set_select_function ( GtkTreeSelection* selection, GtkTreeSelectionFunc func, gpointer data, GDestroyNotify destroy );
16 | extern void gtk_tree_selection_unselect_iter ( GtkTreeSelection* selection, GtkTreeIter* iter );
17 | extern void gtk_tree_selection_unselect_all ( GtkTreeSelection* selection );
18 | extern void gtk_tree_selection_unselect_path ( GtkTreeSelection* selection, GtkTreePath* path );
19 | extern void gtk_tree_selection_unselect_range ( GtkTreeSelection* selection, GtkTreePath* start_path, GtkTreePath* end_path );
20 | extern void gtk_tree_selection_set_mode ( GtkTreeSelection* selection, GtkSelectionMode type );
21 |
--------------------------------------------------------------------------------
/headers/400-GtkListStore.h:
--------------------------------------------------------------------------------
1 | extern void gtk_list_store_append ( GtkListStore* list_store, GtkTreeIter* iter );
2 | extern GtkListStore* gtk_list_store_newv ( int n_columns, GType* types );
3 | extern GtkListStore* gtk_list_store_new ( int n_columns, ... );
4 | extern void gtk_list_store_insert ( GtkListStore* list_store, GtkTreeIter* iter, int position );
5 | extern void gtk_list_store_clear ( GtkListStore* list_store );
6 | extern void gtk_list_store_insert_after ( GtkListStore* list_store, GtkTreeIter* iter, GtkTreeIter* sibling );
7 | extern void gtk_list_store_insert_with_values ( GtkListStore* list_store, GtkTreeIter* iter, int position, ... );
8 | extern void gtk_list_store_insert_with_valuesv ( GtkListStore* list_store, GtkTreeIter* iter, int position, int* columns, GValue* values, int n_values );
9 | extern void gtk_list_store_insert_before ( GtkListStore* list_store, GtkTreeIter* iter, GtkTreeIter* sibling );
10 | extern gboolean gtk_list_store_iter_is_valid ( GtkListStore* list_store, GtkTreeIter* iter );
11 | extern void gtk_list_store_move_before ( GtkListStore* store, GtkTreeIter* iter, GtkTreeIter* position );
12 | extern void gtk_list_store_prepend ( GtkListStore* list_store, GtkTreeIter* iter );
13 | extern gboolean gtk_list_store_remove ( GtkListStore* list_store, GtkTreeIter* iter );
14 | extern void gtk_list_store_reorder ( GtkListStore* store, int* new_order );
15 | extern void gtk_list_store_set_valist ( GtkListStore* list_store, GtkTreeIter* iter, va_list var_args );
16 | extern void gtk_list_store_set_value ( GtkListStore* list_store, GtkTreeIter* iter, int column, GValue* value );
17 | extern void gtk_list_store_set_column_types ( GtkListStore* list_store, int n_columns, GType* types );
18 | extern void gtk_list_store_swap ( GtkListStore* store, GtkTreeIter* a, GtkTreeIter* b );
19 | extern void gtk_list_store_set ( GtkListStore* list_store, GtkTreeIter* iter, ... );
20 | extern void gtk_list_store_move_after ( GtkListStore* store, GtkTreeIter* iter, GtkTreeIter* position );
21 | extern void gtk_list_store_set_valuesv ( GtkListStore* list_store, GtkTreeIter* iter, int* columns, GValue* values, int n_values );
22 |
--------------------------------------------------------------------------------
/headers/400-GtkAssistant.h:
--------------------------------------------------------------------------------
1 | extern void gtk_assistant_add_action_widget ( GtkAssistant* assistant, GtkWidget* child );
2 | extern void gtk_assistant_commit ( GtkAssistant* assistant );
3 | extern GtkWidget* gtk_assistant_new ( void );
4 | extern int gtk_assistant_append_page ( GtkAssistant* assistant, GtkWidget* page );
5 | extern int gtk_assistant_get_current_page ( GtkAssistant* assistant );
6 | extern int gtk_assistant_get_n_pages ( GtkAssistant* assistant );
7 | extern GtkAssistantPage* gtk_assistant_get_page ( GtkAssistant* assistant, GtkWidget* child );
8 | extern gboolean gtk_assistant_get_page_complete ( GtkAssistant* assistant, GtkWidget* page );
9 | extern GtkWidget* gtk_assistant_get_nth_page ( GtkAssistant* assistant, int page_num );
10 | extern const char* gtk_assistant_get_page_title ( GtkAssistant* assistant, GtkWidget* page );
11 | extern int gtk_assistant_prepend_page ( GtkAssistant* assistant, GtkWidget* page );
12 | extern GtkAssistantPageType gtk_assistant_get_page_type ( GtkAssistant* assistant, GtkWidget* page );
13 | extern GListModel* gtk_assistant_get_pages ( GtkAssistant* assistant );
14 | extern void gtk_assistant_next_page ( GtkAssistant* assistant );
15 | extern int gtk_assistant_insert_page ( GtkAssistant* assistant, GtkWidget* page, int position );
16 | extern void gtk_assistant_previous_page ( GtkAssistant* assistant );
17 | extern void gtk_assistant_set_forward_page_func ( GtkAssistant* assistant, GtkAssistantPageFunc page_func, gpointer data, GDestroyNotify destroy );
18 | extern void gtk_assistant_remove_action_widget ( GtkAssistant* assistant, GtkWidget* child );
19 | extern void gtk_assistant_set_current_page ( GtkAssistant* assistant, int page_num );
20 | extern void gtk_assistant_remove_page ( GtkAssistant* assistant, int page_num );
21 | extern void gtk_assistant_set_page_type ( GtkAssistant* assistant, GtkWidget* page, GtkAssistantPageType type );
22 | extern void gtk_assistant_set_page_complete ( GtkAssistant* assistant, GtkWidget* page, gboolean complete );
23 | extern void gtk_assistant_set_page_title ( GtkAssistant* assistant, GtkWidget* page, const char* title );
24 | extern void gtk_assistant_update_buttons_state ( GtkAssistant* assistant );
25 |
--------------------------------------------------------------------------------
/headers/400-GtkMenuButton.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_menu_button_get_child ( GtkMenuButton* menu_button );
2 | extern gboolean gtk_menu_button_get_always_show_arrow ( GtkMenuButton* menu_button );
3 | extern GtkArrowType gtk_menu_button_get_direction ( GtkMenuButton* menu_button );
4 | extern GtkWidget* gtk_menu_button_new ( void );
5 | extern gboolean gtk_menu_button_get_has_frame ( GtkMenuButton* menu_button );
6 | extern const char* gtk_menu_button_get_icon_name ( GtkMenuButton* menu_button );
7 | extern const char* gtk_menu_button_get_label ( GtkMenuButton* menu_button );
8 | extern GtkPopover* gtk_menu_button_get_popover ( GtkMenuButton* menu_button );
9 | extern gboolean gtk_menu_button_get_primary ( GtkMenuButton* menu_button );
10 | extern GMenuModel* gtk_menu_button_get_menu_model ( GtkMenuButton* menu_button );
11 | extern void gtk_menu_button_set_always_show_arrow ( GtkMenuButton* menu_button, gboolean always_show_arrow );
12 | extern void gtk_menu_button_set_child ( GtkMenuButton* menu_button, GtkWidget* child );
13 | extern void gtk_menu_button_popup ( GtkMenuButton* menu_button );
14 | extern void gtk_menu_button_set_create_popup_func ( GtkMenuButton* menu_button, GtkMenuButtonCreatePopupFunc func, gpointer user_data, GDestroyNotify destroy_notify );
15 | extern gboolean gtk_menu_button_get_use_underline ( GtkMenuButton* menu_button );
16 | extern void gtk_menu_button_popdown ( GtkMenuButton* menu_button );
17 | extern void gtk_menu_button_set_icon_name ( GtkMenuButton* menu_button, const char* icon_name );
18 | extern void gtk_menu_button_set_has_frame ( GtkMenuButton* menu_button, gboolean has_frame );
19 | extern void gtk_menu_button_set_direction ( GtkMenuButton* menu_button, GtkArrowType direction );
20 | extern void gtk_menu_button_set_primary ( GtkMenuButton* menu_button, gboolean primary );
21 | extern void gtk_menu_button_set_menu_model ( GtkMenuButton* menu_button, GMenuModel* menu_model );
22 | extern void gtk_menu_button_set_label ( GtkMenuButton* menu_button, const char* label );
23 | extern void gtk_menu_button_set_popover ( GtkMenuButton* menu_button, GtkWidget* popover );
24 | extern void gtk_menu_button_set_use_underline ( GtkMenuButton* menu_button, gboolean use_underline );
25 |
--------------------------------------------------------------------------------
/src/Gtk.php:
--------------------------------------------------------------------------------
1 | filesName[$file])) {
19 | $this->filesName[$file] = '';
20 | }
21 | $this->filesName[$file] .= file_get_contents(__DIR__ . "/../headers/" . $file) . PHP_EOL . PHP_EOL;
22 | } else {
23 | if ($file == '.' || $file == '..') {
24 | continue;
25 | }
26 | foreach (scandir(__DIR__ . '/../headers/' . $file) as $value) {
27 | if (is_file(__DIR__ . "/../headers/" . $file . '/' . $value)) {
28 | $this->filesName[$value] .= file_get_contents(__DIR__ . "/../headers/" . $file . '/' . $value) . PHP_EOL . PHP_EOL;
29 | }
30 | }
31 | }
32 | }
33 |
34 | $this->ffi = \FFI::cdef(implode(PHP_EOL, $this->filesName), $configuration->path);
35 | $this->ffi->gtk_init();
36 | }
37 |
38 | /**
39 | * Singleton
40 | */
41 | public static function getInstance(Configuration $configuration = new Configuration())
42 | {
43 | if(self::$instance === NULL) {
44 | self::$instance = new self($configuration);
45 | }
46 | return self::$instance;
47 | }
48 |
49 | /**
50 | * @return mixed
51 | */
52 | public static function getFFI()
53 | {
54 | $instance = self::getInstance();
55 |
56 | return $instance->ffi;
57 | }
58 |
59 | public static function getMajorVersion(): int
60 | {
61 | return self::getFFI()->gtk_get_major_version();
62 | }
63 |
64 | public static function getMinorVersion(): int
65 | {
66 | return self::getFFI()->gtk_get_minor_version();
67 | }
68 |
69 | public static function getMicroVersion(): int
70 | {
71 | return self::getFFI()->gtk_get_micro_version();
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/headers/400-GtkComboBox.h:
--------------------------------------------------------------------------------
1 | extern GtkWidget* gtk_combo_box_new_with_model ( GtkTreeModel* model );
2 | extern GtkWidget* gtk_combo_box_new_with_model_and_entry ( GtkTreeModel* model );
3 | extern GtkWidget* gtk_combo_box_new_with_entry ( void );
4 | extern GtkWidget* gtk_combo_box_new ( void );
5 | extern const char* gtk_combo_box_get_active_id ( GtkComboBox* combo_box );
6 | extern gboolean gtk_combo_box_get_active_iter ( GtkComboBox* combo_box, GtkTreeIter* iter );
7 | extern GtkWidget* gtk_combo_box_get_child ( GtkComboBox* combo_box );
8 | extern int gtk_combo_box_get_active ( GtkComboBox* combo_box );
9 | extern GtkSensitivityType gtk_combo_box_get_button_sensitivity ( GtkComboBox* combo_box );
10 | extern int gtk_combo_box_get_entry_text_column ( GtkComboBox* combo_box );
11 | extern gboolean gtk_combo_box_get_has_entry ( GtkComboBox* combo_box );
12 | extern GtkTreeModel* gtk_combo_box_get_model ( GtkComboBox* combo_box );
13 | extern int gtk_combo_box_get_id_column ( GtkComboBox* combo_box );
14 | extern gboolean gtk_combo_box_get_popup_fixed_width ( GtkComboBox* combo_box );
15 | extern void gtk_combo_box_popup ( GtkComboBox* combo_box );
16 | extern void gtk_combo_box_popdown ( GtkComboBox* combo_box );
17 | extern GtkTreeViewRowSeparatorFunc gtk_combo_box_get_row_separator_func ( GtkComboBox* combo_box );
18 | extern void gtk_combo_box_set_active ( GtkComboBox* combo_box, int index_ );
19 | extern void gtk_combo_box_popup_for_device ( GtkComboBox* combo_box, GdkDevice* device );
20 | extern gboolean gtk_combo_box_set_active_id ( GtkComboBox* combo_box, const char* active_id );
21 | extern void gtk_combo_box_set_child ( GtkComboBox* combo_box, GtkWidget* child );
22 | extern void gtk_combo_box_set_entry_text_column ( GtkComboBox* combo_box, int text_column );
23 | extern void gtk_combo_box_set_button_sensitivity ( GtkComboBox* combo_box, GtkSensitivityType sensitivity );
24 | extern void gtk_combo_box_set_active_iter ( GtkComboBox* combo_box, GtkTreeIter* iter );
25 | extern void gtk_combo_box_set_id_column ( GtkComboBox* combo_box, int id_column );
26 | extern void gtk_combo_box_set_model ( GtkComboBox* combo_box, GtkTreeModel* model );
27 | extern void gtk_combo_box_set_row_separator_func ( GtkComboBox* combo_box, GtkTreeViewRowSeparatorFunc func, gpointer data, GDestroyNotify destroy );
28 | extern void gtk_combo_box_set_popup_fixed_width ( GtkComboBox* combo_box, gboolean fixed );
29 |
--------------------------------------------------------------------------------
/headers/400-GtkSpinButton.h:
--------------------------------------------------------------------------------
1 | extern void gtk_spin_button_configure ( GtkSpinButton* spin_button, GtkAdjustment* adjustment, double climb_rate, guint digits );
2 | extern GtkWidget* gtk_spin_button_new_with_range ( double min, double max, double step );
3 | extern GtkWidget* gtk_spin_button_new ( GtkAdjustment* adjustment, double climb_rate, guint digits );
4 | extern guint gtk_spin_button_get_digits ( GtkSpinButton* spin_button );
5 | extern GtkAdjustment* gtk_spin_button_get_adjustment ( GtkSpinButton* spin_button );
6 | extern void gtk_spin_button_get_increments ( GtkSpinButton* spin_button, double* step, double* page );
7 | extern gboolean gtk_spin_button_get_numeric ( GtkSpinButton* spin_button );
8 | extern gboolean gtk_spin_button_get_snap_to_ticks ( GtkSpinButton* spin_button );
9 | extern double gtk_spin_button_get_climb_rate ( GtkSpinButton* spin_button );
10 | extern GtkSpinButtonUpdatePolicy gtk_spin_button_get_update_policy ( GtkSpinButton* spin_button );
11 | extern void gtk_spin_button_get_range ( GtkSpinButton* spin_button, double* min, double* max );
12 | extern double gtk_spin_button_get_value ( GtkSpinButton* spin_button );
13 | extern gboolean gtk_spin_button_get_wrap ( GtkSpinButton* spin_button );
14 | extern int gtk_spin_button_get_value_as_int ( GtkSpinButton* spin_button );
15 | extern void gtk_spin_button_set_adjustment ( GtkSpinButton* spin_button, GtkAdjustment* adjustment );
16 | extern void gtk_spin_button_set_climb_rate ( GtkSpinButton* spin_button, double climb_rate );
17 | extern void gtk_spin_button_set_increments ( GtkSpinButton* spin_button, double step, double page );
18 | extern void gtk_spin_button_set_numeric ( GtkSpinButton* spin_button, gboolean numeric );
19 | extern void gtk_spin_button_set_digits ( GtkSpinButton* spin_button, guint digits );
20 | extern void gtk_spin_button_set_range ( GtkSpinButton* spin_button, double min, double max );
21 | extern void gtk_spin_button_set_update_policy ( GtkSpinButton* spin_button, GtkSpinButtonUpdatePolicy policy );
22 | extern void gtk_spin_button_set_snap_to_ticks ( GtkSpinButton* spin_button, gboolean snap_to_ticks );
23 | extern void gtk_spin_button_set_value ( GtkSpinButton* spin_button, double value );
24 | extern void gtk_spin_button_spin ( GtkSpinButton* spin_button, GtkSpinType direction, double increment );
25 | extern void gtk_spin_button_set_wrap ( GtkSpinButton* spin_button, gboolean wrap );
26 | extern void gtk_spin_button_update ( GtkSpinButton* spin_button );
27 |
--------------------------------------------------------------------------------