summaryrefslogtreecommitdiff
path: root/sw/inc/swtypes.hxx
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2000-09-18 16:15:01 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2000-09-18 16:15:01 +0000
commit7b0b5cdfeed656b279bc32cd929630d5fc25878b (patch)
tree5b89fb8497d7329d26c43f109bb014c54ffb0e8c /sw/inc/swtypes.hxx
parentd791366863cf9659a01b171ce0e727bfe2f28cdf (diff)
initial import
Diffstat (limited to 'sw/inc/swtypes.hxx')
-rw-r--r--sw/inc/swtypes.hxx298
1 files changed, 298 insertions, 0 deletions
diff --git a/sw/inc/swtypes.hxx b/sw/inc/swtypes.hxx
new file mode 100644
index 000000000000..7feecac77e08
--- /dev/null
+++ b/sw/inc/swtypes.hxx
@@ -0,0 +1,298 @@
+/*************************************************************************
+ *
+ * $RCSfile: swtypes.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 17:14:28 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+#ifndef _SWTYPES_HXX
+#define _SWTYPES_HXX
+
+#ifndef _SOLAR_H
+#include <tools/solar.h>
+#endif
+#include <limits.h> //fuer LONG_MAX
+
+#ifdef PM20
+#include <stdlib.h>
+#endif
+#ifndef _COM_SUN_STAR_UNO_REFERENCE_H_
+#include <com/sun/star/uno/Reference.h>
+#endif
+#ifndef _HORIORNT_HXX
+#include <horiornt.hxx>
+#endif
+
+// wenn das hier geaendert wird, dann auch im globals.hrc aendern!!!
+//#define SW_FILEFORMAT_40 SOFFICE_FILEFORMAT_40
+
+namespace com{namespace sun{namespace star{
+ namespace linguistic{
+ class XDictionaryList;
+ class XSpellChecker1;
+ class XHyphenator;
+ class XThesaurus;
+ }
+ namespace beans{
+ class XPropertySet;
+ }
+}}}
+class Size;
+class MapMode;
+class ResMgr;
+class UniString;
+class ByteString;
+class SwPathFinder;
+class Graphic;
+class OutputDevice;
+class CharClass;
+
+typedef long SwTwips;
+#define INVALID_TWIPS LONG_MAX
+#define TWIPS_MAX (LONG_MAX - 1)
+
+#define MM50 283 // 1/2 cm in TWIPS
+
+#define MINFLY 23 //Minimalgroesse fuer FlyFrms
+#define MINLAY 23 //Minimalgroesse anderer Frms
+
+// Default-Spaltenabstand zweier Textspalten entspricht 0.3 cm
+#define DEF_GUTTER_WIDTH (MM50 / 5 * 3)
+
+//Minimale Distance (Abstand zum Text) fuer das BorderAttribut, damit
+//die aligned'en Linien nicht geplaettet werden.
+//28 Twips == 0,4mm
+#define MIN_BORDER_DIST 28
+
+ /* minimaler Dokmentrand */
+const SwTwips lMinBorder = 1134;
+
+//Die Wiesenbreite links neben und ueber dem Dokument.
+//Die halbe Wiesenbreite ist der Abstand zwischen den Seiten.
+#define DOCUMENTBORDER 568L
+
+//initiale UndoActionCount
+#define UNDO_ACTION_COUNT 20
+
+// Konstante Strings
+extern UniString aEmptyStr; // ""
+extern ByteString aEmptyByteStr; // ""
+extern UniString aDotStr; // '.'
+
+extern const sal_Char* __FAR_DATA pDefWordDelim; // alle Worttrenner
+extern const sal_Char* __FAR_DATA pGlosExt; // def. Ext. fuer AutoText in glosdoc.cxx
+
+
+//Zum Einfuegen von Beschriftungen (wie bzw. wo soll eingefuegt werden).
+//Hier weil ein eigenes hxx nicht lohnt und es sonst nirgendwo so recht
+//hinpasst.
+enum SwLabelType
+{
+ LTYPE_TABLE, //Beschriftung einer Tabelle
+ LTYPE_OBJECT, //Beschriftung von Grafik oder OLE
+ LTYPE_FLY, //Beschriftung eines (Text-)Rahmens
+ LTYPE_DRAW //Beschriftung eines Zeichen-Objektes
+};
+
+
+const BYTE OLD_MAXLEVEL = 5;
+const BYTE MAXLEVEL = 10; //Ehemals numrule.hxx
+const BYTE NO_NUM = 200; //Ehemals numrule.hxx
+const BYTE NO_NUMBERING = 201; //Ehemals numrule.hxx
+const BYTE NO_INIT = 202; //Ehemals numrule.hxx
+
+// fuer Absaetze mit NO_NUM aber auf unterschiedlichen Leveln
+// DAMIT entfaellt das NO_NUM !!!!
+const BYTE NO_NUMLEVEL = 0x20; // wird mit den Levels verodert
+
+
+/*
+ * Nette Funktionen als MACRO oder inline
+ */
+
+/* ein KiloByte sind 1024 Byte */
+#define KB 1024
+
+#define SET_CURR_SHELL( shell ) CurrShell aCurr( shell )
+
+// pPathFinder wird von der UI initialisiert. Die Klasse liefert alle
+// benoetigten Pfade.
+extern SwPathFinder *pPathFinder;
+
+// Werte fuer die Einzuege an der Nummerierung und BulletListe
+// (fuer die weiteren Ebenen sind die Werte mit den Ebenen+1 zu
+// multiplizieren; Ebenen 0..4 !!!)
+const USHORT lBullIndent = 567 / 2;
+const short lBullFirstLineOffset = -567 / 2;
+const USHORT lNumIndent = 567 / 2;
+const short lNumFirstLineOffset = -567 / 2;
+
+
+ // Enum um am Doc abzufragen, ob es sich bei dem Namen um einem
+ // aus unserem Pool handelt.
+enum SwGetPoolIdFromName
+{
+ GET_POOLID_TXTCOLL = 0x01,
+ GET_POOLID_CHRFMT = 0x02,
+ GET_POOLID_FRMFMT = 0x04,
+ GET_POOLID_PAGEDESC = 0x08,
+ GET_POOLID_NUMRULE = 0x10
+};
+
+// Anzahl der SystemField-Types vom SwDoc
+#define INIT_FLDTYPES 30
+// Anzahl der vordefinierten Seq-Feldtypen. Es handelt sich dabei
+// immer um die letzen Felder vor INIT_FLDTYPES
+#define INIT_SEQ_FLDTYPES 4
+
+//Die ehemaligen Rendevouz-Ids leben weiter:
+//Es gibt Ids fuer die Anker (SwFmtAnchor) und ein paar weitere die nur fuer
+//Schnittstellen Bedeutung haben (SwDoc).
+enum RndStdIds
+{
+ FLY_AT_CNTNT, //Absatzgebundener Rahmen
+ FLY_IN_CNTNT, //Zeichengebundener Rahmen
+ FLY_PAGE, //Seitengebundener Rahmen
+ FLY_AT_FLY, //Rahmengebundener Rahmen ( LAYER_IMPL )
+ FLY_AUTO_CNTNT, //Automatisch positionierter, absatzgebundener Rahmen
+ //Der Rest wird nur fuer SS benutzt.
+ RND_STD_HEADER,
+ RND_STD_FOOTER,
+ RND_STD_HEADERL,
+ RND_STD_HEADERR,
+ RND_STD_FOOTERL,
+ RND_STD_FOOTERR,
+
+ RND_DRAW_OBJECT // ein Draw-Object !! nur fuer die SwDoc-Schnittstelle!
+};
+
+
+extern ResMgr* pSwResMgr; // steht in swapp0.cxx
+#define SW_RES(i) ResId(i,pSwResMgr)
+#define SW_RESSTR(i) UniString(ResId(i,pSwResMgr))
+
+#if defined( WIN ) || defined( WNT ) || defined( PM2 )
+#define DDE_AVAILABLE
+#endif
+
+// SpellChecker, Hyphenator kommen aus der OFA.
+//
+::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic::XSpellChecker1 > GetSpellChecker();
+::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic::XHyphenator > GetHyphenator();
+::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic::XThesaurus > GetThesaurus();
+::com::sun::star::uno::Reference<
+ ::com::sun::star::linguistic::XDictionaryList > GetDictionaryList();
+::com::sun::star::uno::Reference<
+ ::com::sun::star::beans::XPropertySet > GetLinguPropertySet();
+
+// reutns the twip size of this graphic
+Size GetGraphicSizeTwip( const Graphic&, OutputDevice* pOutDev );
+
+
+// Seperator fuer Sprunge im Dokument auf verschiedene Inhalttype
+const sal_Unicode cMarkSeperator = '|';
+extern const sal_Char* __FAR_DATA pMarkToTable; // Strings stehen
+extern const sal_Char* __FAR_DATA pMarkToFrame; // im Init.cxx
+extern const sal_Char* __FAR_DATA pMarkToRegion;
+extern const sal_Char* __FAR_DATA pMarkToOutline;
+extern const sal_Char* __FAR_DATA pMarkToText;
+extern const sal_Char* __FAR_DATA pMarkToGraphic;
+extern const sal_Char* __FAR_DATA pMarkToOLE;
+
+#ifndef DB_DELIM // Ist in OFA definiert!!!
+#define DB_DELIM ((sal_Unicode)0xff) // Datenbank <-> Tabellen-Trenner
+#endif
+
+
+enum SetAttrMode
+{
+ SETATTR_DEFAULT = 0x0000, // default
+ SETATTR_DONTEXPAND = 0x0001, // TextAttribute nicht weiter expand.
+ SETATTR_DONTREPLACE = 0x0002, // kein anderes TextAttrib verdraengen
+
+ SETATTR_NOTXTATRCHR = 0x0004, // bei Attr ohne Ende kein 0xFF einfuegen
+ SETATTR_NOHINTADJUST = 0x0008, // keine Zusammenfassung von Bereichen.
+ SETATTR_NOFORMATATTR = 0x0010, // nicht zum FormatAttribut umwandeln
+ SETATTR_DONTCHGNUMRULE = 0x0020 // nicht die NumRule veraendern
+};
+
+//Umrechnung Twip<-> 1/100 mm fuer UNO
+
+#define TWIP_TO_MM100(TWIP) ((TWIP) >= 0 ? (((TWIP)*127L+36L)/72L) : (((TWIP)*127L-36L)/72L))
+#define MM100_TO_TWIP(MM100) ((MM100) >= 0 ? (((MM100)*72L+63L)/127L) : (((MM100)*72L-63L)/127L))
+
+#define SW_ISPRINTABLE( c ) ( c >= ' ' && 127 != c )
+
+#ifndef SW_CONSTASCII_DECL
+#define SW_CONSTASCII_DECL( n, s ) n[sizeof(s)]
+#endif
+#ifndef SW_CONSTASCII_DEF
+#define SW_CONSTASCII_DEF( n, s ) n[sizeof(s)] = s
+#endif
+
+
+#define CHAR_HARDBLANK ((sal_Unicode)0x00A0)
+#define CHAR_HARDHYPHEN ((sal_Unicode)0x2011)
+#define CHAR_SOFTHYPHEN ((sal_Unicode)0x00AD)
+
+// returns the APP - CharClass instance - used for all ToUpper/ToLower/...
+CharClass& GetAppCharClass();
+
+
+#endif