Widget UI for Text Flow tab page
* Need to address help for the page
Conflicts:
cui/UI_cui.mk
Change-Id: I7e4d9c9827ba80986059ff628d02f798eabbb4f6
Reviewed-on: https://gerrit.libreoffice.org/2184
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/cui/UI_cui.mk b/cui/UI_cui.mk
index 4d54024..5c781ca 100644
--- a/cui/UI_cui.mk
+++ b/cui/UI_cui.mk
@@ -52,6 +52,7 @@ $(eval $(call gb_UI_add_uifiles,cui,\
cui/uiconfig/ui/spellingdialog \
cui/uiconfig/ui/splitcellsdialog \
cui/uiconfig/ui/storedwebconnectiondialog \
cui/uiconfig/ui/textflowpage \
cui/uiconfig/ui/thesaurus \
cui/uiconfig/ui/twolinespage \
cui/uiconfig/ui/zoomdialog \
diff --git a/cui/source/inc/paragrph.hxx b/cui/source/inc/paragrph.hxx
index 045a29d4..bf78a26 100644
--- a/cui/source/inc/paragrph.hxx
+++ b/cui/source/inc/paragrph.hxx
@@ -222,41 +222,37 @@ private:
SvxExtParagraphTabPage( Window* pParent, const SfxItemSet& rSet );
// hyphenation
FixedLine aExtFL;
TriStateBox aHyphenBox;
FixedText aBeforeText;
NumericField aExtHyphenBeforeBox;
FixedText aAfterText;
NumericField aExtHyphenAfterBox;
FixedText aMaxHyphenLabel;
NumericField aMaxHyphenEdit;
TriStateBox* m_pHyphenBox;
FixedText* m_pBeforeText;
NumericField* m_pExtHyphenBeforeBox;
FixedText* m_pAfterText;
NumericField* m_pExtHyphenAfterBox;
FixedText* m_pMaxHyphenLabel;
NumericField* m_pMaxHyphenEdit;
// pagebreak
FixedLine aBreaksFL;
TriStateBox aPageBreakBox;
FixedText aBreakTypeFT;
ListBox aBreakTypeLB;
FixedText aBreakPositionFT;
ListBox aBreakPositionLB;
TriStateBox aApplyCollBtn;
ListBox aApplyCollBox;
FixedText aPagenumText;
NumericField aPagenumEdit;
FixedLine aExtendFL;
TriStateBox* m_pPageBreakBox;
FixedText* m_pBreakTypeFT;
ListBox* m_pBreakTypeLB;
FixedText* m_pBreakPositionFT;
ListBox* m_pBreakPositionLB;
TriStateBox* m_pApplyCollBtn;
ListBox* m_pApplyCollBox;
FixedText* m_pPagenumText;
NumericField* m_pPagenumEdit;
// paragraph division
TriStateBox aKeepTogetherBox;
TriStateBox aKeepParaBox;
TriStateBox* m_pKeepTogetherBox;
TriStateBox* m_pKeepParaBox;
// orphan/widow
TriStateBox aOrphanBox;
NumericField aOrphanRowNo;
FixedText aOrphanRowLabel;
TriStateBox* m_pOrphanBox;
NumericField* m_pOrphanRowNo;
FixedText* m_pOrphanRowLabel;
TriStateBox aWidowBox;
NumericField aWidowRowNo;
FixedText aWidowRowLabel;
TriStateBox* m_pWidowBox;
NumericField* m_pWidowRowNo;
FixedText* m_pWidowRowLabel;
sal_Bool bPageBreak;
sal_Bool bHtmlMode;
diff --git a/cui/source/tabpages/paragrph.cxx b/cui/source/tabpages/paragrph.cxx
index cf8ded0..7296972 100644
--- a/cui/source/tabpages/paragrph.cxx
+++ b/cui/source/tabpages/paragrph.cxx
@@ -1402,13 +1402,13 @@ sal_Bool SvxExtParagraphTabPage::FillItemSet( SfxItemSet& rOutSet )
{
sal_Bool bModified = sal_False;
sal_uInt16 _nWhich = GetWhich( SID_ATTR_PARA_HYPHENZONE );
const TriState eHyphenState = aHyphenBox.GetState();
const TriState eHyphenState = m_pHyphenBox->GetState();
const SfxPoolItem* pOld = GetOldItem( rOutSet, SID_ATTR_PARA_HYPHENZONE );
if ( eHyphenState != aHyphenBox.GetSavedValue() ||
aExtHyphenBeforeBox.IsValueModified() ||
aExtHyphenAfterBox.IsValueModified() ||
aMaxHyphenEdit.IsValueModified() )
if ( eHyphenState != m_pHyphenBox->GetSavedValue() ||
m_pExtHyphenBeforeBox->IsValueModified() ||
m_pExtHyphenAfterBox->IsValueModified() ||
m_pMaxHyphenEdit->IsValueModified() )
{
SvxHyphenZoneItem aHyphen(
(const SvxHyphenZoneItem&)GetItemSet().Get( _nWhich ) );
@@ -1416,24 +1416,24 @@ sal_Bool SvxExtParagraphTabPage::FillItemSet( SfxItemSet& rOutSet )
if ( eHyphenState == STATE_CHECK )
{
aHyphen.GetMinLead() = (sal_uInt8)aExtHyphenBeforeBox.GetValue();
aHyphen.GetMinTrail() = (sal_uInt8)aExtHyphenAfterBox.GetValue();
aHyphen.GetMinLead() = (sal_uInt8)m_pExtHyphenBeforeBox->GetValue();
aHyphen.GetMinTrail() = (sal_uInt8)m_pExtHyphenAfterBox->GetValue();
}
aHyphen.GetMaxHyphens() = (sal_uInt8)aMaxHyphenEdit.GetValue();
aHyphen.GetMaxHyphens() = (sal_uInt8)m_pMaxHyphenEdit->GetValue();
if ( !pOld ||
!( *(SvxHyphenZoneItem*)pOld == aHyphen ) ||
eHyphenState != aHyphenBox.GetSavedValue())
eHyphenState != m_pHyphenBox->GetSavedValue())
{
rOutSet.Put( aHyphen );
bModified = sal_True;
}
}
if (aPagenumEdit.IsEnabled() && aPagenumEdit.IsValueModified())
if (m_pPagenumEdit->IsEnabled() && m_pPagenumEdit->IsValueModified())
{
SfxUInt16Item aPageNum( SID_ATTR_PARA_PAGENUM,
(sal_uInt16)aPagenumEdit.GetValue() );
(sal_uInt16)m_pPagenumEdit->GetValue() );
pOld = GetOldItem( rOutSet, SID_ATTR_PARA_PAGENUM );
@@ -1446,18 +1446,18 @@ sal_Bool SvxExtParagraphTabPage::FillItemSet( SfxItemSet& rOutSet )
// pagebreak
TriState eState = aApplyCollBtn.GetState();
TriState eState = m_pApplyCollBtn->GetState();
bool bIsPageModel = false;
_nWhich = GetWhich( SID_ATTR_PARA_MODEL );
String sPage;
if ( eState != aApplyCollBtn.GetSavedValue() ||
if ( eState != m_pApplyCollBtn->GetSavedValue() ||
( STATE_CHECK == eState &&
aApplyCollBox.GetSelectEntryPos() != aApplyCollBox.GetSavedValue() ) )
m_pApplyCollBox->GetSelectEntryPos() != m_pApplyCollBox->GetSavedValue() ) )
{
if ( eState == STATE_CHECK )
{
sPage = aApplyCollBox.GetSelectEntry();
sPage = m_pApplyCollBox->GetSelectEntry();
bIsPageModel = 0 != sPage.Len();
}
pOld = GetOldItem( rOutSet, SID_ATTR_PARA_MODEL );
@@ -1470,7 +1470,7 @@ sal_Bool SvxExtParagraphTabPage::FillItemSet( SfxItemSet& rOutSet )
else
bIsPageModel = false;
}
else if(STATE_CHECK == eState && aApplyCollBtn.IsEnabled())
else if(STATE_CHECK == eState && m_pApplyCollBtn->IsEnabled())
bIsPageModel = true;
else
rOutSet.Put( SvxPageModelItem( sPage, sal_False, _nWhich ) );
@@ -1482,13 +1482,13 @@ sal_Bool SvxExtParagraphTabPage::FillItemSet( SfxItemSet& rOutSet )
rOutSet.Put( SvxFmtBreakItem( SVX_BREAK_NONE, _nWhich ) );
else
{
eState = aPageBreakBox.GetState();
eState = m_pPageBreakBox->GetState();
SfxItemState eModelState = GetItemSet().GetItemState(SID_ATTR_PARA_MODEL, sal_False);
if ( (eModelState == SFX_ITEM_SET && STATE_CHECK == aPageBreakBox.GetState()) ||
eState != aPageBreakBox.GetSavedValue() ||
aBreakTypeLB.GetSelectEntryPos() != aBreakTypeLB.GetSavedValue() ||
aBreakPositionLB.GetSelectEntryPos() != aBreakPositionLB.GetSavedValue() )
if ( (eModelState == SFX_ITEM_SET && STATE_CHECK == m_pPageBreakBox->GetState()) ||
eState != m_pPageBreakBox->GetSavedValue() ||
m_pBreakTypeLB->GetSelectEntryPos() != m_pBreakTypeLB->GetSavedValue() ||
m_pBreakPositionLB->GetSelectEntryPos() != m_pBreakPositionLB->GetSavedValue() )
{
const SvxFmtBreakItem rOldBreak(
(const SvxFmtBreakItem&)GetItemSet().Get( _nWhich ));
@@ -1498,9 +1498,9 @@ sal_Bool SvxExtParagraphTabPage::FillItemSet( SfxItemSet& rOutSet )
{
case STATE_CHECK:
{
sal_Bool bBefore = aBreakPositionLB.GetSelectEntryPos() == 0;
sal_Bool bBefore = m_pBreakPositionLB->GetSelectEntryPos() == 0;
if ( aBreakTypeLB.GetSelectEntryPos() == 0 )
if ( m_pBreakTypeLB->GetSelectEntryPos() == 0 )
{
if ( bBefore )
aBreak.SetValue( SVX_BREAK_PAGE_BEFORE );
@@ -1524,7 +1524,7 @@ sal_Bool SvxExtParagraphTabPage::FillItemSet( SfxItemSet& rOutSet )
}
pOld = GetOldItem( rOutSet, SID_ATTR_PARA_PAGEBREAK );
if ( eState != aPageBreakBox.GetSavedValue() ||
if ( eState != m_pPageBreakBox->GetSavedValue() ||
!pOld || !( *(const SvxFmtBreakItem*)pOld == aBreak ) )
{
bModified = sal_True;
@@ -1536,9 +1536,9 @@ sal_Bool SvxExtParagraphTabPage::FillItemSet( SfxItemSet& rOutSet )
// paragraph split
_nWhich = GetWhich( SID_ATTR_PARA_SPLIT );
eState = aKeepTogetherBox.GetState();
eState = m_pKeepTogetherBox->GetState();
if ( eState != aKeepTogetherBox.GetSavedValue() )
if ( eState != m_pKeepTogetherBox->GetSavedValue() )
{
pOld = GetOldItem( rOutSet, SID_ATTR_PARA_SPLIT );
@@ -1552,9 +1552,9 @@ sal_Bool SvxExtParagraphTabPage::FillItemSet( SfxItemSet& rOutSet )
// keep paragraphs
_nWhich = GetWhich( SID_ATTR_PARA_KEEP );
eState = aKeepParaBox.GetState();
eState = m_pKeepParaBox->GetState();
if ( eState != aKeepParaBox.GetSavedValue() )
if ( eState != m_pKeepParaBox->GetSavedValue() )
{
pOld = GetOldItem( rOutSet, SID_ATTR_PARA_KEEP );
@@ -1565,16 +1565,16 @@ sal_Bool SvxExtParagraphTabPage::FillItemSet( SfxItemSet& rOutSet )
// widows and orphans
_nWhich = GetWhich( SID_ATTR_PARA_WIDOWS );
eState = aWidowBox.GetState();
eState = m_pWidowBox->GetState();
if ( eState != aWidowBox.GetSavedValue() ||
aWidowRowNo.IsValueModified() )
if ( eState != m_pWidowBox->GetSavedValue() ||
m_pWidowRowNo->IsValueModified() )
{
SvxWidowsItem rItem( eState == STATE_CHECK ?
(sal_uInt8)aWidowRowNo.GetValue() : 0, _nWhich );
(sal_uInt8)m_pWidowRowNo->GetValue() : 0, _nWhich );
pOld = GetOldItem( rOutSet, SID_ATTR_PARA_WIDOWS );
if ( eState != aWidowBox.GetSavedValue() || !pOld || !( *(const SvxWidowsItem*)pOld == rItem ) )
if ( eState != m_pWidowBox->GetSavedValue() || !pOld || !( *(const SvxWidowsItem*)pOld == rItem ) )
{
rOutSet.Put( rItem );
bModified = sal_True;
@@ -1582,16 +1582,16 @@ sal_Bool SvxExtParagraphTabPage::FillItemSet( SfxItemSet& rOutSet )
}
_nWhich = GetWhich( SID_ATTR_PARA_ORPHANS );
eState = aOrphanBox.GetState();
eState = m_pOrphanBox->GetState();
if ( eState != aOrphanBox.GetSavedValue() ||
aOrphanRowNo.IsValueModified() )
if ( eState != m_pOrphanBox->GetSavedValue() ||
m_pOrphanRowNo->IsValueModified() )
{
SvxOrphansItem rItem( eState == STATE_CHECK ?
(sal_uInt8)aOrphanRowNo.GetValue() : 0, _nWhich );
(sal_uInt8)m_pOrphanRowNo->GetValue() : 0, _nWhich );
pOld = GetOldItem( rOutSet, SID_ATTR_PARA_ORPHANS );
if ( eState != aOrphanBox.GetSavedValue() ||
if ( eState != m_pOrphanBox->GetSavedValue() ||
!pOld ||
!( *(const SvxOrphansItem*)pOld == rItem ) )
{
@@ -1616,26 +1616,26 @@ void SvxExtParagraphTabPage::Reset( const SfxItemSet& rSet )
{
const SvxHyphenZoneItem& rHyphen =
(const SvxHyphenZoneItem&)rSet.Get( _nWhich );
aHyphenBox.EnableTriState( sal_False );
m_pHyphenBox->EnableTriState( sal_False );
bIsHyphen = rHyphen.IsHyphen();
aHyphenBox.SetState( bIsHyphen ? STATE_CHECK : STATE_NOCHECK );
m_pHyphenBox->SetState( bIsHyphen ? STATE_CHECK : STATE_NOCHECK );
aExtHyphenBeforeBox.SetValue( rHyphen.GetMinLead() );
aExtHyphenAfterBox.SetValue( rHyphen.GetMinTrail() );
aMaxHyphenEdit.SetValue( rHyphen.GetMaxHyphens() );
m_pExtHyphenBeforeBox->SetValue( rHyphen.GetMinLead() );
m_pExtHyphenAfterBox->SetValue( rHyphen.GetMinTrail() );
m_pMaxHyphenEdit->SetValue( rHyphen.GetMaxHyphens() );
}
else
{
aHyphenBox.SetState( STATE_DONTKNOW );
m_pHyphenBox->SetState( STATE_DONTKNOW );
}
sal_Bool bEnable = bItemAvailable && bIsHyphen;
aExtHyphenBeforeBox.Enable(bEnable);
aExtHyphenAfterBox.Enable(bEnable);
aBeforeText.Enable(bEnable);
aAfterText.Enable(bEnable);
aMaxHyphenLabel.Enable(bEnable);
aMaxHyphenEdit.Enable(bEnable);
m_pExtHyphenBeforeBox->Enable(bEnable);
m_pExtHyphenAfterBox->Enable(bEnable);
m_pBeforeText->Enable(bEnable);
m_pAfterText->Enable(bEnable);
m_pMaxHyphenLabel->Enable(bEnable);
m_pMaxHyphenEdit->Enable(bEnable);
_nWhich = GetWhich( SID_ATTR_PARA_PAGENUM );
@@ -1643,7 +1643,7 @@ void SvxExtParagraphTabPage::Reset( const SfxItemSet& rSet )
{
const sal_uInt16 nPageNum =
( (const SfxUInt16Item&)rSet.Get( _nWhich ) ).GetValue();
aPagenumEdit.SetValue( nPageNum );
m_pPagenumEdit->SetValue( nPageNum );
}
if ( bPageBreak )
@@ -1655,51 +1655,51 @@ void SvxExtParagraphTabPage::Reset( const SfxItemSet& rSet )
if ( eItemState >= SFX_ITEM_SET )
{
aApplyCollBtn.EnableTriState( sal_False );
m_pApplyCollBtn->EnableTriState( sal_False );
const SvxPageModelItem& rModel =
(const SvxPageModelItem&)rSet.Get( _nWhich );
String aStr( rModel.GetValue() );
if ( aStr.Len() &&
aApplyCollBox.GetEntryPos( aStr ) != LISTBOX_ENTRY_NOTFOUND )
m_pApplyCollBox->GetEntryPos( aStr ) != LISTBOX_ENTRY_NOTFOUND )
{
aApplyCollBox.SelectEntry( aStr );
aApplyCollBtn.SetState( STATE_CHECK );
m_pApplyCollBox->SelectEntry( aStr );
m_pApplyCollBtn->SetState( STATE_CHECK );
bIsPageModel = sal_True;
aPageBreakBox.Enable();
aPageBreakBox.EnableTriState( sal_False );
aBreakTypeFT.Enable();
aBreakTypeLB.Enable();
aBreakPositionFT.Enable();
aBreakPositionLB.Enable();
aApplyCollBtn.Enable();
aPageBreakBox.SetState( STATE_CHECK );
m_pPageBreakBox->Enable();
m_pPageBreakBox->EnableTriState( sal_False );
m_pBreakTypeFT->Enable();
m_pBreakTypeLB->Enable();
m_pBreakPositionFT->Enable();
m_pBreakPositionLB->Enable();
m_pApplyCollBtn->Enable();
m_pPageBreakBox->SetState( STATE_CHECK );
//select page break
aBreakTypeLB.SelectEntryPos(0);
m_pBreakTypeLB->SelectEntryPos(0);
//select break before
aBreakPositionLB.SelectEntryPos(0);
m_pBreakPositionLB->SelectEntryPos(0);
}
else
{
aApplyCollBox.SetNoSelection();
aApplyCollBtn.SetState( STATE_NOCHECK );
m_pApplyCollBox->SetNoSelection();
m_pApplyCollBtn->SetState( STATE_NOCHECK );
}
}
else if ( SFX_ITEM_DONTCARE == eItemState )
{
aApplyCollBtn.EnableTriState( sal_True );
aApplyCollBtn.SetState( STATE_DONTKNOW );
aApplyCollBox.SetNoSelection();
m_pApplyCollBtn->EnableTriState( sal_True );
m_pApplyCollBtn->SetState( STATE_DONTKNOW );
m_pApplyCollBox->SetNoSelection();
}
else
{
aApplyCollBtn.Enable(sal_False);
aApplyCollBox.Enable(sal_False);
aPagenumEdit.Enable(sal_False);
aPagenumText.Enable(sal_False);
m_pApplyCollBtn->Enable(sal_False);
m_pApplyCollBox->Enable(sal_False);
m_pPagenumEdit->Enable(sal_False);
m_pPagenumText->Enable(sal_False);
}
if ( !bIsPageModel )
@@ -1716,27 +1716,27 @@ void SvxExtParagraphTabPage::Reset( const SfxItemSet& rSet )
// PageBreak not via CTRL-RETURN,
// then CheckBox can be freed
aPageBreakBox.Enable();
aPageBreakBox.EnableTriState( sal_False );
aBreakTypeFT.Enable();
aBreakTypeLB.Enable();
aBreakPositionFT.Enable();
aBreakPositionLB.Enable();
m_pPageBreakBox->Enable();
m_pPageBreakBox->EnableTriState( sal_False );
m_pBreakTypeFT->Enable();
m_pBreakTypeLB->Enable();
m_pBreakPositionFT->Enable();
m_pBreakPositionLB->Enable();
aPageBreakBox.SetState( STATE_CHECK );
m_pPageBreakBox->SetState( STATE_CHECK );
sal_Bool _bEnable = eBreak != SVX_BREAK_NONE &&
eBreak != SVX_BREAK_COLUMN_BEFORE &&
eBreak != SVX_BREAK_COLUMN_AFTER;
aApplyCollBtn.Enable(_bEnable);
m_pApplyCollBtn->Enable(_bEnable);
if(!_bEnable)
{
aApplyCollBox.Enable(_bEnable);
aPagenumEdit.Enable(_bEnable);
m_pApplyCollBox->Enable(_bEnable);
m_pPagenumEdit->Enable(_bEnable);
}
if ( eBreak == SVX_BREAK_NONE )
aPageBreakBox.SetState( STATE_NOCHECK );
m_pPageBreakBox->SetState( STATE_NOCHECK );
sal_uInt16 nType = 0; // selection position in break type ListBox : Page
sal_uInt16 nPosition = 0; // selection position in break position ListBox : Before
@@ -1756,23 +1756,23 @@ void SvxExtParagraphTabPage::Reset( const SfxItemSet& rSet )
break;
default: ;//prevent warning
}
aBreakTypeLB.SelectEntryPos(nType);
aBreakPositionLB.SelectEntryPos(nPosition);
m_pBreakTypeLB->SelectEntryPos(nType);
m_pBreakPositionLB->SelectEntryPos(nPosition);
}
else if ( SFX_ITEM_DONTCARE == eItemState )
aPageBreakBox.SetState( STATE_DONTKNOW );
m_pPageBreakBox->SetState( STATE_DONTKNOW );
else
{
aPageBreakBox.Enable(sal_False);
aBreakTypeFT.Enable(sal_False);
aBreakTypeLB.Enable(sal_False);
aBreakPositionFT.Enable(sal_False);
aBreakPositionLB.Enable(sal_False);
m_pPageBreakBox->Enable(sal_False);
m_pBreakTypeFT->Enable(sal_False);
m_pBreakTypeLB->Enable(sal_False);
m_pBreakPositionFT->Enable(sal_False);
m_pBreakPositionLB->Enable(sal_False);
}
}
PageBreakPosHdl_Impl( &aBreakPositionLB );
PageBreakHdl_Impl( &aPageBreakBox );
PageBreakPosHdl_Impl( m_pBreakPositionLB );
PageBreakHdl_Impl( m_pPageBreakBox );
}
_nWhich = GetWhich( SID_ATTR_PARA_KEEP );
@@ -1780,19 +1780,19 @@ void SvxExtParagraphTabPage::Reset( const SfxItemSet& rSet )
if ( eItemState >= SFX_ITEM_AVAILABLE )
{
aKeepParaBox.EnableTriState( sal_False );
m_pKeepParaBox->EnableTriState( sal_False );
const SvxFmtKeepItem& rKeep =
(const SvxFmtKeepItem&)rSet.Get( _nWhich );
if ( rKeep.GetValue() )
aKeepParaBox.SetState( STATE_CHECK );
m_pKeepParaBox->SetState( STATE_CHECK );
else
aKeepParaBox.SetState( STATE_NOCHECK );
m_pKeepParaBox->SetState( STATE_NOCHECK );
}
else if ( SFX_ITEM_DONTCARE == eItemState )
aKeepParaBox.SetState( STATE_DONTKNOW );
m_pKeepParaBox->SetState( STATE_DONTKNOW );
else
aKeepParaBox.Enable(sal_False);
m_pKeepParaBox->Enable(sal_False);
_nWhich = GetWhich( SID_ATTR_PARA_SPLIT );
eItemState = rSet.GetItemState( _nWhich );
@@ -1801,16 +1801,16 @@ void SvxExtParagraphTabPage::Reset( const SfxItemSet& rSet )
{
const SvxFmtSplitItem& rSplit =
(const SvxFmtSplitItem&)rSet.Get( _nWhich );
aKeepTogetherBox.EnableTriState( sal_False );
m_pKeepTogetherBox->EnableTriState( sal_False );
if ( !rSplit.GetValue() )
aKeepTogetherBox.SetState( STATE_CHECK );
m_pKeepTogetherBox->SetState( STATE_CHECK );
else
{
aKeepTogetherBox.SetState( STATE_NOCHECK );
m_pKeepTogetherBox->SetState( STATE_NOCHECK );
// widows and orphans
aWidowBox.Enable();
m_pWidowBox->Enable();
_nWhich = GetWhich( SID_ATTR_PARA_WIDOWS );
SfxItemState eTmpState = rSet.GetItemState( _nWhich );
@@ -1818,22 +1818,22 @@ void SvxExtParagraphTabPage::Reset( const SfxItemSet& rSet )
{
const SvxWidowsItem& rWidow =
(const SvxWidowsItem&)rSet.Get( _nWhich );
aWidowBox.EnableTriState( sal_False );
m_pWidowBox->EnableTriState( sal_False );
const sal_uInt16 nLines = rWidow.GetValue();
sal_Bool _bEnable = nLines > 0;
aWidowRowNo.SetValue( aWidowRowNo.Normalize( nLines ) );
aWidowBox.SetState( _bEnable ? STATE_CHECK : STATE_NOCHECK);
aWidowRowNo.Enable(_bEnable);
aWidowRowLabel.Enable(_bEnable);
m_pWidowRowNo->SetValue( m_pWidowRowNo->Normalize( nLines ) );
m_pWidowBox->SetState( _bEnable ? STATE_CHECK : STATE_NOCHECK);
m_pWidowRowNo->Enable(_bEnable);
//m_pWidowRowLabel->Enable(_bEnable);
}
else if ( SFX_ITEM_DONTCARE == eTmpState )
aWidowBox.SetState( STATE_DONTKNOW );
m_pWidowBox->SetState( STATE_DONTKNOW );
else
aWidowBox.Enable(sal_False);
m_pWidowBox->Enable(sal_False);
aOrphanBox.Enable();
m_pOrphanBox->Enable();
_nWhich = GetWhich( SID_ATTR_PARA_ORPHANS );
eTmpState = rSet.GetItemState( _nWhich );
@@ -1842,45 +1842,45 @@ void SvxExtParagraphTabPage::Reset( const SfxItemSet& rSet )
const SvxOrphansItem& rOrphan =
(const SvxOrphansItem&)rSet.Get( _nWhich );
const sal_uInt16 nLines = rOrphan.GetValue();
aOrphanBox.EnableTriState( sal_False );
m_pOrphanBox->EnableTriState( sal_False );
sal_Bool _bEnable = nLines > 0;
aOrphanBox.SetState( _bEnable ? STATE_CHECK : STATE_NOCHECK);
aOrphanRowNo.SetValue( aOrphanRowNo.Normalize( nLines ) );
aOrphanRowNo.Enable(_bEnable);
aOrphanRowLabel.Enable(_bEnable);
m_pOrphanBox->SetState( _bEnable ? STATE_CHECK : STATE_NOCHECK);
m_pOrphanRowNo->SetValue( m_pOrphanRowNo->Normalize( nLines ) );
m_pOrphanRowNo->Enable(_bEnable);
m_pOrphanRowLabel->Enable(_bEnable);
}
else if ( SFX_ITEM_DONTCARE == eTmpState )
aOrphanBox.SetState( STATE_DONTKNOW );
m_pOrphanBox->SetState( STATE_DONTKNOW );
else
aOrphanBox.Enable(sal_False);
m_pOrphanBox->Enable(sal_False);
}
}
else if ( SFX_ITEM_DONTCARE == eItemState )
aKeepTogetherBox.SetState( STATE_DONTKNOW );
m_pKeepTogetherBox->SetState( STATE_DONTKNOW );
else
aKeepTogetherBox.Enable(sal_False);
m_pKeepTogetherBox->Enable(sal_False);
// so that everything is enabled correctly
KeepTogetherHdl_Impl( 0 );
WidowHdl_Impl( 0 );
OrphanHdl_Impl( 0 );
aHyphenBox.SaveValue();
aExtHyphenBeforeBox.SaveValue();
aExtHyphenAfterBox.SaveValue();
aMaxHyphenEdit.SaveValue();
aPageBreakBox.SaveValue();
aBreakPositionLB.SaveValue();
aBreakTypeLB.SaveValue();
aApplyCollBtn.SaveValue();
aApplyCollBox.SaveValue();
aPagenumEdit.SaveValue();
aKeepTogetherBox.SaveValue();
aKeepParaBox.SaveValue();
aWidowBox.SaveValue();
aOrphanBox.SaveValue();
m_pHyphenBox->SaveValue();
m_pExtHyphenBeforeBox->SaveValue();
m_pExtHyphenAfterBox->SaveValue();
m_pMaxHyphenEdit->SaveValue();
m_pPageBreakBox->SaveValue();
m_pBreakPositionLB->SaveValue();
m_pBreakTypeLB->SaveValue();
m_pApplyCollBtn->SaveValue();
m_pApplyCollBox->SaveValue();
m_pPagenumEdit->SaveValue();
m_pKeepTogetherBox->SaveValue();
m_pKeepParaBox->SaveValue();
m_pWidowBox->SaveValue();
m_pOrphanBox->SaveValue();
}
// -----------------------------------------------------------------------
@@ -1897,70 +1897,74 @@ int SvxExtParagraphTabPage::DeactivatePage( SfxItemSet* _pSet )
void SvxExtParagraphTabPage::DisablePageBreak()
{
bPageBreak = sal_False;
aPageBreakBox.Enable(sal_False);
aBreakTypeLB.RemoveEntry(0);
aBreakPositionFT.Enable(sal_False);
aBreakPositionLB.Enable(sal_False);
aApplyCollBtn.Enable(sal_False);
aApplyCollBox.Enable(sal_False);
aPagenumEdit.Enable(sal_False);
m_pPageBreakBox->Enable(sal_False);
m_pBreakTypeLB->RemoveEntry(0);
m_pBreakPositionFT->Enable(sal_False);
m_pBreakPositionLB->Enable(sal_False);
m_pApplyCollBtn->Enable(sal_False);
m_pApplyCollBox->Enable(sal_False);
m_pPagenumEdit->Enable(sal_False);
}
// -----------------------------------------------------------------------
SvxExtParagraphTabPage::SvxExtParagraphTabPage( Window* pParent, const SfxItemSet& rAttr ) :
SfxTabPage( pParent, "TextFlowPage","cui/ui/textflowpage.ui", rAttr ),
SfxTabPage( pParent, CUI_RES( RID_SVXPAGE_EXT_PARAGRAPH ), rAttr ),
aExtFL ( this, CUI_RES( FL_HYPHEN ) ),
aHyphenBox ( this, CUI_RES( BTN_HYPHEN ) ),
aBeforeText ( this, CUI_RES( FT_HYPHENBEFORE ) ),
aExtHyphenBeforeBox ( this, CUI_RES( ED_HYPHENBEFORE ) ),
aAfterText ( this, CUI_RES( FT_HYPHENAFTER ) ),
aExtHyphenAfterBox ( this, CUI_RES( ED_HYPHENAFTER ) ),
aMaxHyphenLabel ( this, CUI_RES( FT_MAXHYPH ) ),
aMaxHyphenEdit ( this, CUI_RES( ED_MAXHYPH ) ),
aBreaksFL ( this, CUI_RES( FL_BREAKS ) ),
aPageBreakBox ( this, CUI_RES( BTN_PAGEBREAK ) ),
aBreakTypeFT ( this, CUI_RES( FT_BREAKTYPE )),
aBreakTypeLB ( this, CUI_RES( LB_BREAKTYPE )),
aBreakPositionFT ( this, CUI_RES( FT_BREAKPOSITION )),
aBreakPositionLB ( this, CUI_RES( LB_BREAKPOSITION )),
aApplyCollBtn ( this, CUI_RES( BTN_PAGECOLL ) ),
aApplyCollBox ( this, CUI_RES( LB_PAGECOLL ) ),
aPagenumText ( this, CUI_RES( FT_PAGENUM ) ),
aPagenumEdit ( this, CUI_RES( ED_PAGENUM ) ),
aExtendFL ( this, CUI_RES( FL_OPTIONS ) ),
aKeepTogetherBox ( this, CUI_RES( BTN_KEEPTOGETHER ) ),
aKeepParaBox ( this, CUI_RES( CB_KEEPTOGETHER ) ),
aOrphanBox ( this, CUI_RES( BTN_ORPHANS ) ),
aOrphanRowNo ( this, CUI_RES( ED_ORPHANS ) ),
aOrphanRowLabel ( this, CUI_RES( FT_ORPHANS ) ),
aWidowBox ( this, CUI_RES( BTN_WIDOWS ) ),
aWidowRowNo ( this, CUI_RES( ED_WIDOWS ) ),
aWidowRowLabel ( this, CUI_RES( FT_WIDOWS ) ),
bPageBreak ( sal_True ),
bHtmlMode ( sal_False ),
nStdPos ( 0 )
{
FreeResource();
// Hyphenation
get(m_pHyphenBox,"checkAuto");
get(m_pExtHyphenBeforeBox,"spinLineEnd");
get(m_pExtHyphenAfterBox,"spinLineBegin");
get(m_pMaxHyphenEdit,"spinMaxNum");
get(m_pBeforeText,"labelLineBegin");
get(m_pAfterText,"labelLineEnd");
get(m_pMaxHyphenLabel,"labelMaxNum");
aApplyCollBox.SetAccessibleRelationLabeledBy(&aApplyCollBtn);
aApplyCollBox.SetAccessibleName(String(CUI_RES(STR_PAGE_STYLE)));
aOrphanRowNo.SetAccessibleRelationLabeledBy(&aOrphanBox);
aWidowRowNo.SetAccessibleRelationLabeledBy(&aWidowBox);
//Page break
get(m_pPageBreakBox,"checkInsert");
get(m_pBreakTypeLB,"comboBreakType");
get(m_pBreakPositionLB,"comboBreakPosition");
get(m_pApplyCollBtn,"checkPageStyle");
get(m_pApplyCollBox,"comboPageStyle");
get(m_pPagenumEdit,"spinPageNumber");
get(m_pBreakTypeFT,"labelType");
get(m_pBreakPositionFT,"labelPosition");
get(m_pPagenumText,"labelPageNum");
// Options
get(m_pKeepTogetherBox,"checkSplitPara");
get(m_pKeepParaBox,"checkKeepPara");
get(m_pOrphanBox,"checkOrphan");
get(m_pOrphanRowNo,"spinOrphan");
get(m_pOrphanRowLabel,"labelOrphan");
get(m_pWidowBox,"checkWidow");
get(m_pWidowRowNo,"spinWidow");
get(m_pWidowRowLabel,"labelWidow");
m_pApplyCollBox->SetAccessibleRelationLabeledBy(m_pApplyCollBtn);
m_pApplyCollBox->SetAccessibleName(String(CUI_RES(STR_PAGE_STYLE)));
m_pOrphanRowNo->SetAccessibleRelationLabeledBy(m_pOrphanBox);
m_pWidowRowNo->SetAccessibleRelationLabeledBy(m_pWidowBox);
// this page needs ExchangeSupport
SetExchangeSupport();
aHyphenBox.SetClickHdl( LINK( this, SvxExtParagraphTabPage, HyphenClickHdl_Impl ) );
aPageBreakBox.SetClickHdl( LINK( this, SvxExtParagraphTabPage, PageBreakHdl_Impl ) );
aKeepTogetherBox.SetClickHdl( LINK( this, SvxExtParagraphTabPage, KeepTogetherHdl_Impl ) );
aWidowBox.SetClickHdl( LINK( this, SvxExtParagraphTabPage, WidowHdl_Impl ) );
aOrphanBox.SetClickHdl( LINK( this, SvxExtParagraphTabPage, OrphanHdl_Impl ) );
aApplyCollBtn.SetClickHdl( LINK( this, SvxExtParagraphTabPage, ApplyCollClickHdl_Impl ) );
aBreakTypeLB.SetSelectHdl( LINK( this, SvxExtParagraphTabPage, PageBreakTypeHdl_Impl ) );
aBreakPositionLB.SetSelectHdl( LINK( this, SvxExtParagraphTabPage, PageBreakPosHdl_Impl ) );
m_pHyphenBox->SetClickHdl( LINK( this, SvxExtParagraphTabPage, HyphenClickHdl_Impl ) );
m_pPageBreakBox->SetClickHdl( LINK( this, SvxExtParagraphTabPage, PageBreakHdl_Impl ) );
m_pKeepTogetherBox->SetClickHdl( LINK( this, SvxExtParagraphTabPage, KeepTogetherHdl_Impl ) );
m_pWidowBox->SetClickHdl( LINK( this, SvxExtParagraphTabPage, WidowHdl_Impl ) );
m_pOrphanBox->SetClickHdl( LINK( this, SvxExtParagraphTabPage, OrphanHdl_Impl ) );
m_pApplyCollBtn->SetClickHdl( LINK( this, SvxExtParagraphTabPage, ApplyCollClickHdl_Impl ) );
m_pBreakTypeLB->SetSelectHdl( LINK( this, SvxExtParagraphTabPage, PageBreakTypeHdl_Impl ) );
m_pBreakPositionLB->SetSelectHdl( LINK( this, SvxExtParagraphTabPage, PageBreakPosHdl_Impl ) );
SfxObjectShell* pSh = SfxObjectShell::Current();
if ( pSh )
@@ -1975,28 +1979,27 @@ SvxExtParagraphTabPage::SvxExtParagraphTabPage( Window* pParent, const SfxItemSe
if ( aStdName.Len() == 0 )
// first style == standard style
aStdName = pStyle->GetName();
aApplyCollBox.InsertEntry( pStyle->GetName() );
m_pApplyCollBox->InsertEntry( pStyle->GetName() );
pStyle = pPool->Next();
}
nStdPos = aApplyCollBox.GetEntryPos( aStdName );
nStdPos = m_pApplyCollBox->GetEntryPos( aStdName );
}
sal_uInt16 nHtmlMode = GetHtmlMode_Impl( rAttr );
if ( nHtmlMode & HTMLMODE_ON )
{
bHtmlMode = sal_True;
aHyphenBox .Enable(sal_False);
aBeforeText .Enable(sal_False);
aExtHyphenBeforeBox .Enable(sal_False);
aAfterText .Enable(sal_False);
aExtHyphenAfterBox .Enable(sal_False);
aMaxHyphenLabel .Enable(sal_False);
aMaxHyphenEdit .Enable(sal_False);
aExtFL .Enable(sal_False);
aPagenumText .Enable(sal_False);
aPagenumEdit .Enable(sal_False);
m_pHyphenBox ->Enable(sal_False);
m_pBeforeText ->Enable(sal_False);
m_pExtHyphenBeforeBox ->Enable(sal_False);
m_pAfterText ->Enable(sal_False);
m_pExtHyphenAfterBox ->Enable(sal_False);
m_pMaxHyphenLabel ->Enable(sal_False);
m_pMaxHyphenEdit ->Enable(sal_False);
m_pPagenumText ->Enable(sal_False);
m_pPagenumEdit ->Enable(sal_False);
// no column break in HTML
aBreakTypeLB.RemoveEntry(1);
m_pBreakTypeLB->RemoveEntry(1);
}
}
@@ -2017,41 +2020,41 @@ sal_uInt16* SvxExtParagraphTabPage::GetRanges()
IMPL_LINK_NOARG(SvxExtParagraphTabPage, PageBreakHdl_Impl)
{
switch ( aPageBreakBox.GetState() )
switch ( m_pPageBreakBox->GetState() )
{
case STATE_CHECK:
aBreakTypeFT.Enable();
aBreakTypeLB.Enable();
aBreakPositionFT.Enable();
aBreakPositionLB.Enable();
m_pBreakTypeFT->Enable();
m_pBreakTypeLB->Enable();
m_pBreakPositionFT->Enable();
m_pBreakPositionLB->Enable();
if ( 0 == aBreakTypeLB.GetSelectEntryPos()&&
0 == aBreakPositionLB.GetSelectEntryPos() )
if ( 0 == m_pBreakTypeLB->GetSelectEntryPos()&&
0 == m_pBreakPositionLB->GetSelectEntryPos() )
{
aApplyCollBtn.Enable();
m_pApplyCollBtn->Enable();
sal_Bool bEnable = STATE_CHECK == aApplyCollBtn.GetState() &&
aApplyCollBox.GetEntryCount();
aApplyCollBox.Enable(bEnable);
sal_Bool bEnable = STATE_CHECK == m_pApplyCollBtn->GetState() &&
m_pApplyCollBox->GetEntryCount();
m_pApplyCollBox->Enable(bEnable);
if(!bHtmlMode)
{
aPagenumText.Enable(bEnable);
aPagenumEdit.Enable(bEnable);
m_pPagenumText->Enable(bEnable);
m_pPagenumEdit->Enable(bEnable);
}
}
break;
case STATE_NOCHECK:
case STATE_DONTKNOW:
aApplyCollBtn.SetState( STATE_NOCHECK );
aApplyCollBtn.Enable(sal_False);
aApplyCollBox.Enable(sal_False);
aPagenumText.Enable(sal_False);
aPagenumEdit.Enable(sal_False);
aBreakTypeFT.Enable(sal_False);
aBreakTypeLB.Enable(sal_False);
aBreakPositionFT.Enable(sal_False);
aBreakPositionLB.Enable(sal_False);
m_pApplyCollBtn->SetState( STATE_NOCHECK );
m_pApplyCollBtn->Enable(sal_False);
m_pApplyCollBox->Enable(sal_False);
m_pPagenumText->Enable(sal_False);
m_pPagenumEdit->Enable(sal_False);
m_pBreakTypeFT->Enable(sal_False);
m_pBreakTypeLB->Enable(sal_False);
m_pBreakPositionFT->Enable(sal_False);
m_pBreakPositionLB->Enable(sal_False);
break;
}
return 0;
@@ -2061,9 +2064,9 @@ IMPL_LINK_NOARG(SvxExtParagraphTabPage, PageBreakHdl_Impl)
IMPL_LINK_NOARG(SvxExtParagraphTabPage, KeepTogetherHdl_Impl)
{
sal_Bool bEnable = aKeepTogetherBox.GetState() == STATE_NOCHECK;
aWidowBox.Enable(bEnable);
aOrphanBox.Enable(bEnable);
sal_Bool bEnable = m_pKeepTogetherBox->GetState() == STATE_NOCHECK;
m_pWidowBox->Enable(bEnable);
m_pOrphanBox->Enable(bEnable);
return 0;
}
@@ -2072,22 +2075,22 @@ IMPL_LINK_NOARG(SvxExtParagraphTabPage, KeepTogetherHdl_Impl)
IMPL_LINK_NOARG(SvxExtParagraphTabPage, WidowHdl_Impl)
{
switch ( aWidowBox.GetState() )
switch ( m_pWidowBox->GetState() )
{
case STATE_CHECK:
aWidowRowNo.Enable();
aWidowRowLabel.Enable();
aKeepTogetherBox.Enable(sal_False);
m_pWidowRowNo->Enable();
m_pWidowRowLabel->Enable();
m_pKeepTogetherBox->Enable(sal_False);
break;
case STATE_NOCHECK:
if ( aOrphanBox.GetState() == STATE_NOCHECK )
aKeepTogetherBox.Enable();
if ( m_pOrphanBox->GetState() == STATE_NOCHECK )
m_pKeepTogetherBox->Enable();
// no break
case STATE_DONTKNOW:
aWidowRowNo.Enable(sal_False);
aWidowRowLabel.Enable(sal_False);
m_pWidowRowNo->Enable(sal_False);
m_pWidowRowLabel->Enable(sal_False);
break;
}
return 0;
@@ -2097,22 +2100,22 @@ IMPL_LINK_NOARG(SvxExtParagraphTabPage, WidowHdl_Impl)
IMPL_LINK_NOARG(SvxExtParagraphTabPage, OrphanHdl_Impl)
{
switch( aOrphanBox.GetState() )
switch( m_pOrphanBox->GetState() )
{
case STATE_CHECK:
aOrphanRowNo.Enable();
aOrphanRowLabel.Enable();
aKeepTogetherBox.Enable(sal_False);
m_pOrphanRowNo->Enable();
m_pOrphanRowLabel->Enable();
m_pKeepTogetherBox->Enable(sal_False);
break;
case STATE_NOCHECK:
if ( aWidowBox.GetState() == STATE_NOCHECK )
aKeepTogetherBox.Enable();
if ( m_pWidowBox->GetState() == STATE_NOCHECK )
m_pKeepTogetherBox->Enable();
// kein break
case STATE_DONTKNOW:
aOrphanRowNo.Enable(sal_False);
aOrphanRowLabel.Enable(sal_False);
m_pOrphanRowNo->Enable(sal_False);
m_pOrphanRowLabel->Enable(sal_False);
break;
}
return 0;
@@ -2123,14 +2126,14 @@ IMPL_LINK_NOARG(SvxExtParagraphTabPage, OrphanHdl_Impl)
IMPL_LINK_NOARG(SvxExtParagraphTabPage, HyphenClickHdl_Impl)
{
sal_Bool bEnable = aHyphenBox.GetState() == STATE_CHECK;
aBeforeText.Enable(bEnable);
aExtHyphenBeforeBox.Enable(bEnable);
aAfterText.Enable(bEnable);
aExtHyphenAfterBox.Enable(bEnable);
aMaxHyphenLabel.Enable(bEnable);
aMaxHyphenEdit.Enable(bEnable);
aHyphenBox.SetState( bEnable ? STATE_CHECK : STATE_NOCHECK);
sal_Bool bEnable = m_pHyphenBox->GetState() == STATE_CHECK;
m_pBeforeText->Enable(bEnable);
m_pExtHyphenBeforeBox->Enable(bEnable);
m_pAfterText->Enable(bEnable);
m_pExtHyphenAfterBox->Enable(bEnable);
m_pMaxHyphenLabel->Enable(bEnable);
m_pMaxHyphenEdit->Enable(bEnable);
m_pHyphenBox->SetState( bEnable ? STATE_CHECK : STATE_NOCHECK);
return 0;
}
@@ -2140,21 +2143,21 @@ IMPL_LINK_NOARG(SvxExtParagraphTabPage, HyphenClickHdl_Impl)
IMPL_LINK_NOARG(SvxExtParagraphTabPage, ApplyCollClickHdl_Impl)
{
sal_Bool bEnable = sal_False;
if ( aApplyCollBtn.GetState() == STATE_CHECK &&
aApplyCollBox.GetEntryCount() )
if ( m_pApplyCollBtn->GetState() == STATE_CHECK &&
m_pApplyCollBox->GetEntryCount() )
{
bEnable = sal_True;
aApplyCollBox.SelectEntryPos( nStdPos );
m_pApplyCollBox->SelectEntryPos( nStdPos );
}
else
{
aApplyCollBox.SetNoSelection();
m_pApplyCollBox->SetNoSelection();
}
aApplyCollBox.Enable(bEnable);
m_pApplyCollBox->Enable(bEnable);
if(!bHtmlMode)
{
aPagenumText.Enable(bEnable);
aPagenumEdit.Enable(bEnable);
m_pPagenumText->Enable(bEnable);
m_pPagenumEdit->Enable(bEnable);
}
return 0;
}
@@ -2165,25 +2168,25 @@ IMPL_LINK( SvxExtParagraphTabPage, PageBreakPosHdl_Impl, ListBox *, pListBox )
{
if ( 0 == pListBox->GetSelectEntryPos() )
{
aApplyCollBtn.Enable();
m_pApplyCollBtn->Enable();
sal_Bool bEnable = aApplyCollBtn.GetState() == STATE_CHECK &&
aApplyCollBox.GetEntryCount();
sal_Bool bEnable = m_pApplyCollBtn->GetState() == STATE_CHECK &&
m_pApplyCollBox->GetEntryCount();
aApplyCollBox.Enable(bEnable);
m_pApplyCollBox->Enable(bEnable);
if(!bHtmlMode)
{
aPagenumText.Enable(bEnable);
aPagenumEdit.Enable(bEnable);
m_pPagenumText->Enable(bEnable);
m_pPagenumEdit->Enable(bEnable);
}
}
else if ( 1 == pListBox->GetSelectEntryPos() )
{
aApplyCollBtn.SetState( STATE_NOCHECK );
aApplyCollBtn.Enable(sal_False);
aApplyCollBox.Enable(sal_False);
aPagenumText.Enable(sal_False);
aPagenumEdit.Enable(sal_False);
m_pApplyCollBtn->SetState( STATE_NOCHECK );
m_pApplyCollBtn->Enable(sal_False);
m_pApplyCollBox->Enable(sal_False);
m_pPagenumText->Enable(sal_False);
m_pPagenumEdit->Enable(sal_False);
}
return 0;
}
@@ -2193,17 +2196,17 @@ IMPL_LINK( SvxExtParagraphTabPage, PageBreakPosHdl_Impl, ListBox *, pListBox )
IMPL_LINK( SvxExtParagraphTabPage, PageBreakTypeHdl_Impl, ListBox *, pListBox )
{
//column break or break break after
sal_uInt16 nBreakPos = aBreakPositionLB.GetSelectEntryPos();
sal_uInt16 nBreakPos = m_pBreakPositionLB->GetSelectEntryPos();
if ( pListBox->GetSelectEntryPos() == 1 || 1 == nBreakPos)
{
aApplyCollBtn.SetState( STATE_NOCHECK );
aApplyCollBtn.Enable(sal_False);
aApplyCollBox.Enable(sal_False);
aPagenumText.Enable(sal_False);
aPagenumEdit.Enable(sal_False);
m_pApplyCollBtn->SetState( STATE_NOCHECK );
m_pApplyCollBtn->Enable(sal_False);
m_pApplyCollBox->Enable(sal_False);
m_pPagenumText->Enable(sal_False);
m_pPagenumEdit->Enable(sal_False);
}
else
PageBreakPosHdl_Impl( &aBreakPositionLB );
PageBreakPosHdl_Impl( m_pBreakPositionLB );
return 0;
}
diff --git a/cui/source/tabpages/paragrph.hrc b/cui/source/tabpages/paragrph.hrc
index 8377d75..ef3dfd2 100644
--- a/cui/source/tabpages/paragrph.hrc
+++ b/cui/source/tabpages/paragrph.hrc
@@ -61,37 +61,6 @@
#define ST_LEFTALIGN_ASIAN 53
#define ST_RIGHTALIGN_ASIAN 54
// ExtendedTabPage ----------------------------------------------------------
#define BTN_HYPHEN 50
#define ED_HYPHENBEFORE 52
#define FT_HYPHENBEFORE 53
#define ED_HYPHENAFTER 55
#define FT_HYPHENAFTER 56
#define FL_HYPHEN 57
#define BTN_PAGEBREAK 60
#define FT_BREAKTYPE 61
#define LB_BREAKTYPE 62
#define FT_BREAKPOSITION 63
#define LB_BREAKPOSITION 64
#define BTN_PAGECOLL 65
#define LB_PAGECOLL 66
#define BTN_KEEPTOGETHER 67
#define BTN_WIDOWS 68
#define ED_WIDOWS 69
#define FT_WIDOWS 70
#define BTN_ORPHANS 71
#define ED_ORPHANS 72
#define FT_ORPHANS 73
#define FL_OPTIONS 74
#define FT_PAGENUM 75
#define ED_PAGENUM 76
#define FL_BREAKS 77
#define CB_KEEPTOGETHER 80
#define FT_MAXHYPH 81
#define ED_MAXHYPH 83
#define CB_REGISTER 84
#define FL_REGISTER 85
diff --git a/cui/source/tabpages/paragrph.src b/cui/source/tabpages/paragrph.src
index 5b3f14c..400b0d3 100644
--- a/cui/source/tabpages/paragrph.src
+++ b/cui/source/tabpages/paragrph.src
@@ -416,282 +416,7 @@ TabPage RID_SVXPAGE_ALIGN_PARAGRAPH
Hide = TRUE ;
};
};
// RID_SVXPAGE_EXT_PARAGRAPH ---------------------------------------------
TabPage RID_SVXPAGE_EXT_PARAGRAPH
{
HelpId = HID_FORMAT_PARAGRAPH_EXT ;
Hide = TRUE ;
Text [ en-US ] = "Text Flow" ;
Size = MAP_APPFONT ( TP_WIDTH , TP_HEIGHT ) ;
TriStateBox BTN_HYPHEN
{
HelpID = "cui:TriStateBox:RID_SVXPAGE_EXT_PARAGRAPH:BTN_HYPHEN";
Pos = MAP_APPFONT ( 12 , 14 ) ;
Size = MAP_APPFONT ( 236 , 10 ) ;
Text [ en-US ] = "A~utomatically" ;
};
NumericField ED_HYPHENBEFORE
{
HelpID = "cui:NumericField:RID_SVXPAGE_EXT_PARAGRAPH:ED_HYPHENBEFORE";
Disable = TRUE ;
Border = TRUE ;
Pos = MAP_APPFONT ( 21 , 26 ) ;
Size = MAP_APPFONT ( 24 , 12 ) ;
Group = TRUE ;
Left = TRUE ;
Repeat = TRUE ;
Spin = TRUE ;
Minimum = 2 ;
Maximum = 9 ;
Value = 2 ;
First = 2 ;
Last = 9 ;
};
FixedText FT_HYPHENBEFORE
{
Disable = TRUE ;
Pos = MAP_APPFONT ( 48 , 29 ) ;
Size = MAP_APPFONT ( 200 , 8 ) ;
Text [ en-US ] = "C~haracters at line end" ;
Left = TRUE ;
};
NumericField ED_HYPHENAFTER
{
HelpID = "cui:NumericField:RID_SVXPAGE_EXT_PARAGRAPH:ED_HYPHENAFTER";
Disable = TRUE ;
Border = TRUE ;
Pos = MAP_APPFONT ( 21 , 41 ) ;
Size = MAP_APPFONT ( 24 , 12 ) ;
Group = TRUE ;
Left = TRUE ;
Repeat = TRUE ;
Spin = TRUE ;
Minimum = 2 ;
Maximum = 9 ;
Value = 2 ;
First = 2 ;
Last = 9 ;
};
FixedText FT_HYPHENAFTER
{
Disable = TRUE ;
Pos = MAP_APPFONT ( 48 , 43 ) ;
Size = MAP_APPFONT ( 200 , 8 ) ;
Text [ en-US ] = "Cha~racters at line begin" ;
Left = TRUE ;
};
FixedText FT_MAXHYPH
{
Pos = MAP_APPFONT ( 48 , 57 ) ;
Size = MAP_APPFONT ( 200 , 8 ) ;
WordBreak = TRUE ;
Text [ en-US ] = "~Maximum number of consecutive hyphens" ;
};
NumericField ED_MAXHYPH
{
HelpID = "cui:NumericField:RID_SVXPAGE_EXT_PARAGRAPH:ED_MAXHYPH";
Border = TRUE ;
Pos = MAP_APPFONT ( 21 , 55 ) ;
Size = MAP_APPFONT ( 24 , 12 ) ;
Group = TRUE ;
Left = TRUE ;
Repeat = TRUE ;
Spin = TRUE ;
Maximum = 99 ;
Last = 99 ;
};
FixedLine FL_HYPHEN
{
Pos = MAP_APPFONT ( 6 , 3 ) ;
Size = MAP_APPFONT ( 248 , 8 ) ;
Text [ en-US ] = "Hyphenation" ;
};
FixedLine FL_OPTIONS
{ // is moved one section deeper to not raise unnecessary translations
Pos = MAP_APPFONT ( 6 , 116 ) ;
Size = MAP_APPFONT ( 248 , 8 ) ;
Text [ en-US ] = "Options" ;
Group = TRUE ;
};
FixedLine FL_BREAKS
{
Pos = MAP_APPFONT ( 6 , 73 ) ;
Size = MAP_APPFONT ( 248 , 8 ) ;
Text [ en-US ] = "Breaks" ;
Group = TRUE ;
};
TriStateBox BTN_PAGEBREAK
{
HelpID = "cui:TriStateBox:RID_SVXPAGE_EXT_PARAGRAPH:BTN_PAGEBREAK";
// Disable = TRUE;
Pos = MAP_APPFONT ( 12 , 86 ) ;
Size = MAP_APPFONT ( 61 , 10 ) ;
Text [ en-US ] = "Insert" ;
Group = TRUE ;
};
FixedText FT_BREAKTYPE
{
Pos = MAP_APPFONT ( 75 , 86 ) ;
Size = MAP_APPFONT ( 21 , 10 ) ;
Text [ en-US ] = "~Type";
};
ListBox LB_BREAKTYPE
{
HelpID = "cui:ListBox:RID_SVXPAGE_EXT_PARAGRAPH:LB_BREAKTYPE";
Border = TRUE ;
Pos = MAP_APPFONT ( 98 , 84 ) ;
Size = MAP_APPFONT ( 61 , 50 ) ;
DropDown = TRUE ;
StringList [ en-US ] =
{
< "Page" ; 0; > ;
< "Column" ; 1; > ;
};
};
FixedText FT_BREAKPOSITION
{
Pos = MAP_APPFONT ( 163 , 86 ) ;
Size = MAP_APPFONT ( 45 , 10 ) ;
Right = TRUE;
Text [ en-US ] = "Position";
};
ListBox LB_BREAKPOSITION
{
HelpID = "cui:ListBox:RID_SVXPAGE_EXT_PARAGRAPH:LB_BREAKPOSITION";
Border = TRUE ;
Pos = MAP_APPFONT ( 211 , 84 ) ;
Size = MAP_APPFONT ( 40 , 50 ) ;
DropDown = TRUE ;
StringList [ en-US ] =
{
< "Before" ; 0; > ;
< "After" ; 1; > ;
};
};
TriStateBox BTN_PAGECOLL
{
HelpID = "cui:TriStateBox:RID_SVXPAGE_EXT_PARAGRAPH:BTN_PAGECOLL";
// Disable = TRUE;
Pos = MAP_APPFONT (21 , 100 ) ;
Size = MAP_APPFONT ( 75 , 10 ) ;
Text [ en-US ] = "With Page St~yle" ;
Group = TRUE ;
};
ListBox LB_PAGECOLL
{
HelpID = "cui:ListBox:RID_SVXPAGE_EXT_PARAGRAPH:LB_PAGECOLL";
// Disable = TRUE;
Pos = MAP_APPFONT ( 98 , 98 ) ;
Size = MAP_APPFONT ( 61 , 50 ) ;
DropDown = TRUE ;
Sort = TRUE;
};
FixedText FT_PAGENUM
{
Pos = MAP_APPFONT ( 163 , 100 ) ;
Size = MAP_APPFONT ( 45 , 8 ) ;
Right = TRUE ;
Text [ en-US ] = "Page ~number" ;
};
NumericField ED_PAGENUM
{
HelpID = "cui:NumericField:RID_SVXPAGE_EXT_PARAGRAPH:ED_PAGENUM";
Border = TRUE ;
Pos = MAP_APPFONT ( 211 , 98 ) ;
Size = MAP_APPFONT ( 26 , 12 ) ;
Left = TRUE ;
Repeat = TRUE ;
Spin = TRUE ;
Minimum = 0 ;
Maximum = 9999 ;
Value = 0 ;
First = 0 ;
Last = 9999 ;
};
TriStateBox BTN_KEEPTOGETHER
{
HelpID = "cui:TriStateBox:RID_SVXPAGE_EXT_PARAGRAPH:BTN_KEEPTOGETHER";
Pos = MAP_APPFONT ( 12 , 127 ) ;
Size = MAP_APPFONT ( 236 , 10 ) ;
Text [ en-US ] = "~Do not split paragraph" ;
Group = TRUE ;
};
TriStateBox CB_KEEPTOGETHER
{
HelpID = "cui:TriStateBox:RID_SVXPAGE_EXT_PARAGRAPH:CB_KEEPTOGETHER";
Pos = MAP_APPFONT ( 12, 141 ) ;
Size = MAP_APPFONT ( 236 , 10 ) ;
Text [ en-US ] = "~Keep with next paragraph" ;
};
TriStateBox BTN_ORPHANS
{
HelpID = "cui:TriStateBox:RID_SVXPAGE_EXT_PARAGRAPH:BTN_ORPHANS";
Disable = TRUE ;
Pos = MAP_APPFONT ( 12 , 155 ) ;
Size = MAP_APPFONT ( 120 , 10 ) ;
Group = TRUE ;
Text [ en-US ] = "~Orphan control";
};
NumericField ED_ORPHANS
{
HelpID = "cui:NumericField:RID_SVXPAGE_EXT_PARAGRAPH:ED_ORPHANS";
Disable = TRUE ;
Border = TRUE ;
Pos = MAP_APPFONT ( 134 , 153 ) ;
Size = MAP_APPFONT ( 24 , 12 ) ;
Group = TRUE ;
Left = TRUE ;
Repeat = TRUE ;
Spin = TRUE ;
Minimum = 2 ;
Maximum = 9 ;
Value = 2 ;
First = 2 ;
Last = 9 ;
};
FixedText FT_ORPHANS
{
Disable = TRUE ;
Pos = MAP_APPFONT ( 161 , 155 ) ;
Size = MAP_APPFONT ( 86 , 8 ) ;
Text [ en-US ] = "Lines" ;
Left = TRUE ;
};
TriStateBox BTN_WIDOWS
{
HelpID = "cui:TriStateBox:RID_SVXPAGE_EXT_PARAGRAPH:BTN_WIDOWS";
Disable = TRUE ;
Pos = MAP_APPFONT ( 12 , 169 ) ;
Size = MAP_APPFONT ( 120 , 10 ) ;
Group = TRUE ;
Text [ en-US ] = "~Widow control";
};
NumericField ED_WIDOWS
{
HelpID = "cui:NumericField:RID_SVXPAGE_EXT_PARAGRAPH:ED_WIDOWS";
Disable = TRUE ;
Border = TRUE ;
Pos = MAP_APPFONT ( 134 , 167 ) ;
Size = MAP_APPFONT ( 24 , 12 ) ;
Group = TRUE ;
Left = TRUE ;
Repeat = TRUE ;
Spin = TRUE ;
Minimum = 2 ;
Maximum = 9 ;
Value = 2 ;
First = 2 ;
Last = 9 ;
};
FixedText FT_WIDOWS
{
Disable = TRUE ;
Pos = MAP_APPFONT ( 161 , 169 ) ;
Size = MAP_APPFONT ( 86 , 8 ) ;
Text [ en-US ] = "Lines" ;
Left = TRUE ;
};
};
String STR_EXAMPLE
{
Text [ en-US ] = "Example" ;
diff --git a/cui/uiconfig/ui/textflowpage.ui b/cui/uiconfig/ui/textflowpage.ui
new file mode 100644
index 0000000..a61bac0
--- /dev/null
+++ b/cui/uiconfig/ui/textflowpage.ui
@@ -0,0 +1,532 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkGrid" id="TextFlowPage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="row_spacing">12</property>
<property name="column_spacing">6</property>
<child>
<object class="GtkFrame" id="FrameHyphenation">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="events">GDK_EXPOSURE_MASK</property>
<property name="hexpand">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="protection1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="top_padding">6</property>
<property name="left_padding">12</property>
<child>
<object class="GtkGrid" id="grid1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkCheckButton" id="checkAuto">
<property name="label" translatable="yes">Automatically</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="has_tooltip">True</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="always_show_image">True</property>
<property name="inconsistent">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="spinMaxNum">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="halign">start</property>
<property name="margin_left">25</property>
<property name="invisible_char">•</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="spinLineBegin">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="halign">start</property>
<property name="margin_left">25</property>
<property name="invisible_char">•</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="spinLineEnd">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="halign">start</property>
<property name="margin_left">25</property>
<property name="invisible_char">•</property>
<property name="input_purpose">number</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelLineEnd">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes">C_haracters at line end</property>
<property name="use_underline">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelLineBegin">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes">Cha_racters at line begin</property>
<property name="use_underline">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelMaxNum">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes">_Maximum number of consecutive hyphens</property>
<property name="use_underline">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="LabelHyphenation">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Hyphenation</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="frameBreaks">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="top_padding">6</property>
<property name="left_padding">12</property>
<child>
<object class="GtkGrid" id="grid2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkCheckButton" id="checkInsert">
<property name="label" translatable="yes">_Insert</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="inconsistent">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="checkPageStyle">
<property name="label" translatable="yes">With Page St_yle</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="margin_left">25</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="inconsistent">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelType">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Type</property>
<property name="use_underline">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="spinPageNumber">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">•</property>
</object>
<packing>
<property name="left_attach">4</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelPageNum">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Page _number</property>
<property name="use_underline">True</property>
<property name="justify">right</property>
</object>
<packing>
<property name="left_attach">3</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelPosition">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Position</property>
<property name="justify">right</property>
</object>
<packing>
<property name="left_attach">3</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkComboBox" id="comboPageStyle">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="comboBreakType">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="entry_text_column">0</property>
<property name="id_column">1</property>
<items>
<item translatable="yes">Page</item>
<item translatable="yes">Column</item>
</items>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="comboBreakPosition">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="entry_text_column">0</property>
<property name="id_column">1</property>
<items>
<item translatable="yes">Before</item>
<item translatable="yes">After</item>
</items>
</object>
<packing>
<property name="left_attach">4</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Breaks</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="FrameOptions">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="left_padding">12</property>
<child>
<object class="GtkGrid" id="gridOptions">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkCheckButton" id="checkSplitPara">
<property name="label" translatable="yes">_Do not split paragraph</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="inconsistent">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="checkKeepPara">
<property name="label" translatable="yes">_Keep with next paragraph</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="inconsistent">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="checkOrphan">
<property name="label" translatable="yes">_Orphan control</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="inconsistent">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="checkWidow">
<property name="label" translatable="yes">_Widow control</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="inconsistent">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="spinOrphan">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">•</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="spinWidow">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">•</property>
<property name="climb_rate">1</property>
<property name="numeric">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelOrphan">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Lines</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelWidow">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Lines</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="labelOptions">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Options</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
</interface>