<commit_before>/* This file is part of the KDE project
   Copyright (C) 2001 <NAME> (<EMAIL>)

   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Library General Public
   License as published by the Free Software Foundation; either
   version 2 of the License, or (at your option) any later version.

   This library is distributed 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
   Library General Public License for more details.

   You should have received a copy of the GNU Library General Public License
   along with this library; see the file COPYING.LIB.  If not, write to
   the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
   Boston, MA 02111-1307, USA.
*/

#ifndef __ktexteditor_markinterface_h__
#define __ktexteditor_markinterface_h__

#include <qptrlist.h>

namespace KTextEditor
{

class Mark
{
  public:
    uint line;
    uint type;
};

/*
*  This is an interface for the KTextEditor::Document class !!!
*/
class MarkInterface
{
  friend class PrivateMarkInterface;
  
  public:
    MarkInterface ();
    virtual ~MarkInterface ();

    unsigned int markInterfaceNumber () const;

  //
  // slots !!!
  //
  public:
    virtual uint mark (uint line) = 0;

    virtual void setMark (uint line, uint markType) = 0;
    virtual void clearMark (uint line) = 0;

    virtual void addMark (uint line, uint markType) = 0;
    virtual void removeMark (uint line, uint markType) = 0;

    virtual QPtrList<KTextEditor::Mark> marks () = 0;
    virtual void clearMarks () = 0;
    
    enum MarkTypes
    {
      markType01= 0x1, // Bookmark !!!
      markType02= 0x2, // Breakpoint !!!
      markType03= 0x4,
      markType04= 0x8,
      markType05= 0x10,
      markType06= 0x20,
      markType07= 0x40,
      markType08= 0x80,
      markType09= 0x100,
      markType10= 0x200,
      markType11= 0x400,
      markType12= 0x800,
      markType13= 0x1000,
      markType14= 0x2000,
      markType15= 0x4000,
      markType16= 0x8000,
      markType17= 0x10000,
      markType18= 0x20000,
      markType19= 0x40000,<commit_msg>some comments for mark values<commit_after>/* This file is part of the KDE project
   Copyright (C) 2001 <NAME> (<EMAIL>)

   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Library General Public
   License as published by the Free Software Foundation; either
   version 2 of the License, or (at your option) any later version.

   This library is distributed 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
   Library General Public License for more details.

   You should have received a copy of the GNU Library General Public License
   along with this library; see the file COPYING.LIB.  If not, write to
   the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
   Boston, MA 02111-1307, USA.
*/

#ifndef __ktexteditor_markinterface_h__
#define __ktexteditor_markinterface_h__

#include <qptrlist.h>

namespace KTextEditor
{

class Mark
{
  public:
    uint line;
    uint type;
};

/*
*  This is an interface for the KTextEditor::Document class !!!
*/
class MarkInterface
{
  friend class PrivateMarkInterface;
  
  public:
    MarkInterface ();
    virtual ~MarkInterface ();

    unsigned int markInterfaceNumber () const;

  //
  // slots !!!
  //
  public:
    virtual uint mark (uint line) = 0;

    virtual void setMark (uint line, uint markType) = 0;
    virtual void clearMark (uint line) = 0;

    virtual void addMark (uint line, uint markType) = 0;
    virtual void removeMark (uint line, uint markType) = 0;

    virtual QPtrList<KTextEditor::Mark> marks () = 0;
    virtual void clearMarks () = 0;
    
    enum MarkTypes
    {
      markType01= 0x1, // Bookmark !!!
      markType02= 0x2, // Breakpoint active !!!
      markType03= 0x4, // Breakpoint reached !!!
      markType04= 0x8, // Breakpoint disabled !!!
      markType05= 0x10,// Execution mark !!!
      markType06= 0x20,
      markType07= 0x40,
      markType08= 0x80,
      markType09= 0x100,
      markType10= 0x200,
      markType11= 0x400,
      markType12= 0x800,
      markType13= 0x1000,
      markType14= 0x2000,
      markType15= 0x4000,
      markType16= 0x8000,
      markType17= 0x10000,
      markType18= 0x20000,
      markType19= 0x40000,
{'fraction_non_alphanumeric': 0.07759947241151902, 'fraction_numerical': 0.06067267531325566, 'mean_word_length': 2.9807524059492563, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5899792', 'n_tokens_mistral': 1580, 'n_tokens_neox': 1373, 'n_words': 526}