⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 booktoken.h

📁 PIXIL is a small footprint operating environment, complete with PDA PIM applications, a browser and
💻 H
字号:
/* This file is part of the KDE libraries    Copyright (C) 1997 Martin Jones (mjones@kde.org)              (C) 1997 Torben Weis (weis@kde.org)    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.*///-----------------------------------------------------------------------------//// This is a modified HTMLTokenizer from khtmlw.//#ifndef BOOKTOKEN_H#define BOOKTOKEN_H#include <qlist.h>#include <qstrlist.h>#include <qarray.h>// Every tag as deliverd by HTMLTokenizer starts with TAG_ESCAPE. This way// you can devide between tags and words.#define TAG_ESCAPE 13// The count of spaces used for each tab.#define TAB_SIZE 8//-----------------------------------------------------------------------------class BMToken{public:    BMToken( const char *t, int len )    {	tok = new char [ len + 1 ];	memcpy( tok, t, len+1 );	nextToken = 0;    }    ~BMToken()    {	delete [] tok;    }    char *token()	{ return tok; }    BMToken *next()	{ return nextToken; }    void setNext( BMToken *n )	{ nextToken = n; }private:    char *tok;    BMToken *nextToken;};//-----------------------------------------------------------------------------class BookmarkTokenizer{public:    BookmarkTokenizer();    ~BookmarkTokenizer();    void begin();    void write( const char * );    void end();    char* nextToken();    bool hasMoreTokens();    void first()	{ curr = head; }protected:    void reset();    void appendToken( const char *t, int len )    {	if ( len < 1 )	    return;	BMToken *tok = new BMToken( t, len );	if ( head )	{	    tail->setNext( tok );	    tail = tok;	}	else	{	    head = tail = tok;	}	if ( !curr )	    curr = tok;    }    protected:    char *buffer;    char *dest;    BMToken *head;    BMToken *tail;    BMToken *curr;        // the size of buffer    int size;        // are we in a html tag    bool tag;    // are we in quotes within a html tag    bool tquote;        // To avoid multiple spaces    bool space;    // Discard line breaks immediately after tags    bool discardCR;        // Area we in a <!-- comment --> block    bool comment;};//-----------------------------------------------------------------------------#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -