diff options
author | Camil Staps | 2019-11-16 22:09:09 +0100 |
---|---|---|
committer | Camil Staps | 2019-11-16 22:09:09 +0100 |
commit | ed690b87fecec98f5305d67b1f5962cf70a5bc4b (patch) | |
tree | 544e885f3d44af3c0dc63ebde67e524698908d21 | |
parent | Use abstract newtypes to hide pointers (diff) |
Add PixelsAboveLines, PixelsBelowLines, and PixelsInsideWrap to control line spacing of GtkTextView
-rw-r--r-- | src/Gtk/Internal.dcl | 3 | ||||
-rw-r--r-- | src/Gtk/Internal.icl | 15 | ||||
-rw-r--r-- | src/Gtk/Types.dcl | 5 | ||||
-rw-r--r-- | src/Gtk/Widgets.dcl | 12 | ||||
-rw-r--r-- | src/Gtk/Widgets.icl | 9 |
5 files changed, 39 insertions, 5 deletions
diff --git a/src/Gtk/Internal.dcl b/src/Gtk/Internal.dcl index 8950cf9..bd37efa 100644 --- a/src/Gtk/Internal.dcl +++ b/src/Gtk/Internal.dcl @@ -146,6 +146,9 @@ gtk_text_buffer_set_text :: !Pointer !String !Int !.a -> .a gtk_text_view_new :: !.a -> (!Pointer, !.a) gtk_text_view_get_buffer :: !Pointer -> Pointer gtk_text_view_set_editable :: !Pointer !Bool !.a -> .a +gtk_text_view_set_pixels_above_lines :: !Pointer !Int !.a -> .a +gtk_text_view_set_pixels_below_lines :: !Pointer !Int !.a -> .a +gtk_text_view_set_pixels_inside_wrap :: !Pointer !Int !.a -> .a gtk_text_view_set_wrap_mode :: !Pointer !Int !.a -> .a gtk_tree_model_get_iter_from_string :: !Pointer !String -> (!Bool, !{#Int}) diff --git a/src/Gtk/Internal.icl b/src/Gtk/Internal.icl index 92a9009..89546ba 100644 --- a/src/Gtk/Internal.icl +++ b/src/Gtk/Internal.icl @@ -638,6 +638,21 @@ gtk_text_view_set_editable text_view setting env = code { ccall gtk_text_view_set_editable "pI:V:A" } +gtk_text_view_set_pixels_above_lines :: !Pointer !Int !.a -> .a +gtk_text_view_set_pixels_above_lines text_view px env = code { + ccall gtk_text_view_set_pixels_above_lines "pI:V:A" +} + +gtk_text_view_set_pixels_below_lines :: !Pointer !Int !.a -> .a +gtk_text_view_set_pixels_below_lines text_view px env = code { + ccall gtk_text_view_set_pixels_below_lines "pI:V:A" +} + +gtk_text_view_set_pixels_inside_wrap :: !Pointer !Int !.a -> .a +gtk_text_view_set_pixels_inside_wrap text_view px env = code { + ccall gtk_text_view_set_pixels_inside_wrap "pI:V:A" +} + gtk_text_view_set_wrap_mode :: !Pointer !Int !.a -> .a gtk_text_view_set_wrap_mode text_view mode env = code { ccall gtk_text_view_set_wrap_mode "pI:V:A" diff --git a/src/Gtk/Types.dcl b/src/Gtk/Types.dcl index 1e2ed78..62b925c 100644 --- a/src/Gtk/Types.dcl +++ b/src/Gtk/Types.dcl @@ -115,6 +115,11 @@ instance toInt GtkIconSize instance toInt GtkJustification +:: GtkLineSpacingModifier + = PixelsAboveLines !Int + | PixelsBelowLines !Int + | PixelsInsideWrap !Int + :: GtkMargins = { left :: !Int , top :: !Int diff --git a/src/Gtk/Widgets.dcl b/src/Gtk/Widgets.dcl index bc1e0af..a9cb44c 100644 --- a/src/Gtk/Widgets.dcl +++ b/src/Gtk/Widgets.dcl @@ -25,11 +25,12 @@ from Gtk.Types import :: GType, :: GValue, :: GdkModifier, :: GtkAlign, :: GtkButtonsType, :: GtkCompletionMode, :: GtkCSSClass, - :: GtkDirection, :: GtkExpand, :: GtkFileChooserAction, :: GtkMargins, - :: GtkMarkup, :: GtkMessageType, :: GtkModal, :: GtkOrientation, - :: GtkPanedHandleWidth, :: GtkResize, :: GtkResponse, - :: GtkScrollbarPolicy, :: GtkSensitivity, :: GtkShrink, :: GtkSizeRequest, - :: GtkSpacing, :: GtkStylePriority, :: GtkText, :: GtkTitle, :: GtkWrapMode + :: GtkDirection, :: GtkExpand, :: GtkFileChooserAction, + :: GtkLineSpacingModifier, :: GtkMargins, :: GtkMarkup, :: GtkMessageType, + :: GtkModal, :: GtkOrientation, :: GtkPanedHandleWidth, :: GtkResize, + :: GtkResponse, :: GtkScrollbarPolicy, :: GtkSensitivity, :: GtkShrink, + :: GtkSizeRequest, :: GtkSpacing, :: GtkStylePriority, :: GtkText, + :: GtkTitle, :: GtkWrapMode /** * A `GtkAccelGroup` is needed for a `GtkAccelerator`. 'Accelerator' is Gtk's @@ -350,6 +351,7 @@ instance gtkContainer GtkTextView newTextView :: GtkM GtkTextView getTextBuffer :: !GtkTextView -> GtkTextBuffer +instance tune GtkTextView GtkLineSpacingModifier instance tune GtkTextView GtkWrapMode //* A tree view is a view on a `GtkListStore` with customizable columns. diff --git a/src/Gtk/Widgets.icl b/src/Gtk/Widgets.icl index 41aadab..4fec8d4 100644 --- a/src/Gtk/Widgets.icl +++ b/src/Gtk/Widgets.icl @@ -515,6 +515,15 @@ newTextView = getTextBuffer :: !GtkTextView -> GtkTextBuffer getTextBuffer (GtkTextView tv) = GtkTextBuffer (gtk_text_view_get_buffer tv) +instance tune GtkTextView GtkLineSpacingModifier +where + tune mod view=:(GtkTextView tv) = toState modify >>| pure view + where + modify = case mod of + PixelsAboveLines px -> gtk_text_view_set_pixels_above_lines tv px + PixelsBelowLines px -> gtk_text_view_set_pixels_below_lines tv px + PixelsInsideWrap px -> gtk_text_view_set_pixels_inside_wrap tv px + instance tune GtkTextView GtkWrapMode where tune mode view=:(GtkTextView tv) = |