2 /* This file is part of the Linux Trace Toolkit viewer
3 * Copyright (C) 2003-2004 Xiangxiu Yang
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License Version 2 as
7 * published by the Free Software Foundation;
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
20 #ifndef __GTK_MULTI_VPANED_H__
21 #define __GTK_MULTI_VPANED_H__
25 #include <glib-object.h>
27 #include <gtk/gtkcontainer.h>
28 #include <lttvwindow/mainwindow.h> // for TimeWindow
32 #endif /* __cplusplus */
35 #define GTK_TYPE_MULTI_VPANED (gtk_multi_vpaned_get_type ())
36 #define GTK_MULTI_VPANED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_MULTI_VPANED, GtkMultiVPaned))
37 #define GTK_MULTI_VPANED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_MULTI_VPANED, GtkMultiVPanedClass))
38 #define GTK_IS_MULTI_VPANED(obj ) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_MULTI_VPANED))
39 #define GTK_IS_MULTI_VPANED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_MULTI_VPANED))
40 #define GTK_MULTI_VPANED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_MULTI_VPANED, GtkMultiVPanedClass))
42 typedef struct _GtkMultiVPaned GtkMultiVPaned;
43 typedef struct _GtkMultiVPanedClass GtkMultiVPanedClass;
45 struct _GtkMultiVPaned
50 GtkPaned * first_pane;
52 GtkPaned * focused_pane;
57 // GtkWidget * scrollWindow;
58 // GtkWidget * viewport;
59 GtkWidget * hscrollbar;
60 GtkAdjustment *hadjust;
63 struct _GtkMultiVPanedClass
65 GtkPanedClass parent_class;
69 GType gtk_multi_vpaned_get_type (void) G_GNUC_CONST;
70 GtkWidget* gtk_multi_vpaned_new (void);
72 void gtk_multi_vpaned_set_focus (GtkWidget * widget, GtkPaned *Paned);
73 void gtk_multi_vpaned_widget_add(GtkMultiVPaned * multi_vpaned, GtkWidget * widget1);
74 void gtk_multi_vpaned_widget_delete(GtkMultiVPaned * multi_vpaned);
75 void gtk_multi_vpaned_widget_move_up(GtkMultiVPaned * multi_vpaned);
76 void gtk_multi_vpaned_widget_move_down(GtkMultiVPaned * multi_vpaned);
77 void gtk_multi_vpaned_set_adjust(GtkMultiVPaned * multi_vpaned, const TimeWindow * time_window, gboolean first_time);
78 void gtk_multi_vpaned_set_data(GtkMultiVPaned * multi_vpaned, char * key, gpointer value);
79 gpointer gtk_multi_vpaned_get_data(GtkMultiVPaned * multi_vpaned, char * key);
80 GtkWidget * gtk_multi_vpaned_get_widget(GtkMultiVPaned * multi_vpaned);
81 GtkWidget * gtk_multi_vpaned_get_first_widget(GtkMultiVPaned * multi_vpaned);
82 GtkWidget * gtk_multi_vpaned_get_next_widget(GtkMultiVPaned * multi_vpaned);
83 void gtk_multi_vpaned_set_scroll_value(GtkMultiVPaned * multi_vpaned, double value);
87 #endif /* __cplusplus */
90 #endif /* __GTK_MULTI_VPANED_H__ */