TextUnderlineControl.cxx (a3586bee) | TextUnderlineControl.cxx (6469a737) |
---|---|
1/************************************************************** | 1/************************************************************** |
2 * | 2 * |
3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at | 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at |
10 * | 10 * |
11 * http://www.apache.org/licenses/LICENSE-2.0 | 11 * http://www.apache.org/licenses/LICENSE-2.0 |
12 * | 12 * |
13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. | 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. |
19 * | 19 * |
20 *************************************************************/ 21 | 20 *************************************************************/ 21 |
22 23 |
|
22#include "precompiled_svx.hxx" 23#include "TextUnderlineControl.hxx" 24#include "TextPropertyPanel.hrc" 25#include <sfx2/sidebar/ResourceDefinitions.hrc> 26#include <svx/dialogs.hrc> 27#include <svx/dialmgr.hxx> 28#include <unotools/viewoptions.hxx> 29#include <editeng/kernitem.hxx> 30#include <sfx2/bindings.hxx> 31#include <sfx2/dispatch.hxx> 32#include <sfx2/sidebar/Theme.hxx> 33#include <editeng/udlnitem.hxx> 34 35namespace svx { namespace sidebar { 36 37TextUnderlineControl::TextUnderlineControl ( | 24#include "precompiled_svx.hxx" 25#include "TextUnderlineControl.hxx" 26#include "TextPropertyPanel.hrc" 27#include <sfx2/sidebar/ResourceDefinitions.hrc> 28#include <svx/dialogs.hrc> 29#include <svx/dialmgr.hxx> 30#include <unotools/viewoptions.hxx> 31#include <editeng/kernitem.hxx> 32#include <sfx2/bindings.hxx> 33#include <sfx2/dispatch.hxx> 34#include <sfx2/sidebar/Theme.hxx> 35#include <editeng/udlnitem.hxx> 36 37namespace svx { namespace sidebar { 38 39TextUnderlineControl::TextUnderlineControl ( |
38 Window* pParent, 39 svx::sidebar::TextPropertyPanel& rPanel, 40 SfxBindings* pBindings) | 40 Window* pParent, 41 svx::sidebar::TextPropertyPanel& rPanel, 42 SfxBindings* pBindings) |
41: svx::sidebar::PopupControl( pParent,SVX_RES(RID_POPUPPANEL_TEXTPAGE_UNDERLINE)) 42, mrTextPropertyPanel(rPanel) 43, mpBindings(pBindings) 44, maVSUnderline( this, SVX_RES(VS_UNDERLINE)) 45, maPBOptions (this, SVX_RES(PB_OPTIONS) ) 46 47, maIMGSingle (SVX_RES(IMG_SINGLE)) 48, maIMGDouble (SVX_RES(IMG_DOUBLE)) --- 31 unchanged lines hidden (view full) --- 80 81{ 82 initial(); 83 FreeResource(); 84} 85 86void TextUnderlineControl::initial() 87{ | 43: svx::sidebar::PopupControl( pParent,SVX_RES(RID_POPUPPANEL_TEXTPAGE_UNDERLINE)) 44, mrTextPropertyPanel(rPanel) 45, mpBindings(pBindings) 46, maVSUnderline( this, SVX_RES(VS_UNDERLINE)) 47, maPBOptions (this, SVX_RES(PB_OPTIONS) ) 48 49, maIMGSingle (SVX_RES(IMG_SINGLE)) 50, maIMGDouble (SVX_RES(IMG_DOUBLE)) --- 31 unchanged lines hidden (view full) --- 82 83{ 84 initial(); 85 FreeResource(); 86} 87 88void TextUnderlineControl::initial() 89{ |
88 maVSUnderline.SetColor(GetSettings().GetStyleSettings().GetHighContrastMode()? 89 GetSettings().GetStyleSettings().GetMenuColor(): 90 sfx2::sidebar::Theme::GetColor( sfx2::sidebar::Theme::Paint_PanelBackground )); 91 maVSUnderline.SetBackground(GetSettings().GetStyleSettings().GetHighContrastMode()? 92 GetSettings().GetStyleSettings().GetMenuColor(): 93 sfx2::sidebar::Theme::GetColor( sfx2::sidebar::Theme::Paint_PanelBackground )); | 90 maVSUnderline.SetColor(GetSettings().GetStyleSettings().GetHighContrastMode()? 91 GetSettings().GetStyleSettings().GetMenuColor(): 92 sfx2::sidebar::Theme::GetColor( sfx2::sidebar::Theme::Paint_PanelBackground )); 93 maVSUnderline.SetBackground(GetSettings().GetStyleSettings().GetHighContrastMode()? 94 GetSettings().GetStyleSettings().GetMenuColor(): 95 sfx2::sidebar::Theme::GetColor( sfx2::sidebar::Theme::Paint_PanelBackground )); |
94 | 96 |
95 Link aLink = LINK( this, TextUnderlineControl, PBClickHdl ) ; 96 maPBOptions.SetClickHdl(aLink); | 97 Link aLink = LINK( this, TextUnderlineControl, PBClickHdl ) ; 98 maPBOptions.SetClickHdl(aLink); |
97 | 99 |
98 maVSUnderline.SetStyle( maVSUnderline.GetStyle()| WB_3DLOOK | WB_NO_DIRECTSELECT ); | 100 maVSUnderline.SetStyle( maVSUnderline.GetStyle()| WB_3DLOOK | WB_NO_DIRECTSELECT ); |
99 | 101 |
100 // 'none' item 101 maVSUnderline.SetStyle( maVSUnderline.GetStyle()| WB_NONEFIELD | WB_MENUSTYLEVALUESET ); 102 maVSUnderline.SetText( String(SVX_RES(STR_WITHOUT) ) ); | 102 // 'none' item 103 maVSUnderline.SetStyle( maVSUnderline.GetStyle()| WB_NONEFIELD | WB_MENUSTYLEVALUESET ); 104 maVSUnderline.SetText( String(SVX_RES(STR_WITHOUT) ) ); |
103 | 105 |
104 maVSUnderline.InsertItem(1, maIMGSingle ,String(SVX_RES(STR_SINGLE))); 105 maVSUnderline.SetItemData(1, (void*)(sal_uInt64)UNDERLINE_SINGLE); | 106 maVSUnderline.InsertItem(1, maIMGSingle ,String(SVX_RES(STR_SINGLE))); 107 maVSUnderline.SetItemData(1, (void*)(sal_uInt64)UNDERLINE_SINGLE); |
106 | 108 |
107 maVSUnderline.InsertItem(2, maIMGDouble ,String(SVX_RES(STR_DOUBLE))); 108 maVSUnderline.SetItemData(2, (void*)(sal_uInt64)UNDERLINE_DOUBLE); | 109 maVSUnderline.InsertItem(2, maIMGDouble ,String(SVX_RES(STR_DOUBLE))); 110 maVSUnderline.SetItemData(2, (void*)(sal_uInt64)UNDERLINE_DOUBLE); |
109 | 111 |
110 maVSUnderline.InsertItem(3, maIMGBold, String(SVX_RES(STR_BOLD))); 111 maVSUnderline.SetItemData(3,(void*)(sal_uInt64)UNDERLINE_BOLD); | 112 maVSUnderline.InsertItem(3, maIMGBold, String(SVX_RES(STR_BOLD))); 113 maVSUnderline.SetItemData(3,(void*)(sal_uInt64)UNDERLINE_BOLD); |
112 | 114 |
113 maVSUnderline.InsertItem(4, maIMGDot, String(SVX_RES(STR_DOT))); 114 maVSUnderline.SetItemData(4,(void*)(sal_uInt64)UNDERLINE_DOTTED); | 115 maVSUnderline.InsertItem(4, maIMGDot, String(SVX_RES(STR_DOT))); 116 maVSUnderline.SetItemData(4,(void*)(sal_uInt64)UNDERLINE_DOTTED); |
115 | 117 |
116 maVSUnderline.InsertItem(5, maIMGDotBold, String(SVX_RES(STR_DOT_BOLD))); 117 maVSUnderline.SetItemData(5,(void*)(sal_uInt64)UNDERLINE_BOLDDOTTED); | 118 maVSUnderline.InsertItem(5, maIMGDotBold, String(SVX_RES(STR_DOT_BOLD))); 119 maVSUnderline.SetItemData(5,(void*)(sal_uInt64)UNDERLINE_BOLDDOTTED); |
118 | 120 |
119 maVSUnderline.InsertItem(6, maIMGDash, String(SVX_RES(STR_DASH))); 120 maVSUnderline.SetItemData(6,(void*)(sal_uInt64)UNDERLINE_DASH); | 121 maVSUnderline.InsertItem(6, maIMGDash, String(SVX_RES(STR_DASH))); 122 maVSUnderline.SetItemData(6,(void*)(sal_uInt64)UNDERLINE_DASH); |
121 | 123 |
122 maVSUnderline.InsertItem(7, maIMGDashLong,String(SVX_RES(STR_DASH_LONG))); 123 maVSUnderline.SetItemData(7,(void*)(sal_uInt64)UNDERLINE_LONGDASH); | 124 maVSUnderline.InsertItem(7, maIMGDashLong,String(SVX_RES(STR_DASH_LONG))); 125 maVSUnderline.SetItemData(7,(void*)(sal_uInt64)UNDERLINE_LONGDASH); |
124 | 126 |
125 maVSUnderline.InsertItem(8, maIMGDashDot, String(SVX_RES(STR_DASH_DOT))); 126 maVSUnderline.SetItemData(8,(void*)(sal_uInt64)UNDERLINE_DASHDOT); | 127 maVSUnderline.InsertItem(8, maIMGDashDot, String(SVX_RES(STR_DASH_DOT))); 128 maVSUnderline.SetItemData(8,(void*)(sal_uInt64)UNDERLINE_DASHDOT); |
127 | 129 |
128 maVSUnderline.InsertItem(9, maIMGDashDotDot, String(SVX_RES(STR_DASH_DOT_DOT))); 129 maVSUnderline.SetItemData(9,(void*)(sal_uInt64)UNDERLINE_DASHDOTDOT); | 130 maVSUnderline.InsertItem(9, maIMGDashDotDot, String(SVX_RES(STR_DASH_DOT_DOT))); 131 maVSUnderline.SetItemData(9,(void*)(sal_uInt64)UNDERLINE_DASHDOTDOT); |
130 | 132 |
131 maVSUnderline.InsertItem(10, maIMGWave, String(SVX_RES(STR_WAVE))); 132 maVSUnderline.SetItemData(10,(void*)(sal_uInt64)UNDERLINE_WAVE); | 133 maVSUnderline.InsertItem(10, maIMGWave, String(SVX_RES(STR_WAVE))); 134 maVSUnderline.SetItemData(10,(void*)(sal_uInt64)UNDERLINE_WAVE); |
133 | 135 |
134 maVSUnderline.SetColCount( 1 ); 135 aLink = LINK( this, TextUnderlineControl, VSSelectHdl ) ; 136 maVSUnderline.SetSelectHdl(aLink); | 136 maVSUnderline.SetColCount( 1 ); 137 aLink = LINK( this, TextUnderlineControl, VSSelectHdl ) ; 138 maVSUnderline.SetSelectHdl(aLink); |
137 | 139 |
138 maVSUnderline.StartSelection(); 139 maVSUnderline.Show(); | 140 maVSUnderline.StartSelection(); 141 maVSUnderline.Show(); |
140} 141 142 143void TextUnderlineControl::Rearrange(FontUnderline eLine) 144{ 145 // high contrast | 142} 143 144 145void TextUnderlineControl::Rearrange(FontUnderline eLine) 146{ 147 // high contrast |
146 maVSUnderline.SetItemImage(1, GetDisplayBackground().GetColor().IsDark()? maIMGSingleH :maIMGSingle); 147 maVSUnderline.SetItemImage(2, GetDisplayBackground().GetColor().IsDark()? maIMGDoubleH : maIMGDouble ); | 148 maVSUnderline.SetItemImage(1, GetDisplayBackground().GetColor().IsDark()? maIMGSingleH :maIMGSingle); 149 maVSUnderline.SetItemImage(2, GetDisplayBackground().GetColor().IsDark()? maIMGDoubleH : maIMGDouble ); |
148 maVSUnderline.SetItemImage(3, GetDisplayBackground().GetColor().IsDark()? maIMGBoldH : maIMGBold); 149 maVSUnderline.SetItemImage(4, GetDisplayBackground().GetColor().IsDark()? maIMGDotH : maIMGDot); 150 maVSUnderline.SetItemImage(5, GetDisplayBackground().GetColor().IsDark()? maIMGDotBoldH :maIMGDotBold); | 150 maVSUnderline.SetItemImage(3, GetDisplayBackground().GetColor().IsDark()? maIMGBoldH : maIMGBold); 151 maVSUnderline.SetItemImage(4, GetDisplayBackground().GetColor().IsDark()? maIMGDotH : maIMGDot); 152 maVSUnderline.SetItemImage(5, GetDisplayBackground().GetColor().IsDark()? maIMGDotBoldH :maIMGDotBold); |
151 maVSUnderline.SetItemImage(6, GetDisplayBackground().GetColor().IsDark()? maIMGDashH :maIMGDash); | 153 maVSUnderline.SetItemImage(6, GetDisplayBackground().GetColor().IsDark()? maIMGDashH :maIMGDash); |
152 maVSUnderline.SetItemImage(7, GetDisplayBackground().GetColor().IsDark()? maIMGDashLongH : maIMGDashLong); | 154 maVSUnderline.SetItemImage(7, GetDisplayBackground().GetColor().IsDark()? maIMGDashLongH : maIMGDashLong); |
153 maVSUnderline.SetItemImage(8, GetDisplayBackground().GetColor().IsDark()? maIMGDashDotH : maIMGDashDot); | 155 maVSUnderline.SetItemImage(8, GetDisplayBackground().GetColor().IsDark()? maIMGDashDotH : maIMGDashDot); |
154 maVSUnderline.SetItemImage(9, GetDisplayBackground().GetColor().IsDark()? maIMGDashDotDotH : maIMGDashDotDot); 155 maVSUnderline.SetItemImage(10, GetDisplayBackground().GetColor().IsDark()? maIMGWaveH : maIMGWave); 156 | 156 maVSUnderline.SetItemImage(9, GetDisplayBackground().GetColor().IsDark()? maIMGDashDotDotH : maIMGDashDotDot); 157 maVSUnderline.SetItemImage(10, GetDisplayBackground().GetColor().IsDark()? maIMGWaveH : maIMGWave); 158 |
157 switch(eLine) 158 { 159 case UNDERLINE_SINGLE: 160 maVSUnderline.SetItemImage(1, maIMGSingleSel); 161 maVSUnderline.SelectItem(1); 162 maVSUnderline.GrabFocus(); 163 break; 164 case UNDERLINE_DOUBLE: 165 maVSUnderline.SetItemImage(2, maIMGDoubleSel); 166 maVSUnderline.SelectItem(2); 167 maVSUnderline.GrabFocus(); 168 break; 169 case UNDERLINE_BOLD: 170 maVSUnderline.SetItemImage(3, maIMGBoldSel); 171 maVSUnderline.SelectItem(3); 172 maVSUnderline.GrabFocus(); 173 break; 174 case UNDERLINE_DOTTED: 175 maVSUnderline.SetItemImage(4, maIMGDotSel); 176 maVSUnderline.SelectItem(4); 177 maVSUnderline.GrabFocus(); 178 break; 179 case UNDERLINE_BOLDDOTTED: 180 maVSUnderline.SetItemImage(5, maIMGDotBoldSel); 181 maVSUnderline.SelectItem(5); 182 maVSUnderline.GrabFocus(); 183 break; 184 case UNDERLINE_DASH: 185 maVSUnderline.SetItemImage(6, maIMGDashSel); 186 maVSUnderline.SelectItem(6); 187 maVSUnderline.GrabFocus(); 188 break; 189 case UNDERLINE_LONGDASH: 190 maVSUnderline.SetItemImage(7, maIMGDashLongSel); 191 maVSUnderline.SelectItem(7); 192 maVSUnderline.GrabFocus(); 193 break; 194 case UNDERLINE_DASHDOT: 195 maVSUnderline.SetItemImage(8, maIMGDashDotSel); 196 maVSUnderline.SelectItem(8); 197 maVSUnderline.GrabFocus(); 198 break; 199 case UNDERLINE_DASHDOTDOT: 200 maVSUnderline.SetItemImage(9, maIMGDashDotDotSel); 201 maVSUnderline.SelectItem(9); 202 maVSUnderline.GrabFocus(); 203 break; 204 case UNDERLINE_WAVE: 205 maVSUnderline.SetItemImage(10, maIMGWaveSel); 206 maVSUnderline.SelectItem(10); 207 maVSUnderline.GrabFocus(); 208 break; 209 case UNDERLINE_NONE: 210 maVSUnderline.SelectItem(0); 211 maVSUnderline.GrabFocus(); 212 break; 213 default: 214 maVSUnderline.SelectItem(1); 215 maVSUnderline.SetNoSelection(); 216 maPBOptions.GrabFocus(); 217 } 218 maVSUnderline.StartSelection(); | 159 switch(eLine) 160 { 161 case UNDERLINE_SINGLE: 162 maVSUnderline.SetItemImage(1, maIMGSingleSel); 163 maVSUnderline.SelectItem(1); 164 maVSUnderline.GrabFocus(); 165 break; 166 case UNDERLINE_DOUBLE: 167 maVSUnderline.SetItemImage(2, maIMGDoubleSel); 168 maVSUnderline.SelectItem(2); 169 maVSUnderline.GrabFocus(); 170 break; 171 case UNDERLINE_BOLD: 172 maVSUnderline.SetItemImage(3, maIMGBoldSel); 173 maVSUnderline.SelectItem(3); 174 maVSUnderline.GrabFocus(); 175 break; 176 case UNDERLINE_DOTTED: 177 maVSUnderline.SetItemImage(4, maIMGDotSel); 178 maVSUnderline.SelectItem(4); 179 maVSUnderline.GrabFocus(); 180 break; 181 case UNDERLINE_BOLDDOTTED: 182 maVSUnderline.SetItemImage(5, maIMGDotBoldSel); 183 maVSUnderline.SelectItem(5); 184 maVSUnderline.GrabFocus(); 185 break; 186 case UNDERLINE_DASH: 187 maVSUnderline.SetItemImage(6, maIMGDashSel); 188 maVSUnderline.SelectItem(6); 189 maVSUnderline.GrabFocus(); 190 break; 191 case UNDERLINE_LONGDASH: 192 maVSUnderline.SetItemImage(7, maIMGDashLongSel); 193 maVSUnderline.SelectItem(7); 194 maVSUnderline.GrabFocus(); 195 break; 196 case UNDERLINE_DASHDOT: 197 maVSUnderline.SetItemImage(8, maIMGDashDotSel); 198 maVSUnderline.SelectItem(8); 199 maVSUnderline.GrabFocus(); 200 break; 201 case UNDERLINE_DASHDOTDOT: 202 maVSUnderline.SetItemImage(9, maIMGDashDotDotSel); 203 maVSUnderline.SelectItem(9); 204 maVSUnderline.GrabFocus(); 205 break; 206 case UNDERLINE_WAVE: 207 maVSUnderline.SetItemImage(10, maIMGWaveSel); 208 maVSUnderline.SelectItem(10); 209 maVSUnderline.GrabFocus(); 210 break; 211 case UNDERLINE_NONE: 212 maVSUnderline.SelectItem(0); 213 maVSUnderline.GrabFocus(); 214 break; 215 default: 216 maVSUnderline.SelectItem(1); 217 maVSUnderline.SetNoSelection(); 218 maPBOptions.GrabFocus(); 219 } 220 maVSUnderline.StartSelection(); |
219} 220 221 222IMPL_LINK(TextUnderlineControl, VSSelectHdl, void *, pControl) 223{ | 221} 222 223 224IMPL_LINK(TextUnderlineControl, VSSelectHdl, void *, pControl) 225{ |
224 if ( pControl == &maVSUnderline ) 225 { 226 const sal_uInt16 iPos = maVSUnderline.GetSelectItemId(); 227 const FontUnderline eUnderline = ( iPos == 0 ) 228 ? UNDERLINE_NONE 229 : (FontUnderline)(sal_uInt64)maVSUnderline.GetItemData( iPos ); | 226 if ( pControl == &maVSUnderline ) 227 { 228 const sal_uInt16 iPos = maVSUnderline.GetSelectItemId(); 229 const FontUnderline eUnderline = ( iPos == 0 ) 230 ? UNDERLINE_NONE 231 : (FontUnderline)(sal_uInt64)maVSUnderline.GetItemData( iPos ); |
230 | 232 |
231 SvxUnderlineItem aLineItem(eUnderline, SID_ATTR_CHAR_UNDERLINE); | 233 SvxUnderlineItem aLineItem(eUnderline, SID_ATTR_CHAR_UNDERLINE); |
232 | 234 |
233 aLineItem.SetColor(mrTextPropertyPanel.GetUnderlineColor()); 234 mpBindings->GetDispatcher()->Execute(SID_ATTR_CHAR_UNDERLINE, SFX_CALLMODE_RECORD, &aLineItem, 0L); | 235 aLineItem.SetColor(mrTextPropertyPanel.GetUnderlineColor()); 236 mpBindings->GetDispatcher()->Execute(SID_ATTR_CHAR_UNDERLINE, SFX_CALLMODE_RECORD, &aLineItem, 0L); |
235 | 237 |
236 mrTextPropertyPanel.SetUnderline(eUnderline); | 238 mrTextPropertyPanel.SetUnderline(eUnderline); |
237 | 239 |
238 mrTextPropertyPanel.EndUnderlinePopupMode(); 239 } 240 return( 0L ); | 240 mrTextPropertyPanel.EndUnderlinePopupMode(); 241 } 242 return( 0L ); |
241} 242 243IMPL_LINK(TextUnderlineControl, PBClickHdl, PushButton *, pPBtn) 244{ | 243} 244 245IMPL_LINK(TextUnderlineControl, PBClickHdl, PushButton *, pPBtn) 246{ |
245 if(pPBtn == &maPBOptions) | 247 if(pPBtn == &maPBOptions) |
246 { 247 if (mpBindings) 248 { 249 SfxDispatcher* pDisp = mpBindings->GetDispatcher(); 250 pDisp->Execute( SID_CHAR_DLG_EFFECT, SFX_CALLMODE_ASYNCHRON ); 251 } 252 mrTextPropertyPanel.EndUnderlinePopupMode(); 253 } 254 return 0; 255} 256 257}} | 248 { 249 if (mpBindings) 250 { 251 SfxDispatcher* pDisp = mpBindings->GetDispatcher(); 252 pDisp->Execute( SID_CHAR_DLG_EFFECT, SFX_CALLMODE_ASYNCHRON ); 253 } 254 mrTextPropertyPanel.EndUnderlinePopupMode(); 255 } 256 return 0; 257} 258 259}} |