From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Error converting from UTF8 to ISO-8859-1
Date: Thu, 30 Jul 2009 17:01:58 +0200
Date: 2009-07-30T17:01:56+02:00 [thread overview]
Message-ID: <1k4t22qb76xtx.rde9b5zvltd0.dlg@40tude.net> (raw)
In-Reply-To: 4a717cbf$0$31793$703f8584@news.kpn.nl
On Thu, 30 Jul 2009 12:58:15 +0200, ldries46 wrote:
> My only interest at this moment is to find the reason for the Error messages
> and the way to avoid them. The way to activate the buttons is something I
> try to discover myself because I want to understand what I do
Your code contains errors. Wall_Color_Pkg:
----------------------------------------------------
with Glib; use Glib;
with Gtk; use Gtk;
with Gdk.Types; use Gdk.Types;
with Gtk.Widget; use Gtk.Widget;
with Gtk.Window; use Gtk.Window;
with Gtk.Enums; use Gtk.Enums;
with Gtk.Button; use Gtk.Button;
with Gtk.Color_Selection; use Gtk.Color_Selection;
with Gtk.Handlers; use Gtk.Handlers;
with Gtkada.Handlers; use Gtkada.Handlers;
with Callbacks_Escape; use Callbacks_Escape;
with Escape_Intl; use Escape_Intl;
--with Escape_Pkg.Callbacks; use Escape_Pkg.Callbacks;
package body Wall_Color_Pkg is
package Button_Callback is new Gtk.Handlers.User_Callback
-- This is User_Callback ^^^^^^^^^^^^^^^^^^^^^
(Gtk_Button_Record, Gtk_Window);
procedure On_WallFloorOK_Activate(Object : access
GTK_Button_Record'Class) is
begin
null;
end;
procedure Gtk_New (Wall_Color : out Wall_Color_Access) is
begin
Wall_Color := new Wall_Color_Record;
Wall_Color_Pkg.Initialize (Wall_Color);
end Gtk_New;
procedure Initialize (Wall_Color : access Wall_Color_Record'Class) is
pragma Suppress (All_Checks);
Pixmaps_Dir : constant String := "pixmaps/";
ColorSelection : Gtk_Color_Selection;
OK : Gtk_Button;
Cancel : Gtk_Button;
Help : Gtk_Button;
begin
Gtk.Color_Selection_Dialog.Initialize (Wall_Color, -"Wall Color");
Set_Border_Width (Wall_Color, 5);
Set_Title (Wall_Color, -"Wall Color");
Set_Position (Wall_Color, Win_Pos_None);
Set_Modal (Wall_Color, False);
Set_Resizable (Wall_Color, False);
ColorSelection := Get_ColorSel (Wall_Color );
OK := Get_OK_Button (Wall_Color);
Cancel := Get_Cancel_Button (Wall_Color);
Help := Get_Help_Button (Wall_Color);
Set_Current_Color( ColorSelection, Current_Color );
Button_CallBack.Connect(OK, "clicked",
On_WallFloorOK_Activate'Access);
-- This connects to plain Gtk.Handlers.Callback ^^
end Initialize;
procedure Set_Wall_Color( Red : in Guint16; Green : in Guint16; Blue :
in Guint16 ) is
begin
Set_Rgb(Current_Color, Red, Green, Blue);
end;
end Wall_Color_Pkg;
----------------------------------------------------
I have no idea what you are trying to achieve, but using
Gtk.Handlers.User_Callback could go as follows:
----------------------------------------------------
with Gtk.Enums; use Gtk.Enums;
with Gtk.Button; use Gtk.Button;
with Gtk.Color_Selection; use Gtk.Color_Selection;
with Gtk.Handlers; use Gtk.Handlers;
with Escape_Intl; use Escape_Intl;
package body Wall_Color_Pkg is
package Button_Callback is
new Gtk.Handlers.User_Callback
( Gtk_Button_Record,
Wall_Color_Access
);
procedure On_WallFloorOK_Activate
( Button : access GTK_Button_Record'Class;
Widget : Wall_Color_Access
) is
begin
null;
end;
procedure Gtk_New (Wall_Color : out Wall_Color_Access) is
begin
Wall_Color := new Wall_Color_Record;
Wall_Color_Pkg.Initialize (Wall_Color);
end Gtk_New;
procedure Initialize (Wall_Color : access Wall_Color_Record'Class) is
ColorSelection : Gtk_Color_Selection;
OK : Gtk_Button;
Cancel : Gtk_Button;
Help : Gtk_Button;
begin
Gtk.Color_Selection_Dialog.Initialize (Wall_Color, -"Wall Color");
Set_Border_Width (Wall_Color, 5);
Set_Title (Wall_Color, -"Wall Color");
Set_Position (Wall_Color, Win_Pos_None);
Set_Modal (Wall_Color, False);
Set_Resizable (Wall_Color, False);
ColorSelection := Get_ColorSel (Wall_Color );
OK := Get_OK_Button (Wall_Color);
Cancel := Get_Cancel_Button (Wall_Color);
Help := Get_Help_Button (Wall_Color);
Set_Current_Color( ColorSelection, Current_Color );
Button_CallBack.Connect
( OK,
"clicked",
Button_CallBack.To_Marshaller (On_WallFloorOK_Activate'Access),
Wall_Color.all'Unchecked_Access
);
end Initialize;
procedure Set_Wall_Color( Red : in Guint16; Green : in Guint16; Blue :
in Guint16 ) is
begin
Set_Rgb(Current_Color, Red, Green, Blue);
end;
end Wall_Color_Pkg;
----------------------------------------------------
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2009-07-30 15:01 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-29 15:11 Error converting from UTF8 to ISO-8859-1 ldries46
2009-07-29 15:55 ` Dmitry A. Kazakov
2009-07-29 16:46 ` ldries46
2009-07-29 17:20 ` Dmitry A. Kazakov
[not found] ` <4a717cbf$0$31793$703f8584@news.kpn.nl>
2009-07-30 15:01 ` Dmitry A. Kazakov [this message]
2009-07-30 15:08 ` Dmitry A. Kazakov
2009-08-06 8:50 ` ldries46
2009-08-06 10:03 ` Dmitry A. Kazakov
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox