annotate kdiff3/src-QT4/difftextwindow.h @ 113:7bca1f1340f6 tip

Build fixes for Xcode 10 / Qt 5.12
author Chris Cannam
date Mon, 17 Dec 2018 11:13:01 +0000
parents 4e6ebbbae925
children
rev   line source
joachim99@69 1 /***************************************************************************
joachim99@69 2 difftextwindow.h - description
joachim99@69 3 -------------------
joachim99@69 4 begin : Mon Mar 18 2002
joachim99@77 5 copyright : (C) 2002-2007 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@75 23 #include <QWidget>
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@92 43 QTextCodec* pCodec,
joachim99@92 44 e_LineEndStyle eLineEndStyle,
joachim99@69 45 const LineData* pLineData,
joachim99@69 46 int size,
joachim99@69 47 const Diff3LineVector* pDiff3LineVector,
joachim99@69 48 const ManualDiffHelpList* pManualDiffHelpList,
joachim99@69 49 bool bTriple
joachim99@69 50 );
joachim99@69 51 void reset();
joachim99@69 52 void convertToLinePos( int x, int y, int& line, int& pos );
joachim99@69 53
joachim99@69 54 QString getSelection();
joachim99@69 55 int getFirstLine();
joachim99@69 56 int calcTopLineInFile( int firstLine );
joachim99@69 57
joachim99@69 58 int getNofColumns();
joachim99@69 59 int getNofLines();
joachim99@69 60 int getNofVisibleLines();
joachim99@69 61 int getNofVisibleColumns();
joachim99@69 62
joachim99@69 63 int convertLineToDiff3LineIdx( int line );
joachim99@69 64 int convertDiff3LineIdxToLine( int d3lIdx );
joachim99@69 65
joachim99@69 66 void convertD3LCoordsToLineCoords( int d3LIdx, int d3LPos, int& line, int& pos );
joachim99@69 67 void convertLineCoordsToD3LCoords( int line, int pos, int& d3LIdx, int& d3LPos );
joachim99@69 68
joachim99@69 69 void convertSelectionToD3LCoords();
joachim99@69 70
joachim99@69 71 bool findString( const QString& s, int& d3vLine, int& posInLine, bool bDirDown, bool bCaseSensitive );
joachim99@69 72 void setSelection( int firstLine, int startPos, int lastLine, int endPos, int& l, int& p );
joachim99@69 73 void getSelectionRange( int* firstLine, int* lastLine, e_CoordType coordType );
joachim99@69 74
joachim99@69 75 void setPaintingAllowed( bool bAllowPainting );
joachim99@69 76 void recalcWordWrap( bool bWordWrap, int wrapLineVectorSize, int nofVisibleColumns );
joachim99@69 77 void print( MyPainter& painter, const QRect& r, int firstLine, int nofLinesPerPage );
joachim99@69 78 signals:
joachim99@69 79 void resizeSignal( int nofVisibleColumns, int nofVisibleLines );
joachim99@69 80 void scroll( int deltaX, int deltaY );
joachim99@69 81 void newSelection();
joachim99@69 82 void selectionEnd();
joachim99@69 83 void setFastSelectorLine( int line );
joachim99@69 84 void gotFocus();
joachim99@69 85 void lineClicked( int winIdx, int line );
joachim99@69 86
joachim99@69 87 public slots:
joachim99@69 88 void setFirstLine( int line );
joachim99@69 89 void setFirstColumn( int col );
joachim99@69 90 void resetSelection();
joachim99@69 91 void setFastSelectorRange( int line1, int nofLines );
joachim99@69 92
joachim99@69 93 protected:
joachim99@69 94 virtual void mousePressEvent ( QMouseEvent * );
joachim99@69 95 virtual void mouseReleaseEvent ( QMouseEvent * );
joachim99@69 96 virtual void mouseMoveEvent ( QMouseEvent * );
joachim99@69 97 virtual void mouseDoubleClickEvent ( QMouseEvent * e );
joachim99@69 98
joachim99@69 99 virtual void paintEvent( QPaintEvent* );
joachim99@69 100 virtual void dragEnterEvent( QDragEnterEvent* e );
joachim99@69 101 virtual void focusInEvent( QFocusEvent* e );
joachim99@69 102
joachim99@69 103 virtual void resizeEvent( QResizeEvent* );
joachim99@69 104 virtual void timerEvent(QTimerEvent*);
joachim99@69 105
joachim99@69 106 private:
joachim99@69 107 DiffTextWindowData* d;
joachim99@69 108 void showStatusLine( int line );
joachim99@69 109 friend class DiffTextWindowFrame;
joachim99@69 110 };
joachim99@69 111
joachim99@69 112
joachim99@69 113 class DiffTextWindowFrameData;
joachim99@69 114
joachim99@69 115 class DiffTextWindowFrame : public QWidget
joachim99@69 116 {
joachim99@69 117 Q_OBJECT
joachim99@69 118 public:
joachim99@69 119 DiffTextWindowFrame( QWidget* pParent, QStatusBar* pStatusBar, OptionDialog* pOptionDialog, int winIdx );
joachim99@69 120 ~DiffTextWindowFrame();
joachim99@69 121 DiffTextWindow* getDiffTextWindow();
joachim99@69 122 void init();
joachim99@69 123 void setFirstLine(int firstLine);
joachim99@69 124 signals:
joachim99@69 125 void fileNameChanged(const QString&, int);
joachim99@69 126 protected:
joachim99@69 127 bool eventFilter( QObject*, QEvent* );
joachim99@75 128 //void paintEvent(QPaintEvent*);
joachim99@69 129 private slots:
joachim99@69 130 void slotReturnPressed();
joachim99@69 131 void slotBrowseButtonClicked();
joachim99@69 132 private:
joachim99@69 133 DiffTextWindowFrameData* d;
joachim99@69 134 };
joachim99@69 135
joachim99@69 136
joachim99@69 137 #endif
joachim99@69 138