\section{Kate\-Super\-Range Class Reference}
\label{classKateSuperRange}\index{KateSuperRange@{KateSuperRange}}
Represents a range of text, from the start() to the end().  


{\tt \#include $<$katesupercursor.h$>$}

Inheritance diagram for Kate\-Super\-Range:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=64pt]{classKateSuperRange__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for Kate\-Super\-Range:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=96pt]{classKateSuperRange__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{CompactItemize}
\item 
enum {\bf Insert\-Behaviour} \{ {\bf Do\-Not\-Expand} =  0, 
{\bf Expand\-Left} =  0x1, 
{\bf Expand\-Right} =  0x2
 \}
\end{CompactItemize}
\subsection*{Public Slots}
\begin{CompactItemize}
\item 
void {\bf slot\-Tag\-Range} ()\label{classKateSuperRange_i0}

\end{CompactItemize}
\subsection*{Signals}
\begin{CompactItemize}
\item 
void {\bf position\-Changed} ()
\item 
void {\bf position\-Un\-Changed} ()
\item 
void {\bf contents\-Changed} ()
\item 
void {\bf boundary\-Deleted} ()
\item 
void {\bf eliminated} ()
\item 
void {\bf tag\-Range} ({\bf Kate\-Super\-Range} $\ast$range)
\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf Kate\-Super\-Range} ({\bf Kate\-Super\-Cursor} $\ast$start, {\bf Kate\-Super\-Cursor} $\ast$end, {\bf QObject} $\ast${\bf parent}=0L, const char $\ast${\bf name}=0L)
\item 
{\bf Kate\-Super\-Range} (Kate\-Document $\ast$doc, const Kate\-Range \&range, {\bf QObject} $\ast${\bf parent}=0L, const char $\ast${\bf name}=0L)\label{classKateSuperRange_a1}

\item 
{\bf Kate\-Super\-Range} (Kate\-Document $\ast$doc, const {\bf Kate\-Text\-Cursor} \&start, const {\bf Kate\-Text\-Cursor} \&end, {\bf QObject} $\ast${\bf parent}=0L, const char $\ast${\bf name}=0L)\label{classKateSuperRange_a2}

\item 
virtual {\bf Kate\-Text\-Cursor} \& {\bf start} ()\label{classKateSuperRange_a4}

\item 
virtual {\bf Kate\-Text\-Cursor} \& {\bf end} ()\label{classKateSuperRange_a5}

\item 
virtual const {\bf Kate\-Text\-Cursor} \& {\bf start} () const \label{classKateSuperRange_a6}

\item 
virtual const {\bf Kate\-Text\-Cursor} \& {\bf end} () const \label{classKateSuperRange_a7}

\item 
void {\bf allow\-Zero\-Length} (bool yes=true)\label{classKateSuperRange_a8}

\item 
{\bf Kate\-Super\-Cursor} \& {\bf super\-Start} ()
\item 
const {\bf Kate\-Super\-Cursor} \& {\bf super\-Start} () const \label{classKateSuperRange_a10}

\item 
{\bf Kate\-Super\-Cursor} \& {\bf super\-End} ()
\item 
const {\bf Kate\-Super\-Cursor} \& {\bf super\-End} () const \label{classKateSuperRange_a12}

\item 
int {\bf behaviour} () const 
\item 
void {\bf set\-Behaviour} (int behaviour)
\item 
virtual bool {\bf is\-Valid} () const 
\item 
bool {\bf owns} (const {\bf Kate\-Text\-Cursor} \&cursor) const 
\item 
bool {\bf includes} (const {\bf Kate\-Text\-Cursor} \&cursor) const 
\item 
bool {\bf includes} (uint line\-Num) const 
\item 
bool {\bf includes\-Whole\-Line} (uint line\-Num) const 
\item 
bool {\bf boundary\-At} (const {\bf Kate\-Text\-Cursor} \&cursor) const 
\item 
bool {\bf boundary\-On} (uint line\-Num) const 
\end{CompactItemize}
\subsection*{Friends}
\begin{CompactItemize}
\item 
class {\bf Kate\-Super\-Range\-List}\label{classKateSuperRange_n0}

\end{CompactItemize}


\subsection{Detailed Description}
Represents a range of text, from the start() to the end(). 

Also tracks its position and emits useful signals. 



Definition at line 168 of file katesupercursor.h.

\subsection{Member Enumeration Documentation}
\index{KateSuperRange@{Kate\-Super\-Range}!InsertBehaviour@{InsertBehaviour}}
\index{InsertBehaviour@{InsertBehaviour}!KateSuperRange@{Kate\-Super\-Range}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Kate\-Super\-Range::Insert\-Behaviour}}\label{classKateSuperRange_w3}


Determine how the range reacts to characters inserted immediately outside the range. 

\begin{Desc}
\item[Enumeration values: ]\par
\begin{description}
\index{DoNotExpand@{DoNotExpand}!KateSuperRange@{KateSuperRange}}\index{KateSuperRange@{KateSuperRange}!DoNotExpand@{DoNotExpand}}\item[{\em 
Do\-Not\-Expand\label{classKateSuperRange_w3w0}
}]Don't expand to encapsulate new characters in either direction. This is the default. \index{ExpandLeft@{ExpandLeft}!KateSuperRange@{KateSuperRange}}\index{KateSuperRange@{KateSuperRange}!ExpandLeft@{ExpandLeft}}\item[{\em 
Expand\-Left\label{classKateSuperRange_w3w1}
}]Expand to encapsulate new characters to the left of the range. \index{ExpandRight@{ExpandRight}!KateSuperRange@{KateSuperRange}}\index{KateSuperRange@{KateSuperRange}!ExpandRight@{ExpandRight}}\item[{\em 
Expand\-Right\label{classKateSuperRange_w3w2}
}]Expand to encapsulate new characters to the right of the range. \end{description}
\end{Desc}



Definition at line 176 of file katesupercursor.h.

\subsection{Constructor \& Destructor Documentation}
\index{KateSuperRange@{Kate\-Super\-Range}!KateSuperRange@{KateSuperRange}}
\index{KateSuperRange@{KateSuperRange}!KateSuperRange@{Kate\-Super\-Range}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Kate\-Super\-Range::Kate\-Super\-Range ({\bf Kate\-Super\-Cursor} $\ast$ {\em start}, {\bf Kate\-Super\-Cursor} $\ast$ {\em end}, {\bf QObject} $\ast$ {\em parent} = {\tt 0L}, const char $\ast$ {\em name} = {\tt 0L})}\label{classKateSuperRange_a0}


Constructor. 

Takes posession of {\tt start} and {\tt end}. 

Definition at line 275 of file katesupercursor.cpp.

\subsection{Member Function Documentation}
\index{KateSuperRange@{Kate\-Super\-Range}!superStart@{superStart}}
\index{superStart@{superStart}!KateSuperRange@{Kate\-Super\-Range}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Kate\-Super\-Cursor} \& Kate\-Super\-Range::super\-Start ()}\label{classKateSuperRange_a9}


Returns the super start cursor. 



Definition at line 368 of file katesupercursor.cpp.

Referenced by boundary\-At(), boundary\-On(), includes(), includes\-Whole\-Line(), and is\-Valid().\index{KateSuperRange@{Kate\-Super\-Range}!superEnd@{superEnd}}
\index{superEnd@{superEnd}!KateSuperRange@{Kate\-Super\-Range}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Kate\-Super\-Cursor} \& Kate\-Super\-Range::super\-End ()}\label{classKateSuperRange_a11}


Returns the super end cursor. 



Definition at line 378 of file katesupercursor.cpp.

Referenced by boundary\-At(), boundary\-On(), includes(), includes\-Whole\-Line(), and is\-Valid().\index{KateSuperRange@{Kate\-Super\-Range}!behaviour@{behaviour}}
\index{behaviour@{behaviour}!KateSuperRange@{Kate\-Super\-Range}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Kate\-Super\-Range::behaviour () const}\label{classKateSuperRange_a13}


