xref: /AOO41X/main/sw/inc/inetfld.hxx (revision 1d2dbeb0b7301723c6d13094e87a8714ef81a328)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 #ifndef SW_INETFLD_HXX
24 #define SW_INETFLD_HXX
25 
26 
27 #include "fldbas.hxx"
28 
29 class SvxMacro;
30 class SvxMacroTableDtor;
31 class SwINetField;
32 class SwCharFmt;
33 class SwDoc;
34 
35 /*--------------------------------------------------------------------
36     Beschreibung: InterNet-FieldType -> Lade Document mit der URL
37  --------------------------------------------------------------------*/
38 
39 class SwINetFieldType : public SwFieldType
40 {
41     SwDepend aNormalFmt;
42     SwDepend aVisitFmt;
43     SwDoc* pDoc;
44 
45 public:
46     SwINetFieldType( SwDoc* pDoc );
47 
48     virtual SwFieldType*    Copy() const;
49 
50     SwCharFmt*              GetCharFmt( const SwINetField& rFld );
51 
GetDoc() const52     SwDoc* GetDoc() const   { return pDoc; }
53 };
54 
55 /*--------------------------------------------------------------------
56     Beschreibung: InterNet-Field -> Lade Document mit der URL
57  --------------------------------------------------------------------*/
58 
59 class SwINetField : public SwField
60 {
61     friend class SwINetFieldType;
62 
63     String  sTargetFrameName;   // in diesen Frame soll die URL
64     String  sURL;
65     String  sText;
66     SvxMacroTableDtor* pMacroTbl;
67 
68     virtual String   Expand() const;
69     virtual SwField* Copy() const;
70 
71 public:
72     // Direkte Eingabe alten Wert loeschen
73     SwINetField( SwINetFieldType* pTyp, sal_uInt16 nFmt,
74                   const String& rURL, const String& rText );
75     virtual ~SwINetField();
76 
77     virtual String   GetFieldName() const;
78 
79     // URL
80     virtual const String& GetPar1() const;
81     virtual void    SetPar1(const String& rStr);
82 
83     // HinweisText
84     virtual String  GetPar2() const;
85     virtual void    SetPar2(const String& rStr);
86 
87     // das ist das akt. Zeichenformat
88           SwCharFmt* GetCharFmt();
GetCharFmt() const89     const SwCharFmt* GetCharFmt() const
90             { return ((SwINetField*)this)->GetCharFmt(); }
91 
GetTargetFrameName() const92     const String& GetTargetFrameName() const        { return sTargetFrameName; }
SetTargetFrameName(const String & rNm)93     void SetTargetFrameName( const String& rNm )    { sTargetFrameName = rNm; }
94 
95     // setze eine neue oder loesche die akt. MakroTabelle
96     void SetMacroTbl( const SvxMacroTableDtor* pTbl = 0 );
GetMacroTbl() const97     const SvxMacroTableDtor* GetMacroTbl() const    { return pMacroTbl; }
98 
99     // setze / erfrage ein Makro
100     void SetMacro( sal_uInt16 nEvent, const SvxMacro& rMacro );
101     const SvxMacro* GetMacro( sal_uInt16 nEvent ) const;
102 };
103 
104 
105 #endif // SW_INETFLD_HXX
106 
107