1
//=============================================================================
3
// File : KviScriptEditor.cpp
4
// Creation date : Sun Mar 28 1999 16:12:41 CEST by Szymon Stefanek
6
// This file is part of the KVIrc irc client distribution
7
// Copyright (C) 1999-2010 Szymon Stefanek (pragma at kvirc dot net)
9
// This program is FREE software. You can redistribute it and/or
10
// modify it under the terms of the GNU General Public License
11
// as published by the Free Software Foundation; either version 2
12
// of the License, or (at your opinion) any later version.
14
// This program is distributed in the HOPE that it will be USEFUL,
15
// but WITHOUT ANY WARRANTY; without even the implied warranty of
16
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
// See the GNU General Public License for more details.
19
// You should have received a copy of the GNU General Public License
20
// along with this program. If not, write to the Free Software Foundation,
21
// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
23
//=============================================================================
25
#define _KVI_SCRIPTEDITOR_CPP_
26
#define _KVI_DEBUG_CHECK_RANGE_
28
#include "kvi_debug.h"
29
#include "KviScriptEditor.h"
30
#include "KviModuleManager.h"
33
KviScriptEditor::KviScriptEditor(QWidget * par)
38
KviScriptEditor::~KviScriptEditor()
42
void KviScriptEditor::setText(const char * txt)
44
setText(QByteArray(txt));
47
void KviScriptEditor::setText(const QByteArray &)
51
void KviScriptEditor::setText(const QString &txt)
53
setText(QByteArray(txt.toUtf8()));
56
void KviScriptEditor::setFindText(const QString &)
59
void KviScriptEditor::setInfoText(const QString &)
63
void KviScriptEditor::setFindLineeditReadOnly(bool)
66
void KviScriptEditor::setReadOnly(bool)
69
void KviScriptEditor::setUnHighlightedText(const QString &)
72
void KviScriptEditor::getText(QByteArray &)
76
void KviScriptEditor::setCursorPosition(int)
80
bool KviScriptEditor::isModified()
85
int KviScriptEditor::getCursor()
89
void KviScriptEditor::getText(QString &txt)
93
txt = QString::fromUtf8(tmp.data());
96
KviScriptEditor * KviScriptEditor::getDummyEditor(QWidget * par)
98
return new KviScriptEditor(par);
102
static KviScriptEditor * (*editorModuleCreateScriptEditor)(QWidget *);
103
static void (*editorModuleDestroyScriptEditor)(KviScriptEditor *);
105
KviScriptEditor * KviScriptEditor::createInstance(QWidget * par)
107
KviModule * m = g_pModuleManager->getModule("editor");
108
// If the module can't be loaded...return a dummy widget
109
// FIXME: #warning "Maybe provide some sort of basic default editable widget ?"
110
if(!m)return KviScriptEditor::getDummyEditor(par); // dummy implementation
113
editorModuleCreateScriptEditor = (KviScriptEditor * (*)(QWidget *)) m->getSymbol("editor_module_createScriptEditor");
115
if(!editorModuleCreateScriptEditor)return KviScriptEditor::getDummyEditor(par);
117
return editorModuleCreateScriptEditor(par);
120
void KviScriptEditor::destroyInstance(KviScriptEditor * e)
122
KviModule * m = g_pModuleManager->getModule("editor");
129
editorModuleDestroyScriptEditor = (void (*)(KviScriptEditor *)) m->getSymbol("editor_module_destroyScriptEditor");
131
if(!editorModuleDestroyScriptEditor)
137
editorModuleDestroyScriptEditor(e);
140
#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES
141
#include "KviScriptEditor.moc"
142
#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES