From 38fcf6d15cdf09591e7d7a142ad724164875e433 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Sun, 16 Nov 2014 19:31:29 +0100 Subject: rewritten View and Interface base classes using the Curiously Recurring Template Pattern. * without the one-view-per-buffer designs, many Scintilla send message (SSM) calls could be inlined * with the new design, this was no longer possible using the abstract base classes. the CRT pattern allows inlining again but introduces a strange level of code obscurity. * tests suggest that at high optimization levels, the one-view-per-buffer design and the CRT pattern reduces typical macro runtimes by 30% (e.g. for symbols-extract.tes). * only updated the NCurses UI for the time being --- src/ring.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/ring.cpp') diff --git a/src/ring.cpp b/src/ring.cpp index 25a46ce..443b22d 100644 --- a/src/ring.cpp +++ b/src/ring.cpp @@ -264,18 +264,18 @@ Ring::edit(const gchar *filename) buffer->edit(); buffer->load(filename); - interface.msg(Interface::MSG_INFO, + interface.msg(InterfaceCurrent::MSG_INFO, "Added file \"%s\" to ring", filename); } else { buffer->edit(); buffer->set_filename(filename); if (filename) - interface.msg(Interface::MSG_INFO, + interface.msg(InterfaceCurrent::MSG_INFO, "Added new file \"%s\" to ring", filename); else - interface.msg(Interface::MSG_INFO, + interface.msg(InterfaceCurrent::MSG_INFO, "Added new unnamed file to ring."); } @@ -326,7 +326,7 @@ public: orig_attrs); #endif } else { - interface.msg(Interface::MSG_WARNING, + interface.msg(InterfaceCurrent::MSG_WARNING, "Unable to restore save point file \"%s\"", savepoint); } @@ -362,7 +362,7 @@ make_savepoint(Buffer *buffer) #endif undo.push(token); } else { - interface.msg(Interface::MSG_WARNING, + interface.msg(InterfaceCurrent::MSG_WARNING, "Unable to create save point file \"%s\"", savepoint); g_free(savepoint); @@ -475,11 +475,11 @@ Ring::close(Buffer *buffer) TAILQ_REMOVE(&head, buffer, buffers); if (buffer->filename) - interface.msg(Interface::MSG_INFO, + interface.msg(InterfaceCurrent::MSG_INFO, "Removed file \"%s\" from the ring", buffer->filename); else - interface.msg(Interface::MSG_INFO, + interface.msg(InterfaceCurrent::MSG_INFO, "Removed unnamed file from the ring."); } @@ -644,7 +644,7 @@ StateEditFile::initial(void) if (id == 0) { for (Buffer *cur = ring.first(); cur; cur = cur->next()) - interface.popup_add(Interface::POPUP_FILE, + interface.popup_add(InterfaceCurrent::POPUP_FILE, cur->filename ? : "(Unnamed)", cur == ring.current); -- cgit v1.2.3