aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/interface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/interface.cpp')
-rw-r--r--src/interface.cpp180
1 files changed, 0 insertions, 180 deletions
diff --git a/src/interface.cpp b/src/interface.cpp
deleted file mode 100644
index cc8b069..0000000
--- a/src/interface.cpp
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Copyright (C) 2012-2017 Robin Haberkorn
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <stdarg.h>
-#include <stdio.h>
-
-#include <glib.h>
-#include <glib/gprintf.h>
-#include <glib/gstdio.h>
-
-#include <Scintilla.h>
-#include <SciLexer.h>
-
-#include "sciteco.h"
-#include "interface.h"
-
-namespace SciTECO {
-
-template <class ViewImpl>
-void
-View<ViewImpl>::set_representations(void)
-{
- static const char *reps[] = {
- "^@", "^A", "^B", "^C", "^D", "^E", "^F", "^G",
- "^H", "TAB" /* ^I */, "LF" /* ^J */, "^K", "^L", "CR" /* ^M */, "^N", "^O",
- "^P", "^Q", "^R", "^S", "^T", "^U", "^V", "^W",
- "^X", "^Y", "^Z", "$" /* ^[ */, "^\\", "^]", "^^", "^_"
- };
-
- for (guint cc = 0; cc < G_N_ELEMENTS(reps); cc++) {
- gchar buf[] = {(gchar)cc, '\0'};
- ssm(SCI_SETREPRESENTATION, (uptr_t)buf, (sptr_t)reps[cc]);
- }
-}
-
-template <class ViewImpl>
-void
-View<ViewImpl>::setup(void)
-{
- /*
- * Start with or without undo collection,
- * depending on undo.enabled.
- */
- ssm(SCI_SETUNDOCOLLECTION, undo.enabled);
-
- ssm(SCI_SETFOCUS, TRUE);
-
- /*
- * Some Scintilla implementations show the horizontal
- * scroll bar by default.
- * Ensure it is never displayed by default.
- */
- ssm(SCI_SETHSCROLLBAR, FALSE);
-
- /*
- * Only margin 1 is given a width by default.
- * To provide a minimalist default view, it is disabled.
- */
- ssm(SCI_SETMARGINWIDTHN, 1, 0);
-
- /*
- * Set some basic styles in order to provide
- * a consistent look across UIs if no profile
- * is used. This makes writing UI-agnostic profiles
- * and color schemes easier.
- * FIXME: Some settings like fonts should probably
- * be set per UI (i.e. Scinterm doesn't use it,
- * GTK might try to use a system-wide default
- * monospaced font).
- */
- ssm(SCI_SETCARETSTYLE, CARETSTYLE_BLOCK);
- ssm(SCI_SETCARETPERIOD, 0);
- ssm(SCI_SETCARETFORE, 0xFFFFFF);
-
- ssm(SCI_STYLESETFORE, STYLE_DEFAULT, 0xFFFFFF);
- ssm(SCI_STYLESETBACK, STYLE_DEFAULT, 0x000000);
- ssm(SCI_STYLESETFONT, STYLE_DEFAULT, (sptr_t)"Courier");
- ssm(SCI_STYLECLEARALL);
-
- /*
- * FIXME: The line number background is apparently not
- * affected by SCI_STYLECLEARALL
- */
- ssm(SCI_STYLESETBACK, STYLE_LINENUMBER, 0x000000);
-
- /*
- * Use white as the default background color
- * for call tips. Necessary since this style is also
- * used for popup windows and we need to provide a sane
- * default if no color-scheme is applied (and --no-profile).
- */
- ssm(SCI_STYLESETFORE, STYLE_CALLTIP, 0x000000);
- ssm(SCI_STYLESETBACK, STYLE_CALLTIP, 0xFFFFFF);
-}
-
-template class View<ViewCurrent>;
-
-template <class InterfaceImpl, class ViewImpl>
-void
-Interface<InterfaceImpl, ViewImpl>::UndoTokenShowView::run(void)
-{
- /*
- * Implementing this here allows us to reference
- * `interface`
- */
- interface.show_view(view);
-}
-
-template <class InterfaceImpl, class ViewImpl>
-template <class Type>
-void
-Interface<InterfaceImpl, ViewImpl>::UndoTokenInfoUpdate<Type>::run(void)
-{
- interface.info_update(obj);
-}
-
-/**
- * Print a message to the appropriate stdio streams.
- *
- * This method has similar semantics to `vprintf`, i.e.
- * it leaves `ap` undefined. Therefore to pass the format
- * string and arguments to another `vprintf`-like function,
- * you have to copy the arguments via `va_copy`.
- */
-template <class InterfaceImpl, class ViewImpl>
-void
-Interface<InterfaceImpl, ViewImpl>::stdio_vmsg(MessageType type, const gchar *fmt, va_list ap)
-{
- FILE *stream = stdout;
-
- switch (type) {
- case MSG_USER:
- break;
- case MSG_INFO:
- fputs("Info: ", stream);
- break;
- case MSG_WARNING:
- stream = stderr;
- fputs("Warning: ", stream);
- break;
- case MSG_ERROR:
- stream = stderr;
- fputs("Error: ", stream);
- break;
- }
-
- g_vfprintf(stream, fmt, ap);
- fputc('\n', stream);
-}
-
-template <class InterfaceImpl, class ViewImpl>
-void
-Interface<InterfaceImpl, ViewImpl>::process_notify(SCNotification *notify)
-{
-#ifdef DEBUG
- g_printf("SCINTILLA NOTIFY: code=%d\n", notify->nmhdr.code);
-#endif
-}
-
-template class Interface<InterfaceCurrent, ViewCurrent>;
-
-} /* namespace SciTECO */