Returns how this range reacts to characters inserted immediately outside the range. 



Definition at line 388 of file katesupercursor.cpp.

References Do\-Not\-Expand, Expand\-Left, Expand\-Right, and Kate\-Super\-Cursor::move\-On\-Insert().\index{KateSuperRange@{Kate\-Super\-Range}!setBehaviour@{setBehaviour}}
\index{setBehaviour@{setBehaviour}!KateSuperRange@{Kate\-Super\-Range}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Kate\-Super\-Range::set\-Behaviour (int {\em behaviour})}\label{classKateSuperRange_a14}


Determine how the range should react to characters inserted immediately outside the range. 

TODO does this need a custom function to enable determining of the behavior based on the text that is inserted / deleted?

\begin{Desc}
\item[See also:]{\bf Insert\-Behaviour}{\rm (p.\,\pageref{classKateSuperRange_w3})} \end{Desc}


Definition at line 393 of file katesupercursor.cpp.

References Expand\-Left, Expand\-Right, and Kate\-Super\-Cursor::set\-Move\-On\-Insert().\index{KateSuperRange@{Kate\-Super\-Range}!isValid@{isValid}}
\index{isValid@{isValid}!KateSuperRange@{Kate\-Super\-Range}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Kate\-Super\-Range::is\-Valid () const\hspace{0.3cm}{\tt  [virtual]}}\label{classKateSuperRange_a15}


Start and end must be valid and start $<$= end. 



Definition at line 399 of file katesupercursor.cpp.

References super\-End(), and super\-Start().

Referenced by boundary\-At(), boundary\-On(), includes(), and includes\-Whole\-Line().\index{KateSuperRange@{Kate\-Super\-Range}!owns@{owns}}
\index{owns@{owns}!KateSuperRange@{Kate\-Super\-Range}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Kate\-Super\-Range::owns (const {\bf Kate\-Text\-Cursor} \& {\em cursor}) const}\label{classKateSuperRange_a16}


This is for use where the ranges are used in a heirachy, ie. 

their parents are Kate\-Super\-Ranges which completely encapsulate them.

\begin{Desc}
\item[Returns:]true if the range contains the cursor and no children also contain it; false otherwise. \end{Desc}


Definition at line 404 of file katesupercursor.cpp.

References QObject::children(), and includes().\index{KateSuperRange@{Kate\-Super\-Range}!includes@{includes}}
\index{includes@{includes}!KateSuperRange@{Kate\-Super\-Range}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Kate\-Super\-Range::includes (const {\bf Kate\-Text\-Cursor} \& {\em cursor}) const}\label{classKateSuperRange_a17}


Returns true if the range includes {\tt cursor} 's character. 

Returns false if {\tt cursor} == end(). 

Definition at line 417 of file katesupercursor.cpp.

References is\-Valid(), super\-End(), and super\-Start().

Referenced by owns().\index{KateSuperRange@{Kate\-Super\-Range}!includes@{includes}}
\index{includes@{includes}!KateSuperRange@{Kate\-Super\-Range}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Kate\-Super\-Range::includes (uint {\em line\-Num}) const}\label{classKateSuperRange_a18}


Returns true if the range includes {\tt line}. 



Definition at line 422 of file katesupercursor.cpp.

References is\-Valid(), Kate\-Text\-Cursor::line(), super\-End(), and super\-Start().\index{KateSuperRange@{Kate\-Super\-Range}!includesWholeLine@{includesWholeLine}}
\index{includesWholeLine@{includesWholeLine}!KateSuperRange@{Kate\-Super\-Range}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Kate\-Super\-Range::includes\-Whole\-Line (uint {\em line\-Num}) const}\label{classKateSuperRange_a19}


Returns true if the range totally encompasses {\tt line}. 



Definition at line 427 of file katesupercursor.cpp.

