summaryrefslogtreecommitdiffstats
path: root/qt/qextscintillamacro.h
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-30 11:36:13 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-30 11:36:13 -0600
commit664e37abfe5c796c1279b8295fb030f126b0a7d8 (patch)
tree85f4e661e5c615f01ee1cdf51ca1250b96efe315 /qt/qextscintillamacro.h
downloadtqscintilla-664e37abfe5c796c1279b8295fb030f126b0a7d8.tar.gz
tqscintilla-664e37abfe5c796c1279b8295fb030f126b0a7d8.zip
Initial import of qscintilla from 2007
Diffstat (limited to 'qt/qextscintillamacro.h')
-rw-r--r--qt/qextscintillamacro.h106
1 files changed, 106 insertions, 0 deletions
diff --git a/qt/qextscintillamacro.h b/qt/qextscintillamacro.h
new file mode 100644
index 0000000..0c33968
--- /dev/null
+++ b/qt/qextscintillamacro.h
@@ -0,0 +1,106 @@
+// This defines the interface to the QextScintillaMacro class.
+//
+// Copyright (c) 2006
+// Riverbank Computing Limited <info@riverbankcomputing.co.uk>
+//
+// This file is part of QScintilla.
+//
+// This copy of QScintilla 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 2, or (at your option) any
+// later version.
+//
+// QScintilla is supplied 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
+// QScintilla; see the file LICENSE. If not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifndef QEXTSCINTILLAMACRO_H
+#define QEXTSCINTILLAMACRO_H
+
+
+#include <qobject.h>
+#include <qcstring.h>
+#include <qvaluelist.h>
+
+#include <qextscintillaglobal.h>
+
+
+class QString;
+class QextScintilla;
+
+
+//! \brief The QextScintillaMacro class represents a sequence of recordable
+//! editor commands.
+//!
+//! Methods are provided to convert convert a macro to and from a textual
+//! representation so that they can be easily written to and read from
+//! permanent storage.
+class QEXTSCINTILLA_EXPORT QextScintillaMacro : public QObject
+{
+ Q_OBJECT
+
+public:
+ //! Construct a QextScintillaMacro with parent \a parent and name
+ //! \a name.
+ QextScintillaMacro(QextScintilla *parent,const char *name = 0);
+
+ //! Construct a QextScintillaMacro from the printable ASCII
+ //! representation \a asc, with parent \a parent and name \a name.
+ QextScintillaMacro(const QCString &asc,QextScintilla *parent,
+ const char *name = 0);
+
+ //! Destroy the QextScintillaMacro instance.
+ virtual ~QextScintillaMacro();
+
+ //! Clear the contents of the macro.
+ void clear();
+
+ //! Load the macro from the printable ASCII representation \a asc.
+ //! Returns TRUE if there was no error.
+ //!
+ //! \sa save()
+ bool load(const QCString &asc);
+
+ //! Return a printable ASCII representation of the macro. It is
+ //! guaranteed that only printable ASCII characters are used and that
+ //! double quote characters will not be used.
+ //!
+ //! \sa load()
+ QCString save() const;
+
+public slots:
+ //! Play the macro.
+ virtual void play();
+
+ //! Start recording user commands and add them to the macro.
+ virtual void startRecording();
+
+ //! Stop recording user commands.
+ virtual void endRecording();
+
+private slots:
+ void record(unsigned int msg,unsigned long wParam,long lParam);
+
+private:
+ struct Macro {
+ unsigned int msg;
+ unsigned long wParam;
+ QByteArray text;
+ };
+
+ QextScintilla *qsci;
+ QValueList<Macro> macro;
+
+#if defined(Q_DISABLE_COPY)
+ QextScintillaMacro(const QextScintillaMacro &);
+ QextScintillaMacro &operator=(const QextScintillaMacro &);
+#endif
+};
+
+#endif