Data update
This commit is contained in:
parent
5150844a7d
commit
4bb20c9b71
7735 changed files with 38060 additions and 199180 deletions
|
|
@ -1,92 +0,0 @@
|
|||
with Gtk.Main;
|
||||
with Gtk.Handlers;
|
||||
with Gtk.Label;
|
||||
with Gtk.Button;
|
||||
with Gtk.Window;
|
||||
with Glib.Main;
|
||||
|
||||
procedure Animation is
|
||||
Scroll_Forwards : Boolean := True;
|
||||
|
||||
package Button_Callbacks is new Gtk.Handlers.Callback
|
||||
(Gtk.Button.Gtk_Button_Record);
|
||||
|
||||
package Label_Timeout is new Glib.Main.Generic_Sources
|
||||
(Gtk.Label.Gtk_Label);
|
||||
|
||||
package Window_Callbacks is new Gtk.Handlers.Return_Callback
|
||||
(Gtk.Window.Gtk_Window_Record, Boolean);
|
||||
|
||||
-- Callback for click event
|
||||
procedure On_Button_Click
|
||||
(Object : access Gtk.Button.Gtk_Button_Record'Class);
|
||||
|
||||
-- Callback for delete event
|
||||
function On_Main_Window_Delete
|
||||
(Object : access Gtk.Window.Gtk_Window_Record'Class)
|
||||
return Boolean;
|
||||
|
||||
function Scroll_Text (Data : Gtk.Label.Gtk_Label) return Boolean;
|
||||
|
||||
procedure On_Button_Click
|
||||
(Object : access Gtk.Button.Gtk_Button_Record'Class)
|
||||
is
|
||||
pragma Unreferenced (Object);
|
||||
begin
|
||||
Scroll_Forwards := not Scroll_Forwards;
|
||||
end On_Button_Click;
|
||||
|
||||
function On_Main_Window_Delete
|
||||
(Object : access Gtk.Window.Gtk_Window_Record'Class)
|
||||
return Boolean
|
||||
is
|
||||
pragma Unreferenced (Object);
|
||||
begin
|
||||
Gtk.Main.Main_Quit;
|
||||
return True;
|
||||
end On_Main_Window_Delete;
|
||||
|
||||
function Scroll_Text (Data : Gtk.Label.Gtk_Label) return Boolean is
|
||||
Text : constant String := Gtk.Label.Get_Text (Data);
|
||||
begin
|
||||
if Scroll_Forwards then
|
||||
Gtk.Label.Set_Text
|
||||
(Label => Data,
|
||||
Str => Text (Text'First + 1 .. Text'Last) & Text (Text'First));
|
||||
else
|
||||
Gtk.Label.Set_Text
|
||||
(Label => Data,
|
||||
Str => Text (Text'Last) & Text (Text'First .. Text'Last - 1));
|
||||
end if;
|
||||
return True;
|
||||
end Scroll_Text;
|
||||
|
||||
Main_Window : Gtk.Window.Gtk_Window;
|
||||
Text_Button : Gtk.Button.Gtk_Button;
|
||||
Scrolling_Text : Gtk.Label.Gtk_Label;
|
||||
Timeout_ID : Glib.Main.G_Source_Id;
|
||||
pragma Unreferenced (Timeout_ID);
|
||||
|
||||
begin
|
||||
Gtk.Main.Init;
|
||||
Gtk.Window.Gtk_New (Window => Main_Window);
|
||||
Gtk.Label.Gtk_New (Label => Scrolling_Text, Str => "Hello World! ");
|
||||
Gtk.Button.Gtk_New (Button => Text_Button);
|
||||
Gtk.Button.Add (Container => Text_Button, Widget => Scrolling_Text);
|
||||
Button_Callbacks.Connect
|
||||
(Widget => Text_Button,
|
||||
Name => "clicked",
|
||||
Marsh => Button_Callbacks.To_Marshaller (On_Button_Click'Access));
|
||||
Timeout_ID :=
|
||||
Label_Timeout.Timeout_Add
|
||||
(Interval => 125,
|
||||
Func => Scroll_Text'Access,
|
||||
Data => Scrolling_Text);
|
||||
Gtk.Window.Add (Container => Main_Window, Widget => Text_Button);
|
||||
Window_Callbacks.Connect
|
||||
(Widget => Main_Window,
|
||||
Name => "delete_event",
|
||||
Marsh => Window_Callbacks.To_Marshaller (On_Main_Window_Delete'Access));
|
||||
Gtk.Window.Show_All (Widget => Main_Window);
|
||||
Gtk.Main.Main;
|
||||
end Animation;
|
||||
Loading…
Add table
Add a link
Reference in a new issue