TextUnderlineControl.cxx (900fdb6d) TextUnderlineControl.cxx (a3586bee)
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance

--- 71 unchanged lines hidden (view full) ---

80
81{
82 initial();
83 FreeResource();
84}
85
86void TextUnderlineControl::initial()
87{
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance

--- 71 unchanged lines hidden (view full) ---

80
81{
82 initial();
83 FreeResource();
84}
85
86void TextUnderlineControl::initial()
87{
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 ));
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 ));
94
94
95 Link aLink = LINK( this, TextUnderlineControl, PBClickHdl ) ;
96 maPBOptions.SetClickHdl(aLink);
95 Link aLink = LINK( this, TextUnderlineControl, PBClickHdl ) ;
96 maPBOptions.SetClickHdl(aLink);
97
97
98 maVSUnderline.SetStyle( maVSUnderline.GetStyle()| WB_3DLOOK | WB_NO_DIRECTSELECT );
98 maVSUnderline.SetStyle( maVSUnderline.GetStyle()| WB_3DLOOK | WB_NO_DIRECTSELECT );
99
99
100 maVSUnderline.InsertItem(1, maIMGSingle ,String(SVX_RES(STR_SINGLE)));
101 maVSUnderline.SetItemData(1, (void*)(sal_uInt64)UNDERLINE_SINGLE);
100 // 'none' item
101 maVSUnderline.SetStyle( maVSUnderline.GetStyle()| WB_NONEFIELD | WB_MENUSTYLEVALUESET );
102 maVSUnderline.SetText( String(SVX_RES(STR_WITHOUT) ) );
102
103
103 maVSUnderline.InsertItem(2, maIMGDouble ,String(SVX_RES(STR_DOUBLE)));
104 maVSUnderline.SetItemData(2, (void*)(sal_uInt64)UNDERLINE_DOUBLE);
104 maVSUnderline.InsertItem(1, maIMGSingle ,String(SVX_RES(STR_SINGLE)));
105 maVSUnderline.SetItemData(1, (void*)(sal_uInt64)UNDERLINE_SINGLE);
105
106
106 maVSUnderline.InsertItem(3, maIMGBold, String(SVX_RES(STR_BOLD)));
107 maVSUnderline.SetItemData(3,(void*)(sal_uInt64)UNDERLINE_BOLD);
107 maVSUnderline.InsertItem(2, maIMGDouble ,String(SVX_RES(STR_DOUBLE)));
108 maVSUnderline.SetItemData(2, (void*)(sal_uInt64)UNDERLINE_DOUBLE);
108
109
109 maVSUnderline.InsertItem(4, maIMGDot, String(SVX_RES(STR_DOT)));
110 maVSUnderline.SetItemData(4,(void*)(sal_uInt64)UNDERLINE_DOTTED);
110 maVSUnderline.InsertItem(3, maIMGBold, String(SVX_RES(STR_BOLD)));
111 maVSUnderline.SetItemData(3,(void*)(sal_uInt64)UNDERLINE_BOLD);
111
112
112 maVSUnderline.InsertItem(5, maIMGDotBold, String(SVX_RES(STR_DOT_BOLD)));
113 maVSUnderline.SetItemData(5,(void*)(sal_uInt64)UNDERLINE_BOLDDOTTED);
113 maVSUnderline.InsertItem(4, maIMGDot, String(SVX_RES(STR_DOT)));
114 maVSUnderline.SetItemData(4,(void*)(sal_uInt64)UNDERLINE_DOTTED);
114
115
115 maVSUnderline.InsertItem(6, maIMGDash, String(SVX_RES(STR_DASH)));
116 maVSUnderline.SetItemData(6,(void*)(sal_uInt64)UNDERLINE_DASH);
116 maVSUnderline.InsertItem(5, maIMGDotBold, String(SVX_RES(STR_DOT_BOLD)));
117 maVSUnderline.SetItemData(5,(void*)(sal_uInt64)UNDERLINE_BOLDDOTTED);
117
118
118 maVSUnderline.InsertItem(7, maIMGDashLong,String(SVX_RES(STR_DASH_LONG)));
119 maVSUnderline.SetItemData(7,(void*)(sal_uInt64)UNDERLINE_LONGDASH);
119 maVSUnderline.InsertItem(6, maIMGDash, String(SVX_RES(STR_DASH)));
120 maVSUnderline.SetItemData(6,(void*)(sal_uInt64)UNDERLINE_DASH);
120
121
121 maVSUnderline.InsertItem(8, maIMGDashDot, String(SVX_RES(STR_DASH_DOT)));
122 maVSUnderline.SetItemData(8,(void*)(sal_uInt64)UNDERLINE_DASHDOT);
122 maVSUnderline.InsertItem(7, maIMGDashLong,String(SVX_RES(STR_DASH_LONG)));
123 maVSUnderline.SetItemData(7,(void*)(sal_uInt64)UNDERLINE_LONGDASH);
123
124
124 maVSUnderline.InsertItem(9, maIMGDashDotDot, String(SVX_RES(STR_DASH_DOT_DOT)));
125 maVSUnderline.SetItemData(9,(void*)(sal_uInt64)UNDERLINE_DASHDOTDOT);
125 maVSUnderline.InsertItem(8, maIMGDashDot, String(SVX_RES(STR_DASH_DOT)));
126 maVSUnderline.SetItemData(8,(void*)(sal_uInt64)UNDERLINE_DASHDOT);
126
127
127 maVSUnderline.InsertItem(10, maIMGWave, String(SVX_RES(STR_WAVE)));
128 maVSUnderline.SetItemData(10,(void*)(sal_uInt64)UNDERLINE_WAVE);
128 maVSUnderline.InsertItem(9, maIMGDashDotDot, String(SVX_RES(STR_DASH_DOT_DOT)));
129 maVSUnderline.SetItemData(9,(void*)(sal_uInt64)UNDERLINE_DASHDOTDOT);
129
130
130 maVSUnderline.SetColCount( 1 );
131 aLink = LINK( this, TextUnderlineControl, VSSelectHdl ) ;
131 maVSUnderline.InsertItem(10, maIMGWave, String(SVX_RES(STR_WAVE)));
132 maVSUnderline.SetItemData(10,(void*)(sal_uInt64)UNDERLINE_WAVE);
133
134 maVSUnderline.SetColCount( 1 );
135 aLink = LINK( this, TextUnderlineControl, VSSelectHdl ) ;
132 maVSUnderline.SetSelectHdl(aLink);
133
136 maVSUnderline.SetSelectHdl(aLink);
137
134 maVSUnderline.StartSelection();
135 maVSUnderline.Show();
138 maVSUnderline.StartSelection();
139 maVSUnderline.Show();
136}
137
138
139void TextUnderlineControl::Rearrange(FontUnderline eLine)
140{
141 // high contrast
142 maVSUnderline.SetItemImage(1, GetDisplayBackground().GetColor().IsDark()? maIMGSingleH :maIMGSingle);
143 maVSUnderline.SetItemImage(2, GetDisplayBackground().GetColor().IsDark()? maIMGDoubleH : maIMGDouble );
144 maVSUnderline.SetItemImage(3, GetDisplayBackground().GetColor().IsDark()? maIMGBoldH : maIMGBold);
145 maVSUnderline.SetItemImage(4, GetDisplayBackground().GetColor().IsDark()? maIMGDotH : maIMGDot);
146 maVSUnderline.SetItemImage(5, GetDisplayBackground().GetColor().IsDark()? maIMGDotBoldH :maIMGDotBold);
147 maVSUnderline.SetItemImage(6, GetDisplayBackground().GetColor().IsDark()? maIMGDashH :maIMGDash);
148 maVSUnderline.SetItemImage(7, GetDisplayBackground().GetColor().IsDark()? maIMGDashLongH : maIMGDashLong);
149 maVSUnderline.SetItemImage(8, GetDisplayBackground().GetColor().IsDark()? maIMGDashDotH : maIMGDashDot);
150 maVSUnderline.SetItemImage(9, GetDisplayBackground().GetColor().IsDark()? maIMGDashDotDotH : maIMGDashDotDot);
151 maVSUnderline.SetItemImage(10, GetDisplayBackground().GetColor().IsDark()? maIMGWaveH : maIMGWave);
152
140}
141
142
143void TextUnderlineControl::Rearrange(FontUnderline eLine)
144{
145 // high contrast
146 maVSUnderline.SetItemImage(1, GetDisplayBackground().GetColor().IsDark()? maIMGSingleH :maIMGSingle);
147 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);
151 maVSUnderline.SetItemImage(6, GetDisplayBackground().GetColor().IsDark()? maIMGDashH :maIMGDash);
152 maVSUnderline.SetItemImage(7, GetDisplayBackground().GetColor().IsDark()? maIMGDashLongH : maIMGDashLong);
153 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
153 switch(eLine)
154 {
155 case UNDERLINE_SINGLE:
156 maVSUnderline.SetItemImage(1, maIMGSingleSel);
157 maVSUnderline.SelectItem(1);
158 maVSUnderline.GrabFocus();
159 break;
160 case UNDERLINE_DOUBLE:
161 maVSUnderline.SetItemImage(2, maIMGDoubleSel);
162 maVSUnderline.SelectItem(2);
163 maVSUnderline.GrabFocus();
164 break;
165 case UNDERLINE_BOLD:
166 maVSUnderline.SetItemImage(3, maIMGBoldSel);
167 maVSUnderline.SelectItem(3);
168 maVSUnderline.GrabFocus();
169 break;
170 case UNDERLINE_DOTTED:
171 maVSUnderline.SetItemImage(4, maIMGDotSel);
172 maVSUnderline.SelectItem(4);
173 maVSUnderline.GrabFocus();
174 break;
175 case UNDERLINE_BOLDDOTTED:
176 maVSUnderline.SetItemImage(5, maIMGDotBoldSel);
177 maVSUnderline.SelectItem(5);
178 maVSUnderline.GrabFocus();
179 break;
180 case UNDERLINE_DASH:
181 maVSUnderline.SetItemImage(6, maIMGDashSel);
182 maVSUnderline.SelectItem(6);
183 maVSUnderline.GrabFocus();
184 break;
185 case UNDERLINE_LONGDASH:
186 maVSUnderline.SetItemImage(7, maIMGDashLongSel);
187 maVSUnderline.SelectItem(7);
188 maVSUnderline.GrabFocus();
189 break;
190 case UNDERLINE_DASHDOT:
191 maVSUnderline.SetItemImage(8, maIMGDashDotSel);
192 maVSUnderline.SelectItem(8);
193 maVSUnderline.GrabFocus();
194 break;
195 case UNDERLINE_DASHDOTDOT:
196 maVSUnderline.SetItemImage(9, maIMGDashDotDotSel);
197 maVSUnderline.SelectItem(9);
198 maVSUnderline.GrabFocus();
199 break;
200 case UNDERLINE_WAVE:
201 maVSUnderline.SetItemImage(10, maIMGWaveSel);
202 maVSUnderline.SelectItem(10);
203 maVSUnderline.GrabFocus();
204 break;
205 case UNDERLINE_NONE:
206 default:
207 maVSUnderline.SelectItem(1);
208 maVSUnderline.SetNoSelection();
209 maPBOptions.GrabFocus();
210 }
211 maVSUnderline.StartSelection();
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();
212}
213
214
215IMPL_LINK(TextUnderlineControl, VSSelectHdl, void *, pControl)
216{
219}
220
221
222IMPL_LINK(TextUnderlineControl, VSSelectHdl, void *, pControl)
223{
217 if(pControl == &maVSUnderline)
218 {
219 sal_uInt16 iPos = maVSUnderline.GetSelectItemId();
220 FontUnderline eUnderline = (FontUnderline)(sal_uInt64)maVSUnderline.GetItemData( iPos );
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 );
221
230
222 SvxUnderlineItem aLineItem(eUnderline, SID_ATTR_CHAR_UNDERLINE);
231 SvxUnderlineItem aLineItem(eUnderline, SID_ATTR_CHAR_UNDERLINE);
223
232
224 aLineItem.SetColor(mrTextPropertyPanel.GetUnderlineColor());
225 mpBindings->GetDispatcher()->Execute(SID_ATTR_CHAR_UNDERLINE, SFX_CALLMODE_RECORD, &aLineItem, 0L);
233 aLineItem.SetColor(mrTextPropertyPanel.GetUnderlineColor());
234 mpBindings->GetDispatcher()->Execute(SID_ATTR_CHAR_UNDERLINE, SFX_CALLMODE_RECORD, &aLineItem, 0L);
226
235
227 mrTextPropertyPanel.SetUnderline(eUnderline);
236 mrTextPropertyPanel.SetUnderline(eUnderline);
228
237
229 mrTextPropertyPanel.EndUnderlinePopupMode();
230 }
231 return( 0L );
238 mrTextPropertyPanel.EndUnderlinePopupMode();
239 }
240 return( 0L );
232}
233
234IMPL_LINK(TextUnderlineControl, PBClickHdl, PushButton *, pPBtn)
235{
236 if(pPBtn == &maPBOptions)
237 {
238 if (mpBindings)
239 {
240 SfxDispatcher* pDisp = mpBindings->GetDispatcher();
241 pDisp->Execute( SID_CHAR_DLG_EFFECT, SFX_CALLMODE_ASYNCHRON );
242 }
243 mrTextPropertyPanel.EndUnderlinePopupMode();
244 }
245 return 0;
246}
247
248}}
241}
242
243IMPL_LINK(TextUnderlineControl, PBClickHdl, PushButton *, pPBtn)
244{
245 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}}