diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-12-04 17:29:01 +0100 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-12-04 22:07:08 +0100 |
commit | d8a316514c03d85b771a9dce4a8a51b875d955b3 (patch) | |
tree | 8966c29db767a155848f6d90f76771ce5b9de32e /interface.h | |
parent | b120616b6da52e951097f69ad267de06081d218a (diff) | |
download | sciteco-d8a316514c03d85b771a9dce4a8a51b875d955b3.tar.gz |
autoconf preparation: move everything into src/ subdir
Diffstat (limited to 'interface.h')
-rw-r--r-- | interface.h | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/interface.h b/interface.h deleted file mode 100644 index 35ee1f7..0000000 --- a/interface.h +++ /dev/null @@ -1,112 +0,0 @@ -#ifndef __INTERFACE_H -#define __INTERFACE_H - -#include <stdarg.h> - -#include <glib.h> - -#include <Scintilla.h> - -#include "undo.h" - -/* avoid include dependency conflict */ -class QRegister; -class Buffer; - -/* - * Base class for all user interfaces - used mereley as a class interface. - * The actual instance of the interface has the platform-specific type - * (e.g. InterfaceGtk) since we would like to have the benefits of using - * classes but avoid the calling overhead when invoking virtual methods - * on Interface pointers. - * There's only one Interface* instance in the system. - */ -class Interface { - template <class Type> - class UndoTokenInfoUpdate : public UndoToken { - Interface *iface; - Type *obj; - - public: - UndoTokenInfoUpdate(Interface *_iface, Type *_obj) - : iface(_iface), obj(_obj) {} - - void - run(void) - { - iface->info_update(obj); - } - }; - -public: - virtual GOptionGroup * - get_options(void) - { - return NULL; - } - virtual void parse_args(int &argc, char **&argv) {} - - enum MessageType { - MSG_USER, - MSG_INFO, - MSG_WARNING, - MSG_ERROR - }; - virtual void vmsg(MessageType type, const gchar *fmt, va_list ap) = 0; - inline void - msg(MessageType type, const gchar *fmt, ...) G_GNUC_PRINTF(3, 4) - { - va_list ap; - - va_start(ap, fmt); - vmsg(type, fmt, ap); - va_end(ap); - } - virtual void msg_clear(void) {} - - virtual sptr_t ssm(unsigned int iMessage, - uptr_t wParam = 0, sptr_t lParam = 0) = 0; - - virtual void info_update(QRegister *reg) = 0; - virtual void info_update(Buffer *buffer) = 0; - - template <class Type> - inline void - undo_info_update(Type *obj) - { - undo.push(new UndoTokenInfoUpdate<Type>(this, obj)); - } - - /* NULL means to redraw the current cmdline if necessary */ - virtual void cmdline_update(const gchar *cmdline = NULL) = 0; - - enum PopupEntryType { - POPUP_PLAIN, - POPUP_FILE, - POPUP_DIRECTORY - }; - virtual void popup_add(PopupEntryType type, - const gchar *name, bool highlight = false) = 0; - virtual void popup_show(void) = 0; - virtual void popup_clear(void) = 0; - - /* main entry point */ - virtual void event_loop(void) = 0; - - /* - * Interfacing to the external SciTECO world - * See main.cpp - */ -protected: - void stdio_vmsg(MessageType type, const gchar *fmt, va_list ap); -public: - void process_notify(SCNotification *notify); -}; - -#ifdef INTERFACE_GTK -#include "interface-gtk.h" -#elif defined(INTERFACE_NCURSES) -#include "interface-ncurses.h" -#endif - -#endif |