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 _SWUI_IDXMRK_HXX 24 #define _SWUI_IDXMRK_HXX 25 26 #include <com/sun/star/container/XNameAccess.hpp> 27 #include <sfx2/basedlgs.hxx> 28 29 #ifndef _FIXED_HXX //autogen 30 #include <vcl/fixed.hxx> 31 #endif 32 #include <vcl/lstbox.hxx> 33 #ifndef _COMBOBOX_HXX //autogen 34 #include <vcl/combobox.hxx> 35 #endif 36 #include <svx/stddlg.hxx> 37 38 #ifndef _FIELD_HXX //autogen 39 #include <vcl/field.hxx> 40 #endif 41 42 #ifndef _GROUP_HXX //autogen 43 #include <vcl/group.hxx> 44 #endif 45 46 #ifndef _BUTTON_HXX //autogen 47 #include <vcl/button.hxx> 48 #endif 49 50 #ifndef _IMAGEBTN_HXX //autogen 51 #include <vcl/button.hxx> 52 #endif 53 #include <sfx2/childwin.hxx> 54 #include "toxe.hxx" 55 #include <svtools/stdctrl.hxx> 56 #include <com/sun/star/i18n/XExtendedIndexEntrySupplier.hpp> 57 58 class SwWrtShell; 59 class SwTOXMgr; 60 class SwTOXMark; 61 /*-------------------------------------------------------------------- 62 Beschreibung: Markierung fuer Verzeichniseintrag einfuegen 63 --------------------------------------------------------------------*/ 64 class SwIndexMarkFloatDlg; 65 class SwIndexMarkModalDlg; 66 class SwIndexMarkDlg : public Window 67 { 68 friend class SwIndexMarkFloatDlg; 69 friend class SwIndexMarkModalDlg; 70 FixedLine aIndexFL; 71 FixedText aTypeFT; 72 ListBox aTypeDCB; 73 ImageButton aNewBT; 74 75 FixedText aEntryFT; 76 Edit aEntryED; 77 FixedText aPhoneticFT0; 78 Edit aPhoneticED0; 79 80 FixedText aKeyFT; 81 ComboBox aKeyDCB; 82 FixedText aPhoneticFT1; 83 Edit aPhoneticED1; 84 85 FixedText aKey2FT; 86 ComboBox aKey2DCB; 87 FixedText aPhoneticFT2; 88 Edit aPhoneticED2; 89 90 FixedText aLevelFT; 91 NumericField aLevelED; 92 CheckBox aMainEntryCB; 93 CheckBox aApplyToAllCB; 94 CheckBox aSearchCaseSensitiveCB; 95 CheckBox aSearchCaseWordOnlyCB; 96 97 98 OKButton aOKBT; 99 CancelButton aCancelBT; 100 HelpButton aHelpBT; 101 PushButton aDelBT; 102 //PushButton aNewBT; 103 104 ImageButton aPrevSameBT; 105 ImageButton aNextSameBT; 106 ImageButton aPrevBT; 107 ImageButton aNextBT; 108 109 String aOrgStr; 110 sal_Int32 nOptionsId; 111 sal_Bool bDel; 112 sal_Bool bNewMark; 113 sal_Bool bSelected; 114 115 sal_Bool bPhoneticED0_ChangedByUser; 116 sal_Bool bPhoneticED1_ChangedByUser; 117 sal_Bool bPhoneticED2_ChangedByUser; 118 LanguageType nLangForPhoneticReading; //Language of current text used for phonetic reading proposal 119 sal_Bool bIsPhoneticReadingEnabled; //this value states wether phopentic reading is enabled in principle dependend of global cjk settings and language of current entry 120 com::sun::star::uno::Reference< com::sun::star::i18n::XExtendedIndexEntrySupplier > 121 xExtendedIndexEntrySupplier; 122 123 SwTOXMgr* pTOXMgr; 124 SwWrtShell* pSh; 125 126 void Apply(); 127 void InitControls(); 128 void InsertMark(); 129 void UpdateMark(); 130 131 DECL_LINK( InsertHdl, Button * ); 132 DECL_LINK( CloseHdl, Button * ); 133 DECL_LINK( DelHdl, Button * ); 134 DECL_LINK( NextHdl, Button * ); 135 DECL_LINK( NextSameHdl, Button * ); 136 DECL_LINK( PrevHdl, Button * ); 137 DECL_LINK( PrevSameHdl, Button * ); 138 DECL_LINK( ModifyHdl, ListBox* pBox = 0 ); 139 DECL_LINK( KeyDCBModifyHdl, ComboBox * ); 140 DECL_LINK( NewUserIdxHdl, Button*); 141 DECL_LINK( SearchTypeHdl, CheckBox*); 142 DECL_LINK( PhoneticEDModifyHdl, Edit * ); 143 144 //this method updates the values from 'nLangForPhoneticReading' and 'bIsPhoneticReadingEnabled' 145 //it needs to be called ones if this dialog is opened to create a new entry (in InitControls), 146 //or otherwise it has to be called for each changed TOXMark (in UpdateDialog) 147 void UpdateLanguageDependenciesForPhoneticReading(); 148 String GetDefaultPhoneticReading( const String& rText ); 149 150 void UpdateKeyBoxes(); 151 152 void UpdateDialog(); 153 void InsertUpdate(); 154 155 virtual void Activate(); 156 157 public: 158 159 SwIndexMarkDlg( Window *pParent, 160 sal_Bool bNewDlg, 161 const ResId& rResId, 162 sal_Int32 _nOptionsId, 163 SwWrtShell& rWrtShell ); 164 165 166 ~SwIndexMarkDlg(); 167 168 void ReInitDlg(SwWrtShell& rWrtShell, SwTOXMark* pCurTOXMark = 0); IsTOXType(const String & rName)169 sal_Bool IsTOXType(const String& rName) 170 {return LISTBOX_ENTRY_NOTFOUND != aTypeDCB.GetEntryPos(rName);} 171 }; 172 /* -----------------06.10.99 10:11------------------- 173 174 --------------------------------------------------*/ 175 class SwIndexMarkFloatDlg : public SfxModelessDialog 176 { 177 SwIndexMarkDlg aDlg; 178 virtual void Activate(); 179 public: 180 SwIndexMarkFloatDlg( SfxBindings* pBindings, 181 SfxChildWindow* pChild, 182 Window *pParent, 183 SfxChildWinInfo* pInfo, 184 sal_Bool bNew=sal_True); 185 void ReInitDlg(SwWrtShell& rWrtShell); 186 }; 187 /* -----------------06.10.99 10:33------------------- 188 189 --------------------------------------------------*/ 190 class SwIndexMarkModalDlg : public SvxStandardDialog 191 { 192 SwIndexMarkDlg aDlg; 193 public: 194 SwIndexMarkModalDlg(Window *pParent, SwWrtShell& rSh, SwTOXMark* pCurTOXMark); 195 196 virtual void Apply(); 197 void ReInitDlg(SwWrtShell& rWrtShell); 198 }; 199 200 /* -----------------15.09.99 08:39------------------- 201 202 --------------------------------------------------*/ 203 class SwAuthMarkModalDlg; 204 class SwAuthMarkDlg : public Window 205 { 206 static sal_Bool bIsFromComponent; 207 208 friend class SwAuthMarkModalDlg; 209 friend class SwAuthMarkFloatDlg; 210 211 RadioButton aFromComponentRB; 212 RadioButton aFromDocContentRB; 213 FixedText aAuthorFT; 214 FixedInfo aAuthorFI; 215 FixedText aTitleFT; 216 FixedInfo aTitleFI; 217 FixedText aEntryFT; 218 Edit aEntryED; 219 ListBox aEntryLB; 220 221 FixedLine aEntryFL; 222 223 OKButton aOKBT; 224 CancelButton aCancelBT; 225 HelpButton aHelpBT; 226 PushButton aCreateEntryPB; 227 PushButton aEditEntryPB; 228 229 String sChangeST; 230 sal_Bool bNewEntry; 231 sal_Bool bBibAccessInitialized; 232 233 SwWrtShell* pSh; 234 235 String m_sColumnTitles[AUTH_FIELD_END]; 236 String m_sFields[AUTH_FIELD_END]; 237 238 String m_sCreatedEntry[AUTH_FIELD_END]; 239 240 ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > xBibAccess; 241 242 DECL_LINK(InsertHdl, PushButton*); 243 DECL_LINK(CloseHdl, PushButton*); 244 DECL_LINK(CreateEntryHdl, PushButton*); 245 DECL_LINK(CompEntryHdl, ListBox*); 246 DECL_LINK(ChangeSourceHdl, RadioButton*); 247 DECL_LINK(IsEntryAllowedHdl, Edit*); 248 DECL_LINK(EditModifyHdl, Edit*); 249 250 void InitControls(); 251 virtual void Activate(); 252 public: 253 254 SwAuthMarkDlg( Window *pParent, 255 const ResId& rResId, 256 sal_Bool bNew=sal_True); 257 ~SwAuthMarkDlg(); 258 259 void ReInitDlg(SwWrtShell& rWrtShell); 260 }; 261 /* -----------------06.10.99 10:11------------------- 262 263 --------------------------------------------------*/ 264 class SwAuthMarkFloatDlg : public SfxModelessDialog 265 { 266 SwAuthMarkDlg aDlg; 267 virtual void Activate(); 268 public: 269 SwAuthMarkFloatDlg( SfxBindings* pBindings, 270 SfxChildWindow* pChild, 271 Window *pParent, 272 SfxChildWinInfo* pInfo, 273 sal_Bool bNew=sal_True); 274 void ReInitDlg(SwWrtShell& rWrtShell); 275 }; 276 /* -----------------06.10.99 10:33------------------- 277 278 --------------------------------------------------*/ 279 class SwAuthMarkModalDlg : public SvxStandardDialog 280 { 281 SwAuthMarkDlg aDlg; 282 public: 283 SwAuthMarkModalDlg(Window *pParent, SwWrtShell& rSh); 284 285 virtual void Apply(); 286 void ReInitDlg(SwWrtShell& rWrtShell); 287 }; 288 289 290 #endif // _SWUI_IDXMRK_HXX 291 292