diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2013-06-04 13:32:08 +0200 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2014-02-15 18:38:25 +0100 |
commit | a30c90206d7011905955063ae432a5be30dca6f4 (patch) | |
tree | d3302b8319762a5731d70857411785810187311b | |
parent | 5e9281841257716820079c2758ae573f2e18c851 (diff) | |
download | sciteco-a30c90206d7011905955063ae432a5be30dca6f4.tar.gz |
all interface classes define the same type InterfaceCurrent, simplifying the interface object definition
* they still define their own classes (e.g. InterfaceNCurses),
InterfaceCurrent is a typedef
-rw-r--r-- | src/interface-gtk.h | 5 | ||||
-rw-r--r-- | src/interface-ncurses.h | 5 | ||||
-rw-r--r-- | src/interface.h | 3 | ||||
-rw-r--r-- | src/main.cpp | 6 |
4 files changed, 8 insertions, 11 deletions
diff --git a/src/interface-gtk.h b/src/interface-gtk.h index ed2cabe..e2d1589 100644 --- a/src/interface-gtk.h +++ b/src/interface-gtk.h @@ -28,8 +28,7 @@ #include "interface.h" -/* object declared in main.cpp */ -extern class InterfaceGtk : public Interface { +typedef class InterfaceGtk : public Interface { GtkWidget *window; GtkWidget *editor_widget; GtkWidget *cmdline_widget; @@ -86,6 +85,6 @@ public: private: static void widget_set_font(GtkWidget *widget, const gchar *font_name); -} interface; +} InterfaceCurrent; #endif diff --git a/src/interface-ncurses.h b/src/interface-ncurses.h index 30f73f6..2526318 100644 --- a/src/interface-ncurses.h +++ b/src/interface-ncurses.h @@ -29,8 +29,7 @@ #include "interface.h" -/* object declared in main.cpp */ -extern class InterfaceNCurses : public Interface { +typedef class InterfaceNCurses : public Interface { SCREEN *screen; FILE *screen_tty; @@ -95,6 +94,6 @@ private: void draw_info(void); friend void event_loop_iter(); -} interface; +} InterfaceCurrent; #endif diff --git a/src/interface.h b/src/interface.h index 6f7bc84..b5be547 100644 --- a/src/interface.h +++ b/src/interface.h @@ -137,4 +137,7 @@ public: #error No interface selected! #endif +/* object defined in main.cpp */ +extern InterfaceCurrent interface; + #endif diff --git a/src/main.cpp b/src/main.cpp index 01e2594..c332671 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -53,11 +53,7 @@ * a ctor/dtor order without depending on the * GCC init_priority() attribute */ -#ifdef INTERFACE_GTK -InterfaceGtk interface; -#elif defined(INTERFACE_NCURSES) -InterfaceNCurses interface; -#endif +InterfaceCurrent interface; /* * Scintilla will be initialized after these |