References Kate\-Super\-Cursor::at\-End\-Of\-Line(), Kate\-Super\-Cursor::at\-Start\-Of\-Line(), is\-Valid(), Kate\-Text\-Cursor::line(), super\-End(), and super\-Start().\index{KateSuperRange@{Kate\-Super\-Range}!boundaryAt@{boundaryAt}}
\index{boundaryAt@{boundaryAt}!KateSuperRange@{Kate\-Super\-Range}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Kate\-Super\-Range::boundary\-At (const {\bf Kate\-Text\-Cursor} \& {\em cursor}) const}\label{classKateSuperRange_a20}


Returns whether {\tt cursor} is the site of a boundary of this range. 



Definition at line 432 of file katesupercursor.cpp.

References is\-Valid(), super\-End(), and super\-Start().\index{KateSuperRange@{Kate\-Super\-Range}!boundaryOn@{boundaryOn}}
\index{boundaryOn@{boundaryOn}!KateSuperRange@{Kate\-Super\-Range}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool Kate\-Super\-Range::boundary\-On (uint {\em line\-Num}) const}\label{classKateSuperRange_a21}


Returns whether there is a boundary of this range on {\tt line}. 



Definition at line 437 of file katesupercursor.cpp.

References is\-Valid(), Kate\-Text\-Cursor::line(), super\-End(), and super\-Start().\index{KateSuperRange@{Kate\-Super\-Range}!positionChanged@{positionChanged}}
\index{positionChanged@{positionChanged}!KateSuperRange@{Kate\-Super\-Range}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Kate\-Super\-Range::position\-Changed ()\hspace{0.3cm}{\tt  [signal]}}\label{classKateSuperRange_l0}


The range's position changed. 

\index{KateSuperRange@{Kate\-Super\-Range}!positionUnChanged@{positionUnChanged}}
\index{positionUnChanged@{positionUnChanged}!KateSuperRange@{Kate\-Super\-Range}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Kate\-Super\-Range::position\-Un\-Changed ()\hspace{0.3cm}{\tt  [signal]}}\label{classKateSuperRange_l1}


The range's position was unchanged. 

\index{KateSuperRange@{Kate\-Super\-Range}!contentsChanged@{contentsChanged}}
\index{contentsChanged@{contentsChanged}!KateSuperRange@{Kate\-Super\-Range}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Kate\-Super\-Range::contents\-Changed ()\hspace{0.3cm}{\tt  [signal]}}\label{classKateSuperRange_l2}


The contents of the range changed. 

\index{KateSuperRange@{Kate\-Super\-Range}!boundaryDeleted@{boundaryDeleted}}
\index{boundaryDeleted@{boundaryDeleted}!KateSuperRange@{Kate\-Super\-Range}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Kate\-Super\-Range::boundary\-Deleted ()\hspace{0.3cm}{\tt  [signal]}}\label{classKateSuperRange_l3}


Either cursor's surrounding characters were both deleted. 

\index{KateSuperRange@{Kate\-Super\-Range}!eliminated@{eliminated}}
\index{eliminated@{eliminated}!KateSuperRange@{Kate\-Super\-Range}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Kate\-Super\-Range::eliminated ()\hspace{0.3cm}{\tt  [signal]}}\label{classKateSuperRange_l4}


The range now contains no characters (ie. 

the start and end cursors are the same).

To eliminate this range under different conditions, connect the other signal directly to this signal. \index{KateSuperRange@{Kate\-Super\-Range}!tagRange@{tagRange}}
\index{tagRange@{tagRange}!KateSuperRange@{Kate\-Super\-Range}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Kate\-Super\-Range::tag\-Range ({\bf Kate\-Super\-Range} $\ast$ {\em range})\hspace{0.3cm}{\tt  [signal]}}\label{classKateSuperRange_l5}


Indicates the region needs re-drawing. 



The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
katesupercursor.h\item 
katesupercursor.cpp\end{CompactItemize}
