1
  
2
  
3
  
4
  
5
  
6
  
7
  
8
  
9
  
10
  
11
  
12
  
13
  
14
  
15
  
16
  
17
  
18
  
19
  
20
  
21
  
22
  
23
  
24
  
25
  
26
  
27
  
28
  
29
  
30
  
31
  
32
  
33
  
34
  
35
  
36
  
37
  
38
  
39
  
40
  
41
  
42
  
43
  
44
  
45
  
46
  
47
  
48
  
49
  
50
  
51
  
52
  
53
  
54
  
55
  
56
  
57
  
58
  
59
  
60
  
61
  
62
  
63
  
64
  
65
  
66
  
67
  
68
  
69
  
70
  
71
  
72
  
73
  
74
  
75
  
76
  
77
  
78
  
79
  
80
  
81
  
82
  
83
  
84
  
85
  
86
  
87
  
88
  
89
  
90
  
91
  
92
  
93
  
94
  
95
  
96
  
97
  
98
  
99
  
100
  
101
  
102
  
103
  
104
  
105
  
106
  
107
  
108
  
109
  
110
  
111
  
112
  
113
  
114
  
115
  
116
  
117
  
118
  
119
  
120
  
121
  
122
  
123
  
124
  
125
  
126
  
class GTK2.Button; 
inherit GTK2.Bin; 
 
//! A container that can only contain one child, and accepts events. 
//! draws a bevelbox around itself. 
//! IMG: GTK2.Button("A button") 
//! IMG: GTK2.Button("A button\nwith multiple lines\nof text") 
//! IMG: GTK2.Button()->add(GTK2.Image(GDK2.Image(0)->set(Image.image(100,40)->test()))) 
 
//! Properties: 
//! int focus-on-click 
//! GTK2.Widget image 
//! string label 
//! int relief 
//! int use-stock 
//! int use-underline 
require gtk24; 
//! float xalign 
//! float yalign 
endrequire; 
//! <p> 
//! Style properties: 
//! int child-displacement-x 
//! int child-displacement-y 
//! GTK2.Border default-border 
//! GTK2.Border default-outside-border 
require gtk26; 
//! int displace-focus 
endrequire; 
 
signal activate; 
signal pressed; 
//! Called when the button is pressed 
signal released; 
//! Called when the button is released 
signal clicked; 
//! Called when the button is pressed, and then released 
signal enter; 
//! Called when the mouse enters the button 
signal leave; 
//! Called when the mouse leaves the button 
 
void create(?string label_text) 
//! If a string is supplied, a W(Label) is created and added to the button. 
{ 
  pgtk_verify_not_inited(); 
  pgtk_verify_setup(); 
  if(args) { 
    gchar *s=PGTK_GETSTR(Pike_sp-args); 
    if (s) { 
/*      THIS->obj=G_OBJECT(gtk_button_new_with_label(s)); */ 
/* Add a stock button if we can, otherwise add mnemonic button */ 
      THIS->obj=G_OBJECT(gtk_button_new_from_stock(s)); 
      PGTK_FREESTR(s); 
    } else 
      THIS->obj=G_OBJECT(gtk_button_new()); 
    my_pop_n_elems(args); 
  } else { 
    THIS->obj=G_OBJECT(gtk_button_new()); 
  } 
  pgtk__init_this_object(); 
/*  fprintf(stderr,"gtk.button: obj==%p\n",THIS->obj); */ 
} 
 
void pressed(); 
//! Emulate a 'press' event. 
 
void released(); 
//! Emulate a 'release' event. 
 
void clicked(); 
//! Emulate a 'clicked' event (press followed by release). 
 
void enter(); 
//! Emulate a 'enter' event. 
 
void leave(); 
//! Emulate a 'leave' event. 
 
void set_relief( int newstyle ); 
//! One of CONST(GTK_RELIEF) 
 
int get_relief(); 
//! One of CONST(GTK_RELIEF), set with set_relief() 
 
string get_label(); 
//! Get the text from the label of the button. 
 
void set_label(string label); 
//! Set the text of the label. 
 
int get_use_stock(); 
//! Returns whether the button label is a stock item. 
 
void set_use_stock(int use_stock); 
//! If true, the label set on the button is used as a stock id 
//! to select the stock item for the button. 
 
int get_use_underline(); 
//! Returns whether an embedded underline in the button indicates 
//! a mnemonic. 
 
void set_use_underline(int use_underline); 
//! If true, an underline in the text of the button label indicates the 
//! next character should be used for the mnemonic accelerator key. 
 
require gtk24; 
void set_focus_on_click(int focus_on_click); 
//! Sets whether the button will grab focus when it is clicked. 
 
int get_focus_on_click(); 
//! Returns whether the button grabs focus when it is clicked. 
 
void set_alignment(float xalign, float yalign); 
//! Sets the alignment of the child. 
endrequire; 
 
require gtk26; 
void set_image(GTK2.Widget widget); 
//! Set the image of the button to the given widget.  Note that it depends on 
//! the gtk-button-images setting whether the image will be displayed or not. 
 
GTK2.Widget get_image(); 
//! Gets the widget that is currently set as the image of the button. 
endrequire;