You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tqscintilla/qt/qextscintillacommand.h

100 lines
3.2 KiB

// This defines the interface to the QextScintillaCommand class.
//
// Copyright (c) 2006
// Riverbank Computing Limited <info@riverbankcomputing.co.uk>
//
// This file is part of TQScintilla.
//
// This copy of TQScintilla 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.
//
// TQScintilla 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
// TQScintilla; see the file LICENSE. If not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#ifndef TQEXTSCINTILLACOMMAND_H
#define TQEXTSCINTILLACOMMAND_H
#include <tqstring.h>
#include <qextscintillaglobal.h>
class QextScintilla;
//! \brief The QextScintillaCommand class represents an internal editor command
//! that may have one or two keys bound to it.
//!
//! Methods are provided to change the keys bound to the command and to remove
//! a key binding. Each command has a user friendly description of the command
//! for use in key mapping dialogs.
class TQEXTSCINTILLA_EXPORT QextScintillaCommand
{
public:
//! Binds the key \a key to the command. If \a key is 0 then the key
//! binding is removed. If \a key is invalid then the key binding is
//! unchanged. Valid keys are any visible or control character or any
//! of \c Key_Down, \c Key_Up, \c Key_Left, \c Key_Right, \c Key_Home,
//! \c Key_End, \c Key_Prior, \c Key_Next, \c Key_Delete,
//! \c Key_Insert, \c Key_Escape, \c Key_Backspace, \c Key_Tab and
//! \c Key_Return. Keys may be modified with any combination of
//! \c SHIFT, \c CTRL and \c ALT.
//!
//! \sa key(), setAlternateKey(), validKey()
void setKey(int key);
//! Binds the alternate key \a altkey to the command. If \a key is 0
//! then the alternate key binding is removed.
//!
//! \sa alternateKey(), setKey(), validKey()
void setAlternateKey(int altkey);
//! The key that is currently bound to the command is returned.
//!
//! \sa setKey(), alternateKey()
int key() const {return qkey;}
//! The alternate key that is currently bound to the command is
//! returned.
//!
//! \sa setAlternateKey(), key()
int alternateKey() const {return qaltkey;}
//! If the key \a key is valid then TRUE is returned.
static bool validKey(int key);
//! The user friendly description of the command is returned.
TQString description() const;
private:
friend class QextScintillaCommandSet;
QextScintillaCommand(QextScintilla *qs,int msg,int key,int altkey,
const char *desc);
int msgId() const {return msgCmd;}
void bindKey(int key,int &qk,int &scik);
QextScintilla *qsCmd;
int msgCmd;
int qkey, scikey, qaltkey, scialtkey;
const char *descCmd;
#if defined(TQ_DISABLE_COPY)
QextScintillaCommand(const QextScintillaCommand &);
QextScintillaCommand &operator=(const QextScintillaCommand &);
#endif
};
#endif