KDevelop API Documentation

markerwidget.h

Go to the documentation of this file.
00001 /* $Id: markerwidget.h,v 1.8 2003/03/21 12:35:40 raggi Exp $
00002  *
00003  *  Copyright (C) 2002 Roberto Raggi (roberto@kdevelop.org)
00004  *
00005  *  This program is free software; you can redistribute it and/or
00006  *  modify it under the terms of the GNU General Public
00007  *  License as published by the Free Software Foundation; either
00008  *  version 2 of the License, or (at your option) any later version.
00009  *
00010  *  This program is distributed in the hope that it will be useful,
00011  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013  *  General Public License for more details.
00014  *
00015  *  You should have received a copy of the GNU General Public License
00016  *  along with this program; see the file COPYING.  If not, write to
00017  *  the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00018  *  Boston, MA 02111-1307, USA.
00019  *
00020  */
00021 
00022 /**********************************************************************
00023 ** Copyright (C) 2000 Trolltech AS.  All rights reserved.
00024 **
00025 ** This file is part of Qt Designer.
00026 **
00027 ** This file may be distributed and/or modified under the terms of the
00028 ** GNU General Public License version 2 as published by the Free Software
00029 ** Foundation and appearing in the file COPYING included in the
00030 ** packaging of this file.
00031 **
00032 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00033 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00034 **
00035 ** See http://www.trolltech.com/gpl/ for GPL licensing information.
00036 **
00037 ** Contact info@trolltech.com if any conditions of this licensing are
00038 ** not clear to you.
00039 **
00040 **********************************************************************/
00041 
00042 #ifndef __markerwidget_h
00043 #define __markerwidget_h
00044 
00045 #include <qwidget.h>
00046 #include <qpixmap.h>
00047 #include <qmap.h>
00048 
00049 #include <kdeversion.h>
00050 #include <ktexteditor/markinterface.h>
00051 #if (KDE_VERSION > 305)
00052 # include <ktexteditor/markinterfaceextension.h>
00053 #else
00054 # include "kde30x_markinterfaceextension.h"
00055 #endif
00056 
00057 class QEditor;
00058 
00059 class MarkerWidget: public QWidget
00060 {
00061     Q_OBJECT
00062 public:
00063     MarkerWidget( QEditor*, QWidget* =0, const char* =0 );
00064     virtual ~MarkerWidget();
00065 
00066     virtual void setPixmap(KTextEditor::MarkInterface::MarkTypes, const QPixmap &);
00067     virtual void setDescription(KTextEditor::MarkInterface::MarkTypes, const QString &);
00068     virtual void setMarksUserChangable(uint markMask);
00069 
00070 public slots:
00071     void doRepaint() { repaint( FALSE ); }
00072 
00073 protected:
00074     virtual void resizeEvent( QResizeEvent* );
00075     virtual void paintEvent( QPaintEvent* );
00076     virtual void contextMenuEvent( QContextMenuEvent* );
00077     virtual void mousePressEvent ( QMouseEvent * e );
00078 
00079 signals:
00080     void markChanged( KTextEditor::Mark mark, KTextEditor::MarkInterfaceExtension::MarkChangeAction action );
00081     void marksChanged();
00082 
00083 private:
00084     QEditor*                m_editor;
00085     QPixmap                 m_buffer;
00086     QMap<int,QPixmap>       m_pixmapMap;
00087     bool                    m_clickChangesBPs;
00088     bool                    m_changeBookmarksAllowed;
00089     bool                    m_changeBreakpointsAllowed;
00090     QString                 m_bookmarkDescr;
00091     QString                 m_breakpointDescr;
00092 };
00093 
00094 #endif // __markerwidget_h
KDE Logo
This file is part of the documentation for KDevelop Version 3.1.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Mar 23 00:03:42 2005 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003