[Gtk-sharp-list] SpinButton troubles with gtksharglue calls.
Alejandro Sánchez Acosta
raciel@x0und.net
15 Dec 2002 15:47:25 +0000
--=-SWabxS3KEbGK2sWOkza8
Content-Type: multipart/mixed; boundary="=-FQpcdKaJgaYA+XtVT09W"
--=-FQpcdKaJgaYA+XtVT09W
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
Hi!
I have made a SpinButton sample for the GTK# tutorial and I have the
following troubles with that:
It compiles but in runtime it happens the following errors:
raciel@voyager:~/mono/tutorial/spinbutton$ mono SpinButton.exe=20
** (SpinButton.exe:16425): WARNING **: Failed to load function
gtksharp_get_type_id from libgtksharpglue.so
** (SpinButton.exe:16425): WARNING **: Failed to load function
gtksharp_is_object from gtksharpglue
** (SpinButton.exe:16425): WARNING **: Failed to load function
gtksharp_object_get_ref_count from gtksharpglue
** (SpinButton.exe:16425): WARNING **: Failed to load function
gtksharp_object_is_floating from gtksharpglue
** (SpinButton.exe:16425): WARNING **: Failed to load function
gtksharp_gtk_widget_get_allocation from gtksharpglue
** (SpinButton.exe:16425): WARNING **: Failed to load function
gtksharp_gtk_widget_get_window from gtksharpglue
** (SpinButton.exe:16425): WARNING **: Failed to load function
gtksharp_gtk_adjustment_set_bounds from gtksharpglue
** (SpinButton.exe:16425): WARNING **: Failed to load function
gtksharp_gtk_adjustment_get_lower from gtksharpglue
** (SpinButton.exe:16425): WARNING **: Failed to load function
gtksharp_gtk_adjustment_get_upper from gtksharpglue
** (SpinButton.exe:16425): WARNING **: Failed to load function
gtksharp_gtk_adjustment_get_step_increment from gtksharpglue
** (SpinButton.exe:16425): WARNING **: Failed to load function
gtksharp_gtk_adjustment_get_page_increment from gtksharpglue
** (SpinButton.exe:16425): WARNING **: Failed to load function
gtksharp_gtk_adjustment_set_page_increment from gtksharpglue
** (SpinButton.exe:16425): WARNING **: Failed to load function
gtksharp_gtk_adjustment_get_page_size from gtksharpglue
** (SpinButton.exe:16425): WARNING **: Failed to load function
gtksharp_gtk_adjustment_set_page_size from gtksharpglue
Then happpens a nice SIGSEGV!
Maybe a trouble with gtksharpglue code? Anybody can test this code?
I attach the spinbutton sample.
Cheers
--=20
Alejandro Sanchez Acosta
raciel@es.gnu.org GNU Spain is not Unix.
raciel@gnome.org GNOME the GNU Desktop.
--=-FQpcdKaJgaYA+XtVT09W
Content-Disposition: attachment; filename=SpinButton.cs
Content-Type: text/plain; name=SpinButton.cs; charset=ISO-8859-15
Content-Transfer-Encoding: quoted-printable
// SpinButton.cs - Gtk# Tutorial example
//
// Author: Alejandro S=E1nchez Acosta <raciel@es.gnu.org>
// Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>
//
// (c) 2002 Alejandro S=E1nchez Acosta
namespace GtkSharpTutorial {
using Gtk;
using GtkSharp;
using System;
using System.Drawing;
using System.Text;=20
public class SpinButtonSample
{
static Gtk.Window window;
static Frame frame;
static HBox hbox;=20
static VBox main_vbox;
static VBox vbox;
static VBox vbox2;
static SpinButton spinner;
static SpinButton spinner1;
static SpinButton spinner2;
static Button button;
static Label label;
static Label val_label;
static Adjustment adj;
=09
static void toggle_snap (object obj, EventArgs args)
{
spinner1.SnapToTicks =3D ((ToggleButton) obj).Active;
}
=09
static void toggle_numeric (object obj, EventArgs args)
{
spinner1.Numeric =3D ((ToggleButton) obj).Active;
}
// FIXME: exception emitted when called.
static void change_digits (object obj, EventArgs args)
{
spinner1.Digits =3D (uint) ((SpinButton) obj).ValueAsInt;
}
static void get_value (object obj, EventArgs args)
{
StringBuilder buff;
Label label;
SpinButton spin;
=09
spin =3D spinner1;
buff =3Dnew StringBuilder ("ERROR");
label =3D new Label ("1");
label.Text =3D buff.ToString ();
}
=09
static void delete_event (object obj, DeleteEventArgs args)
{
SignalArgs sa =3D (SignalArgs) args;
Application.Quit();
sa.RetVal =3D true;
}
static void exitbutton_event (object obj, EventArgs args)
{
Application.Quit();
}
public static void Main (string[] args)
{
Application.Init();
=09
window =3D new Gtk.Window ("SpinButton#");
window.DeleteEvent +=3D new DeleteEventHandler (delete_event);
=09
main_vbox =3D new VBox (false, 5);
main_vbox.BorderWidth =3D 10;
window.Add (main_vbox);
frame =3D new Frame ("Not accelerated");
main_vbox.PackStart (frame, true, true, 0);
vbox =3D new VBox (false, 0);
vbox.BorderWidth =3D 5;
frame.Add (vbox);
// Day, month, year spinners=20
hbox =3D new HBox (false, 0);
vbox.PackStart (hbox, true, true, 5);
vbox2 =3D new VBox (false, 0);
hbox.PackStart (vbox2, true, true, 5);
label =3D new Label ("Day :");
((Gtk.Misc) label).SetAlignment ((float) 0.0, (float) 0.5);
vbox2.PackStart (label, false, true, 0);
adj =3D new Adjustment (1.0, 1.0, 31.0, 1.0, 5.0, 0.0);
spinner =3D new SpinButton (adj, 0, 0);
spinner.Wrap =3D true;
vbox2.PackStart (spinner, false, true, 0);
vbox2 =3D new VBox (false, 0);
hbox.PackStart (vbox2, true, true, 5);
label =3D new Label ("Month :");
((Gtk.Misc) label).SetAlignment ((float) 0.0, (float) 0.5);
vbox2.PackStart (label, false, true, 0);
adj =3D new Adjustment (1.0, 1.0, 12.0, 1.0,
5.0, 0.0);
=09
spinner =3D new SpinButton (adj, 0, 0);
spinner.Wrap =3D true;
vbox2.PackStart (spinner, false, true, 0);
vbox2 =3D new VBox (false, 0);
hbox.PackStart (vbox2, true, true, 5);
label =3D new Label ("Year :");
((Gtk.Misc) label).SetAlignment ((float) 0.0, (float) 0.5);
vbox2.PackStart (label, false, true, 0);
adj =3D new Adjustment (1998.0, 0.0, 2100.0, 1.0, 100.0, 0.0);
spinner =3D new SpinButton (adj, 0, 0);
spinner.Wrap =3D false;
spinner.SetSizeRequest (55, -1);
vbox2.PackStart (spinner, false, true, 0);
frame =3D new Frame ("Accelerated");
main_vbox.PackStart (frame, true, true, 0);
vbox =3D new VBox (false, 0);
vbox.BorderWidth =3D 5;
frame.Add (vbox);
hbox =3D new HBox (false, 0);
vbox.PackStart (hbox, false, true, 5);
vbox2 =3D new VBox (false, 0);
hbox.PackStart (vbox2, true, true, 5);
label =3D new Label ("Value :");
((Gtk.Misc) label).SetAlignment ((float) 0.0, (float) 0.5);
vbox2.PackStart (label, false, true, 0);
adj =3D new Adjustment (0.0, -10000.0, 10000.0, 0.5, 100.0, 0.0);
=09
spinner1 =3D new SpinButton (adj, 1.0, 2);
spinner1.Wrap =3D true;
spinner1.SetSizeRequest (100, -1);
vbox2.PackStart (spinner1, false, true, 0);
vbox2 =3D new VBox (false, 0);
hbox.PackStart (vbox2, true, true, 5);
label =3D new Label ("Digits :");
((Gtk.Misc) label).SetAlignment ((float) 0, (float) 0.5);
vbox2.PackStart (label, false, true, 0);
adj =3D new Adjustment (2, 1, 5, 1, 1, 0);
=09
spinner2 =3D new SpinButton (adj, 0.0, 0);
spinner2.Wrap =3D true;
=09
adj.ValueChanged +=3D new EventHandler (change_digits);
vbox2.PackStart (spinner2, false, true, 0);
hbox =3D new HBox (false, 0);
vbox.PackStart (hbox, false, true, 5);
button =3D new CheckButton ("Snap to 0.5-ticks");
button.Clicked +=3D new EventHandler (toggle_snap);
vbox.PackStart (button, true, true, 0);
((Gtk.ToggleButton) button).Active =3D true;
button =3D new CheckButton ("Numeric only input mode");
button.Clicked +=3D new EventHandler (toggle_numeric);
vbox.PackStart (button, true, true, 0);
((Gtk.ToggleButton) button).Active =3D true;
val_label =3D new Label ("");
hbox =3D new HBox (false, 0);
vbox.PackStart (hbox, false, true, 5);
button =3D new Button ("Value as Int");
button.SetData ("user_data", val_label);
button.Clicked +=3D new EventHandler (get_value);
hbox.PackStart (button, true, true, 5);
button =3D new Button ("Value as Float");
button.SetData ("user_data", val_label);
button.Clicked +=3D new EventHandler (get_value);
hbox.PackStart (button, true, true, 5);
label.Text =3D "0";
vbox.PackStart (val_label, true, true, 0);
val_label.Text =3D "0";
=09
hbox =3D new HBox (false, 0);
main_vbox.PackStart (hbox, false, true, 0);
button =3D new Button ("Close");
button.Clicked +=3D new EventHandler (exitbutton_event);
=09
hbox.PackStart (button, true, true, 5);
window.ShowAll();
=09
Application.Run ();
}
}
}
--=-FQpcdKaJgaYA+XtVT09W--
--=-SWabxS3KEbGK2sWOkza8
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: Esta parte del mensaje esta firmada digitalmente
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQA9/KQNsgoaWknonh4RAuDDAJwIkL64yEbLN8WuSAqgwnBCGrNhDACghi06
3aAn2efMFvY2lIkaldH370U=
=zMBc
-----END PGP SIGNATURE-----
--=-SWabxS3KEbGK2sWOkza8--