From ccaf108651ee7e477b09f496f33ea778307fe60b Mon Sep 17 00:00:00 2001 From: Szymon Kłos Date: Sat, 16 Apr 2016 16:38:43 +0200 Subject: character spacing control possible to use outside sidebar Change-Id: Ic0c6458268b529bd0107d6ed5a35f49241cfb833 Reviewed-on: https://gerrit.libreoffice.org/24146 Tested-by: Jenkins Reviewed-by: Jan Holesovsky --- .../sidebar/text/TextCharacterSpacingControl.cxx | 502 ++++++++------------- .../sidebar/text/TextCharacterSpacingControl.hxx | 57 +-- .../sidebar/text/TextCharacterSpacingPopup.cxx | 46 +- .../sidebar/text/TextCharacterSpacingPopup.hxx | 46 -- svx/source/sidebar/text/TextPropertyPanel.cxx | 81 ---- svx/source/sidebar/text/TextPropertyPanel.hrc | 42 -- svx/source/sidebar/text/TextPropertyPanel.hxx | 12 - svx/source/sidebar/text/TextPropertyPanel.src | 180 -------- 8 files changed, 213 insertions(+), 753 deletions(-) delete mode 100644 svx/source/sidebar/text/TextCharacterSpacingPopup.hxx (limited to 'svx/source/sidebar/text') diff --git a/svx/source/sidebar/text/TextCharacterSpacingControl.cxx b/svx/source/sidebar/text/TextCharacterSpacingControl.cxx index fc615541ec00..fc56ee3188ac 100644 --- a/svx/source/sidebar/text/TextCharacterSpacingControl.cxx +++ b/svx/source/sidebar/text/TextCharacterSpacingControl.cxx @@ -16,6 +16,7 @@ * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ +#include #include "TextCharacterSpacingControl.hxx" #include "TextPropertyPanel.hrc" #include @@ -23,442 +24,297 @@ #include #include #include +#include #include #include #include +#include +#include -namespace svx { namespace sidebar { - -TextCharacterSpacingControl::TextCharacterSpacingControl ( - vcl::Window* pParent, - svx::sidebar::TextPropertyPanel& rPanel, - SfxBindings* pBindings) -: PopupControl( pParent,SVX_RES(RID_POPUPPANEL_TEXTPAGE_SPACING)) -, mrTextPropertyPanel(rPanel) -, mpBindings(pBindings) -, maVSSpacing (VclPtr::Create(ValueSetWithTextControl::IMAGE_TEXT,this, SVX_RES(VS_SPACING))) -, maLastCus (VclPtr::Create(this, SVX_RES(FT_LASTCUSTOM))) -//, maBorder (this, SVX_RES(CT_BORDER)) -, maFTSpacing (VclPtr::Create(this, SVX_RES(FT_SPACING))) -, maLBKerning (VclPtr::Create(this, SVX_RES(LB_KERNING))) -, maFTBy (VclPtr::Create(this, SVX_RES(FT_BY))) -, maEditKerning (VclPtr::Create(this, SVX_RES(ED_KERNING))) - -, mpImg (nullptr) -, mpImgSel (nullptr) -, mpStr (nullptr) -, mpStrTip (nullptr) - -, maImgCus (SVX_RES(IMG_CUSTOM)) -, maImgCusGrey (SVX_RES(IMG_CUSTOM_GRAY)) -, maStrCus (SVX_RESSTR(STR_CUSTOM)) -, maStrCusE (SVX_RESSTR(STR_CUSTOM_E_TIP)) //add -, maStrCusC (SVX_RESSTR(STR_CUSTOM_C_TIP)) //add -, maStrCusN (SVX_RESSTR(STR_NORMAL_TIP)) //add -, maStrUnit (SVX_RESSTR(STR_PT)) //add +#define SPACING_VERY_TIGHT -30 +#define SPACING_TIGHT -15 +#define SPACING_NORMAL 0 +#define SPACING_LOOSE 30 +#define SPACING_VERY_LOOSE 60 +namespace svx { + +TextCharacterSpacingControl::TextCharacterSpacingControl(sal_uInt16 nId) + : SfxPopupWindow(nId, "TextCharacterSpacingControl", "svx/ui/textcharacterspacingcontrol.ui") +, mnId(nId) , mnCustomKern(0) -, mnLastCus ( SPACING_NOCUSTOM ) -, mbCusEnable(false) -, mbVS(true) +, mnLastCus(SPACING_NOCUSTOM) { - initial(); - FreeResource(); + get(maEditKerning, "kerning"); + get(maLBKerning, "kerninglb"); + get(maFTBy, "change_by_label"); + get(maFTSpacing, "spacing_label"); + maEditKerning->Disable(); + maFTBy->Disable(); + + get(maNormal, "normal"); + get(maVeryTight, "very_tight"); + get(maTight, "tight"); + get(maVeryLoose, "very_loose"); + get(maLoose, "loose"); + get(maLastCustom, "last_custom"); + maLBKerning->SetSelectHdl(LINK(this, TextCharacterSpacingControl, KerningSelectHdl)); + maLBKerning->SetHelpId(HID_SPACING_CB_KERN); maEditKerning->SetModifyHdl(LINK(this, TextCharacterSpacingControl, KerningModifyHdl)); + maEditKerning->SetHelpId(HID_SPACING_MB_KERN); + Link aLink = LINK(this, TextCharacterSpacingControl, PredefinedValuesHdl); + maNormal->SetClickHdl(aLink); + maVeryTight->SetClickHdl(aLink); + maTight->SetClickHdl(aLink); + maVeryLoose->SetClickHdl(aLink); + maLoose->SetClickHdl(aLink); + maLastCustom->SetClickHdl(aLink); + + Initialize(); } TextCharacterSpacingControl::~TextCharacterSpacingControl() { + if(GetLastCustomState() == SPACING_CLOSE_BY_CUS_EDIT) + { + SvtViewOptions aWinOpt(E_WINDOW, SIDEBAR_SPACING_GLOBAL_VALUE); + css::uno::Sequence aSeq + { { "Spacing", css::uno::makeAny(OUString::number(GetLastCustomValue())) } }; + aWinOpt.SetUserData(aSeq); + + } + disposeOnce(); } void TextCharacterSpacingControl::dispose() { - delete[] mpImg; - delete[] mpImgSel; - delete[] mpStr; - delete[] mpStrTip; - maVSSpacing.disposeAndClear(); - maLastCus.disposeAndClear(); - maFTSpacing.disposeAndClear(); - maLBKerning.disposeAndClear(); - maFTBy.disposeAndClear(); - maEditKerning.disposeAndClear(); - svx::sidebar::PopupControl::dispose(); -} + maFTBy.clear(); + maFTSpacing.clear(); + maLBKerning.clear(); + maEditKerning.clear(); -void TextCharacterSpacingControl::initial() -{ - maVSSpacing->SetStyle( maVSSpacing->GetStyle()| WB_3DLOOK | WB_NO_DIRECTSELECT ); - { - maVSSpacing->SetControlBackground(GetSettings().GetStyleSettings().GetHighContrastMode()? - GetSettings().GetStyleSettings().GetMenuColor(): - sfx2::sidebar::Theme::GetColor( sfx2::sidebar::Theme::Paint_PanelBackground )); - maVSSpacing->SetColor(GetSettings().GetStyleSettings().GetHighContrastMode()? - GetSettings().GetStyleSettings().GetMenuColor(): - sfx2::sidebar::Theme::GetColor( sfx2::sidebar::Theme::Paint_PanelBackground )); - maVSSpacing->SetBackground(GetSettings().GetStyleSettings().GetHighContrastMode()? - GetSettings().GetStyleSettings().GetMenuColor(): - sfx2::sidebar::Theme::GetColor( sfx2::sidebar::Theme::Paint_PanelBackground )); - maFTSpacing->SetBackground(GetSettings().GetStyleSettings().GetHighContrastMode()? - GetSettings().GetStyleSettings().GetMenuColor(): - sfx2::sidebar::Theme::GetColor( sfx2::sidebar::Theme::Paint_PanelBackground )); - maFTBy->SetBackground(GetSettings().GetStyleSettings().GetHighContrastMode()? - GetSettings().GetStyleSettings().GetMenuColor(): - sfx2::sidebar::Theme::GetColor( sfx2::sidebar::Theme::Paint_PanelBackground )); - } - mpImg = new Image[5]; - mpImg[0] = Image(SVX_RES(IMG_VERY_TIGHT)); - mpImg[1] = Image(SVX_RES(IMG_TIGHT)); - mpImg[2] = Image(SVX_RES(IMG_NORMAL)); - mpImg[3] = Image(SVX_RES(IMG_LOOSE)); - mpImg[4] = Image(SVX_RES(IMG_VERY_LOOSE)); - - mpImgSel = new Image[5]; - mpImgSel[0] = Image(SVX_RES(IMG_VERY_TIGHT_S)); - mpImgSel[1] = Image(SVX_RES(IMG_TIGHT_S)); - mpImgSel[2] = Image(SVX_RES(IMG_NORMAL_S)); - mpImgSel[3] = Image(SVX_RES(IMG_LOOSE_S)); - mpImgSel[4] = Image(SVX_RES(IMG_VERY_LOOSE_S)); - - mpStr = new OUString[5]; - mpStr[0] = SVX_RESSTR(STR_VERY_TIGHT); - mpStr[1] = SVX_RESSTR(STR_TIGHT); - mpStr[2] = SVX_RESSTR(STR_NORMAL); - mpStr[3] = SVX_RESSTR(STR_LOOSE); - mpStr[4] = SVX_RESSTR(STR_VERY_LOOSE); - - - mpStrTip = new OUString[5]; - mpStrTip[0] = SVX_RESSTR(STR_VERY_TIGHT_TIP); - mpStrTip[1] = SVX_RESSTR(STR_TIGHT_TIP); - mpStrTip[2] = SVX_RESSTR(STR_NORMAL_TIP); - mpStrTip[3] = SVX_RESSTR(STR_LOOSE_TIP); - mpStrTip[4] = SVX_RESSTR(STR_VERY_LOOSE_TIP); - - for (int i=0;i<5;i++) - maVSSpacing->AddItem(mpImg[i], &mpImgSel[i],mpStr[i],&mpStrTip[i]); - - maVSSpacing->AddItem( maImgCus, nullptr, maStrCus, nullptr ); - - maVSSpacing->SetNoSelection(); - maVSSpacing->SetSelectHdl(LINK(this, TextCharacterSpacingControl,VSSelHdl )); - maVSSpacing->StartSelection(); - maVSSpacing->Show(); + maNormal.clear(); + maVeryTight.clear(); + maTight.clear(); + maVeryLoose.clear(); + maLoose.clear(); + maLastCustom.clear(); + + SfxPopupWindow::dispose(); } -void TextCharacterSpacingControl::Rearrange(bool bLBAvailable,bool bAvailable, long nKerning) +void TextCharacterSpacingControl::Initialize() { - mbVS = true; - maVSSpacing->SetNoSelection(); - SvtViewOptions aWinOpt( E_WINDOW, SIDEBAR_SPACING_GLOBAL_VALUE ); - if ( aWinOpt.Exists() ) + const SfxPoolItem* pItem; + SfxItemState eState = SfxViewFrame::Current()->GetBindings().GetDispatcher()->QueryState(SID_ATTR_CHAR_KERNING, pItem); + + const SvxKerningItem* pKerningItem = static_cast(pItem); + long nKerning = 0; + + if(pKerningItem) + nKerning = pKerningItem->GetValue(); + + SvtViewOptions aWinOpt(E_WINDOW, SIDEBAR_SPACING_GLOBAL_VALUE); + if(aWinOpt.Exists()) { - css::uno::Sequence < css::beans::NamedValue > aSeq = aWinOpt.GetUserData(); + css::uno::Sequence aSeq = aWinOpt.GetUserData(); ::rtl::OUString aTmp; - if ( aSeq.getLength()) + if(aSeq.getLength()) aSeq[0].Value >>= aTmp; - OUString aWinData( aTmp ); + OUString aWinData(aTmp); mnCustomKern = aWinData.toInt32(); mnLastCus = SPACING_CLOSE_BY_CUS_EDIT; - mbCusEnable = true; } else { mnLastCus = SPACING_NOCUSTOM; - mbCusEnable = false; - } - - if( !mnLastCus ) - { - maVSSpacing->ReplaceItemImages(6, maImgCusGrey,nullptr); - } - else - { - //set custom tips - maVSSpacing->ReplaceItemImages(6, maImgCus,nullptr); - if(mnCustomKern > 0) - { - OUString aStrTip( maStrCusE); //LAST CUSTOM no tip defect //add - aStrTip += OUString::number( (double)mnCustomKern / 10); - aStrTip += " " + maStrUnit; // modify - maVSSpacing->SetItemText(6,aStrTip); - } - else if(mnCustomKern < 0) - { - OUString aStrTip(maStrCusC) ; //LAST CUSTOM no tip defect //add - aStrTip += OUString::number( (double)-mnCustomKern / 10); - aStrTip += " " + maStrUnit; // modify - maVSSpacing->SetItemText( 6, aStrTip ); - } - else - { - OUString aStrTip(maStrCusN) ; //LAST CUSTOM no tip defect //add - maVSSpacing->SetItemText( 6, aStrTip ); - } - } - if(bLBAvailable && bAvailable) + if(eState >= SfxItemState::DEFAULT) { maLBKerning->Enable(); maFTSpacing->Enable(); - SfxMapUnit eUnit = mrTextPropertyPanel.GetSpaceController().GetCoreMetric(); + SfxMapUnit eUnit = GetCoreMetric(); MapUnit eOrgUnit = (MapUnit)eUnit; - MapUnit ePntUnit( MAP_POINT ); + MapUnit ePntUnit(MAP_POINT); long nBig = maEditKerning->Normalize(nKerning); - nKerning = LogicToLogic( nBig, eOrgUnit, ePntUnit ); + nKerning = LogicToLogic(nBig, eOrgUnit, ePntUnit); - if ( nKerning > 0 ) + if(nKerning > 0) { maFTBy->Enable(); maEditKerning->Enable(); - maEditKerning->SetMax( 9999 ); - maEditKerning->SetLast( 9999 ); - maEditKerning->SetValue( nKerning ); - maLBKerning->SelectEntryPos( SIDEBAR_SPACE_EXPAND ); - if(nKerning == 30) - { - maVSSpacing->SelectItem(4); - } - else if(nKerning == 60) - { - maVSSpacing->SelectItem(5); - } - else - { - maVSSpacing->SetNoSelection(); - maVSSpacing->SelectItem(0); - mbVS = false; - } + maEditKerning->SetMax(9999); + maEditKerning->SetLast(9999); + maEditKerning->SetValue(nKerning); + maLBKerning->SelectEntryPos(SIDEBAR_SPACE_EXPAND); } - else if ( nKerning < 0 ) + else if(nKerning < 0) { maFTBy->Enable(); maEditKerning->Enable(); - maEditKerning->SetValue( -nKerning ); - maLBKerning->SelectEntryPos( SIDEBAR_SPACE_CONDENSED ); - long nMax = mrTextPropertyPanel.GetSelFontSize()/6; - maEditKerning->SetMax( maEditKerning->Normalize( nMax ), FUNIT_POINT ); - maEditKerning->SetLast( maEditKerning->GetMax( maEditKerning->GetUnit() ) ); - if( nKerning == -30 ) - { - maVSSpacing->SelectItem(1); - } - else if( nKerning == -15 ) - { - maVSSpacing->SelectItem(2); - } - else - { - maVSSpacing->SetNoSelection(); - maVSSpacing->SelectItem(0); - mbVS = false; - } + maEditKerning->SetValue(-nKerning); + maLBKerning->SelectEntryPos(SIDEBAR_SPACE_CONDENSED); + long nMax = GetSelFontSize()/6; + maEditKerning->SetMax(maEditKerning->Normalize(nMax), FUNIT_POINT); + maEditKerning->SetLast(maEditKerning->GetMax(maEditKerning->GetUnit())); } else { - maVSSpacing->SelectItem(3); - maLBKerning->SelectEntryPos( SIDEBAR_SPACE_NORMAL ); + maLBKerning->SelectEntryPos(SIDEBAR_SPACE_NORMAL); maFTBy->Disable(); maEditKerning->Disable(); - maEditKerning->SetValue( 0 ); - maEditKerning->SetMax( 9999 ); - maEditKerning->SetLast( 9999 ); + maEditKerning->SetValue(0); + maEditKerning->SetMax(9999); + maEditKerning->SetLast(9999); } } - else if(bLBAvailable && !bAvailable) + else if(SfxItemState::DISABLED == eState) { - //modified - maVSSpacing->SetNoSelection(); - maVSSpacing->SelectItem(0); - mbVS = false; - maLBKerning->Enable(); - maFTSpacing->Enable(); - maLBKerning->SetNoSelection(); maEditKerning->SetText(OUString()); + maLBKerning->SetNoSelection(); + maLBKerning->Disable(); + maFTSpacing->Disable(); maEditKerning->Disable(); maFTBy->Disable(); } else { - maVSSpacing->SetNoSelection(); - maVSSpacing->SelectItem(0); - mbVS = false; - maEditKerning->SetText(OUString()); + maLBKerning->Enable(); + maFTSpacing->Enable(); maLBKerning->SetNoSelection(); - maLBKerning->Disable(); - maFTSpacing->Disable(); + maEditKerning->SetText(OUString()); maEditKerning->Disable(); maFTBy->Disable(); } - GetFocus(); - maVSSpacing->SetFormat(); - maVSSpacing->Invalidate(); - maVSSpacing->StartSelection(); } -IMPL_LINK_TYPED(TextCharacterSpacingControl, VSSelHdl, ValueSet*, pControl, void) +void TextCharacterSpacingControl::ExecuteCharacterSpacing(long nValue, bool bClose) +{ + SfxMapUnit eUnit = GetCoreMetric(); + + long nSign = (nValue < 0) ? -1 : 1; + nValue = nValue * nSign; + + long nVal = LogicToLogic(nValue, MAP_POINT, (MapUnit)eUnit); + short nKern = (nValue == 0) ? 0 : (short)maEditKerning->Denormalize(nVal); + + SvxKerningItem aKernItem(nSign * nKern, SID_ATTR_CHAR_KERNING); + + SfxViewFrame::Current()->GetBindings().GetDispatcher()->ExecuteList(SID_ATTR_CHAR_KERNING, + SfxCallMode::RECORD, { &aKernItem }); + + if(bClose) + EndPopupMode(); +} + +IMPL_LINK_TYPED(TextCharacterSpacingControl, PredefinedValuesHdl, Button*, pControl, void) { mnLastCus = SPACING_CLOSE_BY_CLICK_ICON; - if(pControl == maVSSpacing.get()) + if(pControl == maNormal) { - sal_uInt16 iPos = maVSSpacing->GetSelectItemId(); - short nKern = 0; - SfxMapUnit eUnit = mrTextPropertyPanel.GetSpaceController().GetCoreMetric(); - long nVal = 0; - if(iPos == 1) - { - nVal = LogicToLogic(30, MAP_POINT, (MapUnit)eUnit); - nKern = (short)maEditKerning->Denormalize(nVal); - SvxKerningItem aKernItem(-nKern, SID_ATTR_CHAR_KERNING); - mpBindings->GetDispatcher()->ExecuteList(SID_ATTR_CHAR_KERNING, - SfxCallMode::RECORD, { &aKernItem }); - mnLastCus = SPACING_CLOSE_BY_CLICK_ICON; - } - else if(iPos == 2) - { - nVal = LogicToLogic(15, MAP_POINT, (MapUnit)eUnit); - nKern = (short)maEditKerning->Denormalize(nVal); - SvxKerningItem aKernItem(-nKern, SID_ATTR_CHAR_KERNING); - mpBindings->GetDispatcher()->ExecuteList(SID_ATTR_CHAR_KERNING, - SfxCallMode::RECORD, { &aKernItem }); - mnLastCus = SPACING_CLOSE_BY_CLICK_ICON; - } - else if(iPos == 3) - { - SvxKerningItem aKernItem(0, SID_ATTR_CHAR_KERNING); - mpBindings->GetDispatcher()->ExecuteList(SID_ATTR_CHAR_KERNING, - SfxCallMode::RECORD, { &aKernItem }); - mnLastCus = SPACING_CLOSE_BY_CLICK_ICON; - } - else if(iPos == 4) - { - nVal = LogicToLogic(30, MAP_POINT, (MapUnit)eUnit); - nKern = (short)maEditKerning->Denormalize(nVal); - SvxKerningItem aKernItem(nKern, SID_ATTR_CHAR_KERNING); - mpBindings->GetDispatcher()->ExecuteList(SID_ATTR_CHAR_KERNING, - SfxCallMode::RECORD, { &aKernItem }); - mnLastCus = SPACING_CLOSE_BY_CLICK_ICON; - } - else if(iPos == 5) - { - nVal = LogicToLogic(60, MAP_POINT, (MapUnit)eUnit); - nKern = (short)maEditKerning->Denormalize(nVal); - SvxKerningItem aKernItem(nKern, SID_ATTR_CHAR_KERNING); - mpBindings->GetDispatcher()->ExecuteList(SID_ATTR_CHAR_KERNING, - SfxCallMode::RECORD, { &aKernItem }); - mnLastCus = SPACING_CLOSE_BY_CLICK_ICON; - } - else if(iPos == 6) - { - //modified - if(mbCusEnable) - { - nVal = LogicToLogic(mnCustomKern, MAP_POINT, (MapUnit)eUnit); - nKern = (short)maEditKerning->Denormalize(nVal); - SvxKerningItem aKernItem(nKern , SID_ATTR_CHAR_KERNING); - mpBindings->GetDispatcher()->ExecuteList(SID_ATTR_CHAR_KERNING, - SfxCallMode::RECORD, { &aKernItem }); - mnLastCus = SPACING_CLOSE_BY_CLICK_ICON; - } - else - { - maVSSpacing->SetNoSelection(); //add , set no selection and keep the last select item - maVSSpacing->SetFormat(); - maVSSpacing->Invalidate(); - Invalidate(); - maVSSpacing->StartSelection(); - } - //modify end - } - - if(iPos < 6 || (iPos == 6 && mbCusEnable)) //add - mrTextPropertyPanel.EndSpacingPopupMode(); + ExecuteCharacterSpacing(SPACING_NORMAL); + } + else if(pControl == maVeryTight) + { + ExecuteCharacterSpacing(SPACING_VERY_TIGHT); + } + else if(pControl == maTight) + { + ExecuteCharacterSpacing(SPACING_TIGHT); + } + else if(pControl == maVeryLoose) + { + ExecuteCharacterSpacing(SPACING_VERY_LOOSE); + } + else if(pControl == maLoose) + { + ExecuteCharacterSpacing(SPACING_LOOSE); + } + else if(pControl == maLastCustom) + { + ExecuteCharacterSpacing(mnCustomKern); } } IMPL_LINK_NOARG_TYPED(TextCharacterSpacingControl, KerningSelectHdl, ListBox&, void) { - if ( maLBKerning->GetSelectEntryPos() > 0 ) + if(maLBKerning->GetSelectEntryPos() > 0) { maFTBy->Enable(); maEditKerning->Enable(); } else { - maEditKerning->SetValue( 0 ); + maEditKerning->SetValue(0); maFTBy->Disable(); maEditKerning->Disable(); } - if ( maVSSpacing->GetSelectItemId() > 0 ) - { - maVSSpacing->SetNoSelection(); - maVSSpacing->SelectItem(0); - maVSSpacing->SetFormat(); - maVSSpacing->Invalidate(); - Invalidate(); - maVSSpacing->StartSelection(); - } - KerningModifyHdl( *maEditKerning ); + KerningModifyHdl(*maEditKerning); } IMPL_LINK_NOARG_TYPED(TextCharacterSpacingControl, KerningModifyHdl, Edit&, void) { - if ( maVSSpacing->GetSelectItemId() > 0 ) - { - maVSSpacing->SetNoSelection(); - maVSSpacing->SelectItem(0); - maVSSpacing->SetFormat(); - maVSSpacing->Invalidate(); - Invalidate(); - maVSSpacing->StartSelection(); - } const sal_Int32 nPos = maLBKerning->GetSelectEntryPos(); - short nKern = 0; - SfxMapUnit eUnit = mrTextPropertyPanel.GetSpaceController().GetCoreMetric(); + mnLastCus = SPACING_CLOSE_BY_CUS_EDIT; - if ( nPos == SIDEBAR_SPACE_EXPAND || nPos == SIDEBAR_SPACE_CONDENSED ) + if(nPos == SIDEBAR_SPACE_EXPAND || nPos == SIDEBAR_SPACE_CONDENSED) { long nTmp = static_cast(maEditKerning->GetValue()); - if ( nPos == SIDEBAR_SPACE_CONDENSED ) + if(nPos == SIDEBAR_SPACE_CONDENSED) { - long nMax = mrTextPropertyPanel.GetSelFontSize()/6; - maEditKerning->SetMax( maEditKerning->Normalize( nMax ), FUNIT_TWIP ); - maEditKerning->SetLast( maEditKerning->GetMax( maEditKerning->GetUnit() ) ); + long nMax = GetSelFontSize()/6; + maEditKerning->SetMax(maEditKerning->Normalize(nMax), FUNIT_TWIP); + maEditKerning->SetLast(maEditKerning->GetMax(maEditKerning->GetUnit())); if(nTmp > maEditKerning->GetMax()) nTmp = maEditKerning->GetMax(); mnCustomKern = -nTmp; - long nVal = LogicToLogic( nTmp, MAP_POINT, (MapUnit)eUnit ); - nKern = (short)maEditKerning->Denormalize( nVal ); - nKern *= - 1; } else { - maEditKerning->SetMax( 9999 ); - maEditKerning->SetLast( 9999 ); + maEditKerning->SetMax(9999); + maEditKerning->SetLast(9999); if(nTmp > maEditKerning->GetMax(FUNIT_TWIP)) nTmp = maEditKerning->GetMax(FUNIT_TWIP); mnCustomKern = nTmp; - long nVal = LogicToLogic( nTmp, MAP_POINT, (MapUnit)eUnit ); - nKern = (short)maEditKerning->Denormalize( nVal ); } } else { mnCustomKern = 0; } - SvxKerningItem aKernItem(nKern, SID_ATTR_CHAR_KERNING); - mpBindings->GetDispatcher()->ExecuteList(SID_ATTR_CHAR_KERNING, - SfxCallMode::RECORD, { &aKernItem }); + + ExecuteCharacterSpacing(mnCustomKern, false); +} + +SfxMapUnit TextCharacterSpacingControl::GetCoreMetric() const +{ + SfxItemPool &rPool = SfxGetpApp()->GetPool(); + sal_uInt16 nWhich = rPool.GetWhich(mnId); + return rPool.GetMetric(nWhich); +} + +long TextCharacterSpacingControl::GetSelFontSize() const +{ + const SfxPoolItem* pItem; + SfxViewFrame::Current()->GetBindings().GetDispatcher()->QueryState(SID_ATTR_CHAR_FONTHEIGHT, pItem); + + const SvxFontHeightItem* pHeightItem = static_cast(pItem); + + long nH = 240; + SfxMapUnit eUnit = GetCoreMetric(); + if(pHeightItem) + nH = LogicToLogic(pHeightItem->GetHeight(), (MapUnit)eUnit, MAP_TWIP); + return nH; } -}} // end of namespace sidebar +} // end of namespace svx /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svx/source/sidebar/text/TextCharacterSpacingControl.hxx b/svx/source/sidebar/text/TextCharacterSpacingControl.hxx index db189051bee8..cd0cdd04a2a7 100644 --- a/svx/source/sidebar/text/TextCharacterSpacingControl.hxx +++ b/svx/source/sidebar/text/TextCharacterSpacingControl.hxx @@ -20,13 +20,12 @@ #define INCLUDED_SVX_SOURCE_SIDEBAR_TEXT_TEXTCHARACTERSPACINGCONTROL_HXX #include "svx/sidebar/PopupControl.hxx" -#include "svx/sidebar/ValueSetWithTextControl.hxx" #include -#include "TextPropertyPanel.hxx" #include +#include +#include - -namespace svx { namespace sidebar { +namespace svx { #define SPACING_NOCUSTOM 0 #define SPACING_CLOSE_BY_CLICK_ICON -1 #define SPACING_CLOSE_BY_CUS_EDIT 1 @@ -37,60 +36,44 @@ namespace svx { namespace sidebar { #define SIDEBAR_SPACE_EXPAND 1 #define SIDEBAR_SPACE_CONDENSED 2 -class TextCharacterSpacingControl:public svx::sidebar::PopupControl +class TextCharacterSpacingControl : public SfxPopupWindow { public: - TextCharacterSpacingControl ( - vcl::Window* pParent, - svx::sidebar::TextPropertyPanel& rPanel, - SfxBindings* pBindings); + TextCharacterSpacingControl(sal_uInt16 nId); virtual ~TextCharacterSpacingControl(); virtual void dispose() override; - void Rearrange(bool bLBAvailable,bool bAvailable, long nKerning); - //virtual void Paint(const Rectangle& rect); - //add short GetLastCustomState() { return mnLastCus;} long GetLastCustomValue() { return mnCustomKern;} - //add end private: - svx::sidebar::TextPropertyPanel& mrTextPropertyPanel; - SfxBindings* mpBindings; - - VclPtr maVSSpacing; - - VclPtr maLastCus; - VclPtr maFTSpacing; VclPtr maLBKerning; VclPtr maFTBy; VclPtr maEditKerning; - Image* mpImg; - Image* mpImgSel; - OUString* mpStr; - OUString* mpStrTip; - - Image maImgCus; - Image maImgCusGrey; - OUString maStrCus; - OUString maStrCusE; - OUString maStrCusC; - OUString maStrCusN; - OUString maStrUnit; + VclPtr maNormal; + VclPtr maVeryTight; + VclPtr maTight; + VclPtr maVeryLoose; + VclPtr maLoose; + VclPtr maLastCustom; + sal_uInt16 mnId; long mnCustomKern; short mnLastCus; - bool mbCusEnable; - bool mbVS; - void initial(); - DECL_LINK_TYPED(VSSelHdl, ValueSet*, void); + void Initialize(); + void ExecuteCharacterSpacing(long nValue, bool bClose = true); + + DECL_LINK_TYPED(PredefinedValuesHdl, Button*, void); DECL_LINK_TYPED(KerningSelectHdl, ListBox&, void); DECL_LINK_TYPED(KerningModifyHdl, Edit&, void); + + SfxMapUnit GetCoreMetric() const; + long GetSelFontSize() const; }; -}} +} #endif diff --git a/svx/source/sidebar/text/TextCharacterSpacingPopup.cxx b/svx/source/sidebar/text/TextCharacterSpacingPopup.cxx index 148b864297d5..266b9d392aae 100644 --- a/svx/source/sidebar/text/TextCharacterSpacingPopup.cxx +++ b/svx/source/sidebar/text/TextCharacterSpacingPopup.cxx @@ -16,53 +16,35 @@ * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include "TextCharacterSpacingPopup.hxx" +#include #include "TextCharacterSpacingControl.hxx" #include +#include +#include -namespace svx { namespace sidebar { +using namespace svx; -TextCharacterSpacingPopup::TextCharacterSpacingPopup ( - vcl::Window* pParent, - const ::std::function(PopupContainer*)>& rControlCreator) - : Popup( - pParent, - rControlCreator, - OUString( "Character Spacing")) +SFX_IMPL_TOOLBOX_CONTROL(TextCharacterSpacingPopup, SvxKerningItem); + +TextCharacterSpacingPopup::TextCharacterSpacingPopup(sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx) + : SfxToolBoxControl(nSlotId, nId, rTbx) { - SetPopupModeEndHandler([this] () { return this->PopupModeEndCallback(); }); + rTbx.SetItemBits(nId, ToolBoxItemBits::DROPDOWNONLY | rTbx.GetItemBits(nId)); } TextCharacterSpacingPopup::~TextCharacterSpacingPopup() { } -void TextCharacterSpacingPopup::Rearrange (bool bLBAvailable,bool bAvailable, long nKerning) +VclPtr TextCharacterSpacingPopup::CreatePopupWindow() { - ProvideContainerAndControl(); + VclPtr pControl = VclPtr::Create(GetSlotId()); - TextCharacterSpacingControl* pControl = dynamic_cast(mxControl.get()); - if (pControl != nullptr) - pControl->Rearrange(bLBAvailable,bAvailable,nKerning); -} + pControl->StartPopupMode(&GetToolBox(), FloatWinPopupFlags::GrabFocus|FloatWinPopupFlags::NoAppFocusClose); -void TextCharacterSpacingPopup::PopupModeEndCallback() -{ - ProvideContainerAndControl(); - TextCharacterSpacingControl* pControl = dynamic_cast(mxControl.get()); - if (pControl == nullptr) - return; + SetPopupWindow(pControl); - if( pControl->GetLastCustomState() == SPACING_CLOSE_BY_CUS_EDIT) - { - SvtViewOptions aWinOpt( E_WINDOW, SIDEBAR_SPACING_GLOBAL_VALUE ); - css::uno::Sequence < css::beans::NamedValue > aSeq - { { "Spacing", css::uno::makeAny(OUString::number(pControl->GetLastCustomValue())) } }; - aWinOpt.SetUserData( aSeq ); - - } + return pControl; } -} } // end of namespace svx::sidebar - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svx/source/sidebar/text/TextCharacterSpacingPopup.hxx b/svx/source/sidebar/text/TextCharacterSpacingPopup.hxx deleted file mode 100644 index 548a9d929b81..000000000000 --- a/svx/source/sidebar/text/TextCharacterSpacingPopup.hxx +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * 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 . - */ -#ifndef INCLUDED_SVX_SOURCE_SIDEBAR_TEXT_TEXTCHARACTERSPACINGPOPUP_HXX -#define INCLUDED_SVX_SOURCE_SIDEBAR_TEXT_TEXTCHARACTERSPACINGPOPUP_HXX - -#include "svx/sidebar/Popup.hxx" - -#include - -namespace svx { namespace sidebar { - -class TextCharacterSpacingPopup - : public Popup -{ -public: - TextCharacterSpacingPopup ( - vcl::Window* pParent, - const ::std::function (PopupContainer*)>& rControlCreator); - virtual ~TextCharacterSpacingPopup(); - - void Rearrange (bool bLBAvailable,bool bAvailable, long nKerning); -private: - void PopupModeEndCallback(); -}; - -} } // end of namespace svx::sidebar - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svx/source/sidebar/text/TextPropertyPanel.cxx b/svx/source/sidebar/text/TextPropertyPanel.cxx index ec237d039d9c..b4794efd7a37 100644 --- a/svx/source/sidebar/text/TextPropertyPanel.cxx +++ b/svx/source/sidebar/text/TextPropertyPanel.cxx @@ -28,7 +28,6 @@ #include #include "TextCharacterSpacingControl.hxx" -#include "TextCharacterSpacingPopup.hxx" #include "TextUnderlineControl.hxx" #include "TextUnderlinePopup.hxx" #include @@ -37,30 +36,15 @@ using namespace css; using namespace css::uno; -const char UNO_SPACING[] = ".uno:Spacing"; const char UNO_UNDERLINE[] = ".uno:Underline"; namespace svx { namespace sidebar { -VclPtr TextPropertyPanel::CreateCharacterSpacingControl (PopupContainer* pParent) -{ - return VclPtrInstance(pParent, *this, mpBindings); -} - VclPtr TextPropertyPanel::CreateUnderlinePopupControl (PopupContainer* pParent) { return VclPtrInstance(pParent, *this, mpBindings); } -long TextPropertyPanel::GetSelFontSize() -{ - long nH = 240; - SfxMapUnit eUnit = maSpacingControl.GetCoreMetric(); - if (mpHeightItem) - nH = LogicToLogic( mpHeightItem->GetHeight(), (MapUnit)eUnit, MAP_TWIP ); - return nH; -} - VclPtr TextPropertyPanel::Create ( vcl::Window* pParent, const css::uno::Reference& rxFrame, @@ -85,9 +69,7 @@ TextPropertyPanel::TextPropertyPanel ( vcl::Window* pParent, const css::uno::Ref : PanelLayout(pParent, "SidebarTextPanel", "svx/ui/sidebartextpanel.ui", rxFrame), maFontSizeControl (SID_ATTR_CHAR_FONTHEIGHT, *pBindings, *this, OUString("FontHeight"), rxFrame), maUnderlineControl (SID_ATTR_CHAR_UNDERLINE, *pBindings, *this, OUString("Underline"), rxFrame), - maSpacingControl (SID_ATTR_CHAR_KERNING, *pBindings, *this, OUString("Spacing"), rxFrame), - maCharSpacePopup(this, [this] (PopupContainer *const pContainer) { return this->CreateCharacterSpacingControl(pContainer); }), maUnderlinePopup(this, [this] (PopupContainer *const pContainer) { return this->CreateUnderlinePopupControl(pContainer); }), maContext(), mpBindings(pBindings) @@ -102,15 +84,11 @@ TextPropertyPanel::TextPropertyPanel ( vcl::Window* pParent, const css::uno::Ref //toolbox SetupToolboxItems(); InitToolBoxFont(); - InitToolBoxSpacing(); //init state mpHeightItem = nullptr; meUnderline = LINESTYLE_NONE; meUnderlineColor = COL_AUTO; - mbKernAvailable = true; - mbKernLBAvailable = true; - mlKerning = 0; } TextPropertyPanel::~TextPropertyPanel() @@ -128,9 +106,7 @@ void TextPropertyPanel::dispose() maFontSizeControl.dispose(); maUnderlineControl.dispose(); - maSpacingControl.dispose(); - maCharSpacePopup.dispose(); maUnderlinePopup.dispose(); PanelLayout::dispose(); @@ -192,11 +168,6 @@ void TextPropertyPanel::DataChanged (const DataChangedEvent& /*rEvent*/) SetupToolboxItems(); } -void TextPropertyPanel::EndSpacingPopupMode() -{ - maCharSpacePopup.Hide(); -} - void TextPropertyPanel::EndUnderlinePopupMode() { maUnderlinePopup.Hide(); @@ -208,20 +179,9 @@ void TextPropertyPanel::InitToolBoxFont() mpToolBoxFont->SetDropdownClickHdl(aLink); } -void TextPropertyPanel::InitToolBoxSpacing() -{ - const sal_uInt16 nId = mpToolBoxSpacing->GetItemId(UNO_SPACING); - mpToolBoxSpacing->SetItemBits(nId, mpToolBoxSpacing->GetItemBits(nId) | ToolBoxItemBits::DROPDOWNONLY); - - Link aLink = LINK(this, TextPropertyPanel, SpacingClickHdl); - mpToolBoxSpacing->SetDropdownClickHdl ( aLink ); - mpToolBoxSpacing->SetSelectHdl( aLink ); -} - void TextPropertyPanel::SetupToolboxItems() { maUnderlineControl.SetupToolBoxItem(*mpToolBoxFont, mpToolBoxFont->GetItemId(UNO_UNDERLINE)); - maSpacingControl.SetupToolBoxItem(*mpToolBoxSpacing, mpToolBoxSpacing->GetItemId(UNO_SPACING)); } IMPL_LINK_TYPED(TextPropertyPanel, UnderlineClickHdl, ToolBox*, pToolBox, void) @@ -237,19 +197,6 @@ IMPL_LINK_TYPED(TextPropertyPanel, UnderlineClickHdl, ToolBox*, pToolBox, void) } } -IMPL_LINK_TYPED(TextPropertyPanel, SpacingClickHdl, ToolBox*, pToolBox, void) -{ - const sal_uInt16 nId = pToolBox->GetCurItemId(); - const OUString aCommand(pToolBox->GetItemCommand(nId)); - - if (aCommand == UNO_SPACING) - { - pToolBox->SetItemDown( nId, true ); - maCharSpacePopup.Rearrange(mbKernLBAvailable,mbKernAvailable,mlKerning); - maCharSpacePopup.Show(*pToolBox); - } -} - void TextPropertyPanel::NotifyItemUpdate ( const sal_uInt16 nSID, const SfxItemState eState, @@ -280,34 +227,6 @@ void TextPropertyPanel::NotifyItemUpdate ( break; case SID_ATTR_CHAR_KERNING: { - if ( SfxItemState::DEFAULT == eState ) - { - mbKernLBAvailable = true; - - if(dynamic_cast( pState) != nullptr) - { - const SvxKerningItem* pKerningItem = static_cast(pState); - mlKerning = (long)pKerningItem->GetValue(); - mbKernAvailable = true; - } - else - { - mlKerning = 0; - mbKernAvailable =false; - } - } - else if (SfxItemState::DISABLED == eState) - { - mbKernLBAvailable = false; - mbKernAvailable = false; - mlKerning = 0; - } - else - { - mbKernLBAvailable = true; - mbKernAvailable = false; - mlKerning = 0; - } mpToolBoxSpacing->Enable(bIsEnabled); } break; diff --git a/svx/source/sidebar/text/TextPropertyPanel.hrc b/svx/source/sidebar/text/TextPropertyPanel.hrc index 7f563f778cff..4271ddf749dd 100644 --- a/svx/source/sidebar/text/TextPropertyPanel.hrc +++ b/svx/source/sidebar/text/TextPropertyPanel.hrc @@ -65,48 +65,6 @@ #define STR_WITHOUT 50 -//POPUP WINDOW OF SPACING -#define VS_SPACING 1 - -#define CT_BORDER 7 -#define LB_KERNING 8 -#define ED_KERNING 9 - -#define FT_SPACING 18 -#define FT_BY 19 -#define FT_LASTCUSTOM 20 - -#define IMG_NORMAL 31 -#define IMG_VERY_TIGHT 32 -#define IMG_TIGHT 33 -#define IMG_LOOSE 34 -#define IMG_VERY_LOOSE 35 -#define IMG_CUSTOM 36 -#define IMG_CUSTOM_GRAY 37 - -#define IMG_NORMAL_S 51 -#define IMG_VERY_TIGHT_S 52 -#define IMG_TIGHT_S 53 -#define IMG_LOOSE_S 54 -#define IMG_VERY_LOOSE_S 55 - -#define STR_VERY_TIGHT 61 -#define STR_TIGHT 62 -#define STR_NORMAL 63 -#define STR_LOOSE 64 -#define STR_VERY_LOOSE 65 -#define STR_CUSTOM 66 - -#define STR_VERY_TIGHT_TIP 67 -#define STR_TIGHT_TIP 68 -#define STR_NORMAL_TIP 69 -#define STR_LOOSE_TIP 70 -#define STR_VERY_LOOSE_TIP 71 - -#define STR_CUSTOM_C_TIP 72 -#define STR_CUSTOM_E_TIP 73 -#define STR_PT 74 - //help ids #define HID_UNDERLINE_BTN "SVX_HID_UNDERLINE_BTN" #define HID_SPACING_CB_KERN "SVX_HID_SPACING_CB_KERN" diff --git a/svx/source/sidebar/text/TextPropertyPanel.hxx b/svx/source/sidebar/text/TextPropertyPanel.hxx index 16e62cefaa01..863a0379e634 100644 --- a/svx/source/sidebar/text/TextPropertyPanel.hxx +++ b/svx/source/sidebar/text/TextPropertyPanel.hxx @@ -29,7 +29,6 @@ #include #include -#include "TextCharacterSpacingPopup.hxx" #include "TextUnderlinePopup.hxx" #include @@ -57,9 +56,6 @@ public: virtual void DataChanged (const DataChangedEvent& rEvent) override; - ::sfx2::sidebar::ControllerItem& GetSpaceController() { return maSpacingControl;} - long GetSelFontSize(); - void EndSpacingPopupMode(); void EndUnderlinePopupMode(); Color& GetUnderlineColor() { return meUnderlineColor;} @@ -92,29 +88,21 @@ private: //control items ::sfx2::sidebar::ControllerItem maFontSizeControl; ::sfx2::sidebar::ControllerItem maUnderlineControl; - ::sfx2::sidebar::ControllerItem maSpacingControl; FontLineStyle meUnderline; Color meUnderlineColor; - bool mbKernAvailable; - bool mbKernLBAvailable; - long mlKerning; SvxFontHeightItem* mpHeightItem; - TextCharacterSpacingPopup maCharSpacePopup; TextUnderlinePopup maUnderlinePopup; ::sfx2::sidebar::EnumContext maContext; SfxBindings* mpBindings; - VclPtr CreateCharacterSpacingControl (PopupContainer* pParent); VclPtr CreateUnderlinePopupControl (PopupContainer* pParent); - DECL_LINK_TYPED(SpacingClickHdl, ToolBox*, void); DECL_LINK_TYPED(UnderlineClickHdl, ToolBox*, void); void SetupToolboxItems(); void InitToolBoxFont(); - void InitToolBoxSpacing(); }; } } // end of namespace svx::sidebar diff --git a/svx/source/sidebar/text/TextPropertyPanel.src b/svx/source/sidebar/text/TextPropertyPanel.src index 62811f617079..74a8198ca842 100644 --- a/svx/source/sidebar/text/TextPropertyPanel.src +++ b/svx/source/sidebar/text/TextPropertyPanel.src @@ -178,184 +178,4 @@ Control RID_POPUPPANEL_TEXTPAGE_UNDERLINE }; -Control RID_POPUPPANEL_TEXTPAGE_SPACING -{ - OutputSize = TRUE; - DialogControl = TRUE; - Border = FALSE; - - Size = MAP_APPFONT( POPUPPANEL_MARGIN_SMALL * 2 + POPUP_BORDER_WIDTH + VS_SPACING_WIDTH , POPUPPANEL_MARGIN_SMALL * 3 + 15 * 6 + CUSTOM_HEIGHT + TEXT_HEIGHT + POPUPPANEL_MARGIN_LARGE + POPUP_BORDER_WIDTH + 1); - - Control VS_SPACING - { - HelpId = HID_PPROPERTYPANEL_TEXT_SPACING_VS ; - Hide = TRUE ; - Pos = MAP_APPFONT( POPUPPANEL_MARGIN_SMALL + OFFSET_X , POPUPPANEL_MARGIN_SMALL + OFFSET_Y ); - Size = MAP_APPFONT ( VS_SPACING_WIDTH , 15 * 6); - TabStop = TRUE ; - Text = "Character Spacing"; - }; - - FixedText FT_LASTCUSTOM - { - Pos = MAP_APPFONT ( POPUPPANEL_MARGIN_LARGE + OFFSET_X ,POPUPPANEL_MARGIN_SMALL + OFFSET_Y + POPUPPANEL_MARGIN_SMALL + 15 * 6) ; - Size = MAP_APPFONT ( CUSTOM_WIDTH , TEXT_HEIGHT ); - Left = TRUE ; - Text [ en-US ] = "Custom:" ; - }; - //custom area - FixedText FT_SPACING - { - Pos = MAP_APPFONT ( CUSTOM_X + POPUPPANEL_MARGIN_LARGE, CUSTOM_Y + POPUPPANEL_MARGIN_LARGE); - Size = MAP_APPFONT ( CUSTOM_WIDTH - POPUPPANEL_MARGIN_LARGE * 2 , TEXT_HEIGHT ); - Left = TRUE ; - Text [ en-US ] = "~Character spacing: " ; - }; - ListBox LB_KERNING - { - Border = TRUE; - Pos = MAP_APPFONT ( CUSTOM_X + POPUPPANEL_MARGIN_LARGE, CUSTOM_Y + POPUPPANEL_MARGIN_LARGE + TEXT_HEIGHT + POPUPPANEL_MARGIN_SMALL);//20 - Size = MAP_APPFONT ( CUSTOM_WIDTH - POPUPPANEL_MARGIN_LARGE * 2 , 80 ) ; - TabStop = TRUE; - DropDown = TRUE ; - HelpID = HID_SPACING_CB_KERN; - StringList [ en-US ] = - { - < "Default" ; Default ; > ; - < "Expanded" ; Default ; > ; - < "Condensed" ; Default ; > ; - }; - }; - FixedText FT_BY - { - Pos = MAP_APPFONT ( CUSTOM_X + POPUPPANEL_MARGIN_LARGE, CUSTOM_Y + POPUPPANEL_MARGIN_LARGE * 2 + TEXT_HEIGHT + POPUPPANEL_MARGIN_SMALL + CBOX_HEIGHT ); - Size = MAP_APPFONT ( CUSTOM_WIDTH - POPUPPANEL_MARGIN_LARGE * 2 , TEXT_HEIGHT ); - Left = TRUE ; - Text [ en-US ] = "Change ~by: " ; - }; - MetricField ED_KERNING - { - HelpID = HID_SPACING_MB_KERN; - Border = TRUE; - Pos = MAP_APPFONT ( CUSTOM_X + POPUPPANEL_MARGIN_LARGE, CUSTOM_Y + POPUPPANEL_MARGIN_LARGE * 2 + TEXT_HEIGHT * 2 + POPUPPANEL_MARGIN_SMALL * 2 + CBOX_HEIGHT);//60 - Size = MAP_APPFONT ( CUSTOM_WIDTH - POPUPPANEL_MARGIN_LARGE * 2 , MBOX_HEIGHT ); - TabStop = TRUE; - Repeat = TRUE ; - Spin = TRUE ; - Maximum = 9999 ; - DecimalDigits = 1 ; - Unit = FUNIT_POINT ; - SpinSize = 10 ; - }; - - Image IMG_NORMAL - { - ImageBitmap = Bitmap{File = "symphony/spacing_normal.bmp" ;};//"spacing_normal.bmp" - }; - Image IMG_VERY_TIGHT - { - ImageBitmap = Bitmap{File = "symphony/spacing_very tight.bmp";}; - }; - Image IMG_TIGHT - { - ImageBitmap = Bitmap{File = "symphony/spacing_tight.bmp";}; - }; - Image IMG_LOOSE - { - ImageBitmap = Bitmap{File = "symphony/spacing_loose.bmp";}; - }; - Image IMG_VERY_LOOSE - { - ImageBitmap = Bitmap{File = "symphony/spacing_very loose.bmp";}; - }; - - Image IMG_NORMAL_S - { - ImageBitmap = Bitmap{File = "symphony/spacing_normal_s.bmp";}; - }; - Image IMG_VERY_TIGHT_S - { - ImageBitmap = Bitmap{File = "symphony/spacing_very tight_s.bmp";}; - }; - Image IMG_TIGHT_S - { - ImageBitmap = Bitmap{File = "symphony/spacing_tight_s.bmp";}; - }; - Image IMG_LOOSE_S - { - ImageBitmap = Bitmap{File = "symphony/spacing_loose_s.bmp";}; - }; - Image IMG_VERY_LOOSE_S - { - ImageBitmap = Bitmap{File = "symphony/spacing_very loose_s.bmp";}; - }; - - Image IMG_CUSTOM - { - ImageBitmap = Bitmap{File = "symphony/last_custom_common.png";}; - }; - Image IMG_CUSTOM_GRAY - { - ImageBitmap = Bitmap{File = "symphony/last_custom_common_grey.png";}; - }; - - String STR_VERY_TIGHT - { - Text [ en-US ] = "Very Tight"; - }; - String STR_TIGHT - { - Text [ en-US ] = "Tight"; - }; - String STR_NORMAL - { - Text [ en-US ] = "Normal"; - }; - String STR_LOOSE - { - Text [ en-US ] = "Loose"; - }; - String STR_VERY_LOOSE - { - Text [ en-US ] = "Very Loose"; - }; - String STR_CUSTOM - { - Text [ en-US ] = "Last Custom Value"; - }; - - String STR_VERY_TIGHT_TIP - { - Text [ en-US ] = " Spacing: Condensed By: 3 pt"; - }; - String STR_TIGHT_TIP - { - Text [ en-US ] = " Spacing: Condensed By: 1.5 pt"; - }; - String STR_NORMAL_TIP - { - Text [ en-US ] = " Spacing: Normal"; - }; - String STR_LOOSE_TIP - { - Text [ en-US ] = " Spacing: Expanded By: 3 pt"; - }; - String STR_VERY_LOOSE_TIP - { - Text [ en-US ] = " Spacing: Expanded By: 6 pt"; - }; - String STR_CUSTOM_C_TIP - { - Text [ en-US ] = " Spacing: Condensed By: "; - }; - String STR_CUSTOM_E_TIP - { - Text [ en-US ] = " Spacing: Expanded By: "; - }; - String STR_PT - { - Text[ en-US ] = "pt"; - }; -}; - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit v1.2.3