Replace the current timebar with a new timebar widget (v2)
[lttv.git] / lttv / modules / gui / lttvwindow / lttvwindow / timeentry.h
diff --git a/lttv/modules/gui/lttvwindow/lttvwindow/timeentry.h b/lttv/modules/gui/lttvwindow/lttvwindow/timeentry.h
new file mode 100644 (file)
index 0000000..580b20c
--- /dev/null
@@ -0,0 +1,85 @@
+
+/* This file is part of the Linux Trace Toolkit viewer
+ * Copyright (C) 2010 Yannick Brosseau
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License Version 2 as
+ * published by the Free Software Foundation;
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ */
+#ifndef _TIME_ENTRY_
+#define _TIME_ENTRY_
+
+
+#include <glib.h>
+#include <gtk/gtkhbox.h>
+#include <gtk/gtkspinbutton.h>
+#include <gtk/gtklabel.h>
+
+G_BEGIN_DECLS
+
+#define TIMEENTRY_TYPE            (timeentry_get_type ())
+#define TIMEENTRY(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), TIMEENTRY_TYPE, Timeentry))
+#define TIMEENTRY_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), TIMEENTRY_TYPE, TimeentryClass))
+#define IS_TIMEENTRY(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TIMEENTRY_TYPE))
+#define IS_TIMEENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TIMEENTRY_TYPE))
+
+typedef struct _Timeentry       Timeentry;
+typedef struct _TimeentryClass  TimeentryClass;
+
+struct _Timeentry {
+       GtkHBox hbox;
+
+       GtkWidget *main_label;
+       GtkWidget *main_label_box;
+       GtkWidget *main_label_context_menu;
+       GtkWidget *seconds_spinner;
+       GtkWidget *nanoseconds_spinner;
+       GtkWidget *s_label;
+       GtkWidget *ns_label;
+
+       int seconds_changed_handler_id;
+       int nanoseconds_changed_handler_id;
+
+       unsigned long min_seconds;
+       unsigned long min_nanoseconds;
+       unsigned long max_seconds;
+       unsigned long max_nanoseconds;
+};
+
+struct _TimeentryClass {
+       GtkHBoxClass parent_class;
+
+       void (*timeentry) (Timeentry *timeentry);
+};
+
+GType timeentry_get_type(void);
+GtkWidget *timeentry_new(const gchar *label);
+
+void timeentry_set_main_label(Timeentry *timeentry,
+                       const gchar *str);
+void timeentry_set_minmax_time(Timeentry *timeentry,
+                       unsigned long min_seconds,
+                       unsigned long min_nanoseconds,
+                       unsigned long max_seconds,
+                       unsigned long max_nanoseconds);
+
+void timeentry_set_time(Timeentry *timeentry,
+                       unsigned long seconds,
+                       unsigned long nanoseconds);
+
+void timeentry_get_time(Timeentry *timeentry,
+                       unsigned long *seconds,
+                       unsigned long *nanoseconds);
+G_END_DECLS
+
+#endif /* _TIME_ENTRY_ */
This page took 0.023642 seconds and 4 git commands to generate.