• GtkAda.Image

    From Dmitry A. Kazakov@21:1/5 to AdaMagica on Wed Sep 1 11:02:06 2021
    On 2021-09-01 10:42, AdaMagica wrote:
    Calling Gtk.Image.Gtk_New (Lady, "Ada_9X.bmp"); with a nonexisting file does not report any problem. It just creates a tiny placeholder.
    Is there a way to get a warning in this case? The GtkAda_RM is silent on this.

    "...If the file isn't found or can't be loaded, the resulting Gtk.Image.Gtk_Image will display a "broken image" icon. This function
    never returns null, it always returns a valid Gtk.Image.Gtk_Image widget..."

    Embed Ada_9X.bmp into your GtkAda program. It will always be there, no
    need to care about shipping the image file with your program.

    --
    Regards,
    Dmitry A. Kazakov
    http://www.dmitry-kazakov.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From AdaMagica@21:1/5 to All on Wed Sep 1 01:42:33 2021
    Calling Gtk.Image.Gtk_New (Lady, "Ada_9X.bmp"); with a nonexisting file does not report any problem. It just creates a tiny placeholder.
    Is there a way to get a warning in this case? The GtkAda_RM is silent on this.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From AdaMagica@21:1/5 to All on Thu Sep 2 11:16:10 2021
    Embed Ada_9X.bmp into your GtkAda program. It will always be there, no
    need to care about shipping the image file with your program.

    Tnanks, Dmitry, I thought about this but do not know how to do this.
    Christoph

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dmitry A. Kazakov@21:1/5 to AdaMagica on Thu Sep 2 22:10:10 2021
    On 2021-09-02 20:16, AdaMagica wrote:
    Embed Ada_9X.bmp into your GtkAda program. It will always be there, no
    need to care about shipping the image file with your program.

    Tnanks, Dmitry, I thought about this but do not know how to do this.

    I have a small Ada utility program converting an XPM image to Ada
    packages. E.g. open BMP in GIMP and export it as XPM.

    http://www.dmitry-kazakov.de/ada/gtkada_contributions.htm#3

    --
    Regards,
    Dmitry A. Kazakov
    http://www.dmitry-kazakov.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From AdaMagica@21:1/5 to Dmitry A. Kazakov on Fri Sep 3 00:32:23 2021
    Dmitry A. Kazakov schrieb am Donnerstag, 2. September 2021 um 22:10:13 UTC+2:
    I have a small Ada utility program converting an XPM image to Ada
    packages. E.g. open BMP in GIMP and export it as XPM.

    Thanks, I'll try it
    Christoph

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dmitry A. Kazakov@21:1/5 to AdaMagica on Thu Sep 9 18:03:09 2021
    On 2021-09-09 17:31, AdaMagica wrote:
    AdaMagica schrieb am Freitag, 3. September 2021 um 09:32:24 UTC+2:
    Dmitry A. Kazakov schrieb am Donnerstag, 2. September 2021 um 22:10:13 UTC+2:
    I have a small Ada utility program converting an XPM image to Ada
    packages. E.g. open BMP in GIMP and export it as XPM.
    Thanks, I'll try it
    Christoph
    Dmitry,
    I've produced the files Ada_9X_xpm-image.ads/adb .
    Problem is: Ada_9X_xpm.adb starts thus:

    with Gdk.Pixbuf.Conversions; <-- GNAT complains: file not found
    package body Ada_9X_xpm is

    Have I overlooked something in your documentation?

    It is a helper package from the GtkAda contributions:

    ----------------------------------
    -- GtkAda 2.14.2 introduced a backward incompatibility by making
    -- Gdk_Pixbuf a tagged type rather than plain pointer. This package is
    -- provided for backward compatibility of the GtkAda Contributions.
    --
    -- !!WARNING!! Use only with GtkAda >= 2.14.2
    --
    with Gdk.Pixbuf; use Gdk.Pixbuf;
    with GLib.Object; use GLib.Object;
    with System; use System;

    with Glib.Properties;
    with Gtk.Cell_Renderer_Pixbuf;

    package Gdk.Pixbuf.Conversions is
    --
    -- From_Address -- Ada object creation
    --
    -- Object - Obtained from a GDK call
    --
    -- Returns :
    --
    -- The Ada object
    --
    function From_Address (Object : Address) return Gdk_Pixbuf
    renames Convert;
    --
    -- To_Address -- Getting C object address
    --
    -- Object - An Ada object
    --
    -- Returns :
    --
    -- The C object's address
    --
    function To_Address
    ( Object : access GObject_Record'Class
    ) return Address renames GLib.Object.Get_Object;
    --
    -- Set_Pixbuf_Property -- Set pixbuf property
    --
    procedure Set_Pixbuf_Property
    ( Object : access GObject_Record'Class;
    Name : Glib.Properties.Property_Object :=
    Gtk.Cell_Renderer_Pixbuf.Pixbuf_Property;
    Value : access GObject_Record'Class
    ) renames Glib.Properties.Set_Property;

    subtype To_Value is Gdk_Pixbuf;

    end Gdk.Pixbuf.Conversions;
    ----------------------------------

    --
    Regards,
    Dmitry A. Kazakov
    http://www.dmitry-kazakov.de

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From AdaMagica@21:1/5 to AdaMagica on Thu Sep 9 08:31:30 2021
    AdaMagica schrieb am Freitag, 3. September 2021 um 09:32:24 UTC+2:
    Dmitry A. Kazakov schrieb am Donnerstag, 2. September 2021 um 22:10:13 UTC+2:
    I have a small Ada utility program converting an XPM image to Ada
    packages. E.g. open BMP in GIMP and export it as XPM.
    Thanks, I'll try it
    Christoph
    Dmitry,
    I've produced the files Ada_9X_xpm-image.ads/adb .
    Problem is: Ada_9X_xpm.adb starts thus:

    with Gdk.Pixbuf.Conversions; <-- GNAT complains: file not found
    package body Ada_9X_xpm is

    Have I overlooked something in your documentation?
    Christoph

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From AdaMagica@21:1/5 to Dmitry A. Kazakov on Sat Sep 11 06:35:08 2021
    Dmitry A. Kazakov schrieb am Donnerstag, 9. September 2021 um 18:03:11 UTC+2:
    It is a helper package from the GtkAda contributions:

    I replaced the call of your Gdk.Pixbuf.Conversions.From_Address in the generated file by
    the original Gdk.Pixbuf.Convert.

    The embedding works fine. Thanks again.
    Christoph

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)