OpenCores
URL https://opencores.org/ocsvn/an-fpga-implementation-of-low-latency-noc-based-mpsoc/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk

Subversion Repositories an-fpga-implementation-of-low-latency-noc-based-mpsoc

[/] [an-fpga-implementation-of-low-latency-noc-based-mpsoc/] [trunk/] [mpsoc/] [perl_gui/] [lib/] [perl/] [temp.pl] - Blame information for rev 24

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 24 alirezamon
 
2 16 alirezamon
use Glib qw/TRUE FALSE/;
3 24 alirezamon
use Gtk2 '-init';
4 16 alirezamon
 
5 24 alirezamon
our $spinner1;
6 16 alirezamon
 
7 24 alirezamon
sub get_value
8
{
9
        my ($button, $format) = @_;
10 16 alirezamon
 
11 24 alirezamon
        if ('int' eq $format)
12
        {
13
                $button->{val_label}->set_text (sprintf ("%d",
14
                                $spinner1->get_value_as_int));
15
        }
16
        else
17
        {
18
                $button->{val_label}->set_text (sprintf ("%0.*f",
19
                                $spinner1->get_digits,
20
                                $spinner1->get_value));
21
        }
22
}
23 16 alirezamon
 
24 24 alirezamon
$window = Gtk2::Window->new ('toplevel');
25
$window->signal_connect (destroy => sub { Gtk2->main_quit; 0; });
26
$window->set_title ("Spin Button");
27 16 alirezamon
 
28 24 alirezamon
$main_vbox = Gtk2::VBox->new (FALSE, 5);
29
$main_vbox->set_border_width (10);
30
$window->add ($main_vbox);
31 16 alirezamon
 
32 24 alirezamon
$frame = Gtk2::Frame->new ("Not accelerated");
33
$main_vbox->pack_start ($frame, TRUE, TRUE, 0);
34 16 alirezamon
 
35 24 alirezamon
$vbox = Gtk2::VBox->new (FALSE, 0);
36
$vbox->set_border_width (10);
37
$frame->add ($vbox);
38 16 alirezamon
 
39 24 alirezamon
# Day, month, year spinners
40
$hbox = Gtk2::HBox->new (FALSE, 0);
41
$vbox->pack_start ($hbox, TRUE, TRUE, 5);
42 16 alirezamon
 
43 24 alirezamon
$vbox2 = Gtk2::VBox->new (FALSE, 0);
44
$hbox->pack_start ($vbox2, TRUE, TRUE, 5);
45 16 alirezamon
 
46 24 alirezamon
$label = Gtk2::Label->new ("Day :");
47
$label->set_alignment (0.0, 0.5);       # left halignment, middle valignment
48
$vbox2->pack_start ($label, FALSE, TRUE, 0);
49 16 alirezamon
 
50 24 alirezamon
$adj = Gtk2::Adjustment->new (1.0, 1.0, 31.0, 1.0, 5.0, 0.0);
51
$spinner = Gtk2::SpinButton->new ($adj, 0, 0);
52
$spinner->set_wrap (TRUE);
53
$vbox2->pack_start ($spinner, FALSE, TRUE, 0);
54 16 alirezamon
 
55 24 alirezamon
$vbox2 = Gtk2::VBox->new (FALSE, 0);
56
$hbox->pack_start ($vbox2, TRUE, TRUE, 5);
57 16 alirezamon
 
58 24 alirezamon
$label = Gtk2::Label->new ("Month :");
59
$label->set_alignment (0.0, 0.5);       # left halignment, middle valignment
60
$vbox2->pack_start ($label, FALSE, TRUE, 0);
61 16 alirezamon
 
62 24 alirezamon
$adj = Gtk2::Adjustment->new (1.0, 1.0, 12.0, 1.0, 5.0, 0.0);
63
$spinner = Gtk2::SpinButton->new ($adj, 0, 0);
64
$spinner->set_wrap (TRUE);
65
$vbox2->pack_start ($spinner, FALSE, TRUE, 0);
66 16 alirezamon
 
67 24 alirezamon
$vbox2 = Gtk2::VBox->new (FALSE, 0);
68
$hbox->pack_start ($vbox2, TRUE, TRUE, 5);
69
 
70
$label = Gtk2::Label->new ("Year :");
71
$label->set_alignment (0.0, 0.5);       # left halignment, middle valignment
72
$vbox2->pack_start ($label, FALSE, TRUE, 0);
73
 
