annotate kdiff3/src/difftextwindow.h @ 69:8febbfb1148c

KDiff3 0.9.89
author joachim99
date Mon, 10 Apr 2006 08:40:51 +0000
parents
children 5bbfe4784324 1184fc843210
rev   line source
joachim99@69 1 /***************************************************************************
joachim99@69 2 difftextwindow.h - description
joachim99@69 3 -------------------
joachim99@69 4 begin : Mon Mar 18 2002
joachim99@69 5 copyright : (C) 2002-2005 by Joachim Eibl
joachim99@69 6 email : joachim.eibl at gmx.de
joachim99@69 7 ***************************************************************************/
joachim99@69 8
joachim99@69 9 /***************************************************************************
joachim99@69 10 * *
joachim99@69 11 * This program is free software; you can redistribute it and/or modify *
joachim99@69 12 * it under the terms of the GNU General Public License as published by *
joachim99@69 13 * the Free Software Foundation; either version 2 of the License, or *
joachim99@69 14 * (at your option) any later version. *
joachim99@69 15 * *
joachim99@69 16 ***************************************************************************/
joachim99@69 17
joachim99@69 18 #ifndef DIFFTEXTWINDOW_H
joachim99@69 19 #define DIFFTEXTWINDOW_H
joachim99@69 20
joachim99@69 21 #include "diff.h"
joachim99@69 22
joachim99@69 23 #include <qwidget.h>
joachim99@69 24
joachim99@69 25 class QStatusBar;
joachim99@69 26 class OptionDialog;
joachim99@69 27 class DiffTextWindowData;
joachim99@69 28 class DiffTextWindowFrame;
joachim99@69 29
joachim99@69 30 class DiffTextWindow : public QWidget
joachim99@69 31 {
joachim99@69 32 Q_OBJECT
joachim99@69 33 public:
joachim99@69 34 DiffTextWindow(
joachim99@69 35 DiffTextWindowFrame* pParent,
joachim99@69 36 QStatusBar* pStatusBar,
joachim99@69 37 OptionDialog* pOptionDialog,
joachim99@69 38 int winIdx
joachim99@69 39 );
joachim99@69 40 ~DiffTextWindow();
joachim99@69 41 void init(
joachim99@69 42 const QString& fileName,
joachim99@69 43 const LineData* pLineData,
joachim99@69 44 int size,
joachim99@69 45 const Diff3LineVector* pDiff3LineVector,
joachim99@69 46 const ManualDiffHelpList* pManualDiffHelpList,
joachim99@69 47 bool bTriple
joachim99@69 48 );
joachim99@69 49 void reset();
joachim99@69 50 void convertToLinePos( int x, int y, int& line, int& pos );
joachim99@69 51
joachim99@69 52 QString getSelection();
joachim99@69 53 int getFirstLine();
joachim99@69 54 int calcTopLineInFile( int firstLine );
joachim99@69 55
joachim99@69 56 int getNofColumns();
joachim99@69 57 int getNofLines();
joachim99@69 58 int getNofVisibleLines();
joachim99@69 59 int getNofVisibleColumns();
joachim99@69 60
joachim99@69 61 int convertLineToDiff3LineIdx( int line );
joachim99@69 62 int convertDiff3LineIdxToLine( int d3lIdx );
joachim99@69 63
joachim99@69 64 void convertD3LCoordsToLineCoords( int d3LIdx, int d3LPos, int& line, int& pos );
joachim99@69 65 void convertLineCoordsToD3LCoords( int line, int pos, int& d3LIdx, int& d3LPos );
joachim99@69 66
joachim99@69 67 void convertSelectionToD3LCoords();
joachim99@69 68
joachim99@69 69 bool findString( const QString& s, int& d3vLine, int& posInLine, bool bDirDown, bool bCaseSensitive );
joachim99@69 70 void setSelection( int firstLine, int startPos, int lastLine, int endPos, int& l, int& p );
joachim99@69 71 void getSelectionRange( int* firstLine, int* lastLine, e_CoordType coordType );
joachim99@69 72
joachim99@69 73 void setPaintingAllowed( bool bAllowPainting );
joachim99@69 74 void recalcWordWrap( bool bWordWrap, int wrapLineVectorSize, int nofVisibleColumns );
joachim99@69 75 void print( MyPainter& painter, const QRect& r, int firstLine, int nofLinesPerPage );
joachim99@69 76 signals:
joachim99@69 77 void resizeSignal( int nofVisibleColumns, int nofVisibleLines );
joachim99@69 78 void scroll( int deltaX, int deltaY );
joachim99@69 79 void newSelection();
joachim99@69 80 void selectionEnd();
joachim99@69 81 void setFastSelectorLine( int line );
joachim99@69 82 void gotFocus();
joachim99@69 83 void lineClicked( int winIdx, int line );
joachim99@69 84
joachim99@69 85 public slots:
joachim99@69 86 void setFirstLine( int line );
joachim99@69 87 void setFirstColumn( int col );
joachim99@69 88 void resetSelection();
joachim99@69 89 void setFastSelectorRange( int line1, int nofLines );
joachim99@69 90
joachim99@69 91 protected:
joachim99@69 92 virtual void mousePressEvent ( QMouseEvent * );
joachim99@69 93 virtual void mouseReleaseEvent ( QMouseEvent * );
joachim99@69 94 virtual void mouseMoveEvent ( QMouseEvent * );
joachim99@69 95 virtual void mouseDoubleClickEvent ( QMouseEvent * e );
joachim99@69 96
joachim99@69 97 virtual void paintEvent( QPaintEvent* );
joachim99@69 98 virtual void dragEnterEvent( QDragEnterEvent* e );
joachim99@69 99 virtual void focusInEvent( QFocusEvent* e );
joachim99@69 100
joachim99@69 101 virtual void resizeEvent( QResizeEvent* );
joachim99@69 102 virtual void timerEvent(QTimerEvent*);
joachim99@69 103
joachim99@69 104 private:
joachim99@69 105 DiffTextWindowData* d;
joachim99@69 106 void showStatusLine( int line );
joachim99@69 107 friend class DiffTextWindowFrame;
joachim99@69 108 };
joachim99@69 109
joachim99@69 110
joachim99@69 111 class DiffTextWindowFrameData;
joachim99@69 112
joachim99@69 113 class DiffTextWindowFrame : public QWidget
joachim99@69 114 {
joachim99@69 115 Q_OBJECT
joachim99@69 116 public:
joachim99@69 117 DiffTextWindowFrame( QWidget* pParent, QStatusBar* pStatusBar, OptionDialog* pOptionDialog, int winIdx );
joachim99@69 118 ~DiffTextWindowFrame();
joachim99@69 119 DiffTextWindow* getDiffTextWindow();
joachim99@69 120 void init();
joachim99@69 121 void setFirstLine(int firstLine);
joachim99@69 122 signals:
joachim99@69 123 void fileNameChanged(const QString&, int);
joachim99@69 124 protected:
joachim99@69 125 bool eventFilter( QObject*, QEvent* );
joachim99@69 126 private slots:
joachim99@69 127 void slotReturnPressed();
joachim99@69 128 void slotBrowseButtonClicked();
joachim99@69 129 private:
joachim99@69 130 DiffTextWindowFrameData* d;
joachim99@69 131 };
joachim99@69 132
joachim99@69 133
joachim99@69 134 #endif
joachim99@69 135