/* HomeBank -- Free, easy, personal accounting for everyone.
- * Copyright (C) 1995-2014 Maxime DOYEN
+ * Copyright (C) 1995-2019 Maxime DOYEN
*
* This file is part of HomeBank.
*
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef __GTK_DATEENTRY_H__
-#define __GTK_DATEENTRY_H__
+#ifndef __GTK_DATE_ENTRY_H__
+#define __GTK_DATE_ENTRY_H__
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
-
-#define GTK_TYPE_DATE_ENTRY (gtk_dateentry_get_type ())
+#define GTK_TYPE_DATE_ENTRY (gtk_date_entry_get_type ())
#define GTK_DATE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_DATE_ENTRY, GtkDateEntry))
#define GTK_DATE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_DATE_ENTRY, GtkDateEntryClass)
#define GTK_IS_DATE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_DATE_ENTRY))
#define GTK_IS_DATE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_DATE_ENTRY))
#define GTK_DATE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_DATE_ENTRY, GtkDateEntryClass))
-
typedef struct _GtkDateEntry GtkDateEntry;
typedef struct _GtkDateEntryClass GtkDateEntryClass;
+typedef struct _GtkDateEntryPrivate GtkDateEntryPrivate;
+
+
+#define HB_MINDATE 693596 //01/01/1900
+#define HB_MAXDATE 803533 //31/12/2200
-/* you should access only the entry and list fields directly */
struct _GtkDateEntry
{
+ GtkBox box;
+
/*< private >*/
- GtkHBox hbox;
+ GtkDateEntryPrivate *priv;
+};
+
+
+struct _GtkDateEntryClass
+{
+ GtkBoxClass parent_class;
+
+ /* signals */
+ void (* changed) (GtkDateEntry *dateentry);
- /*< public >*/
+ /* Padding for future expansion */
+ void (*_gtk_reserved0) (void);
+ void (*_gtk_reserved1) (void);
+ void (*_gtk_reserved2) (void);
+ void (*_gtk_reserved3) (void);
+};
+
+
+struct _GtkDateEntryPrivate
+{
GtkWidget *entry;
+ GtkWidget *button;
GtkWidget *arrow;
- GtkWidget *popup;
- GtkWidget *popwin;
- GtkWidget *frame;
+ GtkWidget *popover;
GtkWidget *calendar;
GDate *date;
guint32 lastdate;
GDate mindate, maxdate;
-
+
+ gulong hid_dayselect;
};
-struct _GtkDateEntryClass
-{
- GtkHBoxClass parent_class;
-
- /* signals */
- void (* changed) (GtkDateEntry *dateentry);
-
- /* Padding for future expansion */
- void (*_gtk_reserved1) (void);
- void (*_gtk_reserved2) (void);
- void (*_gtk_reserved3) (void);
- void (*_gtk_reserved4) (void);
-};
-GType gtk_dateentry_get_type(void);
+GType gtk_date_entry_get_type(void) G_GNUC_CONST;
-GtkWidget *gtk_dateentry_new(void);
+GtkWidget *gtk_date_entry_new(void);
-guint32 gtk_dateentry_get_date(GtkDateEntry * dateentry);
-void gtk_dateentry_set_date(GtkDateEntry * dateentry, guint32 julian_days);
-void gtk_dateentry_set_mindate(GtkDateEntry * dateentry, guint32 julian_days);
-void gtk_dateentry_set_maxdate(GtkDateEntry * dateentry, guint32 julian_days);
+guint32 gtk_date_entry_get_date(GtkDateEntry * dateentry);
+void gtk_date_entry_set_date(GtkDateEntry * dateentry, guint32 julian_days);
+void gtk_date_entry_set_mindate(GtkDateEntry * dateentry, guint32 julian_days);
+void gtk_date_entry_set_maxdate(GtkDateEntry * dateentry, guint32 julian_days);
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
#endif /* __GTK_DATE_ENTRY_H__ */