88
90
static void gedit_panel_constructed (GObject *object);
90
G_DEFINE_TYPE(GeditPanel, gedit_panel, GTK_TYPE_VBOX)
92
G_DEFINE_TYPE(GeditPanel, gedit_panel, GTK_TYPE_BIN)
93
95
gedit_panel_finalize (GObject *object)
108
110
case PROP_ORIENTATION:
109
g_value_set_enum(value, panel->priv->orientation);
111
g_value_set_enum (value, panel->priv->orientation);
112
114
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
164
gedit_panel_get_size (GtkWidget *widget,
165
GtkOrientation orientation,
169
GtkBin *bin = GTK_BIN (widget);
178
child = gtk_bin_get_child (bin);
179
if (child && gtk_widget_get_visible (child))
181
if (orientation == GTK_ORIENTATION_HORIZONTAL)
183
gtk_widget_get_preferred_width (child, minimum, natural);
187
gtk_widget_get_preferred_height (child, minimum, natural);
193
gedit_panel_get_preferred_width (GtkWidget *widget,
197
gedit_panel_get_size (widget, GTK_ORIENTATION_HORIZONTAL, minimum, natural);
201
gedit_panel_get_preferred_height (GtkWidget *widget,
205
gedit_panel_get_size (widget, GTK_ORIENTATION_VERTICAL, minimum, natural);
209
gedit_panel_size_allocate (GtkWidget *widget,
210
GtkAllocation *allocation)
212
GtkBin *bin = GTK_BIN (widget);
215
GTK_WIDGET_CLASS (gedit_panel_parent_class)->size_allocate (widget, allocation);
217
child = gtk_bin_get_child (bin);
218
if (child && gtk_widget_get_visible (child))
220
gtk_widget_size_allocate (child, allocation);
162
225
gedit_panel_grab_focus (GtkWidget *w)
164
227
GeditPanel *panel = GEDIT_PANEL (w);
190
253
object_class->get_property = gedit_panel_get_property;
191
254
object_class->set_property = gedit_panel_set_property;
193
g_object_class_install_property (object_class,
195
g_param_spec_enum ("orientation",
197
"The panel's orientation",
198
GTK_TYPE_ORIENTATION,
199
GTK_ORIENTATION_VERTICAL,
201
G_PARAM_CONSTRUCT_ONLY |
202
G_PARAM_STATIC_STRINGS));
256
widget_class->get_preferred_width = gedit_panel_get_preferred_width;
257
widget_class->get_preferred_height = gedit_panel_get_preferred_height;
258
widget_class->size_allocate = gedit_panel_size_allocate;
204
259
widget_class->grab_focus = gedit_panel_grab_focus;
206
261
klass->close = gedit_panel_close;
207
262
klass->focus_document = gedit_panel_focus_document;
264
g_object_class_install_property (object_class,
266
g_param_spec_enum ("orientation",
268
"The panel's orientation",
269
GTK_TYPE_ORIENTATION,
270
GTK_ORIENTATION_VERTICAL,
272
G_PARAM_CONSTRUCT_ONLY |
273
G_PARAM_STATIC_STRINGS));
209
275
signals[ITEM_ADDED] =
210
276
g_signal_new ("item_added",
211
277
G_OBJECT_CLASS_TYPE (klass),
386
452
gedit_panel_init (GeditPanel *panel)
388
454
panel->priv = GEDIT_PANEL_GET_PRIVATE (panel);
456
panel->priv->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
457
gtk_widget_show (panel->priv->main_box);
458
gtk_container_add (GTK_CONTAINER (panel), panel->priv->main_box);
439
509
GtkWidget *sidebar;
440
510
GtkWidget *close_button;
442
box = gtk_hbox_new(FALSE, 0);
512
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
444
514
gtk_box_pack_start (GTK_BOX (box),
445
515
panel->priv->notebook,
450
520
/* Toolbar, close button and first separator */
451
sidebar = gtk_vbox_new(FALSE, 6);
521
sidebar = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
452
522
gtk_container_set_border_width (GTK_CONTAINER (sidebar), 4);
454
524
gtk_box_pack_start (GTK_BOX (box),
483
553
GtkWidget *dummy_label;
485
555
/* Create title hbox */
486
title_hbox = gtk_hbox_new (FALSE, 6);
556
title_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
487
557
gtk_container_set_border_width (GTK_CONTAINER (title_hbox), 5);
489
gtk_box_pack_start (GTK_BOX (panel), title_hbox, FALSE, FALSE, 0);
559
gtk_box_pack_start (GTK_BOX (panel->priv->main_box), title_hbox,
491
icon_name_hbox = gtk_hbox_new (FALSE, 0);
562
icon_name_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
492
563
gtk_box_pack_start (GTK_BOX (title_hbox),
595
666
/* set hbox spacing and label padding (see below) so that there's an
596
667
* equal amount of space around the label */
597
hbox = gtk_hbox_new (FALSE, 4);
668
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4);
599
670
label_ebox = gtk_event_box_new ();
600
671
gtk_event_box_set_visible_window (GTK_EVENT_BOX (label_ebox), FALSE);
601
672
gtk_box_pack_start (GTK_BOX (hbox), label_ebox, TRUE, TRUE, 0);
603
label_hbox = gtk_hbox_new (FALSE, 4);
674
label_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4);
604
675
gtk_container_add (GTK_CONTAINER (label_ebox), label_hbox);