2010-10-14 08:30:41 +02:00
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2011-03-31 10:05:04 +02:00
/*
* This file is part of the LibreOffice project .
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2.0 . If a copy of the MPL was not distributed with this
* file , You can obtain one at http : //mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice :
*
* Licensed to the Apache Software Foundation ( ASF ) under one or more
* contributor license agreements . See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership . The ASF licenses this file to you under the Apache
* License , Version 2.0 ( 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.apache.org/licenses/LICENSE-2.0 .
*/
2004-05-10 15:31:05 +00:00
# ifndef _SWUI_IDXMRK_HXX
# define _SWUI_IDXMRK_HXX
# include <com/sun/star/container/XNameAccess.hpp>
# include <sfx2/basedlgs.hxx>
# include <svx/stddlg.hxx>
2012-10-24 14:10:20 +01:00
# include <vcl/button.hxx>
# include <vcl/combobox.hxx>
2004-05-10 15:31:05 +00:00
# include <vcl/field.hxx>
2012-10-24 14:10:20 +01:00
# include <vcl/fixed.hxx>
2004-05-10 15:31:05 +00:00
# include <vcl/group.hxx>
2012-10-24 14:10:20 +01:00
# include <vcl/layout.hxx>
# include <vcl/lstbox.hxx>
2004-05-10 15:31:05 +00:00
# include <sfx2/childwin.hxx>
# include "toxe.hxx"
# include <svtools/stdctrl.hxx>
# include <com/sun/star/i18n/XExtendedIndexEntrySupplier.hpp>
class SwWrtShell ;
class SwTOXMgr ;
class SwTOXMark ;
/*--------------------------------------------------------------------
2011-04-21 21:52:58 +02:00
Description : insert mark for index entry
2004-05-10 15:31:05 +00:00
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
class SwIndexMarkFloatDlg ;
class SwIndexMarkModalDlg ;
2010-10-13 10:32:10 +05:30
2012-10-24 14:10:20 +01:00
class SwIndexMarkPane
2004-05-10 15:31:05 +00:00
{
2012-10-24 14:10:20 +01:00
Dialog & m_rDialog ;
2004-05-10 15:31:05 +00:00
friend class SwIndexMarkFloatDlg ;
friend class SwIndexMarkModalDlg ;
2012-10-24 14:10:20 +01:00
VclFrame * m_pFrame ;
FixedText * m_pTypeFT ;
ListBox * m_pTypeDCB ;
PushButton * m_pNewBT ;
Edit * m_pEntryED ;
FixedText * m_pPhoneticFT0 ;
Edit * m_pPhoneticED0 ;
FixedText * m_pKey1FT ;
ComboBox * m_pKey1DCB ;
FixedText * m_pPhoneticFT1 ;
Edit * m_pPhoneticED1 ;
FixedText * m_pKey2FT ;
ComboBox * m_pKey2DCB ;
FixedText * m_pPhoneticFT2 ;
Edit * m_pPhoneticED2 ;
FixedText * m_pLevelFT ;
NumericField * m_pLevelNF ;
CheckBox * m_pMainEntryCB ;
CheckBox * m_pApplyToAllCB ;
CheckBox * m_pSearchCaseSensitiveCB ;
CheckBox * m_pSearchCaseWordOnlyCB ;
PushButton * m_pOKBT ;
2013-01-07 21:19:04 +00:00
CloseButton * m_pCloseBT ;
2012-10-24 14:10:20 +01:00
PushButton * m_pDelBT ;
PushButton * m_pPrevSameBT ;
PushButton * m_pNextSameBT ;
PushButton * m_pPrevBT ;
PushButton * m_pNextBT ;
2004-05-10 15:31:05 +00:00
String aOrgStr ;
sal_Bool bDel ;
sal_Bool bNewMark ;
sal_Bool bSelected ;
2011-01-17 15:06:54 +01:00
sal_Bool bPhoneticED0_ChangedByUser ;
sal_Bool bPhoneticED1_ChangedByUser ;
sal_Bool bPhoneticED2_ChangedByUser ;
2004-05-10 15:31:05 +00:00
LanguageType nLangForPhoneticReading ; //Language of current text used for phonetic reading proposal
2012-02-18 12:37:04 +08:00
sal_Bool bIsPhoneticReadingEnabled ; //this value states whether phonetic reading is enabled in principle dependent of global cjk settings and language of current entry
2004-05-10 15:31:05 +00:00
com : : sun : : star : : uno : : Reference < com : : sun : : star : : i18n : : XExtendedIndexEntrySupplier >
xExtendedIndexEntrySupplier ;
SwTOXMgr * pTOXMgr ;
SwWrtShell * pSh ;
void Apply ( ) ;
void InitControls ( ) ;
void InsertMark ( ) ;
void UpdateMark ( ) ;
DECL_LINK ( InsertHdl , Button * ) ;
2012-03-01 18:00:32 +01:00
DECL_LINK ( CloseHdl , void * ) ;
DECL_LINK ( DelHdl , void * ) ;
DECL_LINK ( NextHdl , void * ) ;
DECL_LINK ( NextSameHdl , void * ) ;
DECL_LINK ( PrevHdl , void * ) ;
DECL_LINK ( PrevSameHdl , void * ) ;
2004-05-10 15:31:05 +00:00
DECL_LINK ( ModifyHdl , ListBox * pBox = 0 ) ;
DECL_LINK ( KeyDCBModifyHdl , ComboBox * ) ;
2012-03-01 18:00:32 +01:00
DECL_LINK ( NewUserIdxHdl , void * ) ;
2004-05-10 15:31:05 +00:00
DECL_LINK ( SearchTypeHdl , CheckBox * ) ;
DECL_LINK ( PhoneticEDModifyHdl , Edit * ) ;
//this method updates the values from 'nLangForPhoneticReading' and 'bIsPhoneticReadingEnabled'
//it needs to be called ones if this dialog is opened to create a new entry (in InitControls),
//or otherwise it has to be called for each changed TOXMark (in UpdateDialog)
void UpdateLanguageDependenciesForPhoneticReading ( ) ;
String GetDefaultPhoneticReading ( const String & rText ) ;
void UpdateKeyBoxes ( ) ;
void UpdateDialog ( ) ;
void InsertUpdate ( ) ;
2012-10-24 14:10:20 +01:00
void Activate ( ) ;
2004-05-10 15:31:05 +00:00
public :
2012-10-24 14:10:20 +01:00
SwIndexMarkPane ( Dialog & rDialog ,
sal_Bool bNewDlg ,
SwWrtShell & rWrtShell ) ;
Dialog & GetDialog ( ) { return m_rDialog ; }
2004-05-10 15:31:05 +00:00
2012-10-24 14:10:20 +01:00
~ SwIndexMarkPane ( ) ;
2004-05-10 15:31:05 +00:00
void ReInitDlg ( SwWrtShell & rWrtShell , SwTOXMark * pCurTOXMark = 0 ) ;
sal_Bool IsTOXType ( const String & rName )
2012-10-24 14:10:20 +01:00
{ return LISTBOX_ENTRY_NOTFOUND ! = m_pTypeDCB - > GetEntryPos ( rName ) ; }
2004-05-10 15:31:05 +00:00
} ;
class SwIndexMarkFloatDlg : public SfxModelessDialog
{
2012-10-24 14:10:20 +01:00
SwIndexMarkPane m_aContent ;
2004-05-10 15:31:05 +00:00
virtual void Activate ( ) ;
public :
SwIndexMarkFloatDlg ( SfxBindings * pBindings ,
SfxChildWindow * pChild ,
Window * pParent ,
SfxChildWinInfo * pInfo ,
sal_Bool bNew = sal_True ) ;
void ReInitDlg ( SwWrtShell & rWrtShell ) ;
} ;
class SwIndexMarkModalDlg : public SvxStandardDialog
{
2012-10-24 14:10:20 +01:00
SwIndexMarkPane m_aContent ;
2004-05-10 15:31:05 +00:00
public :
SwIndexMarkModalDlg ( Window * pParent , SwWrtShell & rSh , SwTOXMark * pCurTOXMark ) ;
virtual void Apply ( ) ;
void ReInitDlg ( SwWrtShell & rWrtShell ) ;
} ;
class SwAuthMarkModalDlg ;
2010-10-13 10:32:10 +05:30
2012-10-19 18:20:58 +01:00
class SwAuthorMarkPane
2004-05-10 15:31:05 +00:00
{
2012-10-19 18:20:58 +01:00
Dialog & m_rDialog ;
2004-05-10 15:31:05 +00:00
static sal_Bool bIsFromComponent ;
friend class SwAuthMarkModalDlg ;
friend class SwAuthMarkFloatDlg ;
2012-10-19 18:20:58 +01:00
RadioButton * m_pFromComponentRB ;
RadioButton * m_pFromDocContentRB ;
FixedText * m_pAuthorFI ;
FixedText * m_pTitleFI ;
Edit * m_pEntryED ;
ListBox * m_pEntryLB ;
2004-05-10 15:31:05 +00:00
2012-10-19 18:20:58 +01:00
PushButton * m_pActionBT ;
2013-01-07 21:19:04 +00:00
CloseButton * m_pCloseBT ;
2012-10-19 18:20:58 +01:00
PushButton * m_pCreateEntryPB ;
PushButton * m_pEditEntryPB ;
2004-05-10 15:31:05 +00:00
2012-10-19 18:20:58 +01:00
sal_Bool bNewEntry ;
sal_Bool bBibAccessInitialized ;
2004-05-10 15:31:05 +00:00
SwWrtShell * pSh ;
String m_sColumnTitles [ AUTH_FIELD_END ] ;
String m_sFields [ AUTH_FIELD_END ] ;
String m_sCreatedEntry [ AUTH_FIELD_END ] ;
: : com : : sun : : star : : uno : : Reference < : : com : : sun : : star : : container : : XNameAccess > xBibAccess ;
2012-03-01 18:00:32 +01:00
DECL_LINK ( InsertHdl , void * ) ;
DECL_LINK ( CloseHdl , void * ) ;
2004-05-10 15:31:05 +00:00
DECL_LINK ( CreateEntryHdl , PushButton * ) ;
DECL_LINK ( CompEntryHdl , ListBox * ) ;
DECL_LINK ( ChangeSourceHdl , RadioButton * ) ;
DECL_LINK ( IsEntryAllowedHdl , Edit * ) ;
DECL_LINK ( EditModifyHdl , Edit * ) ;
void InitControls ( ) ;
2012-10-19 18:20:58 +01:00
void Activate ( ) ;
2004-05-10 15:31:05 +00:00
public :
2012-10-19 18:20:58 +01:00
SwAuthorMarkPane ( Dialog & rDialog ,
2004-05-10 15:31:05 +00:00
sal_Bool bNew = sal_True ) ;
void ReInitDlg ( SwWrtShell & rWrtShell ) ;
} ;
class SwAuthMarkFloatDlg : public SfxModelessDialog
{
2012-10-19 18:20:58 +01:00
SwAuthorMarkPane m_aContent ;
2004-05-10 15:31:05 +00:00
virtual void Activate ( ) ;
public :
SwAuthMarkFloatDlg ( SfxBindings * pBindings ,
SfxChildWindow * pChild ,
Window * pParent ,
SfxChildWinInfo * pInfo ,
sal_Bool bNew = sal_True ) ;
void ReInitDlg ( SwWrtShell & rWrtShell ) ;
} ;
class SwAuthMarkModalDlg : public SvxStandardDialog
{
2012-10-19 18:20:58 +01:00
SwAuthorMarkPane m_aContent ;
2004-05-10 15:31:05 +00:00
public :
SwAuthMarkModalDlg ( Window * pParent , SwWrtShell & rSh ) ;
virtual void Apply ( ) ;
void ReInitDlg ( SwWrtShell & rWrtShell ) ;
} ;
# endif // _SWUI_IDXMRK_HXX
2010-10-14 08:30:41 +02:00
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */