You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
176 lines
3.8 KiB
176 lines
3.8 KiB
|
|
/*
|
|
** Header file for inclusion with kword_xml2latex.c
|
|
**
|
|
** Copyright (C) 2000 Robert JACOLIN
|
|
**
|
|
** 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.
|
|
**
|
|
** To receive a copy of the GNU Library General Public License, write to the
|
|
** Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
* Boston, MA 02110-1301, USA.
|
|
**
|
|
*/
|
|
|
|
#ifndef __KWORD_ELEMENT_H__
|
|
#define __KWORD_ELEMENT_H__
|
|
|
|
#include <tqtextstream.h>
|
|
#include "xmlparser.h"
|
|
#include "border.h"
|
|
|
|
/* FRAMESET */
|
|
enum SType
|
|
{
|
|
ST_NONE,
|
|
ST_TEXT,
|
|
ST_PICTURE,
|
|
ST_PART, /* This last Type mustn't be */
|
|
ST_FORMULA, /* displayed where they are. */
|
|
ST_CLIPART,
|
|
ST_HLINE
|
|
};
|
|
|
|
enum SSect
|
|
{
|
|
SS_NONE,
|
|
SS_HEADERS,
|
|
SS_FOOTERS,
|
|
SS_BODY,
|
|
SS_FOOTNOTES,
|
|
SS_TABLE
|
|
};
|
|
|
|
enum SInfo
|
|
{
|
|
SI_NONE,
|
|
SI_FIRST,
|
|
SI_ODD,
|
|
SI_EVEN
|
|
};
|
|
|
|
/* FRAME */
|
|
enum TAround
|
|
{
|
|
TA_NONE,
|
|
TA_FRAME,
|
|
TA_TEXT
|
|
};
|
|
|
|
enum TCreate
|
|
{
|
|
TC_EXTEND,
|
|
TC_CREATE,
|
|
TC_IGNORE
|
|
};
|
|
|
|
enum TNFrame
|
|
{
|
|
TF_RECONNECT,
|
|
TF_NOCREATION,
|
|
TF_COPY
|
|
};
|
|
|
|
enum TSide
|
|
{
|
|
TS_ANYSIDE,
|
|
TS_ODDPAGE,
|
|
TS_EVENPAGE
|
|
};
|
|
|
|
/***********************************************************************/
|
|
/* Class: Element */
|
|
/***********************************************************************/
|
|
|
|
/**
|
|
* This class is a element. An element is a component of a frame (text, picture,
|
|
* formula, ...).
|
|
*/
|
|
class Element: public XmlParser, public Border
|
|
{
|
|
/* FRAMESET PARAM */
|
|
SType _type;
|
|
SSect _section;
|
|
SInfo _hinfo;
|
|
TQString _name;
|
|
bool _removable;
|
|
bool _visible;
|
|
TQString _grpMgr;
|
|
int _row,
|
|
_col,
|
|
_rows,
|
|
_cols;
|
|
|
|
/* USEFULL DATA */
|
|
|
|
public:
|
|
/**
|
|
* Constructors
|
|
*
|
|
* Creates a new instance of Element.
|
|
*
|
|
*/
|
|
Element();
|
|
|
|
/*
|
|
* Destructor
|
|
*
|
|
*/
|
|
virtual ~Element();
|
|
|
|
/*virtual bool hasColor() const = 0;
|
|
virtual bool hasUline() const = 0;*/
|
|
/**
|
|
* Accessors
|
|
*/
|
|
SSect getSection () const { return _section; }
|
|
SType getType () const { return _type; }
|
|
SInfo getInfo () const { return _hinfo; }
|
|
TQString getName () const { return _name; }
|
|
bool isVisible () const { return _visible; }
|
|
bool isRemovable() const { return _removable; }
|
|
TQString getGrpMgr () const { return _grpMgr; }
|
|
int getRow () const { return _row; }
|
|
int getCol () const { return _col; }
|
|
int getRows () const { return _rows; }
|
|
int getCols () const { return _cols; }
|
|
bool isTable () const { return (_section == SS_TABLE); }
|
|
|
|
/**
|
|
* Modifiors
|
|
*/
|
|
void setType (SType t) { _type = t; }
|
|
void setSection (SSect s) { _section = s; }
|
|
void setVisible (bool v) { _visible = v; }
|
|
void setRemovable(bool r) { _removable = r; }
|
|
void setGrpMgr (TQString g) { _grpMgr = g; }
|
|
void setRow (int r) { _row = r; }
|
|
void setCol (int c) { _col = c; }
|
|
void setRows (int r) { _rows = r; }
|
|
void setCols (int c) { _cols = c; }
|
|
|
|
/**
|
|
* Helpfull functions
|
|
*/
|
|
|
|
/**
|
|
* Get informations about frameset markupt only from a
|
|
* markup tree.
|
|
*/
|
|
virtual void analyse(const TQDomNode);
|
|
virtual void generate(TQTextStream&) = 0;
|
|
|
|
private:
|
|
void analyseParam(const TQDomNode);
|
|
};
|
|
|
|
#endif /* __KWORD_ELEMENT_H__ */
|