medit/moo/mooedit/mooedittypes.h

80 lines
2.4 KiB
C
Raw Normal View History

2015-12-31 16:41:12 -08:00
#pragma once
2010-11-23 21:54:39 -08:00
#include <gtk/gtk.h>
#include <mooutils/mooarray.h>
#include <mooutils/moolist.h>
2010-12-09 00:51:40 -08:00
#include <mooutils/mootype-macros.h>
#include <mooedit/mooedit-enums.h>
2010-11-23 21:54:39 -08:00
G_BEGIN_DECLS
2011-01-10 02:31:07 -08:00
typedef struct MooOpenInfo MooOpenInfo;
typedef struct MooSaveInfo MooSaveInfo;
typedef struct MooReloadInfo MooReloadInfo;
2010-11-23 21:54:39 -08:00
2016-01-04 03:56:42 -08:00
#define MOO_DECLARE_C_CLASS(Object, object) \
typedef struct Object Object; \
GType object##_get_type(void) G_GNUC_CONST;
MOO_DECLARE_C_CLASS(MooEdit, moo_edit);
MOO_DECLARE_C_CLASS(MooEditView, moo_edit_view);
MOO_DECLARE_C_CLASS(MooEditWindow, moo_edit_window);
MOO_DECLARE_C_CLASS(MooEditor, moo_editor);
MOO_DECLARE_C_CLASS(MooEditTab, moo_edit_tab);
MOO_DECLARE_C_CLASS(MooTextView, moo_text_view);
2010-11-23 21:54:39 -08:00
2010-12-12 02:29:20 -08:00
MOO_DECLARE_OBJECT_ARRAY (MooEdit, moo_edit)
2010-12-18 23:58:18 -08:00
MOO_DECLARE_OBJECT_ARRAY (MooEditView, moo_edit_view)
2011-01-17 03:01:11 -08:00
MOO_DECLARE_OBJECT_ARRAY (MooEditTab, moo_edit_tab)
2010-12-12 02:29:20 -08:00
MOO_DECLARE_OBJECT_ARRAY (MooEditWindow, moo_edit_window)
2010-12-08 01:11:51 -08:00
MOO_DEFINE_SLIST (MooEditList, moo_edit_list, MooEdit)
2010-11-23 21:54:39 -08:00
2011-01-10 02:31:07 -08:00
MOO_DECLARE_OBJECT_ARRAY (MooOpenInfo, moo_open_info)
2010-11-23 21:54:39 -08:00
#define MOO_TYPE_LINE_END (moo_type_line_end ())
GType moo_type_line_end (void) G_GNUC_CONST;
2010-12-09 00:51:40 -08:00
#define MOO_EDIT_RELOAD_ERROR (moo_edit_reload_error_quark ())
2010-12-12 02:29:20 -08:00
#define MOO_EDIT_SAVE_ERROR (moo_edit_save_error_quark ())
2010-12-09 00:51:40 -08:00
MOO_DECLARE_QUARK (moo-edit-reload-error, moo_edit_reload_error_quark)
2010-12-12 02:29:20 -08:00
MOO_DECLARE_QUARK (moo-edit-save-error, moo_edit_save_error_quark)
2010-12-09 00:51:40 -08:00
2010-11-23 21:54:39 -08:00
G_END_DECLS
2015-12-31 16:41:12 -08:00
#ifdef __cplusplus
2016-01-01 23:38:51 -08:00
#include <moocpp/gobjptrtypes.h>
2015-12-31 16:41:12 -08:00
2016-01-04 03:56:42 -08:00
namespace moo {
template<> class gobjref<MooEdit>;
template<> class gobjref<MooEditView>;
template<> class gobjptr<MooEditView>;
2016-01-03 05:13:00 -08:00
}
2016-01-04 03:56:42 -08:00
#define MOO_CPP_CLASS_TYPEDEFS(Object) \
using Object##Ptr = moo::gobjptr<Object>; \
using Object##Ref = moo::gobjref<Object>; \
using Object##RawPtr = moo::gobj_raw_ptr<Object>; \
MOO_CPP_CLASS_TYPEDEFS(MooEditView);
MOO_CPP_CLASS_TYPEDEFS(MooEditTab);
MOO_CPP_CLASS_TYPEDEFS(MooEditWindow);
MOO_CPP_CLASS_TYPEDEFS(MooEdit);
MOO_CPP_CLASS_TYPEDEFS(MooTextView);
#undef MOO_CPP_CLASS_TYPEDEFS
namespace moo {
MOO_DEFINE_GOBJ_TYPE(MooTextView, GtkTextView, moo_text_view_get_type())
MOO_DEFINE_GOBJ_TYPE(MooEditTab, GtkWidget, moo_edit_tab_get_type());
MOO_DEFINE_GOBJ_TYPE(MooEditWindow, GtkWindow, moo_edit_window_get_type());
} // namespace moo
using MooGFilePtr = moo::gobjptr<GFile>;
using MooGFileRef = moo::gobjref<GFile>;
2015-12-31 16:41:12 -08:00
#endif // __cplusplus