diff --git a/Makefile b/Makefile
index 37bd57c..3d99b8b 100644
--- a/Makefile
+++ b/Makefile
@@ -5,6 +5,8 @@ pyqt:
pyuic5 relational_gui/maingui.ui > relational_gui/maingui.py
pyuic5 relational_gui/rel_edit.ui > relational_gui/rel_edit.py
pyrcc5 relational_gui/resources.qrc > relational_gui/resources.py
+ sed -i 's/QtWidgets.QPlainTextEdit/editor.Editor/g' relational_gui/maingui.py
+ echo 'from . import editor' >> relational_gui/maingui.py
dist: clean
rm -rf /tmp/relational/
diff --git a/relational_gui/editor.py b/relational_gui/editor.py
new file mode 100644
index 0000000..f6b1ee3
--- /dev/null
+++ b/relational_gui/editor.py
@@ -0,0 +1,43 @@
+# Relational
+# Copyright (C) 2016 Salvo "LtWorf" Tomaselli
+#
+# Relational 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 .
+#
+# author Salvo "LtWorf" Tomaselli
+#
+# This module provides a classes to represent relations and to perform
+# relational operations on them.
+
+from PyQt5.QtWidgets import QPlainTextEdit
+from PyQt5.QtCore import Qt
+
+
+class Editor(QPlainTextEdit):
+
+ def __init__(self, *args, **kwargs):
+ super(Editor, self).__init__(*args, **kwargs)
+
+ def wheelEvent(self, event):
+ if event.modifiers() & Qt.ControlModifier:
+ event.accept()
+ self.zoom(1 if event.angleDelta().y()>0 else -1)
+ else:
+ super(Editor, self).wheelEvent(event)
+
+ def zoom(self, incr):
+ font = self.font()
+ point_size = font.pointSize()
+ point_size += incr
+ font.setPointSize(point_size)
+ self.setFont(font)