74
$adj = Gtk2::Adjustment->new (1998.0, 1.0, 2100.0, 1.0, 100.0, 0.0);
75
$spinner = Gtk2::SpinButton->new ($adj, 0, 0);
76
$spinner->set_wrap (TRUE);
77
$spinner->set_size_request (55, -1);
78
$vbox2->pack_start ($spinner, FALSE, TRUE, 0);
79
 
80
$frame = Gtk2::Frame->new ("Accelerated");
81
$main_vbox->pack_start ($frame, TRUE, TRUE, 0);
82
 
83
$vbox = Gtk2::VBox->new (FALSE, 0);
84
$vbox->set_border_width (5);
85
$frame->add ($vbox);
86
 
87
$hbox = Gtk2::HBox->new (FALSE, 0);
88
$vbox->pack_start ($hbox, TRUE, TRUE, 5);
89
 
90
$vbox2 = Gtk2::VBox->new (FALSE, 0);
91
$hbox->pack_start ($vbox2, TRUE, TRUE, 5);
92
 
93
$label = Gtk2::Label->new ("Value :");
94
$label->set_alignment (0.0, 0.5);       # left halignment, middle valignment
95
$vbox2->pack_start ($label, FALSE, TRUE, 0);
96
 
97
$adj = Gtk2::Adjustment->new (0.0, -10000.0, 10000.0, 0.5, 100.0, 0.0);
98
$spinner1 = Gtk2::SpinButton->new ($adj, 1.0, 2);
99
$spinner1->set_wrap (TRUE);
100
$spinner1->set_size_request (100, -1);
101
$vbox2->pack_start ($spinner1, FALSE, TRUE, 0);
102
 
103
$vbox2 = Gtk2::VBox->new (FALSE, 0);
104
$hbox->pack_start ($vbox2, TRUE, TRUE, 5);
105
 
106
$label = Gtk2::Label->new ("Digits :");
107
$label->set_alignment (0.0, 0.5);       # left halignment, middle valignment
108
$vbox2->pack_start ($label, FALSE, TRUE, 0);
109
 
110
$adj = Gtk2::Adjustment->new (2, 1, 5, 1, 1, 0);
111
$spinner2 = Gtk2::SpinButton->new ($adj, 0.0, 0);
112
$spinner2->set_wrap (TRUE);
113
$adj->signal_connect (value_changed => sub {
114
                $spinner1->set_digits ($spinner2->get_value_as_int ());
115
        });
116
$vbox2->pack_start ($spinner2, FALSE, TRUE, 0);
117
 
118
$button = Gtk2::CheckButton->new ("Snap to 0.5-ticks");
119
$button->signal_connect (clicked => sub {
120
                $spinner1->set_snap_to_ticks ($_[0]->get_active);
121
        });
122
$vbox->pack_start ($button, TRUE, TRUE, 0);
123
$button->set_active (TRUE);
124
 
125
$button = Gtk2::CheckButton->new ("Numeric only input mode");
126
$button->signal_connect (clicked => sub {
127
                $spinner1->set_numeric ($_[0]->get_active);
128
        });
129
$vbox->pack_start ($button, TRUE, TRUE, 0);
130
$button->set_active (TRUE);
131
 
132
$val_label = Gtk2::Label->new ("");
133
 
134
$hbox = Gtk2::HBox->new (FALSE, 0);
135
$vbox->pack_start ($hbox, FALSE, TRUE, 5);
136
$button = Gtk2::Button->new ("Value as Int");
137
$button->{val_label} = $val_label;
138
$button->signal_connect (clicked => \&get_value, 'int');
139
$hbox->pack_start ($button, TRUE, TRUE, 5);
140
 
141
$button = Gtk2::Button->new ("Value as Float");
142
$button->{val_label} = $val_label;
143
$button->signal_connect (clicked => \&get_value, 'float');
144
$hbox->pack_start ($button, TRUE, TRUE, 5);
145
 
146
$vbox->pack_start ($val_label, TRUE, TRUE, 0);
147
$val_label->set_text ("0");
148
 
149
$hbox = Gtk2::HBox->new (FALSE, 0);
150
$main_vbox->pack_start ($hbox, FALSE, TRUE, 0);
151
 
152
$button = Gtk2::Button->new ("Close");
153
$button->signal_connect (clicked => sub { $window->destroy; });
154
$hbox->pack_start ($button, TRUE, TRUE, 0);
155
 
156
$window->show_all;
157
 
158
Gtk2->main;
159
 
160
0;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.